REM # General Settings.
LEVEL_VERSION(1)
RUN_AFTER_VICTORY(1)

REM # RevMap special for testing, to REM # before release.
REM # ADD_OBJECT_TO_LEVEL(SPECBOX_REVMAP,PLAYER0,0,PLAYER_NEUTRAL)

REM # Computer Settings.
REM # COMPUTER_PLAYER(PLAYER1,0)

REM # Computer Process.
REM # SET_COMPUTER_PROCESS(PLAYER1,"ATTACK PLAN 1",0,255,255,255,0)
REM # SET_COMPUTER_PROCESS(PLAYER1,"ATTACK SAFE ATTACK",0,255,255,255,0)

REM # Map Settings.
SET_GENERATE_SPEED(300)
START_MONEY(ALL_PLAYERS,30000)
MAX_CREATURES(ALL_PLAYERS,30)
SET_CREATURE_TENDENCIES(PLAYER0,FLEE,1)
SET_CREATURE_TENDENCIES(PLAYER1,FLEE,1)
SET_MUSIC(7)

REM # Colour Settings.
SET_PLAYER_COLOR(PLAYER0,BLACK)
SET_PLAYER_COLOR(PLAYER1,WHITE)
SET_PLAYER_COLOR(PLAYER_GOOD,PURPLE)

REM # Setup Game Rules.
REM # SET_GAME_RULE(GoldPerGoldBlock,1024)
SET_GAME_RULE(PotOfGoldHolds,500)
SET_GAME_RULE(ChestGoldHold,1000)
SET_GAME_RULE(BagGoldHold,125)
SET_GAME_RULE(GoldPileValue,250)
SET_GAME_RULE(GoldPileMaximum,1024)
SET_GAME_RULE(FoodLifeOutOfHatchery,1200)
SET_GAME_RULE(DisplayPortalLimit,0)
SET_GAME_RULE(BoulderReduceHealthSlap,16)
SET_GAME_RULE(BoulderReduceHealthWall,8)
SET_GAME_RULE(BoulderReduceHealthRoom,8)
SET_GAME_RULE(GemEffectiveness,20)
SET_GAME_RULE(PayDayGap,18000)
SET_GAME_RULE(PayDaySpeed,100)
SET_GAME_RULE(DungeonHeartHealTime,20)
SET_GAME_RULE(DungeonHeartHealHealth,100)
SET_GAME_RULE(HeroDoorWaitTime,100)
SET_GAME_RULE(RoomSellGoldBackPercent,50)
SET_GAME_RULE(DoorSellValuePercent,50)
SET_GAME_RULE(TrapSellValuePercent,50)
SET_GAME_RULE(TorturePayday,50)
SET_GAME_RULE(TortureTrainingCost,50)
SET_GAME_RULE(TortureScavengingCost,50)
REM # SET_GAME_RULE(AlliesShareCta,1)
REM # SET_GAME_RULE(AlliesShareDrop,1)
REM # SET_GAME_RULE(AlliesShareVision,1)
REM # SET_GAME_RULE(MaxThingsInHand,8)
REM # SET_GAME_RULE(MapCreatureLimit,1000)
REM # SET_GAME_RULE(GlobalAmbientLight,10)
REM # SET_GAME_RULE(LightEnabled,1)
SET_GAME_RULE(EasterEggSpeechChance,1000)
SET_GAME_RULE(EasterEggSpeechInterval,18000)
SET_GAME_RULE(PreserveClassicBugs,3136)
SET_GAME_RULE(DiseaseHPTemplePercentage,300)
SET_GAME_RULE(RecoveryFrequency,20)
SET_GAME_RULE(BodyRemainsFor,1200)
SET_GAME_RULE(GameTurnsInFlee,100)
SET_GAME_RULE(GameTurnsUnconscious,1200)
SET_GAME_RULE(StunEvilEnemyChance,50)
SET_GAME_RULE(StunGoodEnemyChance,50)
REM # SET_GAME_RULE(CriticalHealthPercentage,3)
SET_GAME_RULE(HoldAudienceTime,1200)
SET_GAME_RULE(ArmageddonTeleportYourTimeGap,4)
SET_GAME_RULE(ArmageddonTeleportEnemyTimeGap,8)
SET_GAME_RULE(ArmageddonTeleportNeutrals,0)
SET_GAME_RULE(ArmageddonCountDown,1200)
SET_GAME_RULE(ArmageddonDuration,6000)
SET_GAME_RULE(DiseaseTransferPercentage,25)
SET_GAME_RULE(DiseaseLosePercentageHealth,1)
SET_GAME_RULE(DiseaseLoseHealthTime,36)
SET_GAME_RULE(MinDistanceForTeleport,20)
SET_GAME_RULE(CollapseDungeonDamage,30)
SET_GAME_RULE(TurnsPerCollapseDungeonDamage,8)
SET_GAME_RULE(FriendlyFightAreaRangePercent,50)
SET_GAME_RULE(FriendlyFightAreaDamagePercent,25)
SET_GAME_RULE(WeightCalculatePush,1024)
SET_GAME_RULE(ScavengeCostFrequency,100)
SET_GAME_RULE(ScavengeGoodAllowed,0)
SET_GAME_RULE(ScavengeNeutralAllowed,0)
SET_GAME_RULE(TempleScavengeProtectionTime,1200)
SET_GAME_RULE(TrainCostFrequency,100)
SET_GAME_RULE(TrainingRoomMaxLevel,8)
SET_GAME_RULE(TortureDeathChance,3)
SET_GAME_RULE(TortureConvertChance,25)
SET_GAME_RULE(TimeBetweenPrisonBreak,300)
SET_GAME_RULE(TimeSpentInPrisonWithoutBreak,1200)
SET_GAME_RULE(PrisonBreakChance,75)
SET_GAME_RULE(GhostConvertChance,50)
REM # SET_GAME_RULE(DefaultGenerateSpeed,1200)
REM # SET_GAME_RULE(DefaultMaxCreaturesGenerateEntrance,255)
SET_GAME_RULE(BarrackMaxPartySize,8)
SET_GAME_RULE(FoodGenerationSpeed,1200)
SET_GAME_RULE(PrisonSkeletonChance,50)
SET_GAME_RULE(BodiesForVampire,16)
SET_GAME_RULE(GraveyardConvertTime,1200)
SET_GAME_RULE(ImpWorkExperience,1024)
SET_GAME_RULE(DragUnconsciousToLair,1)
SET_GAME_RULE(HungerHealthLoss,1)
SET_GAME_RULE(GameTurnsPerHungerHealthLoss,120)
SET_GAME_RULE(FoodHealthGain,5)
SET_GAME_RULE(TortureHealthLoss,2)
SET_GAME_RULE(GameTurnsPerTortureHealthLoss,120)

REM # Setup Research Order List.
RESEARCH_ORDER(ALL_PLAYERS,ROOM,RESEARCH,10000)
RESEARCH_ORDER(ALL_PLAYERS,ROOM,LAIR,10000)
RESEARCH_ORDER(ALL_PLAYERS,ROOM,GARDEN,10000)
RESEARCH_ORDER(ALL_PLAYERS,ROOM,TREASURE,10000)
RESEARCH_ORDER(ALL_PLAYERS,ROOM,TRAINING,12500)
RESEARCH_ORDER(ALL_PLAYERS,MAGIC,POWER_OBEY,10000)
RESEARCH_ORDER(ALL_PLAYERS,ROOM,WORKSHOP,12500)
RESEARCH_ORDER(ALL_PLAYERS,MAGIC,POWER_CALL_TO_ARMS,10000)
RESEARCH_ORDER(ALL_PLAYERS,ROOM,BARRACKS,12500)
RESEARCH_ORDER(ALL_PLAYERS,MAGIC,POWER_SIGHT,10000)
RESEARCH_ORDER(ALL_PLAYERS,ROOM,GUARD_POST,12500)
RESEARCH_ORDER(ALL_PLAYERS,MAGIC,POWER_HOLD_AUDIENCE,10000)
RESEARCH_ORDER(ALL_PLAYERS,ROOM,BRIDGE,25000)
RESEARCH_ORDER(ALL_PLAYERS,MAGIC,POWER_SPEED,12500)
RESEARCH_ORDER(ALL_PLAYERS,ROOM,PRISON,50000)
RESEARCH_ORDER(ALL_PLAYERS,MAGIC,POWER_CONCEAL,25000)
RESEARCH_ORDER(ALL_PLAYERS,ROOM,TORTURE,50000)
RESEARCH_ORDER(ALL_PLAYERS,MAGIC,POWER_PROTECT,25000)
RESEARCH_ORDER(ALL_PLAYERS,ROOM,TEMPLE,75000)
RESEARCH_ORDER(ALL_PLAYERS,MAGIC,POWER_HEAL_CREATURE,37500)
RESEARCH_ORDER(ALL_PLAYERS,ROOM,GRAVEYARD,100000)
RESEARCH_ORDER(ALL_PLAYERS,MAGIC,POWER_FREEZE,50000)
RESEARCH_ORDER(ALL_PLAYERS,ROOM,SCAVENGER,100000)
RESEARCH_ORDER(ALL_PLAYERS,MAGIC,POWER_DISEASE,50000)
RESEARCH_ORDER(ALL_PLAYERS,MAGIC,POWER_LIGHTNING,125000)
RESEARCH_ORDER(ALL_PLAYERS,MAGIC,POWER_TIME_BOMB,125000)
RESEARCH_ORDER(ALL_PLAYERS,MAGIC,POWER_DESTROY_WALLS,50000)
RESEARCH_ORDER(ALL_PLAYERS,MAGIC,POWER_ARMAGEDDON,50000)
RESEARCH_ORDER(ALL_PLAYERS,MAGIC,RESEARCH_CUSTOM,100000)

REM # Setup Sacrifice Recipe.
REM # REMOVE_SACRIFICE_RECIPE(SPIDER,SPIDER,SPIDER)
REM # REMOVE_SACRIFICE_RECIPE(TROLL,BILE_DEMON,DARK_MISTRESS)
REM # REMOVE_SACRIFICE_RECIPE(FLY,FLY)
REM # REMOVE_SACRIFICE_RECIPE(BUG,BUG)
REM # REMOVE_SACRIFICE_RECIPE(VAMPIRE,VAMPIRE)
REM # REMOVE_SACRIFICE_RECIPE(FLY,SPIDER)
REM # REMOVE_SACRIFICE_RECIPE(BUG,SPIDER)
REM # REMOVE_SACRIFICE_RECIPE(BILE_DEMON,BILE_DEMON)
REM # REMOVE_SACRIFICE_RECIPE(IMP)
REM # REMOVE_SACRIFICE_RECIPE(HORNY)
REM # REMOVE_SACRIFICE_RECIPE(GHOST)
REM # REMOVE_SACRIFICE_RECIPE(SKELETON,SKELETON)
REM # REMOVE_SACRIFICE_RECIPE(TROLL,SPIDER)
REM # REMOVE_SACRIFICE_RECIPE(DRAGON,FLY)
REM # REMOVE_SACRIFICE_RECIPE(FLY,HELL_HOUND)
REM # REMOVE_SACRIFICE_RECIPE(TROLL,FLY)
REM # REMOVE_SACRIFICE_RECIPE(ORC,SPIDER)
REM # REMOVE_SACRIFICE_RECIPE(DARK_MISTRESS,BUG)
REM # REMOVE_SACRIFICE_RECIPE(BILE_DEMON,BUG)
REM # REMOVE_SACRIFICE_RECIPE(DEMONSPAWN,FLY)
REM # REMOVE_SACRIFICE_RECIPE(VAMPIRE,SPIDER)
REM # REMOVE_SACRIFICE_RECIPE(VAMPIRE,DEMONSPAWN)

REM # Power Configuration.
SET_POWER_CONFIGURATION(POWER_CHICKEN,PanelTabIndex,0)
SET_POWER_CONFIGURATION(POWER_FREEZE,PanelTabIndex,13)
SET_POWER_CONFIGURATION(POWER_CAVE_IN,PanelTabIndex,0)
SET_POWER_CONFIGURATION(POWER_TIME_BOMB,PanelTabIndex,9)

REM # IMP Configuration.
SET_CREATURE_INSTANCE(IMP,3,SPEED,3)
SET_CREATURE_INSTANCE(IMP,5,INVISIBILITY,5)
SET_CREATURE_INSTANCE(IMP,10,TELEPORT,10)

REM # HORNY Configuration.
SET_CREATURE_INSTANCE(HORNY,5,ARMOUR,5)
SET_CREATURE_INSTANCE(HORNY,6,SLOW,6)
SET_CREATURE_INSTANCE(HORNY,7,SPEED,7)
SET_CREATURE_INSTANCE(HORNY,10,TELEPORT,10)

REM # Creature Pool.
ADD_CREATURE_TO_POOL(HORNY,255)

REM # Creature Availability.
CREATURE_AVAILABLE(ALL_PLAYERS,HORNY,1,255)

REM # Room Availability.
ROOM_AVAILABLE(ALL_PLAYERS,RESEARCH,1,1)
ROOM_AVAILABLE(ALL_PLAYERS,LAIR,1,1)
ROOM_AVAILABLE(ALL_PLAYERS,GARDEN,1,1)
ROOM_AVAILABLE(ALL_PLAYERS,TREASURE,1,1)
ROOM_AVAILABLE(ALL_PLAYERS,TRAINING,1,0)
ROOM_AVAILABLE(ALL_PLAYERS,WORKSHOP,1,0)
ROOM_AVAILABLE(ALL_PLAYERS,BARRACKS,1,0)
ROOM_AVAILABLE(ALL_PLAYERS,GUARD_POST,1,0)
ROOM_AVAILABLE(ALL_PLAYERS,BRIDGE,1,0)
ROOM_AVAILABLE(ALL_PLAYERS,PRISON,1,0)
ROOM_AVAILABLE(ALL_PLAYERS,TORTURE,1,0)
ROOM_AVAILABLE(ALL_PLAYERS,TEMPLE,1,0)
ROOM_AVAILABLE(ALL_PLAYERS,GRAVEYARD,1,0)
ROOM_AVAILABLE(ALL_PLAYERS,SCAVENGER,1,0)

REM # Magic Availability.
MAGIC_AVAILABLE(ALL_PLAYERS,POWER_HAND,1,1)
MAGIC_AVAILABLE(ALL_PLAYERS,POWER_SLAP,1,1)
MAGIC_AVAILABLE(ALL_PLAYERS,POWER_POSSESS,1,1)
MAGIC_AVAILABLE(ALL_PLAYERS,POWER_IMP,1,1)
MAGIC_AVAILABLE(ALL_PLAYERS,POWER_OBEY,1,1)
MAGIC_AVAILABLE(ALL_PLAYERS,POWER_CALL_TO_ARMS,1,0)
MAGIC_AVAILABLE(ALL_PLAYERS,POWER_SIGHT,1,1)
MAGIC_AVAILABLE(ALL_PLAYERS,POWER_HOLD_AUDIENCE,1,0)
MAGIC_AVAILABLE(ALL_PLAYERS,POWER_SPEED,1,0)
MAGIC_AVAILABLE(ALL_PLAYERS,POWER_CONCEAL,1,0)
MAGIC_AVAILABLE(ALL_PLAYERS,POWER_PROTECT,1,0)
MAGIC_AVAILABLE(ALL_PLAYERS,POWER_HEAL_CREATURE,1,0)
MAGIC_AVAILABLE(ALL_PLAYERS,POWER_FREEZE,1,0)
MAGIC_AVAILABLE(ALL_PLAYERS,POWER_DISEASE,1,0)
MAGIC_AVAILABLE(ALL_PLAYERS,POWER_LIGHTNING,1,0)
MAGIC_AVAILABLE(ALL_PLAYERS,POWER_TIME_BOMB,1,0)
MAGIC_AVAILABLE(ALL_PLAYERS,POWER_DESTROY_WALLS,1,0)
MAGIC_AVAILABLE(ALL_PLAYERS,POWER_ARMAGEDDON,1,0)
MAGIC_AVAILABLE(ALL_PLAYERS,RESEARCH_CUSTOM,1,0)

REM # Door Availability.
DOOR_AVAILABLE(ALL_PLAYERS,WOOD,1,0)
DOOR_AVAILABLE(ALL_PLAYERS,BRACED,1,0)
DOOR_AVAILABLE(ALL_PLAYERS,STEEL,1,0)
DOOR_AVAILABLE(ALL_PLAYERS,MAGIC,1,0)
DOOR_AVAILABLE(ALL_PLAYERS,SECRET,1,0)
DOOR_AVAILABLE(ALL_PLAYERS,MIDAS,1,0)

REM # Trap Availability.
TRAP_AVAILABLE(ALL_PLAYERS,ALARM,1,0)
TRAP_AVAILABLE(ALL_PLAYERS,POISON_GAS,1,0)
TRAP_AVAILABLE(ALL_PLAYERS,LIGHTNING,1,0)
TRAP_AVAILABLE(ALL_PLAYERS,LAVA,1,0)
TRAP_AVAILABLE(ALL_PLAYERS,BOULDER,1,0)
TRAP_AVAILABLE(ALL_PLAYERS,WORD_OF_POWER,1,0)
TRAP_AVAILABLE(ALL_PLAYERS,TNT,1,0)

REM # Setup Pandora's Box party for Heroic Assault and Backlash of Conquest - they can vary between map.
CREATE_PARTY(HRCSSLT)
ADD_TO_PARTY(HRCSSLT,KNIGHT,9,0,ATTACK_DUNGEON_HEART,0)
ADD_TO_PARTY(HRCSSLT,ARCHER,9,0,DEFEND_PARTY,0)
ADD_TO_PARTY(HRCSSLT,BARBARIAN,9,0,DEFEND_PARTY,0)
ADD_TO_PARTY(HRCSSLT,DWARFA,9,0,DEFEND_PARTY,0)
ADD_TO_PARTY(HRCSSLT,FAIRY,9,0,DEFEND_PARTY,0)
ADD_TO_PARTY(HRCSSLT,GIANT,9,0,DEFEND_PARTY,0)
ADD_TO_PARTY(HRCSSLT,MONK,9,0,DEFEND_PARTY,0)
ADD_TO_PARTY(HRCSSLT,SAMURAI,9,0,DEFEND_PARTY,0)
ADD_TO_PARTY(HRCSSLT,THIEF,9,0,DEFEND_PARTY,0)
ADD_TO_PARTY(HRCSSLT,TIME_MAGE,9,0,DEFEND_PARTY,0)
ADD_TO_PARTY(HRCSSLT,WITCH,9,0,DEFEND_PARTY,0)
ADD_TO_PARTY(HRCSSLT,WIZARD,9,0,DEFEND_PARTY,0)

CREATE_PARTY(CNQST_01)
ADD_TO_PARTY(CNQST_01,AVATAR,10,0,ATTACK_DUNGEON_HEART,0)
ADD_TO_PARTY(CNQST_01,KNIGHT,10,0,DEFEND_PARTY,0)
ADD_TO_PARTY(CNQST_01,ARCHER,10,0,DEFEND_PARTY,0)
ADD_TO_PARTY(CNQST_01,BARBARIAN,10,0,DEFEND_PARTY,0)
ADD_TO_PARTY(CNQST_01,DWARFA,10,0,DEFEND_PARTY,0)
ADD_TO_PARTY(CNQST_01,FAIRY,10,0,DEFEND_PARTY,0)
ADD_TO_PARTY(CNQST_01,GIANT,10,0,DEFEND_PARTY,0)
ADD_TO_PARTY(CNQST_01,MONK,10,0,DEFEND_PARTY,0)
ADD_TO_PARTY(CNQST_01,SAMURAI,10,0,DEFEND_PARTY,0)
ADD_TO_PARTY(CNQST_01,THIEF,10,0,DEFEND_PARTY,0)
ADD_TO_PARTY(CNQST_01,TIME_MAGE,10,0,DEFEND_PARTY,0)
ADD_TO_PARTY(CNQST_01,WITCH,10,0,DEFEND_PARTY,0)
ADD_TO_PARTY(CNQST_01,WIZARD,10,0,DEFEND_PARTY,0)

