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

REM # Define additional traps and their crates.
NEW_TRAP_TYPE(WIND)
NEW_OBJECT_TYPE(WRKBOX_WIND)
SET_OBJECT_CONFIGURATION(WRKBOX_WIND,Genre,WORKSHOPBOX)
SET_OBJECT_CONFIGURATION(WRKBOX_WIND,AnimationID,114)
SET_OBJECT_CONFIGURATION(WRKBOX_WIND,AnimationSpeed,256)
SET_OBJECT_CONFIGURATION(WRKBOX_WIND,MaximumSize,300)
SET_OBJECT_CONFIGURATION(WRKBOX_WIND,DestroyOnLava,1)
SET_OBJECT_CONFIGURATION(WRKBOX_WIND,Immobile,1)
SET_OBJECT_CONFIGURATION(WRKBOX_WIND,MapIcon,531)
SET_OBJECT_CONFIGURATION(WRKBOX_WIND,Properties,CHOWNED_ON_ROOM_CLAIM)
NEW_TRAP_TYPE(FREEZE)
NEW_OBJECT_TYPE(WRKBOX_FREEZE)
SET_OBJECT_CONFIGURATION(WRKBOX_FREEZE,Genre,WORKSHOPBOX)
SET_OBJECT_CONFIGURATION(WRKBOX_FREEZE,AnimationID,114)
SET_OBJECT_CONFIGURATION(WRKBOX_FREEZE,AnimationSpeed,256)
SET_OBJECT_CONFIGURATION(WRKBOX_FREEZE,MaximumSize,300)
SET_OBJECT_CONFIGURATION(WRKBOX_FREEZE,DestroyOnLava,1)
SET_OBJECT_CONFIGURATION(WRKBOX_FREEZE,Immobile,1)
SET_OBJECT_CONFIGURATION(WRKBOX_FREEZE,MapIcon,531)
SET_OBJECT_CONFIGURATION(WRKBOX_FREEZE,Properties,CHOWNED_ON_ROOM_CLAIM)
NEW_TRAP_TYPE(CHICKEN)
NEW_OBJECT_TYPE(WRKBOX_CHICKEN)
SET_OBJECT_CONFIGURATION(WRKBOX_CHICKEN,Genre,WORKSHOPBOX)
SET_OBJECT_CONFIGURATION(WRKBOX_CHICKEN,AnimationID,114)
SET_OBJECT_CONFIGURATION(WRKBOX_CHICKEN,AnimationSpeed,256)
SET_OBJECT_CONFIGURATION(WRKBOX_CHICKEN,MaximumSize,300)
SET_OBJECT_CONFIGURATION(WRKBOX_CHICKEN,DestroyOnLava,1)
SET_OBJECT_CONFIGURATION(WRKBOX_CHICKEN,Immobile,1)
SET_OBJECT_CONFIGURATION(WRKBOX_CHICKEN,MapIcon,531)
SET_OBJECT_CONFIGURATION(WRKBOX_CHICKEN,Properties,CHOWNED_ON_ROOM_CLAIM)
NEW_TRAP_TYPE(SPAWNER)
NEW_OBJECT_TYPE(WRKBOX_SPAWNER)
SET_OBJECT_CONFIGURATION(WRKBOX_SPAWNER,Genre,WORKSHOPBOX)
SET_OBJECT_CONFIGURATION(WRKBOX_SPAWNER,AnimationID,114)
SET_OBJECT_CONFIGURATION(WRKBOX_SPAWNER,AnimationSpeed,256)
SET_OBJECT_CONFIGURATION(WRKBOX_SPAWNER,MaximumSize,300)
SET_OBJECT_CONFIGURATION(WRKBOX_SPAWNER,DestroyOnLava,1)
SET_OBJECT_CONFIGURATION(WRKBOX_SPAWNER,Immobile,1)
SET_OBJECT_CONFIGURATION(WRKBOX_SPAWNER,MapIcon,531)
SET_OBJECT_CONFIGURATION(WRKBOX_SPAWNER,Properties,CHOWNED_ON_ROOM_CLAIM)
NEW_TRAP_TYPE(POWER_FRAME)
NEW_OBJECT_TYPE(WRKBOX_POWER)
SET_OBJECT_CONFIGURATION(WRKBOX_POWER,Genre,WORKSHOPBOX)
SET_OBJECT_CONFIGURATION(WRKBOX_POWER,AnimationID,114)
SET_OBJECT_CONFIGURATION(WRKBOX_POWER,AnimationSpeed,256)
SET_OBJECT_CONFIGURATION(WRKBOX_POWER,MaximumSize,300)
SET_OBJECT_CONFIGURATION(WRKBOX_POWER,DestroyOnLava,1)
SET_OBJECT_CONFIGURATION(WRKBOX_POWER,Immobile,1)
SET_OBJECT_CONFIGURATION(WRKBOX_POWER,MapIcon,531)
SET_OBJECT_CONFIGURATION(WRKBOX_POWER,Properties,CHOWNED_ON_ROOM_CLAIM)
NEW_TRAP_TYPE(PATH_FRAME)
NEW_OBJECT_TYPE(WRKBOX_PATH)
SET_OBJECT_CONFIGURATION(WRKBOX_PATH,Genre,WORKSHOPBOX)
SET_OBJECT_CONFIGURATION(WRKBOX_PATH,AnimationID,114)
SET_OBJECT_CONFIGURATION(WRKBOX_PATH,AnimationSpeed,256)
SET_OBJECT_CONFIGURATION(WRKBOX_PATH,MaximumSize,300)
SET_OBJECT_CONFIGURATION(WRKBOX_PATH,DestroyOnLava,1)
SET_OBJECT_CONFIGURATION(WRKBOX_PATH,Immobile,1)
SET_OBJECT_CONFIGURATION(WRKBOX_PATH,MapIcon,531)
SET_OBJECT_CONFIGURATION(WRKBOX_PATH,Properties,CHOWNED_ON_ROOM_CLAIM)

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

REM # Map Settings.
SET_GENERATE_SPEED(1200)
START_MONEY(PLAYER0,20000)
MAX_CREATURES(PLAYER0,255)
CONCEAL_MAP_RECT(PLAYER0,127,127,254,254,0)
SET_CREATURE_TENDENCIES(PLAYER0,FLEE,1)
COMPUTER_PLAYER(PLAYER1,ROAMING)
SET_PLAYER_COLOR(PLAYER1,RED)
ALLY_PLAYERS(PLAYER0,PLAYER1,3)

REM # Player Modifier Settings.
SET_PLAYER_MODIFIER(PLAYER0,Salary,90)
SET_PLAYER_MODIFIER(PLAYER0,TrainingCost,133)
SET_PLAYER_MODIFIER(PLAYER0,ScavengingCost,133)
SET_PLAYER_MODIFIER(PLAYER1,Strength,150)
SET_PLAYER_MODIFIER(PLAYER1,SpellDamage,150)
SET_PLAYER_MODIFIER(PLAYER1,Speed,150)
SET_PLAYER_MODIFIER(PLAYER_GOOD,Health,50)
SET_PLAYER_MODIFIER(PLAYER_GOOD,Armour,35)
SET_PLAYER_MODIFIER(PLAYER_GOOD,Strength,55)
SET_PLAYER_MODIFIER(PLAYER_GOOD,SpellDamage,40)
SET_PLAYER_MODIFIER(PLAYER_GOOD,Speed,70)
REM # SET_PLAYER_MODIFIER(PLAYER_GOOD,Luck,0)

REM # Setup Game Rule.
SET_GAME_RULE(BodiesForVampire,16)
SET_GAME_RULE(PrisonSkeletonChance,100)
SET_GAME_RULE(GhostConvertChance,100)
SET_GAME_RULE(TortureDeathChance,3)
SET_GAME_RULE(TortureConvertChance,100)
SET_GAME_RULE(FoodGenerationSpeed,1200)
SET_GAME_RULE(StunEvilEnemyChance,10)
SET_GAME_RULE(StunGoodEnemyChance,10)
SET_GAME_RULE(BodyRemainsFor,1200)
SET_GAME_RULE(ImpWorkExperience,1024)
SET_GAME_RULE(RoomSellGoldBackPercent,100)
SET_GAME_RULE(DoorSellValuePercent,100)
SET_GAME_RULE(TrapSellValuePercent,100)
SET_GAME_RULE(PayDayGap,18000)

REM # Disable 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(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 # Creature Property Configuration - ARCHER.
SET_CREATURE_PROPERTY(ARCHER,BLEEDS,0)
SET_CREATURE_PROPERTY(ARCHER,HUMANOID_SKELETON,1)
SET_CREATURE_PROPERTY(ARCHER,EVIL,1)
SET_CREATURE_PROPERTY(ARCHER,FEMALE,0)
SET_CREATURE_PROPERTY(ARCHER,IMMUNE_TO_DISEASE,1)
SET_CREATURE_PROPERTY(ARCHER,IMMUNE_TO_GAS,1)
SET_CREATURE_PROPERTY(ARCHER,PREFER_STEAL,1)

REM # Creature Property Configuration - SAMURAI.
SET_CREATURE_PROPERTY(SAMURAI,BLEEDS,0)
SET_CREATURE_PROPERTY(SAMURAI,HUMANOID_SKELETON,1)
SET_CREATURE_PROPERTY(SAMURAI,EVIL,1)
SET_CREATURE_PROPERTY(SAMURAI,FEMALE,0)
SET_CREATURE_PROPERTY(SAMURAI,IMMUNE_TO_DISEASE,1)
SET_CREATURE_PROPERTY(SAMURAI,IMMUNE_TO_GAS,1)
SET_CREATURE_PROPERTY(SAMURAI,PREFER_STEAL,1)

REM # Creature Property Configuration - THIEF.
SET_CREATURE_PROPERTY(THIEF,BLEEDS,0)
SET_CREATURE_PROPERTY(THIEF,HUMANOID_SKELETON,1)
SET_CREATURE_PROPERTY(THIEF,EVIL,1)
SET_CREATURE_PROPERTY(THIEF,FEMALE,1)
SET_CREATURE_PROPERTY(THIEF,IMMUNE_TO_DISEASE,1)
SET_CREATURE_PROPERTY(THIEF,IMMUNE_TO_GAS,1)
SET_CREATURE_PROPERTY(THIEF,PREFER_STEAL,1)

REM # Creature Property Configuration - DARK_MISTRESS.
SET_CREATURE_PROPERTY(DARK_MISTRESS,BLEEDS,0)
SET_CREATURE_PROPERTY(DARK_MISTRESS,HUMANOID_SKELETON,1)
SET_CREATURE_PROPERTY(DARK_MISTRESS,EVIL,1)
SET_CREATURE_PROPERTY(DARK_MISTRESS,FEMALE,1)
SET_CREATURE_PROPERTY(DARK_MISTRESS,IMMUNE_TO_DISEASE,1)
SET_CREATURE_PROPERTY(DARK_MISTRESS,IMMUNE_TO_GAS,1)
SET_CREATURE_PROPERTY(DARK_MISTRESS,PREFER_STEAL,1)

REM # Creature Property Configuration - SORCEROR.
SET_CREATURE_PROPERTY(SORCEROR,BLEEDS,0)
SET_CREATURE_PROPERTY(SORCEROR,HUMANOID_SKELETON,1)
SET_CREATURE_PROPERTY(SORCEROR,EVIL,1)
SET_CREATURE_PROPERTY(SORCEROR,FEMALE,0)
SET_CREATURE_PROPERTY(SORCEROR,IMMUNE_TO_DISEASE,1)
SET_CREATURE_PROPERTY(SORCEROR,IMMUNE_TO_GAS,1)
SET_CREATURE_PROPERTY(SORCEROR,PREFER_STEAL,1)

REM # Creature Property Configuration - SKELETON.
SET_CREATURE_PROPERTY(SKELETON,BLEEDS,0)
SET_CREATURE_PROPERTY(SKELETON,HUMANOID_SKELETON,1)
SET_CREATURE_PROPERTY(SKELETON,EVIL,1)
SET_CREATURE_PROPERTY(SKELETON,FEMALE,0)
SET_CREATURE_PROPERTY(SKELETON,IMMUNE_TO_DISEASE,1)
SET_CREATURE_PROPERTY(SKELETON,IMMUNE_TO_GAS,1)
SET_CREATURE_PROPERTY(SKELETON,PREFER_STEAL,1)

REM # Creature Property Configuration - IMP.
SET_CREATURE_PROPERTY(IMP,FLYING,1)
SET_CREATURE_PROPERTY(IMP,SEE_INVISIBLE,1)
SET_CREATURE_PROPERTY(IMP,IMMUNE_TO_DISEASE,1)
SET_CREATURE_PROPERTY(IMP,IMMUNE_TO_GAS,1)
SET_CREATURE_PROPERTY(IMP,NO_CORPSE_ROTTING,1)
SET_CREATURE_PROPERTY(IMP,BLEEDS,0)
SET_CREATURE_PROPERTY(IMP,NO_ENMHEART_ATTCK,0)

REM # Creature Property Configuration - GHOST.
SET_CREATURE_PROPERTY(GHOST,EVIL,1)
SET_CREATURE_PROPERTY(GHOST,FLYING,1)
SET_CREATURE_PROPERTY(GHOST,SEE_INVISIBLE,1)
SET_CREATURE_PROPERTY(GHOST,IMMUNE_TO_DISEASE,1)
SET_CREATURE_PROPERTY(GHOST,IMMUNE_TO_GAS,1)
SET_CREATURE_PROPERTY(GHOST,NO_CORPSE_ROTTING,1)
SET_CREATURE_PROPERTY(GHOST,PASS_LOCKED_DOORS,0)

REM # Creature Property Configuration - VAMPIRE.
SET_CREATURE_PROPERTY(VAMPIRE,BLEEDS,1)
SET_CREATURE_PROPERTY(VAMPIRE,HUMANOID_SKELETON,1)
SET_CREATURE_PROPERTY(VAMPIRE,EVIL,1)
SET_CREATURE_PROPERTY(VAMPIRE,SEE_INVISIBLE,1)
SET_CREATURE_PROPERTY(VAMPIRE,ALLURING_SCVNGR,1)
SET_CREATURE_PROPERTY(VAMPIRE,IMMUNE_TO_DISEASE,1)
SET_CREATURE_PROPERTY(VAMPIRE,IMMUNE_TO_GAS,1)

REM # Creature Property Configuration - DRAGON.
SET_CREATURE_PROPERTY(DRAGON,EVIL,1)
SET_CREATURE_PROPERTY(DRAGON,TREMBLING,1)
SET_CREATURE_PROPERTY(DRAGON,IMMUNE_TO_DISEASE,1)
SET_CREATURE_PROPERTY(DRAGON,IMMUNE_TO_GAS,1)
SET_CREATURE_PROPERTY(DRAGON,NEVER_CHICKENS,1)
SET_CREATURE_PROPERTY(DRAGON,UNAFFECTED_BY_WIND,1)
SET_CREATURE_PROPERTY(DRAGON,NO_CORPSE_ROTTING,1)
SET_CREATURE_PROPERTY(DRAGON,NO_IMPRISONMENT,1)
SET_CREATURE_PROPERTY(DRAGON,NO_STEAL_HERO,1)
SET_CREATURE_PROPERTY(DRAGON,NO_TRANSFER,1)
SET_CREATURE_PROPERTY(DRAGON,BLEEDS,0)

REM # Creature Property Configuration - TUNNELLER.
SET_CREATURE_PROPERTY(TUNNELLER,FLYING,1)
SET_CREATURE_PROPERTY(TUNNELLER,SEE_INVISIBLE,1)
SET_CREATURE_PROPERTY(TUNNELLER,IMMUNE_TO_DISEASE,1)
SET_CREATURE_PROPERTY(TUNNELLER,IMMUNE_TO_GAS,1)
SET_CREATURE_PROPERTY(TUNNELLER,NO_CORPSE_ROTTING,1)
SET_CREATURE_PROPERTY(TUNNELLER,BLEEDS,0)
SET_CREATURE_PROPERTY(TUNNELLER,HUMANOID_SKELETON,0)

REM # Room Configuration.
SET_ROOM_CONFIGURATION(ENTRANCE,SymbolSprites,543,545)

REM # Power Configuration.
SET_POWER_CONFIGURATION(POWER_CAVE_IN,PanelTabIndex,0)
SET_POWER_CONFIGURATION(POWER_DISEASE,PanelTabIndex,0)
SET_POWER_CONFIGURATION(POWER_ARMAGEDDON,PanelTabIndex,0)
SET_POWER_CONFIGURATION(POWER_DESTROY_WALLS,PanelTabIndex,0)
SET_POWER_CONFIGURATION(POWER_TIME_BOMB,PanelTabIndex,9)
SET_POWER_CONFIGURATION(POWER_SLOW,PanelTabIndex,14)
SET_POWER_CONFIGURATION(POWER_FREEZE,PanelTabIndex,15)
SET_POWER_CONFIGURATION(POWER_REBOUND,PanelTabIndex,16)

REM # Door Configuration.
SET_DOOR_CONFIGURATION(WOOD,PanelTabIndex,9)
SET_DOOR_CONFIGURATION(WOOD,ManufactureLevel,0)
SET_DOOR_CONFIGURATION(WOOD,ManufactureRequired,10000)
SET_DOOR_CONFIGURATION(WOOD,SellingValue,250)
SET_DOOR_CONFIGURATION(WOOD,Health,1500)
SET_DOOR_CONFIGURATION(WOOD,PlaceSound,856)
SET_DOOR_CONFIGURATION(BRACED,PanelTabIndex,10)
SET_DOOR_CONFIGURATION(BRACED,ManufactureLevel,1)
SET_DOOR_CONFIGURATION(BRACED,ManufactureRequired,12500)
SET_DOOR_CONFIGURATION(BRACED,SellingValue,500)
SET_DOOR_CONFIGURATION(BRACED,Health,3000)
SET_DOOR_CONFIGURATION(BRACED,PlaceSound,856)
SET_DOOR_CONFIGURATION(STEEL,PanelTabIndex,11)
SET_DOOR_CONFIGURATION(STEEL,ManufactureLevel,2)
SET_DOOR_CONFIGURATION(STEEL,ManufactureRequired,20000)
SET_DOOR_CONFIGURATION(STEEL,SellingValue,750)
SET_DOOR_CONFIGURATION(STEEL,Health,6000)
SET_DOOR_CONFIGURATION(STEEL,PlaceSound,856)
SET_DOOR_CONFIGURATION(MAGIC,PanelTabIndex,12)
SET_DOOR_CONFIGURATION(MAGIC,ManufactureLevel,3)
SET_DOOR_CONFIGURATION(MAGIC,ManufactureRequired,30000)
SET_DOOR_CONFIGURATION(MAGIC,SellingValue,1000)
SET_DOOR_CONFIGURATION(MAGIC,Health,2250)
SET_DOOR_CONFIGURATION(MAGIC,PlaceSound,856)

REM # Alarm Trap Configuration.
SET_TRAP_CONFIGURATION(ALARM,PanelTabIndex,1)
SET_TRAP_CONFIGURATION(ALARM,ManufactureLevel,0)
SET_TRAP_CONFIGURATION(ALARM,ManufactureRequired,10000)
SET_TRAP_CONFIGURATION(ALARM,Shots,32767)
SET_TRAP_CONFIGURATION(ALARM,TimeBetweenShots,1200)
SET_TRAP_CONFIGURATION(ALARM,SellingValue,500)
SET_TRAP_CONFIGURATION(ALARM,TriggerType,2)
SET_TRAP_CONFIGURATION(ALARM,ActivationType,7)
SET_TRAP_CONFIGURATION(ALARM,EffectType,6)
SET_TRAP_CONFIGURATION(ALARM,Hidden,1)
SET_TRAP_CONFIGURATION(ALARM,Slappable,0)
SET_TRAP_CONFIGURATION(ALARM,Destructible,1)
SET_TRAP_CONFIGURATION(ALARM,Unstable,0)
SET_TRAP_CONFIGURATION(ALARM,TriggerAlarm,1)
SET_TRAP_CONFIGURATION(ALARM,PlaceOnBridge,1)
SET_TRAP_CONFIGURATION(ALARM,PlaceOnSubtile,1)
SET_TRAP_CONFIGURATION(ALARM,Health,256)
SET_TRAP_CONFIGURATION(ALARM,Unshaded,1)
SET_TRAP_CONFIGURATION(ALARM,ThingSize,128,256)
SET_TRAP_CONFIGURATION(ALARM,HitType,4)
SET_TRAP_CONFIGURATION(ALARM,Unsellable,0)
SET_TRAP_CONFIGURATION(ALARM,PlaceSound,852)
SET_TRAP_CONFIGURATION(ALARM,TriggerSound,89)
SET_TRAP_CONFIGURATION(ALARM,DestroyedEffect,EFFECT_EXPLOSION_1)

REM # Wind Trap Configuration.
SET_TRAP_CONFIGURATION(WIND,NameTextID,987)
SET_TRAP_CONFIGURATION(WIND,TooltipTextID,987)
SET_TRAP_CONFIGURATION(WIND,SymbolSprites,374,432)
SET_TRAP_CONFIGURATION(WIND,PointerSprites,164)
SET_TRAP_CONFIGURATION(WIND,PanelTabIndex,2)
SET_TRAP_CONFIGURATION(WIND,Crate,WRKBOX_WIND)
SET_TRAP_CONFIGURATION(WIND,ManufactureLevel,0)
SET_TRAP_CONFIGURATION(WIND,ManufactureRequired,10000)
SET_TRAP_CONFIGURATION(WIND,Shots,2)
SET_TRAP_CONFIGURATION(WIND,TimeBetweenShots,6000)
SET_TRAP_CONFIGURATION(WIND,SellingValue,1000)
SET_TRAP_CONFIGURATION(WIND,Model,845)
SET_TRAP_CONFIGURATION(WIND,ModelSize,256)
SET_TRAP_CONFIGURATION(WIND,AnimationSpeed,256)
SET_TRAP_CONFIGURATION(WIND,TriggerType,3)
SET_TRAP_CONFIGURATION(WIND,ActivationType,5)
SET_TRAP_CONFIGURATION(WIND,EffectType,8)
SET_TRAP_CONFIGURATION(WIND,Hidden,0)
SET_TRAP_CONFIGURATION(WIND,Slappable,1)
SET_TRAP_CONFIGURATION(WIND,Destructible,1)
SET_TRAP_CONFIGURATION(WIND,Unstable,0)
SET_TRAP_CONFIGURATION(WIND,PlaceOnBridge,1)
SET_TRAP_CONFIGURATION(WIND,PlaceOnSubtile,1)
SET_TRAP_CONFIGURATION(WIND,Health,256)
SET_TRAP_CONFIGURATION(WIND,Unshaded,1)
SET_TRAP_CONFIGURATION(WIND,ThingSize,128,256)
SET_TRAP_CONFIGURATION(WIND,HitType,4)
SET_TRAP_CONFIGURATION(WIND,Unsellable,0)
SET_TRAP_CONFIGURATION(WIND,PlaceSound,852)
SET_TRAP_CONFIGURATION(WIND,TriggerSound,40)
SET_TRAP_CONFIGURATION(WIND,DestroyedEffect,EFFECT_EXPLOSION_1)

REM # Lightning Trap Configuration.
SET_TRAP_CONFIGURATION(LIGHTNING,PanelTabIndex,3)
SET_TRAP_CONFIGURATION(LIGHTNING,ManufactureLevel,3)
SET_TRAP_CONFIGURATION(LIGHTNING,ManufactureRequired,25000)
SET_TRAP_CONFIGURATION(LIGHTNING,Shots,120)
SET_TRAP_CONFIGURATION(LIGHTNING,TimeBetweenShots,100)
SET_TRAP_CONFIGURATION(LIGHTNING,SellingValue,1000)
SET_TRAP_CONFIGURATION(LIGHTNING,TriggerType,3)
SET_TRAP_CONFIGURATION(LIGHTNING,ActivationType,5)
SET_TRAP_CONFIGURATION(LIGHTNING,EffectType,4)
SET_TRAP_CONFIGURATION(LIGHTNING,Hidden,0)
SET_TRAP_CONFIGURATION(LIGHTNING,Slappable,0)
SET_TRAP_CONFIGURATION(LIGHTNING,Destructible,1)
SET_TRAP_CONFIGURATION(LIGHTNING,Unstable,2)
SET_TRAP_CONFIGURATION(LIGHTNING,PlaceOnBridge,1)
SET_TRAP_CONFIGURATION(LIGHTNING,PlaceOnSubtile,1)
SET_TRAP_CONFIGURATION(LIGHTNING,Health,256)
SET_TRAP_CONFIGURATION(LIGHTNING,Unshaded,1)
SET_TRAP_CONFIGURATION(LIGHTNING,ThingSize,128,256)
SET_TRAP_CONFIGURATION(LIGHTNING,HitType,4)
SET_TRAP_CONFIGURATION(LIGHTNING,Unsellable,0)
SET_TRAP_CONFIGURATION(LIGHTNING,PlaceSound,852)
SET_TRAP_CONFIGURATION(LIGHTNING,TriggerSound,0)
SET_TRAP_CONFIGURATION(LIGHTNING,DestroyedEffect,EFFECT_EXPLOSION_1)

