030-2,87,41,0 script Eljas NPC328,5,1,{ callfunc "XmasStates"; callfunc "ThrowOutTheBum"; if(@getout) end; goto L_Start; L_Start: if($@xmas_time) goto L_XmasMain; goto L_OffSeason; L_XmasMain: if (@xmas_state > $@xmas_list_deliver_state) goto L_OffSeason; if (@xmas_list_deliver) goto L_SeeChief; if (@xmas_list_complete) goto L_HaveList1; if (@xmas_list_both) goto L_HaveList1; if (@xmas_list_path1) goto L_HaveList2; if (@xmas_list_path2) goto L_NeedList1; goto L_NeedList2; L_HaveList1: mes "[Eljas]"; mes "\"Hello! Welcome to the Christmas Inn. We work all year around to make the magic happen.\""; next; mes "\"What brings you here?\""; next; mes "..."; menu "What were the childrens names again?", L_ListNames, "Look, I have Santa's List.", L_SantasList, "I have Santa's List.(follow Orum and his evil deeds)", L_SantasFakeList, "Christmas?", L_Christmas, "I am interested in magical research.", L_Research, "Nothing, I have to go.", L_close; L_HaveList2: mes "Mmmmh he probably won't notice what lists you will bring him (Did you ever notice that he does not move at all?)"; mes "Haven't you always wondered what happens if you simply cheat?"; mes "Well ... It's a story as ancient as mankind."; mes "If you break the rules that are tied to an environment you live in, you are likely to be punished"; mes "by them. So be careful what you do next, you might regret it..."; next; menu "What were the childrens names again?", L_ListNames, "Look, I have Santa's List.", L_SantasList, "I have Santa's List. (replace every wish with \"Christmas would die\" )", L_SantasFakeList, "Christmas?", L_Christmas, "I am interested in magical research.", L_Research, "Nothing, I have to go.", L_close; L_NeedList1: mes "[Eljas]"; mes "\"Hello! Welcome to the Christmas Inn. We work all year around to make the magic of the holidays happen.\""; next; mes "\"So what brings you here my dear?\""; menu "Mmh? Nothing, I have to go.", L_close, "I heard you need help with some Wish lists?", L_Next; L_Next: mes "\"True...\""; next; mes "\"It appears we are missing some of the wish list from the children from all over the Mana World.\""; mes "\"Let me check here...\""; next; mes "\"Ah ha, here we go.\""; mes "\"The missing wish lists are:"; callfunc "XmasListList"; mes "\"If you can find these children, please bring their lists back to me.\""; mes "\"Thank you for helping out!\""; mes "He looks up from his notes and gives you a broad smile"; @xmas_state = $@xmas_list_both_state; callfunc "XmasSetState"; goto L_close; L_NeedList2: mes "[Eljas]"; mes "\"Hello! Welcome to the Christmas Inn. We work all year around to make the magic of the holidays happen.\""; next; mes "\"So what brings you here my dear?\""; menu "Do you need any help this year?", L_StartQuest, "Mmh? Nothing, I have to go.", L_close; L_OffSeason: mes "[Eljas]"; mes "\"Hello! Welcome to the Christmas Inn. We work all year around to make the magic of the holidays happen.\""; next; mes "\"And what brings you here?\""; menu "Christmas.", L_Christmas, "Magical research.", L_Research, "Och, nothing. I have to go.", L_close; L_StartQuest: mes "\"Why yes! Of course we do!\""; next; mes "\"It appears we are missing some of the wish list from the children from all over the Mana World.\""; mes "\"Let me check here...\""; next; mes "\"Ah ha, here we go.\""; mes "\"The missing wish lists are:"; callfunc "XmasListList"; mes "\"If you can find these children, please bring their lists back to me.\""; mes "\"Thank you for helping out!\""; mes "He looks up from his notes and gives you a broad smile"; next; @xmas_state = $@xmas_list_path1_state; callfunc "XmasSetState"; goto L_close; L_ListNames: mes "He checks a piece of paper on his desk..."; mes "\"Mmh... the missing lists are:"; callfunc "XmasListList"; mes "\"If you can find these children, please bring their lists back.\""; goto L_close; L_SantasList: callfunc "XmasCheckList"; callfunc "XmasStates"; if(!(@xmas_list_complete)) goto L_NotComplete; mes "\"Awesome! Now please take those lists to Chief Warrick on the next floor.\""; @karma_bonus = @xmas_list_count; callfunc "XmasNice"; @xmas_state = $@xmas_list_deliver_state; callfunc "XmasSetState"; callfunc "XmasXpReward"; goto L_close; L_SantasFakeList: callfunc "XmasCheckList"; callfunc "XmasStates"; if(!(@xmas_list_complete)) goto L_NotComplete; mes "\"Wait a second... whats that aura...\""; mes "\"THESE ARE NOT THE REAL LISTS!\""; mes "\"Guards! Toss this naughty one outside!\""; next; @karma_bonus = @xmas_list_count; callfunc "XmasNaughty"; callfunc "XmasSetSide"; callfunc "XmasThrowOut"; @xmas_state = $@xmas_list_deliver_state; callfunc "XmasSetState"; callfunc "XmasXpReward"; goto L_NotWelcome; L_NotComplete: mes "\"Hrmm... Even I can tell that you did not bring all the lists we are missing.\""; goto L_ListNames; L_SeeChief: mes "\"Please take those lists to Chief Warrick on the next floor.\""; goto L_close; L_Christmas: mes "\"All year round we work hard to make toys and repair our help for each years event.\""; mes "\"Ask Chief Warrick on the next floor, He is the shop foreman, people are always looking to him to find extra help.\""; next; goto L_close; L_Research: mes "\"Well, the most astonishing discovery in our recent researches is a complex combination of Transmutation, Astral and Nature Magic to animate wooden figurines.\""; mes "\"Did you notice the Guards around the house? Originally those were simple nutcrackers, carved out of wood by our talented carpenters.\""; next; mes "\"With the results of our magic researches, we were able to transform them into animated beings, acting rudimentary self-determined and capable to perform simple tasks.\""; mes "\"At the moment we can keep them animated for an unlimited time, as long as the caster stays in range.\""; next; mes "\"If you want to learn more about the magic used speak with Avalia she is on the 4th floor in her private room.\""; next; goto L_close; L_NotWelcome: mes l("... You hear a voice calling your name ... "); mesn l("Balthasar"); mesq l("Come see me in the caves below."); mesq l("go south till you reach the snowman. Then head into the cave to the east."); warp "020-1",33,94; close; L_close: mes"\"Goodbye\""; close; L_End: end; OnTouch: callfunc "XmasStates"; callfunc "ThrowOutTheBum"; if(@getout) end; if((@xmas_list_gather) || !($@xmas_time)) goto L_End; goto L_Start; }