CREATE_PARTY(CNQST_02)
ADD_TO_PARTY(CNQST_02,KNIGHT,10,0,DEFEND_PARTY,0)
ADD_TO_PARTY(CNQST_02,ARCHER,10,0,SNIPE_DUNGEON_HEART,0)
ADD_TO_PARTY(CNQST_02,ARCHER,10,0,SNIPE_DUNGEON_HEART,0)
ADD_TO_PARTY(CNQST_02,ARCHER,10,0,SNIPE_DUNGEON_HEART,0)
ADD_TO_PARTY(CNQST_02,ARCHER,10,0,SNIPE_DUNGEON_HEART,0)
ADD_TO_PARTY(CNQST_02,ARCHER,10,0,SNIPE_DUNGEON_HEART,0)
ADD_TO_PARTY(CNQST_02,ARCHER,10,0,SNIPE_DUNGEON_HEART,0)
ADD_TO_PARTY(CNQST_02,ARCHER,10,0,SNIPE_DUNGEON_HEART,0)
ADD_TO_PARTY(CNQST_02,ARCHER,10,0,SNIPE_DUNGEON_HEART,0)

CREATE_PARTY(CNQST_03)
ADD_TO_PARTY(CNQST_03,KNIGHT,10,0,DEFEND_PARTY,0)
ADD_TO_PARTY(CNQST_03,BARBARIAN,10,0,SABOTAGE_ROOMS,0)
ADD_TO_PARTY(CNQST_03,BARBARIAN,10,0,SABOTAGE_ROOMS,0)
ADD_TO_PARTY(CNQST_03,BARBARIAN,10,0,SABOTAGE_ROOMS,0)
ADD_TO_PARTY(CNQST_03,BARBARIAN,10,0,SABOTAGE_ROOMS,0)
ADD_TO_PARTY(CNQST_03,BARBARIAN,10,0,SABOTAGE_ROOMS,0)
ADD_TO_PARTY(CNQST_03,BARBARIAN,10,0,SABOTAGE_ROOMS,0)
ADD_TO_PARTY(CNQST_03,BARBARIAN,10,0,SABOTAGE_ROOMS,0)
ADD_TO_PARTY(CNQST_03,BARBARIAN,10,0,SABOTAGE_ROOMS,0)

CREATE_PARTY(CNQST_04)
ADD_TO_PARTY(CNQST_04,KNIGHT,10,0,DEFEND_PARTY,0)
ADD_TO_PARTY(CNQST_04,DWARFA,10,0,STEAL_GOLD,0)
ADD_TO_PARTY(CNQST_04,DWARFA,10,0,STEAL_GOLD,0)
ADD_TO_PARTY(CNQST_04,DWARFA,10,0,STEAL_GOLD,0)
ADD_TO_PARTY(CNQST_04,DWARFA,10,0,STEAL_GOLD,0)
ADD_TO_PARTY(CNQST_04,DWARFA,10,0,STEAL_GOLD,0)
ADD_TO_PARTY(CNQST_04,DWARFA,10,0,STEAL_GOLD,0)
ADD_TO_PARTY(CNQST_04,DWARFA,10,0,STEAL_GOLD,0)
ADD_TO_PARTY(CNQST_04,DWARFA,10,0,STEAL_GOLD,0)

CREATE_PARTY(CNQST_05)
ADD_TO_PARTY(CNQST_05,KNIGHT,10,0,DEFEND_PARTY,0)
ADD_TO_PARTY(CNQST_05,FAIRY,10,0,SNIPE_DUNGEON_HEART,0)
ADD_TO_PARTY(CNQST_05,FAIRY,10,0,SNIPE_DUNGEON_HEART,0)
ADD_TO_PARTY(CNQST_05,FAIRY,10,0,SNIPE_DUNGEON_HEART,0)
ADD_TO_PARTY(CNQST_05,FAIRY,10,0,SNIPE_DUNGEON_HEART,0)
ADD_TO_PARTY(CNQST_05,FAIRY,10,0,SNIPE_DUNGEON_HEART,0)
ADD_TO_PARTY(CNQST_05,FAIRY,10,0,SNIPE_DUNGEON_HEART,0)
ADD_TO_PARTY(CNQST_05,FAIRY,10,0,SNIPE_DUNGEON_HEART,0)
ADD_TO_PARTY(CNQST_05,FAIRY,10,0,SNIPE_DUNGEON_HEART,0)

CREATE_PARTY(CNQST_06)
ADD_TO_PARTY(CNQST_06,KNIGHT,10,0,DEFEND_PARTY,0)
ADD_TO_PARTY(CNQST_06,GIANT,10,0,SABOTAGE_ROOMS,0)
ADD_TO_PARTY(CNQST_06,GIANT,10,0,SABOTAGE_ROOMS,0)
ADD_TO_PARTY(CNQST_06,GIANT,10,0,SABOTAGE_ROOMS,0)
ADD_TO_PARTY(CNQST_06,GIANT,10,0,SABOTAGE_ROOMS,0)
ADD_TO_PARTY(CNQST_06,GIANT,10,0,SABOTAGE_ROOMS,0)
ADD_TO_PARTY(CNQST_06,GIANT,10,0,SABOTAGE_ROOMS,0)
ADD_TO_PARTY(CNQST_06,GIANT,10,0,SABOTAGE_ROOMS,0)
ADD_TO_PARTY(CNQST_06,GIANT,10,0,SABOTAGE_ROOMS,0)

CREATE_PARTY(CNQST_07)
ADD_TO_PARTY(CNQST_07,KNIGHT,10,0,DEFEND_PARTY,0)
ADD_TO_PARTY(CNQST_07,MONK,10,0,STEAL_SPELLS,0)
ADD_TO_PARTY(CNQST_07,MONK,10,0,STEAL_SPELLS,0)
ADD_TO_PARTY(CNQST_07,MONK,10,0,STEAL_SPELLS,0)
ADD_TO_PARTY(CNQST_07,MONK,10,0,STEAL_SPELLS,0)
ADD_TO_PARTY(CNQST_07,MONK,10,0,STEAL_SPELLS,0)
ADD_TO_PARTY(CNQST_07,MONK,10,0,STEAL_SPELLS,0)
ADD_TO_PARTY(CNQST_07,MONK,10,0,STEAL_SPELLS,0)
ADD_TO_PARTY(CNQST_07,MONK,10,0,STEAL_SPELLS,0)

CREATE_PARTY(CNQST_08)
ADD_TO_PARTY(CNQST_08,KNIGHT,10,0,DEFEND_PARTY,0)
ADD_TO_PARTY(CNQST_08,SAMURAI,10,0,SNIPE_DUNGEON_HEART,0)
ADD_TO_PARTY(CNQST_08,SAMURAI,10,0,SNIPE_DUNGEON_HEART,0)
ADD_TO_PARTY(CNQST_08,SAMURAI,10,0,SNIPE_DUNGEON_HEART,0)
ADD_TO_PARTY(CNQST_08,SAMURAI,10,0,SNIPE_DUNGEON_HEART,0)
ADD_TO_PARTY(CNQST_08,SAMURAI,10,0,SNIPE_DUNGEON_HEART,0)
ADD_TO_PARTY(CNQST_08,SAMURAI,10,0,SNIPE_DUNGEON_HEART,0)
ADD_TO_PARTY(CNQST_08,SAMURAI,10,0,SNIPE_DUNGEON_HEART,0)
ADD_TO_PARTY(CNQST_08,SAMURAI,10,0,SNIPE_DUNGEON_HEART,0)

CREATE_PARTY(CNQST_09)
ADD_TO_PARTY(CNQST_09,KNIGHT,10,0,DEFEND_PARTY,0)
ADD_TO_PARTY(CNQST_09,THIEF,10,0,STEAL_GOLD,0)
ADD_TO_PARTY(CNQST_09,THIEF,10,0,STEAL_GOLD,0)
ADD_TO_PARTY(CNQST_09,THIEF,10,0,STEAL_GOLD,0)
ADD_TO_PARTY(CNQST_09,THIEF,10,0,STEAL_GOLD,0)
ADD_TO_PARTY(CNQST_09,THIEF,10,0,STEAL_GOLD,0)
ADD_TO_PARTY(CNQST_09,THIEF,10,0,STEAL_GOLD,0)
ADD_TO_PARTY(CNQST_09,THIEF,10,0,STEAL_GOLD,0)
ADD_TO_PARTY(CNQST_09,THIEF,10,0,STEAL_GOLD,0)

CREATE_PARTY(CNQST_10)
ADD_TO_PARTY(CNQST_10,KNIGHT,10,0,DEFEND_PARTY,0)
ADD_TO_PARTY(CNQST_10,TIME_MAGE,10,0,SABOTAGE_ROOMS,0)
ADD_TO_PARTY(CNQST_10,TIME_MAGE,10,0,SABOTAGE_ROOMS,0)
ADD_TO_PARTY(CNQST_10,TIME_MAGE,10,0,SABOTAGE_ROOMS,0)
ADD_TO_PARTY(CNQST_10,TIME_MAGE,10,0,SABOTAGE_ROOMS,0)
ADD_TO_PARTY(CNQST_10,TIME_MAGE,10,0,SABOTAGE_ROOMS,0)
ADD_TO_PARTY(CNQST_10,TIME_MAGE,10,0,SABOTAGE_ROOMS,0)
ADD_TO_PARTY(CNQST_10,TIME_MAGE,10,0,SABOTAGE_ROOMS,0)
ADD_TO_PARTY(CNQST_10,TIME_MAGE,10,0,SABOTAGE_ROOMS,0)

CREATE_PARTY(CNQST_11)
ADD_TO_PARTY(CNQST_11,KNIGHT,10,0,DEFEND_PARTY,0)
ADD_TO_PARTY(CNQST_11,TUNNELLER,10,0,SNIPE_DUNGEON_HEART,0)
ADD_TO_PARTY(CNQST_11,TUNNELLER,10,0,SNIPE_DUNGEON_HEART,0)
ADD_TO_PARTY(CNQST_11,TUNNELLER,10,0,SNIPE_DUNGEON_HEART,0)
ADD_TO_PARTY(CNQST_11,TUNNELLER,10,0,SNIPE_DUNGEON_HEART,0)
ADD_TO_PARTY(CNQST_11,TUNNELLER,10,0,SNIPE_DUNGEON_HEART,0)
ADD_TO_PARTY(CNQST_11,TUNNELLER,10,0,SNIPE_DUNGEON_HEART,0)
ADD_TO_PARTY(CNQST_11,TUNNELLER,10,0,SNIPE_DUNGEON_HEART,0)
ADD_TO_PARTY(CNQST_11,TUNNELLER,10,0,SNIPE_DUNGEON_HEART,0)

CREATE_PARTY(CNQST_12)
ADD_TO_PARTY(CNQST_12,KNIGHT,10,0,DEFEND_PARTY,0)
ADD_TO_PARTY(CNQST_12,WITCH,10,0,SABOTAGE_ROOMS,0)
ADD_TO_PARTY(CNQST_12,WITCH,10,0,SABOTAGE_ROOMS,0)
ADD_TO_PARTY(CNQST_12,WITCH,10,0,SABOTAGE_ROOMS,0)
ADD_TO_PARTY(CNQST_12,WITCH,10,0,SABOTAGE_ROOMS,0)
ADD_TO_PARTY(CNQST_12,WITCH,10,0,SABOTAGE_ROOMS,0)
ADD_TO_PARTY(CNQST_12,WITCH,10,0,SABOTAGE_ROOMS,0)
ADD_TO_PARTY(CNQST_12,WITCH,10,0,SABOTAGE_ROOMS,0)
ADD_TO_PARTY(CNQST_12,WITCH,10,0,SABOTAGE_ROOMS,0)

CREATE_PARTY(CNQST_13)
ADD_TO_PARTY(CNQST_13,KNIGHT,10,0,DEFEND_PARTY,0)
ADD_TO_PARTY(CNQST_13,WIZARD,10,0,STEAL_SPELLS,0)
ADD_TO_PARTY(CNQST_13,WIZARD,10,0,STEAL_SPELLS,0)
ADD_TO_PARTY(CNQST_13,WIZARD,10,0,STEAL_SPELLS,0)
ADD_TO_PARTY(CNQST_13,WIZARD,10,0,STEAL_SPELLS,0)
ADD_TO_PARTY(CNQST_13,WIZARD,10,0,STEAL_SPELLS,0)
ADD_TO_PARTY(CNQST_13,WIZARD,10,0,STEAL_SPELLS,0)
ADD_TO_PARTY(CNQST_13,WIZARD,10,0,STEAL_SPELLS,0)
ADD_TO_PARTY(CNQST_13,WIZARD,10,0,STEAL_SPELLS,0)

REM # Set tooltip for each Mysterious Box.
SET_BOX_TOOLTIP(0,"Mysterious Box: Examine the box to discover its effect.")
SET_BOX_TOOLTIP(1,"Frostbite Box: Cast Freeze on all hostile minions.")
SET_BOX_TOOLTIP(2,"Protect Box: Cast Armour on all friendly minions.")
SET_BOX_TOOLTIP(3,"Shell Box: Cast Rebound on all friendly minions.")
SET_BOX_TOOLTIP(4,"Cure Box: Cast Heal on all friendly minions.")
SET_BOX_TOOLTIP(5,"Vanish Box: Cast Invisibility on all friendly minions.")
SET_BOX_TOOLTIP(6,"Warp Box: Teleport all hostile minions to their lair.")
SET_BOX_TOOLTIP(7,"Rescue Box: Teleport your own minions to their lair.")
SET_BOX_TOOLTIP(8,"Cease-fire Box: Teleport all minions to their lair.")
SET_BOX_TOOLTIP(9,"Haste Box: Cast Speed on all friendly minions.")
SET_BOX_TOOLTIP(10,"Web Box: Cast Slow on all hostile minions.")
SET_BOX_TOOLTIP(11,"Illumination Box: Cast Light on all minions.")
SET_BOX_TOOLTIP(12,"Float Box: Cast Flight on all friendly minions.")
SET_BOX_TOOLTIP(13,"Vision Box: Cast Sight on all friendly minions.")
SET_BOX_TOOLTIP(14,"Plague Box: Cast Disease on all hostile minions.")
SET_BOX_TOOLTIP(15,"Hex Box: Cast Chicken on all hostile minions.")
SET_BOX_TOOLTIP(16,"Wrath Box: Cast Lightning on your territory at random hostile minions, last 12 seconds.")
SET_BOX_TOOLTIP(17,"Rockfall Box: Cast Cave-In on your territory at random hostile minions, last 12 seconds.")
SET_BOX_TOOLTIP(18,"Heroic Box: Summon a random hero to join your ranks.")
SET_BOX_TOOLTIP(19,"Evil Box: Summon a random creature to join your ranks.")
SET_BOX_TOOLTIP(20,"Necromancy Box: Raise a squad of undead at the site of the last battle to join your ranks.")
SET_BOX_TOOLTIP(21,"Anger Box: All the minions get angry.")
SET_BOX_TOOLTIP(22,"Happy Box: All friendly minions get happy.")
SET_BOX_TOOLTIP(23,"Dungeon Box: Fully restores your Dungeon Heart.")
SET_BOX_TOOLTIP(24,"Keeper Box: Set all buffs effects on all friendly minions.")
SET_BOX_TOOLTIP(25,"Pandora's Box: There's no telling what this will do.")
SET_BOX_TOOLTIP(225,"Madness: All the minions get mad psycho.")
SET_BOX_TOOLTIP(226,"Oops!: A clumsy imp tripped and spilled their coffee on you, slap 'em all!")
SET_BOX_TOOLTIP(227,"Heroic Assault: Summon a squad of heroes to destroy you.")
SET_BOX_TOOLTIP(228,"Rebellion: All friendly minions get angry. Your minions may turn against you, last 12 seconds.")
SET_BOX_TOOLTIP(229,"Diverted Wrath: Cast Lightning on your territory at random friendly minions, last 12 seconds.")
SET_BOX_TOOLTIP(230,"Collapse: Cast Cave-In on your territory at random friendly minions, last 12 seconds.")
SET_BOX_TOOLTIP(231,"Backlash of Conquest: An Avatar has betrayed the heroes and joined you, unaware that a deadly army hunts you both.")
SET_BOX_TOOLTIP(232,"Ragnarok: Kill all your minions then summon as many Knights to join your ranks, then set all buffs effects on them.")
SET_BOX_TOOLTIP(255,"Mood Enhancer: All friendly minions become happy. Single use only.")

REM # Enables the Mysterious Box to be researched again, provided the library isn't full.
IF_AVAILABLE(PLAYER0,RESEARCH_CUSTOM != 0)
	NEXT_COMMAND_REUSABLE
	MAGIC_AVAILABLE(PLAYER0,RESEARCH_CUSTOM,1,0)
ENDIF
IF_AVAILABLE(PLAYER1,RESEARCH_CUSTOM != 0)
	NEXT_COMMAND_REUSABLE
	MAGIC_AVAILABLE(PLAYER1,RESEARCH_CUSTOM,1,0)
ENDIF

REM # Get a random value to determine what effect the Mysterious Box hold.
IF(PLAYER0,BOX0_ACTIVATED > 0)
	NEXT_COMMAND_REUSABLE
	RANDOMISE_FLAG(PLAYER0,BOX100_ACTIVATED,25)
	NEXT_COMMAND_REUSABLE
	SET_FLAG(PLAYER0,BOX0_ACTIVATED,0)
ENDIF

