summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rwxr-xr-xdata/027-3.wlkbin0 -> 13504 bytes
-rwxr-xr-xdata/027-4.wlkbin0 -> 8004 bytes
-rw-r--r--data/resnametable.txt3
-rw-r--r--npc/001-1_Tulimshar/_warps.txt2
-rw-r--r--npc/027-2_Caretakers_House/_import.txt1
-rw-r--r--npc/027-2_Caretakers_House/_warps.txt15
-rwxr-xr-xnpc/027-2_Caretakers_House/testnpcs.txt115
-rwxr-xr-xnpc/027-3_Crypt/_import.txt3
-rwxr-xr-xnpc/027-3_Crypt/_mobs.txt3
-rwxr-xr-xnpc/027-3_Crypt/_warps.txt8
-rwxr-xr-xnpc/027-3_Crypt/caretaker.txt131
-rwxr-xr-xnpc/027-4_Reaper/_import.txt3
-rwxr-xr-xnpc/027-4_Reaper/_mobs.txt3
-rwxr-xr-xnpc/027-4_Reaper/_warps.txt5
-rwxr-xr-xnpc/027-4_Reaper/caretaker.txt131
-rw-r--r--npc/_import.txt3
16 files changed, 423 insertions, 3 deletions
diff --git a/data/027-3.wlk b/data/027-3.wlk
new file mode 100755
index 00000000..4023c354
--- /dev/null
+++ b/data/027-3.wlk
Binary files differ
diff --git a/data/027-4.wlk b/data/027-4.wlk
new file mode 100755
index 00000000..8810b8e7
--- /dev/null
+++ b/data/027-4.wlk
Binary files differ
diff --git a/data/resnametable.txt b/data/resnametable.txt
index 3c4ffe92..a0d94ea6 100644
--- a/data/resnametable.txt
+++ b/data/resnametable.txt
@@ -58,9 +58,10 @@
026-1.gat#026-1.wlk#
027-1.gat#027-1.wlk#
027-2.gat#027-2.wlk#
+027-3.gat#027-3.wlk#
+027-4.gat#027-4.wlk#
028-1.gat#028-1.wlk#
028-3.gat#028-3.wlk#
029-1.gat#029-1.wlk#
029-3.gat#029-3.wlk#
-030-3.gat#030-3.wlk#
botcheck.gat#botcheck.wlk#
diff --git a/npc/001-1_Tulimshar/_warps.txt b/npc/001-1_Tulimshar/_warps.txt
index 43951edb..5b6c9971 100644
--- a/npc/001-1_Tulimshar/_warps.txt
+++ b/npc/001-1_Tulimshar/_warps.txt
@@ -5,4 +5,4 @@
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 ToReaperTest -1,-1,030-3.gat,40,60
+001-1.gat,27,71 warp ToInnTest -1,-1,027-2.gat,106,45
diff --git a/npc/027-2_Caretakers_House/_import.txt b/npc/027-2_Caretakers_House/_import.txt
index 58d2b8c0..5d736ba1 100644
--- a/npc/027-2_Caretakers_House/_import.txt
+++ b/npc/027-2_Caretakers_House/_import.txt
@@ -2,3 +2,4 @@ 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/testnpcs.txt
diff --git a/npc/027-2_Caretakers_House/_warps.txt b/npc/027-2_Caretakers_House/_warps.txt
index 32db1af8..bf9c47ac 100644
--- a/npc/027-2_Caretakers_House/_warps.txt
+++ b/npc/027-2_Caretakers_House/_warps.txt
@@ -1,3 +1,18 @@
// 027-2 Caretaker's House warps
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 ToTulimshar 1,-1,001-1.gat,27,72
+
+
+
+// 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
diff --git a/npc/027-2_Caretakers_House/testnpcs.txt b/npc/027-2_Caretakers_House/testnpcs.txt
new file mode 100755
index 00000000..3c0e0e42
--- /dev/null
+++ b/npc/027-2_Caretakers_House/testnpcs.txt
@@ -0,0 +1,115 @@
+// Temporary placing of all inn npcs
+// A proper break down of files will need to be done later
+
+// chef: function,
+// barmaid: function,
+// shopkeeper: multiples and function,
+// drunk lover: quest,
+// magic undead shop: function,
+// werewolf: gambling,
+// chef's helper: simple dialog,
+// horn mage: golbenez,
+// drunker: simple dialog,
+// chief barman: function,
+// barman: crafting related,
+// swordguy: weapon master,
+// ghost from dead drunk: simple dialog,
+// rich undead: can't remember atm,
+// crying child: I don't know,
+// Innkeeper's ghost: quest,
+// evil guard: simple dialog,
+// hangman: quest,
+// headless: quest or simple dialog,
+// lightman: quest,
+// receptionist: function,
+// banker: function
+
+
+
+027-2.gat,99,28,0 script Chef Skeleton 300,{
+ end;
+}
+
+027-2.gat,101,28,0 script Barmaid 301,{
+ end;
+}
+
+027-2.gat,103,28,0 script Shopkeeper 302,{
+ end;
+}
+
+027-2.gat,105,28,0 script Drunk Lover 303,{
+ end;
+}
+
+027-2.gat,107,28,0 script Magic Undead Shop 304,{
+ 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,113,28,0 script Horned mage 307,{
+ end;
+}
+
+027-2.gat,115,28,0 script Drunker 308,{
+ end;
+}
+
+027-2.gat,117,28,0 script Chief Barman 309,{
+ end;
+}
+
+027-2.gat,119,28,0 script Barman 310,{
+ end;
+}
+
+027-2.gat,99,31,0 script SwordGuy 311,{
+ end;
+}
+
+027-2.gat,101,31,0 script Ghost Drunker 312,{
+ end;
+}
+
+027-2.gat,103,31,0 script Rich Undead 313,{
+ 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;
+}
+
+027-2.gat,117,31,0 script Bloody Receptionist 320,{
+ end;
+}
+
+027-2.gat,119,31,0 script Undead Banker 321,{
+ end;
+}
diff --git a/npc/027-3_Crypt/_import.txt b/npc/027-3_Crypt/_import.txt
new file mode 100755
index 00000000..e6c51628
--- /dev/null
+++ b/npc/027-3_Crypt/_import.txt
@@ -0,0 +1,3 @@
+map: 027-3.gat
+npc: npc/027-3_Crypt/_mobs.txt
+npc: npc/027-3_Crypt/_warps.txt
diff --git a/npc/027-3_Crypt/_mobs.txt b/npc/027-3_Crypt/_mobs.txt
new file mode 100755
index 00000000..29ff7685
--- /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..745a75c2
--- /dev/null
+++ b/npc/027-3_Crypt/_warps.txt
@@ -0,0 +1,8 @@
+// 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
+
+// Temp
+027-3.gat,41,75,0 warp ToInnFirstFloor 4,-1,027-2.gat,106,45
diff --git a/npc/027-3_Crypt/caretaker.txt b/npc/027-3_Crypt/caretaker.txt
new file mode 100755
index 00000000..bf4d35fc
--- /dev/null
+++ b/npc/027-3_Crypt/caretaker.txt
@@ -0,0 +1,131 @@
+// Cemetary Caretaker
+// TODO: add dialog/code for giving more letters
+// Airlia supports receiving an infinate number of letters
+
+027-2.gat,24,25,0 script Caretaker 159,{
+ if (QUEST_Graveyard_Caretaker == 1) goto L_Return_Dialog;
+ if (QUEST_Graveyard_Caretaker == 2) goto L_Has_Letter;
+ if (QUEST_Graveyard_Caretaker == 3) goto L_Delivered_Letter;
+ if (QUEST_Graveyard_Caretaker == 4) goto L_Give_New_Letter;
+ if (QUEST_Graveyard_Caretaker == 5) goto L_Has_Letter;
+
+ mes "[Caretaker]";
+ mes "\"...Another adventurer comes to slay the already dead.\"";
+ next;
+ menu
+ "And what are you?", L_Who,
+ "Thats right, so move and let me kill that demon behind you.", -;
+ close;
+
+L_Who:
+ mes "[Caretaker]";
+ mes "\"I was once the caretaker to these cemetery grounds, but look at what they have become.";
+ mes "I now care only for my wife. I watch over her... make sure that nobody ever does her harm.\"";
+ next;
+
+ menu
+ "You guard her corpse day and night?", -;
+
+ mes "[Caretaker]";
+ mes "\"I am bound to this place by the very same spell that was cast to keep the undead from leaving. Until the day that this cemetery is cured of its curse, I remain within these gates.\"";
+ set QUEST_Graveyard_Caretaker, 1;
+ close;
+
+L_Return_Dialog:
+ mes "[Caretaker]";
+ mes "\"I am somewhat fortunate that adventurers like yourself frequent this place... despite your intentions.";
+ mes "Perhaps you can do me a favor?\"";
+ next;
+
+ menu
+ "What is the favor?", L_Favor,
+ "I'm sure I can, for a price.", L_Favor,
+ "Sorry, I am busy.", -;
+ close;
+
+L_Favor:
+ mes "[Caretaker]";
+ mes "\"I have not seen my daughter since I was cursed to stay in this cemetery 25 years ago.";
+ mes "We communicate now through letters. Would you please take this to her?";
+ mes "I am sure she will compensate you for your trouble.\"";
+ next;
+
+ menu
+ "I will take it to her.", L_Receive,
+ "I will help you. Where can I find your daughter?", L_Receive,
+ "Sorry, but I am too busy.", -;
+ close;
+
+L_Receive:
+ set QUEST_Graveyard_Caretaker, 2;
+ mes "You receive the letter and put it in a special place so it doesn't get lost among your inventory.";
+ if (@menu == 2) goto L_Location;
+ close;
+
+L_Location:
+ next;
+
+L_Location_Real:
+ mes "[Caretaker]";
+ mes "\"Her name is Airlia. She works at the city hall in Hurnscald. Thank you for your help.\"";
+ close;
+
+L_Has_Letter:
+ mes "[Caretaker]";
+ mes "\"Have you found my daughter?\"";
+ next;
+
+ menu
+ "Not Yet.", -,
+ "I'll get there when I get there.", -,
+ "Where did you say I could find her?", L_Location_Real;
+ close;
+
+L_Delivered_Letter:
+ mes "[Caretaker]";
+ mes "\"Have you found my daughter?\"";
+ next;
+
+ menu
+ "Yes.", -;
+
+ mes "[Caretaker]";
+ mes "\"Thank you for delivering my letter.\"";
+ set QUEST_Graveyard_Caretaker, 4;
+ close;
+
+L_Give_New_Letter:
+ mes "[Caretaker]";
+ mes "\"I have another letter, if you want to deliver it.\"";
+ next;
+
+ menu
+ "Sure.", L_Give_New_Letter_Real,
+ "I'm too busy right now.", -;
+
+ close;
+
+L_Give_New_Letter_Real:
+ set QUEST_Graveyard_Caretaker, 5;
+ mes "You receive the letter and put it in a special place so it doesn't get lost among your inventory.";
+ next;
+
+ mes "[Caretaker]";
+ mes "\"Thank you.\"";
+ close;
+
+OnTimer3000:
+ monster "027-2.gat", 29, 21, "Caretaker's Wife", 1044, 1, "Caretaker::OnWifeDeath";
+ end;
+
+OnWifeDeath:
+ mapannounce "027-2.gat", "NO! YOU KILLED MY WIFE!", 0;
+ gmcommand "@l I killed the caretaker's wife!";
+ gmcommand "@ban +5mn " + strcharinfo(0);
+ setnpctimer 0;
+ end;
+
+OnInit:
+ initnpctimer;
+ end;
+}
diff --git a/npc/027-4_Reaper/_import.txt b/npc/027-4_Reaper/_import.txt
new file mode 100755
index 00000000..0670db1e
--- /dev/null
+++ b/npc/027-4_Reaper/_import.txt
@@ -0,0 +1,3 @@
+map: 027-4.gat
+npc: npc/027-4_Reaper/_mobs.txt
+npc: npc/027-4_Reaper/_warps.txt
diff --git a/npc/027-4_Reaper/_mobs.txt b/npc/027-4_Reaper/_mobs.txt
new file mode 100755
index 00000000..b4a360fa
--- /dev/null
+++ b/npc/027-4_Reaper/_mobs.txt
@@ -0,0 +1,3 @@
+// 027-4 Reaper mobs
+
+027-4.gat,40,38,0,0 monster Reaper 1111,1,8000,2000,0 \ No newline at end of file
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/caretaker.txt b/npc/027-4_Reaper/caretaker.txt
new file mode 100755
index 00000000..bf4d35fc
--- /dev/null
+++ b/npc/027-4_Reaper/caretaker.txt
@@ -0,0 +1,131 @@
+// Cemetary Caretaker
+// TODO: add dialog/code for giving more letters
+// Airlia supports receiving an infinate number of letters
+
+027-2.gat,24,25,0 script Caretaker 159,{
+ if (QUEST_Graveyard_Caretaker == 1) goto L_Return_Dialog;
+ if (QUEST_Graveyard_Caretaker == 2) goto L_Has_Letter;
+ if (QUEST_Graveyard_Caretaker == 3) goto L_Delivered_Letter;
+ if (QUEST_Graveyard_Caretaker == 4) goto L_Give_New_Letter;
+ if (QUEST_Graveyard_Caretaker == 5) goto L_Has_Letter;
+
+ mes "[Caretaker]";
+ mes "\"...Another adventurer comes to slay the already dead.\"";
+ next;
+ menu
+ "And what are you?", L_Who,
+ "Thats right, so move and let me kill that demon behind you.", -;
+ close;
+
+L_Who:
+ mes "[Caretaker]";
+ mes "\"I was once the caretaker to these cemetery grounds, but look at what they have become.";
+ mes "I now care only for my wife. I watch over her... make sure that nobody ever does her harm.\"";
+ next;
+
+ menu
+ "You guard her corpse day and night?", -;
+
+ mes "[Caretaker]";
+ mes "\"I am bound to this place by the very same spell that was cast to keep the undead from leaving. Until the day that this cemetery is cured of its curse, I remain within these gates.\"";
+ set QUEST_Graveyard_Caretaker, 1;
+ close;
+
+L_Return_Dialog:
+ mes "[Caretaker]";
+ mes "\"I am somewhat fortunate that adventurers like yourself frequent this place... despite your intentions.";
+ mes "Perhaps you can do me a favor?\"";
+ next;
+
+ menu
+ "What is the favor?", L_Favor,
+ "I'm sure I can, for a price.", L_Favor,
+ "Sorry, I am busy.", -;
+ close;
+
+L_Favor:
+ mes "[Caretaker]";
+ mes "\"I have not seen my daughter since I was cursed to stay in this cemetery 25 years ago.";
+ mes "We communicate now through letters. Would you please take this to her?";
+ mes "I am sure she will compensate you for your trouble.\"";
+ next;
+
+ menu
+ "I will take it to her.", L_Receive,
+ "I will help you. Where can I find your daughter?", L_Receive,
+ "Sorry, but I am too busy.", -;
+ close;
+
+L_Receive:
+ set QUEST_Graveyard_Caretaker, 2;
+ mes "You receive the letter and put it in a special place so it doesn't get lost among your inventory.";
+ if (@menu == 2) goto L_Location;
+ close;
+
+L_Location:
+ next;
+
+L_Location_Real:
+ mes "[Caretaker]";
+ mes "\"Her name is Airlia. She works at the city hall in Hurnscald. Thank you for your help.\"";
+ close;
+
+L_Has_Letter:
+ mes "[Caretaker]";
+ mes "\"Have you found my daughter?\"";
+ next;
+
+ menu
+ "Not Yet.", -,
+ "I'll get there when I get there.", -,
+ "Where did you say I could find her?", L_Location_Real;
+ close;
+
+L_Delivered_Letter:
+ mes "[Caretaker]";
+ mes "\"Have you found my daughter?\"";
+ next;
+
+ menu
+ "Yes.", -;
+
+ mes "[Caretaker]";
+ mes "\"Thank you for delivering my letter.\"";
+ set QUEST_Graveyard_Caretaker, 4;
+ close;
+
+L_Give_New_Letter:
+ mes "[Caretaker]";
+ mes "\"I have another letter, if you want to deliver it.\"";
+ next;
+
+ menu
+ "Sure.", L_Give_New_Letter_Real,
+ "I'm too busy right now.", -;
+
+ close;
+
+L_Give_New_Letter_Real:
+ set QUEST_Graveyard_Caretaker, 5;
+ mes "You receive the letter and put it in a special place so it doesn't get lost among your inventory.";
+ next;
+
+ mes "[Caretaker]";
+ mes "\"Thank you.\"";
+ close;
+
+OnTimer3000:
+ monster "027-2.gat", 29, 21, "Caretaker's Wife", 1044, 1, "Caretaker::OnWifeDeath";
+ end;
+
+OnWifeDeath:
+ mapannounce "027-2.gat", "NO! YOU KILLED MY WIFE!", 0;
+ gmcommand "@l I killed the caretaker's wife!";
+ gmcommand "@ban +5mn " + strcharinfo(0);
+ setnpctimer 0;
+ end;
+
+OnInit:
+ initnpctimer;
+ end;
+}
diff --git a/npc/_import.txt b/npc/_import.txt
index d45e9390..ba724abc 100644
--- a/npc/_import.txt
+++ b/npc/_import.txt
@@ -55,9 +55,10 @@ 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/030-3_Reaper/_import.txt
import: npc/botcheck/_import.txt