summaryrefslogtreecommitdiff
path: root/npc
diff options
context:
space:
mode:
Diffstat (limited to 'npc')
-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
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;