REM # Spawn the randomised Mysterious Box.
IF(PLAYER0,BOX100_ACTIVATED != 0)
	IF(PLAYER0,BOX100_ACTIVATED == 1)
		NEXT_COMMAND_REUSABLE
		ADD_OBJECT_TO_LEVEL(SPECBOX_CUSTOM,LAST_EVENT,1,PLAYER_NEUTRAL)
		NEXT_COMMAND_REUSABLE
		SET_FLAG(PLAYER0,BOX100_ACTIVATED,0)
	ENDIF
	IF(PLAYER0,BOX100_ACTIVATED == 2)
		NEXT_COMMAND_REUSABLE
		ADD_OBJECT_TO_LEVEL(SPECBOX_CUSTOM,LAST_EVENT,2,PLAYER_NEUTRAL)
		NEXT_COMMAND_REUSABLE
		SET_FLAG(PLAYER0,BOX100_ACTIVATED,0)
	ENDIF
	IF(PLAYER0,BOX100_ACTIVATED == 3)
		NEXT_COMMAND_REUSABLE
		ADD_OBJECT_TO_LEVEL(SPECBOX_CUSTOM,LAST_EVENT,3,PLAYER_NEUTRAL)
		NEXT_COMMAND_REUSABLE
		SET_FLAG(PLAYER0,BOX100_ACTIVATED,0)
	ENDIF
	IF(PLAYER0,BOX100_ACTIVATED == 4)
		NEXT_COMMAND_REUSABLE
		ADD_OBJECT_TO_LEVEL(SPECBOX_CUSTOM,LAST_EVENT,4,PLAYER_NEUTRAL)
		NEXT_COMMAND_REUSABLE
		SET_FLAG(PLAYER0,BOX100_ACTIVATED,0)
	ENDIF
	IF(PLAYER0,BOX100_ACTIVATED == 5)
		NEXT_COMMAND_REUSABLE
		ADD_OBJECT_TO_LEVEL(SPECBOX_CUSTOM,LAST_EVENT,5,PLAYER_NEUTRAL)
		NEXT_COMMAND_REUSABLE
		SET_FLAG(PLAYER0,BOX100_ACTIVATED,0)
	ENDIF
	IF(PLAYER0,BOX100_ACTIVATED == 6)
		NEXT_COMMAND_REUSABLE
		ADD_OBJECT_TO_LEVEL(SPECBOX_CUSTOM,LAST_EVENT,6,PLAYER_NEUTRAL)
		NEXT_COMMAND_REUSABLE
		SET_FLAG(PLAYER0,BOX100_ACTIVATED,0)
	ENDIF
	IF(PLAYER0,BOX100_ACTIVATED == 7)
		NEXT_COMMAND_REUSABLE
		ADD_OBJECT_TO_LEVEL(SPECBOX_CUSTOM,LAST_EVENT,7,PLAYER_NEUTRAL)
		NEXT_COMMAND_REUSABLE
		SET_FLAG(PLAYER0,BOX100_ACTIVATED,0)
	ENDIF
	IF(PLAYER0,BOX100_ACTIVATED == 8)
		NEXT_COMMAND_REUSABLE
		ADD_OBJECT_TO_LEVEL(SPECBOX_CUSTOM,LAST_EVENT,8,PLAYER_NEUTRAL)
		NEXT_COMMAND_REUSABLE
		SET_FLAG(PLAYER0,BOX100_ACTIVATED,0)
	ENDIF
	IF(PLAYER0,BOX100_ACTIVATED == 9)
		NEXT_COMMAND_REUSABLE
		ADD_OBJECT_TO_LEVEL(SPECBOX_CUSTOM,LAST_EVENT,9,PLAYER_NEUTRAL)
		NEXT_COMMAND_REUSABLE
		SET_FLAG(PLAYER0,BOX100_ACTIVATED,0)
	ENDIF
	IF(PLAYER0,BOX100_ACTIVATED == 10)
		NEXT_COMMAND_REUSABLE
		ADD_OBJECT_TO_LEVEL(SPECBOX_CUSTOM,LAST_EVENT,10,PLAYER_NEUTRAL)
		NEXT_COMMAND_REUSABLE
		SET_FLAG(PLAYER0,BOX100_ACTIVATED,0)
	ENDIF
	IF(PLAYER0,BOX100_ACTIVATED == 11)
		NEXT_COMMAND_REUSABLE
		ADD_OBJECT_TO_LEVEL(SPECBOX_CUSTOM,LAST_EVENT,11,PLAYER_NEUTRAL)
		NEXT_COMMAND_REUSABLE
		SET_FLAG(PLAYER0,BOX100_ACTIVATED,0)
	ENDIF
	IF(PLAYER0,BOX100_ACTIVATED == 12)
		NEXT_COMMAND_REUSABLE
		ADD_OBJECT_TO_LEVEL(SPECBOX_CUSTOM,LAST_EVENT,12,PLAYER_NEUTRAL)
		NEXT_COMMAND_REUSABLE
		SET_FLAG(PLAYER0,BOX100_ACTIVATED,0)
	ENDIF
	IF(PLAYER0,BOX100_ACTIVATED == 13)
		NEXT_COMMAND_REUSABLE
		ADD_OBJECT_TO_LEVEL(SPECBOX_CUSTOM,LAST_EVENT,13,PLAYER_NEUTRAL)
		NEXT_COMMAND_REUSABLE
		SET_FLAG(PLAYER0,BOX100_ACTIVATED,0)
	ENDIF
	IF(PLAYER0,BOX100_ACTIVATED == 14)
		NEXT_COMMAND_REUSABLE
		ADD_OBJECT_TO_LEVEL(SPECBOX_CUSTOM,LAST_EVENT,14,PLAYER_NEUTRAL)
		NEXT_COMMAND_REUSABLE
		SET_FLAG(PLAYER0,BOX100_ACTIVATED,0)
	ENDIF
	IF(PLAYER0,BOX100_ACTIVATED == 15)
		NEXT_COMMAND_REUSABLE
		ADD_OBJECT_TO_LEVEL(SPECBOX_CUSTOM,LAST_EVENT,15,PLAYER_NEUTRAL)
		NEXT_COMMAND_REUSABLE
		SET_FLAG(PLAYER0,BOX100_ACTIVATED,0)
	ENDIF
	IF(PLAYER0,BOX100_ACTIVATED == 16)
		NEXT_COMMAND_REUSABLE
		ADD_OBJECT_TO_LEVEL(SPECBOX_CUSTOM,LAST_EVENT,16,PLAYER_NEUTRAL)
		NEXT_COMMAND_REUSABLE
		SET_FLAG(PLAYER0,BOX100_ACTIVATED,0)
	ENDIF
	IF(PLAYER0,BOX100_ACTIVATED == 17)
		NEXT_COMMAND_REUSABLE
		ADD_OBJECT_TO_LEVEL(SPECBOX_CUSTOM,LAST_EVENT,17,PLAYER_NEUTRAL)
		NEXT_COMMAND_REUSABLE
		SET_FLAG(PLAYER0,BOX100_ACTIVATED,0)
	ENDIF
	IF(PLAYER0,BOX100_ACTIVATED == 18)
		NEXT_COMMAND_REUSABLE
		ADD_OBJECT_TO_LEVEL(SPECBOX_CUSTOM,LAST_EVENT,18,PLAYER_NEUTRAL)
		NEXT_COMMAND_REUSABLE
		SET_FLAG(PLAYER0,BOX100_ACTIVATED,0)
	ENDIF
	IF(PLAYER0,BOX100_ACTIVATED == 19)
		NEXT_COMMAND_REUSABLE
		ADD_OBJECT_TO_LEVEL(SPECBOX_CUSTOM,LAST_EVENT,19,PLAYER_NEUTRAL)
		NEXT_COMMAND_REUSABLE
		SET_FLAG(PLAYER0,BOX100_ACTIVATED,0)
	ENDIF
	IF(PLAYER0,BOX100_ACTIVATED == 20)
		NEXT_COMMAND_REUSABLE
		ADD_OBJECT_TO_LEVEL(SPECBOX_CUSTOM,LAST_EVENT,20,PLAYER_NEUTRAL)
		NEXT_COMMAND_REUSABLE
		SET_FLAG(PLAYER0,BOX100_ACTIVATED,0)
	ENDIF
	IF(PLAYER0,BOX100_ACTIVATED == 21)
		NEXT_COMMAND_REUSABLE
		ADD_OBJECT_TO_LEVEL(SPECBOX_CUSTOM,LAST_EVENT,21,PLAYER_NEUTRAL)
		NEXT_COMMAND_REUSABLE
		SET_FLAG(PLAYER0,BOX100_ACTIVATED,0)
	ENDIF
	IF(PLAYER0,BOX100_ACTIVATED == 22)
		NEXT_COMMAND_REUSABLE
		ADD_OBJECT_TO_LEVEL(SPECBOX_CUSTOM,LAST_EVENT,22,PLAYER_NEUTRAL)
		NEXT_COMMAND_REUSABLE
		SET_FLAG(PLAYER0,BOX100_ACTIVATED,0)
	ENDIF
	IF(PLAYER0,BOX100_ACTIVATED == 23)
		NEXT_COMMAND_REUSABLE
		ADD_OBJECT_TO_LEVEL(SPECBOX_CUSTOM,LAST_EVENT,23,PLAYER_NEUTRAL)
		NEXT_COMMAND_REUSABLE
		SET_FLAG(PLAYER0,BOX100_ACTIVATED,0)
	ENDIF
	IF(PLAYER0,BOX100_ACTIVATED == 24)
		NEXT_COMMAND_REUSABLE
		ADD_OBJECT_TO_LEVEL(SPECBOX_CUSTOM,LAST_EVENT,24,PLAYER_NEUTRAL)
		NEXT_COMMAND_REUSABLE
		SET_FLAG(PLAYER0,BOX100_ACTIVATED,0)
	ENDIF
	IF(PLAYER0,BOX100_ACTIVATED == 25)
		NEXT_COMMAND_REUSABLE
		ADD_OBJECT_TO_LEVEL(SPECBOX_CUSTOM,LAST_EVENT,25,PLAYER_NEUTRAL)
		NEXT_COMMAND_REUSABLE
		SET_FLAG(PLAYER0,BOX100_ACTIVATED,0)
	ENDIF
ENDIF

REM # "Frostbite Box: Cast Freeze on all hostile minions."
IF(PLAYER0,BOX1_ACTIVATED > 0)
	NEXT_COMMAND_REUSABLE
	USE_SPELL_ON_PLAYERS_CREATURES(PLAYER1,ANY_CREATURE,SPELL_FREEZE,1)
	NEXT_COMMAND_REUSABLE
	USE_SPELL_ON_PLAYERS_CREATURES(PLAYER_GOOD,ANY_CREATURE,SPELL_FREEZE,1)
	NEXT_COMMAND_REUSABLE
	SET_FLAG(PLAYER0,BOX1_ACTIVATED,0)
ENDIF

REM # "Protect Box: Cast Armour on all friendly minions."
IF(PLAYER0,BOX2_ACTIVATED > 0)
	NEXT_COMMAND_REUSABLE
	USE_SPELL_ON_PLAYERS_CREATURES(PLAYER0,ANY_CREATURE,SPELL_ARMOUR,1)
	NEXT_COMMAND_REUSABLE
	USE_SPELL_ON_PLAYERS_CREATURES(PLAYER0,IMP,SPELL_ARMOUR,1)
	NEXT_COMMAND_REUSABLE
	SET_FLAG(PLAYER0,BOX2_ACTIVATED,0)
ENDIF

REM # "Shell Box: Cast Rebound on all friendly minions."
IF(PLAYER0,BOX3_ACTIVATED > 0)
	NEXT_COMMAND_REUSABLE
	USE_SPELL_ON_PLAYERS_CREATURES(PLAYER0,ANY_CREATURE,SPELL_REBOUND,1)
	NEXT_COMMAND_REUSABLE
	USE_SPELL_ON_PLAYERS_CREATURES(PLAYER0,IMP,SPELL_REBOUND,1)
	NEXT_COMMAND_REUSABLE
	SET_FLAG(PLAYER0,BOX3_ACTIVATED,0)
ENDIF

REM # "Cure Box: Cast Heal on all friendly minions."
IF(PLAYER0,BOX4_ACTIVATED > 0)
	NEXT_COMMAND_REUSABLE
	USE_SPELL_ON_PLAYERS_CREATURES(PLAYER0,ANY_CREATURE,SPELL_HEAL,1)
	NEXT_COMMAND_REUSABLE
	USE_SPELL_ON_PLAYERS_CREATURES(PLAYER0,IMP,SPELL_HEAL,1)
	NEXT_COMMAND_REUSABLE
	SET_FLAG(PLAYER0,BOX4_ACTIVATED,0)
ENDIF

REM # "Vanish Box: Cast Invisibility on all friendly minions."
IF(PLAYER0,BOX5_ACTIVATED > 0)
	NEXT_COMMAND_REUSABLE
	USE_SPELL_ON_PLAYERS_CREATURES(PLAYER0,ANY_CREATURE,SPELL_INVISIBILITY,1)
	NEXT_COMMAND_REUSABLE
	USE_SPELL_ON_PLAYERS_CREATURES(PLAYER0,IMP,SPELL_INVISIBILITY,1)
	NEXT_COMMAND_REUSABLE
	SET_FLAG(PLAYER0,BOX5_ACTIVATED,0)
ENDIF

REM # "Warp Box: Teleport all hostile minions to their lair."
IF(PLAYER0,BOX6_ACTIVATED > 0)
	NEXT_COMMAND_REUSABLE
	USE_SPELL_ON_PLAYERS_CREATURES(PLAYER1,ANY_CREATURE,SPELL_TELEPORT)
	NEXT_COMMAND_REUSABLE
	USE_SPELL_ON_PLAYERS_CREATURES(PLAYER_GOOD,ANY_CREATURE,SPELL_TELEPORT)
	NEXT_COMMAND_REUSABLE
	SET_FLAG(PLAYER0,BOX6_ACTIVATED,0)
ENDIF

REM # "Rescue Box: Teleport your own minions to their lair."
IF(PLAYER0,BOX7_ACTIVATED > 0)
	NEXT_COMMAND_REUSABLE
	USE_SPELL_ON_PLAYERS_CREATURES(PLAYER0,ANY_CREATURE,SPELL_TELEPORT)
	NEXT_COMMAND_REUSABLE
	USE_SPELL_ON_PLAYERS_CREATURES(PLAYER0,IMP,SPELL_TELEPORT)
	NEXT_COMMAND_REUSABLE
	SET_FLAG(PLAYER0,BOX7_ACTIVATED,0)
ENDIF

REM # "Cease-fire Box: Teleport all minions to their lair."
IF(PLAYER0,BOX8_ACTIVATED > 0)
	NEXT_COMMAND_REUSABLE
	USE_SPELL_ON_PLAYERS_CREATURES(ALL_PLAYERS,ANY_CREATURE,SPELL_TELEPORT)
	NEXT_COMMAND_REUSABLE
	USE_SPELL_ON_PLAYERS_CREATURES(ALL_PLAYERS,IMP,SPELL_TELEPORT)
	NEXT_COMMAND_REUSABLE
	SET_FLAG(PLAYER0,BOX8_ACTIVATED,0)
ENDIF

REM # "Haste Box: Cast Speed on all friendly minions."
IF(PLAYER0,BOX9_ACTIVATED > 0)
	NEXT_COMMAND_REUSABLE
	USE_SPELL_ON_PLAYERS_CREATURES(PLAYER0,ANY_CREATURE,SPELL_SPEED,1)
	NEXT_COMMAND_REUSABLE
	USE_SPELL_ON_PLAYERS_CREATURES(PLAYER0,IMP,SPELL_SPEED,1)
	NEXT_COMMAND_REUSABLE
	SET_FLAG(PLAYER0,BOX9_ACTIVATED,0)
ENDIF

REM # "Web Box: Cast Slow on all hostile minions."
IF(PLAYER0,BOX10_ACTIVATED > 0)
	NEXT_COMMAND_REUSABLE
	USE_SPELL_ON_PLAYERS_CREATURES(PLAYER1,ANY_CREATURE,SPELL_SLOW,1)
	NEXT_COMMAND_REUSABLE
	USE_SPELL_ON_PLAYERS_CREATURES(PLAYER_GOOD,ANY_CREATURE,SPELL_SLOW,1)
	NEXT_COMMAND_REUSABLE
	SET_FLAG(PLAYER0,BOX10_ACTIVATED,0)
ENDIF

REM # "Illumination Box: Cast Light on all minions."
IF(PLAYER0,BOX11_ACTIVATED > 0)
	NEXT_COMMAND_REUSABLE
	USE_SPELL_ON_PLAYERS_CREATURES(ALL_PLAYERS,ANY_CREATURE,SPELL_LIGHT,1)
	NEXT_COMMAND_REUSABLE
	USE_SPELL_ON_PLAYERS_CREATURES(ALL_PLAYERS,IMP,SPELL_LIGHT,1)
	NEXT_COMMAND_REUSABLE
	SET_FLAG(PLAYER0,BOX11_ACTIVATED,0)
ENDIF

REM # "Float Box: Cast Flight on all friendly minions."
IF(PLAYER0,BOX12_ACTIVATED > 0)
	NEXT_COMMAND_REUSABLE
	USE_SPELL_ON_PLAYERS_CREATURES(PLAYER0,ANY_CREATURE,SPELL_FLIGHT,1)
	NEXT_COMMAND_REUSABLE
	USE_SPELL_ON_PLAYERS_CREATURES(PLAYER0,IMP,SPELL_FLIGHT,1)
	NEXT_COMMAND_REUSABLE
	SET_FLAG(PLAYER0,BOX12_ACTIVATED,0)
ENDIF

REM # "Vision Box: Cast Sight on all friendly minions."
IF(PLAYER0,BOX13_ACTIVATED > 0)
	NEXT_COMMAND_REUSABLE
	USE_SPELL_ON_PLAYERS_CREATURES(PLAYER0,ANY_CREATURE,SPELL_SIGHT,1)
	NEXT_COMMAND_REUSABLE
	USE_SPELL_ON_PLAYERS_CREATURES(PLAYER0,IMP,SPELL_SIGHT,1)
	NEXT_COMMAND_REUSABLE
	SET_FLAG(PLAYER0,BOX13_ACTIVATED,0)
ENDIF

REM # "Plague Box: Cast Disease on all hostile minions."
IF(PLAYER0,BOX14_ACTIVATED > 0)
	NEXT_COMMAND_REUSABLE
	USE_SPELL_ON_PLAYERS_CREATURES(PLAYER1,ANY_CREATURE,SPELL_DISEASE,1)
	NEXT_COMMAND_REUSABLE
	USE_SPELL_ON_PLAYERS_CREATURES(PLAYER_GOOD,ANY_CREATURE,SPELL_DISEASE,1)
	NEXT_COMMAND_REUSABLE
	SET_FLAG(PLAYER0,BOX14_ACTIVATED,0)
ENDIF

REM # "Hex Box: Cast Chicken on all hostile minions."
IF(PLAYER0,BOX15_ACTIVATED > 0)
	NEXT_COMMAND_REUSABLE
	USE_SPELL_ON_PLAYERS_CREATURES(PLAYER1,ANY_CREATURE,SPELL_CHICKEN,1)
	NEXT_COMMAND_REUSABLE
	USE_SPELL_ON_PLAYERS_CREATURES(PLAYER_GOOD,ANY_CREATURE,SPELL_CHICKEN,1)
	NEXT_COMMAND_REUSABLE
	SET_FLAG(PLAYER0,BOX15_ACTIVATED,0)
ENDIF

REM # "Wrath Box: Cast Lightning on your territory at random hostile minions, last 12 seconds."
IF(PLAYER0,BOX16_ACTIVATED > 0)
	NEXT_COMMAND_REUSABLE
	ADD_TO_FLAG(PLAYER0,BOX116_ACTIVATED,255)
	NEXT_COMMAND_REUSABLE
	SET_FLAG(PLAYER0,BOX16_ACTIVATED,0)
ENDIF

REM # Wrath Box's effect happen every game turn until BOX116_ACTIVATED flag reach 0.
REM # To change duration see above and replace 255 (average 12 seconds) with any value you want (range 1-255).
IF(PLAYER0,BOX116_ACTIVATED > 0)
	NEXT_COMMAND_REUSABLE
	USE_POWER_ON_CREATURE(PLAYER1,ANY_CREATURE,ON_ENEMY_GROUND,PLAYER0,POWER_LIGHTNING,1,1)
	NEXT_COMMAND_REUSABLE
	USE_POWER_ON_CREATURE(PLAYER_GOOD,ANY_CREATURE,ON_ENEMY_GROUND,PLAYER0,POWER_LIGHTNING,1,1)
	NEXT_COMMAND_REUSABLE
	USE_POWER_ON_CREATURE(PLAYER1,IMP,ON_ENEMY_GROUND,PLAYER0,POWER_LIGHTNING,1,1)
	NEXT_COMMAND_REUSABLE
	USE_POWER_ON_CREATURE(PLAYER_GOOD,IMP,ON_ENEMY_GROUND,PLAYER0,POWER_LIGHTNING,1,1)
	NEXT_COMMAND_REUSABLE
	ADD_TO_FLAG(PLAYER0,BOX116_ACTIVATED,-1)
ENDIF

REM # "Rockfall Box: Cast Cave-In on your territory at random hostile minions, last 12 seconds."
IF(PLAYER0,BOX17_ACTIVATED > 0)
	NEXT_COMMAND_REUSABLE
	ADD_TO_FLAG(PLAYER0,BOX117_ACTIVATED,255)
	NEXT_COMMAND_REUSABLE
	SET_FLAG(PLAYER0,BOX17_ACTIVATED,0)
ENDIF

REM # Rockfall Box's effect happen every game turn until BOX117_ACTIVATED flag reach 0.
REM # To change duration see above and replace 255 (average 12 seconds) with any value you want (range 1-255).
IF(PLAYER0,BOX117_ACTIVATED > 0)
	NEXT_COMMAND_REUSABLE
	USE_POWER_ON_CREATURE(PLAYER1,ANY_CREATURE,ON_ENEMY_GROUND,PLAYER0,POWER_CAVE_IN,1,1)
	NEXT_COMMAND_REUSABLE
	USE_POWER_ON_CREATURE(PLAYER_GOOD,ANY_CREATURE,ON_ENEMY_GROUND,PLAYER0,POWER_CAVE_IN,1,1)
	NEXT_COMMAND_REUSABLE
	USE_POWER_ON_CREATURE(PLAYER1,IMP,ON_ENEMY_GROUND,PLAYER0,POWER_CAVE_IN,1,1)
	NEXT_COMMAND_REUSABLE
	USE_POWER_ON_CREATURE(PLAYER_GOOD,IMP,ON_ENEMY_GROUND,PLAYER0,POWER_CAVE_IN,1,1)
	NEXT_COMMAND_REUSABLE
	ADD_TO_FLAG(PLAYER0,BOX117_ACTIVATED,-1)
ENDIF

REM # "Heroic Box: Summon a random hero to join your ranks."
IF(PLAYER0,BOX18_ACTIVATED > 0)
	NEXT_COMMAND_REUSABLE
	RANDOMISE_FLAG(PLAYER0,BOX118_ACTIVATED,10)
	NEXT_COMMAND_REUSABLE
	SET_FLAG(PLAYER0,BOX18_ACTIVATED,0)
ENDIF