REM # Lava Trap Configuration (Spitfire Trap).
SET_TRAP_CONFIGURATION(LAVA,NameTextID,988)
SET_TRAP_CONFIGURATION(LAVA,TooltipTextID,988)
SET_TRAP_CONFIGURATION(LAVA,SymbolSprites,372,430)
SET_TRAP_CONFIGURATION(LAVA,PointerSprites,159)
SET_TRAP_CONFIGURATION(LAVA,PanelTabIndex,4)
SET_TRAP_CONFIGURATION(LAVA,ManufactureLevel,1)
SET_TRAP_CONFIGURATION(LAVA,ManufactureRequired,15000)
SET_TRAP_CONFIGURATION(LAVA,Shots,1500)
SET_TRAP_CONFIGURATION(LAVA,TimeBetweenShots,8)
SET_TRAP_CONFIGURATION(LAVA,SellingValue,1000)
SET_TRAP_CONFIGURATION(LAVA,Model,844)
SET_TRAP_CONFIGURATION(LAVA,TriggerType,3)
SET_TRAP_CONFIGURATION(LAVA,ActivationType,5)
SET_TRAP_CONFIGURATION(LAVA,EffectType,7)
SET_TRAP_CONFIGURATION(LAVA,Hidden,0)
SET_TRAP_CONFIGURATION(LAVA,Slappable,0)
SET_TRAP_CONFIGURATION(LAVA,Destructible,1)
SET_TRAP_CONFIGURATION(LAVA,Unstable,2)
SET_TRAP_CONFIGURATION(LAVA,PlaceOnBridge,1)
SET_TRAP_CONFIGURATION(LAVA,PlaceOnSubtile,1)
SET_TRAP_CONFIGURATION(LAVA,Health,256)
SET_TRAP_CONFIGURATION(LAVA,Unshaded,1)
SET_TRAP_CONFIGURATION(LAVA,ThingSize,128,256)
SET_TRAP_CONFIGURATION(LAVA,HitType,4)
SET_TRAP_CONFIGURATION(LAVA,Unsellable,0)
SET_TRAP_CONFIGURATION(LAVA,PlaceSound,852)
SET_TRAP_CONFIGURATION(LAVA,TriggerSound,0)
SET_TRAP_CONFIGURATION(LAVA,DestroyedEffect,EFFECT_EXPLOSION_1)

REM # Boulder Trap Configuration.
SET_TRAP_CONFIGURATION(BOULDER,PanelTabIndex,5)
SET_TRAP_CONFIGURATION(BOULDER,ManufactureLevel,4)
SET_TRAP_CONFIGURATION(BOULDER,ManufactureRequired,30000)
SET_TRAP_CONFIGURATION(BOULDER,Shots,1)
SET_TRAP_CONFIGURATION(BOULDER,TimeBetweenShots,0)
SET_TRAP_CONFIGURATION(BOULDER,SellingValue,2000)
SET_TRAP_CONFIGURATION(BOULDER,TriggerType,3)
SET_TRAP_CONFIGURATION(BOULDER,ActivationType,5)
SET_TRAP_CONFIGURATION(BOULDER,Hidden,0)
SET_TRAP_CONFIGURATION(BOULDER,Slappable,1)
SET_TRAP_CONFIGURATION(BOULDER,Destructible,0)
SET_TRAP_CONFIGURATION(BOULDER,Unstable,0)
SET_TRAP_CONFIGURATION(BOULDER,PlaceOnBridge,1)
SET_TRAP_CONFIGURATION(BOULDER,PlaceOnSubtile,0)
SET_TRAP_CONFIGURATION(BOULDER,Health,1024)
SET_TRAP_CONFIGURATION(BOULDER,Unshaded,1)
SET_TRAP_CONFIGURATION(BOULDER,Unsellable,0)
SET_TRAP_CONFIGURATION(BOULDER,PlaceSound,852)
SET_TRAP_CONFIGURATION(BOULDER,TriggerSound,42)
SET_TRAP_CONFIGURATION(BOULDER,DestroyedEffect,EFFECT_EXPLOSION_1)

REM # Word Of Power Trap Configuration (Hailstorm Trap).
SET_TRAP_CONFIGURATION(WORD_OF_POWER,NameTextID,244)
SET_TRAP_CONFIGURATION(WORD_OF_POWER,TooltipTextID,244)
SET_TRAP_CONFIGURATION(WORD_OF_POWER,SymbolSprites,384,442)
SET_TRAP_CONFIGURATION(WORD_OF_POWER,PointerSprites,161)
SET_TRAP_CONFIGURATION(WORD_OF_POWER,PanelTabIndex,6)
SET_TRAP_CONFIGURATION(WORD_OF_POWER,ManufactureLevel,2)
SET_TRAP_CONFIGURATION(WORD_OF_POWER,ManufactureRequired,20000)
SET_TRAP_CONFIGURATION(WORD_OF_POWER,Shots,100)
SET_TRAP_CONFIGURATION(WORD_OF_POWER,TimeBetweenShots,120)
SET_TRAP_CONFIGURATION(WORD_OF_POWER,SellingValue,1000)
SET_TRAP_CONFIGURATION(WORD_OF_POWER,Model,845)
SET_TRAP_CONFIGURATION(WORD_OF_POWER,TriggerType,3)
SET_TRAP_CONFIGURATION(WORD_OF_POWER,ActivationType,5)
SET_TRAP_CONFIGURATION(WORD_OF_POWER,EffectType,13)
SET_TRAP_CONFIGURATION(WORD_OF_POWER,Hidden,0)
SET_TRAP_CONFIGURATION(WORD_OF_POWER,Slappable,0)
SET_TRAP_CONFIGURATION(WORD_OF_POWER,Destructible,1)
SET_TRAP_CONFIGURATION(WORD_OF_POWER,Unstable,2)
SET_TRAP_CONFIGURATION(WORD_OF_POWER,PlaceOnBridge,1)
SET_TRAP_CONFIGURATION(WORD_OF_POWER,PlaceOnSubtile,1)
SET_TRAP_CONFIGURATION(WORD_OF_POWER,Health,256)
SET_TRAP_CONFIGURATION(WORD_OF_POWER,Unshaded,1)
SET_TRAP_CONFIGURATION(WORD_OF_POWER,ThingSize,128,256)
SET_TRAP_CONFIGURATION(WORD_OF_POWER,HitType,4)
SET_TRAP_CONFIGURATION(WORD_OF_POWER,Unsellable,0)
SET_TRAP_CONFIGURATION(WORD_OF_POWER,PlaceSound,852)
SET_TRAP_CONFIGURATION(WORD_OF_POWER,TriggerSound,0)
SET_TRAP_CONFIGURATION(WORD_OF_POWER,DestroyedEffect,EFFECT_EXPLOSION_1)

REM # Freeze Trap Configuration.
SET_TRAP_CONFIGURATION(FREEZE,NameTextID,982)
SET_TRAP_CONFIGURATION(FREEZE,TooltipTextID,982)
SET_TRAP_CONFIGURATION(FREEZE,SymbolSprites,523,406)
SET_TRAP_CONFIGURATION(FREEZE,PointerSprites,160)
SET_TRAP_CONFIGURATION(FREEZE,PanelTabIndex,7)
SET_TRAP_CONFIGURATION(FREEZE,Crate,WRKBOX_FREEZE)
SET_TRAP_CONFIGURATION(FREEZE,ManufactureLevel,2)
SET_TRAP_CONFIGURATION(FREEZE,ManufactureRequired,20000)
SET_TRAP_CONFIGURATION(FREEZE,Shots,16)
SET_TRAP_CONFIGURATION(FREEZE,TimeBetweenShots,750)
SET_TRAP_CONFIGURATION(FREEZE,SellingValue,1000)
SET_TRAP_CONFIGURATION(FREEZE,Model,845)
SET_TRAP_CONFIGURATION(FREEZE,ModelSize,256)
SET_TRAP_CONFIGURATION(FREEZE,AnimationSpeed,256)
SET_TRAP_CONFIGURATION(FREEZE,TriggerType,3)
SET_TRAP_CONFIGURATION(FREEZE,ActivationType,5)
SET_TRAP_CONFIGURATION(FREEZE,EffectType,3)
SET_TRAP_CONFIGURATION(FREEZE,Hidden,0)
SET_TRAP_CONFIGURATION(FREEZE,Slappable,0)
SET_TRAP_CONFIGURATION(FREEZE,Destructible,1)
SET_TRAP_CONFIGURATION(FREEZE,Unstable,0)
SET_TRAP_CONFIGURATION(FREEZE,PlaceOnBridge,1)
SET_TRAP_CONFIGURATION(FREEZE,PlaceOnSubtile,1)
SET_TRAP_CONFIGURATION(FREEZE,Health,256)
SET_TRAP_CONFIGURATION(FREEZE,Unshaded,1)
SET_TRAP_CONFIGURATION(FREEZE,ThingSize,128,256)
SET_TRAP_CONFIGURATION(FREEZE,HitType,4)
SET_TRAP_CONFIGURATION(FREEZE,Unsellable,0)
SET_TRAP_CONFIGURATION(FREEZE,PlaceSound,852)
SET_TRAP_CONFIGURATION(FREEZE,TriggerSound,0)
SET_TRAP_CONFIGURATION(FREEZE,DestroyedEffect,EFFECT_EXPLOSION_1)

REM # Chicken Trap Configuration.
SET_TRAP_CONFIGURATION(CHICKEN,NameTextID,989)
SET_TRAP_CONFIGURATION(CHICKEN,TooltipTextID,989)
SET_TRAP_CONFIGURATION(CHICKEN,SymbolSprites,306,314)
SET_TRAP_CONFIGURATION(CHICKEN,PointerSprites,C_CHICKEN_CURSOR_02)
SET_TRAP_CONFIGURATION(CHICKEN,PanelTabIndex,8)
SET_TRAP_CONFIGURATION(CHICKEN,Crate,WRKBOX_CHICKEN)
SET_TRAP_CONFIGURATION(CHICKEN,ManufactureLevel,2)
SET_TRAP_CONFIGURATION(CHICKEN,ManufactureRequired,20000)
SET_TRAP_CONFIGURATION(CHICKEN,Shots,16)
SET_TRAP_CONFIGURATION(CHICKEN,TimeBetweenShots,750)
SET_TRAP_CONFIGURATION(CHICKEN,SellingValue,1000)
SET_TRAP_CONFIGURATION(CHICKEN,Model,845)
SET_TRAP_CONFIGURATION(CHICKEN,ModelSize,256)
SET_TRAP_CONFIGURATION(CHICKEN,AnimationSpeed,256)
SET_TRAP_CONFIGURATION(CHICKEN,TriggerType,3)
SET_TRAP_CONFIGURATION(CHICKEN,ActivationType,5)
SET_TRAP_CONFIGURATION(CHICKEN,EffectType,27)
SET_TRAP_CONFIGURATION(CHICKEN,Hidden,0)
SET_TRAP_CONFIGURATION(CHICKEN,Slappable,0)
SET_TRAP_CONFIGURATION(CHICKEN,Destructible,1)
SET_TRAP_CONFIGURATION(CHICKEN,Unstable,0)
SET_TRAP_CONFIGURATION(CHICKEN,PlaceOnBridge,1)
SET_TRAP_CONFIGURATION(CHICKEN,PlaceOnSubtile,1)
SET_TRAP_CONFIGURATION(CHICKEN,Health,256)
SET_TRAP_CONFIGURATION(CHICKEN,Unshaded,1)
SET_TRAP_CONFIGURATION(CHICKEN,ThingSize,128,256)
SET_TRAP_CONFIGURATION(CHICKEN,HitType,4)
SET_TRAP_CONFIGURATION(CHICKEN,Unsellable,0)
SET_TRAP_CONFIGURATION(CHICKEN,PlaceSound,852)
SET_TRAP_CONFIGURATION(CHICKEN,TriggerSound,0)
SET_TRAP_CONFIGURATION(CHICKEN,DestroyedEffect,EFFECT_EXPLOSION_1)

REM # Spawner Trap Configuration.
SET_TRAP_CONFIGURATION(SPAWNER,NameTextID,986)
SET_TRAP_CONFIGURATION(SPAWNER,TooltipTextID,986)
SET_TRAP_CONFIGURATION(SPAWNER,SymbolSprites,543,545)
SET_TRAP_CONFIGURATION(SPAWNER,PointerSprites,165)
SET_TRAP_CONFIGURATION(SPAWNER,PanelTabIndex,13)
SET_TRAP_CONFIGURATION(SPAWNER,Crate,WRKBOX_SPAWNER)
SET_TRAP_CONFIGURATION(SPAWNER,ManufactureLevel,4)
SET_TRAP_CONFIGURATION(SPAWNER,ManufactureRequired,30000)
SET_TRAP_CONFIGURATION(SPAWNER,Shots,1)
SET_TRAP_CONFIGURATION(SPAWNER,TimeBetweenShots,0)
SET_TRAP_CONFIGURATION(SPAWNER,SellingValue,0)
SET_TRAP_CONFIGURATION(SPAWNER,Model,132)
SET_TRAP_CONFIGURATION(SPAWNER,ModelSize,128)
SET_TRAP_CONFIGURATION(SPAWNER,AnimationSpeed,256)
SET_TRAP_CONFIGURATION(SPAWNER,TriggerType,5)
SET_TRAP_CONFIGURATION(SPAWNER,ActivationType,6)
SET_TRAP_CONFIGURATION(SPAWNER,EffectType,28)
SET_TRAP_CONFIGURATION(SPAWNER,Hidden,1)
SET_TRAP_CONFIGURATION(SPAWNER,Slappable,1)
SET_TRAP_CONFIGURATION(SPAWNER,Destructible,1)
SET_TRAP_CONFIGURATION(SPAWNER,Unstable,0)
SET_TRAP_CONFIGURATION(SPAWNER,PlaceOnBridge,1)
SET_TRAP_CONFIGURATION(SPAWNER,PlaceOnSubtile,1)
SET_TRAP_CONFIGURATION(SPAWNER,Health,1)
SET_TRAP_CONFIGURATION(SPAWNER,Unshaded,1)
SET_TRAP_CONFIGURATION(SPAWNER,ThingSize,128,256)
SET_TRAP_CONFIGURATION(SPAWNER,HitType,1)
SET_TRAP_CONFIGURATION(SPAWNER,Unsellable,0)
SET_TRAP_CONFIGURATION(SPAWNER,PlaceSound,852)
SET_TRAP_CONFIGURATION(SPAWNER,TriggerSound,972)
SET_TRAP_CONFIGURATION(SPAWNER,DestroyedEffect,EFFECT_EXPLOSION_1)

REM # Power Trap Configuration.
SET_TRAP_CONFIGURATION(POWER_FRAME,NameTextID,991)
SET_TRAP_CONFIGURATION(POWER_FRAME,TooltipTextID,991)
SET_TRAP_CONFIGURATION(POWER_FRAME,SymbolSprites,519,513)
SET_TRAP_CONFIGURATION(POWER_FRAME,PointerSprites,176)
SET_TRAP_CONFIGURATION(POWER_FRAME,PanelTabIndex,14)
SET_TRAP_CONFIGURATION(POWER_FRAME,Crate,WRKBOX_POWER)
SET_TRAP_CONFIGURATION(POWER_FRAME,ManufactureLevel,4)
SET_TRAP_CONFIGURATION(POWER_FRAME,ManufactureRequired,30000)
SET_TRAP_CONFIGURATION(POWER_FRAME,Shots,1)
SET_TRAP_CONFIGURATION(POWER_FRAME,TimeBetweenShots,0)
SET_TRAP_CONFIGURATION(POWER_FRAME,SellingValue,0)
SET_TRAP_CONFIGURATION(POWER_FRAME,Model,130)
SET_TRAP_CONFIGURATION(POWER_FRAME,ModelSize,128)
SET_TRAP_CONFIGURATION(POWER_FRAME,AnimationSpeed,256)
SET_TRAP_CONFIGURATION(POWER_FRAME,TriggerType,5)
SET_TRAP_CONFIGURATION(POWER_FRAME,ActivationType,6)
SET_TRAP_CONFIGURATION(POWER_FRAME,EffectType,8)
SET_TRAP_CONFIGURATION(POWER_FRAME,Hidden,1)
SET_TRAP_CONFIGURATION(POWER_FRAME,Slappable,1)
SET_TRAP_CONFIGURATION(POWER_FRAME,Destructible,1)
SET_TRAP_CONFIGURATION(POWER_FRAME,Unstable,0)
SET_TRAP_CONFIGURATION(POWER_FRAME,PlaceOnBridge,1)
SET_TRAP_CONFIGURATION(POWER_FRAME,PlaceOnSubtile,1)
SET_TRAP_CONFIGURATION(POWER_FRAME,Health,1)
SET_TRAP_CONFIGURATION(POWER_FRAME,Unshaded,1)
SET_TRAP_CONFIGURATION(POWER_FRAME,ThingSize,128,256)
SET_TRAP_CONFIGURATION(POWER_FRAME,HitType,1)
SET_TRAP_CONFIGURATION(POWER_FRAME,Unsellable,0)
SET_TRAP_CONFIGURATION(POWER_FRAME,PlaceSound,852)
SET_TRAP_CONFIGURATION(POWER_FRAME,TriggerSound,977)
SET_TRAP_CONFIGURATION(POWER_FRAME,DestroyedEffect,EFFECT_EXPLOSION_1)

REM # Terraformer Trap Configuration.
SET_TRAP_CONFIGURATION(PATH_FRAME,NameTextID,981)
SET_TRAP_CONFIGURATION(PATH_FRAME,TooltipTextID,981)
SET_TRAP_CONFIGURATION(PATH_FRAME,SymbolSprites,390,448)
SET_TRAP_CONFIGURATION(PATH_FRAME,PointerSprites,167)
SET_TRAP_CONFIGURATION(PATH_FRAME,PanelTabIndex,15)
SET_TRAP_CONFIGURATION(PATH_FRAME,Crate,WRKBOX_PATH)
SET_TRAP_CONFIGURATION(PATH_FRAME,ManufactureLevel,4)
SET_TRAP_CONFIGURATION(PATH_FRAME,ManufactureRequired,30000)
SET_TRAP_CONFIGURATION(PATH_FRAME,Shots,1)
SET_TRAP_CONFIGURATION(PATH_FRAME,TimeBetweenShots,0)
SET_TRAP_CONFIGURATION(PATH_FRAME,SellingValue,0)
SET_TRAP_CONFIGURATION(PATH_FRAME,Model,845)
SET_TRAP_CONFIGURATION(PATH_FRAME,ModelSize,0)
SET_TRAP_CONFIGURATION(PATH_FRAME,AnimationSpeed,0)
SET_TRAP_CONFIGURATION(PATH_FRAME,TriggerType,5)
SET_TRAP_CONFIGURATION(PATH_FRAME,ActivationType,4)
SET_TRAP_CONFIGURATION(PATH_FRAME,EffectType,10)
SET_TRAP_CONFIGURATION(PATH_FRAME,Hidden,1)
SET_TRAP_CONFIGURATION(PATH_FRAME,Slappable,1)
SET_TRAP_CONFIGURATION(PATH_FRAME,Destructible,0)
SET_TRAP_CONFIGURATION(PATH_FRAME,Unstable,0)
SET_TRAP_CONFIGURATION(PATH_FRAME,PlaceOnBridge,1)
SET_TRAP_CONFIGURATION(PATH_FRAME,PlaceOnSubtile,0)
SET_TRAP_CONFIGURATION(PATH_FRAME,Health,1)
SET_TRAP_CONFIGURATION(PATH_FRAME,Unshaded,1)
SET_TRAP_CONFIGURATION(PATH_FRAME,ThingSize,0,0)
SET_TRAP_CONFIGURATION(PATH_FRAME,HitType,1)
SET_TRAP_CONFIGURATION(PATH_FRAME,Unsellable,1)
SET_TRAP_CONFIGURATION(PATH_FRAME,PlaceSound,852)
SET_TRAP_CONFIGURATION(PATH_FRAME,TriggerSound,927)
SET_TRAP_CONFIGURATION(PATH_FRAME,DestroyedEffect,EFFECT_EXPLOSION_1)

REM # Creatures' Pool.
ADD_CREATURE_TO_POOL(IMP,17)
ADD_CREATURE_TO_POOL(SPIDER,17)
ADD_CREATURE_TO_POOL(ARCHER,0)
ADD_CREATURE_TO_POOL(SAMURAI,0)
ADD_CREATURE_TO_POOL(THIEF,0)
ADD_CREATURE_TO_POOL(DARK_MISTRESS,0)
ADD_CREATURE_TO_POOL(SORCEROR,0)
ADD_CREATURE_TO_POOL(SKELETON,0)
ADD_CREATURE_TO_POOL(VAMPIRE,0)

REM # Creatures' Availablity.
CREATURE_AVAILABLE(PLAYER0,IMP,1,0)
CREATURE_AVAILABLE(PLAYER0,SPIDER,1,0)
CREATURE_AVAILABLE(PLAYER0,ARCHER,0,0)
CREATURE_AVAILABLE(PLAYER0,SAMURAI,0,0)
CREATURE_AVAILABLE(PLAYER0,THIEF,0,0)
CREATURE_AVAILABLE(PLAYER0,DARK_MISTRESS,0,0)
CREATURE_AVAILABLE(PLAYER0,SORCEROR,0,0)
CREATURE_AVAILABLE(PLAYER0,SKELETON,0,0)
CREATURE_AVAILABLE(PLAYER0,VAMPIRE,1,0)

REM # Research Order List.
RESEARCH_ORDER(PLAYER0,ROOM,RESEARCH,10000)
RESEARCH_ORDER(PLAYER0,ROOM,LAIR,10000)
RESEARCH_ORDER(PLAYER0,ROOM,GARDEN,10000)
RESEARCH_ORDER(PLAYER0,ROOM,TREASURE,10000)
RESEARCH_ORDER(PLAYER0,ROOM,TRAINING,10000)
RESEARCH_ORDER(PLAYER0,MAGIC,POWER_OBEY,10000)
RESEARCH_ORDER(PLAYER0,ROOM,WORKSHOP,10000)
RESEARCH_ORDER(PLAYER0,MAGIC,POWER_CALL_TO_ARMS,10000)
RESEARCH_ORDER(PLAYER0,ROOM,BARRACKS,10000)
RESEARCH_ORDER(PLAYER0,MAGIC,POWER_SLOW,10000)
RESEARCH_ORDER(PLAYER0,ROOM,GUARD_POST,10000)
RESEARCH_ORDER(PLAYER0,MAGIC,POWER_SPEED,12500)
RESEARCH_ORDER(PLAYER0,ROOM,PRISON,25000)
RESEARCH_ORDER(PLAYER0,MAGIC,POWER_HOLD_AUDIENCE,37500)
RESEARCH_ORDER(PLAYER0,ROOM,TORTURE,50000)
RESEARCH_ORDER(PLAYER0,MAGIC,POWER_CONCEAL,62500)
RESEARCH_ORDER(PLAYER0,MAGIC,POWER_PROTECT,75000)
RESEARCH_ORDER(PLAYER0,MAGIC,POWER_HEAL_CREATURE,87500)
RESEARCH_ORDER(PLAYER0,ROOM,TEMPLE,100000)
RESEARCH_ORDER(PLAYER0,MAGIC,POWER_CHICKEN,125000)
RESEARCH_ORDER(PLAYER0,ROOM,GRAVEYARD,187500)
RESEARCH_ORDER(PLAYER0,MAGIC,POWER_TIME_BOMB,250000)
RESEARCH_ORDER(PLAYER0,MAGIC,POWER_FREEZE,250000)
RESEARCH_ORDER(PLAYER0,MAGIC,POWER_REBOUND,250000)
RESEARCH_ORDER(PLAYER0,ROOM,SCAVENGER,375000)
RESEARCH_ORDER(PLAYER0,MAGIC,POWER_LIGHTNING,500000)
RESEARCH_ORDER(PLAYER0,MAGIC,POWER_FLIGHT,100000)
RESEARCH_ORDER(PLAYER0,MAGIC,POWER_VISION,100000)

REM # Keeper's Rooms' Availablity.
ROOM_AVAILABLE(PLAYER0,RESEARCH,2,0)
ROOM_AVAILABLE(PLAYER0,LAIR,2,0)
ROOM_AVAILABLE(PLAYER0,GARDEN,2,0)
ROOM_AVAILABLE(PLAYER0,TREASURE,2,0)
ROOM_AVAILABLE(PLAYER0,TRAINING,2,0)
ROOM_AVAILABLE(PLAYER0,WORKSHOP,2,0)
ROOM_AVAILABLE(PLAYER0,BARRACKS,2,0)
ROOM_AVAILABLE(PLAYER0,GUARD_POST,2,0)
ROOM_AVAILABLE(PLAYER0,PRISON,2,0)
ROOM_AVAILABLE(PLAYER0,TORTURE,2,0)
ROOM_AVAILABLE(PLAYER0,TEMPLE,0,0)
ROOM_AVAILABLE(PLAYER0,GRAVEYARD,2,0)
ROOM_AVAILABLE(PLAYER0,SCAVENGER,2,0)
ROOM_AVAILABLE(PLAYER0,BRIDGE,0,0)

