From c2143b37b2308b47f7b0bb087c18227162c1f734 Mon Sep 17 00:00:00 2001 From: Jesusaves Date: Mon, 22 Oct 2018 11:51:12 -0200 Subject: Prepare Cindy Cave rules and logic --- npc/021-1/logic.txt | 6 ++- npc/021-1/yeti.txt | 111 +++++++++++++++++++++++++++++++++++++++++++++++++++- 2 files changed, 115 insertions(+), 2 deletions(-) (limited to 'npc/021-1') diff --git a/npc/021-1/logic.txt b/npc/021-1/logic.txt index 0b0a7d75a..fe2567bd6 100644 --- a/npc/021-1/logic.txt +++ b/npc/021-1/logic.txt @@ -3,8 +3,9 @@ // The Mana World Team // Jesusalva // Description: -// Cave logic. Controls also switchs and false warps. +// Cave logic. Controls also switchs and false warps. See soren/main for more info. +// Passages 021-1,155,196,0 script #MainCindyLogic NPC_NO_SPRITE,0,0,{ end; OnTouch: @@ -31,3 +32,6 @@ OnTouch: end; } + +// Other + diff --git a/npc/021-1/yeti.txt b/npc/021-1/yeti.txt index 258dc94c0..95b89decc 100644 --- a/npc/021-1/yeti.txt +++ b/npc/021-1/yeti.txt @@ -16,8 +16,12 @@ // a special behavior or not. .@q=getq(NivalisQuest_Cindy); - // if (.@q == 999) goto L_Cindy; + if (.@q == 1) goto L_Assigned; // Quest Assigned + if (.@q == 2) goto L_Report; // Quest (Sub) Accepted + if (.@q <= 5) goto L_Instructions; // Quest (Sub) Completed + if (.@q >= 6) goto L_Complete; // Quest completed at least once. +L_Thanks: mesn; mesq l("Hey, thanks for saving me. You know, from the well."); next; @@ -28,6 +32,111 @@ mesq l("Yes, exactly. Thanks for the rescue. I must guard this area from the caves, if you need, just call me."); close; +L_Assigned: + mesn; + mesq l("Hello my friend."); + next; + select + l("Hi."), + l("Hm, do you perhaps know where to find Cindy and could help me?"), + l("Die, your evil Yeti!"); + mes ""; + switch (@menu) { + case 1: goto L_Thanks; + case 2: + mesn; + mesq l("Hm, would \"Cindy\" be a small, little girl, kidnapped by some sturdy-looking rogue Yetis?"); + next; + mesn strcharinfo(0); + mesq l("Probably."); + next; + mesn; + mesq l("Well, yes, I've saw them heading off to the Yeti King room. Lately, many Yetis have been uprising against your majesty."); + next; + mesn; + mesq l("Unfortunately, @@s are not welcome on the Yeti Domains. You're no exception.", get_race()); + next; + mesn strcharinfo(0); + select + l("Alright, good bye."), + l("Can't I do anything, though?"), + l("Tell me how or I'll kill you!"); + mes ""; + if (@menu == 3) { + mesn; + mesq l("Now, that's unfortunate. I don't think you can hit me from where you are."); + next; + mesn; + mesq l("Besides, I know these caves like the back of my hand. You would have a hard time tracking me down."); + next; + mesn; + mesq l("In fact, you would get lost and killed. If I were you, I would avoid the Death Penalty. It's high, ya know?"); + } else if (@menu == 2) { + mesn; + mesq l("Well, the Yeti King has went away to the cliffs north of this one. He'll get back here very hungry."); + next; + mesn; + mesq l("I am his right-hand Yeti, so I could grant you passage to his Throne Room to slay the rogue Yetis..."); + next; + mesn; + mesq l("...But saving me won't be enough, so build trust by the kind gift of 100 @@. I'll be waiting.", getitemlink(MoubooSteak)); // A normal Steak could do, but... + setq NivalisQuest_Cindy, 2; + } + close; + case 3: + mesn; + mesq l("That's rude. I never did anything to you."); + next; + mesn; + mesq l("Please get moving, @@. I do not mean any harm to you.", get_race()); + close; + } + close; + +L_Report: + mesn; + mesq l("Did you brought us a kind gift of good will, on the worth of 100 @@, to offer to our King?"); + next; + select + rif(countitem(MoubooSteak) >= 100, l("Yes, here they are.")), + l("Not yet."); + mes ""; + if (@menu == 2) { + mesn; + mesq l("Then please bring me this, so I can help you back."); + close; + } + delitem MoubooSteak, 100; + setq NivalisQuest_Cindy, 3; + mesn; + mesq l("Great. I hereby task you to kill the rogue Yetis on the Yeti King Throne Room. Of course, you won't be able to leave until all of them are dead."); + next; + mesn; + mesq l("Getting there is tricky, so listen carefully to the instructions:"); + next; +L_Instructions: + mesn l("ROGUE YETI SLAYING REQUEST"); + mesc l("Mission: Kill all rogue Yetis on the Throne Room. You won't be able to leave until all of them are dead."); + next; + mesc l("Directions: "); + mesc l("You must flip all 5 switches on this cave, and then walk accross the cave blocked with an etheral crystal."); + mesc l("It'll lead you to somewhere random on this cave to keep intruders out. Just walk there again while all switches are still active."); + mesc l("The Throne Room is the last room. You can reactive any switch which turns itself off."); + next; + mesc l("Notes: "); + mesc l("To unlock the cell on the middle of the throne room, you need to flip all 5 switches there."); + mesc l("You need a Treasure Key to flip each switch, regardless of which cave it is in."); + mesc l("EVERY switch on EVERY cave will unflip itself after 2 minutes. So don't waste your time."), 1; + next; + mesn; + mesq l("Good luck. %%1"); + close; + +L_Complete: + mesc l("ToDo"), 1; + close; + +// The other NPC L_NoQuest: @yetiagro=@yetiagro+1; if (@yetiagro > 5) goto L_Hit; -- cgit v1.2.3-70-g09d2