summaryrefslogblamecommitdiff
path: root/world/map/npc/042-2/tanisha.txt
blob: 4361e582659e66b8d5aad59c3f3f50f5e920d06e (plain) (tree)
1
2
3
4
5
6
7
8
9


                                    

                                             
                            


                                                                                                  



                                                         
                                         





                                          
             



                                                    
                                                                                             


                                     
                       
                                                                                             



                                                          
             




                                           

                                         
                                           
                           
             
              


                                                      
                                                                                                       

                                                                           
                                                                                 
             
                                                                                                                           
             
                                                                                                                                                 
                       

                       

                                 


                                                                                     









                                                                                                    
                                                                                                                                                                                 





                                                                                         
                                                                                                
             

                                                                                                
             
                                                                                                                           


                                                                                                                                    
                                                                                
             
                                                                                                                                                   


                                                          
                                                                        
 
                                        


              
             
                        
                                                                                                

                           

                               


              

                                                                          
             

                    
                                                                                  











                                                                          
                                                        






                                                                                
                                                                                 
             
                                                                                                                                                   
             
                                                                                                      




                                                                                                   
                                                                                           


                                                                               
                                                                         







                                                                 
                                                             



                                                                         
              
 
           
                        
                                                               

                                                                            





                                                            

              


                                     
                                                    









                                               





                                                   


              
                                                                   




                                            
                                                      










                                             



                                                             



                                                          
                                                                     


            
                                                          
                            




                      


                             





                                                              
                        

                                 
                       

                       

                                                   

                                             


              
                                                                                                                 
                                                                                                                      
                                                                                                


                                                                                                                                                                              




              
// 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.";
	mes "But as long as you don't know any magic, you shouldn't use your points on this.\"";
	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;
}