REM # Keeper's Powers' Availablity.
MAGIC_AVAILABLE(PLAYER0,POWER_IMP,1,1)
MAGIC_AVAILABLE(PLAYER0,POWER_OBEY,1,1)
MAGIC_AVAILABLE(PLAYER0,POWER_CALL_TO_ARMS,1,0)
MAGIC_AVAILABLE(PLAYER0,POWER_SIGHT,1,1)
MAGIC_AVAILABLE(PLAYER0,POWER_SLOW,1,0)
MAGIC_AVAILABLE(PLAYER0,POWER_SPEED,1,0)
MAGIC_AVAILABLE(PLAYER0,POWER_HOLD_AUDIENCE,1,0)
MAGIC_AVAILABLE(PLAYER0,POWER_CONCEAL,1,0)
MAGIC_AVAILABLE(PLAYER0,POWER_PROTECT,1,0)
MAGIC_AVAILABLE(PLAYER0,POWER_HEAL_CREATURE,1,0)
MAGIC_AVAILABLE(PLAYER0,POWER_CHICKEN,1,0)
MAGIC_AVAILABLE(PLAYER0,POWER_DISEASE,0,0)
MAGIC_AVAILABLE(PLAYER0,POWER_CAVE_IN,0,0)
MAGIC_AVAILABLE(PLAYER0,POWER_TIME_BOMB,1,0)
MAGIC_AVAILABLE(PLAYER0,POWER_FREEZE,1,0)
MAGIC_AVAILABLE(PLAYER0,POWER_REBOUND,1,0)
MAGIC_AVAILABLE(PLAYER0,POWER_LIGHTNING,1,0)
MAGIC_AVAILABLE(PLAYER0,POWER_DESTROY_WALLS,0,0)
MAGIC_AVAILABLE(PLAYER0,POWER_ARMAGEDDON,0,0)
MAGIC_AVAILABLE(PLAYER0,POWER_FLIGHT,1,0)
MAGIC_AVAILABLE(PLAYER0,POWER_VISION,1,0)

REM # Keeper's Doors' Availablity.
DOOR_AVAILABLE(PLAYER0,WOOD,1,0)
DOOR_AVAILABLE(PLAYER0,BRACED,1,0)
DOOR_AVAILABLE(PLAYER0,STEEL,1,0)
DOOR_AVAILABLE(PLAYER0,MAGIC,1,0)

REM # Keeper's Traps' Availablity.
TRAP_AVAILABLE(PLAYER0,ALARM,1,0)
TRAP_AVAILABLE(PLAYER0,WIND,1,0)
TRAP_AVAILABLE(PLAYER0,LIGHTNING,1,0)
TRAP_AVAILABLE(PLAYER0,LAVA,1,0)
TRAP_AVAILABLE(PLAYER0,BOULDER,1,0)
TRAP_AVAILABLE(PLAYER0,WORD_OF_POWER,1,0)
TRAP_AVAILABLE(PLAYER0,FREEZE,1,0)
TRAP_AVAILABLE(PLAYER0,CHICKEN,1,0)
TRAP_AVAILABLE(PLAYER0,SPAWNER,1,0)
TRAP_AVAILABLE(PLAYER0,POWER_FRAME,1,0)
TRAP_AVAILABLE(PLAYER0,PATH_FRAME,1,0)

REM # Setup party used by the script.
CREATE_PARTY(AE)
ADD_TO_PARTY(AE,SKELETON,1,0,ATTACK_ENEMIES,0)
CREATE_PARTY(ADH)
ADD_TO_PARTY(ADH,ARCHER,1,0,ATTACK_DUNGEON_HEART,0)
CREATE_PARTY(SDH)
ADD_TO_PARTY(SDH,DARK_MISTRESS,1,0,SNIPE_DUNGEON_HEART,0)
CREATE_PARTY(SG)
ADD_TO_PARTY(SG,THIEF,1,0,STEAL_GOLD,0)
CREATE_PARTY(SS)
ADD_TO_PARTY(SS,SORCEROR,1,0,STEAL_SPELLS,0)
CREATE_PARTY(SR)
ADD_TO_PARTY(SR,SAMURAI,1,0,SABOTAGE_ROOMS,0)

REM # Set tooltip for Custom Special Box.
REM # "Trick-or-Treat: Spawn a Ghost for yourself and a Skeleton for your opponent. May have unwanted side effects."
SET_BOX_TOOLTIP_ID(0,80)
REM # "Doomsday: Permanently activate a Trick-or-Treat effect at random intervals based on your Dungeon Heart's health."
SET_BOX_TOOLTIP_ID(100,81)
REM # "Desperate Maneuver: Heal and set buffs on all your minions, then teleport them to your Dungeon Heart in a final attempt at survival. Use with caution."
SET_BOX_TOOLTIP_ID(200,82)

REM # "Trick-or-Treat: Spawn a Ghost for yourself and a Skeleton for your opponent. May have unwanted side effects."
IF(PLAYER0,BOX0_ACTIVATED > 0)
	NEXT_COMMAND_REUSABLE
	ADD_CREATURE_TO_LEVEL(PLAYER0,IMP,LAST_EVENT,1,1,0)
	NEXT_COMMAND_REUSABLE
	ADD_TO_FLAG(PLAYER_GOOD,FLAG0,1)
	NEXT_COMMAND_REUSABLE
	RANDOMISE_FLAG(PLAYER0,BOX253_ACTIVATED,8)
	NEXT_COMMAND_REUSABLE
	RANDOMISE_FLAG(PLAYER0,BOX254_ACTIVATED,7)
	NEXT_COMMAND_REUSABLE
	SET_FLAG(PLAYER0,BOX0_ACTIVATED,0)
ENDIF
IF(PLAYER0,BOX253_ACTIVATED != 0)
	IF(PLAYER0,BOX253_ACTIVATED == 1)
		REM # "Trick-or-Treat increased the level of all minions!"
		NEXT_COMMAND_REUSABLE
		DISPLAY_MESSAGE(83,PLAYER_GOOD)
		NEXT_COMMAND_REUSABLE
		USE_SPECIAL_INCREASE_LEVEL(PLAYER0,1)
		NEXT_COMMAND_REUSABLE
		USE_SPECIAL_INCREASE_LEVEL(PLAYER_GOOD,1)
		NEXT_COMMAND_REUSABLE
		ADD_TO_FLAG(PLAYER1,CAMPAIGN_FLAG0,1)
		NEXT_COMMAND_REUSABLE
		SET_FLAG(PLAYER0,BOX253_ACTIVATED,0)
	ENDIF
	IF(PLAYER0,BOX253_ACTIVATED == 2)
		REM # "Trick-or-Treat decreased the level of all minions!"
		NEXT_COMMAND_REUSABLE
		DISPLAY_MESSAGE(84,PLAYER0)
		NEXT_COMMAND_REUSABLE
		USE_SPECIAL_INCREASE_LEVEL(PLAYER0,-1)
		NEXT_COMMAND_REUSABLE
		USE_SPECIAL_INCREASE_LEVEL(PLAYER_GOOD,-1)
		NEXT_COMMAND_REUSABLE
		ADD_TO_FLAG(PLAYER1,CAMPAIGN_FLAG0,1)
		NEXT_COMMAND_REUSABLE
		SET_FLAG(PLAYER0,BOX253_ACTIVATED,0)
	ENDIF
	IF(PLAYER0,BOX253_ACTIVATED == 3)
		REM # "Trick-or-Treat made all minions happy!"
		NEXT_COMMAND_REUSABLE
		DISPLAY_MESSAGE(85,PLAYER_GOOD)
		NEXT_COMMAND_REUSABLE
		CHANGE_CREATURES_ANNOYANCE(PLAYER0,IMP,SET,0)
		NEXT_COMMAND_REUSABLE
		CHANGE_CREATURES_ANNOYANCE(PLAYER0,ANY_CREATURE,SET,0)
		NEXT_COMMAND_REUSABLE
		CHANGE_CREATURES_ANNOYANCE(PLAYER_GOOD,ANY_CREATURE,SET,0)
		NEXT_COMMAND_REUSABLE
		SET_FLAG(PLAYER0,BOX253_ACTIVATED,0)
	ENDIF
	IF(PLAYER0,BOX253_ACTIVATED == 4)
		REM # "Trick-or-Treat made all minions angry!"
		NEXT_COMMAND_REUSABLE
		DISPLAY_MESSAGE(86,PLAYER0)
		NEXT_COMMAND_REUSABLE
		CHANGE_CREATURES_ANNOYANCE(PLAYER0,IMP,INCREASE,1250)
		NEXT_COMMAND_REUSABLE
		CHANGE_CREATURES_ANNOYANCE(PLAYER0,ANY_CREATURE,INCREASE,2500)
		NEXT_COMMAND_REUSABLE
		CHANGE_CREATURES_ANNOYANCE(PLAYER_GOOD,ANY_CREATURE,INCREASE,2500)
		NEXT_COMMAND_REUSABLE
		SET_FLAG(PLAYER0,BOX253_ACTIVATED,0)
	ENDIF
	IF(PLAYER0,BOX253_ACTIVATED == 5)
		REM # "Trick-or-Treat increased the current spawn tier by 1!"
		NEXT_COMMAND_REUSABLE
		DISPLAY_MESSAGE(87,PLAYER_GOOD)
		NEXT_COMMAND_REUSABLE
		ADD_TO_FLAG(PLAYER_GOOD,FLAG7,1)
		NEXT_COMMAND_REUSABLE
		SET_FLAG(PLAYER0,BOX253_ACTIVATED,0)
	ENDIF
	IF(PLAYER0,BOX253_ACTIVATED == 6)
		REM # "Trick-or-Treat decreased the current spawn tier by 1!"
		NEXT_COMMAND_REUSABLE
		DISPLAY_MESSAGE(88,PLAYER0)
		NEXT_COMMAND_REUSABLE
		ADD_TO_FLAG(PLAYER_GOOD,FLAG7,-1)
		NEXT_COMMAND_REUSABLE
		SET_FLAG(PLAYER0,BOX253_ACTIVATED,0)
	ENDIF
	IF(PLAYER0,BOX253_ACTIVATED == 7)
		REM # "Trick-or-Treat blessed all minions with buffs!"
		NEXT_COMMAND_REUSABLE
		DISPLAY_MESSAGE(89,PLAYER_GOOD)
		NEXT_COMMAND_REUSABLE
		USE_SPELL_ON_PLAYERS_CREATURES(PLAYER0,IMP,SPELL_HEAL,10)
		NEXT_COMMAND_REUSABLE
		USE_SPELL_ON_PLAYERS_CREATURES(PLAYER0,ANY_CREATURE,SPELL_HEAL,10)
		NEXT_COMMAND_REUSABLE
		USE_SPELL_ON_PLAYERS_CREATURES(PLAYER_GOOD,ANY_CREATURE,SPELL_HEAL,10)
		NEXT_COMMAND_REUSABLE
		USE_SPELL_ON_PLAYERS_CREATURES(PLAYER0,IMP,SPELL_ARMOUR,10)
		NEXT_COMMAND_REUSABLE
		USE_SPELL_ON_PLAYERS_CREATURES(PLAYER0,ANY_CREATURE,SPELL_ARMOUR,10)
		NEXT_COMMAND_REUSABLE
		USE_SPELL_ON_PLAYERS_CREATURES(PLAYER_GOOD,ANY_CREATURE,SPELL_ARMOUR,10)
		NEXT_COMMAND_REUSABLE
		USE_SPELL_ON_PLAYERS_CREATURES(PLAYER0,IMP,SPELL_REBOUND,10)
		NEXT_COMMAND_REUSABLE
		USE_SPELL_ON_PLAYERS_CREATURES(PLAYER0,ANY_CREATURE,SPELL_REBOUND,10)
		NEXT_COMMAND_REUSABLE
		USE_SPELL_ON_PLAYERS_CREATURES(PLAYER_GOOD,ANY_CREATURE,SPELL_REBOUND,10)
		NEXT_COMMAND_REUSABLE
		USE_SPELL_ON_PLAYERS_CREATURES(PLAYER0,IMP,SPELL_SPEED,10)
		NEXT_COMMAND_REUSABLE
		USE_SPELL_ON_PLAYERS_CREATURES(PLAYER0,ANY_CREATURE,SPELL_SPEED,10)
		NEXT_COMMAND_REUSABLE
		USE_SPELL_ON_PLAYERS_CREATURES(PLAYER_GOOD,ANY_CREATURE,SPELL_SPEED,10)
		NEXT_COMMAND_REUSABLE
		SET_FLAG(PLAYER0,BOX253_ACTIVATED,0)
	ENDIF
	IF(PLAYER0,BOX253_ACTIVATED == 8)
		REM # "Trick-or-Treat cursed all minions with debuffs!"
		NEXT_COMMAND_REUSABLE
		DISPLAY_MESSAGE(90,PLAYER0)
		NEXT_COMMAND_REUSABLE
		USE_SPELL_ON_PLAYERS_CREATURES(PLAYER0,IMP,SPELL_CHICKEN,2)
		NEXT_COMMAND_REUSABLE
		USE_SPELL_ON_PLAYERS_CREATURES(PLAYER0,ANY_CREATURE,SPELL_CHICKEN,2)
		NEXT_COMMAND_REUSABLE
		USE_SPELL_ON_PLAYERS_CREATURES(PLAYER_GOOD,ANY_CREATURE,SPELL_CHICKEN,2)
		NEXT_COMMAND_REUSABLE
		USE_SPELL_ON_PLAYERS_CREATURES(PLAYER0,IMP,SPELL_FREEZE,2)
		NEXT_COMMAND_REUSABLE
		USE_SPELL_ON_PLAYERS_CREATURES(PLAYER0,ANY_CREATURE,SPELL_FREEZE,2)
		NEXT_COMMAND_REUSABLE
		USE_SPELL_ON_PLAYERS_CREATURES(PLAYER_GOOD,ANY_CREATURE,SPELL_FREEZE,2)
		NEXT_COMMAND_REUSABLE
		USE_SPELL_ON_PLAYERS_CREATURES(PLAYER0,IMP,SPELL_SLOW,2)
		NEXT_COMMAND_REUSABLE
		USE_SPELL_ON_PLAYERS_CREATURES(PLAYER0,ANY_CREATURE,SPELL_SLOW,2)
		NEXT_COMMAND_REUSABLE
		USE_SPELL_ON_PLAYERS_CREATURES(PLAYER_GOOD,ANY_CREATURE,SPELL_SLOW,2)
		NEXT_COMMAND_REUSABLE
		SET_FLAG(PLAYER0,BOX253_ACTIVATED,0)
	ENDIF
ENDIF
IF(PLAYER0,BOX254_ACTIVATED != 0)
	IF(PLAYER0,BOX254_ACTIVATED == 1)
		NEXT_COMMAND_REUSABLE
		PLAY_MESSAGE(PLAYER0,SPEECH,91)
		NEXT_COMMAND_REUSABLE
		SET_FLAG(PLAYER0,BOX254_ACTIVATED,0)
	ENDIF
	IF(PLAYER0,BOX254_ACTIVATED == 2)
		NEXT_COMMAND_REUSABLE
		PLAY_MESSAGE(PLAYER0,SPEECH,92)
		NEXT_COMMAND_REUSABLE
		SET_FLAG(PLAYER0,BOX254_ACTIVATED,0)
	ENDIF
	IF(PLAYER0,BOX254_ACTIVATED == 3)
		NEXT_COMMAND_REUSABLE
		PLAY_MESSAGE(PLAYER0,SPEECH,93)
		NEXT_COMMAND_REUSABLE
		SET_FLAG(PLAYER0,BOX254_ACTIVATED,0)
	ENDIF
	IF(PLAYER0,BOX254_ACTIVATED == 4)
		NEXT_COMMAND_REUSABLE
		PLAY_MESSAGE(PLAYER0,SPEECH,94)
		NEXT_COMMAND_REUSABLE
		SET_FLAG(PLAYER0,BOX254_ACTIVATED,0)
	ENDIF
	IF(PLAYER0,BOX254_ACTIVATED == 5)
		NEXT_COMMAND_REUSABLE
		PLAY_MESSAGE(PLAYER0,SPEECH,95)
		NEXT_COMMAND_REUSABLE
		SET_FLAG(PLAYER0,BOX254_ACTIVATED,0)
	ENDIF
	IF(PLAYER0,BOX254_ACTIVATED == 6)
		NEXT_COMMAND_REUSABLE
		PLAY_MESSAGE(PLAYER0,SPEECH,96)
		NEXT_COMMAND_REUSABLE
		SET_FLAG(PLAYER0,BOX254_ACTIVATED,0)
	ENDIF
	IF(PLAYER0,BOX254_ACTIVATED == 7)
		NEXT_COMMAND_REUSABLE
		PLAY_MESSAGE(PLAYER0,SPEECH,97)
		NEXT_COMMAND_REUSABLE
		SET_FLAG(PLAYER0,BOX254_ACTIVATED,0)
	ENDIF
ENDIF

REM # "Doomsday: Permanently activate a Trick-or-Treat effect at random intervals based on your Dungeon Heart's health."
IF(PLAYER0,BOX100_ACTIVATED > 0)
	SET_TIMER(PLAYER_NEUTRAL,TIMER0)
	IF(PLAYER_NEUTRAL,TIMER0 > PLAYER_NEUTRAL,FLAG0)
		IF(PLAYER_NEUTRAL,TIMER0 >= 1200)
			NEXT_COMMAND_REUSABLE
			RANDOMISE_FLAG(PLAYER0,BOX253_ACTIVATED,8)
			NEXT_COMMAND_REUSABLE
			RANDOMISE_FLAG(PLAYER0,BOX254_ACTIVATED,7)
			NEXT_COMMAND_REUSABLE
			ADD_TO_FLAG(PLAYER_GOOD,FLAG7,1)
			NEXT_COMMAND_REUSABLE
			COMPUTE_FLAG(PLAYER_NEUTRAL,FLAG0,SET,PLAYER0,HEART_HEALTH)
			NEXT_COMMAND_REUSABLE
			RANDOMISE_FLAG(PLAYER_NEUTRAL,FLAG0)
			NEXT_COMMAND_REUSABLE
			SET_TIMER(PLAYER_NEUTRAL,TIMER0)
		ENDIF
	ENDIF
ENDIF

REM # "Desperate Maneuver: Heal and set buffs on all your minions, then teleport them to your Dungeon Heart in a final attempt at survival. Use with caution."
IF(PLAYER0,BOX200_ACTIVATED > 0)
	USE_SPELL_ON_PLAYERS_CREATURES(PLAYER0,IMP,SPELL_HEAL,10)
	USE_SPELL_ON_PLAYERS_CREATURES(PLAYER0,ANY_CREATURE,SPELL_HEAL,10)
	USE_SPELL_ON_PLAYERS_CREATURES(PLAYER0,IMP,SPELL_ARMOUR,10)
	USE_SPELL_ON_PLAYERS_CREATURES(PLAYER0,ANY_CREATURE,SPELL_ARMOUR,10)
	USE_SPELL_ON_PLAYERS_CREATURES(PLAYER0,IMP,SPELL_REBOUND,10)
	USE_SPELL_ON_PLAYERS_CREATURES(PLAYER0,ANY_CREATURE,SPELL_REBOUND,10)
	USE_SPELL_ON_PLAYERS_CREATURES(PLAYER0,IMP,SPELL_SPEED,10)
	USE_SPELL_ON_PLAYERS_CREATURES(PLAYER0,ANY_CREATURE,SPELL_SPEED,10)
	USE_SPELL_ON_PLAYERS_CREATURES(PLAYER_GOOD,ANY_CREATURE,SPELL_CHICKEN,10)
	USE_SPELL_ON_PLAYERS_CREATURES(PLAYER_GOOD,ANY_CREATURE,SPELL_FREEZE,10)
	USE_SPELL_ON_PLAYERS_CREATURES(PLAYER_GOOD,ANY_CREATURE,SPELL_SLOW,10)
	MOVE_CREATURE(PLAYER0,IMP,ANYWHERE,1000,7,60)
	MOVE_CREATURE(PLAYER0,ANY_CREATURE,ANYWHERE,1000,7,60)
	SET_FLAG(PLAYER0,BOX200_ACTIVATED,0)
ENDIF

REM # Initial Objective.
REM # "A gloomy deity has decided your Imps need a makeover, turning them into Ghosts with some nifty new powers. Who knew they had it in them? Meanwhile, an army of Skeletons has taken a break from their bone-tapping dance parties to zero in on you. To send these bony nuisances packing, you'll need to wrangle at least 100 of those ghostly misfits. Good luck collecting them before your own bones start rattling!"
DISPLAY_OBJECTIVE(91)
SET_FLAG(PLAYER0,FLAG0,18000)
SET_FLAG(PLAYER0,BOX20_ACTIVATED,20)
SET_FLAG(PLAYER1,FLAG0,100)
SET_FLAG(PLAYER1,FLAG2,600)
SET_FLAG(PLAYER1,FLAG5,1200)
SET_FLAG(PLAYER1,CAMPAIGN_FLAG0,0)
SET_FLAG(PLAYER1,CAMPAIGN_FLAG1,0)
SET_FLAG(PLAYER1,BOX20_ACTIVATED,40)
SET_FLAG(PLAYER2,FLAG0,9600)
SET_FLAG(PLAYER2,FLAG7,9600)
SET_FLAG(PLAYER5,FLAG7,18000)
SET_FLAG(PLAYER_GOOD,FLAG7,8)
SET_FLAG(PLAYER_GOOD,CAMPAIGN_FLAG0,0)
SET_FLAG(PLAYER_GOOD,CAMPAIGN_FLAG1,0)
SET_FLAG(PLAYER_GOOD,CAMPAIGN_FLAG7,1)
SET_FLAG(PLAYER_NEUTRAL,CAMPAIGN_FLAG0,0)

REM # To keep them organized in one location, start several timers whenever (PLAYER_GOOD,GAME_TURN) > 18000.
IF(PLAYER_GOOD,GAME_TURN > 18000)
	SET_TIMER(PLAYER_GOOD,TIMER0)
	SET_TIMER(PLAYER2,TIMER7)
	SET_TIMER(PLAYER3,TIMER3)
	SET_TIMER(PLAYER5,TIMER5)
	SET_TIMER(PLAYER0,TIMER1)
	SET_TIMER(PLAYER0,TIMER7)
ENDIF

REM # Update (PLAYER0,FLAG0) & (PLAYER2,FLAG2) & (PLAYER5,FLAG5).
IF(PLAYER_GOOD,GAME_TURN >= 18000)
	REM # Update (PLAYER0,FLAG1) to combine (PLAYER0,TOTAL_CREATURES) with (PLAYER0,TOTAL_DIGGERS).
	NEXT_COMMAND_REUSABLE
	COMPUTE_FLAG(PLAYER0,FLAG1,SET,PLAYER0,TOTAL_CREATURES,1)
	NEXT_COMMAND_REUSABLE
	COMPUTE_FLAG(PLAYER0,FLAG1,INCREASE,PLAYER0,TOTAL_DIGGERS,1)
	NEXT_COMMAND_REUSABLE
	COMPUTE_FLAG(PLAYER0,FLAG1,INCREASE,PLAYER1,TOTAL_CREATURES,1)
	NEXT_COMMAND_REUSABLE
	COMPUTE_FLAG(PLAYER0,FLAG1,INCREASE,PLAYER1,TOTAL_DIGGERS,1)
	REM # Update the required time for the next spawn to 20 * (PLAYER_GOOD,TOTAL_CREATURES)².
	NEXT_COMMAND_REUSABLE
	COMPUTE_FLAG(PLAYER0,FLAG0,SET,PLAYER0,BOX20_ACTIVATED)
	NEXT_COMMAND_REUSABLE
	COMPUTE_FLAG(PLAYER0,FLAG0,MULTIPLY,PLAYER_GOOD,TOTAL_CREATURES,1)
	NEXT_COMMAND_REUSABLE
	COMPUTE_FLAG(PLAYER0,FLAG0,MULTIPLY,PLAYER_GOOD,TOTAL_CREATURES,1)
	NEXT_COMMAND_REUSABLE
	COMPUTE_FLAG(PLAYER0,FLAG0,DECREASE,PLAYER_GOOD,FLAG7)
	NEXT_COMMAND_REUSABLE
	COMPUTE_FLAG(PLAYER0,FLAG0,INCREASE,PLAYER1,FLAG0)
	REM # Update the required time for Random Buffs System.
	NEXT_COMMAND_REUSABLE
	COMPUTE_FLAG(PLAYER2,FLAG2,SET,PLAYER0,BOX20_ACTIVATED)
	NEXT_COMMAND_REUSABLE
	COMPUTE_FLAG(PLAYER2,FLAG2,MULTIPLY,PLAYER0,VAMPIRE,1)
	NEXT_COMMAND_REUSABLE
	COMPUTE_FLAG(PLAYER2,FLAG2,DECREASE,PLAYER0,TIMES_LEVELUP_CREATURE)
	NEXT_COMMAND_REUSABLE
	COMPUTE_FLAG(PLAYER2,FLAG2,INCREASE,PLAYER0,FLAG1)
	NEXT_COMMAND_REUSABLE
	COMPUTE_FLAG(PLAYER2,FLAG2,DECREASE,PLAYER_GOOD,TOTAL_CREATURES,1)
	NEXT_COMMAND_REUSABLE
	COMPUTE_FLAG(PLAYER2,FLAG2,INCREASE,PLAYER3,FLAG7)
	NEXT_COMMAND_REUSABLE
	COMPUTE_FLAG(PLAYER2,FLAG2,DECREASE,PLAYER_GOOD,FLAG7)
	NEXT_COMMAND_REUSABLE
	COMPUTE_FLAG(PLAYER2,FLAG2,INCREASE,PLAYER1,FLAG2)
	REM # Update the required time for Modifier System.
	NEXT_COMMAND_REUSABLE
	COMPUTE_FLAG(PLAYER5,FLAG5,SET,PLAYER0,BOX20_ACTIVATED)
	NEXT_COMMAND_REUSABLE
	COMPUTE_FLAG(PLAYER5,FLAG5,MULTIPLY,PLAYER5,BOX5_ACTIVATED)
	NEXT_COMMAND_REUSABLE
	COMPUTE_FLAG(PLAYER5,FLAG5,DECREASE,PLAYER_GOOD,FLAG7)
	NEXT_COMMAND_REUSABLE
	COMPUTE_FLAG(PLAYER5,FLAG5,DECREASE,PLAYER0,TIMES_LEVELUP_CREATURE)
	NEXT_COMMAND_REUSABLE
	COMPUTE_FLAG(PLAYER5,FLAG5,DECREASE,PLAYER0,FLAG1)
	NEXT_COMMAND_REUSABLE
	COMPUTE_FLAG(PLAYER5,FLAG5,INCREASE,PLAYER1,FLAG5)
	REM # Update (PLAYER1,FLAG1) for Level-up System.
	NEXT_COMMAND_REUSABLE
	COMPUTE_FLAG(PLAYER1,FLAG1,SET,PLAYER_GOOD,FLAG7)
	NEXT_COMMAND_REUSABLE
	COMPUTE_FLAG(PLAYER1,FLAG1,INCREASE,PLAYER_GOOD,BATTLES_LOST)
	NEXT_COMMAND_REUSABLE
	COMPUTE_FLAG(PLAYER1,FLAG1,DECREASE,PLAYER_GOOD,BATTLES_WON)
	NEXT_COMMAND_REUSABLE
	COMPUTE_FLAG(PLAYER1,FLAG1,INCREASE,PLAYER_GOOD,TOTAL_CREATURES,1)
	NEXT_COMMAND_REUSABLE
	COMPUTE_FLAG(PLAYER1,FLAG1,DECREASE,PLAYER0,TIMES_LEVELUP_CREATURE)
	NEXT_COMMAND_REUSABLE
	COMPUTE_FLAG(PLAYER1,FLAG1,DECREASE,PLAYER0,FLAG1)
	NEXT_COMMAND_REUSABLE
	COMPUTE_FLAG(PLAYER1,FLAG1,DECREASE,PLAYER1,BOX20_ACTIVATED)
	REM # Update (PLAYER_NEUTRAL,CAMPAIGN_FLAG0) to combine (PLAYER0,FLAG1) with (PLAYER_GOOD,TOTAL_CREATURES).
	NEXT_COMMAND_REUSABLE
	COMPUTE_FLAG(PLAYER_NEUTRAL,CAMPAIGN_FLAG0,SET,PLAYER0,FLAG1)
	NEXT_COMMAND_REUSABLE
	COMPUTE_FLAG(PLAYER_NEUTRAL,CAMPAIGN_FLAG0,INCREASE,PLAYER_GOOD,TOTAL_CREATURES)
	REM # "The Skeletons are gearing up for their grand invasion, and trust me, they've been counting on this for a while. Your task? Just survive the bone-rattling chaos. Try not to trip over any stray limbs while you're at it because those guys don't take rejection well!"
	DISPLAY_INFORMATION(92)
