summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJesusaves <cpntb1@ymail.com>2020-11-12 11:29:33 -0300
committerJesusaves <cpntb1@ymail.com>2020-11-12 11:29:33 -0300
commit98236e75e2d7a52dcc6f5d92abc130a625bdbf23 (patch)
tree1a027bea8cab3aa6ec1127c9e204c36ad0334519
parent35a310b07a3e7d41647097ea2491870cbaa75f94 (diff)
downloadserverdata-98236e75e2d7a52dcc6f5d92abc130a625bdbf23.tar.gz
serverdata-98236e75e2d7a52dcc6f5d92abc130a625bdbf23.tar.bz2
serverdata-98236e75e2d7a52dcc6f5d92abc130a625bdbf23.tar.xz
serverdata-98236e75e2d7a52dcc6f5d92abc130a625bdbf23.zip
Anwar's Quest (placeholder version from ML)
-rw-r--r--npc/020-1/anwar.txt26
-rw-r--r--npc/020-1/eomie.txt180
-rw-r--r--npc/020-1/hocus.txt88
3 files changed, 281 insertions, 13 deletions
diff --git a/npc/020-1/anwar.txt b/npc/020-1/anwar.txt
index e35944e1..552f76cf 100644
--- a/npc/020-1/anwar.txt
+++ b/npc/020-1/anwar.txt
@@ -21,7 +21,7 @@
if (.@q == 6) goto L_FirstTry;
if (.@q == 5) goto L_TryIt;
if (.@q >= 1) goto L_FirstTry;
- // TODO: "What is this contraband fake potion you have there?! I do not accept potions without the seal of the Magic Academy. They might not work."
+ // TODO: "What is this contraband fake potion you have there?! I do not accept potions without the seal of the Magic Academy. They might not work and I won't have warranty."
speech
l("Hi there."),
@@ -47,29 +47,37 @@ L_Complete:
L_AnwarField:
mesn;
- mesq l("My crops! Hurry up, and talk to Eomie!!");
+ mesq l("My crops! Hurry up, and talk to Hocus!!");
close;
L_Sure:
mes "";
mesn;
- mesq l("Great! Eomie, the girl on the magic academy, is a real Nature mage. She probably makes fertilizers.");
+ mesq l("Great! Hocus, the magic academy grandmaster, is a real Nature mage. He probably makes fertilizers.");
next;
mesn;
- mesq l("Please, talk to her. Maybe she understands the direness of the situation and help... But you know. Raijin.");
+ mesq l("Please, talk to him. I am too busy tending the crops to go myself.");
setq TulimsharQuest_AnwarField, 1;
close;
L_FirstTry:
mesn;
- mesq l("Good luck getting the fertilizer from Eomie!");
+ mesq l("Good luck getting the fertilizer from Hocus!");
+ if (countitem(FertilityPotion))
+ mesc l("Anwar will only accept fertility potions certified by the Magic Academy.");
close;
L_TryIt:
.@q2=getq2(TulimsharQuest_AnwarField);
+ if (!countitem(FertilityPotion)) {
+ mesn;
+ mesq l("Bring me the fertilizer!");
+ close;
+ }
mesn;
mesq l("You've brought me fertilizer! Let me see if it works...");
next;
+ delitem FertilityPotion, 1;
setq2 TulimsharQuest_AnwarField, .@q2+1;
// Fail chances are 100% - 13% per attempt
@@ -95,7 +103,7 @@ L_TryIt:
L_SecondTry:
mesn strcharinfo(0);
- mesq l("Here is the bug bomb! Eomie just gave me. Hurry up!");
+ mesq l("Here is the bug bomb! Hocus just gave me. Hurry up!");
next;
getexp 20, 0;
specialeffect(51);
@@ -109,16 +117,16 @@ L_SecondTry:
L_FirstReward:
mesn;
- mesq l("Here are two %s. Please deliver it to them. I hope they'll like it.", getitemlink(PlushMouboo));
+ mesq l("Here are two %s. Please deliver it to them. I hope they'll like it.", getitemlink(SilverBell));
setq TulimsharQuest_AnwarField, 10, 0;
- getitembound(PlushMouboo, 2, 4); // Prevent accidental item loss
+ getitembound(SilverBell, 2, 4); // Prevent accidental item loss
close;
L_SecondReward:
.@q2=getq2(TulimsharQuest_AnwarField);
if (.@q2 < 3){
mesn;
- mesq l("Please deliver the two %s to Tinris and Eomie, and then I'll give you something for your help.", getitemlink(PlushMouboo));
+ mesq l("Please deliver the two %s to Eomie and Hocus, and then I'll give you something for your help.", getitemlink(SilverBell));
close;
}
setq TulimsharQuest_AnwarField, 11, 0;
diff --git a/npc/020-1/eomie.txt b/npc/020-1/eomie.txt
index bef49615..fad51c21 100644
--- a/npc/020-1/eomie.txt
+++ b/npc/020-1/eomie.txt
@@ -1,21 +1,193 @@
-// Evol scripts.
+// The Mana World scripts.
// Author:
// Micksha
+// Jesusalva
// Description:
// Eomie, the real Nature Mage. Whatever Hocus is saying.
-// THIS IS A PLACEHOLDER!
+// ANWAR QUEST PART IS COPY-PASTA FROM MOUBOOTAUR LEGENDS
+// THIS IS A PLACEHOLDER!! The Nature Magic questline is missing.
020-1,76,96,0 script Eomie NPC_EOMIE,{
+ .@q=getq(TulimsharQuest_AnwarField);
+
+ // Results: 6 - nothing. 7- bug feast.
+ // On status 7, you need to talk to Hocus.
+ // Then Hocus will finish stuff for you, and it's reward time.
+ if (.@q == 10) goto L_Gift;
+ if (.@q == 7) goto L_Success;
+ if (.@q == 6) goto L_Fail;
+ if (.@q == 4) goto L_Craft;
+ if (.@q == 3) goto L_Back;
+ if (.@q == 2) goto L_Start;
+ if (.@q == 1) goto L_Refuse;
+
+ // Placeholder dialog
+ if (.@q == 5)
+ mesc l("I still have Anwar's fertilizer with me.");
speech
l("Hi!"),
l("Did you talk to Hocus already? He will tell you about salad, again."),
l("Sometimes I think he is more a chef than a mage, but oh well, everybody should do what suits them best.");
close;
+// READ THE HOLY DIALOGS!!
+L_Refuse:
+ mesn strcharinfo(0);
+ mesq l("Hello! Anwar sent me to get fertilizer to save Tulimshar from famine, could you help me?");
+ next;
+ mesn;
+ mesq l("Not now, I'm busy tending the garden.");
+ close;
+
+L_Start:
+ mesn strcharinfo(0);
+ mesq l("Hello, could I help you in exchange for fertilizer?");
+ next;
+ mesn;
+ mesq l("Actually, yes. The birthday of me and my boyfriend is coming up. He always give me chocolate cake, so I want to surprise him for once. Bring me 12 @@ and I'll make the fertilizer for you.", getitemlink(CherryCake));
+ setq TulimsharQuest_AnwarField, 3;
+ close;
+
+L_Back:
+ mesn;
+ mesq l("So, did you brought me the twelve cherry cakes?");
+ mes "";
+ mesn strcharinfo(0);
+ if (askyesno() != ASK_YES) {
+ close;
+ }
+ mes "";
+ if (countitem("CherryCake") < 12)
+ goto L_Lying;
+
+ delitem CherryCake, 12;
+ getexp 200, 5;
+ setq TulimsharQuest_AnwarField, 4;
+ mesn;
+ mesq l("Okay, that is very useful. However, I do need a few reagents to make it.");
+ next;
+ mesn;
+ mesq l("Please, come back later. I'll see whatever I can fetch for that.");
+ close;
+
+L_Craft:
+ mesn;
+ mesq l("So, for the fertilizer. The thing is, all that thing is unstable.");
+ next;
+ mesn;
+ mesq l("This fertilizer is projected to protect the plants from plagues, bugs, scorpions and maggots, trying to not be a plague itself.");
+ next;
+ mesn;
+ mesq l("I have no way to know how much fertilizer you'll be needing. I need @@ @@ and @@ @@ to make a Certified Fertility Potion for you.", 3, getitemlink(Plushroom), 9, getitemlink(MaggotSlime));
+ next;
+ mesn;
+ mesq l("Give that to whoever needs them, and see if it works. Then come tell me the result. Do you have the reagents?");
+ if (askyesno() != ASK_YES)
+ close;
+ mes "";
+
+ if (countitem(Plushroom) < 3||
+ countitem(MaggotSlime) < 9)
+ goto L_Lying;
+
+ inventoryplace FertilityPotion, 1;
+ delitem Plushroom, 3;
+ delitem MaggotSlime, 9;
+ getitembound(FertilityPotion, 1, IBT_CHARACTER);
+ setq1 TulimsharQuest_AnwarField, 5;
+
+ mesn;
+ mesq l("Here it is. Come back to report the results.");
+ close;
+
+L_Fail:
+ setq1 TulimsharQuest_AnwarField, 4;
+ .@q2=getq2(TulimsharQuest_AnwarField);
+ if (.@q2 < 10)
+ getexp 180-(.@q2*10), 0;
+ else
+ getexp 90, 0;
+ mesn;
+ switch (.@q2) {
+ case 1:
+ mesq l("Well, that could not be enough, I said. Here is some experience.");
+ break;
+ case 2:
+ mesq l("Don't worry, third time is the charm. Here is some experience. Let's try again.");
+ break;
+ case 3:
+ mesq l("Okay, here is some experience, and forgot what I've said before. We can try again.");
+ break;
+ case 4:
+ mesq l("Don't worry, I've tweaked my formula this time. Here is some experience and let's try again!");
+ break;
+ case 5:
+ mesq l("I'm sorry, I just... Maybe if...? Aha! Here's the EXP, ready for a next go?");
+ break;
+ case 6:
+ mesq l("Uhm, maybe I mashed the Plushroom too hard this time. Here's EXP as usual, let's try again?");
+ break;
+ case 7:
+ mesq l("I shall not fail any further, I think my new formula is perfect! Here's the EXP, but I need material to use it!");
+ break;
+ case 8:
+ mesq l("I never knew you could fail THAT hard. I've took Saulc's Fertilizer's recipe, success chance is of 100% if you want to try again.");
+ break;
+ default:
+ mesq l("Well, that could fail, I said. Here is some experience.");
+ break;
+ }
+ next;
+ if (countitem(Plushroom) >= 3 &&
+ countitem(MaggotSlime) >= 9)
+ goto L_Craft;
+ mesn;
+ mesq l("Now go, and fetch the materials again. I'll make another fertilizer for you.");
+ close;
+
+L_Success:
+ mesn;
+ mesq l("WHAT? The farm is plagued with insects?!");
+ next;
+ mesn;
+ mesq l("Quick, tell that to Hocus. No one is better at Nature Magic than Hocus, I'm sure he can help.");
+ close;
+
+L_Gift:
+ .@q2=getq2(TulimsharQuest_AnwarField);
+ if (.@q2 & 1) {
+ mesn;
+ mesq l("Thanks for the nice gift!");
+ close;
+ }
+ // Tip. WHAT DID YOU DID WITH THE BOUND ITEM? IT SHOULD BE HARD TO GET RID OF IT...
+ if (countitem(SilverBell) < 1) {
+ mesn;
+ mesq l("Ah, I wish I got something for helping people out...");
+ close;
+ }
+ mesn strcharinfo(0);
+ mesq l("Anwar sent you this, erm, hum... @@.", getitemlink(SilverBell));
+ next;
+ setq2 TulimsharQuest_AnwarField, .@q2+1;
+ delitem SilverBell, 1;
+ getexp 95, 1;
+ mesn;
+ mesq l("WOW, THIS IS AWESOME! Many, many thanks!!");
+ close;
+
+L_Lying:
+ mesn;
+ mesq l("Ah, so you think you can fool me?");
+ next;
+ percentheal -5, -5;
+ warp "Save", 0, 0;
+ dispbottom l("Ah... Was I warped?");
+ closedialog;
+ close;
+
OnInit:
.bodytype = BODYTYPE_2;
.distance = 4;
end;
}
-
-
diff --git a/npc/020-1/hocus.txt b/npc/020-1/hocus.txt
index aee036e5..6dcff878 100644
--- a/npc/020-1/hocus.txt
+++ b/npc/020-1/hocus.txt
@@ -7,6 +7,10 @@
// THIS IS A PLACEHOLDER!
020-1,73,91,0 script Hocus NPC_MAGE_BROWN,{
+ function anwarNotMe;
+ function anwarFirstAid;
+ function anwarGift;
+
speech
l("Hi!"),
l("You should eat more salad. I see in your face that your nutrition is not good."),
@@ -20,6 +24,9 @@
select
rif(getq(General_Cooking) == 15, l("Please enlighten me, O Grandmaster, where can I find Salad to improve my eating habits?")),
rif(getq(General_Cooking) == 16, l("I've brought you the promised.")),
+ rif(getq(TulimsharQuest_AnwarField) == 1, l("Hello, do you make Fertility Potions?")),
+ rif(getq(TulimsharQuest_AnwarField) == 7, l("HELP! Anwar field is under worm attack!!")),
+ rif(getq(TulimsharQuest_AnwarField) == 10, l("Anwar sent you a gift.")),
l("Thanks for your wise words.");
mes "";
switch (@menu) {
@@ -64,9 +71,90 @@
getitem BlueberryCake, 1;
setq1 General_Cooking, 17;
break;
+ // Anwar Quest
+ case 3:
+ anwarNotMe();
+ break;
+ case 4:
+ anwarFirstAid();
+ break;
+ case 5:
+ anwarGift();
+ break;
}
close;
+function anwarNotMe {
+ mesn strcharinfo(0);
+ mesq l("Hello Mr. Hocus, kind sir Anwar sent me to fetch some fertilizers to save Tulimshar from famine, if you may?");
+ next;
+ mesn;
+ mesq lg("Sorry kind lady @@, but no.", "Sorry kind sir @@, but no.", strcharinfo(0));
+ next;
+ mesn;
+ mesq l("Or rather, I can't. I would love to help you, just like everybody else, but I don't know how to make fertilizers, only Salad.");
+ next;
+ mesn;
+ mesq l("Eomie probably could do that, she is young but very talented. If you help her, she'll likely help you back.");
+ setq TulimsharQuest_AnwarField, 2;
+ return;
+}
+
+function anwarFirstAid {
+ mesn;
+ mesq l("The crops are under attack? That's terrible!");
+ next;
+ mesn;
+ mesq l("I can do a Certified Purification Potion right away, the warranty covers it. But I still need a few things for it!");
+ next;
+ mesn;
+ mesq l("Do you, perchance, have 2 @@, 2 @@ and 3 @@?", getitemlink(LeftScorpionClaw), getitemlink(RightScorpionClaw), getitemlink(Moss));
+ if (askyesno() != ASK_YES)
+ close;
+ mes "";
+
+ if (countitem(LeftScorpionClaw) < 2 ||
+ countitem(RightScorpionClaw) < 2 ||
+ countitem(Moss) < 3) {
+ mesn;
+ mesq l("Why are you lying? We must cooperate with each other if we want to strive. Otherwise, just like the plants, we will wither and die out. Go fetch the items!");
+ close;
+ }
+
+ delitem LeftScorpionClaw, 2;
+ delitem RightScorpionClaw, 2;
+ delitem Moss, 3;
+ setq TulimsharQuest_AnwarField, 8;
+
+ mesn;
+ mesq l("Quick, deliver this to Anwar!");
+ return;
+}
+
+function anwarGift {
+ .@q2=getq2(TulimsharQuest_AnwarField);
+ if (.@q2 & 2) {
+ mesn;
+ mesq l("Thanks for the nice gift!");
+ close;
+ }
+ // Tip. WHAT DID YOU DID WITH THE BOUND ITEM? IT SHOULD BE HARD TO GET RID OF IT...
+ if (countitem(SilverBell) < 1) {
+ mesn;
+ mesq l("Ah, I wish I got something for helping people out...");
+ close;
+ }
+ mesn strcharinfo(0);
+ mesq l("Anwar sent you this, erm, hum... @@.", getitemlink(SilverBell));
+ next;
+ setq2 TulimsharQuest_AnwarField, .@q2+2;
+ delitem SilverBell, 1;
+ getexp 75, 10;
+ mesn;
+ mesq l("WOW, THIS IS AWESOME! Many, many thanks!!");
+ return;
+}
+
OnInit:
.bodytype = BODYTYPE_2;
.distance = 4;