summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--conf/map/maps.conf8
-rw-r--r--db/map_index.txt152
-rwxr-xr-xdb/re/map_cache.datbin19885 -> 20333 bytes
-rw-r--r--npc/000-1-7-3/_mobs.txt75
-rw-r--r--npc/000-1-7-3/_warps.txt2
-rw-r--r--npc/003-1/_import.txt11
-rw-r--r--npc/003-1/_mobs.txt40
-rw-r--r--npc/003-1/_warps.txt3
-rw-r--r--npc/003-1/bkinu.txt153
-rw-r--r--npc/003-1/guard.txt153
-rw-r--r--npc/003-1/inar.txt153
-rw-r--r--npc/003-1/jeric.txt153
-rw-r--r--npc/003-1/luca.txt153
-rw-r--r--npc/003-1/malikox.txt153
-rw-r--r--npc/003-1/neko.txt153
-rw-r--r--npc/003-2-0/_import.txt3
-rw-r--r--npc/003-2-0/_warps.txt3
-rw-r--r--npc/003-2-1/_import.txt3
-rw-r--r--npc/003-2-1/_warps.txt5
-rw-r--r--npc/003-2-2/_import.txt5
-rw-r--r--npc/003-2-2/_mobs.txt3
-rw-r--r--npc/003-2-2/_savepoints.txt47
-rw-r--r--npc/003-2-2/_warps.txt3
-rw-r--r--npc/004-0/_import.txt3
-rw-r--r--npc/004-0/_warps.txt3
-rw-r--r--npc/004-1-1/_import.txt3
-rw-r--r--npc/004-1-1/_warps.txt4
-rw-r--r--npc/004-1/_import.txt3
-rw-r--r--npc/004-1/_warps.txt4
-rw-r--r--npc/_import.txt8
30 files changed, 1349 insertions, 113 deletions
diff --git a/conf/map/maps.conf b/conf/map/maps.conf
index 06c49fe21..b991b53ab 100644
--- a/conf/map/maps.conf
+++ b/conf/map/maps.conf
@@ -6,7 +6,6 @@ map_list: (
"000-0",
"000-1-1",
"000-1-2",
- "000-1-7-3",
"000-1-9",
"000-1",
"000-2-0",
@@ -61,6 +60,13 @@ map_list: (
"001-3-0",
"001-3-1",
"002-1",
+ "003-1",
+ "003-2-0",
+ "003-2-1",
+ "003-2-2",
+ "004-0",
+ "004-1-1",
+ "004-1",
"008-1",
"008-2-0",
"008-2-1",
diff --git a/db/map_index.txt b/db/map_index.txt
index c93ae5ad5..4eba46e8e 100644
--- a/db/map_index.txt
+++ b/db/map_index.txt
@@ -3,76 +3,82 @@
000-0 3
000-1-1 4
000-1-2 5
-000-1-7-3 6
-000-1-9 7
-000-1 8
-000-2-0 9
-000-2-1 10
-000-2-2 11
-000-2-3 12
-000-2-4 13
-001-1 14
-001-2-0 15
-001-2-1 16
-001-2-10 17
-001-2-11 18
-001-2-12 19
-001-2-13 20
-001-2-14 21
-001-2-15 22
-001-2-16 23
-001-2-17 24
-001-2-18 25
-001-2-19 26
-001-2-2 27
-001-2-20 28
-001-2-21 29
-001-2-22 30
-001-2-23 31
-001-2-24 32
-001-2-25 33
-001-2-26 34
-001-2-27 35
-001-2-28 36
-001-2-29 37
-001-2-3 38
-001-2-30 39
-001-2-31 40
-001-2-32 41
-001-2-33 42
-001-2-34 43
-001-2-35 44
-001-2-36 45
-001-2-37 46
-001-2-38 47
-001-2-39 48
-001-2-4 49
-001-2-40 50
-001-2-41 51
-001-2-42 52
-001-2-5 53
-001-2-6 54
-001-2-7 55
-001-2-8 56
-001-2-9 57
-001-3-0 58
-001-3-1 59
-002-1 60
-008-1 61
-008-2-0 62
-008-2-1 63
-008-2-10 64
-008-2-11 65
-008-2-12 66
-008-2-13 67
-008-2-14 68
-008-2-2 69
-008-2-3 70
-008-2-4 71
-008-2-5 72
-008-2-6 73
-008-2-7 74
-008-2-8 75
-008-2-9 76
-test 77
-testbg 78
+000-1-9 6
+000-1 7
+000-2-0 8
+000-2-1 9
+000-2-2 10
+000-2-3 11
+000-2-4 12
+001-1 13
+001-2-0 14
+001-2-1 15
+001-2-10 16
+001-2-11 17
+001-2-12 18
+001-2-13 19
+001-2-14 20
+001-2-15 21
+001-2-16 22
+001-2-17 23
+001-2-18 24
+001-2-19 25
+001-2-2 26
+001-2-20 27
+001-2-21 28
+001-2-22 29
+001-2-23 30
+001-2-24 31
+001-2-25 32
+001-2-26 33
+001-2-27 34
+001-2-28 35
+001-2-29 36
+001-2-3 37
+001-2-30 38
+001-2-31 39
+001-2-32 40
+001-2-33 41
+001-2-34 42
+001-2-35 43
+001-2-36 44
+001-2-37 45
+001-2-38 46
+001-2-39 47
+001-2-4 48
+001-2-40 49
+001-2-41 50
+001-2-42 51
+001-2-5 52
+001-2-6 53
+001-2-7 54
+001-2-8 55
+001-2-9 56
+001-3-0 57
+001-3-1 58
+002-1 59
+003-1 60
+003-2-0 61
+003-2-1 62
+003-2-2 63
+004-0 64
+004-1-1 65
+004-1 66
+008-1 67
+008-2-0 68
+008-2-1 69
+008-2-10 70
+008-2-11 71
+008-2-12 72
+008-2-13 73
+008-2-14 74
+008-2-2 75
+008-2-3 76
+008-2-4 77
+008-2-5 78
+008-2-6 79
+008-2-7 80
+008-2-8 81
+008-2-9 82
+test 83
+testbg 84
diff --git a/db/re/map_cache.dat b/db/re/map_cache.dat
index 63f068dde..067a2f85c 100755
--- a/db/re/map_cache.dat
+++ b/db/re/map_cache.dat
Binary files differ
diff --git a/npc/000-1-7-3/_mobs.txt b/npc/000-1-7-3/_mobs.txt
index 2cc95e6f9..bbccf85df 100644
--- a/npc/000-1-7-3/_mobs.txt
+++ b/npc/000-1-7-3/_mobs.txt
@@ -1,39 +1,40 @@
// This file is generated automatically. All manually added changes will be removed when running the Converter.
// Map 000-1-7-3: Drasil Island mobs
-000-1-7-3,37,49,6,9 monster Tortuga 1004,3,16000,120000
-000-1-7-3,67,118,34,14 monster Tortuga 1004,4,35000,300000
-000-1-7-3,80,95,4,12 monster Tortuga 1004,1,35000,300000
-000-1-7-3,61,92,4,17 monster Tortuga 1004,2,35000,300000
-000-1-7-3,46,66,11,5 monster Tortuga 1004,2,35000,120000
-000-1-7-3,51,41,9,16 monster Tortuga 1004,2,35000,120000
-000-1-7-3,96,37,12,11 monster Tortuga 1004,3,35000,120000
-000-1-7-3,53,75,2,1 monster Little Blub 1007,2,25000,120000
-000-1-7-3,70,64,7,10 monster Little Blub 1007,2,25000,120000
-000-1-7-3,71,25,10,4 monster Little Blub 1007,2,25000,120000
-000-1-7-3,96,69,4,3 monster Blub 1008,1,60000,120000
-000-1-7-3,94,33,2,3 monster Little Blub 1007,1,25000,120000
-000-1-7-3,94,58,14,9 monster Little Blub 1007,2,35000,120000
-000-1-7-3,57,61,9,6 monster Little Blub 1007,1,35000,120000
-000-1-7-3,37,48,3,5 monster Little Blub 1007,1,35000,120000
-000-1-7-3,44,50,0,1 monster Plushroom Field 1011,1,35000,150000
-000-1-7-3,63,115,0,1 monster Plushroom Field 1011,1,35000,150000
-000-1-7-3,72,80,4,2 monster Plushroom Field 1011,1,35000,150000
-000-1-7-3,63,64,0,2 monster Plushroom Field 1011,1,35000,150000
-000-1-7-3,87,58,4,5 monster Plushroom Field 1011,2,35000,150000
-000-1-7-3,80,62,1,1 monster Plushroom Field 1011,1,35000,150000
-000-1-7-3,41,116,8,9 monster Croc 1006,2,35000,300000
-000-1-7-3,72,31,10,3 monster Croc 1006,1,35000,300000
-000-1-7-3,85,68,1,1 monster Croc 1006,1,35000,300000
-000-1-7-3,61,92,4,17 monster Croc 1006,1,35000,300000
-000-1-7-3,80,77,4,4 monster Croc 1006,1,35000,300000
-000-1-7-3,9,0,0,0 monster Piou 1002,4,60000,15000
-000-1-7-3,87,115,0,0 monster Crocotree 1010,1,420000,240000
-000-1-7-3,66,104,0,0 monster Crocotree 1010,1,420000,240000
-000-1-7-3,48,112,0,0 monster Crocotree 1010,1,420000,240000
-000-1-7-3,76,93,0,0 monster Crocotree 1010,1,420000,240000
-000-1-7-3,62,77,0,0 monster Crocotree 1010,1,420000,240000
-000-1-7-3,73,63,0,0 monster Crocotree 1010,1,420000,240000
-000-1-7-3,40,69,0,0 monster Crocotree 1010,1,420000,240000
-000-1-7-3,53,44,0,0 monster Crocotree 1010,1,420000,240000
-000-1-7-3,79,33,0,0 monster Crocotree 1010,1,420000,240000
-000-1-7-3,93,66,0,0 monster Crocotree 1010,1,420000,240000
+000-1-7-3,48,69,6,9 monster Tortuga 1004,3,16000,120000
+000-1-7-3,78,138,34,14 monster Tortuga 1004,4,35000,300000
+000-1-7-3,91,115,4,12 monster Tortuga 1004,1,35000,300000
+000-1-7-3,72,112,4,17 monster Tortuga 1004,2,35000,300000
+000-1-7-3,57,86,11,5 monster Tortuga 1004,2,35000,120000
+000-1-7-3,62,61,9,16 monster Tortuga 1004,2,35000,120000
+000-1-7-3,107,57,12,11 monster Tortuga 1004,3,35000,120000
+000-1-7-3,64,95,2,1 monster Little Blub 1007,2,25000,120000
+000-1-7-3,81,84,7,10 monster Little Blub 1007,2,25000,120000
+000-1-7-3,82,45,10,4 monster Little Blub 1007,2,25000,120000
+000-1-7-3,107,89,4,3 monster Blub 1008,1,60000,120000
+000-1-7-3,105,53,2,3 monster Little Blub 1007,1,25000,120000
+000-1-7-3,105,78,14,9 monster Little Blub 1007,2,35000,120000
+000-1-7-3,68,81,9,6 monster Little Blub 1007,1,35000,120000
+000-1-7-3,48,68,3,5 monster Little Blub 1007,1,35000,120000
+000-1-7-3,55,70,0,1 monster Plushroom Field 1011,1,35000,150000
+000-1-7-3,74,135,0,1 monster Plushroom Field 1011,1,35000,150000
+000-1-7-3,83,100,4,2 monster Plushroom Field 1011,1,35000,150000
+000-1-7-3,74,84,0,2 monster Plushroom Field 1011,1,35000,150000
+000-1-7-3,98,78,4,5 monster Plushroom Field 1011,2,35000,150000
+000-1-7-3,91,82,1,1 monster Plushroom Field 1011,1,35000,150000
+000-1-7-3,52,136,8,9 monster Croc 1006,2,35000,300000
+000-1-7-3,83,51,10,3 monster Croc 1006,1,35000,300000
+000-1-7-3,96,88,1,1 monster Croc 1006,1,35000,300000
+000-1-7-3,72,112,4,17 monster Croc 1006,1,35000,300000
+000-1-7-3,91,97,4,4 monster Croc 1006,1,35000,300000
+000-1-7-3,20,20,0,0 monster Piou 1002,4,60000,15000
+000-1-7-3,98,135,0,0 monster Crocotree 1010,1,420000,240000
+000-1-7-3,77,124,0,0 monster Crocotree 1010,1,420000,240000
+000-1-7-3,59,132,0,0 monster Crocotree 1010,1,420000,240000
+000-1-7-3,87,113,0,0 monster Crocotree 1010,1,420000,240000
+000-1-7-3,73,97,0,0 monster Crocotree 1010,1,420000,240000
+000-1-7-3,84,83,0,0 monster Crocotree 1010,1,420000,240000
+000-1-7-3,51,89,0,0 monster Crocotree 1010,1,420000,240000
+000-1-7-3,64,64,0,0 monster Crocotree 1010,1,420000,240000
+000-1-7-3,90,53,0,0 monster Crocotree 1010,1,420000,240000
+000-1-7-3,104,86,0,0 monster Crocotree 1010,1,420000,240000
+000-1-7-3,81,95,36,58 monster Maggot 1030,60,35000,120000
diff --git a/npc/000-1-7-3/_warps.txt b/npc/000-1-7-3/_warps.txt
index 07ec33bac..3df8e19b3 100644
--- a/npc/000-1-7-3/_warps.txt
+++ b/npc/000-1-7-3/_warps.txt
@@ -1,3 +1,3 @@
// This file is generated automatically. All manually added changes will be removed when running the Converter.
// Map 000-1-7-3: Drasil Island warps
-000-1-7-3,103,100,0 warp #000-1-7-3_103_100 0,0,000-2-0,21,28
+000-1-7-3,80,67,0 warp #000-1-7-3_80_67 0,0,000-2-0,21,28
diff --git a/npc/003-1/_import.txt b/npc/003-1/_import.txt
new file mode 100644
index 000000000..9898f86e5
--- /dev/null
+++ b/npc/003-1/_import.txt
@@ -0,0 +1,11 @@
+// Map 003-1: Drasil Island
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+"npc/003-1/_mobs.txt",
+"npc/003-1/_warps.txt",
+"npc/003-1/bkinu.txt",
+"npc/003-1/guard.txt",
+"npc/003-1/inar.txt",
+"npc/003-1/jeric.txt",
+"npc/003-1/luca.txt",
+"npc/003-1/malikox.txt",
+"npc/003-1/neko.txt",
diff --git a/npc/003-1/_mobs.txt b/npc/003-1/_mobs.txt
new file mode 100644
index 000000000..c40ac5fd1
--- /dev/null
+++ b/npc/003-1/_mobs.txt
@@ -0,0 +1,40 @@
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+// Map 003-1: Drasil Island mobs
+003-1,48,69,6,9 monster Tortuga 1004,3,16000,120000
+003-1,78,138,34,14 monster Tortuga 1004,4,35000,300000
+003-1,91,115,4,12 monster Tortuga 1004,1,35000,300000
+003-1,72,112,4,17 monster Tortuga 1004,2,35000,300000
+003-1,57,86,11,5 monster Tortuga 1004,2,35000,120000
+003-1,62,61,9,16 monster Tortuga 1004,2,35000,120000
+003-1,107,57,12,11 monster Tortuga 1004,3,35000,120000
+003-1,64,95,2,1 monster Little Blub 1007,2,25000,120000
+003-1,81,84,7,10 monster Little Blub 1007,2,25000,120000
+003-1,82,45,10,4 monster Little Blub 1007,2,25000,120000
+003-1,107,89,4,3 monster Blub 1008,1,60000,120000
+003-1,105,53,2,3 monster Little Blub 1007,1,25000,120000
+003-1,105,78,14,9 monster Little Blub 1007,2,35000,120000
+003-1,68,81,9,6 monster Little Blub 1007,1,35000,120000
+003-1,48,68,3,5 monster Little Blub 1007,1,35000,120000
+003-1,55,70,0,1 monster Plushroom Field 1011,1,35000,150000
+003-1,74,135,0,1 monster Plushroom Field 1011,1,35000,150000
+003-1,83,100,4,2 monster Plushroom Field 1011,1,35000,150000
+003-1,74,84,0,2 monster Plushroom Field 1011,1,35000,150000
+003-1,98,78,4,5 monster Plushroom Field 1011,2,35000,150000
+003-1,91,82,1,1 monster Plushroom Field 1011,1,35000,150000
+003-1,52,136,8,9 monster Croc 1006,2,35000,300000
+003-1,83,51,10,3 monster Croc 1006,1,35000,300000
+003-1,96,88,1,1 monster Croc 1006,1,35000,300000
+003-1,72,112,4,17 monster Croc 1006,1,35000,300000
+003-1,91,97,4,4 monster Croc 1006,1,35000,300000
+003-1,20,20,0,0 monster Piou 1002,4,60000,15000
+003-1,98,135,0,0 monster Crocotree 1010,1,420000,240000
+003-1,77,124,0,0 monster Crocotree 1010,1,420000,240000
+003-1,59,132,0,0 monster Crocotree 1010,1,420000,240000
+003-1,87,113,0,0 monster Crocotree 1010,1,420000,240000
+003-1,73,97,0,0 monster Crocotree 1010,1,420000,240000
+003-1,84,83,0,0 monster Crocotree 1010,1,420000,240000
+003-1,51,89,0,0 monster Crocotree 1010,1,420000,240000
+003-1,64,64,0,0 monster Crocotree 1010,1,420000,240000
+003-1,90,53,0,0 monster Crocotree 1010,1,420000,240000
+003-1,104,86,0,0 monster Crocotree 1010,1,420000,240000
+003-1,81,95,36,58 monster Maggot 1030,60,35000,120000
diff --git a/npc/003-1/_warps.txt b/npc/003-1/_warps.txt
new file mode 100644
index 000000000..a7ded369a
--- /dev/null
+++ b/npc/003-1/_warps.txt
@@ -0,0 +1,3 @@
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+// Map 003-1: Drasil Island warps
+003-1,81,67,0 warp #003-1_81_67 0,0,003-2-1,21,28
diff --git a/npc/003-1/bkinu.txt b/npc/003-1/bkinu.txt
new file mode 100644
index 000000000..f7a6f10d6
--- /dev/null
+++ b/npc/003-1/bkinu.txt
@@ -0,0 +1,153 @@
+// Evol scripts.
+// Author:
+// Reid
+// Description:
+// Blacksmith's assistant of Artis
+// Variables:
+// ArtisQuests_Enora
+// Values:
+// 0 Default.
+// 1 BlackSmith quest delivered.
+// 2 Chelios Quest given.
+// 3 Chelios Quest done.
+// 4 BlackSmith gave the sword.
+
+003-1,100,100,0 script Bkinu NPC_PLAYER,{
+
+ .Item1 = RightCraftyWing;
+ .Item2 = LeftCraftyWing;
+ .ItemReward = FlightTalisman;
+
+ function quest_beggining{
+ speech S_FIRST_BLANK_LINE | S_LAST_NEXT,
+ l("my name is karim can you help me?.");
+
+ setq Karim_Quest, 1;
+ return;
+ }
+
+ function quest_left {
+ if (countitem(.Item2) > 0)
+ {
+ delitem .Item2, 1;
+ if (rand(10) == 1)
+ {
+ mesq l("Yay, it worked! You get a good wing.");
+ getitem .ItemReward, 1;
+ setq Karim_Quest, 2;
+ close;
+ }
+ else
+ {
+ mesq l("This one is useless! Give me another @@.", getitemlink(.Item2));
+ return;
+ }
+ }
+ else
+ {
+ mesq l("You don't have any @@, are you mocking me?", getitemlink(.Item2));
+ return ;
+ }
+ }
+
+ function quest_right {
+ if (countitem(.Item1) > 0)
+ {
+ delitem .Item1, 1;
+ if (rand(5) == 1)
+ {
+ mesq l("Yay, it worked! You get a good wing.");
+ getitem .ItemReward, 1;
+ setq Karim_Quest, 2;
+ close;
+ }
+ else
+ {
+ mesq l("This one is useless! Give me another @@.", getitemlink(.Item1));
+ next;
+ return;
+ }
+ }
+ else
+ {
+ mesq l("You don't have any @@, are you mocking me?", getitemlink(.Item1));
+ return ;
+ }
+ }
+
+ function quest_started {
+ speech S_FIRST_BLANK_LINE | S_LAST_NEXT,
+ l("Can you give me a @@ or a @@", getitemlink(.Item1), getitemlink(.Item2));
+
+ do
+ {
+ select
+ l("a Right Crafty Wing"),
+ l("a Left Crafty Wing"),
+ menuaction(l("Quit"));
+
+ switch (@menu)
+ {
+ case 1:
+ quest_right;
+ break;
+ case 2:
+ quest_left;
+ break;
+ }
+ } while (@menu != 3);
+ return;
+ }
+
+ function quest_completed {
+ speech S_FIRST_BLANK_LINE | S_LAST_NEXT,
+ l("Quest completed.");
+ return;
+ }
+
+ function quest_restart {
+ speech S_FIRST_BLANK_LINE | S_LAST_NEXT,
+ l("Quest restart.");
+ setq Karim_Quest, 0;
+ return;
+ }
+
+ speech S_LAST_NEXT, l("Can you help me?");
+
+ do
+ {
+ .@karim = getq(Karim_Quest);
+ select
+ rif(.@karim == 2, lg("quest completed.")),
+ rif(.@karim == 1, l("Hello again can you give you give me some tentacles.")),
+ rif(.@karim == 0, l("Hello")),
+ l("Debug"),
+ menuaction(l("Quit"));
+
+ switch (@menu)
+ {
+ case 1:
+ quest_completed;
+ break;
+ case 2:
+ quest_started;
+ break;
+ case 3:
+ quest_beggining;
+ break;
+ case 4:
+ quest_restart;
+ break;
+ }
+ } while (@menu != 5);
+
+ closedialog;
+ goodbye;
+ close;
+
+OnInit:
+ .sex = G_MALE;
+ .distance = 3;
+ end;
+}
+
diff --git a/npc/003-1/guard.txt b/npc/003-1/guard.txt
new file mode 100644
index 000000000..00b6b14db
--- /dev/null
+++ b/npc/003-1/guard.txt
@@ -0,0 +1,153 @@
+// Evol scripts.
+// Author:
+// Reid
+// Description:
+// Blacksmith's assistant of Artis
+// Variables:
+// ArtisQuests_Enora
+// Values:
+// 0 Default.
+// 1 BlackSmith quest delivered.
+// 2 Chelios Quest given.
+// 3 Chelios Quest done.
+// 4 BlackSmith gave the sword.
+
+003-1,98,122,0 script Guard NPC_PLAYER,{
+
+ .Item1 = RightCraftyWing;
+ .Item2 = LeftCraftyWing;
+ .ItemReward = FlightTalisman;
+
+ function quest_beggining{
+ speech S_FIRST_BLANK_LINE | S_LAST_NEXT,
+ l("my name is karim can you help me?.");
+
+ setq Karim_Quest, 1;
+ return;
+ }
+
+ function quest_left {
+ if (countitem(.Item2) > 0)
+ {
+ delitem .Item2, 1;
+ if (rand(10) == 1)
+ {
+ mesq l("Yay, it worked! You get a good wing.");
+ getitem .ItemReward, 1;
+ setq Karim_Quest, 2;
+ close;
+ }
+ else
+ {
+ mesq l("This one is useless! Give me another @@.", getitemlink(.Item2));
+ return;
+ }
+ }
+ else
+ {
+ mesq l("You don't have any @@, are you mocking me?", getitemlink(.Item2));
+ return ;
+ }
+ }
+
+ function quest_right {
+ if (countitem(.Item1) > 0)
+ {
+ delitem .Item1, 1;
+ if (rand(5) == 1)
+ {
+ mesq l("Yay, it worked! You get a good wing.");
+ getitem .ItemReward, 1;
+ setq Karim_Quest, 2;
+ close;
+ }
+ else
+ {
+ mesq l("This one is useless! Give me another @@.", getitemlink(.Item1));
+ next;
+ return;
+ }
+ }
+ else
+ {
+ mesq l("You don't have any @@, are you mocking me?", getitemlink(.Item1));
+ return ;
+ }
+ }
+
+ function quest_started {
+ speech S_FIRST_BLANK_LINE | S_LAST_NEXT,
+ l("Can you give me a @@ or a @@", getitemlink(.Item1), getitemlink(.Item2));
+
+ do
+ {
+ select
+ l("a Right Crafty Wing"),
+ l("a Left Crafty Wing"),
+ menuaction(l("Quit"));
+
+ switch (@menu)
+ {
+ case 1:
+ quest_right;
+ break;
+ case 2:
+ quest_left;
+ break;
+ }
+ } while (@menu != 3);
+ return;
+ }
+
+ function quest_completed {
+ speech S_FIRST_BLANK_LINE | S_LAST_NEXT,
+ l("Quest completed.");
+ return;
+ }
+
+ function quest_restart {
+ speech S_FIRST_BLANK_LINE | S_LAST_NEXT,
+ l("Quest restart.");
+ setq Karim_Quest, 0;
+ return;
+ }
+
+ speech S_LAST_NEXT, l("Can you help me?");
+
+ do
+ {
+ .@karim = getq(Karim_Quest);
+ select
+ rif(.@karim == 2, lg("quest completed.")),
+ rif(.@karim == 1, l("Hello again can you give you give me some tentacles.")),
+ rif(.@karim == 0, l("Hello")),
+ l("Debug"),
+ menuaction(l("Quit"));
+
+ switch (@menu)
+ {
+ case 1:
+ quest_completed;
+ break;
+ case 2:
+ quest_started;
+ break;
+ case 3:
+ quest_beggining;
+ break;
+ case 4:
+ quest_restart;
+ break;
+ }
+ } while (@menu != 5);
+
+ closedialog;
+ goodbye;
+ close;
+
+OnInit:
+ .sex = G_MALE;
+ .distance = 3;
+ end;
+}
+
diff --git a/npc/003-1/inar.txt b/npc/003-1/inar.txt
new file mode 100644
index 000000000..473feab19
--- /dev/null
+++ b/npc/003-1/inar.txt
@@ -0,0 +1,153 @@
+// Evol scripts.
+// Author:
+// Reid
+// Description:
+// Blacksmith's assistant of Artis
+// Variables:
+// ArtisQuests_Enora
+// Values:
+// 0 Default.
+// 1 BlackSmith quest delivered.
+// 2 Chelios Quest given.
+// 3 Chelios Quest done.
+// 4 BlackSmith gave the sword.
+
+003-1,108,109,0 script Inar NPC_PLAYER,{
+
+ .Item1 = RightCraftyWing;
+ .Item2 = LeftCraftyWing;
+ .ItemReward = FlightTalisman;
+
+ function quest_beggining{
+ speech S_FIRST_BLANK_LINE | S_LAST_NEXT,
+ l("my name is karim can you help me?.");
+
+ setq Karim_Quest, 1;
+ return;
+ }
+
+ function quest_left {
+ if (countitem(.Item2) > 0)
+ {
+ delitem .Item2, 1;
+ if (rand(10) == 1)
+ {
+ mesq l("Yay, it worked! You get a good wing.");
+ getitem .ItemReward, 1;
+ setq Karim_Quest, 2;
+ close;
+ }
+ else
+ {
+ mesq l("This one is useless! Give me another @@.", getitemlink(.Item2));
+ return;
+ }
+ }
+ else
+ {
+ mesq l("You don't have any @@, are you mocking me?", getitemlink(.Item2));
+ return ;
+ }
+ }
+
+ function quest_right {
+ if (countitem(.Item1) > 0)
+ {
+ delitem .Item1, 1;
+ if (rand(5) == 1)
+ {
+ mesq l("Yay, it worked! You get a good wing.");
+ getitem .ItemReward, 1;
+ setq Karim_Quest, 2;
+ close;
+ }
+ else
+ {
+ mesq l("This one is useless! Give me another @@.", getitemlink(.Item1));
+ next;
+ return;
+ }
+ }
+ else
+ {
+ mesq l("You don't have any @@, are you mocking me?", getitemlink(.Item1));
+ return ;
+ }
+ }
+
+ function quest_started {
+ speech S_FIRST_BLANK_LINE | S_LAST_NEXT,
+ l("Can you give me a @@ or a @@", getitemlink(.Item1), getitemlink(.Item2));
+
+ do
+ {
+ select
+ l("a Right Crafty Wing"),
+ l("a Left Crafty Wing"),
+ menuaction(l("Quit"));
+
+ switch (@menu)
+ {
+ case 1:
+ quest_right;
+ break;
+ case 2:
+ quest_left;
+ break;
+ }
+ } while (@menu != 3);
+ return;
+ }
+
+ function quest_completed {
+ speech S_FIRST_BLANK_LINE | S_LAST_NEXT,
+ l("Quest completed.");
+ return;
+ }
+
+ function quest_restart {
+ speech S_FIRST_BLANK_LINE | S_LAST_NEXT,
+ l("Quest restart.");
+ setq Karim_Quest, 0;
+ return;
+ }
+
+ speech S_LAST_NEXT, l("Can you help me?");
+
+ do
+ {
+ .@karim = getq(Karim_Quest);
+ select
+ rif(.@karim == 2, lg("quest completed.")),
+ rif(.@karim == 1, l("Hello again can you give you give me some tentacles.")),
+ rif(.@karim == 0, l("Hello")),
+ l("Debug"),
+ menuaction(l("Quit"));
+
+ switch (@menu)
+ {
+ case 1:
+ quest_completed;
+ break;
+ case 2:
+ quest_started;
+ break;
+ case 3:
+ quest_beggining;
+ break;
+ case 4:
+ quest_restart;
+ break;
+ }
+ } while (@menu != 5);
+
+ closedialog;
+ goodbye;
+ close;
+
+OnInit:
+ .sex = G_MALE;
+ .distance = 3;
+ end;
+}
+
diff --git a/npc/003-1/jeric.txt b/npc/003-1/jeric.txt
new file mode 100644
index 000000000..904645000
--- /dev/null
+++ b/npc/003-1/jeric.txt
@@ -0,0 +1,153 @@
+// Evol scripts.
+// Author:
+// Reid
+// Description:
+// Blacksmith's assistant of Artis
+// Variables:
+// ArtisQuests_Enora
+// Values:
+// 0 Default.
+// 1 BlackSmith quest delivered.
+// 2 Chelios Quest given.
+// 3 Chelios Quest done.
+// 4 BlackSmith gave the sword.
+
+003-1,93,125,0 script Jeric NPC_PLAYER,{
+
+ .Item1 = RightCraftyWing;
+ .Item2 = LeftCraftyWing;
+ .ItemReward = FlightTalisman;
+
+ function quest_beggining{
+ speech S_FIRST_BLANK_LINE | S_LAST_NEXT,
+ l("my name is karim can you help me?.");
+
+ setq Karim_Quest, 1;
+ return;
+ }
+
+ function quest_left {
+ if (countitem(.Item2) > 0)
+ {
+ delitem .Item2, 1;
+ if (rand(10) == 1)
+ {
+ mesq l("Yay, it worked! You get a good wing.");
+ getitem .ItemReward, 1;
+ setq Karim_Quest, 2;
+ close;
+ }
+ else
+ {
+ mesq l("This one is useless! Give me another @@.", getitemlink(.Item2));
+ return;
+ }
+ }
+ else
+ {
+ mesq l("You don't have any @@, are you mocking me?", getitemlink(.Item2));
+ return ;
+ }
+ }
+
+ function quest_right {
+ if (countitem(.Item1) > 0)
+ {
+ delitem .Item1, 1;
+ if (rand(5) == 1)
+ {
+ mesq l("Yay, it worked! You get a good wing.");
+ getitem .ItemReward, 1;
+ setq Karim_Quest, 2;
+ close;
+ }
+ else
+ {
+ mesq l("This one is useless! Give me another @@.", getitemlink(.Item1));
+ next;
+ return;
+ }
+ }
+ else
+ {
+ mesq l("You don't have any @@, are you mocking me?", getitemlink(.Item1));
+ return ;
+ }
+ }
+
+ function quest_started {
+ speech S_FIRST_BLANK_LINE | S_LAST_NEXT,
+ l("Can you give me a @@ or a @@", getitemlink(.Item1), getitemlink(.Item2));
+
+ do
+ {
+ select
+ l("a Right Crafty Wing"),
+ l("a Left Crafty Wing"),
+ menuaction(l("Quit"));
+
+ switch (@menu)
+ {
+ case 1:
+ quest_right;
+ break;
+ case 2:
+ quest_left;
+ break;
+ }
+ } while (@menu != 3);
+ return;
+ }
+
+ function quest_completed {
+ speech S_FIRST_BLANK_LINE | S_LAST_NEXT,
+ l("Quest completed.");
+ return;
+ }
+
+ function quest_restart {
+ speech S_FIRST_BLANK_LINE | S_LAST_NEXT,
+ l("Quest restart.");
+ setq Karim_Quest, 0;
+ return;
+ }
+
+ speech S_LAST_NEXT, l("Can you help me?");
+
+ do
+ {
+ .@karim = getq(Karim_Quest);
+ select
+ rif(.@karim == 2, lg("quest completed.")),
+ rif(.@karim == 1, l("Hello again can you give you give me some tentacles.")),
+ rif(.@karim == 0, l("Hello")),
+ l("Debug"),
+ menuaction(l("Quit"));
+
+ switch (@menu)
+ {
+ case 1:
+ quest_completed;
+ break;
+ case 2:
+ quest_started;
+ break;
+ case 3:
+ quest_beggining;
+ break;
+ case 4:
+ quest_restart;
+ break;
+ }
+ } while (@menu != 5);
+
+ closedialog;
+ goodbye;
+ close;
+
+OnInit:
+ .sex = G_MALE;
+ .distance = 3;
+ end;
+}
+
diff --git a/npc/003-1/luca.txt b/npc/003-1/luca.txt
new file mode 100644
index 000000000..2d8ccca75
--- /dev/null
+++ b/npc/003-1/luca.txt
@@ -0,0 +1,153 @@
+// Evol scripts.
+// Author:
+// Reid
+// Description:
+// Blacksmith's assistant of Artis
+// Variables:
+// ArtisQuests_Enora
+// Values:
+// 0 Default.
+// 1 BlackSmith quest delivered.
+// 2 Chelios Quest given.
+// 3 Chelios Quest done.
+// 4 BlackSmith gave the sword.
+
+003-1,109,128,0 script Luca NPC_PLAYER,{
+
+ .Item1 = RightCraftyWing;
+ .Item2 = LeftCraftyWing;
+ .ItemReward = FlightTalisman;
+
+ function quest_beggining{
+ speech S_FIRST_BLANK_LINE | S_LAST_NEXT,
+ l("my name is karim can you help me?.");
+
+ setq Karim_Quest, 1;
+ return;
+ }
+
+ function quest_left {
+ if (countitem(.Item2) > 0)
+ {
+ delitem .Item2, 1;
+ if (rand(10) == 1)
+ {
+ mesq l("Yay, it worked! You get a good wing.");
+ getitem .ItemReward, 1;
+ setq Karim_Quest, 2;
+ close;
+ }
+ else
+ {
+ mesq l("This one is useless! Give me another @@.", getitemlink(.Item2));
+ return;
+ }
+ }
+ else
+ {
+ mesq l("You don't have any @@, are you mocking me?", getitemlink(.Item2));
+ return ;
+ }
+ }
+
+ function quest_right {
+ if (countitem(.Item1) > 0)
+ {
+ delitem .Item1, 1;
+ if (rand(5) == 1)
+ {
+ mesq l("Yay, it worked! You get a good wing.");
+ getitem .ItemReward, 1;
+ setq Karim_Quest, 2;
+ close;
+ }
+ else
+ {
+ mesq l("This one is useless! Give me another @@.", getitemlink(.Item1));
+ next;
+ return;
+ }
+ }
+ else
+ {
+ mesq l("You don't have any @@, are you mocking me?", getitemlink(.Item1));
+ return ;
+ }
+ }
+
+ function quest_started {
+ speech S_FIRST_BLANK_LINE | S_LAST_NEXT,
+ l("Can you give me a @@ or a @@", getitemlink(.Item1), getitemlink(.Item2));
+
+ do
+ {
+ select
+ l("a Right Crafty Wing"),
+ l("a Left Crafty Wing"),
+ menuaction(l("Quit"));
+
+ switch (@menu)
+ {
+ case 1:
+ quest_right;
+ break;
+ case 2:
+ quest_left;
+ break;
+ }
+ } while (@menu != 3);
+ return;
+ }
+
+ function quest_completed {
+ speech S_FIRST_BLANK_LINE | S_LAST_NEXT,
+ l("Quest completed.");
+ return;
+ }
+
+ function quest_restart {
+ speech S_FIRST_BLANK_LINE | S_LAST_NEXT,
+ l("Quest restart.");
+ setq Karim_Quest, 0;
+ return;
+ }
+
+ speech S_LAST_NEXT, l("Can you help me?");
+
+ do
+ {
+ .@karim = getq(Karim_Quest);
+ select
+ rif(.@karim == 2, lg("quest completed.")),
+ rif(.@karim == 1, l("Hello again can you give you give me some tentacles.")),
+ rif(.@karim == 0, l("Hello")),
+ l("Debug"),
+ menuaction(l("Quit"));
+
+ switch (@menu)
+ {
+ case 1:
+ quest_completed;
+ break;
+ case 2:
+ quest_started;
+ break;
+ case 3:
+ quest_beggining;
+ break;
+ case 4:
+ quest_restart;
+ break;
+ }
+ } while (@menu != 5);
+
+ closedialog;
+ goodbye;
+ close;
+
+OnInit:
+ .sex = G_MALE;
+ .distance = 3;
+ end;
+}
+
diff --git a/npc/003-1/malikox.txt b/npc/003-1/malikox.txt
new file mode 100644
index 000000000..31d882c6c
--- /dev/null
+++ b/npc/003-1/malikox.txt
@@ -0,0 +1,153 @@
+// Evol scripts.
+// Author:
+// Reid
+// Description:
+// Blacksmith's assistant of Artis
+// Variables:
+// ArtisQuests_Enora
+// Values:
+// 0 Default.
+// 1 BlackSmith quest delivered.
+// 2 Chelios Quest given.
+// 3 Chelios Quest done.
+// 4 BlackSmith gave the sword.
+
+003-1,114,106,0 script Malivox NPC_PLAYER,{
+
+ .Item1 = RightCraftyWing;
+ .Item2 = LeftCraftyWing;
+ .ItemReward = FlightTalisman;
+
+ function quest_beggining{
+ speech S_FIRST_BLANK_LINE | S_LAST_NEXT,
+ l("my name is karim can you help me?.");
+
+ setq Karim_Quest, 1;
+ return;
+ }
+
+ function quest_left {
+ if (countitem(.Item2) > 0)
+ {
+ delitem .Item2, 1;
+ if (rand(10) == 1)
+ {
+ mesq l("Yay, it worked! You get a good wing.");
+ getitem .ItemReward, 1;
+ setq Karim_Quest, 2;
+ close;
+ }
+ else
+ {
+ mesq l("This one is useless! Give me another @@.", getitemlink(.Item2));
+ return;
+ }
+ }
+ else
+ {
+ mesq l("You don't have any @@, are you mocking me?", getitemlink(.Item2));
+ return ;
+ }
+ }
+
+ function quest_right {
+ if (countitem(.Item1) > 0)
+ {
+ delitem .Item1, 1;
+ if (rand(5) == 1)
+ {
+ mesq l("Yay, it worked! You get a good wing.");
+ getitem .ItemReward, 1;
+ setq Karim_Quest, 2;
+ close;
+ }
+ else
+ {
+ mesq l("This one is useless! Give me another @@.", getitemlink(.Item1));
+ next;
+ return;
+ }
+ }
+ else
+ {
+ mesq l("You don't have any @@, are you mocking me?", getitemlink(.Item1));
+ return ;
+ }
+ }
+
+ function quest_started {
+ speech S_FIRST_BLANK_LINE | S_LAST_NEXT,
+ l("Can you give me a @@ or a @@", getitemlink(.Item1), getitemlink(.Item2));
+
+ do
+ {
+ select
+ l("a Right Crafty Wing"),
+ l("a Left Crafty Wing"),
+ menuaction(l("Quit"));
+
+ switch (@menu)
+ {
+ case 1:
+ quest_right;
+ break;
+ case 2:
+ quest_left;
+ break;
+ }
+ } while (@menu != 3);
+ return;
+ }
+
+ function quest_completed {
+ speech S_FIRST_BLANK_LINE | S_LAST_NEXT,
+ l("Quest completed.");
+ return;
+ }
+
+ function quest_restart {
+ speech S_FIRST_BLANK_LINE | S_LAST_NEXT,
+ l("Quest restart.");
+ setq Karim_Quest, 0;
+ return;
+ }
+
+ speech S_LAST_NEXT, l("Can you help me?");
+
+ do
+ {
+ .@karim = getq(Karim_Quest);
+ select
+ rif(.@karim == 2, lg("quest completed.")),
+ rif(.@karim == 1, l("Hello again can you give you give me some tentacles.")),
+ rif(.@karim == 0, l("Hello")),
+ l("Debug"),
+ menuaction(l("Quit"));
+
+ switch (@menu)
+ {
+ case 1:
+ quest_completed;
+ break;
+ case 2:
+ quest_started;
+ break;
+ case 3:
+ quest_beggining;
+ break;
+ case 4:
+ quest_restart;
+ break;
+ }
+ } while (@menu != 5);
+
+ closedialog;
+ goodbye;
+ close;
+
+OnInit:
+ .sex = G_MALE;
+ .distance = 3;
+ end;
+}
+
diff --git a/npc/003-1/neko.txt b/npc/003-1/neko.txt
new file mode 100644
index 000000000..bb4d6e09f
--- /dev/null
+++ b/npc/003-1/neko.txt
@@ -0,0 +1,153 @@
+// Evol scripts.
+// Author:
+// Reid
+// Description:
+// Blacksmith's assistant of Artis
+// Variables:
+// ArtisQuests_Enora
+// Values:
+// 0 Default.
+// 1 BlackSmith quest delivered.
+// 2 Chelios Quest given.
+// 3 Chelios Quest done.
+// 4 BlackSmith gave the sword.
+
+003-1,103,106,0 script Neko NPC_PLAYER,{
+
+ .Item1 = RightCraftyWing;
+ .Item2 = LeftCraftyWing;
+ .ItemReward = FlightTalisman;
+
+ function quest_beggining{
+ speech S_FIRST_BLANK_LINE | S_LAST_NEXT,
+ l("my name is karim can you help me?.");
+
+ setq Karim_Quest, 1;
+ return;
+ }
+
+ function quest_left {
+ if (countitem(.Item2) > 0)
+ {
+ delitem .Item2, 1;
+ if (rand(10) == 1)
+ {
+ mesq l("Yay, it worked! You get a good wing.");
+ getitem .ItemReward, 1;
+ setq Karim_Quest, 2;
+ close;
+ }
+ else
+ {
+ mesq l("This one is useless! Give me another @@.", getitemlink(.Item2));
+ return;
+ }
+ }
+ else
+ {
+ mesq l("You don't have any @@, are you mocking me?", getitemlink(.Item2));
+ return ;
+ }
+ }
+
+ function quest_right {
+ if (countitem(.Item1) > 0)
+ {
+ delitem .Item1, 1;
+ if (rand(5) == 1)
+ {
+ mesq l("Yay, it worked! You get a good wing.");
+ getitem .ItemReward, 1;
+ setq Karim_Quest, 2;
+ close;
+ }
+ else
+ {
+ mesq l("This one is useless! Give me another @@.", getitemlink(.Item1));
+ next;
+ return;
+ }
+ }
+ else
+ {
+ mesq l("You don't have any @@, are you mocking me?", getitemlink(.Item1));
+ return ;
+ }
+ }
+
+ function quest_started {
+ speech S_FIRST_BLANK_LINE | S_LAST_NEXT,
+ l("Can you give me a @@ or a @@", getitemlink(.Item1), getitemlink(.Item2));
+
+ do
+ {
+ select
+ l("a Right Crafty Wing"),
+ l("a Left Crafty Wing"),
+ menuaction(l("Quit"));
+
+ switch (@menu)
+ {
+ case 1:
+ quest_right;
+ break;
+ case 2:
+ quest_left;
+ break;
+ }
+ } while (@menu != 3);
+ return;
+ }
+
+ function quest_completed {
+ speech S_FIRST_BLANK_LINE | S_LAST_NEXT,
+ l("Quest completed.");
+ return;
+ }
+
+ function quest_restart {
+ speech S_FIRST_BLANK_LINE | S_LAST_NEXT,
+ l("Quest restart.");
+ setq Karim_Quest, 0;
+ return;
+ }
+
+ speech S_LAST_NEXT, l("Can you help me?");
+
+ do
+ {
+ .@karim = getq(Karim_Quest);
+ select
+ rif(.@karim == 2, lg("quest completed.")),
+ rif(.@karim == 1, l("Hello again can you give you give me some tentacles.")),
+ rif(.@karim == 0, l("Hello")),
+ l("Debug"),
+ menuaction(l("Quit"));
+
+ switch (@menu)
+ {
+ case 1:
+ quest_completed;
+ break;
+ case 2:
+ quest_started;
+ break;
+ case 3:
+ quest_beggining;
+ break;
+ case 4:
+ quest_restart;
+ break;
+ }
+ } while (@menu != 5);
+
+ closedialog;
+ goodbye;
+ close;
+
+OnInit:
+ .sex = G_MALE;
+ .distance = 3;
+ end;
+}
+
diff --git a/npc/003-2-0/_import.txt b/npc/003-2-0/_import.txt
new file mode 100644
index 000000000..1ad459d95
--- /dev/null
+++ b/npc/003-2-0/_import.txt
@@ -0,0 +1,3 @@
+// Map 003-2-0: Nard's Room
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+"npc/003-2-0/_warps.txt",
diff --git a/npc/003-2-0/_warps.txt b/npc/003-2-0/_warps.txt
new file mode 100644
index 000000000..c88e5c3f2
--- /dev/null
+++ b/npc/003-2-0/_warps.txt
@@ -0,0 +1,3 @@
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+// Map 003-2-0: Nard's Room warps
+003-2-0,19,27,0 warp #003-2-0_19_27 0,0,003-2-1,32,28
diff --git a/npc/003-2-1/_import.txt b/npc/003-2-1/_import.txt
new file mode 100644
index 000000000..4e3c5e472
--- /dev/null
+++ b/npc/003-2-1/_import.txt
@@ -0,0 +1,3 @@
+// Map 003-2-1: First Deck
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+"npc/003-2-1/_warps.txt",
diff --git a/npc/003-2-1/_warps.txt b/npc/003-2-1/_warps.txt
new file mode 100644
index 000000000..b3d603825
--- /dev/null
+++ b/npc/003-2-1/_warps.txt
@@ -0,0 +1,5 @@
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+// Map 003-2-1: First Deck warps
+003-2-1,19,28,0 warp #003-2-1_19_28 0,0,004-1,193,109
+003-2-1,33,28,0 warp #003-2-1_33_28 0,0,003-2-0,20,27
+003-2-1,31,25,0 warp #003-2-1_31_25 0,0,003-2-2,72,29
diff --git a/npc/003-2-2/_import.txt b/npc/003-2-2/_import.txt
new file mode 100644
index 000000000..94bb2c660
--- /dev/null
+++ b/npc/003-2-2/_import.txt
@@ -0,0 +1,5 @@
+// Map 003-2-2: Second Deck
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+"npc/003-2-2/_mobs.txt",
+"npc/003-2-2/_savepoints.txt",
+"npc/003-2-2/_warps.txt",
diff --git a/npc/003-2-2/_mobs.txt b/npc/003-2-2/_mobs.txt
new file mode 100644
index 000000000..b727a1f6f
--- /dev/null
+++ b/npc/003-2-2/_mobs.txt
@@ -0,0 +1,3 @@
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+// Map 003-2-2: Second Deck mobs
+003-2-2,52,32,21,9 monster Piou 1002,3,30000,20000
diff --git a/npc/003-2-2/_savepoints.txt b/npc/003-2-2/_savepoints.txt
new file mode 100644
index 000000000..871cdf3b2
--- /dev/null
+++ b/npc/003-2-2/_savepoints.txt
@@ -0,0 +1,47 @@
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+// Map 003-2-2: Second Deck saves
+003-2-2,40,37,0 script #save_003-2-2_40_37 NPC_SAVE_POINT,{
+ savepointparticle .map$, .x, .y, CURRENT_INN;
+ close;
+
+OnInit:
+ .distance = 2;
+ .sex = G_OTHER;
+ end;
+}
+003-2-2,46,37,0 script #save_003-2-2_46_37 NPC_SAVE_POINT,{
+ savepointparticle .map$, .x, .y, CURRENT_INN;
+ close;
+
+OnInit:
+ .distance = 2;
+ .sex = G_OTHER;
+ end;
+}
+003-2-2,55,40,0 script #save_003-2-2_55_40 NPC_SAVE_POINT,{
+ savepointparticle .map$, .x, .y, CURRENT_INN;
+ close;
+
+OnInit:
+ .distance = 2;
+ .sex = G_OTHER;
+ end;
+}
+003-2-2,50,38,0 script #save_003-2-2_50_38 NPC_SAVE_POINT,{
+ savepointparticle .map$, .x, .y, CURRENT_INN;
+ close;
+
+OnInit:
+ .distance = 2;
+ .sex = G_OTHER;
+ end;
+}
+003-2-2,53,38,0 script #save_003-2-2_53_38 NPC_SAVE_POINT,{
+ savepointparticle .map$, .x, .y, CURRENT_INN;
+ close;
+
+OnInit:
+ .distance = 2;
+ .sex = G_OTHER;
+ end;
+}
diff --git a/npc/003-2-2/_warps.txt b/npc/003-2-2/_warps.txt
new file mode 100644
index 000000000..dd4948947
--- /dev/null
+++ b/npc/003-2-2/_warps.txt
@@ -0,0 +1,3 @@
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+// Map 003-2-2: Second Deck warps
+003-2-2,72,30,0 warp #003-2-2_72_30 0,0,003-2-1,31,26
diff --git a/npc/004-0/_import.txt b/npc/004-0/_import.txt
new file mode 100644
index 000000000..e7a3c06d7
--- /dev/null
+++ b/npc/004-0/_import.txt
@@ -0,0 +1,3 @@
+// Map 004-0: Oceania
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+"npc/004-0/_warps.txt",
diff --git a/npc/004-0/_warps.txt b/npc/004-0/_warps.txt
new file mode 100644
index 000000000..a92576de9
--- /dev/null
+++ b/npc/004-0/_warps.txt
@@ -0,0 +1,3 @@
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+// Map 004-0: Oceania warps
+004-0,6,3,0 warp #004-0_6_3 0,0,004-1-1,55,72
diff --git a/npc/004-1-1/_import.txt b/npc/004-1-1/_import.txt
new file mode 100644
index 000000000..991283715
--- /dev/null
+++ b/npc/004-1-1/_import.txt
@@ -0,0 +1,3 @@
+// Map 004-1-1: Light Armor Shop
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+"npc/004-1-1/_warps.txt",
diff --git a/npc/004-1-1/_warps.txt b/npc/004-1-1/_warps.txt
new file mode 100644
index 000000000..4c67ee852
--- /dev/null
+++ b/npc/004-1-1/_warps.txt
@@ -0,0 +1,4 @@
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+// Map 004-1-1: Light Armor Shop warps
+004-1-1,30,35,0 warp #004-1-1_30_35 0,0,001-1,51,66
+004-1-1,37,46,0 warp #004-1-1_37_46 0,0,004-1,55,72
diff --git a/npc/004-1/_import.txt b/npc/004-1/_import.txt
new file mode 100644
index 000000000..31c31230f
--- /dev/null
+++ b/npc/004-1/_import.txt
@@ -0,0 +1,3 @@
+// Map 004-1: candor
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+"npc/004-1/_warps.txt",
diff --git a/npc/004-1/_warps.txt b/npc/004-1/_warps.txt
new file mode 100644
index 000000000..e7794ef46
--- /dev/null
+++ b/npc/004-1/_warps.txt
@@ -0,0 +1,4 @@
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+// Map 004-1: candor warps
+004-1,6,3,0 warp #004-1_6_3 0,0,004-1-1,37,45
+004-1,30,17,0 warp #004-1_30_17 0,0,003-2-1,20,28
diff --git a/npc/_import.txt b/npc/_import.txt
index 202da4229..d2c804c0e 100644
--- a/npc/_import.txt
+++ b/npc/_import.txt
@@ -5,7 +5,6 @@
@include "npc/000-0/_import.txt"
@include "npc/000-1-1/_import.txt"
@include "npc/000-1-2/_import.txt"
-@include "npc/000-1-7-3/_import.txt"
@include "npc/000-1-9/_import.txt"
@include "npc/000-1/_import.txt"
@include "npc/000-2-0/_import.txt"
@@ -60,6 +59,13 @@
@include "npc/001-3-0/_import.txt"
@include "npc/001-3-1/_import.txt"
@include "npc/002-1/_import.txt"
+@include "npc/003-1/_import.txt"
+@include "npc/003-2-0/_import.txt"
+@include "npc/003-2-1/_import.txt"
+@include "npc/003-2-2/_import.txt"
+@include "npc/004-0/_import.txt"
+@include "npc/004-1-1/_import.txt"
+@include "npc/004-1/_import.txt"
@include "npc/008-1/_import.txt"
@include "npc/008-2-0/_import.txt"
@include "npc/008-2-1/_import.txt"