summaryrefslogblamecommitdiff
path: root/npc/027-2_Caretakers_House/husband.txt
blob: 1253455a08fdd18b2e33129484c4f5a0ca591d3a (plain) (tree)
1
2
3
4
5
6
7
8
9
10






                                                                                          


                                                       

                                                                                                      












                                                                                                     
                                                                               











































                                                                                                                                                                                                                     










                                                                                                      













                                                                            

                                





































                                                                                                                                                   

                            







                                                                                        









                                                                                                      










































                                                                                                               
                                                                                                                                          
                        










                                                                                                                                                                                                                                













                                                                                                         






                                                                  






                                                              
027-2.gat,22,84,0	script	Hamond	319,{

	set @Graveyard_Inn_MASK, NIBBLE_3_MASK;
	set @Graveyard_Inn_SHIFT, NIBBLE_3_SHIFT;

	set @state, ((QUEST_Graveyard_Inn & @Graveyard_Inn_MASK) >> @Graveyard_Inn_SHIFT);
	
	set @Graveyard_Inn_Woman_MASK, NIBBLE_0_MASK;
	set @Graveyard_Inn_Woman_SHIFT, NIBBLE_0_SHIFT;

	set @woman, ((QUEST_Graveyard_Inn & @Graveyard_Inn_Woman_MASK) >> @Graveyard_Inn_Woman_SHIFT);

	set @Graveyard_Inn_Kid_MASK, NIBBLE_2_MASK;
	set @Graveyard_Inn_Kid_SHIFT, NIBBLE_2_SHIFT;

	set @kidstate, ((QUEST_Graveyard_Inn & @Graveyard_Inn_Kid_MASK) >> @Graveyard_Inn_Kid_SHIFT);
	
	//TODO: determine sane values
	set @ICE_CUBE_AMOUNT, 100;
	set @ICE_CUBE_EXP, 10000;
	//TODO: determine sane values
	set @BONE_AMOUNT, 100;
	set @SKULL_AMOUNT, 50;
	set @BONE_EXP, 30000;
	
	if ((@state == 4) && (sex == 0) && (@kidstate >= 7)) goto L_Helped_Kid;
	if (@state == 3) goto L_Brought_Bones;
	if (@state == 2) goto L_Check_Bones;
	if (@state == 1) goto L_Ice_Cube;
	
	mes "[Pale Man]";
	mes "\"Hello, I hope you're enjoying your time in Reids Inn. My name is Hamond, and I'm running this inn together with my beautiful wife Reid. If there is anything I can do for you, please let me know.\"";
	if (baselevel < 85) goto L_Close;
	next;
	menu
		"I'd like to know, why all the people in here are dead.",-,
		"Are you feeling well? You look very pale, better to say - deathly pale.",-,
		"Thank you, but I'm fine.", L_Close;
	
	mes "Hamond seems very confused. Then he notices the grey color of his hands and begans to shake his head in panic.";
	mes "[Hamond]";
	mes "\"WHAT IS THIS?\"";
	next;
	//TODO: ask a native speaker if this is understandable
	mes "Because of the rapid movement of his head, it snaps back in his neck along a cut in his throat you haven't seen before.";
	next;
	mes "You're trying hard not to run away screaming. Instead, you grab his hair and pull his head back in place.";
	next;
	mes "Hamond blinks his eyes with a puzzled look on his face.";
	mes "[Hamond]";
	mes "\"This was uncomfortable! It seems, you are right. I am dead. Weird.\"";
	next;
	mes "\"How can I be dead, but walking around and talking? This is very strange. \"";
	next;
	mes "\"But nevertheless, I will continue to run this inn and do my best to make happy all our patrons - may they be alive or dead.\"";
	next;	
	menu
		"Can I help with that?", -;
	mes "[Hamond]";
	mes "\"Helping me? I never would have asked, but actually, I need something to cool the drinks. Maybe you can find something.\"";
	
	set @state, 1;
	callsub S_Update_Mask;
	
	close;	

L_Ice_Cube:
	mes "[Hamond]";
	mes "\"Hello my friend! Good to see you again. Did you find something to cool the drinks?\"";
	next;
	
	if ((@kidstate == 4) && countitem("IceCube") > 0)
		menu
			"Maybe this never melting Ice Cubes?", L_Check_Ice, 
			"I found this in the main hall. Do you know to whom it belongs?", L_Bracelet, 
			"I'm still searching.", L_Close;
	
	if (@kidstate == 4)
		menu
			"I found this in the main hall. Do you know to whom it belongs?", L_Bracelet,
			"I'm still searching.", L_Close;

	if (countitem("IceCube") > 0)
		menu
			"Maybe this never melting Ice Cubes?", L_Check_Ice, 
			"I'm still searching.", L_Close;
	
	mes "\"You didn't? Too bad.\"";
	close;
	
L_Check_Ice:
	if (countitem("IceCube") < @ICE_CUBE_AMOUNT)
		goto L_Not_Enough_Cubes;
	delitem "IceCube", @ICE_CUBE_AMOUNT;
	
	getexp @ICE_CUBE_EXP, 0;
	
	set @state, 2;
	callsub S_Update_Mask;
	
	mes "[Hamond]";
	mes "\"Yes, wonderfull! That's exactly what I need.\"";
	next;
	mes "\"I put all my effort in making this inn a well running place for my beloved Reid.\"";
	next;
	mes "\"You know, she had a very hard childhood.\"";
	next;
	mes "\"Her parents were the former owners of the inn. But they had some problems and the inn wasn't running well.\"";
	next;
	mes "\"Also they died very early and Reid was so lonely and sad. She is such a wonderful woman, I'd do everything for her.\"";
	next;
	mes "He is mumbling to himself the next sentence.";
	next;
	mes "\"And I won't let a wannabe mage take her away from me...\"";
	next;
	menu
		"What do you mean?",-;
	mes "[Hamond]";
	mes "\"Nevermind, nevermind. I'd like to ask you for another favor, if I might.\"";
	next;
	mes "\"A patron asked for - uhm, bones. He said, he need it to replace some of his bones, which were damaged in a scuffle with mortals.\"";
	next;
	mes "\"I know, this is a bit strange - I'm still getting used to being dead. But a patrons wish is a patrons wish!\"";
	next;
	mes "\"Maybe you can bring me a huge amount of bones and skulls, so I can fulfill those wishes in future?\"";
	close;
	
L_Check_Bones:
	mes "[Hamond]";
	mes "\"Welcome back! Let me see what you have.\"";
	if ((countitem("Bone") < @BONE_AMOUNT) || (countitem("Skull") < @SKULL_AMOUNT))
		goto L_Not_Enough_B;
	delitem "Bone", @BONE_AMOUNT;
	delitem "Skull", @SKULL_AMOUNT;
	
	getexp @BONE_EXP, 0;
	
	set @state, 3;
	callsub S_Update_Mask;

L_Brought_Bones:
	mes "[Hamond]";
	mes "\"Thanks for your help! Now I'll be able to satisfy our patrons wishes.\"";
	next;
	
	if ((@kidstate == 4) && (@woman > 5))
		menu
			"Would you tell me about this mage named Savaric?", L_Savaric,
			"I found this in the main hall. Do you know to whom it belongs?", L_Bracelet, 
			"Your welcome.", L_Close;
	
	if (@kidstate == 4)
		menu
			"I found this in the main hall. Do you know to whom it belongs?", L_Bracelet,
			"Your welcome.", L_Close;
	
	if (@woman > 5)	
		menu
			"Would you tell me about this mage named Savaric?", L_Savaric,
			"Your welcome.",-;
	mes "[Hamond]";
	mes "\"Please make yourself at home.\"";
	
	close;
	
L_Savaric:
	mes "Hamonds face turns into an ugly grimace.";
	mes "[Hamond]";
	mes "\"This egomaniac cheekily - \"";
	next;
	
	if (Sex == 1) goto L_Man;
	//TODO: think, if gender change should be checked
	//TODO: determine correct value for kidstate
	if ((Sex == 0) && (@kidstate < 5)) goto L_Woman;
	
	mes "\"Hrm - I don't think, you'll understand. It is something between men.\"";
	next;
	mes "\"Although you're a woman, it was very nice of you to help my son. I'll tell you nevertheless.\"";

L_Jealousy:
//TODO: go on here
	mes "TODO: add story :P";
	close;
L_Man:
	mes "[Hamond]";
	mes "\"You're a man - I think you will understand what I'm going to tell you.\"";
	goto L_Jealousy;

L_Woman:
	mes "[Hamond]";
	mes "\"Hrm - I don't think, you'll understand. It is something between men.\"";
	next;
	mes "\"Maybe if you show me, you're a understanding person.\"";
	close;

L_Helped_Kid:
	mes "[Hamond]";
	mes "\"It was very nice of you to help my son. He told me, you found something he lost. I think, I can tell you about Savaric.\"";
	goto L_Jealousy;
	
L_Bracelet:
	mes "[Hamond]";
	mes "\"Well.. this is just a cheap bracelet, it is very popular with the young kids these days, specially the magic students. They call it 'Scarab Armlet'. Fancy name, huh? But for me it is just a cheap bracelet.\"";
	next;
	mes "\"They also say it increases 'magic atack'. But, in fact, I think these kids are delusional. Magic, pah.\"";
	next;
	mes "\"Anyway, you can easily find one of these in a lot of small shops in this town. I am pretty sure that whoever lost it won't bother coming all the way back to get it.\"";
	set @kidstate, 5;
	callsub S_Update_Mask_Kid;
	close;
		
L_Not_Enough_B:
	if (countitem("Bone") < @BONE_AMOUNT)
		mes "\"I'm not sure, but I think, more bones will be better.\"";
	if (countitem("Skull") < @SKULL_AMOUNT)
		mes "\"That are not enough skulls.\"";
	close;

L_Not_Enough_Cubes:
	mes "[Hamond]";
	mes "\"Yes, they look good! But I think, I need more of them. Maybe " + @ICE_CUBE_AMOUNT + "?\"";
	close;

L_Close:
	close;	

S_Update_Mask_Kid:
        set QUEST_Graveyard_Inn,
        	(QUEST_Graveyard_Inn & ~(@Graveyard_Inn_Kid_MASK))
                | (@kidstate << @Graveyard_Inn_Kid_SHIFT);
        return;

S_Update_Mask:
        set QUEST_Graveyard_Inn,
        	(QUEST_Graveyard_Inn & ~(@Graveyard_Inn_MASK))
                | (@state << @Graveyard_Inn_SHIFT);
        return;
}