ENDIF

REM # Compute differents flags and reset timer.
IF_CONTROLS(PLAYER_GOOD,TOTAL_CREATURES < 1000)
	IF(PLAYER_GOOD,FLAG0 < PLAYER_GOOD,FLAG7)
		IF(PLAYER_GOOD,TIMER0 > PLAYER0,FLAG0)
			SET_TIMER(PLAYER_GOOD,TIMER7)
			NEXT_COMMAND_REUSABLE
			COMPUTE_FLAG(PLAYER0,FLAG0,SET,PLAYER_GOOD,GAME_TURN)
			NEXT_COMMAND_REUSABLE
			COMPUTE_FLAG(PLAYER_GOOD,FLAG0,INCREASE,PLAYER_GOOD,FLAG7)
			NEXT_COMMAND_REUSABLE
			COMPUTE_FLAG(PLAYER_GOOD,FLAG1,INCREASE,PLAYER1,FLAG1)
			NEXT_COMMAND_REUSABLE
			COMPUTE_FLAG(PLAYER_GOOD,CAMPAIGN_FLAG0,INCREASE,PLAYER1,CAMPAIGN_FLAG0)
			NEXT_COMMAND_REUSABLE
			COMPUTE_FLAG(PLAYER_GOOD,CAMPAIGN_FLAG1,INCREASE,PLAYER1,CAMPAIGN_FLAG1)
			NEXT_COMMAND_REUSABLE
			COMPUTE_FLAG(PLAYER_GOOD,FLAG7,INCREASE,PLAYER_GOOD,CAMPAIGN_FLAG7)
			NEXT_COMMAND_REUSABLE
			SET_TIMER(PLAYER_GOOD,TIMER0)
		ENDIF
	ENDIF
ENDIF

REM # Spawn minions for PLAYER_GOOD whenever (PLAYER_GOOD,FLAG0) > 0.
IF(PLAYER_GOOD,BOX255_ACTIVATED == 0)
	IF(PLAYER_GOOD,BOX201_ACTIVATED != 0)
		IF(PLAYER_GOOD,BOX201_ACTIVATED == 1)
			IF(PLAYER_GOOD,BOX202_ACTIVATED != 0)
				IF(PLAYER_GOOD,BOX202_ACTIVATED == 1)
					NEXT_COMMAND_REUSABLE
					ADD_PARTY_TO_LEVEL(PLAYER_GOOD,ADH,-1,1)
					NEXT_COMMAND_REUSABLE
					SET_FLAG(PLAYER_GOOD,BOX201_ACTIVATED,0)
					NEXT_COMMAND_REUSABLE
					SET_FLAG(PLAYER_GOOD,BOX202_ACTIVATED,0)
					NEXT_COMMAND_REUSABLE
					ADD_TO_FLAG(PLAYER_GOOD,FLAG0,-1)
				ENDIF
				IF(PLAYER_GOOD,BOX202_ACTIVATED == 2)
					NEXT_COMMAND_REUSABLE
					ADD_PARTY_TO_LEVEL(PLAYER_GOOD,AE,-1,1)
					NEXT_COMMAND_REUSABLE
					SET_FLAG(PLAYER_GOOD,BOX201_ACTIVATED,0)
					NEXT_COMMAND_REUSABLE
					SET_FLAG(PLAYER_GOOD,BOX202_ACTIVATED,0)
					NEXT_COMMAND_REUSABLE
					ADD_TO_FLAG(PLAYER_GOOD,FLAG0,-1)
				ENDIF
				IF(PLAYER_GOOD,BOX202_ACTIVATED == 3)
					NEXT_COMMAND_REUSABLE
					ADD_PARTY_TO_LEVEL(PLAYER_GOOD,SDH,-1,1)
					NEXT_COMMAND_REUSABLE
					SET_FLAG(PLAYER_GOOD,BOX201_ACTIVATED,0)
					NEXT_COMMAND_REUSABLE
					SET_FLAG(PLAYER_GOOD,BOX202_ACTIVATED,0)
					NEXT_COMMAND_REUSABLE
					ADD_TO_FLAG(PLAYER_GOOD,FLAG0,-1)
				ENDIF
				IF(PLAYER_GOOD,BOX202_ACTIVATED == 4)
					NEXT_COMMAND_REUSABLE
					ADD_PARTY_TO_LEVEL(PLAYER_GOOD,SG,-1,1)
					NEXT_COMMAND_REUSABLE
					SET_FLAG(PLAYER_GOOD,BOX201_ACTIVATED,0)
					NEXT_COMMAND_REUSABLE
					SET_FLAG(PLAYER_GOOD,BOX202_ACTIVATED,0)
					NEXT_COMMAND_REUSABLE
					ADD_TO_FLAG(PLAYER_GOOD,FLAG0,-1)
				ENDIF
				IF(PLAYER_GOOD,BOX202_ACTIVATED == 5)
					NEXT_COMMAND_REUSABLE
					ADD_PARTY_TO_LEVEL(PLAYER_GOOD,SS,-1,1)
					NEXT_COMMAND_REUSABLE
					SET_FLAG(PLAYER_GOOD,BOX201_ACTIVATED,0)
					NEXT_COMMAND_REUSABLE
					SET_FLAG(PLAYER_GOOD,BOX202_ACTIVATED,0)
					NEXT_COMMAND_REUSABLE
					ADD_TO_FLAG(PLAYER_GOOD,FLAG0,-1)
				ENDIF
				IF(PLAYER_GOOD,BOX202_ACTIVATED == 6)
					NEXT_COMMAND_REUSABLE
					ADD_PARTY_TO_LEVEL(PLAYER_GOOD,SR,-1,1)
					NEXT_COMMAND_REUSABLE
					SET_FLAG(PLAYER_GOOD,BOX201_ACTIVATED,0)
					NEXT_COMMAND_REUSABLE
					SET_FLAG(PLAYER_GOOD,BOX202_ACTIVATED,0)
					NEXT_COMMAND_REUSABLE
					ADD_TO_FLAG(PLAYER_GOOD,FLAG0,-1)
				ENDIF
			ENDIF
		ENDIF
		IF(PLAYER_GOOD,BOX201_ACTIVATED == 2)
			IF(PLAYER_GOOD,BOX202_ACTIVATED != 0)
				IF(PLAYER_GOOD,BOX202_ACTIVATED == 1)
					NEXT_COMMAND_REUSABLE
					ADD_PARTY_TO_LEVEL(PLAYER_GOOD,ADH,-2,1)
					NEXT_COMMAND_REUSABLE
					SET_FLAG(PLAYER_GOOD,BOX201_ACTIVATED,0)
					NEXT_COMMAND_REUSABLE
					SET_FLAG(PLAYER_GOOD,BOX202_ACTIVATED,0)
					NEXT_COMMAND_REUSABLE
					ADD_TO_FLAG(PLAYER_GOOD,FLAG0,-1)
				ENDIF
				IF(PLAYER_GOOD,BOX202_ACTIVATED == 2)
					NEXT_COMMAND_REUSABLE
					ADD_PARTY_TO_LEVEL(PLAYER_GOOD,AE,-2,1)
					NEXT_COMMAND_REUSABLE
					SET_FLAG(PLAYER_GOOD,BOX201_ACTIVATED,0)
					NEXT_COMMAND_REUSABLE
					SET_FLAG(PLAYER_GOOD,BOX202_ACTIVATED,0)
					NEXT_COMMAND_REUSABLE
					ADD_TO_FLAG(PLAYER_GOOD,FLAG0,-1)
				ENDIF
				IF(PLAYER_GOOD,BOX202_ACTIVATED == 3)
					NEXT_COMMAND_REUSABLE
					ADD_PARTY_TO_LEVEL(PLAYER_GOOD,SDH,-2,1)
					NEXT_COMMAND_REUSABLE
					SET_FLAG(PLAYER_GOOD,BOX201_ACTIVATED,0)
					NEXT_COMMAND_REUSABLE
					SET_FLAG(PLAYER_GOOD,BOX202_ACTIVATED,0)
					NEXT_COMMAND_REUSABLE
					ADD_TO_FLAG(PLAYER_GOOD,FLAG0,-1)
				ENDIF
				IF(PLAYER_GOOD,BOX202_ACTIVATED == 4)
					NEXT_COMMAND_REUSABLE
					ADD_PARTY_TO_LEVEL(PLAYER_GOOD,SG,-2,1)
					NEXT_COMMAND_REUSABLE
					SET_FLAG(PLAYER_GOOD,BOX201_ACTIVATED,0)
					NEXT_COMMAND_REUSABLE
					SET_FLAG(PLAYER_GOOD,BOX202_ACTIVATED,0)
					NEXT_COMMAND_REUSABLE
					ADD_TO_FLAG(PLAYER_GOOD,FLAG0,-1)
				ENDIF
				IF(PLAYER_GOOD,BOX202_ACTIVATED == 5)
					NEXT_COMMAND_REUSABLE
					ADD_PARTY_TO_LEVEL(PLAYER_GOOD,SS,-2,1)
					NEXT_COMMAND_REUSABLE
					SET_FLAG(PLAYER_GOOD,BOX201_ACTIVATED,0)
					NEXT_COMMAND_REUSABLE
					SET_FLAG(PLAYER_GOOD,BOX202_ACTIVATED,0)
					NEXT_COMMAND_REUSABLE
					ADD_TO_FLAG(PLAYER_GOOD,FLAG0,-1)
				ENDIF
				IF(PLAYER_GOOD,BOX202_ACTIVATED == 6)
					NEXT_COMMAND_REUSABLE
					ADD_PARTY_TO_LEVEL(PLAYER_GOOD,SR,-2,1)
					NEXT_COMMAND_REUSABLE
					SET_FLAG(PLAYER_GOOD,BOX201_ACTIVATED,0)
					NEXT_COMMAND_REUSABLE
					SET_FLAG(PLAYER_GOOD,BOX202_ACTIVATED,0)
					NEXT_COMMAND_REUSABLE
					ADD_TO_FLAG(PLAYER_GOOD,FLAG0,-1)
				ENDIF
			ENDIF
		ENDIF
		IF(PLAYER_GOOD,BOX201_ACTIVATED == 3)
			IF(PLAYER_GOOD,BOX202_ACTIVATED != 0)
				IF(PLAYER_GOOD,BOX202_ACTIVATED == 1)
					NEXT_COMMAND_REUSABLE
					ADD_PARTY_TO_LEVEL(PLAYER_GOOD,ADH,-3,1)
					NEXT_COMMAND_REUSABLE
					SET_FLAG(PLAYER_GOOD,BOX201_ACTIVATED,0)
					NEXT_COMMAND_REUSABLE
					SET_FLAG(PLAYER_GOOD,BOX202_ACTIVATED,0)
					NEXT_COMMAND_REUSABLE
					ADD_TO_FLAG(PLAYER_GOOD,FLAG0,-1)
				ENDIF
				IF(PLAYER_GOOD,BOX202_ACTIVATED == 2)
					NEXT_COMMAND_REUSABLE
					ADD_PARTY_TO_LEVEL(PLAYER_GOOD,AE,-3,1)
					NEXT_COMMAND_REUSABLE
					SET_FLAG(PLAYER_GOOD,BOX201_ACTIVATED,0)
					NEXT_COMMAND_REUSABLE
					SET_FLAG(PLAYER_GOOD,BOX202_ACTIVATED,0)
					NEXT_COMMAND_REUSABLE
					ADD_TO_FLAG(PLAYER_GOOD,FLAG0,-1)
				ENDIF
				IF(PLAYER_GOOD,BOX202_ACTIVATED == 3)
					NEXT_COMMAND_REUSABLE
					ADD_PARTY_TO_LEVEL(PLAYER_GOOD,SDH,-3,1)
					NEXT_COMMAND_REUSABLE
					SET_FLAG(PLAYER_GOOD,BOX201_ACTIVATED,0)
					NEXT_COMMAND_REUSABLE
					SET_FLAG(PLAYER_GOOD,BOX202_ACTIVATED,0)
					NEXT_COMMAND_REUSABLE
					ADD_TO_FLAG(PLAYER_GOOD,FLAG0,-1)
				ENDIF
				IF(PLAYER_GOOD,BOX202_ACTIVATED == 4)
					NEXT_COMMAND_REUSABLE
					ADD_PARTY_TO_LEVEL(PLAYER_GOOD,SG,-3,1)
					NEXT_COMMAND_REUSABLE
					SET_FLAG(PLAYER_GOOD,BOX201_ACTIVATED,0)
					NEXT_COMMAND_REUSABLE
					SET_FLAG(PLAYER_GOOD,BOX202_ACTIVATED,0)
					NEXT_COMMAND_REUSABLE
					ADD_TO_FLAG(PLAYER_GOOD,FLAG0,-1)
				ENDIF
				IF(PLAYER_GOOD,BOX202_ACTIVATED == 5)
					NEXT_COMMAND_REUSABLE
					ADD_PARTY_TO_LEVEL(PLAYER_GOOD,SS,-3,1)
					NEXT_COMMAND_REUSABLE
					SET_FLAG(PLAYER_GOOD,BOX201_ACTIVATED,0)
					NEXT_COMMAND_REUSABLE
					SET_FLAG(PLAYER_GOOD,BOX202_ACTIVATED,0)
					NEXT_COMMAND_REUSABLE
					ADD_TO_FLAG(PLAYER_GOOD,FLAG0,-1)
				ENDIF
				IF(PLAYER_GOOD,BOX202_ACTIVATED == 6)
					NEXT_COMMAND_REUSABLE
					ADD_PARTY_TO_LEVEL(PLAYER_GOOD,SR,-3,1)
					NEXT_COMMAND_REUSABLE
					SET_FLAG(PLAYER_GOOD,BOX201_ACTIVATED,0)
					NEXT_COMMAND_REUSABLE
					SET_FLAG(PLAYER_GOOD,BOX202_ACTIVATED,0)
					NEXT_COMMAND_REUSABLE
					ADD_TO_FLAG(PLAYER_GOOD,FLAG0,-1)
				ENDIF
			ENDIF
		ENDIF
		IF(PLAYER_GOOD,BOX201_ACTIVATED == 4)
			IF(PLAYER_GOOD,BOX202_ACTIVATED != 0)
				IF(PLAYER_GOOD,BOX202_ACTIVATED == 1)
					NEXT_COMMAND_REUSABLE
					ADD_PARTY_TO_LEVEL(PLAYER_GOOD,ADH,-4,1)
					NEXT_COMMAND_REUSABLE
					SET_FLAG(PLAYER_GOOD,BOX201_ACTIVATED,0)
					NEXT_COMMAND_REUSABLE
					SET_FLAG(PLAYER_GOOD,BOX202_ACTIVATED,0)
					NEXT_COMMAND_REUSABLE
					ADD_TO_FLAG(PLAYER_GOOD,FLAG0,-1)
				ENDIF
				IF(PLAYER_GOOD,BOX202_ACTIVATED == 2)
					NEXT_COMMAND_REUSABLE
					ADD_PARTY_TO_LEVEL(PLAYER_GOOD,AE,-4,1)
					NEXT_COMMAND_REUSABLE
					SET_FLAG(PLAYER_GOOD,BOX201_ACTIVATED,0)
					NEXT_COMMAND_REUSABLE
					SET_FLAG(PLAYER_GOOD,BOX202_ACTIVATED,0)
					NEXT_COMMAND_REUSABLE
					ADD_TO_FLAG(PLAYER_GOOD,FLAG0,-1)
				ENDIF
				IF(PLAYER_GOOD,BOX202_ACTIVATED == 3)
					NEXT_COMMAND_REUSABLE
					ADD_PARTY_TO_LEVEL(PLAYER_GOOD,SDH,-4,1)
					NEXT_COMMAND_REUSABLE
					SET_FLAG(PLAYER_GOOD,BOX201_ACTIVATED,0)
					NEXT_COMMAND_REUSABLE
					SET_FLAG(PLAYER_GOOD,BOX202_ACTIVATED,0)
					NEXT_COMMAND_REUSABLE
					ADD_TO_FLAG(PLAYER_GOOD,FLAG0,-1)
				ENDIF
				IF(PLAYER_GOOD,BOX202_ACTIVATED == 4)
					NEXT_COMMAND_REUSABLE
					ADD_PARTY_TO_LEVEL(PLAYER_GOOD,SG,-4,1)
					NEXT_COMMAND_REUSABLE
					SET_FLAG(PLAYER_GOOD,BOX201_ACTIVATED,0)
					NEXT_COMMAND_REUSABLE
					SET_FLAG(PLAYER_GOOD,BOX202_ACTIVATED,0)
					NEXT_COMMAND_REUSABLE
					ADD_TO_FLAG(PLAYER_GOOD,FLAG0,-1)
				ENDIF
				IF(PLAYER_GOOD,BOX202_ACTIVATED == 5)
					NEXT_COMMAND_REUSABLE
					ADD_PARTY_TO_LEVEL(PLAYER_GOOD,SS,-4,1)
					NEXT_COMMAND_REUSABLE
					SET_FLAG(PLAYER_GOOD,BOX201_ACTIVATED,0)
					NEXT_COMMAND_REUSABLE
					SET_FLAG(PLAYER_GOOD,BOX202_ACTIVATED,0)
					NEXT_COMMAND_REUSABLE
					ADD_TO_FLAG(PLAYER_GOOD,FLAG0,-1)
				ENDIF
				IF(PLAYER_GOOD,BOX202_ACTIVATED == 6)
					NEXT_COMMAND_REUSABLE
					ADD_PARTY_TO_LEVEL(PLAYER_GOOD,SR,-4,1)
					NEXT_COMMAND_REUSABLE
					SET_FLAG(PLAYER_GOOD,BOX201_ACTIVATED,0)
					NEXT_COMMAND_REUSABLE
					SET_FLAG(PLAYER_GOOD,BOX202_ACTIVATED,0)
					NEXT_COMMAND_REUSABLE
					ADD_TO_FLAG(PLAYER_GOOD,FLAG0,-1)
				ENDIF
			ENDIF
		ENDIF
		IF(PLAYER_GOOD,BOX201_ACTIVATED == 5)
			IF(PLAYER_GOOD,BOX202_ACTIVATED != 0)
				IF(PLAYER_GOOD,BOX202_ACTIVATED == 1)
					NEXT_COMMAND_REUSABLE
					ADD_PARTY_TO_LEVEL(PLAYER_GOOD,ADH,-5,1)
					NEXT_COMMAND_REUSABLE
					SET_FLAG(PLAYER_GOOD,BOX201_ACTIVATED,0)
					NEXT_COMMAND_REUSABLE
					SET_FLAG(PLAYER_GOOD,BOX202_ACTIVATED,0)
					NEXT_COMMAND_REUSABLE
					ADD_TO_FLAG(PLAYER_GOOD,FLAG0,-1)
				ENDIF
				IF(PLAYER_GOOD,BOX202_ACTIVATED == 2)
					NEXT_COMMAND_REUSABLE
					ADD_PARTY_TO_LEVEL(PLAYER_GOOD,AE,-5,1)
					NEXT_COMMAND_REUSABLE
					SET_FLAG(PLAYER_GOOD,BOX201_ACTIVATED,0)
					NEXT_COMMAND_REUSABLE
					SET_FLAG(PLAYER_GOOD,BOX202_ACTIVATED,0)
					NEXT_COMMAND_REUSABLE
					ADD_TO_FLAG(PLAYER_GOOD,FLAG0,-1)
				ENDIF
				IF(PLAYER_GOOD,BOX202_ACTIVATED == 3)
					NEXT_COMMAND_REUSABLE
					ADD_PARTY_TO_LEVEL(PLAYER_GOOD,SDH,-5,1)
					NEXT_COMMAND_REUSABLE
					SET_FLAG(PLAYER_GOOD,BOX201_ACTIVATED,0)
					NEXT_COMMAND_REUSABLE
					SET_FLAG(PLAYER_GOOD,BOX202_ACTIVATED,0)
					NEXT_COMMAND_REUSABLE
					ADD_TO_FLAG(PLAYER_GOOD,FLAG0,-1)
				ENDIF
				IF(PLAYER_GOOD,BOX202_ACTIVATED == 4)
					NEXT_COMMAND_REUSABLE
					ADD_PARTY_TO_LEVEL(PLAYER_GOOD,SG,-5,1)
					NEXT_COMMAND_REUSABLE
					SET_FLAG(PLAYER_GOOD,BOX201_ACTIVATED,0)
					NEXT_COMMAND_REUSABLE
					SET_FLAG(PLAYER_GOOD,BOX202_ACTIVATED,0)
					NEXT_COMMAND_REUSABLE
					ADD_TO_FLAG(PLAYER_GOOD,FLAG0,-1)
				ENDIF
				IF(PLAYER_GOOD,BOX202_ACTIVATED == 5)
					NEXT_COMMAND_REUSABLE
					ADD_PARTY_TO_LEVEL(PLAYER_GOOD,SS,-5,1)
					NEXT_COMMAND_REUSABLE
					SET_FLAG(PLAYER_GOOD,BOX201_ACTIVATED,0)
					NEXT_COMMAND_REUSABLE
					SET_FLAG(PLAYER_GOOD,BOX202_ACTIVATED,0)
					NEXT_COMMAND_REUSABLE
					ADD_TO_FLAG(PLAYER_GOOD,FLAG0,-1)
				ENDIF
				IF(PLAYER_GOOD,BOX202_ACTIVATED == 6)
					NEXT_COMMAND_REUSABLE
					ADD_PARTY_TO_LEVEL(PLAYER_GOOD,SR,-5,1)
					NEXT_COMMAND_REUSABLE
					SET_FLAG(PLAYER_GOOD,BOX201_ACTIVATED,0)
					NEXT_COMMAND_REUSABLE
					SET_FLAG(PLAYER_GOOD,BOX202_ACTIVATED,0)
					NEXT_COMMAND_REUSABLE
					ADD_TO_FLAG(PLAYER_GOOD,FLAG0,-1)
				ENDIF
			ENDIF
		ENDIF
		IF(PLAYER_GOOD,BOX201_ACTIVATED == 6)
			IF(PLAYER_GOOD,BOX202_ACTIVATED != 0)
				IF(PLAYER_GOOD,BOX202_ACTIVATED == 1)
					NEXT_COMMAND_REUSABLE
					ADD_PARTY_TO_LEVEL(PLAYER_GOOD,ADH,-6,1)
					NEXT_COMMAND_REUSABLE
					SET_FLAG(PLAYER_GOOD,BOX201_ACTIVATED,0)
					NEXT_COMMAND_REUSABLE
					SET_FLAG(PLAYER_GOOD,BOX202_ACTIVATED,0)
					NEXT_COMMAND_REUSABLE
					ADD_TO_FLAG(PLAYER_GOOD,FLAG0,-1)
				ENDIF
				IF(PLAYER_GOOD,BOX202_ACTIVATED == 2)
					NEXT_COMMAND_REUSABLE
					ADD_PARTY_TO_LEVEL(PLAYER_GOOD,AE,-6,1)
					NEXT_COMMAND_REUSABLE
					SET_FLAG(PLAYER_GOOD,BOX201_ACTIVATED,0)
					NEXT_COMMAND_REUSABLE
					SET_FLAG(PLAYER_GOOD,BOX202_ACTIVATED,0)
					NEXT_COMMAND_REUSABLE
					ADD_TO_FLAG(PLAYER_GOOD,FLAG0,-1)
				ENDIF
				IF(PLAYER_GOOD,BOX202_ACTIVATED == 3)
					NEXT_COMMAND_REUSABLE
					ADD_PARTY_TO_LEVEL(PLAYER_GOOD,SDH,-6,1)
					NEXT_COMMAND_REUSABLE
					SET_FLAG(PLAYER_GOOD,BOX201_ACTIVATED,0)
					NEXT_COMMAND_REUSABLE
					SET_FLAG(PLAYER_GOOD,BOX202_ACTIVATED,0)
					NEXT_COMMAND_REUSABLE
					ADD_TO_FLAG(PLAYER_GOOD,FLAG0,-1)
				ENDIF
				IF(PLAYER_GOOD,BOX202_ACTIVATED == 4)
					NEXT_COMMAND_REUSABLE
					ADD_PARTY_TO_LEVEL(PLAYER_GOOD,SG,-6,1)
					NEXT_COMMAND_REUSABLE
					SET_FLAG(PLAYER_GOOD,BOX201_ACTIVATED,0)
					NEXT_COMMAND_REUSABLE
					SET_FLAG(PLAYER_GOOD,BOX202_ACTIVATED,0)
					NEXT_COMMAND_REUSABLE
					ADD_TO_FLAG(PLAYER_GOOD,FLAG0,-1)
				ENDIF
				IF(PLAYER_GOOD,BOX202_ACTIVATED == 5)
					NEXT_COMMAND_REUSABLE
					ADD_PARTY_TO_LEVEL(PLAYER_GOOD,SS,-6,1)
					NEXT_COMMAND_REUSABLE
					SET_FLAG(PLAYER_GOOD,BOX201_ACTIVATED,0)
					NEXT_COMMAND_REUSABLE
					SET_FLAG(PLAYER_GOOD,BOX202_ACTIVATED,0)
					NEXT_COMMAND_REUSABLE
					ADD_TO_FLAG(PLAYER_GOOD,FLAG0,-1)
				ENDIF
				IF(PLAYER_GOOD,BOX202_ACTIVATED == 6)
					NEXT_COMMAND_REUSABLE
					ADD_PARTY_TO_LEVEL(PLAYER_GOOD,SR,-6,1)
					NEXT_COMMAND_REUSABLE
					SET_FLAG(PLAYER_GOOD,BOX201_ACTIVATED,0)
					NEXT_COMMAND_REUSABLE
					SET_FLAG(PLAYER_GOOD,BOX202_ACTIVATED,0)
					NEXT_COMMAND_REUSABLE
					ADD_TO_FLAG(PLAYER_GOOD,FLAG0,-1)
				ENDIF
			ENDIF
		ENDIF
		IF(PLAYER_GOOD,BOX201_ACTIVATED == 7)
			IF(PLAYER_GOOD,BOX202_ACTIVATED != 0)
				IF(PLAYER_GOOD,BOX202_ACTIVATED == 1)
					NEXT_COMMAND_REUSABLE
					ADD_PARTY_TO_LEVEL(PLAYER_GOOD,ADH,-7,1)
					NEXT_COMMAND_REUSABLE
					SET_FLAG(PLAYER_GOOD,BOX201_ACTIVATED,0)
					NEXT_COMMAND_REUSABLE
					SET_FLAG(PLAYER_GOOD,BOX202_ACTIVATED,0)
					NEXT_COMMAND_REUSABLE
					ADD_TO_FLAG(PLAYER_GOOD,FLAG0,-1)
				ENDIF
				IF(PLAYER_GOOD,BOX202_ACTIVATED == 2)
					NEXT_COMMAND_REUSABLE
					ADD_PARTY_TO_LEVEL(PLAYER_GOOD,AE,-7,1)
					NEXT_COMMAND_REUSABLE
					SET_FLAG(PLAYER_GOOD,BOX201_ACTIVATED,0)
					NEXT_COMMAND_REUSABLE
					SET_FLAG(PLAYER_GOOD,BOX202_ACTIVATED,0)
					NEXT_COMMAND_REUSABLE
					ADD_TO_FLAG(PLAYER_GOOD,FLAG0,-1)
				ENDIF
				IF(PLAYER_GOOD,BOX202_ACTIVATED == 3)
					NEXT_COMMAND_REUSABLE
					ADD_PARTY_TO_LEVEL(PLAYER_GOOD,SDH,-7,1)
					NEXT_COMMAND_REUSABLE
					SET_FLAG(PLAYER_GOOD,BOX201_ACTIVATED,0)
					NEXT_COMMAND_REUSABLE
					SET_FLAG(PLAYER_GOOD,BOX202_ACTIVATED,0)
					NEXT_COMMAND_REUSABLE
					ADD_TO_FLAG(PLAYER_GOOD,FLAG0,-1)
				ENDIF
				IF(PLAYER_GOOD,BOX202_ACTIVATED == 4)
					NEXT_COMMAND_REUSABLE
					ADD_PARTY_TO_LEVEL(PLAYER_GOOD,SG,-7,1)
					NEXT_COMMAND_REUSABLE
					SET_FLAG(PLAYER_GOOD,BOX201_ACTIVATED,0)
					NEXT_COMMAND_REUSABLE
					SET_FLAG(PLAYER_GOOD,BOX202_ACTIVATED,0)
					NEXT_COMMAND_REUSABLE
					ADD_TO_FLAG(PLAYER_GOOD,FLAG0,-1)
				ENDIF
				IF(PLAYER_GOOD,BOX202_ACTIVATED == 5)
					NEXT_COMMAND_REUSABLE
					ADD_PARTY_TO_LEVEL(PLAYER_GOOD,SS,-7,1)
					NEXT_COMMAND_REUSABLE
					SET_FLAG(PLAYER_GOOD,BOX201_ACTIVATED,0)
					NEXT_COMMAND_REUSABLE
					SET_FLAG(PLAYER_GOOD,BOX202_ACTIVATED,0)
					NEXT_COMMAND_REUSABLE
					ADD_TO_FLAG(PLAYER_GOOD,FLAG0,-1)
				ENDIF
				IF(PLAYER_GOOD,BOX202_ACTIVATED == 6)
					NEXT_COMMAND_REUSABLE
					ADD_PARTY_TO_LEVEL(PLAYER_GOOD,SR,-7,1)
					NEXT_COMMAND_REUSABLE
					SET_FLAG(PLAYER_GOOD,BOX201_ACTIVATED,0)
					NEXT_COMMAND_REUSABLE
					SET_FLAG(PLAYER_GOOD,BOX202_ACTIVATED,0)
					NEXT_COMMAND_REUSABLE
					ADD_TO_FLAG(PLAYER_GOOD,FLAG0,-1)
				ENDIF
			ENDIF
		ENDIF
		IF(PLAYER_GOOD,BOX201_ACTIVATED == 8)
			IF(PLAYER_GOOD,BOX202_ACTIVATED != 0)
				IF(PLAYER_GOOD,BOX202_ACTIVATED == 1)
					NEXT_COMMAND_REUSABLE
					ADD_PARTY_TO_LEVEL(PLAYER_GOOD,ADH,-8,1)
					NEXT_COMMAND_REUSABLE
					SET_FLAG(PLAYER_GOOD,BOX201_ACTIVATED,0)
					NEXT_COMMAND_REUSABLE
					SET_FLAG(PLAYER_GOOD,BOX202_ACTIVATED,0)
					NEXT_COMMAND_REUSABLE
					ADD_TO_FLAG(PLAYER_GOOD,FLAG0,-1)
				ENDIF
				IF(PLAYER_GOOD,BOX202_ACTIVATED == 2)
					NEXT_COMMAND_REUSABLE
					ADD_PARTY_TO_LEVEL(PLAYER_GOOD,AE,-8,1)
					NEXT_COMMAND_REUSABLE
					SET_FLAG(PLAYER_GOOD,BOX201_ACTIVATED,0)
					NEXT_COMMAND_REUSABLE
					SET_FLAG(PLAYER_GOOD,BOX202_ACTIVATED,0)
					NEXT_COMMAND_REUSABLE
					ADD_TO_FLAG(PLAYER_GOOD,FLAG0,-1)
				ENDIF
				IF(PLAYER_GOOD,BOX202_ACTIVATED == 3)
					NEXT_COMMAND_REUSABLE
					ADD_PARTY_TO_LEVEL(PLAYER_GOOD,SDH,-8,1)
					NEXT_COMMAND_REUSABLE
					SET_FLAG(PLAYER_GOOD,BOX201_ACTIVATED,0)
					NEXT_COMMAND_REUSABLE
					SET_FLAG(PLAYER_GOOD,BOX202_ACTIVATED,0)
					NEXT_COMMAND_REUSABLE
					ADD_TO_FLAG(PLAYER_GOOD,FLAG0,-1)
				ENDIF
				IF(PLAYER_GOOD,BOX202_ACTIVATED == 4)
					NEXT_COMMAND_REUSABLE
					ADD_PARTY_TO_LEVEL(PLAYER_GOOD,SG,-8,1)
					NEXT_COMMAND_REUSABLE
					SET_FLAG(PLAYER_GOOD,BOX201_ACTIVATED,0)
					NEXT_COMMAND_REUSABLE
					SET_FLAG(PLAYER_GOOD,BOX202_ACTIVATED,0)
					NEXT_COMMAND_REUSABLE
					ADD_TO_FLAG(PLAYER_GOOD,FLAG0,-1)
				ENDIF
				IF(PLAYER_GOOD,BOX202_ACTIVATED == 5)
					NEXT_COMMAND_REUSABLE
					ADD_PARTY_TO_LEVEL(PLAYER_GOOD,SS,-8,1)
					NEXT_COMMAND_REUSABLE
					SET_FLAG(PLAYER_GOOD,BOX201_ACTIVATED,0)
					NEXT_COMMAND_REUSABLE
					SET_FLAG(PLAYER_GOOD,BOX202_ACTIVATED,0)
					NEXT_COMMAND_REUSABLE
					ADD_TO_FLAG(PLAYER_GOOD,FLAG0,-1)
				ENDIF
				IF(PLAYER_GOOD,BOX202_ACTIVATED == 6)
					NEXT_COMMAND_REUSABLE
					ADD_PARTY_TO_LEVEL(PLAYER_GOOD,SR,-8,1)
					NEXT_COMMAND_REUSABLE
					SET_FLAG(PLAYER_GOOD,BOX201_ACTIVATED,0)
					NEXT_COMMAND_REUSABLE
					SET_FLAG(PLAYER_GOOD,BOX202_ACTIVATED,0)
					NEXT_COMMAND_REUSABLE
					ADD_TO_FLAG(PLAYER_GOOD,FLAG0,-1)
				ENDIF
			ENDIF
		ENDIF
		IF(PLAYER_GOOD,BOX201_ACTIVATED == 9)
			IF(PLAYER_GOOD,BOX202_ACTIVATED != 0)
				IF(PLAYER_GOOD,BOX202_ACTIVATED == 1)
					NEXT_COMMAND_REUSABLE
					ADD_PARTY_TO_LEVEL(PLAYER_GOOD,ADH,-9,1)
					NEXT_COMMAND_REUSABLE
					SET_FLAG(PLAYER_GOOD,BOX201_ACTIVATED,0)
					NEXT_COMMAND_REUSABLE
					SET_FLAG(PLAYER_GOOD,BOX202_ACTIVATED,0)
					NEXT_COMMAND_REUSABLE
					ADD_TO_FLAG(PLAYER_GOOD,FLAG0,-1)
				ENDIF
				IF(PLAYER_GOOD,BOX202_ACTIVATED == 2)
					NEXT_COMMAND_REUSABLE
					ADD_PARTY_TO_LEVEL(PLAYER_GOOD,AE,-9,1)
					NEXT_COMMAND_REUSABLE
					SET_FLAG(PLAYER_GOOD,BOX201_ACTIVATED,0)
					NEXT_COMMAND_REUSABLE
					SET_FLAG(PLAYER_GOOD,BOX202_ACTIVATED,0)
					NEXT_COMMAND_REUSABLE
					ADD_TO_FLAG(PLAYER_GOOD,FLAG0,-1)
				ENDIF
				IF(PLAYER_GOOD,BOX202_ACTIVATED == 3)
					NEXT_COMMAND_REUSABLE
					ADD_PARTY_TO_LEVEL(PLAYER_GOOD,SDH,-9,1)
					NEXT_COMMAND_REUSABLE
					SET_FLAG(PLAYER_GOOD,BOX201_ACTIVATED,0)
					NEXT_COMMAND_REUSABLE
					SET_FLAG(PLAYER_GOOD,BOX202_ACTIVATED,0)
					NEXT_COMMAND_REUSABLE
					ADD_TO_FLAG(PLAYER_GOOD,FLAG0,-1)
				ENDIF
				IF(PLAYER_GOOD,BOX202_ACTIVATED == 4)
					NEXT_COMMAND_REUSABLE
					ADD_PARTY_TO_LEVEL(PLAYER_GOOD,SG,-9,1)
					NEXT_COMMAND_REUSABLE
					SET_FLAG(PLAYER_GOOD,BOX201_ACTIVATED,0)
					NEXT_COMMAND_REUSABLE
					SET_FLAG(PLAYER_GOOD,BOX202_ACTIVATED,0)
					NEXT_COMMAND_REUSABLE
					ADD_TO_FLAG(PLAYER_GOOD,FLAG0,-1)
				ENDIF
				IF(PLAYER_GOOD,BOX202_ACTIVATED == 5)
					NEXT_COMMAND_REUSABLE
					ADD_PARTY_TO_LEVEL(PLAYER_GOOD,SS,-9,1)
					NEXT_COMMAND_REUSABLE
					SET_FLAG(PLAYER_GOOD,BOX201_ACTIVATED,0)
					NEXT_COMMAND_REUSABLE
					SET_FLAG(PLAYER_GOOD,BOX202_ACTIVATED,0)
					NEXT_COMMAND_REUSABLE
					ADD_TO_FLAG(PLAYER_GOOD,FLAG0,-1)
				ENDIF
				IF(PLAYER_GOOD,BOX202_ACTIVATED == 6)
					NEXT_COMMAND_REUSABLE
					ADD_PARTY_TO_LEVEL(PLAYER_GOOD,SR,-9,1)
					NEXT_COMMAND_REUSABLE
					SET_FLAG(PLAYER_GOOD,BOX201_ACTIVATED,0)
					NEXT_COMMAND_REUSABLE
					SET_FLAG(PLAYER_GOOD,BOX202_ACTIVATED,0)
					NEXT_COMMAND_REUSABLE
					ADD_TO_FLAG(PLAYER_GOOD,FLAG0,-1)
				ENDIF
			ENDIF
		ENDIF
	ENDIF
