summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJared Adams <jaxad0127@gmail.com>2009-09-07 15:25:33 -0600
committerJared Adams <jaxad0127@gmail.com>2009-09-07 15:25:33 -0600
commit9f3b9ca0ff56a90201c7587a04da5aca7d915ae3 (patch)
treecee88395915bafef26f06f0696f40e29e779cec4
parent1ee9568bcdc4da17f0f608fce21f3ff6b4781f1a (diff)
downloadserverdata-9f3b9ca0ff56a90201c7587a04da5aca7d915ae3.tar.gz
serverdata-9f3b9ca0ff56a90201c7587a04da5aca7d915ae3.tar.bz2
serverdata-9f3b9ca0ff56a90201c7587a04da5aca7d915ae3.tar.xz
serverdata-9f3b9ca0ff56a90201c7587a04da5aca7d915ae3.zip
Add woodland cemetery
Some work still needs to be done on the maps themselves, and the new NPCs.
-rw-r--r--data/016-1.wlkbin16804 -> 16804 bytes
-rw-r--r--data/025-1.wlkbin0 -> 18004 bytes
-rw-r--r--data/026-1.wlkbin0 -> 18004 bytes
-rw-r--r--data/027-1.wlkbin0 -> 18004 bytes
-rw-r--r--data/027-2.wlkbin0 -> 2866 bytes
-rw-r--r--data/resnametable.txt4
-rw-r--r--npc/009-2_Hurnscald/_import.txt1
-rw-r--r--npc/009-2_Hurnscald/airlia.txt196
-rw-r--r--npc/015-1_Woodland/_warps.txt1
-rw-r--r--npc/016-1_Woodland/_warps.txt1
-rw-r--r--npc/025-1_Woodland_Swamp/_import.txt3
-rw-r--r--npc/025-1_Woodland_Swamp/_mobs.txt7
-rw-r--r--npc/025-1_Woodland_Swamp/_warps.txt5
-rw-r--r--npc/026-1_Swamp/_import.txt3
-rw-r--r--npc/026-1_Swamp/_mobs.txt7
-rw-r--r--npc/026-1_Swamp/_warps.txt4
-rw-r--r--npc/027-1_Graveyard/_import.txt3
-rw-r--r--npc/027-1_Graveyard/_mobs.txt7
-rw-r--r--npc/027-1_Graveyard/_warps.txt4
-rw-r--r--npc/027-2_Caretakers_House/_import.txt4
-rw-r--r--npc/027-2_Caretakers_House/_mobs.txt7
-rw-r--r--npc/027-2_Caretakers_House/_warps.txt3
-rw-r--r--npc/027-2_Caretakers_House/caretaker.txt85
-rw-r--r--npc/_import.txt4
24 files changed, 349 insertions, 0 deletions
diff --git a/data/016-1.wlk b/data/016-1.wlk
index 2d4f1bbf..8c73d87e 100644
--- a/data/016-1.wlk
+++ b/data/016-1.wlk
Binary files differ
diff --git a/data/025-1.wlk b/data/025-1.wlk
new file mode 100644
index 00000000..6c15a8cd
--- /dev/null
+++ b/data/025-1.wlk
Binary files differ
diff --git a/data/026-1.wlk b/data/026-1.wlk
new file mode 100644
index 00000000..d527043f
--- /dev/null
+++ b/data/026-1.wlk
Binary files differ
diff --git a/data/027-1.wlk b/data/027-1.wlk
new file mode 100644
index 00000000..e1379d28
--- /dev/null
+++ b/data/027-1.wlk
Binary files differ
diff --git a/data/027-2.wlk b/data/027-2.wlk
new file mode 100644
index 00000000..e663406f
--- /dev/null
+++ b/data/027-2.wlk
Binary files differ
diff --git a/data/resnametable.txt b/data/resnametable.txt
index 8970d6c2..5a055e85 100644
--- a/data/resnametable.txt
+++ b/data/resnametable.txt
@@ -49,4 +49,8 @@
023-1.gat#023-1.wlk#
024-1.gat#024-1.wlk#
024-2.gat#024-2.wlk#
+025-1.gat#025-1.wlk#
+026-1.gat#026-1.wlk#
+027-1.gat#027-1.wlk#
+027-2.gat#027-2.wlk#
botcheck.gat#botcheck.wlk#
diff --git a/npc/009-2_Hurnscald/_import.txt b/npc/009-2_Hurnscald/_import.txt
index 773191c7..2e6af506 100644
--- a/npc/009-2_Hurnscald/_import.txt
+++ b/npc/009-2_Hurnscald/_import.txt
@@ -1,6 +1,7 @@
map: 009-2.gat
npc: npc/009-2_Hurnscald/_mobs.txt
npc: npc/009-2_Hurnscald/_warps.txt
+npc: npc/009-2_Hurnscald/airlia.txt
npc: npc/009-2_Hurnscald/alan.txt
npc: npc/009-2_Hurnscald/doctor.txt
npc: npc/009-2_Hurnscald/drunks.txt
diff --git a/npc/009-2_Hurnscald/airlia.txt b/npc/009-2_Hurnscald/airlia.txt
new file mode 100644
index 00000000..daae6bb8
--- /dev/null
+++ b/npc/009-2_Hurnscald/airlia.txt
@@ -0,0 +1,196 @@
+// ------------------------------------------
+// Airlia, daughter of the cemetary caretaker
+// ------------------------------------------
+
+// TODO:
+// * General: Location (coordinates) and look (sprite) for Airlia?
+// * General: Work out quest variables and their states with Jaxad, for now I call them:
+// - caretaker
+// - letter
+// - airlia
+// > Caretaker and letter replaced as appropriate. -Jaxad
+// / Subquest 1: Amount of gold as reward for the (maybe repeatable) letter quest? (finished -Jaxad)
+// / Subquest 1: Will the letter quest be repeatable or not? (finished -Jaxad)
+// * Subquest 2: Amount of what (undead-drop only) item for Airlia's fetch quest?
+// * Subquest 2: Amount of experience recieved as reward for Airlia's fetch quest?
+// * Script the L_Future part (may do for now)
+// * Maybe flesh out some dialogue
+// - Especially if repeatable, random replies for letter quest...
+// - Mounts?
+
+009-2.gat,123,71,0 script Airlia 108,{
+ // Subquest 1: Caretaker's daughter (once), delivery of letter (once/unlimited)
+ set @LETTER_REWARD_GOLD_INITAL, 1000;
+ set @LETTER_REWARD_EXP_INITAL, 2000;
+ set @LETTER_REWARD_GOLD, 42;
+ set @LETTER_REWARD_EXP, 500;
+
+ // Subquest 2: Fetch those undead drops (once)
+ set @FETCH_ITEM_AMOUNT, 42;
+ set @FETCH_ITEM_LABEL$, "Iten";
+ set @FETCH_ITEM_NAME$, "Iten";
+ set @FETCH_ITEM_REWARD_XP, 42;
+
+ set @QUEST_AIRLIA_ACCEPTED, 1;
+ set @QUEST_AIRLIA_REWARDED, 2;
+
+
+ if (airlia >= @QUEST_AIRLIA_REWARDED) goto L_Future;
+ if (airlia == @QUEST_AIRLIA_ACCEPTED) goto L_Fetch;
+ if (QUEST_Graveyard_Caretaker > 2) goto L_Airlia_intro;
+
+L_Caretaker:
+ mes "[Airlia]";
+ mes "\"Greetings. Do you need a housing permit, or to license your mount?\"";
+ next;
+
+ if (QUEST_Graveyard_Caretaker < 4)
+ menu
+ "Sorry, no.", -,
+ "My what?", L_Caretaker_mount;
+
+ if (QUEST_Graveyard_Caretaker == 4)
+ menu
+ "Sorry, no.", -,
+ "I have a letter from your father.", L_Caretaker_reward2,
+ "My what?", L_Caretaker_mount;
+
+ mes "[Airlia]";
+ mes "\"Nobody ever does...\"";
+ close;
+
+L_Caretaker_mount:
+ close;
+
+L_Caretaker_reward:
+ mes "[Airlia]";
+ mes "\"Oh! Thank you very, very much! Please take this for your trouble.\"";
+ if (@LETTER_REWARD_GOLD_INITAL > 0)
+ mes "[" + @LETTER_REWARD_GOLD_INITAL + " GP]";
+ if (@LETTER_REWARD_EXP_INITAL > 0)
+ mes "[" + @LETTER_REWARD_EXP_INITAL + " experience points]";
+
+ set zeny, zeny + @LETTER_REWARD_GOLD_INITAL;
+ getexp @LETTER_REWARD_EXP_INITAL, 0;
+ set QUEST_Graveyard_Caretaker, 3;
+ close;
+
+L_Caretaker_reward2:
+ mes "[Airlia]";
+ mes "\"Oh! Thank you very, very much! Please take this for your trouble.\"";
+ if (@LETTER_REWARD_GOLD > 0)
+ mes "[" + @LETTER_REWARD_GOLD + " GP]";
+ if (@LETTER_REWARD_EXP > 0)
+ mes "[" + @LETTER_REWARD_EXP + " experience points]";
+
+ set zeny, zeny + @LETTER_REWARD_GOLD;
+ getexp @LETTER_REWARD_EXP, 0;
+ set QUEST_Graveyard_Caretaker, 5;
+ close;
+
+L_Airlia_intro:
+ // TODO: Should housing permits and mounts' licensing never be mentioned again?
+
+ mes "[Airlia]";
+ mes "\"My poor father, doomed to that awful cemetery.\"";
+ next;
+
+ // TODO: I put in the repeatable letter quest here for now
+ if (QUEST_Graveyard_Caretaker == 3)
+ menu
+ "...", -;
+
+ if (QUEST_Graveyard_Caretaker == 4)
+ menu
+ "...", -,
+ "Oh, I have a letter from him.", L_Caretaker_reward;
+
+ mes "[Airlia]";
+ mes "\"You know, there are many who believe that each time the undead rise after being killed, they lose mana. Eventually, there will not be enough mana for them to rise again and they can be at rest. Do you believe this is true?\"";
+ next;
+
+ menu
+ "I believe so, yes.", L_Airlia_intro_mana_loss,
+ "Maybe...", L_Airlia_intro_mana_loss,
+ "No, that is not proven.", -;
+
+ mes "[Airlia]";
+ mes "\"Oh...\"";
+ close;
+
+L_Airlia_intro_mana_loss:
+ mes "[Airlia]";
+ mes "\"When I am not working, I recruit help for the esteemed Fighters of the Undead, or FoU. They are an official group effort of the Warriors' Guild and Magicians, you know, a very prestigious group.\"";
+ next;
+
+ menu
+ "...", L_Airlia_intro_fou,
+ "I have heard of them.", L_Airlia_intro_fou,
+ "Keep up the good work. I have to go now, bye.", -;
+ close;
+
+L_Airlia_intro_fou:
+ mes "[Airlia]";
+ mes "\"If we drain those evil creatures of their mana, I can get my father back. He is getting very old. Will you help us?\"";
+ next;
+
+ menu
+ "Of course I will.", L_Airlia_intro_fight,
+ "Sure, I guess.", L_Airlia_intro_fight,
+ "Thanks, but no thanks. I have other business to attend to.", -;
+ close;
+
+L_Airlia_intro_fight:
+ mes "[Airlia]";
+ mes "\"Great, just kill any of the undead creatures you can and bring me proof of your work, and I will put in a word for you with the guild.\"";
+ next;
+
+ menu
+ "I'm on it.", -,
+ "What sort of proof?", L_Airlia_intro_proof;
+
+ set airlia, @QUEST_AIRLIA_ACCEPTED;
+ close;
+
+L_Airlia_intro_proof:
+ mes "[Airlia]";
+ mes "\"Let's say " + @FETCH_ITEM_AMOUNT + " [" + @FETCH_ITEM_NAME$ + "]s. You don't know how much this means to me, thank you.\"";
+ set airlia, @QUEST_AIRLIA_ACCEPTED;
+ close;
+
+L_Fetch:
+ mes "[Airlia]";
+ mes "\"Thank you for helping my father.\"";
+ next;
+
+ menu
+ "You are welcome.", -,
+ "I have collected " + @FETCH_ITEM_AMOUNT + " [" + @FETCH_ITEM_NAME$ + "]s.", L_Fetch_check;
+ close;
+
+L_Fetch_check:
+ if (countitem(@FETCH_ITEM_LABEL$) >= @FETCH_ITEM_AMOUNT) goto L_Fetch_award;
+
+ mes "[Airlia]";
+ mes "\"I'm sorry, I didn't realize you couldn't count. Perhaps when I have some free time, I can help you learn if you'd like.\"";
+ close;
+
+L_Fetch_award:
+ mes "[Airlia]";
+ mes "\"Excellent work. You are definitely a great warrior. I will tell the guild of your deeds.\"";
+ delitem @FETCH_ITEM_LABEL$, @FETCH_ITEM_AMOUNT;
+ getexp @FETCH_ITEM_REWARD_XP, 0;
+ set airlia, @QUEST_AIRLIA_REWARDED;
+ close;
+
+L_Future:
+ // TODO: From http://wiki.themanaworld.org/index.php/User:John_Pyle/Cemetery_Caretaker_Quest:
+ // * Thats it, Banter - Thanks, Greetings, etc.
+ // * She can give recurrent gold for x number undead items
+ // * Airlia quest = 2 unlocks options with Fighters of the Undead NPCs (in Cemetery), such as the 'Kill Sir Truk' quest.
+ // * Airlia quest = 2 unlocks other options, perhaps with future Warrior Guild prospects (This is long term)
+
+ mes "[Airlia]";
+ mes "Thank you.";
+ close;
+} \ No newline at end of file
diff --git a/npc/015-1_Woodland/_warps.txt b/npc/015-1_Woodland/_warps.txt
index 75e377a4..82120436 100644
--- a/npc/015-1_Woodland/_warps.txt
+++ b/npc/015-1_Woodland/_warps.txt
@@ -2,3 +2,4 @@
015-1.gat,93,55 warp ToWoodland -1,0,010-1.gat,15,55
015-1.gat,59,31 warp to 015_3 -1,-1,015-3.gat,31,42
+015-1.gat,59,101 warp toSwamp 2,-1,025-1.gat,89,20
diff --git a/npc/016-1_Woodland/_warps.txt b/npc/016-1_Woodland/_warps.txt
index a9c59657..c6f82f8c 100644
--- a/npc/016-1_Woodland/_warps.txt
+++ b/npc/016-1_Woodland/_warps.txt
@@ -1,3 +1,4 @@
// 016-1 Woodland warps
016-1.gat,56,20 warp ToWoodland 1,-1,010-1.gat,56,103
+016-1.gat,19,53 warp toSwamp -1,1,025-1.gat,129,58
diff --git a/npc/025-1_Woodland_Swamp/_import.txt b/npc/025-1_Woodland_Swamp/_import.txt
new file mode 100644
index 00000000..7dc7202b
--- /dev/null
+++ b/npc/025-1_Woodland_Swamp/_import.txt
@@ -0,0 +1,3 @@
+map: 025-1.gat
+npc: npc/025-1_Woodland_Swamp/_mobs.txt
+npc: npc/025-1_Woodland_Swamp/_warps.txt
diff --git a/npc/025-1_Woodland_Swamp/_mobs.txt b/npc/025-1_Woodland_Swamp/_mobs.txt
new file mode 100644
index 00000000..35fec2be
--- /dev/null
+++ b/npc/025-1_Woodland_Swamp/_mobs.txt
@@ -0,0 +1,7 @@
+// 025-1 Woodland Swamp mobs
+
+
+
+025-1.gat,0,0,0 script Mob025-1 -1,{
+ end;
+}
diff --git a/npc/025-1_Woodland_Swamp/_warps.txt b/npc/025-1_Woodland_Swamp/_warps.txt
new file mode 100644
index 00000000..2629a5ac
--- /dev/null
+++ b/npc/025-1_Woodland_Swamp/_warps.txt
@@ -0,0 +1,5 @@
+// 025-1 Woodland Swamp warps
+
+025-1.gat,19,66 warp toSwamp -1,-1,026-1.gat,128,66
+025-1.gat,90,19 warp toWoodland 2,-1,015-1.gat,59,100
+025-1.gat,130,58 warp toWoodland -1,1,016-1.gat,20,53
diff --git a/npc/026-1_Swamp/_import.txt b/npc/026-1_Swamp/_import.txt
new file mode 100644
index 00000000..373af703
--- /dev/null
+++ b/npc/026-1_Swamp/_import.txt
@@ -0,0 +1,3 @@
+map: 026-1.gat
+npc: npc/026-1_Swamp/_mobs.txt
+npc: npc/026-1_Swamp/_warps.txt
diff --git a/npc/026-1_Swamp/_mobs.txt b/npc/026-1_Swamp/_mobs.txt
new file mode 100644
index 00000000..4505f517
--- /dev/null
+++ b/npc/026-1_Swamp/_mobs.txt
@@ -0,0 +1,7 @@
+// 026-1 Swamp mobs
+
+
+
+026-1.gat,0,0,0 script Mob026-1 -1,{
+ end;
+}
diff --git a/npc/026-1_Swamp/_warps.txt b/npc/026-1_Swamp/_warps.txt
new file mode 100644
index 00000000..787c9495
--- /dev/null
+++ b/npc/026-1_Swamp/_warps.txt
@@ -0,0 +1,4 @@
+// 026-1 Swamp warps
+
+026-1.gat,63,16 warp toGraveyard -1,-1,027-1.gat,63,105
+026-1.gat,129,66 warp toSwamp -1,-1,025-1.gat,20,66
diff --git a/npc/027-1_Graveyard/_import.txt b/npc/027-1_Graveyard/_import.txt
new file mode 100644
index 00000000..8c8d3651
--- /dev/null
+++ b/npc/027-1_Graveyard/_import.txt
@@ -0,0 +1,3 @@
+map: 027-1.gat
+npc: npc/027-1_Graveyard/_mobs.txt
+npc: npc/027-1_Graveyard/_warps.txt
diff --git a/npc/027-1_Graveyard/_mobs.txt b/npc/027-1_Graveyard/_mobs.txt
new file mode 100644
index 00000000..1a465904
--- /dev/null
+++ b/npc/027-1_Graveyard/_mobs.txt
@@ -0,0 +1,7 @@
+// 027-1 Graveyard mobs
+
+
+
+027-1.gat,0,0,0 script Mob027-1 -1,{
+ end;
+}
diff --git a/npc/027-1_Graveyard/_warps.txt b/npc/027-1_Graveyard/_warps.txt
new file mode 100644
index 00000000..dbd01d2f
--- /dev/null
+++ b/npc/027-1_Graveyard/_warps.txt
@@ -0,0 +1,4 @@
+// 027-1 Graveyard warps
+
+027-1.gat,88,84 warp toCaretaker's -1,-1,027-2.gat,26,32
+027-1.gat,63,106 warp toSwamp -1,-1,026-1.gat,63,17
diff --git a/npc/027-2_Caretakers_House/_import.txt b/npc/027-2_Caretakers_House/_import.txt
new file mode 100644
index 00000000..58d2b8c0
--- /dev/null
+++ b/npc/027-2_Caretakers_House/_import.txt
@@ -0,0 +1,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
diff --git a/npc/027-2_Caretakers_House/_mobs.txt b/npc/027-2_Caretakers_House/_mobs.txt
new file mode 100644
index 00000000..e765f51c
--- /dev/null
+++ b/npc/027-2_Caretakers_House/_mobs.txt
@@ -0,0 +1,7 @@
+// 027-2 Caretaker's House mobs
+
+
+
+027-2.gat,0,0,0 script Mob027-2 -1,{
+ end;
+}
diff --git a/npc/027-2_Caretakers_House/_warps.txt b/npc/027-2_Caretakers_House/_warps.txt
new file mode 100644
index 00000000..8b7af158
--- /dev/null
+++ b/npc/027-2_Caretakers_House/_warps.txt
@@ -0,0 +1,3 @@
+// 027-2 Caretaker's House warps
+
+027-2.gat,26,33 warp toGraveyard -1,-1,027-1.gat,88,85
diff --git a/npc/027-2_Caretakers_House/caretaker.txt b/npc/027-2_Caretakers_House/caretaker.txt
new file mode 100644
index 00000000..36715ad5
--- /dev/null
+++ b/npc/027-2_Caretakers_House/caretaker.txt
@@ -0,0 +1,85 @@
+// Cemetary Caretaker
+// TODO: add dialog/code for when first letter is delivered
+// 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;
+
+ mes "[Caretaker]";
+ mes "\"...Another adventurer come 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:
+ // TODO
+ close;
+}
diff --git a/npc/_import.txt b/npc/_import.txt
index f37b5e54..403fb447 100644
--- a/npc/_import.txt
+++ b/npc/_import.txt
@@ -46,4 +46,8 @@ 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/botcheck/_import.txt