REM # The pool of hero can vary between map.
IF(PLAYER0,BOX118_ACTIVATED != 0)
	IF(PLAYER0,BOX118_ACTIVATED == 1)
		NEXT_COMMAND_REUSABLE
		ADD_CREATURE_TO_LEVEL(PLAYER0,ARCHER,LAST_EVENT,1,5,0)
		NEXT_COMMAND_REUSABLE
		SET_FLAG(PLAYER0,BOX118_ACTIVATED,0)
	ENDIF
	IF(PLAYER0,BOX118_ACTIVATED == 2)
		NEXT_COMMAND_REUSABLE
		ADD_CREATURE_TO_LEVEL(PLAYER0,BARBARIAN,LAST_EVENT,1,5,0)
		NEXT_COMMAND_REUSABLE
		SET_FLAG(PLAYER0,BOX118_ACTIVATED,0)
	ENDIF
	IF(PLAYER0,BOX118_ACTIVATED == 3)
		NEXT_COMMAND_REUSABLE
		ADD_CREATURE_TO_LEVEL(PLAYER0,DWARFA,LAST_EVENT,1,5,0)
		NEXT_COMMAND_REUSABLE
		SET_FLAG(PLAYER0,BOX118_ACTIVATED,0)
	ENDIF
	IF(PLAYER0,BOX118_ACTIVATED == 4)
		NEXT_COMMAND_REUSABLE
		ADD_CREATURE_TO_LEVEL(PLAYER0,FAIRY,LAST_EVENT,1,5,0)
		NEXT_COMMAND_REUSABLE
		SET_FLAG(PLAYER0,BOX118_ACTIVATED,0)
	ENDIF
	IF(PLAYER0,BOX118_ACTIVATED == 5)
		NEXT_COMMAND_REUSABLE
		ADD_CREATURE_TO_LEVEL(PLAYER0,GIANT,LAST_EVENT,1,5,0)
		NEXT_COMMAND_REUSABLE
		SET_FLAG(PLAYER0,BOX118_ACTIVATED,0)
	ENDIF
	IF(PLAYER0,BOX118_ACTIVATED == 6)
		NEXT_COMMAND_REUSABLE
		ADD_CREATURE_TO_LEVEL(PLAYER0,MONK,LAST_EVENT,1,5,0)
		NEXT_COMMAND_REUSABLE
		SET_FLAG(PLAYER0,BOX118_ACTIVATED,0)
	ENDIF
	IF(PLAYER0,BOX118_ACTIVATED == 7)
		NEXT_COMMAND_REUSABLE
		ADD_CREATURE_TO_LEVEL(PLAYER0,SAMURAI,LAST_EVENT,1,5,0)
		NEXT_COMMAND_REUSABLE
		SET_FLAG(PLAYER0,BOX118_ACTIVATED,0)
	ENDIF
	IF(PLAYER0,BOX118_ACTIVATED == 8)
		NEXT_COMMAND_REUSABLE
		ADD_CREATURE_TO_LEVEL(PLAYER0,THIEF,LAST_EVENT,1,5,0)
		NEXT_COMMAND_REUSABLE
		SET_FLAG(PLAYER0,BOX118_ACTIVATED,0)
	ENDIF
	IF(PLAYER0,BOX118_ACTIVATED == 9)
		NEXT_COMMAND_REUSABLE
		ADD_CREATURE_TO_LEVEL(PLAYER0,WITCH,LAST_EVENT,1,5,0)
		NEXT_COMMAND_REUSABLE
		SET_FLAG(PLAYER0,BOX118_ACTIVATED,0)
	ENDIF
	IF(PLAYER0,BOX118_ACTIVATED == 10)
		NEXT_COMMAND_REUSABLE
		ADD_CREATURE_TO_LEVEL(PLAYER0,WIZARD,LAST_EVENT,1,5,0)
		NEXT_COMMAND_REUSABLE
		SET_FLAG(PLAYER0,BOX118_ACTIVATED,0)
	ENDIF
ENDIF

REM # "Evil Box: Summon a random creature to join your ranks."
IF(PLAYER0,BOX19_ACTIVATED > 0)
	NEXT_COMMAND_REUSABLE
	RANDOMISE_FLAG(PLAYER0,BOX119_ACTIVATED,8)
	NEXT_COMMAND_REUSABLE
	SET_FLAG(PLAYER0,BOX19_ACTIVATED,0)
ENDIF

REM # The pool of creature can vary between map.
IF(PLAYER0,BOX119_ACTIVATED != 0)
	IF(PLAYER0,BOX119_ACTIVATED == 1)
		NEXT_COMMAND_REUSABLE
		ADD_CREATURE_TO_LEVEL(PLAYER0,BILE_DEMON,LAST_EVENT,1,5,0)
		NEXT_COMMAND_REUSABLE
		SET_FLAG(PLAYER0,BOX119_ACTIVATED,0)
	ENDIF
	IF(PLAYER0,BOX119_ACTIVATED == 2)
		NEXT_COMMAND_REUSABLE
		ADD_CREATURE_TO_LEVEL(PLAYER0,DARK_MISTRESS,LAST_EVENT,1,5,0)
		NEXT_COMMAND_REUSABLE
		SET_FLAG(PLAYER0,BOX119_ACTIVATED,0)
	ENDIF
	IF(PLAYER0,BOX119_ACTIVATED == 3)
		NEXT_COMMAND_REUSABLE
		ADD_CREATURE_TO_LEVEL(PLAYER0,DRAGON,LAST_EVENT,1,5,0)
		NEXT_COMMAND_REUSABLE
		SET_FLAG(PLAYER0,BOX119_ACTIVATED,0)
	ENDIF
	IF(PLAYER0,BOX119_ACTIVATED == 4)
		NEXT_COMMAND_REUSABLE
		ADD_CREATURE_TO_LEVEL(PLAYER0,HELL_HOUND,LAST_EVENT,1,5,0)
		NEXT_COMMAND_REUSABLE
		SET_FLAG(PLAYER0,BOX119_ACTIVATED,0)
	ENDIF
	IF(PLAYER0,BOX119_ACTIVATED == 5)
		NEXT_COMMAND_REUSABLE
		ADD_CREATURE_TO_LEVEL(PLAYER0,ORC,LAST_EVENT,1,5,0)
		NEXT_COMMAND_REUSABLE
		SET_FLAG(PLAYER0,BOX119_ACTIVATED,0)
	ENDIF
	IF(PLAYER0,BOX119_ACTIVATED == 6)
		NEXT_COMMAND_REUSABLE
		ADD_CREATURE_TO_LEVEL(PLAYER0,SORCEROR,LAST_EVENT,1,5,0)
		NEXT_COMMAND_REUSABLE
		SET_FLAG(PLAYER0,BOX119_ACTIVATED,0)
	ENDIF
	IF(PLAYER0,BOX119_ACTIVATED == 7)
		NEXT_COMMAND_REUSABLE
		ADD_CREATURE_TO_LEVEL(PLAYER0,TENTACLE,LAST_EVENT,1,5,0)
		NEXT_COMMAND_REUSABLE
		SET_FLAG(PLAYER0,BOX119_ACTIVATED,0)
	ENDIF
	IF(PLAYER0,BOX119_ACTIVATED == 8)
		NEXT_COMMAND_REUSABLE
		ADD_CREATURE_TO_LEVEL(PLAYER0,TROLL,LAST_EVENT,1,5,0)
		NEXT_COMMAND_REUSABLE
		SET_FLAG(PLAYER0,BOX119_ACTIVATED,0)
	ENDIF
ENDIF

REM # "Necromancy Box: Raise a squad of undead at the site of the last battle to join your ranks."
REM # The type of undead can vary between map.
IF(PLAYER0,BOX20_ACTIVATED > 0)
	NEXT_COMMAND_REUSABLE
	ADD_CREATURE_TO_LEVEL(PLAYER0,SKELETON,COMBAT[PLAYER0],2,3,0)
	NEXT_COMMAND_REUSABLE
	ADD_CREATURE_TO_LEVEL(PLAYER0,GHOST,COMBAT[PLAYER0],2,3,0)
	NEXT_COMMAND_REUSABLE
	ADD_CREATURE_TO_LEVEL(PLAYER0,VAMPIRE,COMBAT[PLAYER0],1,3,0)
	NEXT_COMMAND_REUSABLE
	SET_FLAG(PLAYER0,BOX20_ACTIVATED,0)
ENDIF

REM # "Anger Box: All the minions get angry."
IF(PLAYER0,BOX21_ACTIVATED > 0)
	NEXT_COMMAND_REUSABLE
	CHANGE_CREATURES_ANNOYANCE(ALL_PLAYERS,ANY_CREATURE,SET,10000)
	NEXT_COMMAND_REUSABLE
	CHANGE_CREATURES_ANNOYANCE(ALL_PLAYERS,IMP,SET,10000)
	NEXT_COMMAND_REUSABLE
	SET_FLAG(PLAYER0,BOX21_ACTIVATED,0)
ENDIF

REM # "Happy Box: All friendly minions get happy."
IF(PLAYER0,BOX22_ACTIVATED > 0)
	NEXT_COMMAND_REUSABLE
	CHANGE_CREATURES_ANNOYANCE(PLAYER0,ANY_CREATURE,SET,0)
	NEXT_COMMAND_REUSABLE
	CHANGE_CREATURES_ANNOYANCE(PLAYER0,IMP,SET,0)
	NEXT_COMMAND_REUSABLE
	SET_FLAG(PLAYER0,BOX22_ACTIVATED,0)
ENDIF

REM # "Dungeon Box: Fully restores your Dungeon Heart."
IF(PLAYER0,BOX23_ACTIVATED > 0)
	NEXT_COMMAND_REUSABLE
	ADD_HEART_HEALTH(PLAYER0,30000,0)
	NEXT_COMMAND_REUSABLE
	SET_FLAG(PLAYER0,BOX23_ACTIVATED,0)
ENDIF

REM # "Keeper Box: Set all buffs effects on all friendly minions."
IF(PLAYER0,BOX24_ACTIVATED > 0)
	NEXT_COMMAND_REUSABLE
	USE_SPELL_ON_PLAYERS_CREATURES(PLAYER0,ANY_CREATURE,SPELL_HEAL,1)
	NEXT_COMMAND_REUSABLE
	USE_SPELL_ON_PLAYERS_CREATURES(PLAYER0,ANY_CREATURE,SPELL_ARMOUR,1)
	NEXT_COMMAND_REUSABLE
	USE_SPELL_ON_PLAYERS_CREATURES(PLAYER0,ANY_CREATURE,SPELL_REBOUND,1)
	NEXT_COMMAND_REUSABLE
	USE_SPELL_ON_PLAYERS_CREATURES(PLAYER0,ANY_CREATURE,SPELL_SPEED,1)
	NEXT_COMMAND_REUSABLE
	USE_SPELL_ON_PLAYERS_CREATURES(PLAYER0,ANY_CREATURE,SPELL_FLIGHT,1)
	NEXT_COMMAND_REUSABLE
	USE_SPELL_ON_PLAYERS_CREATURES(PLAYER0,ANY_CREATURE,SPELL_SIGHT,1)
	NEXT_COMMAND_REUSABLE
	USE_SPELL_ON_PLAYERS_CREATURES(PLAYER0,IMP,SPELL_HEAL,1)
	NEXT_COMMAND_REUSABLE
	USE_SPELL_ON_PLAYERS_CREATURES(PLAYER0,IMP,SPELL_ARMOUR,1)
	NEXT_COMMAND_REUSABLE
	USE_SPELL_ON_PLAYERS_CREATURES(PLAYER0,IMP,SPELL_REBOUND,1)
	NEXT_COMMAND_REUSABLE
	USE_SPELL_ON_PLAYERS_CREATURES(PLAYER0,IMP,SPELL_SPEED,1)
	NEXT_COMMAND_REUSABLE
	USE_SPELL_ON_PLAYERS_CREATURES(PLAYER0,IMP,SPELL_FLIGHT,1)
	NEXT_COMMAND_REUSABLE
	USE_SPELL_ON_PLAYERS_CREATURES(PLAYER0,IMP,SPELL_SIGHT,1)
	NEXT_COMMAND_REUSABLE
	SET_FLAG(PLAYER0,BOX24_ACTIVATED,0)
ENDIF

REM # "Pandora's Box: There's no telling what this will do."
REM # Can trigger any effect above, in addition it can trigger unique events such as:
REM # "Madness: All the minions get mad psycho."
REM # "Oops!: A clumsy imp tripped and spilled their coffee on you, slap 'em all!"
REM # "Heroic Assault: Summon a squad of heroes to destroy you."
REM # "Rebellion: All friendly minions get angry. Your minions may turn against you, last 12 seconds."
REM # "Diverted Wrath: Cast Lightning on your territory at random friendly minions, last 12 seconds."
REM # "Collapse: Cast Cave-In on your territory at random friendly minions, last 12 seconds."
REM # "Backlash of Conquest: An Avatar has betrayed the heroes and joined you, unaware that a deadly army hunts you both."
REM # "Ragnarok: Kill all your minions then summon as many Knights to join your ranks, then set all buffs effects on them."
IF(PLAYER0,BOX25_ACTIVATED > 0)
	NEXT_COMMAND_REUSABLE
	RANDOMISE_FLAG(PLAYER0,BOX125_ACTIVATED,32)
	NEXT_COMMAND_REUSABLE
	SET_FLAG(PLAYER0,BOX25_ACTIVATED,0)
ENDIF
IF(PLAYER0,BOX125_ACTIVATED != 0)
	IF(PLAYER0,BOX125_ACTIVATED == 1)
		NEXT_COMMAND_REUSABLE
		SET_FLAG(PLAYER0,BOX1_ACTIVATED,1)
		NEXT_COMMAND_REUSABLE
		SET_FLAG(PLAYER0,BOX125_ACTIVATED,0)
	ENDIF
	IF(PLAYER0,BOX125_ACTIVATED == 2)
		NEXT_COMMAND_REUSABLE
		SET_FLAG(PLAYER0,BOX2_ACTIVATED,1)
		NEXT_COMMAND_REUSABLE
		SET_FLAG(PLAYER0,BOX125_ACTIVATED,0)
	ENDIF
	IF(PLAYER0,BOX125_ACTIVATED == 3)
		NEXT_COMMAND_REUSABLE
		SET_FLAG(PLAYER0,BOX3_ACTIVATED,1)
		NEXT_COMMAND_REUSABLE
		SET_FLAG(PLAYER0,BOX125_ACTIVATED,0)
	ENDIF
	IF(PLAYER0,BOX125_ACTIVATED == 4)
		NEXT_COMMAND_REUSABLE
		SET_FLAG(PLAYER0,BOX4_ACTIVATED,1)
		NEXT_COMMAND_REUSABLE
		SET_FLAG(PLAYER0,BOX125_ACTIVATED,0)
	ENDIF
	IF(PLAYER0,BOX125_ACTIVATED == 5)
		NEXT_COMMAND_REUSABLE
		SET_FLAG(PLAYER0,BOX5_ACTIVATED,1)
		NEXT_COMMAND_REUSABLE
		SET_FLAG(PLAYER0,BOX125_ACTIVATED,0)
	ENDIF
	IF(PLAYER0,BOX125_ACTIVATED == 6)
		NEXT_COMMAND_REUSABLE
		SET_FLAG(PLAYER0,BOX6_ACTIVATED,1)
		NEXT_COMMAND_REUSABLE
		SET_FLAG(PLAYER0,BOX125_ACTIVATED,0)
	ENDIF
	IF(PLAYER0,BOX125_ACTIVATED == 7)
		NEXT_COMMAND_REUSABLE
		SET_FLAG(PLAYER0,BOX7_ACTIVATED,1)
		NEXT_COMMAND_REUSABLE
		SET_FLAG(PLAYER0,BOX125_ACTIVATED,0)
	ENDIF
	IF(PLAYER0,BOX125_ACTIVATED == 8)
		NEXT_COMMAND_REUSABLE
		SET_FLAG(PLAYER0,BOX8_ACTIVATED,1)
		NEXT_COMMAND_REUSABLE
		SET_FLAG(PLAYER0,BOX125_ACTIVATED,0)
	ENDIF
	IF(PLAYER0,BOX125_ACTIVATED == 9)
		NEXT_COMMAND_REUSABLE
		SET_FLAG(PLAYER0,BOX9_ACTIVATED,1)
		NEXT_COMMAND_REUSABLE
		SET_FLAG(PLAYER0,BOX125_ACTIVATED,0)
	ENDIF
	IF(PLAYER0,BOX125_ACTIVATED == 10)
		NEXT_COMMAND_REUSABLE
		SET_FLAG(PLAYER0,BOX10_ACTIVATED,1)
		NEXT_COMMAND_REUSABLE
		SET_FLAG(PLAYER0,BOX125_ACTIVATED,0)
	ENDIF
	IF(PLAYER0,BOX125_ACTIVATED == 11)
		NEXT_COMMAND_REUSABLE
		SET_FLAG(PLAYER0,BOX11_ACTIVATED,1)
		NEXT_COMMAND_REUSABLE
		SET_FLAG(PLAYER0,BOX125_ACTIVATED,0)
	ENDIF
	IF(PLAYER0,BOX125_ACTIVATED == 12)
		NEXT_COMMAND_REUSABLE
		SET_FLAG(PLAYER0,BOX12_ACTIVATED,1)
		NEXT_COMMAND_REUSABLE
		SET_FLAG(PLAYER0,BOX125_ACTIVATED,0)
	ENDIF
	IF(PLAYER0,BOX125_ACTIVATED == 13)
		NEXT_COMMAND_REUSABLE
		SET_FLAG(PLAYER0,BOX13_ACTIVATED,1)
		NEXT_COMMAND_REUSABLE
		SET_FLAG(PLAYER0,BOX125_ACTIVATED,0)
	ENDIF
	IF(PLAYER0,BOX125_ACTIVATED == 14)
		NEXT_COMMAND_REUSABLE
		SET_FLAG(PLAYER0,BOX14_ACTIVATED,1)
		NEXT_COMMAND_REUSABLE
		SET_FLAG(PLAYER0,BOX125_ACTIVATED,0)
	ENDIF
	IF(PLAYER0,BOX125_ACTIVATED == 15)
		NEXT_COMMAND_REUSABLE
		SET_FLAG(PLAYER0,BOX15_ACTIVATED,1)
		NEXT_COMMAND_REUSABLE
		SET_FLAG(PLAYER0,BOX125_ACTIVATED,0)
	ENDIF
	IF(PLAYER0,BOX125_ACTIVATED == 16)
		NEXT_COMMAND_REUSABLE
		SET_FLAG(PLAYER0,BOX16_ACTIVATED,1)
		NEXT_COMMAND_REUSABLE
		SET_FLAG(PLAYER0,BOX125_ACTIVATED,0)
	ENDIF
	IF(PLAYER0,BOX125_ACTIVATED == 17)
		NEXT_COMMAND_REUSABLE
		SET_FLAG(PLAYER0,BOX17_ACTIVATED,1)
		NEXT_COMMAND_REUSABLE
		SET_FLAG(PLAYER0,BOX125_ACTIVATED,0)
	ENDIF
	IF(PLAYER0,BOX125_ACTIVATED == 18)
		NEXT_COMMAND_REUSABLE
		SET_FLAG(PLAYER0,BOX18_ACTIVATED,1)
		NEXT_COMMAND_REUSABLE
		SET_FLAG(PLAYER0,BOX125_ACTIVATED,0)
	ENDIF
	IF(PLAYER0,BOX125_ACTIVATED == 19)
		NEXT_COMMAND_REUSABLE
		SET_FLAG(PLAYER0,BOX19_ACTIVATED,1)
		NEXT_COMMAND_REUSABLE
		SET_FLAG(PLAYER0,BOX125_ACTIVATED,0)
	ENDIF
	IF(PLAYER0,BOX125_ACTIVATED == 20)
		NEXT_COMMAND_REUSABLE
		SET_FLAG(PLAYER0,BOX20_ACTIVATED,1)
		NEXT_COMMAND_REUSABLE
		SET_FLAG(PLAYER0,BOX125_ACTIVATED,0)
	ENDIF
	IF(PLAYER0,BOX125_ACTIVATED == 21)
		NEXT_COMMAND_REUSABLE
		SET_FLAG(PLAYER0,BOX21_ACTIVATED,1)
		NEXT_COMMAND_REUSABLE
		SET_FLAG(PLAYER0,BOX125_ACTIVATED,0)
	ENDIF
	IF(PLAYER0,BOX125_ACTIVATED == 22)
		NEXT_COMMAND_REUSABLE
		SET_FLAG(PLAYER0,BOX22_ACTIVATED,1)
		NEXT_COMMAND_REUSABLE
		SET_FLAG(PLAYER0,BOX125_ACTIVATED,0)
	ENDIF
	IF(PLAYER0,BOX125_ACTIVATED == 23)
		NEXT_COMMAND_REUSABLE
		SET_FLAG(PLAYER0,BOX23_ACTIVATED,1)
		NEXT_COMMAND_REUSABLE
		SET_FLAG(PLAYER0,BOX125_ACTIVATED,0)
	ENDIF
	IF(PLAYER0,BOX125_ACTIVATED == 24)
		NEXT_COMMAND_REUSABLE
		SET_FLAG(PLAYER0,BOX24_ACTIVATED,1)
		NEXT_COMMAND_REUSABLE
		SET_FLAG(PLAYER0,BOX125_ACTIVATED,0)
	ENDIF
	IF(PLAYER0,BOX125_ACTIVATED == 25)
		NEXT_COMMAND_REUSABLE
		SET_FLAG(PLAYER0,BOX225_ACTIVATED,1)
		NEXT_COMMAND_REUSABLE
		SET_FLAG(PLAYER0,BOX125_ACTIVATED,0)
	ENDIF
	IF(PLAYER0,BOX125_ACTIVATED == 26)
		NEXT_COMMAND_REUSABLE
		SET_FLAG(PLAYER0,BOX226_ACTIVATED,1)
		NEXT_COMMAND_REUSABLE
		SET_FLAG(PLAYER0,BOX125_ACTIVATED,0)
	ENDIF
	IF(PLAYER0,BOX125_ACTIVATED == 27)
		NEXT_COMMAND_REUSABLE
		SET_FLAG(PLAYER0,BOX227_ACTIVATED,1)
		NEXT_COMMAND_REUSABLE
		SET_FLAG(PLAYER0,BOX125_ACTIVATED,0)
	ENDIF
	IF(PLAYER0,BOX125_ACTIVATED == 28)
		NEXT_COMMAND_REUSABLE
		SET_FLAG(PLAYER0,BOX228_ACTIVATED,1)
		NEXT_COMMAND_REUSABLE
		SET_FLAG(PLAYER0,BOX125_ACTIVATED,0)
	ENDIF
	IF(PLAYER0,BOX125_ACTIVATED == 29)
		NEXT_COMMAND_REUSABLE
		SET_FLAG(PLAYER0,BOX229_ACTIVATED,1)
		NEXT_COMMAND_REUSABLE
		SET_FLAG(PLAYER0,BOX125_ACTIVATED,0)
	ENDIF
	IF(PLAYER0,BOX125_ACTIVATED == 30)
		NEXT_COMMAND_REUSABLE
		SET_FLAG(PLAYER0,BOX230_ACTIVATED,1)
		NEXT_COMMAND_REUSABLE
		SET_FLAG(PLAYER0,BOX125_ACTIVATED,0)
	ENDIF
	IF(PLAYER0,BOX125_ACTIVATED == 31)
		NEXT_COMMAND_REUSABLE
		SET_FLAG(PLAYER0,BOX231_ACTIVATED,1)
		NEXT_COMMAND_REUSABLE
		SET_FLAG(PLAYER0,BOX125_ACTIVATED,0)
	ENDIF
	IF(PLAYER0,BOX125_ACTIVATED == 32)
		NEXT_COMMAND_REUSABLE
		SET_FLAG(PLAYER0,BOX232_ACTIVATED,1)
		NEXT_COMMAND_REUSABLE
		SET_FLAG(PLAYER0,BOX125_ACTIVATED,0)
	ENDIF
