// author: Jenalya // reviewed by: // state0: Angela is to upset to tell you anything, needs a concentration potion // state1: got the mission to save Cindy // state2 and state3: Cindy is saved Angela invites you to visit them for giving a reward // state greater than 3: Angela invites and asks you to bring present boxes 031-1.gat,79,24,0 script Angela 195, { set @Q_Nivalis_state_MASK, NIBBLE_5_MASK; set @Q_Nivalis_state_SHIFT, NIBBLE_5_SHIFT; set @rescue_Cindy, ((QUEST_Nivalis_state & @Q_Nivalis_state_MASK) >> @Q_Nivalis_state_SHIFT); if (@rescue_Cindy > 3) goto L_Please_Visit_Again; if (@rescue_Cindy > 1) goto L_Please_Visit; if (@rescue_Cindy == 1) goto L_Please_Help; mes "[Angela]"; mes "\"Please, I need help! My little daugther!\""; next; mes "\"It's terrible, oh my dear child!\""; next; if (countitem("ConcentrationPotion") > 0) goto L_Menu_Potion; menu "\"Please calm down and tell me what happened.\"", L_Whining, "Leave", -; close; L_Whining: mes "[Angela]"; mes "\"My poor little daugther, please! Oh no, oh no...\""; next; mes "\"We need to do something! My poor little Cindy! My cute little girl!\""; next; mes "\"It's so terrible, how could that happen? Please, I need help, it's so terrible.\""; next; mes "\"That awful filthy monsters - terrible!\""; next; mes "\"Oh Cindy, my little Cindy - oh no...\""; next; mes "\"Please help, we need to do something!\""; next; mes "\"It's so terrible, my poor cute little Cindy...\""; next; mes "\"Oh, when I think, what might happen to her right now!\""; next; mes "\"She is crying and sobbing.\""; next; mes "\"It seems, she is too upset to tell you anything helpful. If she would just calm down and concentrate a bit...\""; close; L_Menu_Potion: menu "\"Please calm down and tell me what happened.\"", L_Whining, "Give her a concentration potion.", L_Calm_Down, "Leave", -; close; L_Calm_Down: if (countitem("ConcentrationPotion") == 0) goto L_No_Potion; delitem "ConcentrationPotion", 1; mes "She drinks the concentration potions and calms down."; mes "[Angela]"; mes "\"Thank you, this was helpful.\""; next; mes "\"My daughter Cindy and me were on our way to Santa, to bring him some presents. Many people here in Nivalis are helping Santa with his business.\""; next; mes "\"When we passed the entrance of this cave, a pack of Yetis came out there. It's disturbing, usually, they are very shy.\""; next; mes "\"We tried to run away, but there were to many of them. They took my poor little Cindy and all the presents with them.\""; next; mes "\"Oh my poor little girl. I'm so worried - what might they do with her? Oh no!\""; next; mes "\"You look like an adventurer! Please, can you go in that cave and rescue my little Cindy? I beg you for help!\""; set @rescue_Cindy, 1; callsub S_Update_Mask; close; L_No_Potion: mes "You don't have a concentration potion."; close; L_Please_Help: mes "[Angela]"; mes "\"Please go in that cave and rescue my daughter!\""; close; L_Please_Visit: mes "[Angela]"; mes "\"Thank you so much for rescueing my beloved Cindy. Please come to visit us in our house at the beach.\""; next; mes "\"My husband is an adventurer like you, and I want to give you something he got on his travels to show my gratitude.\""; close; L_Please_Visit_Again: mes "[Angela]"; mes "\"Hello! You are welcome to visit us in our house at the beach everytime. Cindy loves to see you!\""; next; mes "\"If you have found any present boxes, the Yetis took away, please bring them to our house. Usually, the Yetis are very shy... their behavior is a bit odd.\""; close; S_Update_Mask: set QUEST_Nivalis_state, (QUEST_Nivalis_state & ~(@Q_Nivalis_state_MASK)) | (@rescue_Cindy << @Q_Nivalis_state_SHIFT); return; } 031-1.gat,80,25,0 script Debug 154, { //TODO: remove DEBUG set @Q_Nivalis_state_MASK, NIBBLE_5_MASK; set @Q_Nivalis_state_SHIFT, NIBBLE_5_SHIFT; set @rescue_Cindy, ((QUEST_Nivalis_state & @Q_Nivalis_state_MASK) >> @Q_Nivalis_state_SHIFT); mes "This menu is for debugging and will be removed"; menu "close", L_close, "reset quest", -, "skip yeti battle", yeti, "magic", magic; set @rescue_Cindy, 0; callsub S_Update_Mask; mes "quest variable is now " + @rescue_Cindy; close; yeti: set @rescue_Cindy, 2; callsub S_Update_Mask; mes "quest variable is now " + @rescue_Cindy; close; L_close: close; magic: // Set up SkillUp function general magic set @SUP_id, SKILL_MAGIC; set @SUP_name$, "Magic"; set @SUP_xp, 5000; set @SUP_lvl, 2; callfunc "SkillUp"; // Set up SkillUp function war magic set @SUP_id, SKILL_MAGIC_WAR; set @SUP_name$, "War Magic"; set @SUP_xp, 5000; set @SUP_lvl, 2; callfunc "SkillUp"; // Set up SkillUp function life magic set @SUP_id, SKILL_MAGIC_LIFE; set @SUP_name$, "Life Magic"; set @SUP_xp, 5000; set @SUP_lvl, 2; callfunc "SkillUp"; // Set up SkillUp function life magic set @SUP_id, SKILL_MAGIC_NATURE; set @SUP_name$, "Nature Magic"; set @SUP_xp, 5000; set @SUP_lvl, 2; callfunc "SkillUp"; mes "Lightning invocation: " + getspellinvocation("lightning-strike"); mes "Flare-dart invocation: " + getspellinvocation("flare-dart"); mes "Lesser-heal invocation: " + getspellinvocation("lesser-heal"); mes "Lay-on-hands invocation: " + getspellinvocation("lay-on-hands"); mes "protect: " + getspellinvocation("protect"); close; S_Update_Mask: set QUEST_Nivalis_state, (QUEST_Nivalis_state & ~(@Q_Nivalis_state_MASK)) | (@rescue_Cindy << @Q_Nivalis_state_SHIFT); return; }