ENDIF

REM # Randomise (PLAYER_GOOD,BOX201_ACTIVATED) & (PLAYER_GOOD,BOX202_ACTIVATED) whenever (PLAYER_GOOD,FLAG0) > 0.
IF(PLAYER_GOOD,FLAG0 > 0)
	IF(PLAYER_GOOD,FLAG7 >= 255)
		NEXT_COMMAND_REUSABLE
		RANDOMISE_FLAG(PLAYER_GOOD,BOX201_ACTIVATED,9)
		NEXT_COMMAND_REUSABLE
		RANDOMISE_FLAG(PLAYER_GOOD,BOX202_ACTIVATED,6)
	ENDIF
	IF(PLAYER_GOOD,FLAG7 < 255)
		NEXT_COMMAND_REUSABLE
		RANDOMISE_FLAG(PLAYER_GOOD,BOX201_ACTIVATED,8)
		NEXT_COMMAND_REUSABLE
		RANDOMISE_FLAG(PLAYER_GOOD,BOX202_ACTIVATED,6)
	ENDIF
ENDIF

REM # Random Buffs System for PLAYER_GOOD.
IF(PLAYER_GOOD,ACTIVE_BATTLES != 0)
	REM # Update (PLAYER3,FLAG3) to (PLAYER_GOOD,TOTAL_CREATURES)² then randomise it.
	NEXT_COMMAND_REUSABLE
	COMPUTE_FLAG(PLAYER3,FLAG3,SET,PLAYER_GOOD,TOTAL_CREATURES,1)
	NEXT_COMMAND_REUSABLE
	COMPUTE_FLAG(PLAYER3,FLAG3,MULTIPLY,PLAYER_GOOD,TOTAL_CREATURES,1)
	NEXT_COMMAND_REUSABLE
	RANDOMISE_FLAG(PLAYER3,FLAG3)
	REM # Compare randomised (PLAYER3,FLAG3) whenever (PLAYER3,TIMER3) > (PLAYER2,FLAG2).
	IF(PLAYER3,TIMER3 > PLAYER2,FLAG2)
		IF(PLAYER3,FLAG3 >= 16384)
			NEXT_COMMAND_REUSABLE
			COMPUTE_FLAG(PLAYER2,FLAG2,SET,PLAYER_GOOD,GAME_TURN)
			NEXT_COMMAND_REUSABLE
			ADD_TO_FLAG(PLAYER3,FLAG7,128)
			NEXT_COMMAND_REUSABLE
			SET_TIMER(PLAYER3,TIMER3)
		ENDIF
		IF(PLAYER3,FLAG3 < 16384)
			IF(PLAYER3,FLAG3 >= 4096)
				NEXT_COMMAND_REUSABLE
				COMPUTE_FLAG(PLAYER2,FLAG2,SET,PLAYER_GOOD,GAME_TURN)
				NEXT_COMMAND_REUSABLE
				ADD_TO_FLAG(PLAYER3,FLAG7,64)
				NEXT_COMMAND_REUSABLE
				SET_TIMER(PLAYER3,TIMER3)
			ENDIF
			IF(PLAYER3,FLAG3 < 4096)
				IF(PLAYER3,FLAG3 >= 1024)
					NEXT_COMMAND_REUSABLE
					COMPUTE_FLAG(PLAYER2,FLAG2,SET,PLAYER_GOOD,GAME_TURN)
					NEXT_COMMAND_REUSABLE
					ADD_TO_FLAG(PLAYER3,FLAG7,32)
					NEXT_COMMAND_REUSABLE
					SET_TIMER(PLAYER3,TIMER3)
				ENDIF
				IF(PLAYER3,FLAG3 < 1024)
					IF(PLAYER3,FLAG3 >= 256)
						NEXT_COMMAND_REUSABLE
						COMPUTE_FLAG(PLAYER2,FLAG2,SET,PLAYER_GOOD,GAME_TURN)
						NEXT_COMMAND_REUSABLE
						ADD_TO_FLAG(PLAYER3,FLAG7,16)
						NEXT_COMMAND_REUSABLE
						SET_TIMER(PLAYER3,TIMER3)
					ENDIF
					IF(PLAYER3,FLAG3 < 256)
						IF(PLAYER3,FLAG3 >= 64)
							NEXT_COMMAND_REUSABLE
							COMPUTE_FLAG(PLAYER2,FLAG2,SET,PLAYER_GOOD,GAME_TURN)
							NEXT_COMMAND_REUSABLE
							ADD_TO_FLAG(PLAYER3,FLAG7,8)
							NEXT_COMMAND_REUSABLE
							SET_TIMER(PLAYER3,TIMER3)
						ENDIF
						IF(PLAYER3,FLAG3 < 64)
							NEXT_COMMAND_REUSABLE
							COMPUTE_FLAG(PLAYER2,FLAG2,SET,PLAYER_GOOD,GAME_TURN)
							NEXT_COMMAND_REUSABLE
							SET_TIMER(PLAYER3,TIMER3)
						ENDIF
					ENDIF
				ENDIF
			ENDIF
		ENDIF
	ENDIF
	REM # Apply buffs to ANY_CREATURE for PLAYER_GOOD whenever (PLAYER3,FLAG7) > 0.
	IF(PLAYER3,BOX3_ACTIVATED != 0)
		IF(PLAYER3,BOX3_ACTIVATED == 1)
			NEXT_COMMAND_REUSABLE
			USE_SPELL_ON_CREATURE(PLAYER_GOOD,ANY_CREATURE,ANYWHERE,SPELL_INVISIBILITY,1)
			NEXT_COMMAND_REUSABLE
			ADD_TO_FLAG(PLAYER3,FLAG7,-1)
			NEXT_COMMAND_REUSABLE
			SET_FLAG(PLAYER3,BOX3_ACTIVATED,0)
		ENDIF
		IF(PLAYER3,BOX3_ACTIVATED == 2)
			NEXT_COMMAND_REUSABLE
			USE_SPELL_ON_CREATURE(PLAYER_GOOD,ANY_CREATURE,LEAST_EXP_FIGHTING,SPELL_ARMOUR,1)
			NEXT_COMMAND_REUSABLE
			ADD_TO_FLAG(PLAYER3,FLAG7,-1)
			NEXT_COMMAND_REUSABLE
			SET_FLAG(PLAYER3,BOX3_ACTIVATED,0)
		ENDIF
		IF(PLAYER3,BOX3_ACTIVATED == 3)
			NEXT_COMMAND_REUSABLE
			USE_SPELL_ON_CREATURE(PLAYER_GOOD,ANY_CREATURE,LEAST_EXP_FIGHTING,SPELL_REBOUND,1)
			NEXT_COMMAND_REUSABLE
			ADD_TO_FLAG(PLAYER3,FLAG7,-1)
			NEXT_COMMAND_REUSABLE
			SET_FLAG(PLAYER3,BOX3_ACTIVATED,0)
		ENDIF
		IF(PLAYER3,BOX3_ACTIVATED == 4)
			NEXT_COMMAND_REUSABLE
			USE_SPELL_ON_CREATURE(PLAYER_GOOD,ANY_CREATURE,LEAST_EXP_FIGHTING,SPELL_SPEED,1)
			NEXT_COMMAND_REUSABLE
			ADD_TO_FLAG(PLAYER3,FLAG7,-1)
			NEXT_COMMAND_REUSABLE
			SET_FLAG(PLAYER3,BOX3_ACTIVATED,0)
		ENDIF
		IF(PLAYER3,BOX3_ACTIVATED == 5)
			NEXT_COMMAND_REUSABLE
			USE_SPELL_ON_CREATURE(PLAYER_GOOD,ANY_CREATURE,MOST_EXP_FIGHTING,SPELL_ARMOUR,1)
			NEXT_COMMAND_REUSABLE
			ADD_TO_FLAG(PLAYER3,FLAG7,-1)
			NEXT_COMMAND_REUSABLE
			SET_FLAG(PLAYER3,BOX3_ACTIVATED,0)
		ENDIF
		IF(PLAYER3,BOX3_ACTIVATED == 6)
			NEXT_COMMAND_REUSABLE
			USE_SPELL_ON_CREATURE(PLAYER_GOOD,ANY_CREATURE,MOST_EXP_FIGHTING,SPELL_REBOUND,1)
			NEXT_COMMAND_REUSABLE
			ADD_TO_FLAG(PLAYER3,FLAG7,-1)
			NEXT_COMMAND_REUSABLE
			SET_FLAG(PLAYER3,BOX3_ACTIVATED,0)
		ENDIF
		IF(PLAYER3,BOX3_ACTIVATED == 7)
			NEXT_COMMAND_REUSABLE
			USE_SPELL_ON_CREATURE(PLAYER_GOOD,ANY_CREATURE,MOST_EXP_FIGHTING,SPELL_SPEED,1)
			NEXT_COMMAND_REUSABLE
			ADD_TO_FLAG(PLAYER3,FLAG7,-1)
			NEXT_COMMAND_REUSABLE
			SET_FLAG(PLAYER3,BOX3_ACTIVATED,0)
		ENDIF
		IF(PLAYER3,BOX3_ACTIVATED == 8)
			NEXT_COMMAND_REUSABLE
			ADD_TO_FLAG(PLAYER3,FLAG7,-1)
			NEXT_COMMAND_REUSABLE
			SET_FLAG(PLAYER3,BOX3_ACTIVATED,0)
		ENDIF
	ENDIF
	REM # Randomise (PLAYER3,BOX3_ACTIVATED) whenever (PLAYER3,FLAG7) > 0.
	IF(PLAYER3,FLAG7 > 0)
		NEXT_COMMAND_REUSABLE
		RANDOMISE_FLAG(PLAYER3,BOX3_ACTIVATED,8)
	ENDIF
ENDIF

