diff options
Diffstat (limited to 'world/map/npc/029-1/hasan.txt')
-rw-r--r-- | world/map/npc/029-1/hasan.txt | 212 |
1 files changed, 212 insertions, 0 deletions
diff --git a/world/map/npc/029-1/hasan.txt b/world/map/npc/029-1/hasan.txt new file mode 100644 index 00000000..7a6b906e --- /dev/null +++ b/world/map/npc/029-1/hasan.txt @@ -0,0 +1,212 @@ +// This file is part of the Tutorial +// Authors: Jenalya, alastrim +// Hasan should be threatening someone else you come to help +// Going to throw someone in the water +// npctalk 2 NPCs Hasan talks about giving someone a short trip to Docks +// They respond by asking play for help +// Hasan tells them to but out of it. + +029-1.gat,35,33,0|script|Scared Man|160 +{ + setarray @npc_loc, 35, 33, 4; + callfunc "PCtoNPCRange"; + if (@npc_check) + goto L_End; + if (@tutorial >= 13) + goto L_TutDone; + message strcharinfo(0), "He looks too afraid to say anything."; + goto L_End; + +L_TutDone: + message strcharinfo(0), "Thanks. Hasan has been much nicer to me now"; + goto L_End; + +L_End: + end; +} +029-1.gat,33,33,0|script|Hasan|189,3,3 +{ + setarray @npc_loc, 33, 33, 4; + callfunc "PCtoNPCRange"; + if (@npc_check) + goto L_Close; + goto L_Main; + +L_Main: + callfunc "TutorialState"; + if ((getcharid(3) == $@ScorpionFighter) || ($@ScorpionFighter && $@ScorpionFighter != getcharid(3))) + goto L_Afraid; + if (@tutorial == 14) + goto L_TutDone; + if (@tutorial == 13) + goto L_Thank; + if (@tutorial == 12) + goto L_Trick; + if ((@tutorial == 9) || (@tutorial == 10) || (@tutorial == 11)) + goto L_FightAgain; + + mes "You over hear some people nearby."; + mes "[Unfriendly Guy]"; + mes "\"I told you if you didn't get the money, I'd give you swimming lessons, Haha!\""; + mes "[Scared Man]"; + mes "\"But the only person I need protection from is you.\""; + mes "[Unfriendly Guy]"; + mes "\"Thats why the price is so high.\""; + mes "\"Because I'm the toughest person in all of Candor\""; + mes "[Scared Man]"; + mes "\"No, your just a mean bully. Wait till I tell the guards about this!\""; + mes "[Unfriendly Guy]"; + mes "\"You do that and the next swimming lesson will be sleeping with the fishes.\""; + mes "[Scared Man]"; + mes "\"No, please don't. *sob*\""; + mes "Sounds like this person is in trouble.\""; + set @tutorial_tmp, 9; + callfunc "SetTutorialMask"; + mes "[Unfriendly Guy]"; + mes "\"What are you looking at?\""; + menu + "What ever you call maggot slime scrapped off a boat after a walk through the sewers.\"", L_Fight, + "Who me? I saw nothing, just passing by.", L_Close; + +L_FightAgain: + mes "[Hasan]"; + mes "\"Have you come back for a thrashing?\""; + menu + "No.", L_Close, + "Yes.", L_Fight; + +L_Fight: + mes "[Hasan]"; + mes "\"Do you really think you can beat me?\""; + mes "He pulls out a nasty looking dagger and stabs it in your direction."; + set Hp, 1; + mes "That hurt! You begin to think searching for a different solution might be healthier."; + mes "Maybe Kaan can help?"; + goto L_Close; + +L_Trick: + mes "[Hasan]"; + mes "\"Have you come back for another thrashing?\""; + menu + "No.",L_Close, + "Yes, yours! (Scratch your head.)",L_ScratchHead; + +L_ScratchHead: + if ($@ScorpionFighter) + goto L_Wait; + set $@ScorpionTimer, 0; + set $@ScorpionFighter, getcharid(3); + set $@ScorpDeath, PC_DIE_COUNTER; + cmdothernpc "#ScorpionTrigger", "HasanSpawn"; + specialeffect 22; + mes "While you're scratching your head, a scorpion appears."; + close; + +L_Thank: + mes "[Hasan]"; + mes "\"You - you saved me!"; + mes "I was mean to people, but you still saved me!\""; + mes "\"Hey, you're a really cool person."; + mes "I mean, the way you finished that ghastly scorpion!"; + mes "Amazing!\""; + mes "\"Let me tell you something, I will no longer bully people."; + mes "And you can have my Sharp Knife.\""; + getitem "SharpKnife", 1; + set @tutorial_tmp, 14; + callfunc "SetTutorialMask"; + mes "\"You want to go to Hurnscald, right? Shall I tell you how to get there?\""; + menu + "Sure, thanks.",L_HasanThanks, + "I'll try to find the way myself.",L_Explore; + +L_HasanThanks: + mes "[Hasan]"; + mes "\"Ok, when you leave here go back to the city. Wait on the south end of"; + mes "the city for the ferry to arrive at the docks. It will take you to Hurnscald.\""; + goto L_Close; + +L_Explore: + mes "[Hasan]"; + mes "\"Alright. Take care!\""; + goto L_Close; + +L_TutDone: + mes "[Hasan]"; + mes "\"You didn't see anything. I tell you what I'll be nicer if you don't tell anyone?\""; + menu + "As long as you learned your lesson.", L_TutCont; + +L_TutCont: + mes "\"I have, I promise not to bully people anymore. It's not fun being scared.\""; + goto L_Close; + +L_Wait: + mes "There is a scorpion near Hasan already. I think Kaan is helping someone else... Maybe I should try the plan later."; + goto L_Close; + +L_Afraid: + message strcharinfo(0), "Hasan: \"" + strcharinfo(0) + "! Please help me!\""; + end; + +L_Close: + close; + +OnTouch: + if (@tutorial >= 13) + end; + goto L_Main; +} +029-1.gat,0,0,0|script|#ScorpionTrigger|35 +{ + end; + +OnCommandHasanSpawn: + goto L_Summon; + +L_Summon: + monster "029-1.gat",33,33,"WeakScorpion",1046,1, "#ScorpionTrigger::OnScorpionDeath"; + initnpctimer; + end; + +L_SummonAgain: + message strcharinfo(0), "Kaan is mad at you for your interference! He summons a rock above your head, then summons another scorpion near Hasan!"; + percentheal -100, 0; + goto L_Summon; + +OnTimer5000: + if (attachrid($@ScorpionFighter) == 0) + goto L_Clean; + set $@ScorpionTimer, $@ScorpionTimer + 5; + if ($@ScorpionTimer >= 300) + goto L_TimeOut; + if (PC_DIE_COUNTER > $@ScorpDeath) + goto L_MessageDeath; + setnpctimer 0; + end; + +OnScorpionDeath: + if (getcharid(3) != $@ScorpionFighter) + goto L_SummonAgain; + if (@tutorial != 12) + goto L_Clean; + set @tutorial_tmp, 13; + callfunc "SetTutorialMask"; + message strcharinfo(0), "You saved Hasan."; + goto L_Clean; + +L_TimeOut: + message strcharinfo(0), "Hasan, with his eyes almost closed, trembling with fear, runs toward the scorpion and stabs it with all his strength!"; + goto L_Clean; + +L_MessageDeath: + message strcharinfo(0), "Ouch... I should be more careful when fighting these monsters."; + goto L_Clean; + +L_Clean: + killmonster "029-1.gat", "#ScorpionTrigger::OnScorpionDeath"; + set $@ScorpionFighter, 0; + set $@ScorpionTimer, 0; + set $@ScorpDeath, 0; + stopnpctimer; + end; +} |