summaryrefslogtreecommitdiff
path: root/npc
diff options
context:
space:
mode:
authorTheKandiman <thekandiman@gmail.com>2011-02-06 10:49:54 -0500
committerTheKandiman <thekandiman@gmail.com>2011-02-06 10:49:54 -0500
commite3a47019359f3031d2e755555b8be06c3041aaf5 (patch)
tree47f4f29a9697b67db86247c7a6b1c525f86174d5 /npc
parent0c1d3947f182df786ee52ca2bbb9033f7d4aeb77 (diff)
parent6b0a6e31c8b283be14d5607409eecca5d588c725 (diff)
downloadserverdata-e3a47019359f3031d2e755555b8be06c3041aaf5.tar.gz
serverdata-e3a47019359f3031d2e755555b8be06c3041aaf5.tar.bz2
serverdata-e3a47019359f3031d2e755555b8be06c3041aaf5.tar.xz
serverdata-e3a47019359f3031d2e755555b8be06c3041aaf5.zip
Merge git://gitorious.org/~wombat/tmw-eathena-data/cache-serverdata
Diffstat (limited to 'npc')
-rw-r--r--npc/009-2_Hurnscald/alan.txt20
-rw-r--r--npc/021-2_Tulimshar/furquest.txt23
-rw-r--r--npc/027-2_Caretakers_House/golbanez.txt71
-rw-r--r--npc/027-2_Caretakers_House/husband.txt10
-rw-r--r--npc/027-2_Caretakers_House/innkeeper.txt10
-rw-r--r--npc/027-2_Caretakers_House/lover.txt34
6 files changed, 146 insertions, 22 deletions
diff --git a/npc/009-2_Hurnscald/alan.txt b/npc/009-2_Hurnscald/alan.txt
index 28ca7d47..ea00fe31 100644
--- a/npc/009-2_Hurnscald/alan.txt
+++ b/npc/009-2_Hurnscald/alan.txt
@@ -19,7 +19,7 @@
if (@Q_status == 3) goto L_State_3;
if (@Q_status == 4) goto L_State_4;
if (@Q_status == 5) goto L_State_5;
-
+
mes "[Alan]";
mes "\"When you want to buy something then please speak to my apprentice. I am only doing special requests.\"";
next;
@@ -33,7 +33,7 @@
"OK, thanks", -,
"Can you make me a really good bow?", L_State_0_1;
close;
-
+
L_State_0_1:
mes "[Alan]";
mes "\"You mean like one of my legendary forest bows?\"";
@@ -91,7 +91,7 @@ L_State_1_1:
mes "[Alan]";
mes "\"When you leave my shop just go southwest over the village plaza. You can't miss it.\"";
close;
-
+
L_State_2:
mes "[Alan]";
mes "\"Did you already ask Jack why he won't deliver me any more living wood?\"";
@@ -112,7 +112,7 @@ L_State_2:
callsub S_Update_Var;
close;
-
+
L_State_3:
mes "[Alan]";
mes "\"How is the hunt going? Did you bring me any wood?\"";
@@ -130,11 +130,12 @@ L_State_3:
close;
L_State_3_try:
+ if (countitem(569) < 1) goto L_No_Log;
+ delitem "RawLog", 1;
mes "[Alan]";
mes "\"Hmmm... looks ok, but is it strong enough?\"";
mes "Alan bends the log over his knee.";
next;
- delitem "RawLog", 1;
set @Temp1, rand(20);
if (@Temp1 == 0) goto L_State_3_success;
mes "The log breaks with a loud crack";
@@ -147,7 +148,7 @@ L_State_3_try:
"Sure, here you go.", L_State_3_try,
"Hey! Stop breaking my stuff!", -;
close;
-
+
L_State_3_success:
mes "Alan tries as hard as he can but the log won't bend.";
next;
@@ -156,7 +157,7 @@ L_State_3_success:
next;
set @Q_status, 4;
callsub S_Update_Var;
-
+
L_State_4:
mes "[Alan]";
mes "\"I can make you a really nice forest bow out of this. I just need 10,000 GP for material and work time.\"";
@@ -210,6 +211,11 @@ L_NohMask_Answer:
mes "\"No.\"";
close;
+L_No_Log:
+ mes "[Alan]";
+ mes "\"Where should I look at? You don't have a raw log.\"";
+ close;
+
S_Update_Var:
set QUEST_Forestbow_state,
(QUEST_Forestbow_state & ~(@Q_MASK)
diff --git a/npc/021-2_Tulimshar/furquest.txt b/npc/021-2_Tulimshar/furquest.txt
index 6727ea7d..c4e0c805 100644
--- a/npc/021-2_Tulimshar/furquest.txt
+++ b/npc/021-2_Tulimshar/furquest.txt
@@ -1,7 +1,7 @@
//#################################################################################
// Script by Shaili and QOAL
//#################################################################################
-
+
// Tulimshar Crafting Workshop - Agostine, The Legendary Tailor
021-2.gat,32,63,0 script Agostine 137,{
if (QUEST_WG_state == 1) goto L_State_0_3;
@@ -13,7 +13,7 @@
if (QUEST_WG_state == 7) goto L_State_11;
if (QUEST_WG_state == 8) goto L_State_12;
if (QUEST_WG_state >= 9) goto L_State_13;
-
+
mes "\"This goes up, this goes left...\"";
next;
mes "\"Mmmm...?\"";
@@ -66,7 +66,7 @@ L_State_0_3:
"A Cactus Potion.", L_State_0_5,
"Some milk.", L_State_0_6,
"A pint of beer.", L_State_0_7,
- "A Iron potion.", L_State_0_9,
+ "An Iron potion.", L_State_0_9,
"A Concentration Potion.", L_State_0_8,
"Nothing, at the moment.", -;
close;
@@ -75,7 +75,6 @@ L_State_0_4:
mes "[Agostine, The Legendary Tailor]";
mes "\"So, a Cactus Drink?\"";
if (countitem("CactusDrink") < 1) goto L_State_neg;
- next;
delitem "CactusDrink", 1;
goto L_State_bad;
close;
@@ -84,7 +83,6 @@ L_State_0_5:
mes "[Agostine, The Legendary Tailor]";
mes "\"So, a Cactus Potion?\"";
if (countitem("CactusPotion") < 1) goto L_State_neg;
- next;
delitem "CactusPotion", 1;
goto L_State_bad;
close;
@@ -101,7 +99,6 @@ L_State_0_7:
mes "[Agostine, The Legendary Tailor]";
mes "\"So, a beer?\"";
if (countitem("Beer") < 1) goto L_State_neg;
- next;
delitem "Beer", 1;
goto L_State_bad;
close;
@@ -110,7 +107,6 @@ L_State_0_8:
mes "[Agostine, The Legendary Tailor]";
mes "\"So, a Concentration Potion?\"";
if (countitem("ConcentrationPotion") < 1) goto L_State_neg;
- next;
delitem "ConcentrationPotion", 1;
goto L_State_bad;
close;
@@ -119,8 +115,8 @@ L_State_0_9:
mes "[Agostine, The Legendary Tailor]";
mes "\"So, an Iron Potion?\"";
if (countitem("IronPotion") < 1) goto L_State_neg;
- next;
delitem "IronPotion", 1;
+ next;
mes "Agostine looks pleased as he drinks the potion.";
next;
mes "[Agostine, The Legendary Tailor]";
@@ -133,12 +129,12 @@ L_State_0_9:
close;
L_State_neg:
- mes "[Agostine, The Legendary Tailor]";
+ next;
mes "\"Seems that you lied. You don't have the drink you told me.\"";
close;
L_State_bad:
- mes "[Agostine, The Legendary Tailor]";
+ next;
mes "\"Well, I don't like it so much. Bring me something else.\"";
close;
@@ -187,6 +183,7 @@ L_State_4_try:
mes "\"Let me see, my friend! It needs to be perfect for my gloves!\"";
mes "Agostine examines the patch of fur.";
next;
+ if (countitem("WhiteFur") < 1) goto L_No_Fur;
delitem "WhiteFur", 1;
set @Temp1,rand(30);
if (@Temp1 == 0) goto L_State_4_success;
@@ -272,6 +269,7 @@ L_State_11_try:
next;
mes "Agostine examines the patch of fur.";
next;
+ if (countitem("WhiteFur") < 1) goto L_No_Fur;
delitem "WhiteFur", 1;
set @Temp2,rand(30);
if (@Temp2 == 0) goto L_State_11_success;
@@ -332,4 +330,9 @@ L_TooMany:
mes "[Agostine, The Legendary Tailor]";
mes "\"You don't have anywhere to put them. Come back when you do.";
close;
+
+L_No_Fur:
+ mes "[Agostine, The Legendary Tailor]";
+ mes "\"You don't have any white fur! Stop talking nonsense.";
+ close;
}
diff --git a/npc/027-2_Caretakers_House/golbanez.txt b/npc/027-2_Caretakers_House/golbanez.txt
index 1fb4bfc5..b466bccf 100644
--- a/npc/027-2_Caretakers_House/golbanez.txt
+++ b/npc/027-2_Caretakers_House/golbanez.txt
@@ -28,6 +28,8 @@
set @UNDEADEYE_AMOUNT, 50;
set @UNDEADEYE_EXP, 50000;
+ if (@state >= 7) goto L_Done;
+ if (@state == 6) goto L_Soul;
if (@state == 5) goto L_All;
if (@state == 4) goto L_Savaric;
if (@state == 3) goto L_Hamond;
@@ -220,7 +222,7 @@ L_Savaric:
close;
L_All:
- //TODO: add asking for Savarics soul
+ if (@lover == 6) goto L_Negotiate;
mes "[Golbanez]";
mes "\"Did you come back to see the memories again?\"";
menu
@@ -230,6 +232,73 @@ L_All:
"Nevermind.",L_Close;
close;
+L_Negotiate:
+ mes "Golbanez eyes are glowing greedily";
+ mes "[Golbanez]";
+ mes "\"Did you come back to see the memories again? Or are you going to offer me another deal?\"";
+ menu
+ "I want Savarics soul back.",-,
+ "I want to see Reids memory again.",L_R_Again,
+ "I want to see Hamonds memory again.",L_H_Again,
+ "I want to see Savarics memory again.",L_S_Again,
+ "Nevermind.",L_Close;
+
+ mes "[Golbanez]";
+ mes "\"Savarics soul, yes. It is a pretty nice soul, you know. From a mage, no, even better, from a loving mage. It is valuable.\"";
+ next;
+ mes "\"Why do you think it would be easy to get it back? Do you have anything of equal worth to offer?\"";
+ next;
+ menu
+ "What about another cake?",L_Cake,
+ "I'm not sure. What do you want?",-,
+ "No.",L_Close;
+
+ mes "[Golbanez]";
+ mes "\"Bring me a soul of at least equal power as the mages one. I don't care where you get it.\"";
+ set @state, 6;
+ callsub S_Update_Mask;
+ close;
+
+L_Soul:
+ mes "[Golbanez]";
+ mes "\"So, did you get a soul for me?\"";
+L_Soul_Try:
+ if (countitem("JackOSoul") < 1)
+ menu
+ "I'll go and get one.",L_Close;
+ menu
+ "What about this Jack O Soul?",-,
+ "I'll go and try to find a soul.",L_Close;
+
+ if (countitem("JackOSoul") < 1) goto L_Betray;
+ delitem "JackOSoul", 1;
+ set @soul, rand(50);
+ if (@soul == 0) goto L_Soul_Success;
+ mes "[Golbanez]";
+ mes "\"No, this one isn't as powerful as the mage ones. Bring me another.\"";
+ goto L_Soul_Try;
+
+L_Soul_Success:
+ mes "Golbanez suddenly gets excited.";
+ mes "[Golbanez]";
+ mes "\"Yes! This one is full of energy.\"";
+ next;
+ mes "\"So be it, mortal. I'll release Savarics soul in exchange for this one.\"";
+ set @state, 7;
+ callsub S_Update_Mask;
+ close;
+
+L_Done:
+ mes "[Golbanez]";
+ mes "\"I hope you enjoyed your little detective game. I certainly did.\"";
+ close;
+
+L_Cake:
+ mes "Golbanez laughs.";
+ mes "[Golbanez]";
+ mes "\"That's why I like you - also you're a human, you have a nice sense of humor.\"";
+ close;
+
L_S_Again:
callsub S_Savaricsmem;
mes "[Golbanez]";
diff --git a/npc/027-2_Caretakers_House/husband.txt b/npc/027-2_Caretakers_House/husband.txt
index 39ce10e6..44b94f9f 100644
--- a/npc/027-2_Caretakers_House/husband.txt
+++ b/npc/027-2_Caretakers_House/husband.txt
@@ -23,7 +23,7 @@
set @BONE_EXP, 30000;
set @RUBY_AMOUNT, 20; // caution, this value needs to be the same as in the innkeepers script!
- if (@state == 7) goto L_Thanks;
+ if (@state >= 7) goto L_Thanks;
if (@state == 6) goto L_Apologize;
if (@state == 5) goto L_Waiting;
if (@state == 4) goto L_News;
@@ -271,7 +271,10 @@ L_Apologize:
mes "\"And frankly, it gives me a bitter satisfaction that they long for each other but can't touch each other.\"";
next;
mes "\"However, you are a great friend and did a lot for me. I want you to have this.\"";
+ getinventorylist;
+ if (@inventorylist_count == 100) goto L_Full_Inv;
//TODO: determine reward and give it, idea: different bowler hat?
+ getitem "Acorn", 1;
set @state, 7;
callsub S_Update_Mask;
close;
@@ -293,6 +296,11 @@ L_Not_Enough_Cubes:
mes "\"Yes, they look good! But I think I need more of them. Maybe " + @ICE_CUBE_AMOUNT + "?\"";
close;
+L_Full_Inv:
+ mes "[Hamond]";
+ mes "\"You have a really full backpack, haven't you? Come back when you have some room in there.\"";
+ close;
+
L_Close:
close;
diff --git a/npc/027-2_Caretakers_House/innkeeper.txt b/npc/027-2_Caretakers_House/innkeeper.txt
index 26631f7f..c0969998 100644
--- a/npc/027-2_Caretakers_House/innkeeper.txt
+++ b/npc/027-2_Caretakers_House/innkeeper.txt
@@ -31,7 +31,7 @@
set @DIAMOND_AMOUNT, 10; // caution, this value needs to be the same as in the lovers script!
set @RUBY_AMOUNT, 20; // caution, this value needs to be the same as in the husbands script!
- if (@state == 11) goto L_Happy;
+ if (@state >= 11) goto L_Happy;
if (@state == 10) goto L_Thanks;
if ((@state == 8) || (@state == 9)) goto L_Sorry;
if (@state == 7) goto L_Savaric;
@@ -336,7 +336,10 @@ L_Tease:
L_Thanks:
mes "[Reid's Ghost]";
mes "\"I'm so glad, now I know what happened and spoke to Savaric and Hamond. Thank you so much. Please take this.\"";
+ getinventorylist;
+ if (@inventorylist_count == 100) goto L_Full_Inv;
//TODO: determine reward and give it
+ getitem "Acorn", 1;
set @state, 11;
callsub S_Update_Mask;
close;
@@ -378,6 +381,11 @@ L_Bracelet:
callsub S_Update_Mask_Kid;
close;
+L_Full_Inv:
+ mes "[Reid's Ghost]";
+ mes "\"Dear, you're carrying so much stuff, you can't take my present. Come back later to take it.\"";
+ close;
+
L_Close:
close;
diff --git a/npc/027-2_Caretakers_House/lover.txt b/npc/027-2_Caretakers_House/lover.txt
index d780c562..c6d1d2ee 100644
--- a/npc/027-2_Caretakers_House/lover.txt
+++ b/npc/027-2_Caretakers_House/lover.txt
@@ -20,7 +20,7 @@
set @CRYSTAL_EXP, 100000;
set @DIAMOND_AMOUNT, 10; // caution, this value needs to be the same as in the innkeepers script!
- if (@state == 7) goto L_Have_Soul;
+ if (@state >= 7) goto L_Have_Soul;
if (@state == 6) goto L_Want_Soul;
if (@state == 5) goto L_Apologize;
if (@state == 4) goto L_Waiting;
@@ -201,19 +201,49 @@ L_Apologize:
close;
L_Want_Soul:
+ if (@golbanez >= 7) goto L_Soul;
+ mes "[Savaric]";
+ mes "\"Welcome back! Are you still working on getting my soul back?\"";
+ menu
+ "I'm doing my best",-,
+ "Yes, but it isn't easy.",-;
+
+ mes "[Savaric]";
+ mes "\"Thank you so much! I'm counting on you!\"";
+ close;
+
+L_Soul:
+ mes "[Savaric]";
+ mes "\"My soul came back! Oh thank you!\"";
+ next;
+ mes "\"Please take this as a symbol of my gratitude.\"";
+ getinventorylist;
+ if (@inventorylist_count == 100) goto L_Full_Inv;
+ //TODO: determine and give reward
+ getitem "Acorn", 1;
+ set @state, 7;
+ callsub S_Update_Mask;
close;
L_Have_Soul:
+ mes "[Savaric]";
+ mes "\"I'll be in your debt forever. Thank you so much.\"";
close;
L_Reid:
mes "[Savaric]";
- mes "\"Relationship? Well, she the innkeeper of this inn and I'm a patron. There is nothing more about this to say.\"";
+ mes "\"Relationship? Well, she is the innkeeper of this inn and I'm a patron. There is nothing more about this to say.\"";
close;
L_Not_Enough_Crystals:
mes "It seems, you managed to get some, but not enough. Can you bring me more?";
close;
+
+L_Full_Inv:
+ mes "[Savaric]";
+ mes "\"Oh, you can't carry anything more. Come back when you can take it.\"";
+ close;
+
L_Close:
close;