summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authornmaligec <wouldnot@hotmail.com>2011-01-03 14:50:23 -0500
committernmaligec <wouldnot@hotmail.com>2011-01-03 14:50:23 -0500
commit0362815db48dcd49b5df5d1bd8565613e1979f70 (patch)
treeb6c9733c488c5f87387a500ac2ef25441fdc1538
parent8b09943b83d9eeb2180fb6c50023a22d3ffae18d (diff)
downloadclassic-serverdata-0362815db48dcd49b5df5d1bd8565613e1979f70.tar.gz
classic-serverdata-0362815db48dcd49b5df5d1bd8565613e1979f70.tar.bz2
classic-serverdata-0362815db48dcd49b5df5d1bd8565613e1979f70.tar.xz
classic-serverdata-0362815db48dcd49b5df5d1bd8565613e1979f70.zip
Updates I made since ta-testing repo was closed: minor fix to Hurnsald warps and entrances, plus additions for the crypt quest.
-rw-r--r--data/009-1.wlkbin8779 -> 8779 bytes
-rw-r--r--data/009-2.wlkbin24004 -> 24004 bytes
-rwxr-xr-xdata/027-3.wlkbin13504 -> 13504 bytes
-rwxr-xr-xdata/debugroom.wlkbin0 -> 2504 bytes
-rw-r--r--data/resnametable.txt1
-rw-r--r--db/item_db.txt4
-rw-r--r--db/mob_db.txt9
-rw-r--r--db/mob_skill_db.txt15
-rw-r--r--npc/001-1_Tulimshar/_warps.txt1
-rw-r--r--npc/001-1_Tulimshar/tester.txt43
-rw-r--r--npc/009-1_Hurnscald/_warps.txt27
-rw-r--r--npc/009-2_Hurnscald/_warps.txt41
-rw-r--r--npc/009-2_Hurnscald/airlia.txt47
-rw-r--r--npc/011-3_Hermits_cave/_warps.txt6
-rw-r--r--npc/011-4_Lake_cave/_warps.txt8
-rw-r--r--npc/027-1_Graveyard/golbenez.txt102
-rw-r--r--npc/027-2_Caretakers_House/_import.txt2
-rw-r--r--npc/027-2_Caretakers_House/_warps.txt4
-rwxr-xr-xnpc/027-2_Caretakers_House/alacrius.txt151
-rwxr-xr-xnpc/027-2_Caretakers_House/alacrius2.txt113
-rwxr-xr-xnpc/027-3_Crypt/_import.txt10
-rwxr-xr-xnpc/027-3_Crypt/_mobs.txt2
-rwxr-xr-xnpc/027-3_Crypt/_warps.txt5
-rwxr-xr-xnpc/027-3_Crypt/caskets.txt7
-rwxr-xr-xnpc/027-3_Crypt/entrance.txt41
-rwxr-xr-xnpc/027-3_Crypt/mapflags.txt1
-rwxr-xr-xnpc/027-3_Crypt/test.txt8
-rwxr-xr-xnpc/027-4_Reaper/_import.txt8
-rwxr-xr-xnpc/027-4_Reaper/_mobs.txt4
-rwxr-xr-xnpc/027-4_Reaper/mapflags.txt1
-rwxr-xr-xnpc/027-4_Reaper/reaper_script.txt15
-rw-r--r--npc/029-1_Candor/barrier.txt16
-rw-r--r--npc/029-3_Fight_Cave/barrier.txt16
-rw-r--r--npc/_import.txt1
-rwxr-xr-xnpc/debugroom/_import.txt6
-rwxr-xr-xnpc/debugroom/_mobs.txt0
-rwxr-xr-xnpc/debugroom/_warps.txt0
-rwxr-xr-xnpc/debugroom/reaper-test.txt43
-rwxr-xr-xnpc/debugroom/tester.txt24
-rwxr-xr-xnpc/debugroom/weapon-test.txt16
40 files changed, 516 insertions, 282 deletions
diff --git a/data/009-1.wlk b/data/009-1.wlk
index 87fa7a02..0ec51666 100644
--- a/data/009-1.wlk
+++ b/data/009-1.wlk
Binary files differ
diff --git a/data/009-2.wlk b/data/009-2.wlk
index 06d01de3..8db718f3 100644
--- a/data/009-2.wlk
+++ b/data/009-2.wlk
Binary files differ
diff --git a/data/027-3.wlk b/data/027-3.wlk
index 4023c354..274a7e5d 100755
--- a/data/027-3.wlk
+++ b/data/027-3.wlk
Binary files differ
diff --git a/data/debugroom.wlk b/data/debugroom.wlk
new file mode 100755
index 00000000..abf8574b
--- /dev/null
+++ b/data/debugroom.wlk
Binary files differ
diff --git a/data/resnametable.txt b/data/resnametable.txt
index a0d94ea6..fe3984a8 100644
--- a/data/resnametable.txt
+++ b/data/resnametable.txt
@@ -65,3 +65,4 @@
029-1.gat#029-1.wlk#
029-3.gat#029-3.wlk#
botcheck.gat#botcheck.wlk#
+debugroom.gat#debugroom.wlk#
diff --git a/db/item_db.txt b/db/item_db.txt
index bc4e2dfd..4d15afb3 100644
--- a/db/item_db.txt
+++ b/db/item_db.txt
@@ -86,14 +86,14 @@
584, Jackal, Jackal, 4, 8000, 4000, 100, 100, , 1, , 0, 2, 2, 1, 1, 1, {}, { callfunc "UnreleasedItem"; }
585, ScarabArmlet, Scarab Armlet, 5, 8000, 4000, 200, , 0, , 5, 0, 2, 32, , 1, 1, {}, {}
586, CottonShorts, Cotton Shorts, 5, 1000, 500, 15, , 2, , -4, 0, 2, 1, , 1, 0, {}, {}
-//587, RESERVED, Sword, , , , , , , , , , , , , , , {}, {}
+587, Sword, Sword, 4, 1000, 500, 200, 15, , 1, , 0, 2, 2, 1, 1, 1, {}, { callfunc "UnreleasedItem"; }
//588, RESERVED, Bastard Sword, , , , , , , , , , , , , , , {}, {}
//589, RESERVED, Broad Sword, , , , , , , , , , , , , , , {}, {}
//590, RESERVED, Baselard, , , , , , , , , , , , , , , {}, {}
//591, RESERVED, Long Sword, , , , , , , , , , , , , , , {}, {}
//592, RESERVED, Stiletto, , , , , , , , , , , , , , , {}, {}
//593, RESERVED, Rapier, , , , , , , , , , , , , , , {}, {}
-//594, RESERVED, Spear, , , , , , , , , , , , , , , {}, {}
+594, Spear, Spear, 4, 1000, 500, 200, 15, , 1, , 0, 2, 2, 1, 1, 1, {}, { callfunc "UnreleasedItem"; }
//595, RESERVED, Heavy Spear, , , , , , , , , , , , , , , {}, {}
//596, RESERVED, Pike, , , , , , , , , , , , , , , {}, {}
//597, RESERVED, Heavy Pike, , , , , , , , , , , , , , , {}, {}
diff --git a/db/mob_db.txt b/db/mob_db.txt
index 516c05fc..7e259742 100644
--- a/db/mob_db.txt
+++ b/db/mob_db.txt
@@ -61,6 +61,9 @@
1061, Moggun, Moggun, 60, 800, 0, 0, 100, 1, 70, 90, 20, 10, 50, 40, 10, 10, 10, 10, 1, 1, 1, 0, 25, 137, 600, 1500, 672, 480, 611, 600, 4001, 600, 4002, 20, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, , , , , , , 2, 40
1062, Terranite, Terranite, 110, 6000, 0, 0, 1000, 1, 200, 300, 20, 40, 60, 40, 40, 30, 60, 40, 1, 1, 1, 0, 29, 133, 400, 872, 672, 900, 4001, 600, 4004, 20, 4005, 20, 4007, 20, 763, 500, 640, 500, 0, 0, 0, 0, 0, 0, 0, 0, , , , , , , 2, 30
1063, TheLost, The Lost, 30, 5000, 0, 9000, 1000, 5, 260, 375, 10, 70, 5, 40, 10, 70, 70, 40, 4, 9, 1, 1, 69, 141, 500, 2000, 672, 300, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, , , , , , , 0, 0
-1111, Reaper, Reaper, 50, 55500, 0, 40000, 10000, 12, 444, 555, 30, 80, 100, 200, 70, 120, 150, 80, 1, 50, 1, 1, 89, 165, 500, 1200, 800, 300, 777, 1000, 775, 500, 776, 100, 1221, 10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, , , , , , , 0, 0
-1112, Scythe, Scythe, 40, 3000, 0, 8500, 500, 1, 200, 350, 30, 10, 100, 250, 1, 1, 150, 90, 1, 50, 1, 0, 40, 133, 220, 700, 672, 500, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, , , , , , , 0, 0
-1113, BallLightning, Ball Lightning, 40, 50, 0, 100, 10, 1, 5, 10, 40, 65, 1, 200, 1, 1, 1, 1, 1, 50, 1, 0, 47, 133, 110, 1500, 672, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, , , , , , , 0, 0
+1111, Reaper, Reaper, 50, 555, 0, 20000, 0, 7, 333, 444, 30, 80, 100, 120, 70, 120, 100, 50, 1, 50, 1, 1, 89, 165, 500, 1200, 800, 300, 777, 1000, 775, 500, 776, 100, 1221, 10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, , , , , , , 0, 0
+1112, Scythe, Scythe, 40, 3000, 0, 0, 0, 1, 200, 350, 30, 10, 100, 250, 1, 1, 150, 90, 1, 50, 1, 0, 40, 133, 220, 700, 672, 500, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, , , , , , , 0, 0
+1113, BallLightning, Ball Lightning, 40, 10, 0, 0, 0, 1, 5, 10, 40, 65, 1, 200, 1, 1, 1, 1, 1, 50, 1, 0, 47, 133, 110, 1500, 672, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, , , , , , , 0, 0
+
+1999, Dummy, Dummy, 1, 5000, 0, 1, 1, 1, 0, 0, 100, 100, 5, 5, 5, 5, 5, 200, 1, 1, 1, 3, 22, 0, 800, 800, 672, 480, 681, 3000, 681, 3000, 681, 3000, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, , , , , , , 0, 0
+# ID, Name, Jname, LV, HP, SP, EXP, JEXP, Range1, ATK1, ATK2, DEF, MDEF, STR, AGI, VIT, INT, DEX, LUK, Range2, Range3, Scale, Race, Element,Mode, Speed, Adelay, Amotion,Dmotion,Drop1id,Drop1per, Drop2id,Drop2per, Drop3id,Drop3per, Drop4id,Drop4per, Drop5id,Drop5per, Drop6id,Drop6per, Drop7id,Drop7per, Drop8id,Drop8per, Item1, Item2, MEXP, ExpPer, MVP1id, MVP1per,MVP2id, MVP2per,MVP3id, MVP3per,mutation count,mutation strength
diff --git a/db/mob_skill_db.txt b/db/mob_skill_db.txt
index 714f9aed..362e73b5 100644
--- a/db/mob_skill_db.txt
+++ b/db/mob_skill_db.txt
@@ -77,11 +77,14 @@
1049,Bee@NPC_SELFDESTRUCTION,attack,175,1,1000,0,500,yes,self,notintown,0,30,,,,,
// Reaper Quest mob abilities
-1111,Reaper@NPC_SUMMONSLAVE_scytheX1,attack,198,1,5000,1000,10000,no,self,slavelt,1,1112,,,,,
-1111,Reaper@NPC_SUMMONSLAVE_scytheX2,attack,198,2,3000,1000,15000,no,self,slavelt,3,1112,,,,,
-1111,Reaper@NPC_SUMMONSLAVE_scytheX4,attack,198,4,1000,1000,20000,no,self,myhpltmaxrate,50,1112,,,,,
+//1111,Reaper@NPC_SUMMONSLAVE_scytheX1,attack,198,1,5000,1000,10000,no,self,slavelt,1,1112,,,,,
+//1111,Reaper@NPC_SUMMONSLAVE_scytheX2,attack,198,2,3000,1000,15000,no,self,slavelt,3,1112,,,,,
+//1111,Reaper@NPC_SUMMONSLAVE_scytheX4,attack,198,4,1000,1000,20000,no,self,myhpltmaxrate,50,1112,,,,,
1111,Reaper@NPC_SUMMONSLAVE_ballX1,any,198,1,8000,1000,5000,no,self,slavelt,5,1113,,,,,
-1111,Reaper@NPC_SUMMONSLAVE_ballX3,any,198,3,6000,1000,10000,no,self,myhpltmaxrate,60,1113,,,,,
-1111,Reaper@NPC_SUMMONSLAVE_ballX9,any,198,9,4000,1000,15000,no,self,myhpltmaxrate,20,1113,,,,,
-1111,Reaper@AL_TELEPORT,attack,28,2,3500,500,5000,yes,self,always,,,,,,,
+//1111,Reaper@NPC_SUMMONSLAVE_ballX3,any,198,3,6000,1000,10000,no,self,myhpltmaxrate,60,1113,,,,,
+//1111,Reaper@NPC_SUMMONSLAVE_ballX9,any,198,9,4000,1000,15000,no,self,myhpltmaxrate,20,1113,,,,,
+//1111,Reaper@AL_TELEPORT,attack,28,2,3500,500,5000,yes,self,always,,,,,,,
1113,BallLightning@NPC_SELFDESTRUCTION,attack,175,1,10000,100,500,yes,self,notintown,0,30,,,,,
+
+
+1999,Dummy@AL_HEAL,any,30,100,100,2500,2500,no,self,myhpltmaxrate,50,,,,,,7
diff --git a/npc/001-1_Tulimshar/_warps.txt b/npc/001-1_Tulimshar/_warps.txt
index 5b6c9971..4e293337 100644
--- a/npc/001-1_Tulimshar/_warps.txt
+++ b/npc/001-1_Tulimshar/_warps.txt
@@ -5,4 +5,3 @@
001-1.gat,125,20 warp toCentralTulimshar 0,-1,021-1.gat,136,146
001-1.gat,32,71 warp ToInn -1,-1,001-2.gat,25,34
001-1.gat,75,41 warp ToHouse -1,-1,001-4.gat,26,33
-001-1.gat,27,71 warp ToInnTest -1,-1,027-2.gat,106,45
diff --git a/npc/001-1_Tulimshar/tester.txt b/npc/001-1_Tulimshar/tester.txt
index 76e1bca6..56408b9b 100644
--- a/npc/001-1_Tulimshar/tester.txt
+++ b/npc/001-1_Tulimshar/tester.txt
@@ -1,32 +1,25 @@
//testing server instant level and item NPC
-001-1.gat,25,30,0 script Tester 134,{
-
- mes "[Tester]";
- mes "\"You are testing this server. Would you like level 90 and equipment to help test?\"";
+001-1.gat,21,25,0 script Mr. Invisible#todebug 127,{
+L_Debug:
+ mes "[Mr. Invisible]";
+ mes "\"Do you want to go to the debug room?\"";
menu
- "Yes.", L_Yes,
- "No.", L_No;
- close;
-
-L_Yes:
- set baselevel, 90;
- getitem "WarlordHelmet", 1;
- getitem "WarlordPlate", 1;
- getitem "JeansChaps", 1;
- getitem "LeatherGloves", 1;
- getitem "FurBoots", 1;
- getitem "SteelShield", 1;
- getitem "Setzer", 1;
- getitem "ForestBow", 1;
- getitem "IronArrow", 2000;
- mes "[Tester]";
- mes "\"Here you go! Enjoy your testing experience.\"";
+ "Send me there right away!", L_Go,
+ "Debug room? What's that?", L_Explain,
+ "No way, I'm staying right here.", -;
+ mes "[Mr. Invisible]";
+ mes "\"If you want to go later on just talk to me again.\"";
close;
-L_No:
- mes "[Tester]";
- mes "\"Okay.\"";
+L_Go:
+ warp "debugroom.gat",25,25;
+ mes "Welcome to the dbug room. Help test everything!";
close;
-}
+L_Explain:
+ mes "[Mr. Invisible]";
+ mes "\"Its a room full of de bugs.\"";
+ next;
+ goto L_Debug;
+} \ No newline at end of file
diff --git a/npc/009-1_Hurnscald/_warps.txt b/npc/009-1_Hurnscald/_warps.txt
index a41c63a4..4d69f6fa 100644
--- a/npc/009-1_Hurnscald/_warps.txt
+++ b/npc/009-1_Hurnscald/_warps.txt
@@ -1,13 +1,14 @@
-// 009-1 Hurnscald warps
-
-009-1.gat,49,55 warp HurnscaldSouthGate 2,-1,008-1.gat,78,82
-009-1.gat,97,36 warp HurnscaldEastGate -1,0,008-1.gat,129,60
-009-1.gat,35,30 warp ToInn -1,-1,009-2.gat,50,55
-009-1.gat,58,46 warp ToGeneralStore -1,-1,009-2.gat,27,105
-009-1.gat,59,33 warp ToArcherShop -1,-1,009-2.gat,95,29
-009-1.gat,71,30 warp ToPotionShop -1,-1,009-2.gat,130,25
-009-1.gat,80,31 warp ToHospital -1,-1,009-2.gat,149,66
-009-1.gat,72,44 warp ToMayor -1,-1,009-2.gat,113,77
-009-1.gat,91,46 warp ToBlacksmith -1,-1,009-2.gat,181,66
-009-1.gat,24,36 warp HurnscaldWestGate -1,1,008-1.gat,53,61
-009-1.gat,49,24 warp HurnscaldNorthGate 2,-1,008-1.gat,78,48
+// 009-1 Hurnscald warps
+
+009-1.gat,49,55 warp HurnscaldSouthGate 2,-1,008-1.gat,78,82
+009-1.gat,97,36 warp HurnscaldEastGate -1,0,008-1.gat,129,60
+009-1.gat,35,30 warp ToInn -1,-1,009-2.gat,50,55
+009-1.gat,58,46 warp ToGeneralStore -1,-1,009-2.gat,27,105
+009-1.gat,59,33 warp ToArcherShop -1,-1,009-2.gat,95,29
+009-1.gat,71,30 warp ToPotionShop -1,-1,009-2.gat,130,25
+009-1.gat,80,31 warp ToHospital -1,-1,009-2.gat,149,66
+009-1.gat,72,44 warp ToMayor -1,-1,009-2.gat,114,77
+009-1.gat,90,46 warp ToBlacksmithL -1,-1,009-2.gat,181,66
+009-1.gat,91,46 warp ToBlacksmithR -1,-1,009-2.gat,182,66
+009-1.gat,24,36 warp HurnscaldWestGate -1,1,008-1.gat,53,61
+009-1.gat,49,24 warp HurnscaldNorthGate 2,-1,008-1.gat,78,48
diff --git a/npc/009-2_Hurnscald/_warps.txt b/npc/009-2_Hurnscald/_warps.txt
index bb75379b..17c8d7ea 100644
--- a/npc/009-2_Hurnscald/_warps.txt
+++ b/npc/009-2_Hurnscald/_warps.txt
@@ -1,20 +1,21 @@
-// 009-2 Hurnscald warps
-
-009-2.gat,75,23 warp To1stFloor 0,-1,009-2.gat,73,46
-009-2.gat,95,30 warp ToOutdoor -1,-1,009-1.gat,59,34
-009-2.gat,130,26 warp ToOutdoor -1,-1,009-1.gat,71,31
-009-2.gat,144,26 warp To2ndFloor 0,-1,009-2.gat,143,44
-009-2.gat,144,42 warp To3rdFloor 0,-1,009-2.gat,143,24
-009-2.gat,155,47 warp To1stFloor 0,-1,009-2.gat,154,63
-009-2.gat,114,46 warp To1stFloor 0,-1,009-2.gat,113,69
-009-2.gat,50,55 warp ToOutdoor -1,-1,009-1.gat,35,31
-009-2.gat,74,53 warp ToCellar -1,-1,009-2.gat,143,81
-009-2.gat,74,45 warp To2ndFloor 0,-1,009-2.gat,74,23
-009-2.gat,114,78 warp ToOutdoor 0,-1,009-1.gat,72,45
-009-2.gat,114,68 warp To2ndFloor 0,-1,009-2.gat,113,46
-009-2.gat,149,67 warp ToOutdoor -1,-1,009-1.gat,80,32
-009-2.gat,143,79 warp To1stFloor -1,-1,009-2.gat,74,52
-009-2.gat,155,62 warp To2ndFloor 0,-1,009-2.gat,154,46
-009-2.gat,182,67 warp ToOutdoor 0,-1,009-1.gat,91,47
-009-2.gat,147,89 warp ToCaveBeneathHurnscald -1,-1,009-3.gat,173,22
-009-2.gat,27,106 warp ToOutdoor -1,-1,009-1.gat,58,47
+// 009-2 Hurnscald warps
+
+009-2.gat,75,23 warp To1stFloor 0,-1,009-2.gat,73,46
+009-2.gat,95,30 warp ToOutdoor -1,-1,009-1.gat,59,34
+009-2.gat,130,26 warp ToOutdoor -1,-1,009-1.gat,71,31
+009-2.gat,144,26 warp To2ndFloor 0,-1,009-2.gat,143,44
+009-2.gat,144,42 warp To3rdFloor 0,-1,009-2.gat,143,24
+009-2.gat,155,47 warp To1stFloor 0,-1,009-2.gat,154,63
+009-2.gat,114,46 warp To1stFloor 0,-1,009-2.gat,113,69
+009-2.gat,50,55 warp ToOutdoor -1,-1,009-1.gat,35,31
+009-2.gat,74,53 warp ToCellar -1,-1,009-2.gat,143,81
+009-2.gat,74,45 warp To2ndFloor 0,-1,009-2.gat,74,23
+009-2.gat,114,78 warp ToOutdoor 0,-1,009-1.gat,72,45
+009-2.gat,114,68 warp To2ndFloor 0,-1,009-2.gat,113,46
+009-2.gat,149,67 warp ToOutdoor -1,-1,009-1.gat,80,32
+009-2.gat,143,79 warp To1stFloor -1,-1,009-2.gat,74,52
+009-2.gat,155,62 warp To2ndFloor 0,-1,009-2.gat,154,46
+009-2.gat,181,67 warp ToOutdoor -1,-1,009-1.gat,90,47
+009-2.gat,182,67 warp ToOutdoor -1,-1,009-1.gat,91,47
+009-2.gat,147,89 warp ToCaveBeneathHurnscald -1,-1,009-3.gat,173,22
+009-2.gat,27,106 warp ToOutdoor -1,-1,009-1.gat,58,47
diff --git a/npc/009-2_Hurnscald/airlia.txt b/npc/009-2_Hurnscald/airlia.txt
index bc1bd1f4..09900238 100644
--- a/npc/009-2_Hurnscald/airlia.txt
+++ b/npc/009-2_Hurnscald/airlia.txt
@@ -99,9 +99,15 @@ L_Airlia_intro:
mes "\"My poor father, doomed to that awful cemetery.\"";
next;
- if (QUEST_Graveyard_Caretaker == @Q_STATUS_HAS_NO_NEW_LETTER)
- menu
- "...", -;
+ // CASE REMOVED:
+ // This step is pointless and just forces the player to make a selection that doesn't effect anything.
+ // ALSO it misses the case where QUEST_Graveyard_Caretaker == 3, in this case it proceeds to the message without wasting player clicks
+ // Removing this check will make execution the same for QUEST_Graveyard_Caretaker == 3 and QUEST_Graveyard_Caretaker == 4
+ // If for some reason this is desireable, uncomment it and make sure to catch the extra case mentioned
+ //
+ //if (QUEST_Graveyard_Caretaker == @Q_STATUS_HAS_NO_NEW_LETTER)
+ // menu
+ // "...", -;
if (QUEST_Graveyard_Caretaker == @Q_STATUS_HAS_NEW_LETTER)
menu
@@ -166,17 +172,40 @@ L_Airlia_intro_proof:
L_Fetch:
mes "[Airlia]";
mes "\"Thank you for helping my father.\"";
- next;
-
- if (QUEST_Airlia < @Q_STATUS_INITIAL_FETCH_REWARDED)
+ next;
+
+ // Make sure to check if the player has a letter to deliver.
+ // If the check is not made then there is a bug, where the player
+ // has a letter but has not completed the initial fetch
+ // and is prevented from turing in the letter until the fetch is completed.
+ //
+ if (QUEST_Graveyard_Caretaker < @Q_STATUS_HAS_NEW_LETTER)
menu
"You are welcome.", -,
"I have collected the " + @FETCH_AMOUNT_INITIAL + " [" + getitemname(@FETCH_LABEL_INITIAL$) + "]s.", L_Fetch_initial_reward;
- if (QUEST_Airlia == @Q_STATUS_INITIAL_FETCH_REWARDED)
+ if (QUEST_Graveyard_Caretaker == @Q_STATUS_HAS_NEW_LETTER)
menu
"You are welcome.", -,
- "I have collected the " + @FETCH_AMOUNT + " [" + getitemname(@FETCH_LABEL$) + "]s.", L_Fetch_later_rewards;
+ "I have another letter from your father.", L_Caretaker_later_rewards,
+ "I have collected the " + @FETCH_AMOUNT_INITIAL + " [" + getitemname(@FETCH_LABEL_INITIAL$) + "]s.", L_Fetch_initial_reward;
+
+ // The following checks are REDUNDANT
+ // The only way to get to this lable is after a check for QUEST_Airlia == @Q_STATUS_HELP_AIRLIA
+ // Incase you weren't paying attention: @Q_STATUS_HELP_AIRLIA = 1 < @Q_STATUS_INITIAL_FETCH_REWARDED
+ // Note: proper handling of the first case is done above.
+ // The second case never gets executed anyway and not handled.
+ //
+ //if (QUEST_Airlia < @Q_STATUS_INITIAL_FETCH_REWARDED)
+ // menu
+ // "You are welcome.", -,
+ // "I have collected the " + @FETCH_AMOUNT_INITIAL + " [" + getitemname(@FETCH_LABEL_INITIAL$) + "]s.", L_Fetch_initial_reward;
+ //
+ //if (QUEST_Airlia == @Q_STATUS_INITIAL_FETCH_REWARDED)
+ // menu
+ // "You are welcome.", -,
+ // "I have collected the " + @FETCH_AMOUNT + " [" + getitemname(@FETCH_LABEL$) + "]s.", L_Fetch_later_rewards;
+
close;
L_Fetch_initial_reward:
@@ -226,10 +255,12 @@ L_Rewarded:
if (QUEST_Graveyard_Caretaker < @Q_STATUS_HAS_NEW_LETTER)
menu
+ "You are welcome.", -,
"I have collected the " + @FETCH_AMOUNT + " [" + getitemname(@FETCH_LABEL$) + "]s.", L_Fetch_later_rewards;
if (QUEST_Graveyard_Caretaker == @Q_STATUS_HAS_NEW_LETTER)
menu
+ "You are welcome.", -,
"I have another letter from your father.", L_Caretaker_later_rewards,
"I have collected the " + @FETCH_AMOUNT + " [" + getitemname(@FETCH_LABEL$) + "]s.", L_Fetch_later_rewards;
diff --git a/npc/011-3_Hermits_cave/_warps.txt b/npc/011-3_Hermits_cave/_warps.txt
index be9b6a83..b2efd78b 100644
--- a/npc/011-3_Hermits_cave/_warps.txt
+++ b/npc/011-3_Hermits_cave/_warps.txt
@@ -1,3 +1,3 @@
-// 011-3 Hermit's cave warps
-
-011-3.gat,31,21 warp ToLakeCave -1,-1,011-4.gat,72,11
+// 011-3 Hermit's cave warps
+
+011-3.gat,31,21 warp ToLakeCave -1,-1,011-4.gat,72,10
diff --git a/npc/011-4_Lake_cave/_warps.txt b/npc/011-4_Lake_cave/_warps.txt
index e0fe5a00..6d255a4d 100644
--- a/npc/011-4_Lake_cave/_warps.txt
+++ b/npc/011-4_Lake_cave/_warps.txt
@@ -1,4 +1,4 @@
-// 011-4 Lake cave warps
-
-011-4.gat,73,8 warp ToHermitsCave 0,-1,011-3.gat,31,24
-011-4.gat,129,86 warp ToCaveBeneathHurnscald -1,-1,009-3.gat,21,55
+// 011-4 Lake cave warps
+
+011-4.gat,73,8 warp ToHermitsCave 0,-1,011-3.gat,31,23
+011-4.gat,129,86 warp ToCaveBeneathHurnscald -1,-1,009-3.gat,21,55
diff --git a/npc/027-1_Graveyard/golbenez.txt b/npc/027-1_Graveyard/golbenez.txt
index c74c9827..3e46494b 100644
--- a/npc/027-1_Graveyard/golbenez.txt
+++ b/npc/027-1_Graveyard/golbenez.txt
@@ -1,51 +1,51 @@
-//
-
-027-1.gat,68,89,0 script #Golbenez#_M 204,{
- if ($Golbenez_Inn_Cost >= 500000000) goto Golbenez_Inn_Enough;
-
- mes "[Voice]";
- mes "\"Mortal! I am Golbenez! I have broken through the barriers of space and time!\"";
- next;
- mes "\"For eons I've traveled through existence, tapping powers the living shall never touch. I now offer my powers for your enjoyment. In your world, places of leisure bring a desirable break from the threats of life. I shall create such a place. This place will be free from the threats found on your world as well as mine.\"";
- next;
- mes "\"It is difficult to create portals from my realm to yours. It is also difficult to create dimensions isolated from the threats that may seek to do you harm. For this reason I demand a hefty fee. For 500 million of your gold pieces I will create this place. This need not come just from you, but it must be delivered from the people of your world to me.\"";
- next;
- mes "\"So far, you have brought me " + Golbenez_Inn_Cost + " gold pieces. The people of your world have brought me " + $Golbenez_Inn_Cost + " gold pieces. How much would you like to give?\"";
-
- set @mult, 1;
- menu
- "I'd like to give a little.", Golbenez_Little,
- "I'd like to give thousands.", Golbenez_Thousands,
- "Nevermind.", Golbenez_Nevermind;
-
-
-Golbenez_Thousands:
- set @mult, 1000;
-
-Golbenez_Little:
- input @Give;
-
- set @Give, @Give * @mult;
-
- if (@Give <= 0) close;
- if (zeny < @Give) goto Golbenez_Inn_NotEnoughZeny;
- set Golbenez_Inn_Cost, Golbenez_Inn_Cost + @Give;
- set $Golbenez_Inn_Cost, $Golbenez_Inn_Cost + @Give;
- set zeny, zeny - @Give;
- close;
-
-Golbenez_Inn_NotEnoughZeny:
- mes "[Voice]";
- mes "\"You don't have as much as you say you do. Come back when you can give the gold pieces you say you can.\"";
- close;
-
-Golbenez_Nevermind:
- mes "[Voice]";
- mes "\"That's too bad.\"";
- close;
-
-Golbenez_Inn_Enough:
- mes "[Voice]";
- mes "\"I now have enough to create the place of leisure. Once I have anchored it to this world, you will know.\"";
- close;
-}
+//
+
+027-1.gat,68,89,0 script #Golbenez#_M 307,{
+ if ($Golbenez_Inn_Cost >= 500000000) goto Golbenez_Inn_Enough;
+
+ mes "[Voice]";
+ mes "\"Mortal! I am Golbenez! I have broken through the barriers of space and time!\"";
+ next;
+ mes "\"For eons I've traveled through existence, tapping powers the living shall never touch. I now offer my powers for your enjoyment. In your world, places of leisure bring a desirable break from the threats of life. I shall create such a place. This place will be free from the threats found on your world as well as mine.\"";
+ next;
+ mes "\"It is difficult to create portals from my realm to yours. It is also difficult to create dimensions isolated from the threats that may seek to do you harm. For this reason I demand a hefty fee. For 500 million of your gold pieces I will create this place. This need not come just from you, but it must be delivered from the people of your world to me.\"";
+ next;
+ mes "\"So far, you have brought me " + Golbenez_Inn_Cost + " gold pieces. The people of your world have brought me " + $Golbenez_Inn_Cost + " gold pieces. How much would you like to give?\"";
+
+ set @mult, 1;
+ menu
+ "I'd like to give a little.", Golbenez_Little,
+ "I'd like to give thousands.", Golbenez_Thousands,
+ "Nevermind.", Golbenez_Nevermind;
+
+
+Golbenez_Thousands:
+ set @mult, 1000;
+
+Golbenez_Little:
+ input @Give;
+
+ set @Give, @Give * @mult;
+
+ if (@Give <= 0) close;
+ if (zeny < @Give) goto Golbenez_Inn_NotEnoughZeny;
+ set Golbenez_Inn_Cost, Golbenez_Inn_Cost + @Give;
+ set $Golbenez_Inn_Cost, $Golbenez_Inn_Cost + @Give;
+ set zeny, zeny - @Give;
+ close;
+
+Golbenez_Inn_NotEnoughZeny:
+ mes "[Voice]";
+ mes "\"You don't have as much as you say you do. Come back when you can give the gold pieces you say you can.\"";
+ close;
+
+Golbenez_Nevermind:
+ mes "[Voice]";
+ mes "\"That's too bad.\"";
+ close;
+
+Golbenez_Inn_Enough:
+ mes "[Voice]";
+ mes "\"I now have enough to create the place of leisure. Once I have anchored it to this world, you will know.\"";
+ close;
+}
diff --git a/npc/027-2_Caretakers_House/_import.txt b/npc/027-2_Caretakers_House/_import.txt
index cc783991..e288d6cb 100644
--- a/npc/027-2_Caretakers_House/_import.txt
+++ b/npc/027-2_Caretakers_House/_import.txt
@@ -4,4 +4,4 @@ npc: npc/027-2_Caretakers_House/_warps.txt
npc: npc/027-2_Caretakers_House/caretaker.txt
npc: npc/027-2_Caretakers_House/alacrius.txt
npc: npc/027-2_Caretakers_House/gy_inn_shops.txt
-npc: npc/027-2_Caretakers_House/testnpcs.txt
+npc: npc/027-2_Caretakers_House/testnpcs.txt \ No newline at end of file
diff --git a/npc/027-2_Caretakers_House/_warps.txt b/npc/027-2_Caretakers_House/_warps.txt
index bf9c47ac..c1bfeb92 100644
--- a/npc/027-2_Caretakers_House/_warps.txt
+++ b/npc/027-2_Caretakers_House/_warps.txt
@@ -8,7 +8,9 @@
027-2.gat,127,35,0 warp ToInnSecondFloorL -1,-1,027-2.gat,75,92
027-2.gat,128,35,0 warp ToInnSecondFloorR -1,-1,027-2.gat,76,92
-027-2.gat,106,46,0 warp ToTulimshar 1,-1,001-1.gat,27,72
+027-2.gat,106,46,0 warp GYInnExit 1,-1,debugroom.gat,30,27
+
+027-2.gat,111,37,0 warp ToReaper 1,-1,027-4.gat,40,38
diff --git a/npc/027-2_Caretakers_House/alacrius.txt b/npc/027-2_Caretakers_House/alacrius.txt
index a48a64aa..eee471ad 100755
--- a/npc/027-2_Caretakers_House/alacrius.txt
+++ b/npc/027-2_Caretakers_House/alacrius.txt
@@ -1,117 +1,40 @@
// Starts the reaper quest
-// NOTE: just a copy paste of kastor's script. It hasnt been tested and needs a major reworking.
-
027-2.gat,104,39,0 script Alacrius 313,{
- if ($@FIGHT_ALACRIUS_STATUS != 0) goto L_Enjoy;
-
-
- mes "[ALACRIUS]";
- mes "\"Hello, I'm Alacrius. \"";
- next;
- mes "[ALACRIUS]";
- mes "\"Very long time ago, i figured a way to cheat the death and the limits of time and space. You may think it actually is evil, but I made it because of true love... \"";
- next;
- mes "[ALACRIUS]";
- mes "\"The reaper kidnapped my beloved wife, and took her to the underworld, so I had to find a way to stop him, and as time went by, I became what you can see now... But if you dare to cheat death, time and space you'll have to pay a high price... \"";
- next;
-
- mes "[ALACRIUS]";
- mes "\"Being away from the time and space doesn't allow me to try to save my beloved wife... I need your help, do you think you have what it takes to handle the most powerful monsters over the world of Mana? \"";
- next;
-
- menu
- "Let's go",L_PLAY_OK,
- "No thank you",-;
- close;
-
-
-L_PLAY_OK:
-
- if ($@FIGHT_ALACRIUS_STATUS != 0) goto L_AlreadyStarted;
- set $@FIGHT_ALACRIUS_STATUS, 1;
- set $@MO_REAPER, 0;
- startnpctimer;
- set @PRIZE, 1;
-
- goto L_Exit;
-
-L_Enjoy:
- if ($@MO_REAPER == 1) goto L_AllDead;
- mes "[ALACRIUS]";
- mes "\"...Please hurry up, the time is running...\"";
- goto L_Exit;
-
-L_AlreadyStarted:
- mes "[ALACRIUS]";
- mes "\"The Reaper is alive.\"";
- goto L_Exit;
-
-L_Exit:
- close;
- end;
-
-
-// Time to fight
-OnTimer10000:
-
- monster "027-2.gat",0,0,"Hunter Quest1",1003,1,"Alacrius::OnDeadReaper";
- monster "027-2.gat",0,0,"Hunter Quest2",1002,6,"Alacrius::OnDeadLost";
-
- end;
-
-OnDeadReaper:
- set $@MO_REAPER, $@MO_REAPER + 1;
- killmonster "027-2.gat","All";
- end;
-
-OnDeadLost:
- set $@MO_LOST, $@MO_LOST + 1;
- end;
-
-
-OnTimer120000:
-
- set $@MO_REAPER,0;
- set $@FIGHT_ALACRIUS_STATUS, 0;
- killmonster "027-2.gat","All";
- stopnpctimer;
- setnpctimer 0;
- set @PRIZE, 0;
- npctalk "Oh my beloved wife, you could not have been rescued! I will have to purge my mistakes again...";
- npctalk "Please, help my beloved wife!!";
-
- end;
-
-OnDead:
- end;
-
-
-L_AllDead:
- if(@PRIZE == 0) goto L_NOHERO;
-
- getinventorylist;
- if (@inventorylist_count == 100) goto L_TooMany;
- getitem "CasinoCoins", 1;
-
- mes "[ALACRIUS]";
- mes "Thank you very much, you saved my love!! Here you are, a prize according to the dangers you've been exposed to.";
- set @PRIZE , 0;
- set $@MO_REAPER,0;
- close;
- end;
-
-L_TooMany:
- mes "[ALACRIUS]";
- mes "You have no room for the reward.";
- close;
-
-L_NOHERO:
- mes "[ALACRIUS]";
- mes "Sorry, but you didn't save my love... Try it again when you're ready...";
- close;
- end;
-OnInit:
- initnpctimer;
- stopnpctimer;
-} \ No newline at end of file
+ // if started, go to started
+ // if fail go to failed
+ // if complete go to complete
+ // if cooldown go to cooldown
+
+// start quest section
+ mes "hi want to fight the reaper?";
+ menu
+ "Let's go",L_START,
+ "No thank you",-;
+ close;
+
+L_START:
+ monster "027-4.gat",40,55,"Reaper Quest",1111,1,"Reaper::OnDead";
+ enablenpc "#gatecontrol";
+ enablenpc "#closedgate";
+ disablenpc "#opengate";
+// Open doors to reaper level
+ warp "027-3.gat",41,70;
+ initnpctimer;
+ close;
+
+// 5 min mark for testing purposes, up it when finished.
+OnTimer300000:
+ mapwarp "027-3.gat", "027-2.gat",104,41;
+ mapwarp "027-4.gat", "027-2.gat",104,41;
+ killmonsterall "027-4.gat";
+ end;
+OnTimer301000:
+ npctalk "You have failed the mission";
+ end;
+
+// cooldown before the quest can be restarted
+OnTimer360000:
+ // set quest var
+ end;
+}
diff --git a/npc/027-2_Caretakers_House/alacrius2.txt b/npc/027-2_Caretakers_House/alacrius2.txt
new file mode 100755
index 00000000..70cf0c42
--- /dev/null
+++ b/npc/027-2_Caretakers_House/alacrius2.txt
@@ -0,0 +1,113 @@
+// Starts the reaper quest
+
+027-2.gat,104,39,0 script Alacrius 313,{
+ if ($@FIGHT_ALACRIUS_STATUS != 0) goto L_Enjoy;
+
+
+ mes "[ALACRIUS]";
+ mes "\"Hello, I'm Alacrius. \"";
+ next;
+ mes "[ALACRIUS]";
+ mes "\"Very long time ago, i figured a way to cheat the death and the limits of time and space. You may think it actually is evil, but I made it because of true love... \"";
+ next;
+ mes "[ALACRIUS]";
+ mes "\"The reaper kidnapped my beloved wife, and took her to the underworld, so I had to find a way to stop him, and as time went by, I became what you can see now... But if you dare to cheat death, time and space you'll have to pay a high price... \"";
+ next;
+
+ mes "[ALACRIUS]";
+ mes "\"Being away from the time and space doesn't allow me to try to save my beloved wife... I need your help, do you think you have what it takes to handle the most powerful monsters over the world of Mana? \"";
+ next;
+
+ menu
+ "Let's go",L_PLAY_OK,
+ "No thank you",-;
+ close;
+
+
+L_PLAY_OK:
+
+ if ($@FIGHT_ALACRIUS_STATUS != 0) goto L_AlreadyStarted;
+ set $@FIGHT_ALACRIUS_STATUS, 1;
+ set $@MO_REAPER, 0;
+ startnpctimer;
+ set @PRIZE, 1;
+
+ goto L_Exit;
+
+L_Enjoy:
+ if ($@MO_REAPER == 1) goto L_AllDead;
+ mes "[ALACRIUS]";
+ mes "\"...Please hurry up, the time is running...\"";
+ goto L_Exit;
+
+L_AlreadyStarted:
+ mes "[ALACRIUS]";
+ mes "\"The Reaper is alive.\"";
+ goto L_Exit;
+
+L_Exit:
+ close;
+ end;
+
+
+// Time to fight
+OnTimer10000:
+
+ monster "027-2.gat",0,0,"Reaper Quest",1111,1,"Alacrius::OnDeadReaper";
+ end;
+
+OnDeadReaper:
+ set $@MO_REAPER, $@MO_REAPER + 1;
+ killmonster "027-2.gat","All";
+ end;
+
+OnDeadLost:
+ set $@MO_LOST, $@MO_LOST + 1;
+ end;
+
+
+OnTimer120000:
+
+ set $@MO_REAPER,0;
+ set $@FIGHT_ALACRIUS_STATUS, 0;
+ killmonster "027-2.gat","All";
+ stopnpctimer;
+ setnpctimer 0;
+ set @PRIZE, 0;
+ npctalk "Oh my beloved wife, you could not have been rescued! I will have to purge my mistakes again...";
+ npctalk "Please, help my beloved wife!!";
+
+ end;
+
+OnDead:
+ end;
+
+
+L_AllDead:
+ if(@PRIZE == 0) goto L_NOHERO;
+
+ getinventorylist;
+ if (@inventorylist_count == 100) goto L_TooMany;
+ getitem "CasinoCoins", 1;
+
+ mes "[ALACRIUS]";
+ mes "Thank you very much, you saved my love!! Here you are, a prize according to the dangers you've been exposed to.";
+ set @PRIZE , 0;
+ set $@MO_REAPER,0;
+ close;
+ end;
+
+L_TooMany:
+ mes "[ALACRIUS]";
+ mes "You have no room for the reward.";
+ close;
+
+L_NOHERO:
+ mes "[ALACRIUS]";
+ mes "Sorry, but you didn't save my love... Try it again when you're ready...";
+ close;
+ end;
+OnInit:
+ initnpctimer;
+ stopnpctimer;
+} \ No newline at end of file
diff --git a/npc/027-3_Crypt/_import.txt b/npc/027-3_Crypt/_import.txt
index e6c51628..627fe137 100755
--- a/npc/027-3_Crypt/_import.txt
+++ b/npc/027-3_Crypt/_import.txt
@@ -1,3 +1,7 @@
-map: 027-3.gat
-npc: npc/027-3_Crypt/_mobs.txt
-npc: npc/027-3_Crypt/_warps.txt
+map: 027-3.gat
+npc: npc/027-3_Crypt/_mobs.txt
+npc: npc/027-3_Crypt/_warps.txt
+npc: npc/027-3_Crypt/mapflags.txt
+npc: npc/027-3_Crypt/entrance.txt
+npc: npc/027-3_Crypt/caskets.txt
+npc: npc/027-3_Crypt/test.txt
diff --git a/npc/027-3_Crypt/_mobs.txt b/npc/027-3_Crypt/_mobs.txt
index 29ff7685..2e423ee7 100755
--- a/npc/027-3_Crypt/_mobs.txt
+++ b/npc/027-3_Crypt/_mobs.txt
@@ -1,3 +1,3 @@
// 027-3 Crypt mobs
-027-3.gat,40,38,0,0 monster TheLost 1063,1,8000,2000,0
+//027-3.gat,40,38,0,0 monster TheLost 1063,1,8000,2000,0
diff --git a/npc/027-3_Crypt/_warps.txt b/npc/027-3_Crypt/_warps.txt
index 745a75c2..295215ca 100755
--- a/npc/027-3_Crypt/_warps.txt
+++ b/npc/027-3_Crypt/_warps.txt
@@ -2,7 +2,4 @@
027-3.gat,126,44,0 warp ToReaperL -1,-1,027-4.gat,36,21
027-3.gat,127,44,0 warp ToReaperM -1,-1,027-4.gat,37,21
-027-3.gat,128,44,0 warp ToReaperR -1,-1,027-4.gat,38,21
-
-// Temp
-027-3.gat,41,75,0 warp ToInnFirstFloor 4,-1,027-2.gat,106,45
+027-3.gat,128,44,0 warp ToReaperR -1,-1,027-4.gat,38,21 \ No newline at end of file
diff --git a/npc/027-3_Crypt/caskets.txt b/npc/027-3_Crypt/caskets.txt
new file mode 100755
index 00000000..c7ae44bd
--- /dev/null
+++ b/npc/027-3_Crypt/caskets.txt
@@ -0,0 +1,7 @@
+// Casket monster traps and key puzzle.
+027-3.gat,40,35,0 script #casket1 127,1,1{
+ heal 3,0;
+ specialeffect 301;
+ specialeffect 302;
+ end;
+} \ No newline at end of file
diff --git a/npc/027-3_Crypt/entrance.txt b/npc/027-3_Crypt/entrance.txt
new file mode 100755
index 00000000..f8da11b8
--- /dev/null
+++ b/npc/027-3_Crypt/entrance.txt
@@ -0,0 +1,41 @@
+// Effects for opening and closing the gate. Also set it so no new player can't be warped in once the gate is opened.
+
+027-3.gat,40,57,0 script #gatecontrol 127, 2, 1{
+ mes "Once you pass this point I cannot warp anyone else to help.";
+ mes "Are you sure you are ready to go?";
+ menu
+ "Let's go",L_BEGIN,
+ "No thank you",-;
+ warp "027-3.gat",40,60;
+ close;
+
+L_BEGIN:
+ disablenpc "#closedgate";
+ initnpctimer;
+ specialeffect 300;
+ // add stop alacrius warp flag to temp globals
+ close;
+
+OnTimer2000:
+ enablenpc "#opengate";
+ disablenpc "#gatecontrol";
+ end;
+}
+
+027-3.gat,40,59,0 script #closedgate 322,{
+ end;
+}
+027-3.gat,40,59,0 script #opengate 323,{
+ end;
+}
+
+
+// Effects for the exit.
+
+027-3.gat,40,78,0 script #cryptexit2 127, 3, 3{
+ mes "Unfortunately, once I bring you to this pocket";
+ mes "in time you cannot leave through its normal exit.";
+ mes "The only way to get out is to defeat the reaper";
+ mes "or die...";
+ close;
+} \ No newline at end of file
diff --git a/npc/027-3_Crypt/mapflags.txt b/npc/027-3_Crypt/mapflags.txt
new file mode 100755
index 00000000..533b7a6c
--- /dev/null
+++ b/npc/027-3_Crypt/mapflags.txt
@@ -0,0 +1 @@
+027-3.gat mapflag nosave 027-2,104,41;
diff --git a/npc/027-3_Crypt/test.txt b/npc/027-3_Crypt/test.txt
new file mode 100755
index 00000000..0f353a8d
--- /dev/null
+++ b/npc/027-3_Crypt/test.txt
@@ -0,0 +1,8 @@
+027-3.gat,40,25,0 script zombifier 200,1,1{
+ npctalk "If you die in the crypt, you are turned into a zombie";
+ end;
+OnPCDieEvent:
+ npctalk "The corpse of " + strcharinfo(0) + " has risen";
+ monster "027-3.gat",41,25,"Corpse",1036,1,"Reaper::OnAvenged";
+ end;
+}
diff --git a/npc/027-4_Reaper/_import.txt b/npc/027-4_Reaper/_import.txt
index 0670db1e..78db21ba 100755
--- a/npc/027-4_Reaper/_import.txt
+++ b/npc/027-4_Reaper/_import.txt
@@ -1,3 +1,5 @@
-map: 027-4.gat
-npc: npc/027-4_Reaper/_mobs.txt
-npc: npc/027-4_Reaper/_warps.txt
+map: 027-4.gat
+npc: npc/027-4_Reaper/_mobs.txt
+npc: npc/027-4_Reaper/_warps.txt
+npc: npc/027-4_Reaper/mapflags.txt
+npc: npc/027-4_Reaper/reaper_script.txt
diff --git a/npc/027-4_Reaper/_mobs.txt b/npc/027-4_Reaper/_mobs.txt
index b4a360fa..50c5d033 100755
--- a/npc/027-4_Reaper/_mobs.txt
+++ b/npc/027-4_Reaper/_mobs.txt
@@ -1,3 +1 @@
-// 027-4 Reaper mobs
-
-027-4.gat,40,38,0,0 monster Reaper 1111,1,8000,2000,0 \ No newline at end of file
+// 027-4 Reaper mobs
diff --git a/npc/027-4_Reaper/mapflags.txt b/npc/027-4_Reaper/mapflags.txt
new file mode 100755
index 00000000..791565cf
--- /dev/null
+++ b/npc/027-4_Reaper/mapflags.txt
@@ -0,0 +1 @@
+027-4.gat mapflag nosave 027-2,104,41;
diff --git a/npc/027-4_Reaper/reaper_script.txt b/npc/027-4_Reaper/reaper_script.txt
new file mode 100755
index 00000000..b09a2399
--- /dev/null
+++ b/npc/027-4_Reaper/reaper_script.txt
@@ -0,0 +1,15 @@
+// The scripts associated with the reaper mob summoned by Alacrius in the 027-2
+
+027-4.gat,0,0,0 script Reaper -1,{
+OnDead:
+ mes "you won!";
+ mapwarp "027-4.gat", "027-2.gat",104,41;
+ close;
+
+OnPCDieEvent:
+ // summon a zombie and give a message and sfx
+ end;
+OnAvenged:
+ // tell players your fallen comrad has been avenged
+ end;
+} \ No newline at end of file
diff --git a/npc/029-1_Candor/barrier.txt b/npc/029-1_Candor/barrier.txt
index cbbecaea..a5970bec 100644
--- a/npc/029-1_Candor/barrier.txt
+++ b/npc/029-1_Candor/barrier.txt
@@ -1,8 +1,8 @@
-029-1.gat,53,36,0 script #CandorBarrier 127,1,1,{
- if ($@FIGHT_CAVE_STATUS != 0) goto L_Block;
- warp "029-3.gat", 47, 22;
- end;
-
- L_Block:
- message strcharinfo(0), "Some force seems to be blocking you from entering.";
-}
+029-1.gat,53,36,0 script #CandorBarrier 127,1,1,{
+ if ($@FIGHT_CAVE_STATUS != 0) goto L_Block;
+ warp "029-3.gat", 46, 23;
+ end;
+
+ L_Block:
+ message strcharinfo(0), "Some force seems to be blocking you from entering.";
+}
diff --git a/npc/029-3_Fight_Cave/barrier.txt b/npc/029-3_Fight_Cave/barrier.txt
index 5afd8da9..85655adb 100644
--- a/npc/029-3_Fight_Cave/barrier.txt
+++ b/npc/029-3_Fight_Cave/barrier.txt
@@ -1,8 +1,8 @@
-029-3.gat,45,20,0 script #FightCaveBarrier 127,1,1,{
- if ($@FIGHT_CAVE_STATUS != 0) goto L_Block;
- warp "029-1.gat", 55, 38;
- end;
-
- L_Block:
- message strcharinfo(0), "Some force seems to be blocking you from exiting.";
-}
+029-3.gat,45,20,0 script #FightCaveBarrier 127,1,1,{
+ if ($@FIGHT_CAVE_STATUS != 0) goto L_Block;
+ warp "029-1.gat", 54, 39;
+ end;
+
+ L_Block:
+ message strcharinfo(0), "Some force seems to be blocking you from exiting.";
+}
diff --git a/npc/_import.txt b/npc/_import.txt
index ba724abc..083e2fbe 100644
--- a/npc/_import.txt
+++ b/npc/_import.txt
@@ -62,3 +62,4 @@ import: npc/028-3/_import.txt
import: npc/029-1_Candor/_import.txt
import: npc/029-3_Fight_Cave/_import.txt
import: npc/botcheck/_import.txt
+import: npc/debugroom/_import.txt
diff --git a/npc/debugroom/_import.txt b/npc/debugroom/_import.txt
new file mode 100755
index 00000000..f9fad285
--- /dev/null
+++ b/npc/debugroom/_import.txt
@@ -0,0 +1,6 @@
+map: debugroom.gat
+npc: npc/debugroom/_mobs.txt
+npc: npc/debugroom/_warps.txt
+npc: npc/debugroom/tester.txt
+npc: npc/debugroom/reaper-test.txt
+npc: npc/debugroom/weapon-test.txt \ No newline at end of file
diff --git a/npc/debugroom/_mobs.txt b/npc/debugroom/_mobs.txt
new file mode 100755
index 00000000..e69de29b
--- /dev/null
+++ b/npc/debugroom/_mobs.txt
diff --git a/npc/debugroom/_warps.txt b/npc/debugroom/_warps.txt
new file mode 100755
index 00000000..e69de29b
--- /dev/null
+++ b/npc/debugroom/_warps.txt
diff --git a/npc/debugroom/reaper-test.txt b/npc/debugroom/reaper-test.txt
new file mode 100755
index 00000000..162b3977
--- /dev/null
+++ b/npc/debugroom/reaper-test.txt
@@ -0,0 +1,43 @@
+//testing server instant level and item NPC
+
+debugroom.gat,30,25,0 script gy-inn-test 307,{
+
+ mes "[Tester]";
+ mes "\"This is to test out the reaper quest and the gy-inn. The recommended level for this quest is 95+ \"";
+ menu
+ "Spec me up to lvl95 with gear.", L_Spec,
+ "Take me to the graveyard inn.", L_Inn,
+ "Take me to the crypt.", L_Cryp,
+ "Take me to the reaper.", L_Reap,
+ "Nevemind.", L_Nvm;
+ close;
+
+L_Spec:
+ set baselevel, 90;
+ getitem "WarlordHelmet", 1;
+ getitem "WarlordPlate", 1;
+ getitem "JeansChaps", 1;
+ getitem "LeatherGloves", 1;
+ getitem "FurBoots", 1;
+ getitem "SteelShield", 1;
+ getitem "Setzer", 1;
+ getitem "ForestBow", 1;
+ getitem "IronArrow", 2000;
+ mes "[Tester]";
+ mes "\"Here you go! Enjoy your testing experience.\"";
+ close;
+L_Inn:
+ warp "027-2.gat",104,41;
+ close;
+L_Cryp:
+ warp "027-3.gat",41,70;
+ close;
+L_Reap:
+ monster "027-4.gat",40,55,"Reaper Quest",1111,1,"Reaper::OnDead";
+ warp "027-4.gat",40,30;
+ close;
+L_Nvm:
+ mes "[Tester]";
+ mes "\"Okay.\"";
+ close;
+}
diff --git a/npc/debugroom/tester.txt b/npc/debugroom/tester.txt
new file mode 100755
index 00000000..5efaf210
--- /dev/null
+++ b/npc/debugroom/tester.txt
@@ -0,0 +1,24 @@
+//testing server instant level and item NPC
+
+debugroom.gat,25,23,0 script Tester#Out 134,{
+
+ mes "[Tester]";
+ mes "\"Explenation.... \"";
+ menu
+ "Warp back to Tulimshar", L_Yes,
+ "Set save point here", L_Do_Save,
+ "Nevemind.", L_No;
+ close;
+
+
+L_Yes:
+ warp "001-1.gat",28,74;
+ close;
+L_Do_Save:
+ savepoint "debugroom.gat",25,25;
+ close;
+L_Nvm:
+ mes "[Tester]";
+ mes "\"Okay.\"";
+ close;
+}
diff --git a/npc/debugroom/weapon-test.txt b/npc/debugroom/weapon-test.txt
new file mode 100755
index 00000000..123edf97
--- /dev/null
+++ b/npc/debugroom/weapon-test.txt
@@ -0,0 +1,16 @@
+//testing server instant level and item NPC
+
+debugroom.gat,15,21,0 script WeaponsTest 114,{
+
+ mes "[Weapons Tester]";
+ mes "\"Explenation.... \"";
+ menu
+ "Creater test dummy", L_Yes,
+ "Nevemind.", -;
+ close;
+
+
+L_Yes:
+ monster "debugroom.gat",18,25,"Funny",1999,1,0;
+ close;
+}