summaryrefslogtreecommitdiff
path: root/world/map/npc/042-2/tanisha.txt
diff options
context:
space:
mode:
Diffstat (limited to 'world/map/npc/042-2/tanisha.txt')
-rw-r--r--world/map/npc/042-2/tanisha.txt275
1 files changed, 275 insertions, 0 deletions
diff --git a/world/map/npc/042-2/tanisha.txt b/world/map/npc/042-2/tanisha.txt
new file mode 100644
index 00000000..3ed5c6bc
--- /dev/null
+++ b/world/map/npc/042-2/tanisha.txt
@@ -0,0 +1,275 @@
+// This file is part of the Tutorial
+// Authors: Jenalya, alastrim
+
+042-2.gat,37,90,0 script Tanisha 114,{
+
+ set @playerlimit, 4;
+
+ if ((getx(0) > 29) && (getx(0) < 37) && (gety(0) > 84) && (gety(0) < 90)) goto L_Fighting;
+
+ if (FLAGS & FLAG_TUTORIAL_DONE) goto L_Tut_Done;
+ if (tanisha == 4) goto L_Again;
+ if (tanisha == 3) goto L_Stats;
+ if (tanisha == 2) goto L_Fail;
+ if (tanisha == 1) goto L_Maggots;
+
+ mes "[Tanisha]";
+ mes "\"Hey! You're up again!\"";
+ emotion 3;
+ next;
+ mes "\"Are you feeling better?\"";
+ next;
+ menu
+ "Yes, thank you.",-,
+ "Yeah, but all my stuff is gone.",-;
+ mes "[Tanisha]";
+ mes "\"I'm glad you're feeling better. It was really bad luck what happened to you.";
+ mes "Hey, I have an idea.\"";
+ next;
+L_Maggots:
+ set tanisha, 1;
+ mes "\"There are some maggots eating the goods and I'm supposed to get rid of them.";
+ mes "But they're so yucky!\"";
+ next;
+ mes "\"If you kill them, I'll give you my knife.";
+ mes "What do you say?\"";
+ next;
+ menu
+ "Sure!",-,
+ "That's your job.",L_Close;
+ mes "[Tanisha]";
+ mes "\"Wonderful!\"";
+ if ($@TUT_MAGGOT >= @playerlimit)
+ goto L_Crowded;
+ set $@TUT_MAGGOT, $@TUT_MAGGOT + 1;
+ getitem "Knife", 1;
+ next;
+L_Fight_Again:
+ mes "\"Ok, listen what to do.";
+ mes "Equip the knife and kill the maggots.\"";
+ next;
+ mes "\"Press A to focus on a monster. With X you can focus and start attacking the same time.";
+ mes "But it also works to click on the monster with your mouse.\"";
+ next;
+ mes "\"If you press the left Shift button, you can abort your attack.\"";
+ next;
+ mes "\"Maggots aren't aggressive, so they won't harm you until you attack them first. Take them out one by one.\"";
+ next;
+ mes "\"Sometimes dead monsters leave some useful things. You can pick them up by pressing Z or clicking on the items with your mouse.\"";
+ set tanisha, 2;
+ set @maggot, 0;
+ set @time, 0;
+ close2;
+ warp "042-2.gat", 33, 87;
+
+L_Summon:
+ monster "042-2.gat", getx(0), gety(0), "", 1002, 1, "Tanisha::onMaggotDeath";
+ startnpctimer;
+ end;
+
+L_Stats:
+ mes "[Tanisha]";
+ mes "\"That was great! Like a professional exterminator!\"";
+ next;
+ mes "\"And it seems you became stronger and more experienced.";
+ mes "That means you got some status points which you can use to increase your abilities.\"";
+ next;
+ mes "\"Press F2 or click the Status button in the bar at the upper right to see your status window. There you can distribute your points on six different properties.\"";
+ next;
+L_StatsRe:
+ mes "\"Strength makes you hit harder and you can carry more weight.\"";
+ next;
+ mes "\"Agility increases your attack speed and your ability to dodge attacks.\"";
+ next;
+ mes "\"Vitality gives you more hit points and more defense against physical attacks.\"";
+ next;
+ mes "\"Intelligence is useful for magic attack and defense.\"";
+ next;
+ mes "\"Dexterity is needed to hit monsters. It's also very important for the damage if you use a ranged weapon.\"";
+ next;
+ mes "\"Luck gives you the chance to do critical hits and lowers the chance to receive a critical hit from your opponent.\"";
+ next;
+ mes "\"Think about how you want to play before assigning the points.\"";
+ next;
+ mes "Also I heard rumors about a strange guy lurking around in the desert south of Tulimshar who can help you to forget your abilities!\"";
+ mes "Tanisha looks at you with wide opened eyes.";
+ next;
+ mes "[Tanisha]";
+ mes "\"But I doubt he'd do that without a service in return.\"";
+
+ if (tanisha == 3) goto L_Advice;
+ close;
+
+L_Advice:
+ next;
+ mes "[Tanisha]";
+ mes "\"When you go to Tulimshar, you should see Bernard. He can make a delicious soup!";
+ mes "Good luck!\"";
+ emotion 3;
+ if (tanisha == 3)
+ set tanisha, 4;
+ close;
+
+L_Again:
+ mes "[Tanisha]";
+ mes "\"Hi there! Is everything alright? Do you have questions?\"";
+ next;
+ if (hasan)
+ menu
+ "A guy named Hasan won't let me enter Tulimshar.",L_Hasan,
+ "Yes, could you explain again about...",L_Explain,
+ "No, thanks.",L_Close;
+ menu
+ "Yes, could you explain again about...",L_Explain,
+ "No, thanks.",L_Close;
+ close;
+
+L_Explain:
+ menu
+ "... how to fight?",L_Fight,
+ "... monsters?",L_Mob,
+ "... status points?",L_StatsRe,
+ "... what to do in Tulimshar?",L_Advice,
+ "... nevermind.",L_Close;
+
+L_Fight:
+ mes "[Tanisha]";
+ mes "\"Press A to focus on a monster. With X you can focus and attack.";
+ mes "But it also works to click on the monster with your mouse.\"";
+ next;
+ mes "\"If you press the left Shift button, you can abort your attack.\"";
+ next;
+ mes "\"Sometimes dead monsters leave some useful things. You can pick them up with pressing Z or clicking on the items with your mouse.\"";
+ next;
+ mes "\"If you feel exhausted from battle you can sit down by pressing S to recover faster.\"";
+ close;
+
+L_Mob:
+ mes "[Tanisha]";
+ mes "\"I don't know much about monsters, I'm just a little girl. But I know a few things.";
+ mes "There are several types of monsters...Aggressive, Neutral, and Assistants.\"";
+ next;
+ mes "\"Aggressive monsters will attack you as soon as they see you.\"";
+ next;
+ mes "\"Neutral monsters are peaceful until they get attacked.\"";
+ next;
+ mes "\"Assistants are monsters who help each other.\"";
+ close;
+
+L_Hasan:
+ mes "[Tanisha]";
+ mes "\"Bah, Hasan. He's a jerk. But he's very strong.\"";
+ next;
+ mes "\"The only thing he's afraid of are scorpions.";
+ mes "I'm not sure why, some bad experience when he was a child.";
+ mes "That was before I was born.\"";
+ if (hasan == 1)
+ set hasan, 2;
+ close;
+
+L_Tut_Done:
+ mes "[Tanisha]";
+ mes "\"These yucky maggots! They're eating our goods!";
+ mes "No matter how many of them you kill, they always come back.\"";
+ mes "She sighs.";
+ next;
+ mes "[Tanisha]";
+ mes "\"Do you have any questions?\"";
+ menu
+ "Yes, could you explain about...",L_Explain,
+ "No, thanks.",L_Close;
+ close;
+
+L_Crowded:
+ mes "[Tanisha]";
+ mes "\"That's great! But...";
+ mes "it seems a little crowded in there.\"";
+ next;
+ mes "\"Let's wait a short while.\"";
+ close;
+
+L_Sleep:
+ warp "042-2.gat", 36, 90;
+ mes "[Tanisha]";
+ mes "\"What are you doing in there?";
+ mes "Sleeping?";
+ mes "Come back when you're serious.\"";
+ set @maggot, 0;
+ set @time, 0;
+ if ($@TUT_MAGGOT > 0)
+ set $@TUT_MAGGOT, $@TUT_MAGGOT - 1;
+ if ($@TUT_MAGGOT == 0) stopnpctimer;
+ if ($@TUT_MAGGOT == 0) setnpctimer 0;
+ close;
+
+L_Fail:
+ mes "Tanisha seems to be trying hard to supress laughter.";
+ mes "[Tanisha]";
+ mes "\"The maggots defeated you.\"";
+ next;
+ mes "She bursts out with laughter.";
+ mes "[Tanisha]";
+ mes "\"Oops, I'm sorry. It's just too funny.";
+ mes "Do you want to try it again?\"";
+ next;
+ menu
+ "Sure!",-,
+ "No, I need a rest.",L_Close;
+ if ($@TUT_MAGGOT >= @playerlimit)
+ goto L_Crowded;
+ goto L_Fight_Again;
+ set $@TUT_MAGGOT, $@TUT_MAGGOT + 1;
+ close;
+
+L_Fighting:
+ message strcharinfo(0), "Tanisha: I believe in you!";
+ end;
+
+OnTimer1000:
+ setnpctimer 0;
+ if (getareausers("042-2.gat", 29, 85, 36, 90) < 1)
+ goto L_CleanUp;
+ areatimer "042-2.gat", 30, 85, 36, 89, 10, "Tanisha::onTick";
+ end;
+
+L_CleanUp:
+ killmonster "042-2.gat", "Tanisha::onMaggotDeath";
+ set $@TUT_MAGGOT, 0;
+ stopnpctimer;
+ setnpctimer 0;
+ end;
+
+onTick:
+ set @time, @time + 1;
+ if (@time > 300)
+ goto L_Sleep;
+ if (isdead(0)) end;
+ if (hp > 20)
+ goto L_NoHeal;
+ heal MaxHp, 0;
+ message strcharinfo(0), "Tanisha: You're doing good!";
+L_NoHeal:
+ if (@maggot < 5)
+ end;
+ warp "042-2.gat", 36, 90;
+ set tanisha, 3;
+ set @maggot, 0;
+ set @time, 0;
+ if ($@TUT_MAGGOT > 0)
+ set $@TUT_MAGGOT, $@TUT_MAGGOT - 1;
+ if ($@TUT_MAGGOT == 0) stopnpctimer;
+ if ($@TUT_MAGGOT == 0) setnpctimer 0;
+ close;
+
+onMaggotDeath:
+ if (@maggot == 1) message strcharinfo(0), "Tanisha: Aaahhhh... another one! It will crawl up your legs!";
+ if (@maggot == 2) message strcharinfo(0), "Tanisha: Ohh... Irrhk... Eeeeww... They just appear from nowhere!";
+ if (@maggot == 3) message strcharinfo(0), "Tanisha: Yuck... I think I am getting sick.";
+ if ((getx(0) > 29) && (getx(0) < 37) && (gety(0) > 84) && (gety(0) < 90)) set @maggot, @maggot + 1;
+ if (@maggot < 5 && (getx(0) <= 29) || (getx(0) >= 37) || (gety(0) <= 84) || (gety(0) >= 90)) monster "042-2.gat", 33, 87, "", 1002, 1, "Tanisha::onMaggotDeath";
+ if (@maggot < 5 && (getx(0) > 29) && (getx(0) < 37) && (gety(0) > 84) && (gety(0) < 90)) monster "042-2.gat", getx(0), gety(0), "", 1002, 1, "Tanisha::onMaggotDeath";
+ end;
+
+L_Close:
+ close;
+}