// Annual Xmas
// Author: Wushin
019-3.gat,79,26,0|script|#OrumTelepathy1|45,3,3,
{
callfunc "XmasStates";
if($@xmas_time)
goto L_XmasMain;
goto L_End;
L_XmasMain:
if((@xmas_state == $@xmas_list_deliver_state) && !(@xmas_knows_route))
goto L_Telepathy;
goto L_End;
L_Telepathy:
mes "[Orum's Homunculus]";
mes "\"Not that way!\"";
mes "\"Use the southernmost exit.\"";
close;
L_End:
end;
}
019-3.gat,104,63,0|script|#OrumTelepathy2|45,1,1,
{
callfunc "XmasStates";
if($@xmas_time)
goto L_XmasMain;
goto L_End;
L_XmasMain:
if((@xmas_state == $@xmas_list_deliver_state) && !(@xmas_knows_route))
goto L_Telepathy;
goto L_End;
L_Telepathy:
mes "[Orum's Homunculus]";
mes "\"That is the long way!\"";
mes "\"Just go south from here to the southernmost exit.\"";
close;
L_End:
end;
}
019-3.gat,102,91,0|script|#OrumTelepathy3|45,3,3,
{
callfunc "XmasStates";
if($@xmas_time)
goto L_XmasMain;
goto L_End;
L_XmasMain:
if((@xmas_state == $@xmas_list_deliver_state) && !(@xmas_knows_route))
goto L_Telepathy;
goto L_End;
L_Telepathy:
mes "[Orum's Homunculus]";
mes "\"Ok. You are getting closer, I can feel it!\"";
mes "\"You are heading in the right direction - to the southern most exit.\"";
close;
L_End:
end;
}
019-3.gat,81,57,0|script|#OrumTelepathy4|45,3,3,
{
callfunc "XmasStates";
if($@xmas_time)
goto L_XmasMain;
goto L_End;
L_XmasMain:
if((@xmas_state == $@xmas_list_deliver_state) && !(@xmas_knows_route))
goto L_Telepathy;
goto L_End;
L_Telepathy:
mes "[Orum's Homunculus]";
mes "\"Ok, you are getting closer, I can feel it.!\"";
mes "\"Go take the south west path towards the brazier.\"";
close;
L_End:
end;
}
030-3.gat,62,74,0|script|#OrumTelepathy5|45,1,1,
{
callfunc "XmasStates";
if($@xmas_time)
goto L_XmasMain;
goto L_End;
L_XmasMain:
if((@xmas_state == $@xmas_list_deliver_state) && !(@xmas_knows_route))
goto L_Telepathy;
goto L_End;
L_Telepathy:
mes "[Orum's Homunculus]";
mes "\"Wrong way!\"";
mes "\"I'm in the northwestern corner.\"";
close;
L_End:
end;
}
030-3.gat,48,73,0|script|#OrumTelepathy6|45,1,1,
{
callfunc "XmasStates";
if($@xmas_time)
goto L_XmasMain;
goto L_End;
L_XmasMain:
if((@xmas_state == $@xmas_list_deliver_state) && !(@xmas_knows_route))
goto L_Telepathy;
goto L_End;
L_Telepathy:
mes "[Orum's Homunculus]";
mes "\"Wrong Way!\"";
mes "\"I am in the northwestern corner.\"";
close;
L_End:
end;
}
030-3.gat,55,52,0|script|#OrumTelepathy7|45,1,1,
{
callfunc "XmasStates";
if($@xmas_time)
goto L_XmasMain;
goto L_End;
L_XmasMain:
if((@xmas_state == $@xmas_list_deliver_state) && !(@xmas_knows_route))
goto L_Telepathy;
goto L_End;
L_Telepathy:
mes "[Orum's Homunculus]";
mes "\"Wrong Way!\"";
mes "\"I am in the northwestern corner.\"";
close;
L_End:
end;
}
030-3.gat,28,28,0|script|Orum's Homunculus|385,
{
callfunc "XmasStates";
if($@xmas_time)
goto L_XmasMain;
goto L_OffSeason;
L_OffSeason:
mes "Orums Homunculus looks up, inspects you briefly, and looks away again.";
end;
L_XmasMain:
if !(@xmas_knows_route) goto L_SetPath;
if((@xmas_list_deliver) && !(@xmas_side)) goto L_OffSeason;
if((@xmas_reward_done_state) && (@xmas_side)) goto L_Thanks;
if((@xmas_reward1_done_state) && (@xmas_side)) goto L_Thanks;
if((@xmas_reward2_done_state) && (@xmas_side)) goto L_Reward;
if((@xmas_reward_start_state) && (@xmas_side)) goto L_Reward;
if((@xmas_boss_door_state) && (@xmas_side)) goto L_Quick;
if((@xmas_reagent_done_state) && (@xmas_side)) goto L_PowerReagents;
if((@xmas_reagent_start_state) && (@xmas_side)) goto L_PowerReagents;
if((@xmas_helper_done_state) && (@xmas_side)) goto L_HelperQuest;
if((@xmas_helper_start_state) && (@xmas_side)) goto L_HelperQuest;
if(@xmas_list_deliver) goto L_ListReturn;
if(@xmas_list_complete) goto L_SantasList;
if(@xmas_list_both) goto L_HaveList2;
if(@xmas_list_path1) goto L_QuestStart1;
if(@xmas_list_path2) goto L_HaveList2;
if($@xmas_time) goto L_QuestStart2;
goto L_OffSeason;
L_SetPath:
set @xmas_knows_route, 1;
callfunc "XmasSetRoute";
goto L_XmasMain;
L_QuestStart1:
mes "[Orum's Homunculus]";
mes "\"Greetings traveler, Do you have any time to help me out?\"";
menu
"No. I really have to go.", L_Close,
"Sure, I'm listening.", -;
mes "\"Good. You may have heard that some of the children's wish lists are missing.\"";
mes "\"I sent a courier out to get their lists, but they have yet to return.\"";
next;
mes "\"Let's see the following children's lists are still missing:\"";
callfunc "XmasListList";
mes "\"Would you please go and take a look what happened to them? If you can get hold of a list, report back. We surely know how to \"amend\" these things properly...\"";
set @xmas_state, $@xmas_list_both_state;
callfunc "XmasSetState";
goto L_Close;
L_QuestStart2:
mes "[Orum's Homunculus]";
mes "\"Greetings traveler, Do you have any time to help me out?\"";
menu
"No. I really have to go.", L_Close,
"Sure, I'm listening.", -;
mes "\"Good. You may have heard that some of the children's wish lists are missing.\"";
mes "\"I sent a courier out to get their lists, but they have yet to return.\"";
next;
mes "\"Let's see the following children's lists are missing:\"";
callfunc "XmasListList";
mes "\"Would you please go and take a look what happened to them? If you get a list, report back.\"";
set @xmas_state, $@xmas_list_path2_state;
callfunc "XmasSetState";
goto L_Close;
L_HaveList2:
mes "[Orum's Homunculus]";
mes "\"Have you got the missing lists?\"";
menu
"What were those names again?", L_ListNames,
"Yes.", L_SantasList,
"No.", L_Close;
L_ListNames:
mes "\"The missing children's names are;\"";
callfunc "XmasListList";
mes "\"Go now, and come back when you have the lists.\"";
goto L_Close;
L_NotComplete:
mes "\"This doesn't seem like enough names to work with. Come back when you have more.\"";
goto L_Close;
L_SantasList:
callfunc "XmasCheckList";
callfunc "XmasStates";
if(!(@xmas_list_complete))
goto L_NotComplete;
mes "\"Take the altered list to Elijas.\"";
menu
"I don't know, this sounds kind of naughty.",-;
mes "\"Do my bidding or I'll have no more words with you.\"";
goto L_Close;
L_ListReturn:
mes "[Orum's Homunculus]";
mes "\"This had better be important, I've got enough to worry about.\"";
menu
"Sorry for interrupting, but I've come down here because I delivered the fake list", -;
mes "he stares blankly at you for a bit... ";
next;
mes "\"MUHAHAHAHAHAHAA!!\"";
next;
mes "\"I see. Mighty naughty, I bet they tossed you out?\"";
mes "\"I was wondering if you would have any interest in continuing to do so?\"";
mes "\"I do have the power to reward you handsomely for your naughtiness.\"";
next;
mes "\"You see the Christmas Inn and it's insufferable happiness and joy they spread makes dark magic users sick.\"";
mes "\"Well this year I struck back. I managed to make it inside and snatch their mana battery that powers their precious nutcrackers. Then ruin their back stock with the nutcrackers powered down.\"";
next;
mes "\"The sages showed up and had me tossed out. It seems like they also created some kind of barrier to toss our kind, saying those of a truely evil heart, out.\"";
mes "\"They may have blocked my aura, but surely didn't crush my spirit. Mainly because those fools didn't discover the portal I created into the Inn's basement.\"";
next;
mes "\"Muhahahaha\"";
next;
mes "\"I have more plans for both later. First, we need to slow the Christmas Inn down.\"";
mes "\"We can't let them free time to fix their problems. We need to press our advantage.\"";
next;
mes "\"I will need you to gather some items for me. They are required to make the helpers job a living hell.\"";
next;
mes "\"Lets see... To replace the glitter I need you to get me " + ($@xmas_red_amount + $@xmas_yellow_amount) + " Piles of Ash, " + $@xmas_red_amount + " Red Dyes and " + $@xmas_yellow_amount + " Yellow Dyes\"";
mes "\"Bring them here and I can instruct you how to mix them into fake glitter, a powder that will make them believe they have what they need but really they don't. It will loose it's shine before it arrives. They are way to self absorbed to notice the difference. And even if they notice... It will be too late!\"";
next;
mes "He bursts into a devilish laughter...";
next;
mes "\"mmh... To replace the packing material we also need to get some Cotton Cloth.\"";
mes "He makes a strange frown and clenches his teeth. It seems like he is talking to himself, not to you.";
mes "\"Yes... That will rattle of few cages, when the presents rattle and the gifts break.\"";
next;
mes "\"You can also give them " + $@xmas_bad_friendly_name$ + " for their candy storage.\"";
mes "\"Be assured my minion that will take a good bite out of their holiday cheer.\"";
next;
mes "\"Excellent.\"";
mes "\"Now listen:\"";
next;
mes "\"So far my basement portal has remained undetected:";
mes "Head to the east in this cave to find it.\"";
mes "\"Once there smash your fist into the small crack and you will be teleported into the basement of the inn.\"";
mes "\"Let me fake the mark Chief Warrick uses to identify his helpers. Don't get to close to the gaurds they might spot you.\"";
mes "\"Now, prove yourself, gather the required items and go back to the Inn to sabotage Santa's Helpers.\"";
callfunc "XmasSetSide";
set XMASTIME, XMASTIME | $@xmas_helper_bit;
set XMASTIME, XMASTIME | $@xmas_basement_passage;
set @xmas_state, $@xmas_helpers_start_state;
callfunc "XmasSetState";
goto L_Close;
L_HelperQuest:
mes "[Orum's Homunculus]";
mes "\"Welcome back!\"";
mes "\"How is the sabotage coming along?\"";
menu
"What is this all about again?", L_HelpHelpers,
"They keep throwing me out.", L_HelpPassage,
"I need some powders made.", L_MakePowders,
"It's a mess.", L_Continue,
"I'd better break some things.", L_Close;
L_HelpHelpers:
mes "\"I will need you to gather some items for me. They are required to make the helpers job a living hell.\"";
next;
mes "\"Lets see... To replace the glitter I need you to get me " + ($@xmas_red_amount + $@xmas_yellow_amount) + " Piles of Ash, " + $@xmas_red_amount + " Red Dyes and " + $@xmas_yellow_amount + " Yellow Dyes\"";
mes "\"Bring them here and I can instruct you how to mix them into fake glitter, a powder that will make them believe they have what they need but really they don't. It will loose it's shine before it arrives. They are way to self absorbed to notice the difference. And even if they notice... It will be too late!\"";
next;
mes "He bursts into a devilish laughter...";
next;
mes "\"mmh... To replace the packing material we also need to get some Cotton Cloth.\"";
mes "He makes a strange frown and clenches his teeth. It seems like he is talking to himself, not to you.";
mes "\"Yes... That will rattle of few cages, when the presents rattle and the gifts break.\"";
next;
mes "\"You can also give them " + $@xmas_bad_friendly_name$ + " for their candy storage.\"";
mes "\"Be assured my minion that will take a good bite out of their holiday cheer.\"";
next;
goto L_HelperQuest;
L_HelpPassage:
mes "\"As I told you, I installed a passage to the Inn's basement:";
mes "Head to the east in this cave to find it.\"";
mes "\"Once there, smash your fist into the small crack and you will be teleported into the basement of the inn.\"";
goto L_Close;
L_MakePowders:
callfunc "BadPowderMake";
goto L_Close;
L_Continue:
callfunc "XmasHelperPoints";
callfunc "XmasStates";
if(@xmas_helper_done_state)
goto L_ManaBattery;
goto L_NotHelpEnough;
L_NotHelpEnough:
mes "\"Hrmm... I'm still seeing too much activity up there. You better wreck some more havoc otherwise they might restore the power before us.\"";
goto L_Close;
L_ManaBattery:
mes "\"Now that we set back the holiday, It's time for the next step in my plan.\"";
next;
callfunc "ListReagents";
mes "\"When you have gathered the required materials please come back and see me.\"";
set @xmas_state, $@xmas_reagents_start;
callfunc "XmasSetState";
callfunc "XmasXpReward";
goto L_Close;
L_IngredientList:
callfunc "ListReagents";
mes "\"When you have gathered the required materials please come back and see me.\"";
goto L_Close;
L_PowerReagents:
mes "[Orum's Homunculus]";
mes "\"Have you gotten the reagents?\"";
menu
"Yes.", L_CheckReagents,
"What were they again?", L_IngredientList,
"No.", L_NotEnough;
L_CheckReagents:
callfunc "CheckReagents";
callfunc "XmasStates";
if(!(@xmas_reagent_done_state))
goto L_NotEnough;
callfunc "DeleteReagents";
mes "\"YES! you have all the required components!\"";
mes "\"Now I can create a mind link to the mana battery and control the nutcrackers\"";
next;
mes "You watch as he puts equal amounts of emerald powder into each of the iron potions.";
mes "He methodically crushes up the dark crystal and speads it amongst the potions.";
mes "He positions the four potions in a stand so all the openings are mostly facing each other.";
mes "He begins to chant.";
next;
mes "[Orum's Homunculus]";
mes "O";
next;
mes "wat";
next;
mes "goo";
next;
mes "siam";
next;
mes "The potions begin to pulse with mana.";
mes "He continues to chant";
next;
mes "[Orum's Homunculus]";
mes "Aye";
next;
mes "Am";
next;
mes "Knot";
next;
mes "Phunee";
next;
mes "Mana surges to life in the potions";
next;
mes "\"Phew! That takes alot out of a person.\"";
mes "\"I'm in no condition to go anywhere.\"";
next;
mes "\"Take the Mana Battery and install it in the warehouse.\"";
mes "\"It's found behind Chief Warrick\"";
set @xmas_state, $@xmas_boss_door_open_state;
callfunc "XmasSetState";
callfunc "XmasXpReward";
goto L_Close;
L_Quick:
mes "[Orum's Homunculus]";
mes "\"What are you still doing here?\"";
mes "\"Quickly, to the warehouse.\"";
goto L_Close;
L_Reward:
mes "[Orum's Homunculus]";
mes "\"Revenge is a dish best served cold..\"";
if @xmas_reward2_done_state
set @xmas_state, $@xmas_reward_done;
if @xmas_reward_start_state
set @xmas_state, $@xmas_reward1_done;
callfunc "XmasSetState";
callfunc "XmasMainXpBpReward";
goto L_Close;
L_Thanks:
mes "[Orum's Homunculus]";
mes "\"Please feel free to continue to sabotage whats left of the Inn while I prepare your reward.\"";
goto L_Close;
L_NotEnough:
mes "\"Come back with the components or don't come back at all.\"";
goto L_Close;
L_ThankYou:
mes "\"Now I'm the one in power of the Inn. You did well my minion.\"";
goto L_Close;
L_Close:
close;
}