summaryrefslogtreecommitdiff
path: root/world/map/npc/029-1/hasan.txt
diff options
context:
space:
mode:
Diffstat (limited to 'world/map/npc/029-1/hasan.txt')
-rw-r--r--world/map/npc/029-1/hasan.txt212
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;
+}