summaryrefslogtreecommitdiff
path: root/world/map/npc/030-4/mana_battery.txt
diff options
context:
space:
mode:
Diffstat (limited to 'world/map/npc/030-4/mana_battery.txt')
-rw-r--r--world/map/npc/030-4/mana_battery.txt454
1 files changed, 0 insertions, 454 deletions
diff --git a/world/map/npc/030-4/mana_battery.txt b/world/map/npc/030-4/mana_battery.txt
deleted file mode 100644
index 15ff40c3..00000000
--- a/world/map/npc/030-4/mana_battery.txt
+++ /dev/null
@@ -1,454 +0,0 @@
-// Annual Xmas Battle
-// Author: Jenalya, shamelessly adapted by Chayenne, wushin
-
-// Variables:
-// @xmas_battle_side: if set its "naughty path" if not set "nice path"
-// XmasBattleStatus:
-// 0 battle not started
-// 1 battle easy good
-// 2 battle hard good
-// 3 battle easy bad
-// 4 battle hard bad
-// 5 battle time out
-// basically its this:
-// Announcements depend on wether starter was naughty/nice path
-// mobs are not yet balanced, they also depend on battle mode
-// only nutcrackers need to be killed ( I hope )
-
-// player gets state set to finished for winning the battle once and mode bit set on easy/hard accordingly
-// every player *is* allowed to restart the quest ONCE himself if he hasnt started it himself yet
-
-//TODO Add an icreasing particle effect to the chest, move it half a tile right
-// and make it one of those lab tables from the slime quests
-
-030-4,32,21,0|script|AniManOMat|400
-{
- set $@XmasBattleStatusClone, 0;
- callfunc "XmasStates";
- set @xmas_battle_side, 0;
- if ($@XmasBattleCoolDown)
- goto L_CoolDown;
- if (@xmas_side)
- set @xmas_battle_side, 1;
- if ($@XmasBattleStatus)
- goto L_BattleInProgress;
- if (@xmas_state < $@xmas_boss_door_open_state)
- goto L_ThrowOut;
- if ((@xmas_boss_start) && (@xmas_state > $@xmas_boss_door_open_state))
- goto L_Helper;
- if (@xmas_state == $@xmas_boss_door_open_state)
- goto L_InitiateBattle;
- goto L_InitiateBattle;
-
-L_InitiateBattle:
- callfunc "XmasSetBossStart";
- if(@xmas_battle_side)
- goto L_BattleBad;
- goto L_BattleGood;
-
-L_BattleBad:
- mes "[Orum's Homunculus]";
- mes "\"So this is where this whole shallow charade will end...\"";
- mes "\"Good. Are you ready to get this over with?\"";
- menu
- "Huh? Sure, why not.", L_KeepGoing,
- "Wait a sec.", L_Close,
- "Well... since you ask... I prefer to leave now, this is way to dangerous. I have responsibities.", L_Coward;
-
-L_KeepGoing:
- mes "[Orums Homunculus]";
- mes "\"Okay now listen closely, at least for once.\"";
- mes "\"Put the mana battery into that vessel in front of you.\"";
- next;
- menu
- "Ok.", L_YeahOk,
- "No way, I prefer to leave. Now!", L_Coward,
- "Give me a second, I need to consider my options.", L_Close;
-
-L_YeahOk:
- mes "You carefully install the Mana Battery as good as you can manage.";
- mes "As you bend over, you notice a strong sulphur odour coming from the crate";
- next;
- mes "[Orum]";
- mes "\"Ok. now this should be enough.\"";
- mes "\"Get out of here, before the bomb explodes!.\"";
- menu
- "Agreed.", L_StartBad,
- "You know what? If I pull this lever this should become HUGE! (Beware! that's dangerous)", L_StartBadHard;
-
-L_BattleGood:
- mes "You stare into a box that even through your unexperienced eyes looks less than secure to harbour such a powerful device as the mana battery is.";
- menu
- "Ok, this should be where the battery belongs.", L_StartGood,
- "No WAY! I am not going to put my life in danger", L_Close,
- "Ok that does it, I am going to leave! I cannot be responsible for blowing up the entire mana world.", L_Coward,
- "I studied magic and this looks all wrong. (Beware! that's dangerous)", L_StartGoodHard;
-
-L_StartGood:
- if ($@XmasBattleStatus)
- goto L_BattleInProgress;
- set @xmas_battle_status, 1;
- goto L_Start;
-
-L_StartGoodHard:
- if ($@XmasBattleStatus)
- goto L_BattleInProgress;
- callsub S_CheckHardReq;
- delitem $@xmas_boss_req$[ @xmas_battle_side ], $@xmas_boss_amount[ @xmas_battle_side ];
- mes "You pour a handfull of " + $@xmas_boss_req$[@xmas_battle_side] + " over the Mana Battery.";
- set @xmas_battle_status, 2;
- goto L_Start;
-
-L_StartBad:
- if ($@XmasBattleStatus)
- goto L_BattleInProgress;
- set @xmas_battle_status, 3;
- goto L_Start;
-
-L_StartBadHard:
- if ($@XmasBattleStatus)
- goto L_BattleInProgress;
- callsub S_CheckHardReq;
- delitem $@xmas_boss_req$[ @xmas_battle_side ], $@xmas_boss_amount[ @xmas_battle_side ];
- mes "You pour a handfull of " + $@xmas_boss_req$[@xmas_battle_side] + " over the Mana Battery.";
- set @xmas_battle_status, 4;
- goto L_Start;
-
-L_Start:
- mes "You struggle a little with your task, since the mana battery doesn't seem to fit in as smooth as you expected it.";
- next;
- mes "W00t!";
- next;
- mes "Now it is glowing wildly";
- next;
- mes "it seems like this will not turn out as planned, Look this Guard of Honour is going crazy!";
- next;
- npctalk strnpcinfo(0), "The Guards are out of control!";
- if ($@XmasBattleStatus)
- goto L_BattleAlreadyStarted;
- set $@XmasBattleStatus, @xmas_battle_status;
- set $@XmasBattleStatusClone, $@XmasBattleStatus;
- set $@XmasBossRound, 0;
- set $@XmasBossPlayerCount, getmapusers("030-4");
- areamonster "030-4", 20, 21, 40, 40, "", 1114, 1, "AniManOMat::OnGuardDeath";
- initnpctimer;
- goto L_Close;
-
-L_ThrowOut:
- // if the player didnt get a bomb yet
- mes "This looks dangerous. Come back when you are prepared";
- next;
- warp "030-2",151,25;
- goto L_Close;
-
-L_Coward:
- //Player chose to cancel
- mes "What a pitty now you still have a bomb in your hands but...";
- mes "As you wish.";
- next;
- warp "030-2",151,25;
- goto L_Close;
-
-L_Helper:
- //Player used up his own chance to start
- mes "mmh the AniManOMat is empty again, maybe we should try with a different mana battery.";
- menu
- "No I prefer to leave now, get me out of here.", L_Quit,
- "Wait let me check if i can fix this ...(Beware!)", L_Repeat,
- "Why would I do that? Aaaah... Nevermind.", L_Close;
-
-L_Repeat:
- //Player wants to try again on hard mode again
- if ($@XmasBattleStatus)
- goto L_BattleInProgress;
- callsub S_CheckHardReq;
- delitem $@xmas_boss_req$[ @xmas_battle_side ], $@xmas_boss_amount[ @xmas_battle_side ];
- set @xmas_battle_status, (2 * (@xmas_battle_side)) + 2;
- goto L_Start;
-
-L_Quit:
- warp "030-2",151,25;
- goto L_Close;
-
-L_CoolDown:
- mes "The AniManOMat is too hot to handle right now, you should wait a bit to try a new battery.";
- menu
- "No I prefer to leave now, get me out of here.", L_Quit,
- "Ughhh, but I'm certain this time the battery will work!", L_Close;
-
-L_BattleInProgress:
- mes "The mana battery looks like it is about to explode. You better take cover!";
- goto L_Close;
-
-L_BattleAlreadyStarted:
- mes "Seems like someone was faster than you.";
- goto L_Close;
-
-L_Close:
- callsub S_ClearVariables;
- close;
-
- // per NPC logic
-OnTimer5000:
- setnpctimer 0;
- if ($@XmasBattleStatus)
- goto L_CaveLogic;
- goto L_CleanUp;
-
-L_Return_1:
- set $@XmasBossPlayerCount, 0;
- areatimer 0, "030-4", 0, 0, 60, 60, 10, "AniManOMat::OnTick";
- end;
-
-L_CaveLogic:
- if ($@XmasBossPlayerCount < 1)
- goto L_AllDead;
- set $@BombTimer, $@BombTimer + 5; // Advance 5 seconds
- if ((mobcount("030-4", "AniManOMat::OnGuardDeath") + 1) == 0)
- goto L_NextWave;
- if ($@BombTimer >= 120)
- goto L_NextWave;
- goto L_Return_1;
-
-L_NextWave:
- set $@BombTimer, 0;
- set $@DangerCellNumber, rand(8);
- set $@XmasBossRound, $@XmasBossRound + 1;
- if (($@XmasBossRound > 10) && ((mobcount("030-4", "AniManOMat::OnGuardDeath") + 1) == 0))
- goto L_Finished;
- // Break/LastChance(s)
- if (($@XmasBossRound > 10) && ($@XmasBossRound <= 16))
- goto L_Return_1;
- //KillerWaves
- if ($@XmasBossRound > 16)
- areamonster "030-4", 0, 0, 50, 50, "", 1114, $@XmasBossRound*2 + $@XmasBossPlayerCount*3, "AniManOMat::OnGuardDeath";
- //Normal Waves 1 to 10
- // Guard Amount doubles if on hard mode
- set $@GuardAmount, 1 + (6 + ($@XmasBossRound) + (2 * $@XmasBossPlayerCount)) / 7;
- set $@SkullAmount, 1 + ($@GuardAmount * $@GuardAmount) / 4;
-
- if ($@GuardAmount > 15)
- set $@GuardAmount, 15;
-
- //Obliatory Guard Of Honour in the Southern Hallway
- areamonster "030-4", 30, 43, 39, 49, "", 1114, $@GuardAmount, "AniManOMat::OnGuardDeath";
- //CopperSlimes, I love Copper Slimes anywhere anytime
- areamonster "030-4", 20, 21, 49, 49, "", 1098, rand(2,7), "AniManOMat::OnGuardDeath";
- //IceSkulls for hard mode in room 3 and 4
- if ($@XmasBattleStatus == 2 || $@XmasBattleStatus == 4)
- areamonster "030-4", 20, 32, 28, 39, "", 1085, $@SkullAmount / 2, "AniManOMat::OnGuardDeath";
- if ($@XmasBattleStatus == 2 || $@XmasBattleStatus == 4)
- areamonster "030-4", 41, 32, 49, 39, "", 1085, $@SkullAmount / 2 + 1, "AniManOMat::OnGuardDeath";
- //Angry Sea Slimes for Easy Mode in Nice Version in Room 3,4,5,6
- if ($@XmasBattleStatus == 1)
- areamonster "030-4", 20, 32, 28, 49, "", 1109, $@SkullAmount, "AniManOMat::OnGuardDeath";
- if ($@XmasBattleStatus == 1)
- areamonster "030-4", 41, 32, 49, 49, "", 1109, $@SkullAmount, "AniManOMat::OnGuardDeath";
- //Candied Slimes for Nice Mode in Rooms 1 and 2
- if ($@XmasBattleStatus == 1 || $@XmasBattleStatus == 2)
- areamonster "030-4", 20, 21, 28, 28, "", 1111, ($@XmasBossRound / 2) + 1, "AniManOMat::OnGuardDeath";
- if ($@XmasBattleStatus == 1 || $@XmasBattleStatus == 2)
- areamonster "030-4", 41, 21, 49, 28, "", 1111, ($@XmasBossRound / 2) + 2, "AniManOMat::OnGuardDeath";
- //Bluepars for Easy mode in Naughty Variant in Rooms 3,4,5,6
- if ($@XmasBattleStatus == 3)
- areamonster "030-4", 20, 32, 28, 49, "", 1107, $@SkullAmount, "AniManOMat::OnGuardDeath";
- if ($@XmasBattleStatus == 3)
- areamonster "030-4", 41, 32, 49, 49, "", 1107, $@SkullAmount, "AniManOMat::OnGuardDeath";
- // Wicked Mushrooms for Naughty Mode in Rooms 1 and 2
- if ($@XmasBattleStatus == 3 || $@XmasBattleStatus == 4)
- areamonster "030-4", 20, 21, 28, 28, "", 1106, $@XmasBossRound + ($@XmasBossRound / 2), "AniManOMat::OnGuardDeath";
- if ($@XmasBattleStatus == 3 || $@XmasBattleStatus == 4)
- areamonster "030-4", 41, 21, 49, 28, "", 1106, $@XmasBossRound + ($@XmasBossRound / 2), "AniManOMat::OnGuardDeath";
-
- set $@msgnumber, (2 * $@XmasBossRound) + (($@XmasBattleStatus - 1) >> 1);
- set $@msg$, $@XmasBossMes$[ $@msgnumber ];
- set $@msgnumber, 0;
- if ($@XmasBossRound > 10) goto L_Return_1;
- callsub S_Announce;
- goto L_Return_1;
-
-OnTick:
- if (isdead()) end;
- set $@XmasBossPlayerCount, $@XmasBossPlayerCount + 1;
- if(isin("030-4", $@DangerCellX1[$@DangerCellNumber], $@DangerCellY1[$@DangerCellNumber], $@DangerCellX2[$@DangerCellNumber], $@DangerCellY2[$@DangerCellNumber]))
- goto L_DangerCell;
- end;
-
-L_DangerCell:
- message strcharinfo(0), "Target Aquired. Locking on Now.";
- misceffect 10001, strcharinfo(0);
- heal ((MaxHp/100) * -20), 0;
- end;
-
-OnGuardDeath:
- end;
-
-L_AllDead:
- set $@msg$, $@xmas_final_announce$[ ($@XmasBattleStatus - 1) / 2 ];
- callsub S_Announce;
- goto L_CleanUp;
-
-L_Finished:
- set $@msg$, $@xmas_final_announce$[ (($@XmasBattleStatus - 1) / 2) + 2 ];
- callsub S_Announce;
- goto L_CleanUp;
-
-L_CleanUp:
- areatimer 0, "030-4", 0, 0, 50, 50, 10, "AniManOMat::OnReward";
- set $@XmasBossPlayerCount, 0;
- set $@XmasBossRound, 0;
- set $@BombTimer, 0;
- set $@GuardAmount, 0;
- set $@SkullAmount, 0;
- killmonster "030-4", "AniManOMat::OnGuardDeath";
- stopnpctimer;
- donpcevent "#XmasChamberCooler::OnCommandCoolDown";
- end;
-
-OnReward:
- if (isdead())
- end;
- if (($@XmasBattleStatusClone % 2) == 0)
- set XMASTIME, XMASTIME | $@xmas_boss_hero_bit;
- set @xmas_state, (XMASTIME & NIBBLE_0_MASK) >> NIBBLE_0_SHIFT;
- set @bonus, (55 - (BaseLevel / 2));
- set DailyQuestBonus, DailyQuestBonus + @bonus;
- message strcharinfo(0), "You feel a temporary rush of power and zest for action.";
- if (@xmas_state != $@xmas_boss_door_open_state )
- goto L_End;
- set @xmas_state, $@xmas_reward_start;
- callfunc "XmasSetState";
- set @xmas_state, 0;
- set @karma_bonus, $@xmas_boss_bonus;
- message strcharinfo(0), "Wow, what happened here?.";
- goto L_End;
-
-L_End:
- if ((($@XmasBattleStatus - 1) / 2) == 0) goto L_EndNice;
- goto L_EndNaughty;
-
-L_EndNaughty:
- callfunc "XmasNaughty";
- callsub S_ClearVariables;
- end;
-
-L_EndNice:
- callfunc "XmasNice";
- callsub S_ClearVariables;
- end;
-
-OnCommandChamberReset:
- areatimer 0, "030-4", 0, 0, 50, 50, 10, "AniManOMat::OnReward";
- set $@XmasBattleStatus, 0;
- set $@XmasBossPlayerCount, 0;
- set $@XmasBossRound, 0;
- set $@BombTimer, 0;
- set $@GuardAmount, 0;
- set $@SkullAmount, 0;
- killmonster "030-4", "AniManOMat::OnGuardDeath";
- stopnpctimer;
- setnpctimer 0;
- goto L_Restart;
-
-OnInit:
- goto L_Restart;
-
-L_Restart:
- set $@XmasBattleStatus, 0;
- setarray $@XmasBossMes$,
- "", // unused
- "", // unused
- "Scrrreeeeeeeeeeeeeeeeeeeeeaaaaaaaaaaaaaaaaaaaaatch",
- "Scrrreeeeeeeeeeeeeeeeeeeeeaaaaaaaaaaaaaaaaaaaaatch",
- "Avalia : I am getting a weird sensation ... ",
- "Orums Homunculus : I think they know what we are up to!",
- "Avalia : Oh no! This is going to blow up",
- "Orums Homunculus : The Door is locked you idiot, fight for your life.",
- "Avalia : Guards of Honor I demand you: STOP!",
- "Orums Homunculus : Okay, this is somewhat funny... why are they coming back?!?",
- "Avalia : You brave fighters! Deactivate the nutcrackers! they are out of control!",
- "Orums Homunculus : The good news is: if we make it this time we will never have to do that again!",
- "Avalia : Oh boy we are so screwed.",
- "Orums Homunculus : Report: I am an Idiot",
- "Avalia : Quick, we need to kill the nutcrackers, before they ruin everything we've been working for.",
- "Orums Homunculus : Strange they are getting more and not less.",
- "Avalia : Oh no, they are too powerful. Fight my warriors, Fight for the spirit of Christmas.",
- "Orums Homunculus : If I was smart enough to stop talking, it would have happened already..",
- "Avalia : I cannot believe it, this is making them stronger. More and more of them are coming.",
- "Orums Homunculus : I think we are almost done, the bomb should explode any second.",
- "Avalia : Those poor creatures. Just kill them all.",
- "Orums Homunculus : A N Y S E C O N D.",
- "Avalia : Oh well... just try again, I trust in you.",
- "Orum's Homunculus : just lol.",
- "Avalia : Wow! You saved christmas.",
- "Orum's Homunculus : Yep, it's over... and strange enough you survived.";
-
- setarray $@xmas_final_announce$,
- "Avalia : Oh no, not only did you slay half my Guard of Honour, but also the issue was not fixed, try to install the battery again!",
- "Orum's Homunculus : Boy are you lame. So what now? The battery is still not placed! Go try again!",
- "Avalia : W00t you actually made it through. I think now that the manabattery lost some of its abundant power this seems to have given those nutcrackers that didn't go crazy a good boost of life energy. Thank you for your help all and come see me for a reward.",
- "Orum's Homunculus : Good. They are dead. Now GET OUT OF THERE, this bomb is dangerous!";
- // Danger Cells to attack sitters
- // 0: 19,20,29,29
- // 1: 30,20,40,29
- // 2: 41,20,50,29
- // 3: 19,31,29,40
- // 4: 30,31,40,40
- // 5: 41,31,50,40
- // 6: 19,42,29,50
- // 7: 30,42,40,50
- // 8: 41,42,50,50
- setarray $@DangerCellX1, 19, 30, 41, 19, 30, 41, 19, 30, 41;
- setarray $@DangerCellY1, 20, 20, 20, 31, 31, 31, 42, 42, 42;
- setarray $@DangerCellX2, 29, 40, 50, 29, 40, 50, 29, 40, 50;
- setarray $@DangerCellY2, 29, 29, 29, 40, 40, 40, 50, 50, 50;
- end;
-
-S_Announce:
- mapannounce "030-4", "Danger Cell Activated. Zone " + $@DangerCellNumber + " activated.", 0;
- mapannounce "030-4", $@msg$, 0;
- mapannounce "030-2", $@msg$, 0;
- set $@msg$, "";
- return;
-
-S_CheckHardReq:
- if (BaseLevel < $@BossHardLevel)
- goto L_NotHighEnough;
- if (countitem($@xmas_boss_req$[ @xmas_battle_side ]) < $@xmas_boss_amount[ @xmas_battle_side ])
- goto L_NotEnoughItems;
- goto L_Return;
-
-L_NotEnoughItems:
- mes "Nono, you need to bring " + $@xmas_boss_amount[ @xmas_battle_side ] + " " + $@xmas_boss_req$[ @xmas_battle_side ] + "s.";
- goto L_Close;
-
-L_NotHighEnough:
- mes "\"Err no sweetie, you don't. just do it the normal way.\"";
- goto L_Close;
-
-L_Return:
- return;
-
-S_ClearVariables:
- set @xmas_battle_side, 0;
- set @bonus, 0;
- set @xmas_state, 0;
- set @xmas_battle_status, 0;
- set @karma_bonus, 0;
- return;
-}
-
-030-4,0,0,0|script|#XmasChamberCooler|32767
-{
- end;
-OnCommandCoolDown:
- set $@XmasBattleStatus, 0;
- set $@XmasBattleCoolDown, 1;
- initnpctimer;
- end;
-
-OnTimer120000:
- set $@XmasBattleCoolDown, 0;
- stopnpctimer;
- end;
-}