diff options
Diffstat (limited to 'world/map/npc/xmas/2012/xmas2012config.txt')
-rw-r--r-- | world/map/npc/xmas/2012/xmas2012config.txt | 140 |
1 files changed, 140 insertions, 0 deletions
diff --git a/world/map/npc/xmas/2012/xmas2012config.txt b/world/map/npc/xmas/2012/xmas2012config.txt new file mode 100644 index 00000000..9a13ac82 --- /dev/null +++ b/world/map/npc/xmas/2012/xmas2012config.txt @@ -0,0 +1,140 @@ +// This file is part of Christmas Event 2012 +// author: Jenalya + +// NPC behavior depending on time: +// No Event Time: The event didn't start yet or already ended - the house is closed and the outside NPCs give generic dialogue +// Event Time: Christmas preparation is in progress, main quest can be done +// Reward Time: Christmas is over, if the main quest was finished, the reward can be taken + +// Main quest states saved in NIBBLE 0: +// 1: Grombadil asked the player to talk to Neiremes +// 2: Neiremes asked for a blanket +// 3: Raimo can sew a blanket out of cotton cloth, sends you to Launo with the blanket +// 4: Launo can make the blanket extra warm by adding some fluffy furs, sends you to Reino with the padded blanket +// 5: Reino can dye the blanket red with some red dyes, gives you the finished blanket to bring it to Neiremes +// 6: Gave finished blanket to Neiremes, he now asks for some food. Hint to the trainer reinboo +// 7: Trainer reinboo says that Roasted Acorns are suitable food. +// 8: gave roasted acorns to Neiremes, he sends you to Neimeres +// 9: Neimeres tells you about the Flight Talisman, sends you to Tarmo +// 10: Tarmo sends you to Kalevi, who can carve the raw form of the talisman +// 11: Kalevi carved the raw form, sends you back to Tarmo +// 12: Tarmo explains, that some kind of wing is needed, send you to Santa when found something suitable +// 13: Santa says bat wings aren't optimal, but ok and enchants the talisman, he sends you back to Neiremes +// 14: gave talisman to Neiremes +// 15: got reward from Neiremes: only available during Reward Time + +// Two reinboos offer transport between the two places where the quest NPCs are located +// Saving that the players knows them is done with flags in the first two bits of nibble 2 + +// The storage administrator Vellamo asks you to get back some candy stolen by the slimes +// this is saved in the third bit of nibble 2 +// after that, Ismo offers a daily quest with Candy + +// When the reward time started, players can get some candy from Santa, this is saved in the fourth bit of nibble 2 + +-|script|#xmas2012config|-1,{ +OnInit: + set $@xmas2012_reward_start_day, 25; + set $@xmas2012_reward_end_day, 6; + set $@xmas2012_year, 2012; + + set $@xmas2012_event_time, 1; + set $@xmas2012_reward_time, 2; + set $@xmas2012_no_event_time, 3; + + set $@xmas2012_cotton_cloth_amount, 4; + set $@xmas2012_fluffy_fur_amount, 8; + set $@xmas2012_red_dye_amount, 2; + set $@xmas2012_acorn_amount, 10; + set $@xmas2012_roasted_acorn_amount, 30; + set $@xmas2012_raw_log_amount, 1; + set $@xmas2012_bat_wing_amount, 2; + + set $@xmas2012_FLIGHT_FLAG1, 0x00000100; + set $@xmas2012_FLIGHT_FLAG2, 0x00000200; + setarray $@xmas2012_flight_pay$, "RedApple", "ChocolateCake", "WhiteCake", "OrangeCake", "AppleCake"; + setarray $@xmas2012_flight_pay_name$, "Red Apples", "Chocolate Cake", "White Cake", "Orange Cake", "Apple Cake"; + setarray $@xmas2012_flight_pay, 5, 1, 1, 1, 1; + + set $@xmas2012_CANDY_FLAG, 0x00000400; + set $@xmas2012_SANTA_FLAG, 0x00000800; +} + +function|script|xmas2012time|{ +// debug +// if (@xmas_debug == $@xmas2012_event_time) +// goto L_Event_Time; +// if (@xmas_debug == $@xmas2012_reward_time) +// goto L_Reward_Time; +// if (@xmas_debug == $@xmas2012_no_event_time) +// goto L_No_Event_Time; + + if (gettime(7) == $@xmas2012_year && gettime(6) == 12 && gettime(5) < $@xmas2012_reward_start_day) + goto L_Event_Time; + + if ((gettime(7) == $@xmas2012_year && gettime(6) == 12 && gettime(5) >= $@xmas2012_reward_start_day) + || (gettime(7) == ($@xmas2012_year + 1) && gettime(6) == 1 && gettime(5) <= $@xmas2012_reward_end_day)) + goto L_Reward_Time; + +L_No_Event_Time: + set @xmas_time, $@xmas2012_no_event_time; + return; + +L_Event_Time: + set @xmas_time, $@xmas2012_event_time; + return; + +L_Reward_Time: + set @xmas_time, $@xmas2012_reward_time; + return; +} + +function|script|xmas2012update_reinboo_var|{ + set xmas2012, (xmas2012 & ~NIBBLE_0_MASK) | (@reinboo << NIBBLE_0_SHIFT); + return; +} + +function|script|xmas2012debug|{ + mes "What do you want to do?"; + menu + "Set time.", L_Time, + "Set reinboo quest state.", L_Reinboo, + "Reset complete quest state.", -, + "Do nothing.", L_Close; + + set xmas2012, 0; + goto L_Close; + +L_Time: + menu + "Event time.", -, + "Reward time.", -, + "No event time.", -, + "Clear time.", -; + + if (@menu == 1) + set @xmas_debug, $@xmas2012_event_time; + if (@menu == 2) + set @xmas_debug, $@xmas2012_reward_time; + if (@menu == 3) + set @xmas_debug, $@xmas2012_no_event_time; + if (@menu == 4) + set @xmas_debug, 0; + + goto L_Close; + +L_Reinboo: + mes "Quest state?"; + input @reinboo; + callfunc "xmas2012update_reinboo_var"; + goto L_Close; + +L_Close: + set @reinboo, 0; + set @xmas_time, 0; + close; +} + +// 030-1.gat,91,48,0|script|Debug|105,{ +// callfunc "xmas2012debug"; +// } |