ENDIF

REM # "Madness: All the minions get mad psycho."
IF(PLAYER0,BOX225_ACTIVATED > 0)
	NEXT_COMMAND_REUSABLE
	USE_SPELL_ON_PLAYERS_CREATURES(ALL_PLAYERS,ANY_CREATURE,SPELL_FEAR,1)
	NEXT_COMMAND_REUSABLE
	USE_SPELL_ON_PLAYERS_CREATURES(ALL_PLAYERS,IMP,SPELL_FEAR,1)
	NEXT_COMMAND_REUSABLE
	SET_FLAG(PLAYER0,BOX225_ACTIVATED,0)
ENDIF

REM # "Oops!: A clumsy imp tripped and spilled their coffee on you, slap 'em all!"
IF(PLAYER0,BOX226_ACTIVATED > 0)
	NEXT_COMMAND_REUSABLE
	SET_FLAG(PLAYER0,BOX126_ACTIVATED,32)
	NEXT_COMMAND_REUSABLE
	SET_FLAG(PLAYER0,BOX226_ACTIVATED,0)
ENDIF

REM # Oops!'s effect happen every game turn until BOX126_ACTIVATED flag reach 0.
IF(PLAYER0,BOX126_ACTIVATED > 0)
	NEXT_COMMAND_REUSABLE
	USE_POWER_ON_CREATURE(PLAYER0,ANY_CREATURE,ANYWHERE,PLAYER0,POWER_SLAP,1,1)
	NEXT_COMMAND_REUSABLE
	USE_POWER_ON_CREATURE(PLAYER0,IMP,ANYWHERE,PLAYER0,POWER_SLAP,1,1)
	NEXT_COMMAND_REUSABLE
	ADD_TO_FLAG(PLAYER0,BOX126_ACTIVATED,-1)
ENDIF

REM # "Heroic Assault: Summon a squad of heroes to destroy you."
IF(PLAYER0,BOX227_ACTIVATED > 0)
	NEXT_COMMAND_REUSABLE
	ADD_PARTY_TO_LEVEL(PLAYER_GOOD,HRCSSLT,LAST_EVENT,1)
	NEXT_COMMAND_REUSABLE
	SET_FLAG(PLAYER0,BOX227_ACTIVATED,0)
ENDIF

REM # "Rebellion: All friendly minions get angry. Your minions may turn against you, last 12 seconds."
IF(PLAYER0,BOX228_ACTIVATED > 0)
	NEXT_COMMAND_REUSABLE
	CHANGE_CREATURES_ANNOYANCE(PLAYER0,ANY_CREATURE,INCREASE,10000)
	NEXT_COMMAND_REUSABLE
	ADD_TO_FLAG(PLAYER0,BOX127_ACTIVATED,255)
	NEXT_COMMAND_REUSABLE
	SET_FLAG(PLAYER0,BOX228_ACTIVATED,0)
ENDIF

REM # Until BOX127_ACTIVATED flag reach 0 there is a chance a minion turn against its owner.
REM # To change duration see above and replace 255 (average 12 seconds) with any value you want (range 1-255).
IF(PLAYER0,BOX127_ACTIVATED > 0)
	IF(PLAYER0,BOX127_ACTIVATED != PLAYER0,BOX128_ACTIVATED)
		NEXT_COMMAND_REUSABLE
		CHANGE_CREATURES_ANNOYANCE(PLAYER0,ANY_CREATURE,DECREASE,32)
		NEXT_COMMAND_REUSABLE
		ADD_TO_FLAG(PLAYER0,BOX127_ACTIVATED,-1)
		NEXT_COMMAND_REUSABLE
		RANDOMISE_FLAG(PLAYER0,BOX128_ACTIVATED,255)
	ENDIF
	IF(PLAYER0,BOX127_ACTIVATED == PLAYER0,BOX128_ACTIVATED)
		NEXT_COMMAND_REUSABLE
		CHANGE_CREATURE_OWNER(PLAYER0,ANY_CREATURE,ANYWHERE,PLAYER_GOOD)
		NEXT_COMMAND_REUSABLE
		SET_FLAG(PLAYER0,BOX128_ACTIVATED,0)
	ENDIF
ENDIF

REM # "Diverted Wrath: Cast Lightning on your territory at random friendly minions, last 12 seconds."
IF(PLAYER0,BOX229_ACTIVATED > 0)
	NEXT_COMMAND_REUSABLE
	ADD_TO_FLAG(PLAYER0,BOX129_ACTIVATED,255)
	NEXT_COMMAND_REUSABLE
	SET_FLAG(PLAYER0,BOX229_ACTIVATED,0)
ENDIF

REM # Diverted Wrath's effect happen every game turn until BOX129_ACTIVATED flag reach 0.
REM # To change duration see above and replace 255 (average 12 seconds) with any value you want (range 1-255).
IF(PLAYER0,BOX129_ACTIVATED > 0)
	NEXT_COMMAND_REUSABLE
	USE_POWER_ON_CREATURE(PLAYER0,ANY_CREATURE,ON_FRIENDLY_GROUND,PLAYER0,POWER_LIGHTNING,1,1)
	NEXT_COMMAND_REUSABLE
	USE_POWER_ON_CREATURE(PLAYER0,IMP,ON_FRIENDLY_GROUND,PLAYER0,POWER_LIGHTNING,1,1)
	NEXT_COMMAND_REUSABLE
	ADD_TO_FLAG(PLAYER0,BOX129_ACTIVATED,-1)
ENDIF

REM # "Collapse: Cast Cave-In on your territory at random friendly minions, last 12 seconds."
IF(PLAYER0,BOX230_ACTIVATED > 0)
	NEXT_COMMAND_REUSABLE
	ADD_TO_FLAG(PLAYER0,BOX130_ACTIVATED,255)
	NEXT_COMMAND_REUSABLE
	SET_FLAG(PLAYER0,BOX230_ACTIVATED,0)
ENDIF

REM # Collapse's effect happen every game turn until BOX130_ACTIVATED flag reach 0.
REM # To change duration see above and replace 255 (average 12 seconds) with any value you want (range 1-255).
IF(PLAYER0,BOX130_ACTIVATED > 0)
	NEXT_COMMAND_REUSABLE
	USE_POWER_ON_CREATURE(PLAYER0,ANY_CREATURE,ON_FRIENDLY_GROUND,PLAYER0,POWER_CAVE_IN,1,1)
	NEXT_COMMAND_REUSABLE
	USE_POWER_ON_CREATURE(PLAYER0,IMP,ON_FRIENDLY_GROUND,PLAYER0,POWER_CAVE_IN,1,1)
	NEXT_COMMAND_REUSABLE
	ADD_TO_FLAG(PLAYER0,BOX130_ACTIVATED,-1)
ENDIF

REM # "Backlash of Conquest: An Avatar has betrayed the heroes and joined you, unaware that a deadly army hunts you both."
IF(PLAYER0,BOX231_ACTIVATED > 0)
	NEXT_COMMAND_REUSABLE
	ADD_CREATURE_TO_LEVEL(PLAYER0,AVATAR,LAST_EVENT,1,10,0)
	NEXT_COMMAND_REUSABLE
	ADD_PARTY_TO_LEVEL(PLAYER_GOOD,CNQST_01,COMBAT[PLAYER0],1)
	NEXT_COMMAND_REUSABLE
	ADD_PARTY_TO_LEVEL(PLAYER_GOOD,CNQST_02,COMBAT[PLAYER0],1)
	NEXT_COMMAND_REUSABLE
	ADD_PARTY_TO_LEVEL(PLAYER_GOOD,CNQST_03,COMBAT[PLAYER0],1)
	NEXT_COMMAND_REUSABLE
	ADD_PARTY_TO_LEVEL(PLAYER_GOOD,CNQST_04,COMBAT[PLAYER0],1)
	NEXT_COMMAND_REUSABLE
	ADD_PARTY_TO_LEVEL(PLAYER_GOOD,CNQST_05,COMBAT[PLAYER0],1)
	NEXT_COMMAND_REUSABLE
	ADD_PARTY_TO_LEVEL(PLAYER_GOOD,CNQST_06,COMBAT[PLAYER0],1)
	NEXT_COMMAND_REUSABLE
	ADD_PARTY_TO_LEVEL(PLAYER_GOOD,CNQST_07,COMBAT[PLAYER0],1)
	NEXT_COMMAND_REUSABLE
	ADD_PARTY_TO_LEVEL(PLAYER_GOOD,CNQST_08,COMBAT[PLAYER0],1)
	NEXT_COMMAND_REUSABLE
	ADD_PARTY_TO_LEVEL(PLAYER_GOOD,CNQST_09,COMBAT[PLAYER0],1)
	NEXT_COMMAND_REUSABLE
	ADD_PARTY_TO_LEVEL(PLAYER_GOOD,CNQST_10,COMBAT[PLAYER0],1)
	NEXT_COMMAND_REUSABLE
	ADD_PARTY_TO_LEVEL(PLAYER_GOOD,CNQST_11,COMBAT[PLAYER0],1)
	NEXT_COMMAND_REUSABLE
	ADD_PARTY_TO_LEVEL(PLAYER_GOOD,CNQST_12,COMBAT[PLAYER0],1)
	NEXT_COMMAND_REUSABLE
	ADD_PARTY_TO_LEVEL(PLAYER_GOOD,CNQST_13,COMBAT[PLAYER0],1)
	NEXT_COMMAND_REUSABLE
	SET_FLAG(PLAYER0,BOX231_ACTIVATED,0)
ENDIF

REM # "Ragnarok: Kill all your minions then summon as many Knights to join your ranks, then set all buffs effects on them."
IF(PLAYER0,BOX232_ACTIVATED > 0)
	NEXT_COMMAND_REUSABLE
	COMPUTE_FLAG(PLAYER0,BOX32_ACTIVATED,INCREASE,PLAYER0,TOTAL_CREATURES,1)
	NEXT_COMMAND_REUSABLE
	SET_FLAG(PLAYER0,BOX232_ACTIVATED,0)
ENDIF

REM # Ragnarok's effect to kill all your minions.
IF(PLAYER0,BOX32_ACTIVATED > 0)
	NEXT_COMMAND_REUSABLE
	KILL_CREATURE(PLAYER0,ANY_CREATURE,LEAST_EXPERIENCED,1)
	NEXT_COMMAND_REUSABLE
	ADD_TO_FLAG(PLAYER0,BOX132_ACTIVATED,1)
	NEXT_COMMAND_REUSABLE
	ADD_TO_FLAG(PLAYER0,BOX32_ACTIVATED,-1)
ENDIF

REM # Ragnarok's effect to summon a buffed Knight for each killed minions by the above condition.
IF(PLAYER0,BOX132_ACTIVATED > 0)
	IF(PLAYER0,BOX32_ACTIVATED == 0)
		NEXT_COMMAND_REUSABLE
		ADD_CREATURE_TO_LEVEL(PLAYER0,KNIGHT,LAST_EVENT,1,10,0)
		NEXT_COMMAND_REUSABLE
		USE_SPELL_ON_PLAYERS_CREATURES(PLAYER0,KNIGHT,SPELL_ARMOUR,10)
		NEXT_COMMAND_REUSABLE
		USE_SPELL_ON_PLAYERS_CREATURES(PLAYER0,KNIGHT,SPELL_REBOUND,10)
		NEXT_COMMAND_REUSABLE
		USE_SPELL_ON_PLAYERS_CREATURES(PLAYER0,KNIGHT,SPELL_SPEED,10)
		NEXT_COMMAND_REUSABLE
		USE_SPELL_ON_PLAYERS_CREATURES(PLAYER0,KNIGHT,SPELL_FLIGHT,10)
		NEXT_COMMAND_REUSABLE
		USE_SPELL_ON_PLAYERS_CREATURES(PLAYER0,KNIGHT,SPELL_SIGHT,10)
		NEXT_COMMAND_REUSABLE
		ADD_TO_FLAG(PLAYER0,BOX132_ACTIVATED,-1)
	ENDIF
ENDIF

REM # Get a random value to determine what effect the Mysterious Box hold.
IF(PLAYER1,BOX0_ACTIVATED > 0)
	NEXT_COMMAND_REUSABLE
	RANDOMISE_FLAG(PLAYER1,BOX100_ACTIVATED,25)
	NEXT_COMMAND_REUSABLE
	SET_FLAG(PLAYER1,BOX0_ACTIVATED,0)
ENDIF