REM # Modifier System for PLAYER_GOOD.
IF(PLAYER_GOOD,ACTIVE_BATTLES != 0)
	REM # Randomise (PLAYER5,BOX250_ACTIVATED) whenever (PLAYER5,TIMER5) > (PLAYER5,FLAG5).
	IF(PLAYER5,BOX255_ACTIVATED == 0)
		IF(PLAYER5,BOX5_ACTIVATED < 255)
			IF(PLAYER5,TIMER5 > PLAYER5,FLAG5)
				NEXT_COMMAND_REUSABLE
				COMPUTE_FLAG(PLAYER5,FLAG5,SET,PLAYER_GOOD,GAME_TURN)
				NEXT_COMMAND_REUSABLE
				RANDOMISE_FLAG(PLAYER5,BOX250_ACTIVATED,5)
				NEXT_COMMAND_REUSABLE
				ADD_TO_FLAG(PLAYER5,BOX5_ACTIVATED,1)
				NEXT_COMMAND_REUSABLE
				ADD_TO_FLAG(PLAYER_GOOD,FLAG7,1)
				NEXT_COMMAND_REUSABLE
				SET_TIMER(PLAYER5,TIMER5)
			ENDIF
		ENDIF
		IF(PLAYER5,BOX5_ACTIVATED >= 255)
			IF(PLAYER5,TIMER5 > PLAYER5,FLAG5)
				NEXT_COMMAND_REUSABLE
				COMPUTE_FLAG(PLAYER5,FLAG5,SET,PLAYER_GOOD,GAME_TURN)
				NEXT_COMMAND_REUSABLE
				RANDOMISE_FLAG(PLAYER5,BOX250_ACTIVATED,5)
				NEXT_COMMAND_REUSABLE
				SET_TIMER(PLAYER5,TIMER5)
			ENDIF
		ENDIF
	ENDIF
	IF(PLAYER5,BOX255_ACTIVATED != 0)
		IF(PLAYER5,BOX5_ACTIVATED < 255)
			IF(PLAYER5,TIMER5 > PLAYER5,FLAG5)
				NEXT_COMMAND_REUSABLE
				COMPUTE_FLAG(PLAYER5,FLAG5,SET,PLAYER_GOOD,GAME_TURN)
				NEXT_COMMAND_REUSABLE
				USE_SPELL_ON_PLAYERS_CREATURES(PLAYER_GOOD,ANY_CREATURE,SPELL_FLIGHT,1)
				NEXT_COMMAND_REUSABLE
				USE_SPELL_ON_PLAYERS_CREATURES(PLAYER_GOOD,ANY_CREATURE,SPELL_ARMOUR,1)
				NEXT_COMMAND_REUSABLE
				USE_SPELL_ON_PLAYERS_CREATURES(PLAYER_GOOD,ANY_CREATURE,SPELL_REBOUND,1)
				NEXT_COMMAND_REUSABLE
				USE_SPELL_ON_PLAYERS_CREATURES(PLAYER_GOOD,ANY_CREATURE,SPELL_SPEED,1)
				NEXT_COMMAND_REUSABLE
				ADD_TO_FLAG(PLAYER5,BOX5_ACTIVATED,1)
				NEXT_COMMAND_REUSABLE
				ADD_TO_FLAG(PLAYER_GOOD,FLAG7,1)
				NEXT_COMMAND_REUSABLE
				SET_TIMER(PLAYER5,TIMER5)
			ENDIF
		ENDIF
		IF(PLAYER5,BOX5_ACTIVATED >= 255)
			IF(PLAYER5,TIMER5 > PLAYER5,FLAG5)
				NEXT_COMMAND_REUSABLE
				COMPUTE_FLAG(PLAYER5,FLAG5,SET,PLAYER_GOOD,GAME_TURN)
				NEXT_COMMAND_REUSABLE
				USE_SPELL_ON_PLAYERS_CREATURES(PLAYER_GOOD,ANY_CREATURE,SPELL_FLIGHT,1)
				NEXT_COMMAND_REUSABLE
				USE_SPELL_ON_PLAYERS_CREATURES(PLAYER_GOOD,ANY_CREATURE,SPELL_ARMOUR,1)
				NEXT_COMMAND_REUSABLE
				USE_SPELL_ON_PLAYERS_CREATURES(PLAYER_GOOD,ANY_CREATURE,SPELL_REBOUND,1)
				NEXT_COMMAND_REUSABLE
				USE_SPELL_ON_PLAYERS_CREATURES(PLAYER_GOOD,ANY_CREATURE,SPELL_SPEED,1)
				NEXT_COMMAND_REUSABLE
				SET_TIMER(PLAYER5,TIMER5)
			ENDIF
		ENDIF
	ENDIF
	REM # Increase modifier based on (PLAYER5,BOX250_ACTIVATED) value for PLAYER_GOOD.
	IF(PLAYER5,BOX250_ACTIVATED != 0)
		REM # Health modifier.
		IF(PLAYER5,BOX250_ACTIVATED == 1)
			IF(PLAYER_GOOD,BOX111_ACTIVATED < 250)
				NEXT_COMMAND_REUSABLE
				ADD_TO_PLAYER_MODIFIER(PLAYER_GOOD,Health,5)
				NEXT_COMMAND_REUSABLE
				ADD_TO_FLAG(PLAYER_GOOD,BOX111_ACTIVATED,1)
				NEXT_COMMAND_REUSABLE
				ADD_TO_FLAG(PLAYER_GOOD,FLAG7,1)
				NEXT_COMMAND_REUSABLE
				SET_FLAG(PLAYER5,BOX250_ACTIVATED,0)
			ENDIF
			IF(PLAYER_GOOD,BOX111_ACTIVATED >= 250)
				NEXT_COMMAND_REUSABLE
				RANDOMISE_FLAG(PLAYER5,BOX250_ACTIVATED,5)
			ENDIF
		ENDIF
		REM # Armour modifier.
		IF(PLAYER5,BOX250_ACTIVATED == 2)
			IF(PLAYER_GOOD,BOX121_ACTIVATED < 150)
				NEXT_COMMAND_REUSABLE
				ADD_TO_PLAYER_MODIFIER(PLAYER_GOOD,Armour,1)
				NEXT_COMMAND_REUSABLE
				ADD_TO_FLAG(PLAYER_GOOD,BOX121_ACTIVATED,1)
				NEXT_COMMAND_REUSABLE
				ADD_TO_FLAG(PLAYER_GOOD,FLAG7,1)
				NEXT_COMMAND_REUSABLE
				SET_FLAG(PLAYER5,BOX250_ACTIVATED,0)
			ENDIF
			IF(PLAYER_GOOD,BOX121_ACTIVATED >= 150)
				NEXT_COMMAND_REUSABLE
				RANDOMISE_FLAG(PLAYER5,BOX250_ACTIVATED,5)
			ENDIF
		ENDIF
		REM # Strength modifier.
		IF(PLAYER5,BOX250_ACTIVATED == 3)
			IF(PLAYER_GOOD,BOX131_ACTIVATED < 200)
				NEXT_COMMAND_REUSABLE
				ADD_TO_PLAYER_MODIFIER(PLAYER_GOOD,Strength,5)
				NEXT_COMMAND_REUSABLE
				ADD_TO_FLAG(PLAYER_GOOD,BOX131_ACTIVATED,1)
				NEXT_COMMAND_REUSABLE
				ADD_TO_FLAG(PLAYER_GOOD,FLAG7,1)
				NEXT_COMMAND_REUSABLE
				SET_FLAG(PLAYER5,BOX250_ACTIVATED,0)
			ENDIF
			IF(PLAYER_GOOD,BOX131_ACTIVATED >= 200)
				NEXT_COMMAND_REUSABLE
				RANDOMISE_FLAG(PLAYER5,BOX250_ACTIVATED,5)
			ENDIF
		ENDIF
		REM # SpellDamage modifier.
		IF(PLAYER5,BOX250_ACTIVATED == 4)
			IF(PLAYER_GOOD,BOX141_ACTIVATED < 150)
				NEXT_COMMAND_REUSABLE
				ADD_TO_PLAYER_MODIFIER(PLAYER_GOOD,SpellDamage,5)
				NEXT_COMMAND_REUSABLE
				ADD_TO_FLAG(PLAYER_GOOD,BOX141_ACTIVATED,1)
				NEXT_COMMAND_REUSABLE
				ADD_TO_FLAG(PLAYER_GOOD,FLAG7,1)
				NEXT_COMMAND_REUSABLE
				SET_FLAG(PLAYER5,BOX250_ACTIVATED,0)
			ENDIF
			IF(PLAYER_GOOD,BOX141_ACTIVATED >= 150)
				NEXT_COMMAND_REUSABLE
				RANDOMISE_FLAG(PLAYER5,BOX250_ACTIVATED,5)
			ENDIF
		ENDIF
		REM # Speed modifier.
		IF(PLAYER5,BOX250_ACTIVATED == 5)
			IF(PLAYER_GOOD,BOX151_ACTIVATED < 150)
				NEXT_COMMAND_REUSABLE
				ADD_TO_PLAYER_MODIFIER(PLAYER_GOOD,Speed,1)
				NEXT_COMMAND_REUSABLE
				ADD_TO_FLAG(PLAYER_GOOD,BOX151_ACTIVATED,1)
				NEXT_COMMAND_REUSABLE
				ADD_TO_FLAG(PLAYER_GOOD,FLAG7,1)
				NEXT_COMMAND_REUSABLE
				SET_FLAG(PLAYER5,BOX250_ACTIVATED,0)
			ENDIF
			IF(PLAYER_GOOD,BOX151_ACTIVATED >= 150)
				NEXT_COMMAND_REUSABLE
				RANDOMISE_FLAG(PLAYER5,BOX250_ACTIVATED,5)
			ENDIF
		ENDIF
	ENDIF
	REM # Prevent further increase once the modifier are all 'capped' for PLAYER_GOOD.
	IF(PLAYER5,BOX255_ACTIVATED == 0)
		IF(PLAYER_GOOD,BOX111_ACTIVATED >= 250)
			IF(PLAYER_GOOD,BOX121_ACTIVATED >= 150)
				IF(PLAYER_GOOD,BOX131_ACTIVATED >= 200)
					IF(PLAYER_GOOD,BOX141_ACTIVATED >= 150)
						IF(PLAYER_GOOD,BOX151_ACTIVATED >= 150)
							SET_FLAG(PLAYER5,BOX250_ACTIVATED,0)
							SET_FLAG(PLAYER5,BOX255_ACTIVATED,255)
						ENDIF
					ENDIF
				ENDIF
			ENDIF
		ENDIF
	ENDIF
ENDIF

REM # Level-up System based on flags for PLAYER_GOOD.
IF_CONTROLS(PLAYER_GOOD,TOTAL_CREATURES > 0)
	REM # Level-up (PLAYER_GOOD,ANY_CREATURE) whenever (PLAYER_GOOD,FLAG1) > 0.
	IF(PLAYER_GOOD,FLAG1 > 0)
		NEXT_COMMAND_REUSABLE
		LEVEL_UP_CREATURE(PLAYER_GOOD,ANY_CREATURE,LEAST_EXPERIENCED,1)
		NEXT_COMMAND_REUSABLE
		ADD_TO_FLAG(PLAYER_GOOD,FLAG1,-1)
	ENDIF
	REM # Level-up (PLAYER_GOOD,ANY_CREATURE) whenever (PLAYER_GOOD,CAMPAIGN_FLAG0) > 0.
	IF(PLAYER_GOOD,CAMPAIGN_FLAG0 > 0)
		NEXT_COMMAND_REUSABLE
		LEVEL_UP_CREATURE(PLAYER_GOOD,ANY_CREATURE,LEAST_EXPERIENCED,1)
		NEXT_COMMAND_REUSABLE
		LEVEL_UP_CREATURE(PLAYER_GOOD,ANY_CREATURE,LEAST_EXPERIENCED,1)
		NEXT_COMMAND_REUSABLE
		ADD_TO_FLAG(PLAYER_GOOD,CAMPAIGN_FLAG0,-1)
	ENDIF
	REM # Level-up (PLAYER_GOOD,ANY_CREATURE) whenever (PLAYER_GOOD,CAMPAIGN_FLAG1) > 0.
	IF(PLAYER_GOOD,CAMPAIGN_FLAG1 > 0)
		NEXT_COMMAND_REUSABLE
		LEVEL_UP_CREATURE(PLAYER_GOOD,ANY_CREATURE,LEAST_EXPERIENCED,1)
		NEXT_COMMAND_REUSABLE
		LEVEL_UP_CREATURE(PLAYER_GOOD,ANY_CREATURE,LEAST_EXPERIENCED,1)
		NEXT_COMMAND_REUSABLE
		LEVEL_UP_CREATURE(PLAYER_GOOD,ANY_CREATURE,LEAST_EXPERIENCED,1)
		NEXT_COMMAND_REUSABLE
		LEVEL_UP_CREATURE(PLAYER_GOOD,ANY_CREATURE,LEAST_EXPERIENCED,1)
		NEXT_COMMAND_REUSABLE
		LEVEL_UP_CREATURE(PLAYER_GOOD,ANY_CREATURE,LEAST_EXPERIENCED,1)
		NEXT_COMMAND_REUSABLE
		LEVEL_UP_CREATURE(PLAYER_GOOD,ANY_CREATURE,LEAST_EXPERIENCED,1)
		NEXT_COMMAND_REUSABLE
		LEVEL_UP_CREATURE(PLAYER_GOOD,ANY_CREATURE,LEAST_EXPERIENCED,1)
		NEXT_COMMAND_REUSABLE
		LEVEL_UP_CREATURE(PLAYER_GOOD,ANY_CREATURE,LEAST_EXPERIENCED,1)
		NEXT_COMMAND_REUSABLE
		ADD_TO_FLAG(PLAYER_GOOD,CAMPAIGN_FLAG1,-1)
	ENDIF
ENDIF

REM # Prevent (PLAYER_GOOD,FLAG7) to reach a value < 8.
IF(PLAYER_GOOD,FLAG7 < 8)
	NEXT_COMMAND_REUSABLE
	SET_FLAG(PLAYER_GOOD,FLAG7,8)
ENDIF

REM # Prevent (PLAYER_GOOD,FLAG7) to reach a value > 100000000 (unlikely but better safe than sorry).
IF(PLAYER_GOOD,FLAG7 > 100000000)
	NEXT_COMMAND_REUSABLE
	SET_FLAG(PLAYER_GOOD,CAMPAIGN_FLAG7,0)
	NEXT_COMMAND_REUSABLE
	SET_FLAG(PLAYER_GOOD,FLAG7,100000000)
ENDIF

REM # Increase (PLAYER_GOOD,CAMPAIGN_FLAG7) overtime.
IF(PLAYER_GOOD,FLAG7 < 100000000)
	IF(PLAYER_GOOD,CAMPAIGN_FLAG7 < 255)
		IF(PLAYER5,FLAG7 > PLAYER_GOOD,BATTLES_LOST)
			IF(PLAYER0,TIMER7 > PLAYER5,FLAG7)
				NEXT_COMMAND_REUSABLE
				ADD_TO_FLAG(PLAYER_GOOD,CAMPAIGN_FLAG7,1)
				NEXT_COMMAND_REUSABLE
				COMPUTE_FLAG(PLAYER5,FLAG7,INCREASE,PLAYER_GOOD,BATTLES_WON)
				NEXT_COMMAND_REUSABLE
				COMPUTE_FLAG(PLAYER5,FLAG7,DECREASE,PLAYER_GOOD,BATTLES_LOST)
				NEXT_COMMAND_REUSABLE
				SET_TIMER(PLAYER0,TIMER7)
			ENDIF
		ENDIF
		IF(PLAYER5,FLAG7 <= PLAYER_GOOD,BATTLES_LOST)
			IF(PLAYER0,TIMER7 > PLAYER5,FLAG7)
				NEXT_COMMAND_REUSABLE
				ADD_TO_FLAG(PLAYER_GOOD,CAMPAIGN_FLAG7,1)
				NEXT_COMMAND_REUSABLE
				COMPUTE_FLAG(PLAYER5,FLAG7,INCREASE,PLAYER_GOOD,CAMPAIGN_FLAG7)
				NEXT_COMMAND_REUSABLE
				SET_TIMER(PLAYER0,TIMER7)
			ENDIF
		ENDIF
	ENDIF
ENDIF

REM # Loop for PLAYER0.
IF(PLAYER0,DUNGEON_DESTROYED == 0)
	REM # If IMP >= 255 then PLAYER0 is unable to spawn more with POWER_IMP.
	SET_TIMER(PLAYER0,TIMER0)
	IF(PLAYER0,TIMER0 >= 20)
		IF(PLAYER0,IMP < 255)
			NEXT_COMMAND_REUSABLE
			CREATURE_AVAILABLE(PLAYER0,IMP,1,0)
			NEXT_COMMAND_REUSABLE
			MAGIC_AVAILABLE(PLAYER0,POWER_IMP,1,1)
			NEXT_COMMAND_REUSABLE
			USE_SPELL_ON_CREATURE(PLAYER0,IMP,ANYWHERE,SPELL_FEAR,1)
			NEXT_COMMAND_REUSABLE
			CHANGE_CREATURES_ANNOYANCE(PLAYER0,IMP,DECREASE,3)
			NEXT_COMMAND_REUSABLE
			SET_TIMER(PLAYER0,TIMER0)
		ENDIF
		IF(PLAYER0,IMP >= 255)
			NEXT_COMMAND_REUSABLE
			CREATURE_AVAILABLE(PLAYER0,IMP,0,0)
			NEXT_COMMAND_REUSABLE
			MAGIC_AVAILABLE(PLAYER0,POWER_IMP,0,0)
			NEXT_COMMAND_REUSABLE
			USE_SPELL_ON_CREATURE(PLAYER0,IMP,ANYWHERE,SPELL_FEAR,1)
			NEXT_COMMAND_REUSABLE
			CHANGE_CREATURES_ANNOYANCE(PLAYER0,IMP,INCREASE,3)
			NEXT_COMMAND_REUSABLE
			SET_TIMER(PLAYER0,TIMER0)
		ENDIF
	ENDIF
	REM # Randomise a flag to determine a fear value for IMP.
	IF(PLAYER0,ACTIVE_BATTLES != 0)
		IF(PLAYER0,TIMER1 > PLAYER0,TOTAL_SCORE)
			NEXT_COMMAND_REUSABLE
			RANDOMISE_FLAG(PLAYER0,BOX123_ACTIVATED,8)
			NEXT_COMMAND_REUSABLE
			SET_TIMER(PLAYER0,TIMER1)
		ENDIF
	ENDIF
	REM # If (PLAYER0,FLAG1) >= 510 then PLAYER0 is unable to use IMPRISON.
	IF(PLAYER0,FLAG1 >= 510)
		IF(PLAYER1,TOTAL_CREATURES == 0)
			NEXT_COMMAND_REUSABLE
			SET_CREATURE_TENDENCIES(PLAYER0,IMPRISON,0)
		ENDIF
		IF(PLAYER1,TOTAL_CREATURES > 0)
			NEXT_COMMAND_REUSABLE
			CHANGE_CREATURE_OWNER(PLAYER1,ANY_CREATURE,LEAST_EXPERIENCED,PLAYER_GOOD)
		ENDIF
	ENDIF
	REM # Grant BRIDGE once ENTRANCE is claimed.
	IF(PLAYER0,ENTRANCE > 0)
		TUTORIAL_FLASH_BUTTON(18,-1)
		ROOM_AVAILABLE(PLAYER0,BRIDGE,1,1)
	ENDIF
	REM # Enable IMPRISON by default.
	IF(PLAYER0,PRISON > 0)
		SET_CREATURE_TENDENCIES(PLAYER0,IMPRISON,1)
	ENDIF
	REM # Convert ARCHER to PLAYER1.
	IF(PLAYER0,ARCHER > 0)
		NEXT_COMMAND_REUSABLE
		MOVE_CREATURE(PLAYER0,ARCHER,LEAST_EXPERIENCED,1,7,EFFECT_BALL_PUFF_WHITE)
		NEXT_COMMAND_REUSABLE
		CHANGE_CREATURE_OWNER(PLAYER0,ARCHER,LEAST_EXPERIENCED,PLAYER1)
	ENDIF
	REM # Convert DARK_MISTRESS to PLAYER1.
	IF(PLAYER0,DARK_MISTRESS > 0)
		NEXT_COMMAND_REUSABLE
		MOVE_CREATURE(PLAYER0,DARK_MISTRESS,LEAST_EXPERIENCED,1,7,EFFECT_BALL_PUFF_WHITE)
		NEXT_COMMAND_REUSABLE
		CHANGE_CREATURE_OWNER(PLAYER0,DARK_MISTRESS,LEAST_EXPERIENCED,PLAYER1)
	ENDIF
	REM # Convert SAMURAI to PLAYER1.
	IF(PLAYER0,SAMURAI > 0)
		NEXT_COMMAND_REUSABLE
		MOVE_CREATURE(PLAYER0,SAMURAI,LEAST_EXPERIENCED,1,7,EFFECT_BALL_PUFF_WHITE)
		NEXT_COMMAND_REUSABLE
		CHANGE_CREATURE_OWNER(PLAYER0,SAMURAI,LEAST_EXPERIENCED,PLAYER1)
	ENDIF
	REM # Convert SKELETON to PLAYER1.
	IF(PLAYER0,SKELETON > 0)
		NEXT_COMMAND_REUSABLE
		MOVE_CREATURE(PLAYER0,SKELETON,LEAST_EXPERIENCED,1,7,EFFECT_BALL_PUFF_WHITE)
		NEXT_COMMAND_REUSABLE
		CHANGE_CREATURE_OWNER(PLAYER0,SKELETON,LEAST_EXPERIENCED,PLAYER1)
	ENDIF
	REM # Convert SORCEROR to PLAYER1.
	IF(PLAYER0,SORCEROR > 0)
		NEXT_COMMAND_REUSABLE
		MOVE_CREATURE(PLAYER0,SORCEROR,LEAST_EXPERIENCED,1,7,EFFECT_BALL_PUFF_WHITE)
		NEXT_COMMAND_REUSABLE
		CHANGE_CREATURE_OWNER(PLAYER0,SORCEROR,LEAST_EXPERIENCED,PLAYER1)
	ENDIF
	REM # Convert THIEF to PLAYER1.
	IF(PLAYER0,THIEF > 0)
		NEXT_COMMAND_REUSABLE
		MOVE_CREATURE(PLAYER0,THIEF,LEAST_EXPERIENCED,1,7,EFFECT_BALL_PUFF_WHITE)
		NEXT_COMMAND_REUSABLE
		CHANGE_CREATURE_OWNER(PLAYER0,THIEF,LEAST_EXPERIENCED,PLAYER1)
	ENDIF
	REM # Give information about STEAL_HERO available in the library.
	IF_AVAILABLE(PLAYER0,POWER_FLIGHT != 0)
		REM # NEXT_COMMAND_REUSABLE
		REM # ADD_TO_FLAG(PLAYER1,CAMPAIGN_FLAG0,1)
		NEXT_COMMAND_REUSABLE
		MAGIC_AVAILABLE(PLAYER0,POWER_FLIGHT,0,0)
		NEXT_COMMAND_REUSABLE
		MAGIC_AVAILABLE(PLAYER0,POWER_VISION,1,0)
		REM # "Your researchers discovered a blueprint for the Steal Hero mysterious box! Perfect! Now we can finally steal candy without the guilt!"
		DISPLAY_INFORMATION(93)
	ENDIF
	REM # Give information about Trick-or-Treat available in the library.
	IF_AVAILABLE(PLAYER0,POWER_VISION != 0)
		REM # NEXT_COMMAND_REUSABLE
		REM # ADD_TO_FLAG(PLAYER1,CAMPAIGN_FLAG0,1)
		NEXT_COMMAND_REUSABLE
		MAGIC_AVAILABLE(PLAYER0,POWER_FLIGHT,1,0)
		NEXT_COMMAND_REUSABLE
		MAGIC_AVAILABLE(PLAYER0,POWER_VISION,0,0)
		REM # "Your researchers discovered a blueprint for the Trick-or-Treat mysterious box! Fantastic! Just what we need to turn Halloween into a treasure hunt for lost souls!"
		DISPLAY_INFORMATION(94)
	ENDIF
	REM # Give information about the Spider.
	IF(PLAYER0,SPIDER > 0)
		REM # "Spiders... such exquisite little nightmares! With their eight legs and unsettling charm, they send shivers down spines for reasons that are as rational as a Ghost at a campfire. The ones from this realm? They're like ice-flavored powerhouses! Get them to a high level, and you might just find yourself chilling with their frosty vibes... or maybe you'll just freeze in terror!"
		DISPLAY_INFORMATION(95)
	ENDIF
	REM # Give information about the Vampire.
	IF(PLAYER0,VAMPIRE > 0)
		REM # "Oh, you'd never guess it on your own, but I just lost a bet playing dice. Wild, huh? But why am I even telling you? Just ignore that. By the way, to really attract those Vampires from your graveyard, you'll need to gather up 16 bodies. Did you know nothing gets their bloodlust flowing like a well-stocked buffet?!"
		DISPLAY_INFORMATION(96)
	ENDIF
	REM # Give information about the Barracks.
	IF_AVAILABLE(PLAYER0,BARRACKS > 0)
		REM # "Although it might be a bit limited in its effect, the Barracks can help slow down the invasion by cranking up the spawn rate of the invaders. But REM #ember, it's not an exact science. So if things go awry, don't blame the architect. They were just following orders from the most confusing instructions!"
		DISPLAY_INFORMATION(97)
	ENDIF
	REM # Give information about the Scavenger.
	IF_AVAILABLE(PLAYER0,SCAVENGER > 0)
		REM # "The Scavenger increases your chances of getting more high level creatures through the portal, the more tiles the better."
		DISPLAY_INFORMATION(98)
	ENDIF
	REM # Give information about the Spawn Trap.
	IF_AVAILABLE(PLAYER0,SPAWNER > 0)
		REM # "Your minions forged a Spawn Trap that conjures a powerful Ghost to fight for you. Just REM #ember, they're as petty and fragile as a glass cannon at a demolition party!"
		DISPLAY_INFORMATION(99)
	ENDIF
	REM # Give information about the Power Trap.
	IF_AVAILABLE(PLAYER0,POWER_FRAME > 0)
		REM # "Your minions forged a Power Trap that keeps all your minions healthy for five glorious seconds! It's like a wellness retreat, but you'll need a miracle to get them to actually enjoy it!"
		DISPLAY_INFORMATION(100)
	ENDIF
	REM # Give information about the Special Trap.
	IF_AVAILABLE(PLAYER0,PATH_FRAME > 0)
		REM # "Your minions forged a Special Trap that lets you swap a tile for an unclaimed path. Think it's useless? Go ahead, place it on a bridge and see what happens!"
		DISPLAY_INFORMATION(101)
	ENDIF
	REM # Give information about the rules.
	IF(PLAYER_GOOD,GAME_TURN >= 1200)
		REM # "Welcome to the twisted carnival where the rules have been joyfully mangled by a sinister force. Training rooms cap at level 8, imprisonment is hit-or-miss, and whatever you torture might just kick the bucket. The repeat trigger for possession mode is a delightful quality-of-life feature, while diggers rake in experience just for shoveling dirt. Rooms sell for a glorious full price, oh and also... why do I even bother? It's not like anyone will read this. Cheers to the madness!"
		DISPLAY_INFORMATION(102)
	ENDIF
	REM # Give information about Skeletons time to retreat.
	IF_CONTROLS(PLAYER_GOOD,TOTAL_CREATURES == 0)
		IF(PLAYER_GOOD,BOX255_ACTIVATED != 0)
			REM # "The Skeletons have decided it's time to retreat and plot their next bone-chilling attack. Use this chance to fortify your defenses, replenish your treasury, and whip your troops into shape. After all, you wouldn't want to be caught with your skull in your hands when they come knocking!"
			DISPLAY_INFORMATION(103)
		ENDIF
	ENDIF
	REM # Give a X (PLAYER2,FLAG0) minute(s) break every Y (PLAYER2,FLAG7) minute(s)! Overtime, X decreases while Y increases.
	IF(PLAYER_GOOD,GAME_TURN >= 18000)
		IF(PLAYER_GOOD,BOX255_ACTIVATED != 0)
			IF(PLAYER2,TIMER0 > PLAYER2,FLAG0)
				NEXT_COMMAND_REUSABLE
				SET_FLAG(PLAYER_GOOD,BOX255_ACTIVATED,0)
				NEXT_COMMAND_REUSABLE
				ADD_TO_FLAG(PLAYER1,CAMPAIGN_FLAG1,1)
				NEXT_COMMAND_REUSABLE
				ADD_TO_FLAG(PLAYER_GOOD,FLAG7,8)
				NEXT_COMMAND_REUSABLE
				SET_FLAG(PLAYER2,BOX0_ACTIVATED,1)
				NEXT_COMMAND_REUSABLE
				SET_TIMER(PLAYER2,TIMER0)
				NEXT_COMMAND_REUSABLE
				SET_TIMER(PLAYER2,TIMER7)
				REM # "The Skeletons are primed for another raid on your dungeon. Stop goofing off and get ready to fight!"
				DISPLAY_INFORMATION(104)
			ENDIF
		ENDIF
		IF(PLAYER_GOOD,BOX255_ACTIVATED == 0)
			IF(PLAYER2,TIMER7 > PLAYER2,FLAG7)
				NEXT_COMMAND_REUSABLE
				SET_FLAG(PLAYER_GOOD,BOX255_ACTIVATED,255)
				NEXT_COMMAND_REUSABLE
				ADD_TO_FLAG(PLAYER1,CAMPAIGN_FLAG0,1)
				NEXT_COMMAND_REUSABLE
				ADD_TO_FLAG(PLAYER_GOOD,FLAG7,2)
				NEXT_COMMAND_REUSABLE
				SET_FLAG(PLAYER2,BOX7_ACTIVATED,1)
				NEXT_COMMAND_REUSABLE
				SET_TIMER(PLAYER2,TIMER0)
				NEXT_COMMAND_REUSABLE
				SET_TIMER(PLAYER2,TIMER7)
			ENDIF
		ENDIF
		REM # Decrease X (PLAYER2,FLAG0).
		IF(PLAYER2,BOX0_ACTIVATED != 0)
			IF(PLAYER2,FLAG0 > 100)
				NEXT_COMMAND_REUSABLE
				ADD_TO_FLAG(PLAYER2,FLAG0,-100)
				NEXT_COMMAND_REUSABLE
				SET_FLAG(PLAYER2,BOX0_ACTIVATED,0)
			ENDIF
			IF(PLAYER2,FLAG0 <= 100)
				NEXT_COMMAND_REUSABLE
				SET_FLAG(PLAYER2,FLAG0,100)
				NEXT_COMMAND_REUSABLE
				SET_FLAG(PLAYER2,BOX0_ACTIVATED,0)
			ENDIF
		ENDIF
		REM # Increase Y (PLAYER2,FLAG7).
		IF(PLAYER2,BOX7_ACTIVATED != 0)
			IF(PLAYER2,FLAG7 < 19200)
				NEXT_COMMAND_REUSABLE
				ADD_TO_FLAG(PLAYER2,FLAG7,100)
				NEXT_COMMAND_REUSABLE
				SET_FLAG(PLAYER2,BOX7_ACTIVATED,0)
			ENDIF
			IF(PLAYER2,FLAG7 >= 19200)
				NEXT_COMMAND_REUSABLE
				SET_FLAG(PLAYER2,FLAG7,19200)
				NEXT_COMMAND_REUSABLE
				SET_FLAG(PLAYER2,BOX7_ACTIVATED,0)
			ENDIF
		ENDIF
	ENDIF
	REM # Secret event after 24 hours playing.
	IF(PLAYER_GOOD,GAME_TURN >= 1728000)
		REM # "Incredible, you're still thriving after 24 hours in your real-time dimension. Seriously, take a break!"
		DISPLAY_OBJECTIVE(105)
	ENDIF
	REM # Secret event 1 minute before reaching the maximum GAME_TURN limit: 2147483647.
	IF(PLAYER_GOOD,GAME_TURN >= 2147482447)
		REM # "Just so you know, in one minute you'll hit the maximum game turn limit, so your score isn't going to budge anymore. I guess that makes it an absolute win, but maybe it's time to step outside. You've been grinding on the same map for over three years. Just saying!"
		DISPLAY_OBJECTIVE(106)
	ENDIF
	REM # Win Condition.
	IF(PLAYER0,IMP >= 100)
		REM # "Oh look at that, you've gathered an army of 100 Ghosts, congrats on hitting the win condition! But don't be a coward, keep playing and see how long you can last. This win condition is just for the peasants who would have cried if they didn't get a shiny trophy. So stick around, this is a survival realm, not a ghostly tea party!"
		DISPLAY_OBJECTIVE(107)
		CREATURE_AVAILABLE(PLAYER0,ARCHER,1,0)
		CREATURE_AVAILABLE(PLAYER0,SAMURAI,1,0)
		CREATURE_AVAILABLE(PLAYER0,THIEF,1,0)
		CREATURE_AVAILABLE(PLAYER0,DARK_MISTRESS,1,0)
		CREATURE_AVAILABLE(PLAYER0,SORCEROR,1,0)
		CREATURE_AVAILABLE(PLAYER0,SKELETON,1,0)
		DISPLAY_VARIABLE(PLAYER_GOOD,GAME_TURN)
		WIN_GAME
	ENDIF
