From 8ba54244eb2842b9182b143d804d4bdba5343476 Mon Sep 17 00:00:00 2001 From: Jessica Tölke Date: Sun, 6 Feb 2011 12:03:37 +0100 Subject: gy inn: lovetriangle quest, adding last part. Now missing: rewards and right values for needed items --- npc/027-2_Caretakers_House/golbanez.txt | 71 +++++++++++++++++++++++++++++++- npc/027-2_Caretakers_House/husband.txt | 10 ++++- npc/027-2_Caretakers_House/innkeeper.txt | 10 ++++- npc/027-2_Caretakers_House/lover.txt | 34 ++++++++++++++- 4 files changed, 120 insertions(+), 5 deletions(-) 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; -- cgit v1.2.3-60-g2f50 From 6b0a6e31c8b283be14d5607409eecca5d588c725 Mon Sep 17 00:00:00 2001 From: Jessica Tölke Date: Sun, 6 Feb 2011 13:11:22 +0100 Subject: Fixing some deleting of items without a check for the items right before in Alan and Agostine --- npc/009-2_Hurnscald/alan.txt | 20 +++++++++++++------- npc/021-2_Tulimshar/furquest.txt | 23 +++++++++++++---------- 2 files changed, 26 insertions(+), 17 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; } -- cgit v1.2.3-60-g2f50