REM # Spawn the randomised Mysterious Box.
IF(PLAYER1,BOX100_ACTIVATED != 0)
	IF(PLAYER1,BOX100_ACTIVATED == 1)
		NEXT_COMMAND_REUSABLE
		ADD_OBJECT_TO_LEVEL(SPECBOX_CUSTOM,LAST_EVENT,1,PLAYER_NEUTRAL)
		NEXT_COMMAND_REUSABLE
		SET_FLAG(PLAYER1,BOX100_ACTIVATED,0)
	ENDIF
	IF(PLAYER1,BOX100_ACTIVATED == 2)
		NEXT_COMMAND_REUSABLE
		ADD_OBJECT_TO_LEVEL(SPECBOX_CUSTOM,LAST_EVENT,2,PLAYER_NEUTRAL)
		NEXT_COMMAND_REUSABLE
		SET_FLAG(PLAYER1,BOX100_ACTIVATED,0)
	ENDIF
	IF(PLAYER1,BOX100_ACTIVATED == 3)
		NEXT_COMMAND_REUSABLE
		ADD_OBJECT_TO_LEVEL(SPECBOX_CUSTOM,LAST_EVENT,3,PLAYER_NEUTRAL)
		NEXT_COMMAND_REUSABLE
		SET_FLAG(PLAYER1,BOX100_ACTIVATED,0)
	ENDIF
	IF(PLAYER1,BOX100_ACTIVATED == 4)
		NEXT_COMMAND_REUSABLE
		ADD_OBJECT_TO_LEVEL(SPECBOX_CUSTOM,LAST_EVENT,4,PLAYER_NEUTRAL)
		NEXT_COMMAND_REUSABLE
		SET_FLAG(PLAYER1,BOX100_ACTIVATED,0)
	ENDIF
	IF(PLAYER1,BOX100_ACTIVATED == 5)
		NEXT_COMMAND_REUSABLE
		ADD_OBJECT_TO_LEVEL(SPECBOX_CUSTOM,LAST_EVENT,5,PLAYER_NEUTRAL)
		NEXT_COMMAND_REUSABLE
		SET_FLAG(PLAYER1,BOX100_ACTIVATED,0)
	ENDIF
	IF(PLAYER1,BOX100_ACTIVATED == 6)
		NEXT_COMMAND_REUSABLE
		ADD_OBJECT_TO_LEVEL(SPECBOX_CUSTOM,LAST_EVENT,6,PLAYER_NEUTRAL)
		NEXT_COMMAND_REUSABLE
		SET_FLAG(PLAYER1,BOX100_ACTIVATED,0)
	ENDIF
	IF(PLAYER1,BOX100_ACTIVATED == 7)
		NEXT_COMMAND_REUSABLE
		ADD_OBJECT_TO_LEVEL(SPECBOX_CUSTOM,LAST_EVENT,7,PLAYER_NEUTRAL)
		NEXT_COMMAND_REUSABLE
		SET_FLAG(PLAYER1,BOX100_ACTIVATED,0)
	ENDIF
	IF(PLAYER1,BOX100_ACTIVATED == 8)
		NEXT_COMMAND_REUSABLE
		ADD_OBJECT_TO_LEVEL(SPECBOX_CUSTOM,LAST_EVENT,8,PLAYER_NEUTRAL)
		NEXT_COMMAND_REUSABLE
		SET_FLAG(PLAYER1,BOX100_ACTIVATED,0)
	ENDIF
	IF(PLAYER1,BOX100_ACTIVATED == 9)
		NEXT_COMMAND_REUSABLE
		ADD_OBJECT_TO_LEVEL(SPECBOX_CUSTOM,LAST_EVENT,9,PLAYER_NEUTRAL)
		NEXT_COMMAND_REUSABLE
		SET_FLAG(PLAYER1,BOX100_ACTIVATED,0)
	ENDIF
	IF(PLAYER1,BOX100_ACTIVATED == 10)
		NEXT_COMMAND_REUSABLE
		ADD_OBJECT_TO_LEVEL(SPECBOX_CUSTOM,LAST_EVENT,10,PLAYER_NEUTRAL)
		NEXT_COMMAND_REUSABLE
		SET_FLAG(PLAYER1,BOX100_ACTIVATED,0)
	ENDIF
	IF(PLAYER1,BOX100_ACTIVATED == 11)
		NEXT_COMMAND_REUSABLE
		ADD_OBJECT_TO_LEVEL(SPECBOX_CUSTOM,LAST_EVENT,11,PLAYER_NEUTRAL)
		NEXT_COMMAND_REUSABLE
		SET_FLAG(PLAYER1,BOX100_ACTIVATED,0)
	ENDIF
	IF(PLAYER1,BOX100_ACTIVATED == 12)
		NEXT_COMMAND_REUSABLE
		ADD_OBJECT_TO_LEVEL(SPECBOX_CUSTOM,LAST_EVENT,12,PLAYER_NEUTRAL)
		NEXT_COMMAND_REUSABLE
		SET_FLAG(PLAYER1,BOX100_ACTIVATED,0)
	ENDIF
	IF(PLAYER1,BOX100_ACTIVATED == 13)
		NEXT_COMMAND_REUSABLE
		ADD_OBJECT_TO_LEVEL(SPECBOX_CUSTOM,LAST_EVENT,13,PLAYER_NEUTRAL)
		NEXT_COMMAND_REUSABLE
		SET_FLAG(PLAYER1,BOX100_ACTIVATED,0)
	ENDIF
	IF(PLAYER1,BOX100_ACTIVATED == 14)
		NEXT_COMMAND_REUSABLE
		ADD_OBJECT_TO_LEVEL(SPECBOX_CUSTOM,LAST_EVENT,14,PLAYER_NEUTRAL)
		NEXT_COMMAND_REUSABLE
		SET_FLAG(PLAYER1,BOX100_ACTIVATED,0)
	ENDIF
	IF(PLAYER1,BOX100_ACTIVATED == 15)
		NEXT_COMMAND_REUSABLE
		ADD_OBJECT_TO_LEVEL(SPECBOX_CUSTOM,LAST_EVENT,15,PLAYER_NEUTRAL)
		NEXT_COMMAND_REUSABLE
		SET_FLAG(PLAYER1,BOX100_ACTIVATED,0)
	ENDIF
	IF(PLAYER1,BOX100_ACTIVATED == 16)
		NEXT_COMMAND_REUSABLE
		ADD_OBJECT_TO_LEVEL(SPECBOX_CUSTOM,LAST_EVENT,16,PLAYER_NEUTRAL)
		NEXT_COMMAND_REUSABLE
		SET_FLAG(PLAYER1,BOX100_ACTIVATED,0)
	ENDIF
	IF(PLAYER1,BOX100_ACTIVATED == 17)
		NEXT_COMMAND_REUSABLE
		ADD_OBJECT_TO_LEVEL(SPECBOX_CUSTOM,LAST_EVENT,17,PLAYER_NEUTRAL)
		NEXT_COMMAND_REUSABLE
		SET_FLAG(PLAYER1,BOX100_ACTIVATED,0)
	ENDIF
	IF(PLAYER1,BOX100_ACTIVATED == 18)
		NEXT_COMMAND_REUSABLE
		ADD_OBJECT_TO_LEVEL(SPECBOX_CUSTOM,LAST_EVENT,18,PLAYER_NEUTRAL)
		NEXT_COMMAND_REUSABLE
		SET_FLAG(PLAYER1,BOX100_ACTIVATED,0)
	ENDIF
	IF(PLAYER1,BOX100_ACTIVATED == 19)
		NEXT_COMMAND_REUSABLE
		ADD_OBJECT_TO_LEVEL(SPECBOX_CUSTOM,LAST_EVENT,19,PLAYER_NEUTRAL)
		NEXT_COMMAND_REUSABLE
		SET_FLAG(PLAYER1,BOX100_ACTIVATED,0)
	ENDIF
	IF(PLAYER1,BOX100_ACTIVATED == 20)
		NEXT_COMMAND_REUSABLE
		ADD_OBJECT_TO_LEVEL(SPECBOX_CUSTOM,LAST_EVENT,20,PLAYER_NEUTRAL)
		NEXT_COMMAND_REUSABLE
		SET_FLAG(PLAYER1,BOX100_ACTIVATED,0)
	ENDIF
	IF(PLAYER1,BOX100_ACTIVATED == 21)
		NEXT_COMMAND_REUSABLE
		ADD_OBJECT_TO_LEVEL(SPECBOX_CUSTOM,LAST_EVENT,21,PLAYER_NEUTRAL)
		NEXT_COMMAND_REUSABLE
		SET_FLAG(PLAYER1,BOX100_ACTIVATED,0)
	ENDIF
	IF(PLAYER1,BOX100_ACTIVATED == 22)
		NEXT_COMMAND_REUSABLE
		ADD_OBJECT_TO_LEVEL(SPECBOX_CUSTOM,LAST_EVENT,22,PLAYER_NEUTRAL)
		NEXT_COMMAND_REUSABLE
		SET_FLAG(PLAYER1,BOX100_ACTIVATED,0)
	ENDIF
	IF(PLAYER1,BOX100_ACTIVATED == 23)
		NEXT_COMMAND_REUSABLE
		ADD_OBJECT_TO_LEVEL(SPECBOX_CUSTOM,LAST_EVENT,23,PLAYER_NEUTRAL)
		NEXT_COMMAND_REUSABLE
		SET_FLAG(PLAYER1,BOX100_ACTIVATED,0)
	ENDIF
	IF(PLAYER1,BOX100_ACTIVATED == 24)
		NEXT_COMMAND_REUSABLE
		ADD_OBJECT_TO_LEVEL(SPECBOX_CUSTOM,LAST_EVENT,24,PLAYER_NEUTRAL)
		NEXT_COMMAND_REUSABLE
		SET_FLAG(PLAYER1,BOX100_ACTIVATED,0)
	ENDIF
	IF(PLAYER1,BOX100_ACTIVATED == 25)
		NEXT_COMMAND_REUSABLE
		ADD_OBJECT_TO_LEVEL(SPECBOX_CUSTOM,LAST_EVENT,25,PLAYER_NEUTRAL)
		NEXT_COMMAND_REUSABLE
		SET_FLAG(PLAYER1,BOX100_ACTIVATED,0)
	ENDIF
ENDIF

REM # "Frostbite Box: Cast Freeze on all hostile minions."
IF(PLAYER1,BOX1_ACTIVATED > 0)
	NEXT_COMMAND_REUSABLE
	USE_SPELL_ON_PLAYERS_CREATURES(PLAYER0,ANY_CREATURE,SPELL_FREEZE,1)
	NEXT_COMMAND_REUSABLE
	USE_SPELL_ON_PLAYERS_CREATURES(PLAYER_GOOD,ANY_CREATURE,SPELL_FREEZE,1)
	NEXT_COMMAND_REUSABLE
	SET_FLAG(PLAYER1,BOX1_ACTIVATED,0)
ENDIF

REM # "Protect Box: Cast Armour on all friendly minions."
IF(PLAYER1,BOX2_ACTIVATED > 0)
	NEXT_COMMAND_REUSABLE
	USE_SPELL_ON_PLAYERS_CREATURES(PLAYER1,ANY_CREATURE,SPELL_ARMOUR,1)
	NEXT_COMMAND_REUSABLE
	USE_SPELL_ON_PLAYERS_CREATURES(PLAYER1,IMP,SPELL_ARMOUR,1)
	NEXT_COMMAND_REUSABLE
	SET_FLAG(PLAYER1,BOX2_ACTIVATED,0)
ENDIF

REM # "Shell Box: Cast Rebound on all friendly minions."
IF(PLAYER1,BOX3_ACTIVATED > 0)
	NEXT_COMMAND_REUSABLE
	USE_SPELL_ON_PLAYERS_CREATURES(PLAYER1,ANY_CREATURE,SPELL_REBOUND,1)
	NEXT_COMMAND_REUSABLE
	USE_SPELL_ON_PLAYERS_CREATURES(PLAYER1,IMP,SPELL_REBOUND,1)
	NEXT_COMMAND_REUSABLE
	SET_FLAG(PLAYER1,BOX3_ACTIVATED,0)
ENDIF

REM # "Cure Box: Cast Heal on all friendly minions."
IF(PLAYER1,BOX4_ACTIVATED > 0)
	NEXT_COMMAND_REUSABLE
	USE_SPELL_ON_PLAYERS_CREATURES(PLAYER1,ANY_CREATURE,SPELL_HEAL,1)
	NEXT_COMMAND_REUSABLE
	USE_SPELL_ON_PLAYERS_CREATURES(PLAYER1,IMP,SPELL_HEAL,1)
	NEXT_COMMAND_REUSABLE
	SET_FLAG(PLAYER1,BOX4_ACTIVATED,0)
ENDIF

REM # "Vanish Box: Cast Invisibility on all friendly minions."
IF(PLAYER1,BOX5_ACTIVATED > 0)
	NEXT_COMMAND_REUSABLE
	USE_SPELL_ON_PLAYERS_CREATURES(PLAYER1,ANY_CREATURE,SPELL_INVISIBILITY,1)
	NEXT_COMMAND_REUSABLE
	USE_SPELL_ON_PLAYERS_CREATURES(PLAYER1,IMP,SPELL_INVISIBILITY,1)
	NEXT_COMMAND_REUSABLE
	SET_FLAG(PLAYER1,BOX5_ACTIVATED,0)
ENDIF

REM # "Warp Box: Teleport all hostile minions to their lair."
IF(PLAYER1,BOX6_ACTIVATED > 0)
	NEXT_COMMAND_REUSABLE
	USE_SPELL_ON_PLAYERS_CREATURES(PLAYER0,ANY_CREATURE,SPELL_TELEPORT)
	NEXT_COMMAND_REUSABLE
	USE_SPELL_ON_PLAYERS_CREATURES(PLAYER_GOOD,ANY_CREATURE,SPELL_TELEPORT)
	NEXT_COMMAND_REUSABLE
	SET_FLAG(PLAYER1,BOX6_ACTIVATED,0)
ENDIF

REM # "Rescue Box: Teleport your own minions to their lair."
IF(PLAYER1,BOX7_ACTIVATED > 0)
	NEXT_COMMAND_REUSABLE
	USE_SPELL_ON_PLAYERS_CREATURES(PLAYER1,ANY_CREATURE,SPELL_TELEPORT)
	NEXT_COMMAND_REUSABLE
	USE_SPELL_ON_PLAYERS_CREATURES(PLAYER1,IMP,SPELL_TELEPORT)
	NEXT_COMMAND_REUSABLE
	SET_FLAG(PLAYER1,BOX7_ACTIVATED,0)
ENDIF

REM # "Cease-fire Box: Teleport all minions to their lair."
IF(PLAYER1,BOX8_ACTIVATED > 0)
	NEXT_COMMAND_REUSABLE
	USE_SPELL_ON_PLAYERS_CREATURES(ALL_PLAYERS,ANY_CREATURE,SPELL_TELEPORT)
	NEXT_COMMAND_REUSABLE
	USE_SPELL_ON_PLAYERS_CREATURES(ALL_PLAYERS,IMP,SPELL_TELEPORT)
	NEXT_COMMAND_REUSABLE
	SET_FLAG(PLAYER1,BOX8_ACTIVATED,0)
ENDIF

REM # "Haste Box: Cast Speed on all friendly minions."
IF(PLAYER1,BOX9_ACTIVATED > 0)
	NEXT_COMMAND_REUSABLE
	USE_SPELL_ON_PLAYERS_CREATURES(PLAYER1,ANY_CREATURE,SPELL_SPEED,1)
	NEXT_COMMAND_REUSABLE
	USE_SPELL_ON_PLAYERS_CREATURES(PLAYER1,IMP,SPELL_SPEED,1)
	NEXT_COMMAND_REUSABLE
	SET_FLAG(PLAYER1,BOX9_ACTIVATED,0)
ENDIF

REM # "Web Box: Cast Slow on all hostile minions."
IF(PLAYER1,BOX10_ACTIVATED > 0)
	NEXT_COMMAND_REUSABLE
	USE_SPELL_ON_PLAYERS_CREATURES(PLAYER0,ANY_CREATURE,SPELL_SLOW,1)
	NEXT_COMMAND_REUSABLE
	USE_SPELL_ON_PLAYERS_CREATURES(PLAYER_GOOD,ANY_CREATURE,SPELL_SLOW,1)
	NEXT_COMMAND_REUSABLE
	SET_FLAG(PLAYER1,BOX10_ACTIVATED,0)
ENDIF

REM # "Illumination Box: Cast Light on all minions."
IF(PLAYER1,BOX11_ACTIVATED > 0)
	NEXT_COMMAND_REUSABLE
	USE_SPELL_ON_PLAYERS_CREATURES(ALL_PLAYERS,ANY_CREATURE,SPELL_LIGHT,1)
	NEXT_COMMAND_REUSABLE
	USE_SPELL_ON_PLAYERS_CREATURES(ALL_PLAYERS,IMP,SPELL_LIGHT,1)
	NEXT_COMMAND_REUSABLE
	SET_FLAG(PLAYER1,BOX11_ACTIVATED,0)
ENDIF

REM # "Float Box: Cast Flight on all friendly minions."
IF(PLAYER1,BOX12_ACTIVATED > 0)
	NEXT_COMMAND_REUSABLE
	USE_SPELL_ON_PLAYERS_CREATURES(PLAYER1,ANY_CREATURE,SPELL_FLIGHT,1)
	NEXT_COMMAND_REUSABLE
	USE_SPELL_ON_PLAYERS_CREATURES(PLAYER1,IMP,SPELL_FLIGHT,1)
	NEXT_COMMAND_REUSABLE
	SET_FLAG(PLAYER1,BOX12_ACTIVATED,0)
ENDIF

REM # "Vision Box: Cast Sight on all friendly minions."
IF(PLAYER1,BOX13_ACTIVATED > 0)
	NEXT_COMMAND_REUSABLE
	USE_SPELL_ON_PLAYERS_CREATURES(PLAYER1,ANY_CREATURE,SPELL_SIGHT,1)
	NEXT_COMMAND_REUSABLE
	USE_SPELL_ON_PLAYERS_CREATURES(PLAYER1,IMP,SPELL_SIGHT,1)
	NEXT_COMMAND_REUSABLE
	SET_FLAG(PLAYER1,BOX13_ACTIVATED,0)
ENDIF

REM # "Plague Box: Cast Disease on all hostile minions."
IF(PLAYER1,BOX14_ACTIVATED > 0)
	NEXT_COMMAND_REUSABLE
	USE_SPELL_ON_PLAYERS_CREATURES(PLAYER0,ANY_CREATURE,SPELL_DISEASE,1)
	NEXT_COMMAND_REUSABLE
	USE_SPELL_ON_PLAYERS_CREATURES(PLAYER_GOOD,ANY_CREATURE,SPELL_DISEASE,1)
	NEXT_COMMAND_REUSABLE
	SET_FLAG(PLAYER1,BOX14_ACTIVATED,0)
ENDIF

REM # "Hex Box: Cast Chicken on all hostile minions."
IF(PLAYER1,BOX15_ACTIVATED > 0)
	NEXT_COMMAND_REUSABLE
	USE_SPELL_ON_PLAYERS_CREATURES(PLAYER0,ANY_CREATURE,SPELL_CHICKEN,1)
	NEXT_COMMAND_REUSABLE
	USE_SPELL_ON_PLAYERS_CREATURES(PLAYER_GOOD,ANY_CREATURE,SPELL_CHICKEN,1)
	NEXT_COMMAND_REUSABLE
	SET_FLAG(PLAYER1,BOX15_ACTIVATED,0)
ENDIF

REM # "Wrath Box: Cast Lightning on your territory at random hostile minions, last 12 seconds."
IF(PLAYER1,BOX16_ACTIVATED > 0)
	NEXT_COMMAND_REUSABLE
	ADD_TO_FLAG(PLAYER1,BOX116_ACTIVATED,255)
	NEXT_COMMAND_REUSABLE
	SET_FLAG(PLAYER1,BOX16_ACTIVATED,0)
ENDIF

REM # Wrath Box's effect happen every game turn until BOX116_ACTIVATED flag reach 0.
REM # To change duration see above and replace 255 (average 12 seconds) with any value you want (range 1-255).
IF(PLAYER1,BOX116_ACTIVATED > 0)
	NEXT_COMMAND_REUSABLE
	USE_POWER_ON_CREATURE(PLAYER0,ANY_CREATURE,ON_ENEMY_GROUND,PLAYER1,POWER_LIGHTNING,1,1)
	NEXT_COMMAND_REUSABLE
	USE_POWER_ON_CREATURE(PLAYER_GOOD,ANY_CREATURE,ON_ENEMY_GROUND,PLAYER1,POWER_LIGHTNING,1,1)
	NEXT_COMMAND_REUSABLE
	USE_POWER_ON_CREATURE(PLAYER0,IMP,ON_ENEMY_GROUND,PLAYER1,POWER_LIGHTNING,1,1)
	NEXT_COMMAND_REUSABLE
	USE_POWER_ON_CREATURE(PLAYER_GOOD,IMP,ON_ENEMY_GROUND,PLAYER1,POWER_LIGHTNING,1,1)
	NEXT_COMMAND_REUSABLE
	ADD_TO_FLAG(PLAYER1,BOX116_ACTIVATED,-1)
ENDIF

REM # "Rockfall Box: Cast Cave-In on your territory at random hostile minions, last 12 seconds."
IF(PLAYER1,BOX17_ACTIVATED > 0)
	NEXT_COMMAND_REUSABLE
	ADD_TO_FLAG(PLAYER1,BOX117_ACTIVATED,255)
	NEXT_COMMAND_REUSABLE
	SET_FLAG(PLAYER1,BOX17_ACTIVATED,0)
ENDIF

REM # Rockfall Box's effect happen every game turn until BOX117_ACTIVATED flag reach 0.
REM # To change duration see above and replace 255 (average 12 seconds) with any value you want (range 1-255).
IF(PLAYER1,BOX117_ACTIVATED > 0)
	NEXT_COMMAND_REUSABLE
	USE_POWER_ON_CREATURE(PLAYER0,ANY_CREATURE,ON_ENEMY_GROUND,PLAYER1,POWER_CAVE_IN,1,1)
	NEXT_COMMAND_REUSABLE
	USE_POWER_ON_CREATURE(PLAYER_GOOD,ANY_CREATURE,ON_ENEMY_GROUND,PLAYER1,POWER_CAVE_IN,1,1)
	NEXT_COMMAND_REUSABLE
	USE_POWER_ON_CREATURE(PLAYER0,IMP,ON_ENEMY_GROUND,PLAYER1,POWER_CAVE_IN,1,1)
	NEXT_COMMAND_REUSABLE
	USE_POWER_ON_CREATURE(PLAYER_GOOD,IMP,ON_ENEMY_GROUND,PLAYER1,POWER_CAVE_IN,1,1)
	NEXT_COMMAND_REUSABLE
	ADD_TO_FLAG(PLAYER1,BOX117_ACTIVATED,-1)
ENDIF

REM # "Heroic Box: Summon a random hero to join your ranks."
IF(PLAYER1,BOX18_ACTIVATED > 0)
	NEXT_COMMAND_REUSABLE
	RANDOMISE_FLAG(PLAYER1,BOX118_ACTIVATED,10)
	NEXT_COMMAND_REUSABLE
	SET_FLAG(PLAYER1,BOX18_ACTIVATED,0)
ENDIF