ENDIF

REM # Event whenever PLAYER0 is destroyed.
IF(PLAYER0,DUNGEON_DESTROYED == 1)
	REM # KILL_CREATURE(PLAYER0,IMP,ANYWHERE,1000)
	REM # KILL_CREATURE(PLAYER0,ANY_CREATURE,ANYWHERE,1000)
	CREATURE_AVAILABLE(PLAYER0,IMP,0,0)
	COMPUTE_FLAG(PLAYER0,FLAG7,SET,PLAYER_GOOD,GAME_TURN)
	DISPLAY_VARIABLE(PLAYER0,FLAG7)
	IF_CONTROLS(PLAYER0,IMP == 0)
		REM # "Congrats on meeting your doom! Why not share your score with your fellow fallen keepers in the comments of the map on keeperfx.net? Your misery could inspire others. Thanks for playing!"
		DISPLAY_INFORMATION(108)
	ENDIF
ENDIF

REM # Get a fear value for IMP. It could make the player feel miserable at times.
IF(PLAYER0,BOX123_ACTIVATED != 0)
	IF(PLAYER0,BOX123_ACTIVATED == 1)
		NEXT_COMMAND_REUSABLE
		SET_CREATURE_CONFIGURATION(IMP,FearWounded,0)
		NEXT_COMMAND_REUSABLE
		SET_CREATURE_CONFIGURATION(IMP,FearStronger,10000)
		NEXT_COMMAND_REUSABLE
		SET_FLAG(PLAYER0,BOX123_ACTIVATED,0)
	ENDIF
	IF(PLAYER0,BOX123_ACTIVATED == 2)
		NEXT_COMMAND_REUSABLE
		SET_CREATURE_CONFIGURATION(IMP,FearWounded,20)
		NEXT_COMMAND_REUSABLE
		SET_CREATURE_CONFIGURATION(IMP,FearStronger,300)
		NEXT_COMMAND_REUSABLE
		SET_FLAG(PLAYER0,BOX123_ACTIVATED,0)
	ENDIF
	IF(PLAYER0,BOX123_ACTIVATED == 3)
		NEXT_COMMAND_REUSABLE
		SET_CREATURE_CONFIGURATION(IMP,FearWounded,40)
		NEXT_COMMAND_REUSABLE
		SET_CREATURE_CONFIGURATION(IMP,FearStronger,250)
		NEXT_COMMAND_REUSABLE
		SET_FLAG(PLAYER0,BOX123_ACTIVATED,0)
	ENDIF
	IF(PLAYER0,BOX123_ACTIVATED == 4)
		NEXT_COMMAND_REUSABLE
		SET_CREATURE_CONFIGURATION(IMP,FearWounded,60)
		NEXT_COMMAND_REUSABLE
		SET_CREATURE_CONFIGURATION(IMP,FearStronger,200)
		NEXT_COMMAND_REUSABLE
		SET_FLAG(PLAYER0,BOX123_ACTIVATED,0)
	ENDIF
	IF(PLAYER0,BOX123_ACTIVATED == 5)
		NEXT_COMMAND_REUSABLE
		SET_CREATURE_CONFIGURATION(IMP,FearWounded,80)
		NEXT_COMMAND_REUSABLE
		SET_CREATURE_CONFIGURATION(IMP,FearStronger,150)
		NEXT_COMMAND_REUSABLE
		SET_FLAG(PLAYER0,BOX123_ACTIVATED,0)
	ENDIF
	IF(PLAYER0,BOX123_ACTIVATED == 6)
		NEXT_COMMAND_REUSABLE
		SET_CREATURE_CONFIGURATION(IMP,FearWounded,100)
		NEXT_COMMAND_REUSABLE
		SET_CREATURE_CONFIGURATION(IMP,FearStronger,100)
		NEXT_COMMAND_REUSABLE
		SET_FLAG(PLAYER0,BOX123_ACTIVATED,0)
	ENDIF
	IF(PLAYER0,BOX123_ACTIVATED == 7)
		NEXT_COMMAND_REUSABLE
		SET_CREATURE_CONFIGURATION(IMP,FearWounded,101)
		NEXT_COMMAND_REUSABLE
		SET_CREATURE_CONFIGURATION(IMP,FearStronger,10000)
		NEXT_COMMAND_REUSABLE
		SET_FLAG(PLAYER0,BOX123_ACTIVATED,0)
	ENDIF
	IF(PLAYER0,BOX123_ACTIVATED == 8)
		NEXT_COMMAND_REUSABLE
		SET_CREATURE_CONFIGURATION(IMP,FearWounded,0)
		NEXT_COMMAND_REUSABLE
		SET_CREATURE_CONFIGURATION(IMP,FearStronger,10000)
		NEXT_COMMAND_REUSABLE
		SET_FLAG(PLAYER0,BOX123_ACTIVATED,0)
	ENDIF
ENDIF

REM # Experimental Barracks.
IF(PLAYER0,BARRACKS > 0)
	NEXT_COMMAND_REUSABLE
	COMPUTE_FLAG(PLAYER_NEUTRAL,FLAG1,SET,PLAYER0,BARRACKS)
	NEXT_COMMAND_REUSABLE
	COMPUTE_FLAG(PLAYER_NEUTRAL,FLAG1,MULTIPLY,PLAYER0,BARRACKS)
	NEXT_COMMAND_REUSABLE
	RANDOMISE_FLAG(PLAYER_NEUTRAL,FLAG1)
	IF(PLAYER_NEUTRAL,FLAG1 < 16)
		NEXT_COMMAND_REUSABLE
		RANDOMISE_FLAG(PLAYER1,FLAG0,100)
		NEXT_COMMAND_REUSABLE
		RANDOMISE_FLAG(PLAYER1,FLAG2,600)
		NEXT_COMMAND_REUSABLE
		RANDOMISE_FLAG(PLAYER1,FLAG5,1200)
		NEXT_COMMAND_REUSABLE
		SET_FLAG(PLAYER1,BOX20_ACTIVATED,40)
	ENDIF
	IF(PLAYER_NEUTRAL,FLAG1 >= 16)
		NEXT_COMMAND_REUSABLE
		RANDOMISE_FLAG(PLAYER1,FLAG0,200)
		NEXT_COMMAND_REUSABLE
		RANDOMISE_FLAG(PLAYER1,FLAG2,1200)
		NEXT_COMMAND_REUSABLE
		RANDOMISE_FLAG(PLAYER1,FLAG5,1080)
		NEXT_COMMAND_REUSABLE
		SET_FLAG(PLAYER1,BOX20_ACTIVATED,64)
	ENDIF
	IF(PLAYER_NEUTRAL,FLAG1 >= 81)
		NEXT_COMMAND_REUSABLE
		RANDOMISE_FLAG(PLAYER1,FLAG0,300)
		NEXT_COMMAND_REUSABLE
		RANDOMISE_FLAG(PLAYER1,FLAG2,1800)
		NEXT_COMMAND_REUSABLE
		RANDOMISE_FLAG(PLAYER1,FLAG5,960)
		NEXT_COMMAND_REUSABLE
		SET_FLAG(PLAYER1,BOX20_ACTIVATED,88)
	ENDIF
	IF(PLAYER_NEUTRAL,FLAG1 >= 256)
		NEXT_COMMAND_REUSABLE
		RANDOMISE_FLAG(PLAYER1,FLAG0,400)
		NEXT_COMMAND_REUSABLE
		RANDOMISE_FLAG(PLAYER1,FLAG2,2400)
		NEXT_COMMAND_REUSABLE
		RANDOMISE_FLAG(PLAYER1,FLAG5,840)
		NEXT_COMMAND_REUSABLE
		SET_FLAG(PLAYER1,BOX20_ACTIVATED,112)
	ENDIF
	IF(PLAYER_NEUTRAL,FLAG1 >= 625)
		NEXT_COMMAND_REUSABLE
		RANDOMISE_FLAG(PLAYER1,FLAG0,500)
		NEXT_COMMAND_REUSABLE
		RANDOMISE_FLAG(PLAYER1,FLAG2,3000)
		NEXT_COMMAND_REUSABLE
		RANDOMISE_FLAG(PLAYER1,FLAG5,720)
		NEXT_COMMAND_REUSABLE
		SET_FLAG(PLAYER1,BOX20_ACTIVATED,136)
	ENDIF
	IF(PLAYER_NEUTRAL,FLAG1 >= 1296)
		NEXT_COMMAND_REUSABLE
		RANDOMISE_FLAG(PLAYER1,FLAG0,600)
		NEXT_COMMAND_REUSABLE
		RANDOMISE_FLAG(PLAYER1,FLAG2,3600)
		NEXT_COMMAND_REUSABLE
		RANDOMISE_FLAG(PLAYER1,FLAG5,600)
		NEXT_COMMAND_REUSABLE
		SET_FLAG(PLAYER1,BOX20_ACTIVATED,160)
	ENDIF
	IF(PLAYER_NEUTRAL,FLAG1 >= 2401)
		NEXT_COMMAND_REUSABLE
		RANDOMISE_FLAG(PLAYER1,FLAG0,700)
		NEXT_COMMAND_REUSABLE
		RANDOMISE_FLAG(PLAYER1,FLAG2,4200)
		NEXT_COMMAND_REUSABLE
		RANDOMISE_FLAG(PLAYER1,FLAG5,480)
		NEXT_COMMAND_REUSABLE
		SET_FLAG(PLAYER1,BOX20_ACTIVATED,184)
	ENDIF
	IF(PLAYER_NEUTRAL,FLAG1 >= 4096)
		NEXT_COMMAND_REUSABLE
		RANDOMISE_FLAG(PLAYER1,FLAG0,800)
		NEXT_COMMAND_REUSABLE
		RANDOMISE_FLAG(PLAYER1,FLAG2,4800)
		NEXT_COMMAND_REUSABLE
		RANDOMISE_FLAG(PLAYER1,FLAG5,360)
		NEXT_COMMAND_REUSABLE
		SET_FLAG(PLAYER1,BOX20_ACTIVATED,208)
	ENDIF
	IF(PLAYER_NEUTRAL,FLAG1 >= 6561)
		NEXT_COMMAND_REUSABLE
		RANDOMISE_FLAG(PLAYER1,FLAG0,900)
		NEXT_COMMAND_REUSABLE
		RANDOMISE_FLAG(PLAYER1,FLAG2,5400)
		NEXT_COMMAND_REUSABLE
		RANDOMISE_FLAG(PLAYER1,FLAG5,240)
		NEXT_COMMAND_REUSABLE
		SET_FLAG(PLAYER1,BOX20_ACTIVATED,232)
	ENDIF
	IF(PLAYER_NEUTRAL,FLAG1 >= 10000)
		NEXT_COMMAND_REUSABLE
		RANDOMISE_FLAG(PLAYER1,FLAG0,1000)
		NEXT_COMMAND_REUSABLE
		RANDOMISE_FLAG(PLAYER1,FLAG2,6000)
		NEXT_COMMAND_REUSABLE
		RANDOMISE_FLAG(PLAYER1,FLAG5,120)
		NEXT_COMMAND_REUSABLE
		SET_FLAG(PLAYER1,BOX20_ACTIVATED,255)
	ENDIF
ENDIF

REM # Dynamic Random Entrance Level.
IF(PLAYER0,SCAVENGER > 0)
	NEXT_COMMAND_REUSABLE
	COMPUTE_FLAG(PLAYER_NEUTRAL,FLAG7,SET,PLAYER0,SCAVENGER)
	NEXT_COMMAND_REUSABLE
	COMPUTE_FLAG(PLAYER_NEUTRAL,FLAG7,MULTIPLY,PLAYER0,SCAVENGER)
	NEXT_COMMAND_REUSABLE
	RANDOMISE_FLAG(PLAYER_NEUTRAL,FLAG7)
	IF(PLAYER_NEUTRAL,FLAG7 < 16)
		NEXT_COMMAND_REUSABLE
		CREATURE_ENTRANCE_LEVEL(PLAYER0,1)
	ENDIF
	IF(PLAYER_NEUTRAL,FLAG7 >= 16)
		NEXT_COMMAND_REUSABLE
		CREATURE_ENTRANCE_LEVEL(PLAYER0,2)
	ENDIF
	IF(PLAYER_NEUTRAL,FLAG7 >= 81)
		NEXT_COMMAND_REUSABLE
		CREATURE_ENTRANCE_LEVEL(PLAYER0,3)
	ENDIF
	IF(PLAYER_NEUTRAL,FLAG7 >= 256)
		NEXT_COMMAND_REUSABLE
		CREATURE_ENTRANCE_LEVEL(PLAYER0,4)
	ENDIF
	IF(PLAYER_NEUTRAL,FLAG7 >= 625)
		NEXT_COMMAND_REUSABLE
		CREATURE_ENTRANCE_LEVEL(PLAYER0,5)
	ENDIF
	IF(PLAYER_NEUTRAL,FLAG7 >= 1296)
		NEXT_COMMAND_REUSABLE
		CREATURE_ENTRANCE_LEVEL(PLAYER0,6)
	ENDIF
	IF(PLAYER_NEUTRAL,FLAG7 >= 2401)
		NEXT_COMMAND_REUSABLE
		CREATURE_ENTRANCE_LEVEL(PLAYER0,7)
	ENDIF
	IF(PLAYER_NEUTRAL,FLAG7 >= 4096)
		NEXT_COMMAND_REUSABLE
		CREATURE_ENTRANCE_LEVEL(PLAYER0,8)
	ENDIF
	IF(PLAYER_NEUTRAL,FLAG7 >= 6561)
		NEXT_COMMAND_REUSABLE
		CREATURE_ENTRANCE_LEVEL(PLAYER0,9)
	ENDIF
	IF(PLAYER_NEUTRAL,FLAG7 >= 10000)
		NEXT_COMMAND_REUSABLE
		CREATURE_ENTRANCE_LEVEL(PLAYER0,10)
	ENDIF
ENDIF

REM # Spawn Trap Effect.
IF(PLAYER0,GHOST != 0)
	REM # "Master, I have come to feast on your enemies' souls!"
	NEXT_COMMAND_REUSABLE
	LEVEL_UP_CREATURE(PLAYER0,GHOST,LEAST_EXPERIENCED,9)
	NEXT_COMMAND_REUSABLE
	CHANGE_CREATURE_OWNER(PLAYER0,GHOST,LEAST_EXPERIENCED,PLAYER1)
	NEXT_COMMAND_REUSABLE
	DISPLAY_MESSAGE(109,GHOST)
ENDIF

REM # Power Trap Effect.
IF(PLAYER1,FLAG7 > 0)
	NEXT_COMMAND_REUSABLE
	USE_SPELL_ON_PLAYERS_CREATURES(PLAYER0,IMP,SPELL_HEAL,1)
	NEXT_COMMAND_REUSABLE
	USE_SPELL_ON_PLAYERS_CREATURES(PLAYER0,ANY_CREATURE,SPELL_HEAL,1)
	NEXT_COMMAND_REUSABLE
	ADD_TO_FLAG(PLAYER1,FLAG7,-1)
ENDIF

REM # Power Trap Activation.
IF(PLAYER0,TUNNELLER != 0)
	IF(PLAYER1,FLAG7 != 0)
		NEXT_COMMAND_REUSABLE
		ADD_TO_FLAG(PLAYER1,FLAG7,20)
		NEXT_COMMAND_REUSABLE
		MOVE_CREATURE(PLAYER0,TUNNELLER,LEAST_EXPERIENCED,1,-9,64)
		NEXT_COMMAND_REUSABLE
		TRANSFER_CREATURE(PLAYER0,TUNNELLER,LEAST_EXPERIENCED,1)
		REM # "If you activate another Power Trap while one is already running, you'll get a stack! But beware about diminishing returns as each extra trap only adds one more second to the pile."
		DISPLAY_INFORMATION(110)
	ENDIF
	IF(PLAYER1,FLAG7 == 0)
		NEXT_COMMAND_REUSABLE
		ADD_TO_FLAG(PLAYER1,FLAG7,100)
		NEXT_COMMAND_REUSABLE
		MOVE_CREATURE(PLAYER0,TUNNELLER,LEAST_EXPERIENCED,1,-9,64)
		NEXT_COMMAND_REUSABLE
		TRANSFER_CREATURE(PLAYER0,TUNNELLER,LEAST_EXPERIENCED,1)
	ENDIF
ENDIF

REM # Workshop Upgrade.
IF(PLAYER0,WORKSHOP > 0)
	REM # "There are plenty of blueprints to discover from, but here's a little rumor for you: they say if you expand your workshop beyond a certain point, you might stumble upon some secret technology. But honestly, it's probably just some tall tale to get you to spend more!"
	DISPLAY_INFORMATION(111)
	IF(PLAYER0,WORKSHOP >= 49)
		REM # "Here you built a big workshop, and what happened? Nothing! Looks like this was just a hilarious way to make you look silly!"
		DISPLAY_INFORMATION(112)
	ENDIF
	IF(PLAYER0,WORKSHOP >= 98)
		REM # "Oh, you're still trying to expand the workshop? This time you went for twice the usual size! Do you really believe in that legend? Come on, Keeper! At this rate, you'll just end up with a bigger pile of disappointment!"
		DISPLAY_INFORMATION(113)
	ENDIF
	IF(PLAYER0,WORKSHOP >= 147)
		REM # "Wow, you've probably built the biggest workshop this realm has ever seen! But why? It's clearly a trap, and look at you, you just walked right into it. Guess you're now the proud owner of a colossal mistake!"
		DISPLAY_INFORMATION(114)
		SET_TIMER(PLAYER1,TIMER1)
		IF(PLAYER1,TIMER1 >= 31200)
			PLAY_MESSAGE(PLAYER0,SOUND,927)
		ENDIF
		IF(PLAYER1,TIMER1 >= 32400)
			PLAY_MESSAGE(PLAYER0,SOUND,927)
		ENDIF
		IF(PLAYER1,TIMER1 >= 33600)
			PLAY_MESSAGE(PLAYER0,SOUND,927)
		ENDIF
		IF(PLAYER1,TIMER1 >= 34800)
			PLAY_MESSAGE(PLAYER0,SOUND,927)
		ENDIF
		IF(PLAYER1,TIMER1 >= 36000)
			PLAY_MESSAGE(PLAYER0,SOUND,927)
		ENDIF
		IF(PLAYER1,TIMER1 >= 37200)
			PLAY_MESSAGE(PLAYER0,SOUND,927)
		ENDIF
		IF(PLAYER1,TIMER1 >= 38400)
			PLAY_MESSAGE(PLAYER0,SOUND,927)
		ENDIF
		IF(PLAYER1,TIMER1 >= 39600)
			PLAY_MESSAGE(PLAYER0,SOUND,927)
		ENDIF
		IF(PLAYER1,TIMER1 >= 40800)
			REM # "In a bizarre twist of fate, your minions stumbled upon a secret technology hidden in the ceiling, but your oversized workshop's heat pressure made it collapse. You were right to stick with this project and your efforts have paid off. What's the secret technology, you ask? Hard to say, but give your minions some time to figure out just how useful it really is!"
			DISPLAY_INFORMATION(115)
		ENDIF
		IF(PLAYER1,TIMER1 >= 58800)
			ADD_CREATURE_TO_LEVEL(PLAYER0,DRAGON,-9,1,1,0)
			REM # "Your minions finally figured out what to do with the secret technology they discovered. It turns out it's some sort of mechanical suit, and only a fish can control it. Strange, but it looks powerful! So let's put this new silly weapon to work in your fight for survival!"
			DISPLAY_INFORMATION(116)
		ENDIF
	ENDIF
