summaryrefslogtreecommitdiff
path: root/world/map/npc/xmas/2012/xmas2012config.txt
diff options
context:
space:
mode:
Diffstat (limited to 'world/map/npc/xmas/2012/xmas2012config.txt')
-rw-r--r--world/map/npc/xmas/2012/xmas2012config.txt140
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";
+// }