REM # The pool of hero can vary between map.
IF(PLAYER1,BOX118_ACTIVATED != 0)
	IF(PLAYER1,BOX118_ACTIVATED == 1)
		NEXT_COMMAND_REUSABLE
		ADD_CREATURE_TO_LEVEL(PLAYER1,ARCHER,LAST_EVENT,1,5,0)
		NEXT_COMMAND_REUSABLE
		SET_FLAG(PLAYER1,BOX118_ACTIVATED,0)
	ENDIF
	IF(PLAYER1,BOX118_ACTIVATED == 2)
		NEXT_COMMAND_REUSABLE
		ADD_CREATURE_TO_LEVEL(PLAYER1,BARBARIAN,LAST_EVENT,1,5,0)
		NEXT_COMMAND_REUSABLE
		SET_FLAG(PLAYER1,BOX118_ACTIVATED,0)
	ENDIF
	IF(PLAYER1,BOX118_ACTIVATED == 3)
		NEXT_COMMAND_REUSABLE
		ADD_CREATURE_TO_LEVEL(PLAYER1,DWARFA,LAST_EVENT,1,5,0)
		NEXT_COMMAND_REUSABLE
		SET_FLAG(PLAYER1,BOX118_ACTIVATED,0)
	ENDIF
	IF(PLAYER1,BOX118_ACTIVATED == 4)
		NEXT_COMMAND_REUSABLE
		ADD_CREATURE_TO_LEVEL(PLAYER1,FAIRY,LAST_EVENT,1,5,0)
		NEXT_COMMAND_REUSABLE
		SET_FLAG(PLAYER1,BOX118_ACTIVATED,0)
	ENDIF
	IF(PLAYER1,BOX118_ACTIVATED == 5)
		NEXT_COMMAND_REUSABLE
		ADD_CREATURE_TO_LEVEL(PLAYER1,GIANT,LAST_EVENT,1,5,0)
		NEXT_COMMAND_REUSABLE
		SET_FLAG(PLAYER1,BOX118_ACTIVATED,0)
	ENDIF
	IF(PLAYER1,BOX118_ACTIVATED == 6)
		NEXT_COMMAND_REUSABLE
		ADD_CREATURE_TO_LEVEL(PLAYER1,MONK,LAST_EVENT,1,5,0)
		NEXT_COMMAND_REUSABLE
		SET_FLAG(PLAYER1,BOX118_ACTIVATED,0)
	ENDIF
	IF(PLAYER1,BOX118_ACTIVATED == 7)
		NEXT_COMMAND_REUSABLE
		ADD_CREATURE_TO_LEVEL(PLAYER1,SAMURAI,LAST_EVENT,1,5,0)
		NEXT_COMMAND_REUSABLE
		SET_FLAG(PLAYER1,BOX118_ACTIVATED,0)
	ENDIF
	IF(PLAYER1,BOX118_ACTIVATED == 8)
		NEXT_COMMAND_REUSABLE
		ADD_CREATURE_TO_LEVEL(PLAYER1,THIEF,LAST_EVENT,1,5,0)
		NEXT_COMMAND_REUSABLE
		SET_FLAG(PLAYER1,BOX118_ACTIVATED,0)
	ENDIF
	IF(PLAYER1,BOX118_ACTIVATED == 9)
		NEXT_COMMAND_REUSABLE
		ADD_CREATURE_TO_LEVEL(PLAYER1,WITCH,LAST_EVENT,1,5,0)
		NEXT_COMMAND_REUSABLE
		SET_FLAG(PLAYER1,BOX118_ACTIVATED,0)
	ENDIF
	IF(PLAYER1,BOX118_ACTIVATED == 10)
		NEXT_COMMAND_REUSABLE
		ADD_CREATURE_TO_LEVEL(PLAYER1,WIZARD,LAST_EVENT,1,5,0)
		NEXT_COMMAND_REUSABLE
		SET_FLAG(PLAYER1,BOX118_ACTIVATED,0)
	ENDIF
ENDIF

REM # "Evil Box: Summon a random creature to join your ranks."
IF(PLAYER1,BOX19_ACTIVATED > 0)
	NEXT_COMMAND_REUSABLE
	RANDOMISE_FLAG(PLAYER1,BOX119_ACTIVATED,8)
	NEXT_COMMAND_REUSABLE
	SET_FLAG(PLAYER1,BOX19_ACTIVATED,0)
ENDIF

REM # The pool of creature can vary between map.
IF(PLAYER1,BOX119_ACTIVATED != 0)
	IF(PLAYER1,BOX119_ACTIVATED == 1)
		NEXT_COMMAND_REUSABLE
		ADD_CREATURE_TO_LEVEL(PLAYER1,BILE_DEMON,LAST_EVENT,1,5,0)
		NEXT_COMMAND_REUSABLE
		SET_FLAG(PLAYER1,BOX119_ACTIVATED,0)
	ENDIF
	IF(PLAYER1,BOX119_ACTIVATED == 2)
		NEXT_COMMAND_REUSABLE
		ADD_CREATURE_TO_LEVEL(PLAYER1,DARK_MISTRESS,LAST_EVENT,1,5,0)
		NEXT_COMMAND_REUSABLE
		SET_FLAG(PLAYER1,BOX119_ACTIVATED,0)
	ENDIF
	IF(PLAYER1,BOX119_ACTIVATED == 3)
		NEXT_COMMAND_REUSABLE
		ADD_CREATURE_TO_LEVEL(PLAYER1,DRAGON,LAST_EVENT,1,5,0)
		NEXT_COMMAND_REUSABLE
		SET_FLAG(PLAYER1,BOX119_ACTIVATED,0)
	ENDIF
	IF(PLAYER1,BOX119_ACTIVATED == 4)
		NEXT_COMMAND_REUSABLE
		ADD_CREATURE_TO_LEVEL(PLAYER1,HELL_HOUND,LAST_EVENT,1,5,0)
		NEXT_COMMAND_REUSABLE
		SET_FLAG(PLAYER1,BOX119_ACTIVATED,0)
	ENDIF
	IF(PLAYER1,BOX119_ACTIVATED == 5)
		NEXT_COMMAND_REUSABLE
		ADD_CREATURE_TO_LEVEL(PLAYER1,ORC,LAST_EVENT,1,5,0)
		NEXT_COMMAND_REUSABLE
		SET_FLAG(PLAYER1,BOX119_ACTIVATED,0)
	ENDIF
	IF(PLAYER1,BOX119_ACTIVATED == 6)
		NEXT_COMMAND_REUSABLE
		ADD_CREATURE_TO_LEVEL(PLAYER1,SORCEROR,LAST_EVENT,1,5,0)
		NEXT_COMMAND_REUSABLE
		SET_FLAG(PLAYER1,BOX119_ACTIVATED,0)
	ENDIF
	IF(PLAYER1,BOX119_ACTIVATED == 7)
		NEXT_COMMAND_REUSABLE
		ADD_CREATURE_TO_LEVEL(PLAYER1,TENTACLE,LAST_EVENT,1,5,0)
		NEXT_COMMAND_REUSABLE
		SET_FLAG(PLAYER1,BOX119_ACTIVATED,0)
	ENDIF
	IF(PLAYER1,BOX119_ACTIVATED == 8)
		NEXT_COMMAND_REUSABLE
		ADD_CREATURE_TO_LEVEL(PLAYER1,TROLL,LAST_EVENT,1,5,0)
		NEXT_COMMAND_REUSABLE
		SET_FLAG(PLAYER1,BOX119_ACTIVATED,0)
	ENDIF
ENDIF

REM # "Necromancy Box: Raise a squad of undead at the site of the last battle to join your ranks."
REM # The type of undead can vary between map.
IF(PLAYER1,BOX20_ACTIVATED > 0)
	NEXT_COMMAND_REUSABLE
	ADD_CREATURE_TO_LEVEL(PLAYER1,SKELETON,COMBAT[PLAYER1],2,3,0)
	NEXT_COMMAND_REUSABLE
	ADD_CREATURE_TO_LEVEL(PLAYER1,GHOST,COMBAT[PLAYER1],2,3,0)
	NEXT_COMMAND_REUSABLE
	ADD_CREATURE_TO_LEVEL(PLAYER1,VAMPIRE,COMBAT[PLAYER1],1,3,0)
	NEXT_COMMAND_REUSABLE
	SET_FLAG(PLAYER1,BOX20_ACTIVATED,0)
ENDIF

REM # "Anger Box: All the minions get angry."
IF(PLAYER1,BOX21_ACTIVATED > 0)
	NEXT_COMMAND_REUSABLE
	CHANGE_CREATURES_ANNOYANCE(ALL_PLAYERS,ANY_CREATURE,SET,10000)
	NEXT_COMMAND_REUSABLE
	CHANGE_CREATURES_ANNOYANCE(ALL_PLAYERS,IMP,SET,10000)
	NEXT_COMMAND_REUSABLE
	SET_FLAG(PLAYER1,BOX21_ACTIVATED,0)
ENDIF

REM # "Happy Box: All friendly minions get happy."
IF(PLAYER1,BOX22_ACTIVATED > 0)
	NEXT_COMMAND_REUSABLE
	CHANGE_CREATURES_ANNOYANCE(PLAYER1,ANY_CREATURE,SET,0)
	NEXT_COMMAND_REUSABLE
	CHANGE_CREATURES_ANNOYANCE(PLAYER1,IMP,SET,0)
	NEXT_COMMAND_REUSABLE
	SET_FLAG(PLAYER1,BOX22_ACTIVATED,0)
ENDIF

REM # "Dungeon Box: Fully restores your Dungeon Heart."
IF(PLAYER1,BOX23_ACTIVATED > 0)
	NEXT_COMMAND_REUSABLE
	ADD_HEART_HEALTH(PLAYER1,30000,0)
	NEXT_COMMAND_REUSABLE
	SET_FLAG(PLAYER1,BOX23_ACTIVATED,0)
ENDIF

REM # "Keeper Box: Set all buffs effects on all friendly minions."
IF(PLAYER1,BOX24_ACTIVATED > 0)
	NEXT_COMMAND_REUSABLE
	USE_SPELL_ON_PLAYERS_CREATURES(PLAYER1,ANY_CREATURE,SPELL_HEAL,1)
	NEXT_COMMAND_REUSABLE
	USE_SPELL_ON_PLAYERS_CREATURES(PLAYER1,ANY_CREATURE,SPELL_ARMOUR,1)
	NEXT_COMMAND_REUSABLE
	USE_SPELL_ON_PLAYERS_CREATURES(PLAYER1,ANY_CREATURE,SPELL_REBOUND,1)
	NEXT_COMMAND_REUSABLE
	USE_SPELL_ON_PLAYERS_CREATURES(PLAYER1,ANY_CREATURE,SPELL_SPEED,1)
	NEXT_COMMAND_REUSABLE
	USE_SPELL_ON_PLAYERS_CREATURES(PLAYER1,ANY_CREATURE,SPELL_FLIGHT,1)
	NEXT_COMMAND_REUSABLE
	USE_SPELL_ON_PLAYERS_CREATURES(PLAYER1,ANY_CREATURE,SPELL_SIGHT,1)
	NEXT_COMMAND_REUSABLE
	USE_SPELL_ON_PLAYERS_CREATURES(PLAYER1,IMP,SPELL_HEAL,1)
	NEXT_COMMAND_REUSABLE
	USE_SPELL_ON_PLAYERS_CREATURES(PLAYER1,IMP,SPELL_ARMOUR,1)
	NEXT_COMMAND_REUSABLE
	USE_SPELL_ON_PLAYERS_CREATURES(PLAYER1,IMP,SPELL_REBOUND,1)
	NEXT_COMMAND_REUSABLE
	USE_SPELL_ON_PLAYERS_CREATURES(PLAYER1,IMP,SPELL_SPEED,1)
	NEXT_COMMAND_REUSABLE
	USE_SPELL_ON_PLAYERS_CREATURES(PLAYER1,IMP,SPELL_FLIGHT,1)
	NEXT_COMMAND_REUSABLE
	USE_SPELL_ON_PLAYERS_CREATURES(PLAYER1,IMP,SPELL_SIGHT,1)
	NEXT_COMMAND_REUSABLE
	SET_FLAG(PLAYER1,BOX24_ACTIVATED,0)
ENDIF

REM # "Pandora's Box: There's no telling what this will do."
REM # Can trigger any effect above, in addition it can trigger unique events such as:
REM # "Madness: All the minions get mad psycho."
REM # "Oops!: A clumsy imp tripped and spilled their coffee on you, slap 'em all!"
REM # "Heroic Assault: Summon a squad of heroes to destroy you."
REM # "Rebellion: All friendly minions get angry. Your minions may turn against you, last 12 seconds."
REM # "Diverted Wrath: Cast Lightning on your territory at random friendly minions, last 12 seconds."
REM # "Collapse: Cast Cave-In on your territory at random friendly minions, last 12 seconds."
REM # "Backlash of Conquest: An Avatar has betrayed the heroes and joined you, unaware that a deadly army hunts you both."
REM # "Ragnarok: Kill all your minions then summon as many Knights to join your ranks, then set all buffs effects on them."
IF(PLAYER1,BOX25_ACTIVATED > 0)
	NEXT_COMMAND_REUSABLE
	RANDOMISE_FLAG(PLAYER1,BOX125_ACTIVATED,32)
	NEXT_COMMAND_REUSABLE
	SET_FLAG(PLAYER1,BOX25_ACTIVATED,0)
ENDIF
IF(PLAYER1,BOX125_ACTIVATED != 0)
	IF(PLAYER1,BOX125_ACTIVATED == 1)
		NEXT_COMMAND_REUSABLE
		SET_FLAG(PLAYER1,BOX1_ACTIVATED,1)
		NEXT_COMMAND_REUSABLE
		SET_FLAG(PLAYER1,BOX125_ACTIVATED,0)
	ENDIF
	IF(PLAYER1,BOX125_ACTIVATED == 2)
		NEXT_COMMAND_REUSABLE
		SET_FLAG(PLAYER1,BOX2_ACTIVATED,1)
		NEXT_COMMAND_REUSABLE
		SET_FLAG(PLAYER1,BOX125_ACTIVATED,0)
	ENDIF
	IF(PLAYER1,BOX125_ACTIVATED == 3)
		NEXT_COMMAND_REUSABLE
		SET_FLAG(PLAYER1,BOX3_ACTIVATED,1)
		NEXT_COMMAND_REUSABLE
		SET_FLAG(PLAYER1,BOX125_ACTIVATED,0)
	ENDIF
	IF(PLAYER1,BOX125_ACTIVATED == 4)
		NEXT_COMMAND_REUSABLE
		SET_FLAG(PLAYER1,BOX4_ACTIVATED,1)
		NEXT_COMMAND_REUSABLE
		SET_FLAG(PLAYER1,BOX125_ACTIVATED,0)
	ENDIF
	IF(PLAYER1,BOX125_ACTIVATED == 5)
		NEXT_COMMAND_REUSABLE
		SET_FLAG(PLAYER1,BOX5_ACTIVATED,1)
		NEXT_COMMAND_REUSABLE
		SET_FLAG(PLAYER1,BOX125_ACTIVATED,0)
	ENDIF
	IF(PLAYER1,BOX125_ACTIVATED == 6)
		NEXT_COMMAND_REUSABLE
		SET_FLAG(PLAYER1,BOX6_ACTIVATED,1)
		NEXT_COMMAND_REUSABLE
		SET_FLAG(PLAYER1,BOX125_ACTIVATED,0)
	ENDIF
	IF(PLAYER1,BOX125_ACTIVATED == 7)
		NEXT_COMMAND_REUSABLE
		SET_FLAG(PLAYER1,BOX7_ACTIVATED,1)
		NEXT_COMMAND_REUSABLE
		SET_FLAG(PLAYER1,BOX125_ACTIVATED,0)
	ENDIF
	IF(PLAYER1,BOX125_ACTIVATED == 8)
		NEXT_COMMAND_REUSABLE
		SET_FLAG(PLAYER1,BOX8_ACTIVATED,1)
		NEXT_COMMAND_REUSABLE
		SET_FLAG(PLAYER1,BOX125_ACTIVATED,0)
	ENDIF
	IF(PLAYER1,BOX125_ACTIVATED == 9)
		NEXT_COMMAND_REUSABLE
		SET_FLAG(PLAYER1,BOX9_ACTIVATED,1)
		NEXT_COMMAND_REUSABLE
		SET_FLAG(PLAYER1,BOX125_ACTIVATED,0)
	ENDIF
	IF(PLAYER1,BOX125_ACTIVATED == 10)
		NEXT_COMMAND_REUSABLE
		SET_FLAG(PLAYER1,BOX10_ACTIVATED,1)
		NEXT_COMMAND_REUSABLE
		SET_FLAG(PLAYER1,BOX125_ACTIVATED,0)
	ENDIF
	IF(PLAYER1,BOX125_ACTIVATED == 11)
		NEXT_COMMAND_REUSABLE
		SET_FLAG(PLAYER1,BOX11_ACTIVATED,1)
		NEXT_COMMAND_REUSABLE
		SET_FLAG(PLAYER1,BOX125_ACTIVATED,0)
	ENDIF
	IF(PLAYER1,BOX125_ACTIVATED == 12)
		NEXT_COMMAND_REUSABLE
		SET_FLAG(PLAYER1,BOX12_ACTIVATED,1)
		NEXT_COMMAND_REUSABLE
		SET_FLAG(PLAYER1,BOX125_ACTIVATED,0)
	ENDIF
	IF(PLAYER1,BOX125_ACTIVATED == 13)
		NEXT_COMMAND_REUSABLE
		SET_FLAG(PLAYER1,BOX13_ACTIVATED,1)
		NEXT_COMMAND_REUSABLE
		SET_FLAG(PLAYER1,BOX125_ACTIVATED,0)
	ENDIF
	IF(PLAYER1,BOX125_ACTIVATED == 14)
		NEXT_COMMAND_REUSABLE
		SET_FLAG(PLAYER1,BOX14_ACTIVATED,1)
		NEXT_COMMAND_REUSABLE
		SET_FLAG(PLAYER1,BOX125_ACTIVATED,0)
	ENDIF
	IF(PLAYER1,BOX125_ACTIVATED == 15)
		NEXT_COMMAND_REUSABLE
		SET_FLAG(PLAYER1,BOX15_ACTIVATED,1)
		NEXT_COMMAND_REUSABLE
		SET_FLAG(PLAYER1,BOX125_ACTIVATED,0)
	ENDIF
	IF(PLAYER1,BOX125_ACTIVATED == 16)
		NEXT_COMMAND_REUSABLE
		SET_FLAG(PLAYER1,BOX16_ACTIVATED,1)
		NEXT_COMMAND_REUSABLE
		SET_FLAG(PLAYER1,BOX125_ACTIVATED,0)
	ENDIF
	IF(PLAYER1,BOX125_ACTIVATED == 17)
		NEXT_COMMAND_REUSABLE
		SET_FLAG(PLAYER1,BOX17_ACTIVATED,1)
		NEXT_COMMAND_REUSABLE
		SET_FLAG(PLAYER1,BOX125_ACTIVATED,0)
	ENDIF
	IF(PLAYER1,BOX125_ACTIVATED == 18)
		NEXT_COMMAND_REUSABLE
		SET_FLAG(PLAYER1,BOX18_ACTIVATED,1)
		NEXT_COMMAND_REUSABLE
		SET_FLAG(PLAYER1,BOX125_ACTIVATED,0)
	ENDIF
	IF(PLAYER1,BOX125_ACTIVATED == 19)
		NEXT_COMMAND_REUSABLE
		SET_FLAG(PLAYER1,BOX19_ACTIVATED,1)
		NEXT_COMMAND_REUSABLE
		SET_FLAG(PLAYER1,BOX125_ACTIVATED,0)
	ENDIF
	IF(PLAYER1,BOX125_ACTIVATED == 20)
		NEXT_COMMAND_REUSABLE
		SET_FLAG(PLAYER1,BOX20_ACTIVATED,1)
		NEXT_COMMAND_REUSABLE
		SET_FLAG(PLAYER1,BOX125_ACTIVATED,0)
	ENDIF
	IF(PLAYER1,BOX125_ACTIVATED == 21)
		NEXT_COMMAND_REUSABLE
		SET_FLAG(PLAYER1,BOX21_ACTIVATED,1)
		NEXT_COMMAND_REUSABLE
		SET_FLAG(PLAYER1,BOX125_ACTIVATED,0)
	ENDIF
	IF(PLAYER1,BOX125_ACTIVATED == 22)
		NEXT_COMMAND_REUSABLE
		SET_FLAG(PLAYER1,BOX22_ACTIVATED,1)
		NEXT_COMMAND_REUSABLE
		SET_FLAG(PLAYER1,BOX125_ACTIVATED,0)
	ENDIF
	IF(PLAYER1,BOX125_ACTIVATED == 23)
		NEXT_COMMAND_REUSABLE
		SET_FLAG(PLAYER1,BOX23_ACTIVATED,1)
		NEXT_COMMAND_REUSABLE
		SET_FLAG(PLAYER1,BOX125_ACTIVATED,0)
	ENDIF
	IF(PLAYER1,BOX125_ACTIVATED == 24)
		NEXT_COMMAND_REUSABLE
		SET_FLAG(PLAYER1,BOX24_ACTIVATED,1)
		NEXT_COMMAND_REUSABLE
		SET_FLAG(PLAYER1,BOX125_ACTIVATED,0)
	ENDIF
	IF(PLAYER1,BOX125_ACTIVATED == 25)
		NEXT_COMMAND_REUSABLE
		SET_FLAG(PLAYER1,BOX225_ACTIVATED,1)
		NEXT_COMMAND_REUSABLE
		SET_FLAG(PLAYER1,BOX125_ACTIVATED,0)
	ENDIF
	IF(PLAYER1,BOX125_ACTIVATED == 26)
		NEXT_COMMAND_REUSABLE
		SET_FLAG(PLAYER1,BOX226_ACTIVATED,1)
		NEXT_COMMAND_REUSABLE
		SET_FLAG(PLAYER1,BOX125_ACTIVATED,0)
	ENDIF
	IF(PLAYER1,BOX125_ACTIVATED == 27)
		NEXT_COMMAND_REUSABLE
		SET_FLAG(PLAYER1,BOX227_ACTIVATED,1)
		NEXT_COMMAND_REUSABLE
		SET_FLAG(PLAYER1,BOX125_ACTIVATED,0)
	ENDIF
	IF(PLAYER1,BOX125_ACTIVATED == 28)
		NEXT_COMMAND_REUSABLE
		SET_FLAG(PLAYER1,BOX228_ACTIVATED,1)
		NEXT_COMMAND_REUSABLE
		SET_FLAG(PLAYER1,BOX125_ACTIVATED,0)
	ENDIF
	IF(PLAYER1,BOX125_ACTIVATED == 29)
		NEXT_COMMAND_REUSABLE
		SET_FLAG(PLAYER1,BOX229_ACTIVATED,1)
		NEXT_COMMAND_REUSABLE
		SET_FLAG(PLAYER1,BOX125_ACTIVATED,0)
	ENDIF
	IF(PLAYER1,BOX125_ACTIVATED == 30)
		NEXT_COMMAND_REUSABLE
		SET_FLAG(PLAYER1,BOX230_ACTIVATED,1)
		NEXT_COMMAND_REUSABLE
		SET_FLAG(PLAYER1,BOX125_ACTIVATED,0)
	ENDIF
	IF(PLAYER1,BOX125_ACTIVATED == 31)
		NEXT_COMMAND_REUSABLE
		SET_FLAG(PLAYER1,BOX231_ACTIVATED,1)
		NEXT_COMMAND_REUSABLE
		SET_FLAG(PLAYER1,BOX125_ACTIVATED,0)
	ENDIF
	IF(PLAYER1,BOX125_ACTIVATED == 32)
		NEXT_COMMAND_REUSABLE
		SET_FLAG(PLAYER1,BOX232_ACTIVATED,1)
		NEXT_COMMAND_REUSABLE
		SET_FLAG(PLAYER1,BOX125_ACTIVATED,0)
	ENDIF