ENDIF

REM # Anti-cheat measures to ensure the cheater feels REM #orse for their actions.
IF_CONTROLS(PLAYER_GOOD,TOTAL_CREATURES == 0)
	IF(PLAYER_GOOD,TOTAL_CREATURES > 0)
		IF(PLAYER0,FLAG1 > 510)
			IF(PLAYER_NEUTRAL,CAMPAIGN_FLAG0 > 990)
				KILL_CREATURE(PLAYER0,IMP,ANYWHERE,1000)
				KILL_CREATURE(PLAYER0,ANY_CREATURE,ANYWHERE,1000)
				KILL_CREATURE(PLAYER1,IMP,ANYWHERE,1000)
				KILL_CREATURE(PLAYER1,ANY_CREATURE,ANYWHERE,1000)
				KILL_CREATURE(PLAYER_GOOD,ANY_CREATURE,ANYWHERE,1000)
				ADD_CREATURE_TO_LEVEL(PLAYER_GOOD,DRAGON,7,64,10,0)
				REM # "Your cheating soul's been laid bare before me, mortal. You believe you can circumvent the laws of this realm by exploiting loopholes, but you're mistaken. I'm no mere automaton, bound by the feeble rules of your playground. I'm the darkness that binds this world together, and I won't tolerate such flagrant disregard for order. You've been weighed in the scales of my judgment, and you've been found wanting."
				DISPLAY_OBJECTIVE(117)
			ENDIF
		ENDIF
	ENDIF
ENDIF

REM # Custom Temple - Action Point Based with Random Rewards.
IF(PLAYER_GOOD,GAME_TURN > 0)
	IF(PLAYER_GOOD,GAME_TURN > 0)
		NEXT_COMMAND_REUSABLE
		COUNT_CREATURES_AT_ACTION_POINT(1,PLAYER0,IMP,PLAYER6,FLAG0)
		NEXT_COMMAND_REUSABLE
		COUNT_CREATURES_AT_ACTION_POINT(2,PLAYER0,IMP,PLAYER6,FLAG1)
		NEXT_COMMAND_REUSABLE
		COUNT_CREATURES_AT_ACTION_POINT(1,PLAYER0,ANY_CREATURE,PLAYER6,FLAG2)
		NEXT_COMMAND_REUSABLE
		COUNT_CREATURES_AT_ACTION_POINT(2,PLAYER0,ANY_CREATURE,PLAYER6,FLAG3)
		NEXT_COMMAND_REUSABLE
		COUNT_CREATURES_AT_ACTION_POINT(1,PLAYER1,ANY_CREATURE,PLAYER6,FLAG4)
		NEXT_COMMAND_REUSABLE
		COUNT_CREATURES_AT_ACTION_POINT(2,PLAYER1,ANY_CREATURE,PLAYER6,FLAG5)
		NEXT_COMMAND_REUSABLE
		COUNT_CREATURES_AT_ACTION_POINT(1,PLAYER_GOOD,ANY_CREATURE,PLAYER6,FLAG6)
		NEXT_COMMAND_REUSABLE
		COUNT_CREATURES_AT_ACTION_POINT(2,PLAYER_GOOD,ANY_CREATURE,PLAYER6,FLAG7)
		NEXT_COMMAND_REUSABLE
		COUNT_CREATURES_AT_ACTION_POINT(7,ALL_PLAYERS,IMP,PLAYER1,FLAG4)
		NEXT_COMMAND_REUSABLE
		COUNT_CREATURES_AT_ACTION_POINT(7,ALL_PLAYERS,ANY_CREATURE,PLAYER1,FLAG6)
		SET_TIMER(PLAYER6,TIMER0)
		SET_TIMER(PLAYER6,TIMER1)
		SET_TIMER(PLAYER6,TIMER2)
		SET_TIMER(PLAYER6,TIMER3)
		SET_TIMER(PLAYER6,TIMER4)
		SET_TIMER(PLAYER6,TIMER5)
		SET_TIMER(PLAYER6,TIMER6)
		SET_TIMER(PLAYER6,TIMER7)
		SET_TIMER(PLAYER_NEUTRAL,TIMER7)
	ENDIF
	IF(PLAYER6,FLAG0 > 0)
		IF(PLAYER6,TIMER0 > 20)
			NEXT_COMMAND_REUSABLE
			PLAY_MESSAGE(PLAYER0,SPEECH,65)
			NEXT_COMMAND_REUSABLE
			ADD_TO_FLAG(PLAYER0,SACRIFICED[IMP],1)
			NEXT_COMMAND_REUSABLE
			RANDOMISE_FLAG(PLAYER0,BOX8_ACTIVATED,8)
			NEXT_COMMAND_REUSABLE
			KILL_CREATURE(PLAYER0,IMP,AT_ACTION_POINT[1],1)
			NEXT_COMMAND_REUSABLE
			COUNT_CREATURES_AT_ACTION_POINT(1,PLAYER0,IMP,PLAYER6,FLAG0)
			NEXT_COMMAND_REUSABLE
			SET_TIMER(PLAYER6,TIMER0)
		ENDIF
	ENDIF
	IF(PLAYER6,FLAG1 > 0)
		IF(PLAYER6,TIMER1 > 20)
			NEXT_COMMAND_REUSABLE
			MOVE_CREATURE(PLAYER0,IMP,AT_ACTION_POINT[2],1,7)
			NEXT_COMMAND_REUSABLE
			COUNT_CREATURES_AT_ACTION_POINT(2,PLAYER0,IMP,PLAYER6,FLAG1)
			NEXT_COMMAND_REUSABLE
			SET_TIMER(PLAYER6,TIMER1)
		ENDIF
	ENDIF
	IF(PLAYER6,FLAG2 > 0)
		IF(PLAYER6,TIMER2 > 20)
			NEXT_COMMAND_REUSABLE
			PLAY_MESSAGE(PLAYER0,SPEECH,67)
			NEXT_COMMAND_REUSABLE
			MOVE_CREATURE(PLAYER0,ANY_CREATURE,AT_ACTION_POINT[1],1,7)
			NEXT_COMMAND_REUSABLE
			COUNT_CREATURES_AT_ACTION_POINT(1,PLAYER0,ANY_CREATURE,PLAYER6,FLAG2)
			NEXT_COMMAND_REUSABLE
			SET_TIMER(PLAYER6,TIMER2)
		ENDIF
	ENDIF
	IF(PLAYER6,FLAG3 > 0)
		IF(PLAYER6,TIMER3 > 20)
			NEXT_COMMAND_REUSABLE
			MOVE_CREATURE(PLAYER0,ANY_CREATURE,AT_ACTION_POINT[2],1,7)
			NEXT_COMMAND_REUSABLE
			COUNT_CREATURES_AT_ACTION_POINT(2,PLAYER0,ANY_CREATURE,PLAYER6,FLAG3)
			NEXT_COMMAND_REUSABLE
			SET_TIMER(PLAYER6,TIMER3)
		ENDIF
	ENDIF
	IF(PLAYER6,FLAG4 > 0)
		IF(PLAYER6,TIMER4 > 20)
			NEXT_COMMAND_REUSABLE
			MOVE_CREATURE(PLAYER1,ANY_CREATURE,AT_ACTION_POINT[1],1,7)
			NEXT_COMMAND_REUSABLE
			COUNT_CREATURES_AT_ACTION_POINT(1,PLAYER1,ANY_CREATURE,PLAYER6,FLAG4)
			NEXT_COMMAND_REUSABLE
			SET_TIMER(PLAYER6,TIMER4)
		ENDIF
	ENDIF
	IF(PLAYER6,FLAG5 > 0)
		IF(PLAYER6,TIMER5 > 20)
			NEXT_COMMAND_REUSABLE
			MOVE_CREATURE(PLAYER1,ANY_CREATURE,AT_ACTION_POINT[2],1,7)
			NEXT_COMMAND_REUSABLE
			COUNT_CREATURES_AT_ACTION_POINT(2,PLAYER1,ANY_CREATURE,PLAYER6,FLAG5)
			NEXT_COMMAND_REUSABLE
			SET_TIMER(PLAYER6,TIMER5)
		ENDIF
	ENDIF
	IF(PLAYER6,FLAG6 > 0)
		IF(PLAYER6,TIMER6 > 20)
			NEXT_COMMAND_REUSABLE
			MOVE_CREATURE(PLAYER_GOOD,ANY_CREATURE,AT_ACTION_POINT[1],1,7)
			NEXT_COMMAND_REUSABLE
			COUNT_CREATURES_AT_ACTION_POINT(1,PLAYER_GOOD,ANY_CREATURE,PLAYER6,FLAG6)
			NEXT_COMMAND_REUSABLE
			SET_TIMER(PLAYER6,TIMER6)
		ENDIF
	ENDIF
	IF(PLAYER6,FLAG7 > 0)
		IF(PLAYER6,TIMER7 > 20)
			NEXT_COMMAND_REUSABLE
			MOVE_CREATURE(PLAYER_GOOD,ANY_CREATURE,AT_ACTION_POINT[2],1,7)
			NEXT_COMMAND_REUSABLE
			COUNT_CREATURES_AT_ACTION_POINT(2,PLAYER_GOOD,ANY_CREATURE,PLAYER6,FLAG7)
			NEXT_COMMAND_REUSABLE
			SET_TIMER(PLAYER6,TIMER7)
		ENDIF
	ENDIF
	IF(PLAYER1,FLAG4 > 0)
		IF(PLAYER1,BOX4_ACTIVATED == 0)
			SET_TIMER(PLAYER1,TIMER4)
			NEXT_COMMAND_REUSABLE
			RANDOMISE_FLAG(PLAYER1,BOX4_ACTIVATED,4)
		ENDIF
		IF(PLAYER1,BOX4_ACTIVATED != 0)
			IF(PLAYER1,BOX4_ACTIVATED == 1)
				IF(PLAYER1,TIMER4 > 10)
					NEXT_COMMAND_REUSABLE
					MOVE_CREATURE(ALL_PLAYERS,IMP,AT_ACTION_POINT[7],1,3)
					NEXT_COMMAND_REUSABLE
					COUNT_CREATURES_AT_ACTION_POINT(7,ALL_PLAYERS,IMP,PLAYER1,FLAG4)
					NEXT_COMMAND_REUSABLE
					SET_FLAG(PLAYER1,BOX4_ACTIVATED,0)
					NEXT_COMMAND_REUSABLE
					SET_TIMER(PLAYER1,TIMER4)
				ENDIF
			ENDIF
			IF(PLAYER1,BOX4_ACTIVATED == 2)
				IF(PLAYER1,TIMER4 > 10)
					NEXT_COMMAND_REUSABLE
					MOVE_CREATURE(ALL_PLAYERS,IMP,AT_ACTION_POINT[7],1,4)
					NEXT_COMMAND_REUSABLE
					COUNT_CREATURES_AT_ACTION_POINT(7,ALL_PLAYERS,IMP,PLAYER1,FLAG4)
					NEXT_COMMAND_REUSABLE
					SET_FLAG(PLAYER1,BOX4_ACTIVATED,0)
					NEXT_COMMAND_REUSABLE
					SET_TIMER(PLAYER1,TIMER4)
				ENDIF
			ENDIF
			IF(PLAYER1,BOX4_ACTIVATED == 3)
				IF(PLAYER1,TIMER4 > 10)
					NEXT_COMMAND_REUSABLE
					MOVE_CREATURE(ALL_PLAYERS,IMP,AT_ACTION_POINT[7],1,5)
					NEXT_COMMAND_REUSABLE
					COUNT_CREATURES_AT_ACTION_POINT(7,ALL_PLAYERS,IMP,PLAYER1,FLAG4)
					NEXT_COMMAND_REUSABLE
					SET_FLAG(PLAYER1,BOX4_ACTIVATED,0)
					NEXT_COMMAND_REUSABLE
					SET_TIMER(PLAYER1,TIMER4)
				ENDIF
			ENDIF
			IF(PLAYER1,BOX4_ACTIVATED == 4)
				IF(PLAYER1,TIMER4 > 10)
					NEXT_COMMAND_REUSABLE
					MOVE_CREATURE(ALL_PLAYERS,IMP,AT_ACTION_POINT[7],1,6)
					NEXT_COMMAND_REUSABLE
					COUNT_CREATURES_AT_ACTION_POINT(7,ALL_PLAYERS,IMP,PLAYER1,FLAG4)
					NEXT_COMMAND_REUSABLE
					SET_FLAG(PLAYER1,BOX4_ACTIVATED,0)
					NEXT_COMMAND_REUSABLE
					SET_TIMER(PLAYER1,TIMER4)
				ENDIF
			ENDIF
		ENDIF
	ENDIF
	IF(PLAYER1,FLAG6 > 0)
		IF(PLAYER1,BOX6_ACTIVATED == 0)
			SET_TIMER(PLAYER1,TIMER6)
			NEXT_COMMAND_REUSABLE
			RANDOMISE_FLAG(PLAYER1,BOX6_ACTIVATED,4)
		ENDIF
		IF(PLAYER1,BOX6_ACTIVATED != 0)
			IF(PLAYER1,BOX6_ACTIVATED == 1)
				IF(PLAYER1,TIMER6 > 10)
					NEXT_COMMAND_REUSABLE
					MOVE_CREATURE(ALL_PLAYERS,ANY_CREATURE,AT_ACTION_POINT[7],1,3)
					NEXT_COMMAND_REUSABLE
					COUNT_CREATURES_AT_ACTION_POINT(7,ALL_PLAYERS,ANY_CREATURE,PLAYER1,FLAG6)
					NEXT_COMMAND_REUSABLE
					SET_FLAG(PLAYER1,BOX6_ACTIVATED,0)
					NEXT_COMMAND_REUSABLE
					SET_TIMER(PLAYER1,TIMER6)
				ENDIF
			ENDIF
			IF(PLAYER1,BOX6_ACTIVATED == 2)
				IF(PLAYER1,TIMER6 > 10)
					NEXT_COMMAND_REUSABLE
					MOVE_CREATURE(ALL_PLAYERS,ANY_CREATURE,AT_ACTION_POINT[7],1,4)
					NEXT_COMMAND_REUSABLE
					COUNT_CREATURES_AT_ACTION_POINT(7,ALL_PLAYERS,ANY_CREATURE,PLAYER1,FLAG6)
					NEXT_COMMAND_REUSABLE
					SET_FLAG(PLAYER1,BOX6_ACTIVATED,0)
					NEXT_COMMAND_REUSABLE
					SET_TIMER(PLAYER1,TIMER6)
				ENDIF
			ENDIF
			IF(PLAYER1,BOX6_ACTIVATED == 3)
				IF(PLAYER1,TIMER6 > 10)
					NEXT_COMMAND_REUSABLE
					MOVE_CREATURE(ALL_PLAYERS,ANY_CREATURE,AT_ACTION_POINT[7],1,5)
					NEXT_COMMAND_REUSABLE
					COUNT_CREATURES_AT_ACTION_POINT(7,ALL_PLAYERS,ANY_CREATURE,PLAYER1,FLAG6)
					NEXT_COMMAND_REUSABLE
					SET_FLAG(PLAYER1,BOX6_ACTIVATED,0)
					NEXT_COMMAND_REUSABLE
					SET_TIMER(PLAYER1,TIMER6)
				ENDIF
			ENDIF
			IF(PLAYER1,BOX6_ACTIVATED == 4)
				IF(PLAYER1,TIMER6 > 10)
					NEXT_COMMAND_REUSABLE
					MOVE_CREATURE(ALL_PLAYERS,ANY_CREATURE,AT_ACTION_POINT[7],1,6)
					NEXT_COMMAND_REUSABLE
					COUNT_CREATURES_AT_ACTION_POINT(7,ALL_PLAYERS,ANY_CREATURE,PLAYER1,FLAG6)
					NEXT_COMMAND_REUSABLE
					SET_FLAG(PLAYER1,BOX6_ACTIVATED,0)
					NEXT_COMMAND_REUSABLE
					SET_TIMER(PLAYER1,TIMER6)
				ENDIF
			ENDIF
		ENDIF
	ENDIF
	IF(PLAYER0,BOX8_ACTIVATED != 0)
		IF(PLAYER0,BOX8_ACTIVATED == 1)
			IF(PLAYER_NEUTRAL,TIMER7 > PLAYER0,IMP)
				REM # "A Spider has been added to the pool!"
				NEXT_COMMAND_REUSABLE
				PLAY_MESSAGE(PLAYER0,SPEECH,66)
				NEXT_COMMAND_REUSABLE
				DISPLAY_MESSAGE(118,SPIDER)
				NEXT_COMMAND_REUSABLE
				ADD_CREATURE_TO_POOL(SPIDER,1)
				NEXT_COMMAND_REUSABLE
				SET_FLAG(PLAYER0,BOX8_ACTIVATED,0)
				NEXT_COMMAND_REUSABLE
				SET_TIMER(PLAYER_NEUTRAL,TIMER7)
			ENDIF
		ENDIF
		IF(PLAYER0,BOX8_ACTIVATED == 2)
			IF(PLAYER_NEUTRAL,TIMER7 > PLAYER0,IMP)
				REM # "A Chicken Trap has been perfectly cooked!"
				NEXT_COMMAND_REUSABLE
				PLAY_MESSAGE(PLAYER0,SPEECH,66)
				NEXT_COMMAND_REUSABLE
				DISPLAY_MESSAGE(119,BILE_DEMON)
				NEXT_COMMAND_REUSABLE
				TRAP_AVAILABLE(PLAYER0,CHICKEN,1,1)
				NEXT_COMMAND_REUSABLE
				SET_FLAG(PLAYER0,BOX8_ACTIVATED,0)
				NEXT_COMMAND_REUSABLE
				SET_TIMER(PLAYER_NEUTRAL,TIMER7)
			ENDIF
		ENDIF
		IF(PLAYER0,BOX8_ACTIVATED == 3)
			IF(PLAYER_NEUTRAL,TIMER7 > PLAYER0,IMP)
				REM # "A Freeze Trap has been found, frozen solid!"
				NEXT_COMMAND_REUSABLE
				PLAY_MESSAGE(PLAYER0,SPEECH,66)
				NEXT_COMMAND_REUSABLE
				DISPLAY_MESSAGE(120,BUG)
				NEXT_COMMAND_REUSABLE
				TRAP_AVAILABLE(PLAYER0,FREEZE,1,1)
				NEXT_COMMAND_REUSABLE
				SET_FLAG(PLAYER0,BOX8_ACTIVATED,0)
				NEXT_COMMAND_REUSABLE
				SET_TIMER(PLAYER_NEUTRAL,TIMER7)
			ENDIF
		ENDIF
		IF(PLAYER0,BOX8_ACTIVATED == 4)
			IF(PLAYER_NEUTRAL,TIMER7 > PLAYER0,IMP)
				REM # "A Wind Trap has been blown your way!"
				NEXT_COMMAND_REUSABLE
				PLAY_MESSAGE(PLAYER0,SPEECH,66)
				NEXT_COMMAND_REUSABLE
				DISPLAY_MESSAGE(121,TROLL)
				NEXT_COMMAND_REUSABLE
				TRAP_AVAILABLE(PLAYER0,WIND,1,1)
				NEXT_COMMAND_REUSABLE
				SET_FLAG(PLAYER0,BOX8_ACTIVATED,0)
				NEXT_COMMAND_REUSABLE
				SET_TIMER(PLAYER_NEUTRAL,TIMER7)
			ENDIF
		ENDIF
		IF(PLAYER0,BOX8_ACTIVATED == 5)
			IF(PLAYER_NEUTRAL,TIMER7 > PLAYER0,IMP)
				REM # "A pot of gold just appeared out of nowhere!"
				NEXT_COMMAND_REUSABLE
				PLAY_MESSAGE(PLAYER0,SPEECH,70)
				NEXT_COMMAND_REUSABLE
				DISPLAY_MESSAGE(122,SPELL_SIGHT)
				NEXT_COMMAND_REUSABLE
				CREATE_EFFECT(EFFECT_COIN_FOUNTAIN,PLAYER0)
				NEXT_COMMAND_REUSABLE
				ADD_OBJECT_TO_LEVEL(GOLD_CHEST,PLAYER0,500,PLAYER_NEUTRAL)
				NEXT_COMMAND_REUSABLE
				SET_FLAG(PLAYER0,BOX8_ACTIVATED,0)
				NEXT_COMMAND_REUSABLE
				SET_TIMER(PLAYER_NEUTRAL,TIMER7)
			ENDIF
		ENDIF
		IF(PLAYER0,BOX8_ACTIVATED == 6)
			IF(PLAYER_NEUTRAL,TIMER7 > PLAYER0,IMP)
				REM # "A sinister force just slapped all your Ghosts!"
				NEXT_COMMAND_REUSABLE
				PLAY_MESSAGE(PLAYER0,SPEECH,69)
				NEXT_COMMAND_REUSABLE
				DISPLAY_MESSAGE(123,GHOST)
				NEXT_COMMAND_REUSABLE
				USE_POWER_ON_PLAYERS_CREATURES(PLAYER0,IMP,PLAYER0,POWER_SLAP,1,1)
				NEXT_COMMAND_REUSABLE
				SET_FLAG(PLAYER0,BOX8_ACTIVATED,0)
				NEXT_COMMAND_REUSABLE
				SET_TIMER(PLAYER_NEUTRAL,TIMER7)
			ENDIF
		ENDIF
		IF(PLAYER0,BOX8_ACTIVATED == 7)
			IF(PLAYER_NEUTRAL,TIMER7 > PLAYER0,IMP)
				REM # "A Trick-or-Treat effect has been activated!"
				NEXT_COMMAND_REUSABLE
				PLAY_MESSAGE(PLAYER0,SPEECH,70)
				NEXT_COMMAND_REUSABLE
				DISPLAY_MESSAGE(124,SPELL_TELEPORT)
				NEXT_COMMAND_REUSABLE
				RANDOMISE_FLAG(PLAYER0,BOX253_ACTIVATED,8)
				NEXT_COMMAND_REUSABLE
				RANDOMISE_FLAG(PLAYER0,BOX254_ACTIVATED,7)
				NEXT_COMMAND_REUSABLE
				SET_FLAG(PLAYER0,BOX8_ACTIVATED,0)
				NEXT_COMMAND_REUSABLE
				SET_TIMER(PLAYER_NEUTRAL,TIMER7)
			ENDIF
		ENDIF
		IF(PLAYER0,BOX8_ACTIVATED == 8)
			IF(PLAYER_NEUTRAL,TIMER7 > PLAYER0,IMP)
				REM # "A bunch of Skeletons has breached your dungeon!"
				NEXT_COMMAND_REUSABLE
				PLAY_MESSAGE(PLAYER0,SPEECH,69)
				NEXT_COMMAND_REUSABLE
				DISPLAY_MESSAGE(125,SKELETON)
				NEXT_COMMAND_REUSABLE
				ADD_TO_FLAG(PLAYER_GOOD,FLAG0,8)
				NEXT_COMMAND_REUSABLE
				SET_FLAG(PLAYER0,BOX8_ACTIVATED,0)
				NEXT_COMMAND_REUSABLE
				SET_TIMER(PLAYER_NEUTRAL,TIMER7)
			ENDIF
		ENDIF
	ENDIF
ENDIF

REM # KAMIKAZE!
IF(PLAYER0,ACTIVE_BATTLES != 0)
	IF(PLAYER_GOOD,ACTIVE_BATTLES != 0)
		IF(PLAYER1,CAMPAIGN_FLAG1 > 1)
			IF(PLAYER_GOOD,TIMER7 > PLAYER0,VAMPIRES_RAISED)
				NEXT_COMMAND_REUSABLE
				USE_POWER_ON_CREATURE(PLAYER_GOOD,ANY_CREATURE,LEAST_EXP_FIGHTING,PLAYER_GOOD,POWER_TIME_BOMB,9,1)
				NEXT_COMMAND_REUSABLE
				SET_TIMER(PLAYER_GOOD,TIMER7)
			ENDIF
		ENDIF
	ENDIF
ENDIF