summaryrefslogtreecommitdiff
path: root/npc
diff options
context:
space:
mode:
Diffstat (limited to 'npc')
-rw-r--r--npc/001-1_Tulimshar/_import.txt1
-rw-r--r--npc/001-1_Tulimshar/_warps.txt14
-rw-r--r--npc/001-1_Tulimshar/tester.txt25
-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.txt7
-rw-r--r--npc/027-2_Caretakers_House/_import.txt11
-rw-r--r--npc/027-2_Caretakers_House/_warps.txt21
-rwxr-xr-xnpc/027-2_Caretakers_House/alacrius.txt40
-rwxr-xr-xnpc/027-2_Caretakers_House/alacrius2.txt113
-rwxr-xr-xnpc/027-2_Caretakers_House/gy_inn_shops.txt35
-rwxr-xr-xnpc/027-2_Caretakers_House/testnpcs.txt74
-rwxr-xr-xnpc/027-3_Crypt/_import.txt7
-rwxr-xr-xnpc/027-3_Crypt/_mobs.txt3
-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.txt5
-rwxr-xr-xnpc/027-4_Reaper/_mobs.txt1
-rwxr-xr-xnpc/027-4_Reaper/_warps.txt5
-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.txt68
-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
35 files changed, 679 insertions, 71 deletions
diff --git a/npc/001-1_Tulimshar/_import.txt b/npc/001-1_Tulimshar/_import.txt
index b7ea36c1..ced4347d 100644
--- a/npc/001-1_Tulimshar/_import.txt
+++ b/npc/001-1_Tulimshar/_import.txt
@@ -21,5 +21,6 @@ npc: npc/001-1_Tulimshar/rewards_master.txt
npc: npc/001-1_Tulimshar/sandra.txt
npc: npc/001-1_Tulimshar/sarah.txt
npc: npc/001-1_Tulimshar/soul-menhir.txt
+npc: npc/001-1_Tulimshar/tester.txt
npc: npc/001-1_Tulimshar/trader.txt
npc: npc/001-1_Tulimshar/vincent.txt
diff --git a/npc/001-1_Tulimshar/_warps.txt b/npc/001-1_Tulimshar/_warps.txt
index e3778fff..4e293337 100644
--- a/npc/001-1_Tulimshar/_warps.txt
+++ b/npc/001-1_Tulimshar/_warps.txt
@@ -1,7 +1,7 @@
-// 001-1 Tulimshar warps
-
-001-1.gat,44,88 warp ToSandstorm 3,-1,002-1.gat,58,17
-001-1.gat,44,20 warp toCentralTulimshar 3,-1,021-1.gat,55,145
-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 Tulimshar warps
+
+001-1.gat,44,88 warp ToSandstorm 3,-1,002-1.gat,58,17
+001-1.gat,44,20 warp toCentralTulimshar 3,-1,021-1.gat,55,145
+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
diff --git a/npc/001-1_Tulimshar/tester.txt b/npc/001-1_Tulimshar/tester.txt
new file mode 100644
index 00000000..56408b9b
--- /dev/null
+++ b/npc/001-1_Tulimshar/tester.txt
@@ -0,0 +1,25 @@
+//testing server instant level and item NPC
+
+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
+ "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_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 7f1c1b2a..a6df0623 100644
--- a/npc/011-4_Lake_cave/_warps.txt
+++ b/npc/011-4_Lake_cave/_warps.txt
@@ -1,3 +1,9 @@
+<<<<<<< HEAD
+// 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
+=======
// 011-4 Lake cave warps
011-4.gat,73,8 warp ToHermitsCave 0,-1,011-3.gat,31,24
@@ -11,3 +17,4 @@
011-4.gat,62,86 warp warp -1,-1,011-6.gat,68,233
011-4.gat,32,5 warp warp 0,-1,011-6.gat,186,180
011-4.gat,45,118 warp warp -1,-1,011-6.gat,266,180
+>>>>>>> 1e1e26e1255a487a14ca99c60c3ab51ad3988f9b
diff --git a/npc/027-2_Caretakers_House/_import.txt b/npc/027-2_Caretakers_House/_import.txt
index 58d2b8c0..e288d6cb 100644
--- a/npc/027-2_Caretakers_House/_import.txt
+++ b/npc/027-2_Caretakers_House/_import.txt
@@ -1,4 +1,7 @@
-map: 027-2.gat
-npc: npc/027-2_Caretakers_House/_mobs.txt
-npc: npc/027-2_Caretakers_House/_warps.txt
-npc: npc/027-2_Caretakers_House/caretaker.txt
+map: 027-2.gat
+npc: npc/027-2_Caretakers_House/_mobs.txt
+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 \ 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 8b7af158..160e4dae 100644
--- a/npc/027-2_Caretakers_House/_warps.txt
+++ b/npc/027-2_Caretakers_House/_warps.txt
@@ -1,3 +1,24 @@
// 027-2 Caretaker's House warps
+<<<<<<< HEAD
+027-2.gat,25,32 warp toGraveyard -1,-1,027-1.gat,88,85
+
+
+
+// 027-2 Graveyard Inn 1rst floor Warps
+
+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 GYInnExit 1,-1,debugroom.gat,30,27
+
+027-2.gat,111,37,0 warp ToReaper 1,-1,027-4.gat,40,38
+
+
+
+// 027-2 Graveyard Inn 2nd floor Warps
+
+027-2.gat,75,93,0 warp ToInnFirstFloorL -1,-1,027-2.gat,127,36
+027-2.gat,76,93,0 warp ToInnFirstFloorR -1,-1,027-2.gat,128,36
+=======
027-2.gat,26,33 warp toGraveyard -1,-1,027-1.gat,88,85
+>>>>>>> 1e1e26e1255a487a14ca99c60c3ab51ad3988f9b
diff --git a/npc/027-2_Caretakers_House/alacrius.txt b/npc/027-2_Caretakers_House/alacrius.txt
new file mode 100755
index 00000000..eee471ad
--- /dev/null
+++ b/npc/027-2_Caretakers_House/alacrius.txt
@@ -0,0 +1,40 @@
+// Starts the reaper quest
+
+027-2.gat,104,39,0 script Alacrius 313,{
+ // 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-2_Caretakers_House/gy_inn_shops.txt b/npc/027-2_Caretakers_House/gy_inn_shops.txt
new file mode 100755
index 00000000..66050e9d
--- /dev/null
+++ b/npc/027-2_Caretakers_House/gy_inn_shops.txt
@@ -0,0 +1,35 @@
+// chef: function,
+// barmaid: function,
+// shopkeeper: multiples and function,
+// magic undead shop: function,
+// chief barman: function,
+// receptionist: function,
+// banker: function
+
+
+027-2.gat,113,28,0 shop Chef Skeleton 300,519:100
+027-2.gat,101,28,0 shop Barmaid 301,519:100,533:150,534:90,562:500,676:200
+027-2.gat,103,28,0 shop Shopkeeper 302,586:1000,524:1600,544:10000,632:10000,528:1000,735:1
+027-2.gat,107,28,0 shop Magic Undead Shop 304,501
+027-2.gat,117,28,0 shop Chief Barman 309,539:175,567:500,568:500
+
+// Inn
+027-2.gat,107,39,0 script Bloody Receptionist 320,{
+ set @npcName$, "Barbara Grey";
+ set @cost, 1000;
+
+ mes "[" + @npcName$ + "]";
+ mes "\"Don't be shy darling.";
+ mes "\"Come on in and have a nice long ... long slumber ...";
+ next;
+ callfunc "Inn";
+ close;
+}
+
+// Bank and Storage
+027-2.gat,119,31,0 script Undead Banker 321,{
+ set @npcName$, "J.P. Morbid";
+ callfunc "Banker";
+ close;
+}
+
diff --git a/npc/027-2_Caretakers_House/testnpcs.txt b/npc/027-2_Caretakers_House/testnpcs.txt
new file mode 100755
index 00000000..ffae6246
--- /dev/null
+++ b/npc/027-2_Caretakers_House/testnpcs.txt
@@ -0,0 +1,74 @@
+// Temporary placing of all non shop npcs
+// A proper break down of files will need to be done later
+
+// drunk lover: quest,
+// werewolf: gambling,
+// chef's helper: simple dialog,
+// horn mage: golbenez,
+// drunker: simple dialog,
+// barman: crafting related,
+// swordguy: weapon master,
+// ghost from dead drunk: simple dialog,
+// crying child: I don't know,
+// Innkeeper's ghost: quest,
+// evil guard: simple dialog,
+// hangman: quest,
+// headless: quest or simple dialog,
+// lightman: quest,
+
+
+027-2.gat,105,28,0 script Drunk Lover 303,{
+ end;
+}
+
+027-2.gat,109,28,0 script Werewolf 305,{
+ end;
+}
+
+027-2.gat,111,28,0 script Chef's helper 306,{
+ end;
+}
+
+027-2.gat,115,28,0 script Drunker 308,{
+ end;
+}
+
+027-2.gat,119,28,0 script Barman 310,{
+ end;
+}
+
+027-2.gat,117,31,0 script SwordGuy 311,{
+ end;
+}
+
+027-2.gat,101,31,0 script Ghost Drunker 312,{
+ end;
+}
+
+027-2.gat,103,31,0 script Golbenez 307,{
+ end;
+}
+
+027-2.gat,105,31,0 script Crying Child 314,{
+ end;
+}
+
+027-2.gat,107,31,0 script Innkeeper's Ghost 315,{
+ end;
+}
+
+027-2.gat,109,31,0 script Evil Guard 316,{
+ end;
+}
+
+027-2.gat,111,31,0 script Hanged Lover 317,{
+ end;
+}
+
+027-2.gat,113,31,0 script Headless Lover 318,{
+ end;
+}
+
+027-2.gat,115,31,0 script Lantern Man 319,{
+ end;
+}
diff --git a/npc/027-3_Crypt/_import.txt b/npc/027-3_Crypt/_import.txt
new file mode 100755
index 00000000..627fe137
--- /dev/null
+++ b/npc/027-3_Crypt/_import.txt
@@ -0,0 +1,7 @@
+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
new file mode 100755
index 00000000..2e423ee7
--- /dev/null
+++ b/npc/027-3_Crypt/_mobs.txt
@@ -0,0 +1,3 @@
+// 027-3 Crypt mobs
+
+//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
new file mode 100755
index 00000000..295215ca
--- /dev/null
+++ b/npc/027-3_Crypt/_warps.txt
@@ -0,0 +1,5 @@
+// 027-3 Crypt warps
+
+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 \ 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
new file mode 100755
index 00000000..78db21ba
--- /dev/null
+++ b/npc/027-4_Reaper/_import.txt
@@ -0,0 +1,5 @@
+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
new file mode 100755
index 00000000..50c5d033
--- /dev/null
+++ b/npc/027-4_Reaper/_mobs.txt
@@ -0,0 +1 @@
+// 027-4 Reaper mobs
diff --git a/npc/027-4_Reaper/_warps.txt b/npc/027-4_Reaper/_warps.txt
new file mode 100755
index 00000000..ca462cbe
--- /dev/null
+++ b/npc/027-4_Reaper/_warps.txt
@@ -0,0 +1,5 @@
+// 027-4 Reaper warps
+
+027-4.gat,36,19,0 warp ToCryptL -1,-1,027-3.gat,126,42
+027-4.gat,37,19,0 warp ToCryptM -1,-1,027-3.gat,127,42
+027-4.gat,38,19,0 warp ToCryptR -1,-1,027-3.gat,128,42
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 990c5315..be7341a3 100644
--- a/npc/_import.txt
+++ b/npc/_import.txt
@@ -1,3 +1,70 @@
+<<<<<<< HEAD
+import: npc/001-1_Tulimshar/_import.txt
+import: npc/001-2_Tulimshar/_import.txt
+import: npc/001-3_Tulimshar_arena/_import.txt
+import: npc/001-4_Omars_house/_import.txt
+import: npc/002-1_Sandstorm/_import.txt
+import: npc/002-3_Desert_mines/_import.txt
+import: npc/002-4_Desert_mines/_import.txt
+import: npc/003-1_Beach/_import.txt
+import: npc/003-2_Beach_House/_import.txt
+import: npc/004-1_Beach/_import.txt
+import: npc/004-2_Beach_House/_import.txt
+import: npc/005-1_Snake_desert/_import.txt
+import: npc/005-3_Snake_pit/_import.txt
+import: npc/006-1_Desert_mountains/_import.txt
+import: npc/006-3_Desert_mountain_caves/_import.txt
+import: npc/007-1_Woodland/_import.txt
+import: npc/008-1_Hurnscald_outskirts/_import.txt
+import: npc/009-1_Hurnscald/_import.txt
+import: npc/009-2_Hurnscald/_import.txt
+import: npc/009-3_Cave_beneath_Hurnscald/_import.txt
+import: npc/010-1_Woodland/_import.txt
+import: npc/010-2_Dimonds_Cove/_import.txt
+import: npc/011-1_Woodland/_import.txt
+import: npc/011-3_Hermits_cave/_import.txt
+import: npc/011-4_Lake_cave/_import.txt
+import: npc/011-5/_import.txt
+import: npc/012-1_Woodland_Hills/_import.txt
+import: npc/012-3_Cave/_import.txt
+import: npc/012-4_Cave/_import.txt
+import: npc/013-1_Woodland_hills/_import.txt
+import: npc/013-2_Magic_house/_import.txt
+import: npc/013-3_Cave/_import.txt
+import: npc/014-1_Woodland/_import.txt
+import: npc/014-3_Cave/_import.txt
+import: npc/015-1_Woodland/_import.txt
+import: npc/015-3_Cave/_import.txt
+import: npc/016-1_Woodland/_import.txt
+import: npc/017-1_Woodland_hills/_import.txt
+import: npc/017-2_Theater/_import.txt
+import: npc/017-9_Backstage/_import.txt
+import: npc/018-1_Woodland_mining_camp/_import.txt
+import: npc/018-2_Woodland_mining_camp/_import.txt
+import: npc/018-3_Cave/_import.txt
+import: npc/019-1_Snow_field/_import.txt
+import: npc/020-1_Nivalis/_import.txt
+import: npc/020-2_Nivalis/_import.txt
+import: npc/020-3_Ice_cave/_import.txt
+import: npc/020-4_Ice_cave/_import.txt
+import: npc/021-1_Tulimshar/_import.txt
+import: npc/021-2_Tulimshar/_import.txt
+import: npc/022-1_Tulimshar/_import.txt
+import: npc/024-1_Tulimshar_Canyon/_import.txt
+import: npc/024-2_Tulimshar_Magic_School/_import.txt
+import: npc/025-1_Woodland_Swamp/_import.txt
+import: npc/026-1_Swamp/_import.txt
+import: npc/027-1_Graveyard/_import.txt
+import: npc/027-2_Caretakers_House/_import.txt
+import: npc/027-3_Crypt/_import.txt
+import: npc/027-4_Reaper/_import.txt
+import: npc/028-1/_import.txt
+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
+=======
import: npc/001-1_Tulimshar/_import.txt
import: npc/001-2_Tulimshar/_import.txt
import: npc/001-3_Tulimshar_arena/_import.txt
@@ -69,3 +136,4 @@ import: npc/031-3_Cave/_import.txt
import: npc/032-1_Outback/_import.txt
import: npc/032-3_Cave/_import.txt
import: npc/botcheck/_import.txt
+>>>>>>> 1e1e26e1255a487a14ca99c60c3ab51ad3988f9b
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;
+}