From 4d33051660f1dda176ea9a9fff61b4371fefbe1a Mon Sep 17 00:00:00 2001 From: Jesusaves Date: Tue, 22 May 2018 08:54:38 -0300 Subject: Write Sorfina. Don't expect it to work. --- npc/003-4/sorfina.txt | 94 ++++++++++++++++++++++++++++++++++++++++++++++----- 1 file changed, 85 insertions(+), 9 deletions(-) diff --git a/npc/003-4/sorfina.txt b/npc/003-4/sorfina.txt index 6ee621824..4e6a280fb 100644 --- a/npc/003-4/sorfina.txt +++ b/npc/003-4/sorfina.txt @@ -4,28 +4,104 @@ // Jesusalva // Description: // Sorfina is Hasan's mother. +// +// GETQ1 Variable Value; +// 0 - Never stolen by Hasan +// 1 - Already stolen by Hasan +// 2 - Dausen pointed player to Sorfina +// 3 - Sorfina unlocked Mahoud's Basement +// 4 - Player killed Murderer Scorpion +// 5 - Quest is complete 003-4,39,33,0 script Sorfina NPC_FEMALE,{ - //if (getq(TulimsharQuest_Hasan) == 2) goto - //if (getq(TulimsharQuest_Hasan) == 3) goto - //if (getq(TulimsharQuest_Hasan) == 4) goto + if (getq(TulimsharQuest_Hasan) == 2) goto L_Trouble; + if (getq(TulimsharQuest_Hasan) == 3) goto L_Basement; + if (getq(TulimsharQuest_Hasan) == 4) goto L_Finished; + // Status 5 returns to default message //if (getq(TulimsharQuest_Hasan) == 5) goto mesn; mesq l("Hello, darling!"); close; +L_Trouble: + mesn strcharinfo(0); + mesq l("Your son, Hasan, has stolen me!"); + next; + mesn; + mesq l("Oh, he has been a little rascal since his father died."); + mes col("*cries*", 9); + next; + mesn; + mesq l("You see, after a monster attack... He went to the desert, to check how things were..."); + mes col("*cries*", 9); + next; + mesn; + mesq l("He never touched the Soul Menhir... He died... For real..."); + mes col("*cries*", 9); + next; + mesn; + mes col("Sorfina recomposes herself.", 9); + mesq l("There is a rare kind of scorpion, the Murderer Scorpion. Very dangerous."); + setq TulimsharQuest_Hasan, 3; + setq2 TulimsharQuest_Hasan, -1; + next; + goto L_Basement; + +L_Basement: + if (BaseLevel < 13) goto L_TooWeak; + if (isinstance(getq2(TulimsharQuest_Hasan))) goto L_Wait; + mesn; + mesq l("There's one on the basement of this house. If you kill it, Hasan will think on you as a hero and won't steal you anymore."); + next; + menu + l("I will kill one."), L_OpenDoors, + l("Maybe later."), L_Close; + +L_OpenDoors: + .@ID=getcharid(0); + .@MAP_NAME$="hasn@"+str(.@ID); // Max 4 chars for map name + .@INSTID = instance_create("003-4-1@a"+(.@ID), getcharid(3), IOT_CHAR); + .@instanceMapName$ = instance_attachmap("003-4-1", .@INSTID, 0, .@MAP_NAME$); + setq2 TulimsharQuest_Hasan, .@INSTID; + + // Debug + if (.@instanceMapName$ == "") debugmes "Error: Map 003-4-1 X failed"; + debugmes "Created map: "+ str(.@instanceMapName$); + + // You have 5 minutes to complete the quest. + instance_set_timeout(300, 300, .@INSTID); + instance_init(.@INSTID); + + .@x=rand(29, 45); + .@y=rand(29, 41); + monster(.@MAP_NAME$, .@x, .@y, l("Murderer Scorpion"), MurdererScorpion, 1, "Sorfina::OnKillMurderer"); + mesn; + mesq l("Just go to the basement, past this door. Good luck, @@!", strcharinfo(0)); + close; +L_Wait: + mesn; + mesq l("Good luck killing it! And don't forget to touch the Soul Menhir before you go!"); + close; +L_TooWeak: + mesn; + mesq l("You are too weak to kill one and impress him, so please, bear my son."); + close; +L_Close: + close; +L_Finished: + mesn; + mesq l("Please, show Hasan the claw. Just talk to him."); + close; - - - - - - +OnKillMurderer: + setq TulimsharQuest_Hasan, 4; + dispbottom l("I will take a claw and show Hasan."); + end; OnInit: .@npcId = getnpcid(0, .name$); -- cgit v1.2.3-70-g09d2