ENDIF

REM # "Madness: All the minions get mad psycho."
IF(PLAYER1,BOX225_ACTIVATED > 0)
	NEXT_COMMAND_REUSABLE
	USE_SPELL_ON_PLAYERS_CREATURES(ALL_PLAYERS,ANY_CREATURE,SPELL_FEAR,1)
	NEXT_COMMAND_REUSABLE
	USE_SPELL_ON_PLAYERS_CREATURES(ALL_PLAYERS,IMP,SPELL_FEAR,1)
	NEXT_COMMAND_REUSABLE
	SET_FLAG(PLAYER1,BOX225_ACTIVATED,0)
ENDIF

REM # "Oops!: A clumsy imp tripped and spilled their coffee on you, slap 'em all!"
IF(PLAYER1,BOX226_ACTIVATED > 0)
	NEXT_COMMAND_REUSABLE
	SET_FLAG(PLAYER1,BOX126_ACTIVATED,32)
	NEXT_COMMAND_REUSABLE
	SET_FLAG(PLAYER1,BOX226_ACTIVATED,0)
ENDIF

REM # Oops!'s effect happen every game turn until BOX126_ACTIVATED flag reach 0.
IF(PLAYER1,BOX126_ACTIVATED > 0)
	NEXT_COMMAND_REUSABLE
	USE_POWER_ON_CREATURE(PLAYER1,ANY_CREATURE,ANYWHERE,PLAYER1,POWER_SLAP,1,1)
	NEXT_COMMAND_REUSABLE
	USE_POWER_ON_CREATURE(PLAYER1,IMP,ANYWHERE,PLAYER1,POWER_SLAP,1,1)
	NEXT_COMMAND_REUSABLE
	ADD_TO_FLAG(PLAYER1,BOX126_ACTIVATED,-1)
ENDIF

REM # "Heroic Assault: Summon a squad of heroes to destroy you."
IF(PLAYER1,BOX227_ACTIVATED > 0)
	NEXT_COMMAND_REUSABLE
	ADD_PARTY_TO_LEVEL(PLAYER_GOOD,HRCSSLT,LAST_EVENT,1)
	NEXT_COMMAND_REUSABLE
	SET_FLAG(PLAYER1,BOX227_ACTIVATED,0)
ENDIF

REM # "Rebellion: All friendly minions get angry. Your minions may turn against you, last 12 seconds."
IF(PLAYER1,BOX228_ACTIVATED > 0)
	NEXT_COMMAND_REUSABLE
	CHANGE_CREATURES_ANNOYANCE(PLAYER1,ANY_CREATURE,INCREASE,10000)
	NEXT_COMMAND_REUSABLE
	ADD_TO_FLAG(PLAYER1,BOX127_ACTIVATED,255)
	NEXT_COMMAND_REUSABLE
	SET_FLAG(PLAYER1,BOX228_ACTIVATED,0)
ENDIF

REM # Until BOX127_ACTIVATED flag reach 0 there is a chance a minion turn against its owner.
REM # To change duration see above and replace 255 (average 12 seconds) with any value you want (range 1-255).
IF(PLAYER1,BOX127_ACTIVATED > 0)
	IF(PLAYER1,BOX127_ACTIVATED != PLAYER1,BOX128_ACTIVATED)
		NEXT_COMMAND_REUSABLE
		CHANGE_CREATURES_ANNOYANCE(PLAYER1,ANY_CREATURE,DECREASE,32)
		NEXT_COMMAND_REUSABLE
		ADD_TO_FLAG(PLAYER1,BOX127_ACTIVATED,-1)
		NEXT_COMMAND_REUSABLE
		RANDOMISE_FLAG(PLAYER1,BOX128_ACTIVATED,255)
	ENDIF
	IF(PLAYER1,BOX127_ACTIVATED == PLAYER1,BOX128_ACTIVATED)
		NEXT_COMMAND_REUSABLE
		CHANGE_CREATURE_OWNER(PLAYER1,ANY_CREATURE,ANYWHERE,PLAYER_GOOD)
		NEXT_COMMAND_REUSABLE
		SET_FLAG(PLAYER1,BOX128_ACTIVATED,0)
	ENDIF
ENDIF

REM # "Diverted Wrath: Cast Lightning on your territory at random friendly minions, last 12 seconds."
IF(PLAYER1,BOX229_ACTIVATED > 0)
	NEXT_COMMAND_REUSABLE
	ADD_TO_FLAG(PLAYER1,BOX129_ACTIVATED,255)
	NEXT_COMMAND_REUSABLE
	SET_FLAG(PLAYER1,BOX229_ACTIVATED,0)
ENDIF

REM # Diverted Wrath's effect happen every game turn until BOX129_ACTIVATED flag reach 0.
REM # To change duration see above and replace 255 (average 12 seconds) with any value you want (range 1-255).
IF(PLAYER1,BOX129_ACTIVATED > 0)
	NEXT_COMMAND_REUSABLE
	USE_POWER_ON_CREATURE(PLAYER1,ANY_CREATURE,ON_FRIENDLY_GROUND,PLAYER1,POWER_LIGHTNING,1,1)
	NEXT_COMMAND_REUSABLE
	USE_POWER_ON_CREATURE(PLAYER1,IMP,ON_FRIENDLY_GROUND,PLAYER1,POWER_LIGHTNING,1,1)
	NEXT_COMMAND_REUSABLE
	ADD_TO_FLAG(PLAYER1,BOX129_ACTIVATED,-1)
ENDIF

REM # "Collapse: Cast Cave-In on your territory at random friendly minions, last 12 seconds."
IF(PLAYER1,BOX230_ACTIVATED > 0)
	NEXT_COMMAND_REUSABLE
	ADD_TO_FLAG(PLAYER1,BOX130_ACTIVATED,255)
	NEXT_COMMAND_REUSABLE
	SET_FLAG(PLAYER1,BOX230_ACTIVATED,0)
ENDIF

REM # Collapse's effect happen every game turn until BOX130_ACTIVATED flag reach 0.
REM # To change duration see above and replace 255 (average 12 seconds) with any value you want (range 1-255).
IF(PLAYER1,BOX130_ACTIVATED > 0)
	NEXT_COMMAND_REUSABLE
	USE_POWER_ON_CREATURE(PLAYER1,ANY_CREATURE,ON_FRIENDLY_GROUND,PLAYER1,POWER_CAVE_IN,1,1)
	NEXT_COMMAND_REUSABLE
	USE_POWER_ON_CREATURE(PLAYER1,IMP,ON_FRIENDLY_GROUND,PLAYER1,POWER_CAVE_IN,1,1)
	NEXT_COMMAND_REUSABLE
	ADD_TO_FLAG(PLAYER1,BOX130_ACTIVATED,-1)
ENDIF

REM # "Backlash of Conquest: An Avatar has betrayed the heroes and joined you, unaware that a deadly army hunts you both."
IF(PLAYER1,BOX231_ACTIVATED > 0)
	NEXT_COMMAND_REUSABLE
	ADD_CREATURE_TO_LEVEL(PLAYER1,AVATAR,LAST_EVENT,1,10,0)
	NEXT_COMMAND_REUSABLE
	ADD_PARTY_TO_LEVEL(PLAYER_GOOD,CNQST_01,COMBAT[PLAYER1],1)
	NEXT_COMMAND_REUSABLE
	ADD_PARTY_TO_LEVEL(PLAYER_GOOD,CNQST_02,COMBAT[PLAYER1],1)
	NEXT_COMMAND_REUSABLE
	ADD_PARTY_TO_LEVEL(PLAYER_GOOD,CNQST_03,COMBAT[PLAYER1],1)
	NEXT_COMMAND_REUSABLE
	ADD_PARTY_TO_LEVEL(PLAYER_GOOD,CNQST_04,COMBAT[PLAYER1],1)
	NEXT_COMMAND_REUSABLE
	ADD_PARTY_TO_LEVEL(PLAYER_GOOD,CNQST_05,COMBAT[PLAYER1],1)
	NEXT_COMMAND_REUSABLE
	ADD_PARTY_TO_LEVEL(PLAYER_GOOD,CNQST_06,COMBAT[PLAYER1],1)
	NEXT_COMMAND_REUSABLE
	ADD_PARTY_TO_LEVEL(PLAYER_GOOD,CNQST_07,COMBAT[PLAYER1],1)
	NEXT_COMMAND_REUSABLE
	ADD_PARTY_TO_LEVEL(PLAYER_GOOD,CNQST_08,COMBAT[PLAYER1],1)
	NEXT_COMMAND_REUSABLE
	ADD_PARTY_TO_LEVEL(PLAYER_GOOD,CNQST_09,COMBAT[PLAYER1],1)
	NEXT_COMMAND_REUSABLE
	ADD_PARTY_TO_LEVEL(PLAYER_GOOD,CNQST_10,COMBAT[PLAYER1],1)
	NEXT_COMMAND_REUSABLE
	ADD_PARTY_TO_LEVEL(PLAYER_GOOD,CNQST_11,COMBAT[PLAYER1],1)
	NEXT_COMMAND_REUSABLE
	ADD_PARTY_TO_LEVEL(PLAYER_GOOD,CNQST_12,COMBAT[PLAYER1],1)
	NEXT_COMMAND_REUSABLE
	ADD_PARTY_TO_LEVEL(PLAYER_GOOD,CNQST_13,COMBAT[PLAYER1],1)
	NEXT_COMMAND_REUSABLE
	SET_FLAG(PLAYER1,BOX231_ACTIVATED,0)
ENDIF

REM # "Ragnarok: Kill all your minions then summon as many Knights to join your ranks, then set all buffs effects on them."
IF(PLAYER1,BOX232_ACTIVATED > 0)
	NEXT_COMMAND_REUSABLE
	COMPUTE_FLAG(PLAYER1,BOX32_ACTIVATED,INCREASE,PLAYER1,TOTAL_CREATURES,1)
	NEXT_COMMAND_REUSABLE
	SET_FLAG(PLAYER1,BOX232_ACTIVATED,0)
ENDIF

REM # Ragnarok's effect to kill all your minions.
IF(PLAYER1,BOX32_ACTIVATED > 0)
	NEXT_COMMAND_REUSABLE
	KILL_CREATURE(PLAYER1,ANY_CREATURE,LEAST_EXPERIENCED,1)
	NEXT_COMMAND_REUSABLE
	ADD_TO_FLAG(PLAYER1,BOX132_ACTIVATED,1)
	NEXT_COMMAND_REUSABLE
	ADD_TO_FLAG(PLAYER1,BOX32_ACTIVATED,-1)
ENDIF

REM # Ragnarok's effect to summon a buffed Knight for each killed minions by the above condition.
IF(PLAYER1,BOX132_ACTIVATED > 0)
	IF(PLAYER1,BOX32_ACTIVATED == 0)
		NEXT_COMMAND_REUSABLE
		ADD_CREATURE_TO_LEVEL(PLAYER1,KNIGHT,LAST_EVENT,1,10,0)
		NEXT_COMMAND_REUSABLE
		USE_SPELL_ON_PLAYERS_CREATURES(PLAYER1,KNIGHT,SPELL_ARMOUR,10)
		NEXT_COMMAND_REUSABLE
		USE_SPELL_ON_PLAYERS_CREATURES(PLAYER1,KNIGHT,SPELL_REBOUND,10)
		NEXT_COMMAND_REUSABLE
		USE_SPELL_ON_PLAYERS_CREATURES(PLAYER1,KNIGHT,SPELL_SPEED,10)
		NEXT_COMMAND_REUSABLE
		USE_SPELL_ON_PLAYERS_CREATURES(PLAYER1,KNIGHT,SPELL_FLIGHT,10)
		NEXT_COMMAND_REUSABLE
		USE_SPELL_ON_PLAYERS_CREATURES(PLAYER1,KNIGHT,SPELL_SIGHT,10)
		NEXT_COMMAND_REUSABLE
		ADD_TO_FLAG(PLAYER1,BOX132_ACTIVATED,-1)
	ENDIF
ENDIF

REM # Initial Objective.
QUICK_OBJECTIVE(0,"In this volcanic realm, you can only attract Horned Reapers. Keep them happy or they might turn on you instead, because their sheer brute strength is all that stands between you and your rival's defeat.",ALL_PLAYERS)
SET_TIMER(PLAYER_GOOD,TIMER0)

REM # Set flag for each player's Mood Enhancer.
SET_FLAG(PLAYER0,BOX255_ACTIVATED,255)
SET_FLAG(PLAYER1,BOX255_ACTIVATED,255)

REM # Check whenever PLAYER0 uses the Mood Enhancer.
IF(PLAYER0,BOX255_ACTIVATED > 0)
	NEXT_COMMAND_REUSABLE
	ADD_TO_FLAG(PLAYER_GOOD,BOX255_ACTIVATED,1)
	NEXT_COMMAND_REUSABLE
	CHANGE_CREATURES_ANNOYANCE(PLAYER0,ANY_CREATURE,SET,0)
	NEXT_COMMAND_REUSABLE
	SET_FLAG(PLAYER0,BOX255_ACTIVATED,0)
ENDIF

REM # Check whenever PLAYER1 uses the Mood Enhancer.
IF(PLAYER1,BOX255_ACTIVATED > 0)
	NEXT_COMMAND_REUSABLE
	ADD_TO_FLAG(PLAYER_GOOD,BOX255_ACTIVATED,1)
	NEXT_COMMAND_REUSABLE
	CHANGE_CREATURES_ANNOYANCE(PLAYER1,ANY_CREATURE,SET,0)
	NEXT_COMMAND_REUSABLE
	SET_FLAG(PLAYER1,BOX255_ACTIVATED,0)
ENDIF

REM # Check timer for quick information #2.
IF(PLAYER_GOOD,TIMER0 >= 300)
	QUICK_INFORMATION(1,"You've found a Mood Enhancer! Our Warlocks say it'll make your Horned Reapers happy. Use it if things are spiraling out of control but be careful you only get one. Who knows maybe you'll stumble upon more of these boxes in this crazy realm?",ALL_PLAYERS)
	ADD_TO_FLAG(PLAYER_GOOD,BOX255_ACTIVATED,1)
	SET_TIMER(PLAYER_GOOD,TIMER0)
ENDIF

REM # Horned Reapers grow angrier over time.
IF(PLAYER_GOOD,BOX255_ACTIVATED > 2)
	IF(PLAYER_GOOD,TIMER0 >= 36)
		NEXT_COMMAND_REUSABLE
		CHANGE_CREATURES_ANNOYANCE(PLAYER0,HORNY,INCREASE,20)
		NEXT_COMMAND_REUSABLE
		CHANGE_CREATURES_ANNOYANCE(PLAYER1,HORNY,INCREASE,20)
		NEXT_COMMAND_REUSABLE
		SET_TIMER(PLAYER_GOOD,TIMER0)
	ENDIF
ENDIF

REM # First use of the Mood Enhancer informs both players about its unknown effects.
IF(PLAYER_GOOD,BOX255_ACTIVATED > 3)
	QUICK_INFORMATION(2,"The Warlocks believe this Mood Enhancer has unknown effects. They urge you to find and use more. What could possibly go wrong?",ALL_PLAYERS)
ENDIF

REM # From this point on, each use of the Mood Enhancer increases the base level of newly attracted Horned Reapers.
IF(PLAYER_GOOD,BOX255_ACTIVATED > 4)
	QUICK_INFORMATION(3,"Apparently, this Mood Enhancer had a side effect on the portals of this realm. The newly attracted Horned Reapers seem to be even more powerful now?",ALL_PLAYERS)
	CREATURE_ENTRANCE_LEVEL(ALL_PLAYERS,2)
ENDIF
IF(PLAYER_GOOD,BOX255_ACTIVATED > 5)
	CREATURE_ENTRANCE_LEVEL(ALL_PLAYERS,3)
ENDIF
IF(PLAYER_GOOD,BOX255_ACTIVATED > 6)
	CREATURE_ENTRANCE_LEVEL(ALL_PLAYERS,4)
ENDIF
IF(PLAYER_GOOD,BOX255_ACTIVATED > 7)
	CREATURE_ENTRANCE_LEVEL(ALL_PLAYERS,5)
ENDIF
IF(PLAYER_GOOD,BOX255_ACTIVATED > 8)
	CREATURE_ENTRANCE_LEVEL(ALL_PLAYERS,6)
ENDIF
IF(PLAYER_GOOD,BOX255_ACTIVATED > 9)
	CREATURE_ENTRANCE_LEVEL(ALL_PLAYERS,7)
ENDIF
IF(PLAYER_GOOD,BOX255_ACTIVATED > 10)
	CREATURE_ENTRANCE_LEVEL(ALL_PLAYERS,8)
ENDIF
IF(PLAYER_GOOD,BOX255_ACTIVATED > 11)
	CREATURE_ENTRANCE_LEVEL(ALL_PLAYERS,9)
ENDIF

REM # Secret event after all 10 Mood Enhancer have been used: all Horned Reapers permanently get mad. Good luck!
IF(PLAYER_GOOD,BOX255_ACTIVATED > 12)
	QUICK_INFORMATION(4,"Something's wrong! Our beloved Horned Reapers are permanently mad now, even the newly attracted ones! Run for your life!",ALL_PLAYERS)
	CREATURE_ENTRANCE_LEVEL(ALL_PLAYERS,10)
	NEXT_COMMAND_REUSABLE
	CHANGE_CREATURES_ANNOYANCE(PLAYER0,HORNY,SET,10000)
	NEXT_COMMAND_REUSABLE
	CHANGE_CREATURES_ANNOYANCE(PLAYER1,HORNY,SET,10000)
ENDIF

REM # Win Condition.
IF(PLAYER0,ALL_DUNGEONS_DESTROYED == 1)
	WIN_GAME
	REM # The winner gets destroyed anyway!
	IF(PLAYER_GOOD,HORNY < 8)
		NEXT_COMMAND_REUSABLE
		ADD_CREATURE_TO_LEVEL(PLAYER_GOOD,HORNY,PLAYER0,1,10,0)
	ENDIF
ENDIF
IF(PLAYER1,ALL_DUNGEONS_DESTROYED == 1)
	WIN_GAME
	REM # The winner gets destroyed anyway!
	IF(PLAYER_GOOD,HORNY < 8)
		NEXT_COMMAND_REUSABLE
		ADD_CREATURE_TO_LEVEL(PLAYER_GOOD,HORNY,PLAYER1,1,10,0)
	ENDIF
ENDIF