REM # General Settings.
LEVEL_VERSION(1)
RUN_AFTER_VICTORY(1)
REM # DEAD_CREATURES_RETURN_TO_POOL(0)
SET_TIMER(PLAYER0,TIMER0)
SET_CREATURE_TENDENCIES(ALL_PLAYERS,FLEE,1)

REM # RevMap special for testing, to REM # before release.
REM # ADD_OBJECT_TO_LEVEL(SPECBOX_REVMAP,PLAYER0,0)
CONCEAL_MAP_RECT(PLAYER0,16,31,18,42,1)
CONCEAL_MAP_RECT(PLAYER0,37,241,48,12,1)
CONCEAL_MAP_RECT(PLAYER0,52,103,90,48,1)
CONCEAL_MAP_RECT(PLAYER0,94,238,42,18,1)
CONCEAL_MAP_RECT(PLAYER0,97,70,18,30,1)
CONCEAL_MAP_RECT(PLAYER0,100,91,3,3,1)
CONCEAL_MAP_RECT(PLAYER0,106,55,6,12,1)
CONCEAL_MAP_RECT(PLAYER0,106,91,6,6,1)
CONCEAL_MAP_RECT(PLAYER0,109,94,3,3,1)
CONCEAL_MAP_RECT(PLAYER0,130,43,3,3,1)
CONCEAL_MAP_RECT(PLAYER0,133,181,132,123,1)
CONCEAL_MAP_RECT(PLAYER0,217,241,48,12,1)
CONCEAL_MAP_RECT(PLAYER0,241,244,3,3,1)
CONCEAL_MAP_RECT(PLAYER0,247,82,6,15,1)

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

REM # Computer Process.
SET_COMPUTER_PROCESS(PLAYER1,"BUILD A PRISON ROOM",-70,4,4,4,12)
SET_COMPUTER_PROCESS(PLAYER2,"BUILD A PRISON ROOM",-70,4,4,4,12)
SET_COMPUTER_PROCESS(PLAYER3,"BUILD A PRISON ROOM",-70,4,4,4,12)
SET_COMPUTER_PROCESS(PLAYER1,"BUILD A TORTURE ROOM",-80,4,4,5,4)
SET_COMPUTER_PROCESS(PLAYER2,"BUILD A TORTURE ROOM",-80,4,4,5,4)
SET_COMPUTER_PROCESS(PLAYER3,"BUILD A TORTURE ROOM",-80,4,4,5,4)
SET_COMPUTER_PROCESS(PLAYER1,"BUILD A TEMPLE ROOM",-90,3,3,10,3)
SET_COMPUTER_PROCESS(PLAYER2,"BUILD A TEMPLE ROOM",-90,3,3,10,3)
SET_COMPUTER_PROCESS(PLAYER3,"BUILD A TEMPLE ROOM",-90,3,3,10,3)
SET_COMPUTER_PROCESS(PLAYER1,"BUILD A GRAVEYARD ROOM",-100,6,6,11,5)
SET_COMPUTER_PROCESS(PLAYER2,"BUILD A GRAVEYARD ROOM",-100,6,6,11,5)
SET_COMPUTER_PROCESS(PLAYER3,"BUILD A GRAVEYARD ROOM",-100,4,4,11,5)
SET_COMPUTER_PROCESS(PLAYER1,"BUILD A BARRACK ROOM",-60,3,3,12,2)
SET_COMPUTER_PROCESS(PLAYER2,"BUILD A BARRACK ROOM",-60,3,3,12,2)
SET_COMPUTER_PROCESS(PLAYER3,"BUILD A BARRACK ROOM",-60,3,3,12,2)
SET_COMPUTER_PROCESS(PLAYER1,"BUILD A TREASURE ROOM",-20,5,5,2,7)
SET_COMPUTER_PROCESS(PLAYER2,"BUILD A TREASURE ROOM",-20,5,5,2,7)
SET_COMPUTER_PROCESS(PLAYER3,"BUILD A TREASURE ROOM",-10,4,4,2,7)
SET_COMPUTER_PROCESS(PLAYER1,"BUILD A RESEARCH ROOM",-30,5,5,3,2)
SET_COMPUTER_PROCESS(PLAYER2,"BUILD A RESEARCH ROOM",-30,5,5,3,2)
SET_COMPUTER_PROCESS(PLAYER3,"BUILD A RESEARCH ROOM",-20,4,4,3,2)
SET_COMPUTER_PROCESS(PLAYER1,"BUILD A HATCHERY",-10,6,6,13,14)
SET_COMPUTER_PROCESS(PLAYER2,"BUILD A HATCHERY",-10,6,6,13,14)
SET_COMPUTER_PROCESS(PLAYER3,"BUILD A HATCHERY",-30,3,3,13,14)
SET_COMPUTER_PROCESS(PLAYER1,"BUILD A TRAINING ROOM",-40,5,5,6,13)
SET_COMPUTER_PROCESS(PLAYER2,"BUILD A TRAINING ROOM",-40,5,5,6,13)
SET_COMPUTER_PROCESS(PLAYER3,"BUILD A TRAINING ROOM",-40,4,4,6,13)
SET_COMPUTER_PROCESS(PLAYER1,"BUILD A WORKSHOP ROOM",-50,7,7,8,13)
SET_COMPUTER_PROCESS(PLAYER2,"BUILD A WORKSHOP ROOM",-50,7,7,8,13)
SET_COMPUTER_PROCESS(PLAYER3,"BUILD A WORKSHOP ROOM",-50,4,4,8,13)
SET_COMPUTER_PROCESS(PLAYER1,"ATTACK PLAN 1",0,255,255,255,0)
SET_COMPUTER_PROCESS(PLAYER2,"ATTACK PLAN 1",0,255,255,255,0)
SET_COMPUTER_PROCESS(PLAYER3,"ATTACK PLAN 1",0,255,255,255,0)
SET_COMPUTER_PROCESS(PLAYER1,"ATTACK SAFE ATTACK",0,255,255,255,0)
SET_COMPUTER_PROCESS(PLAYER2,"ATTACK SAFE ATTACK",0,255,255,255,0)
SET_COMPUTER_PROCESS(PLAYER3,"ATTACK SAFE ATTACK",0,255,255,255,0)

REM # Map Settings.
SET_GENERATE_SPEED(600)
START_MONEY(ALL_PLAYERS,30000)
MAX_CREATURES(ALL_PLAYERS,40)
MAX_CREATURES(PLAYER0,0)

REM # Setup Game Rule.
SET_GAME_RULE(BodiesForVampire,16)
SET_GAME_RULE(PrisonSkeletonChance,100)
SET_GAME_RULE(GhostConvertChance,95)
SET_GAME_RULE(TortureDeathChance,5)
SET_GAME_RULE(TortureConvertChance,0)
SET_GAME_RULE(FoodGenerationSpeed,1200)
SET_GAME_RULE(StunEvilEnemyChance,67)
SET_GAME_RULE(StunGoodEnemyChance,33)
SET_GAME_RULE(BodyRemainsFor,1200)
SET_GAME_RULE(DungeonHeartHealHealth,16)
SET_GAME_RULE(PreserveClassicBugs,1120)
SET_GAME_RULE(ImpWorkExperience,1024)
SET_GAME_RULE(GemEffectiveness,33)
SET_GAME_RULE(RoomSellGoldBackPercent,100)
SET_GAME_RULE(DoorSellValuePercent,50)
SET_GAME_RULE(TrapSellValuePercent,50)
SET_GAME_RULE(PayDayGap,18000)
SET_GAME_RULE(HungerHealthLoss,8)
SET_GAME_RULE(GameTurnsPerHungerHealthLoss,20)
SET_GAME_RULE(FoodHealthGain,100)
SET_GAME_RULE(TortureHealthLoss,8)
SET_GAME_RULE(GameTurnsPerTortureHealthLoss,20)
SET_GAME_RULE(AlliesShareCta,1)
SET_GAME_RULE(AlliesShareDrop,1)
SET_GAME_RULE(AlliesShareVision,1)
SET_GAME_RULE(PlaceTrapsOnSubtiles,1)

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

REM # Setup Creature Property.
SET_CREATURE_PROPERTY(IMP,NO_CORPSE_ROTTING,1)
SET_CREATURE_PROPERTY(IMP,NO_IMPRISONMENT,1)
SET_CREATURE_PROPERTY(IMP,IMMUNE_TO_DISEASE,1)
SET_CREATURE_PROPERTY(HORNY,NO_IMPRISONMENT,1)
SET_CREATURE_PROPERTY(HORNY,IMMUNE_TO_BOULDER,1)
SET_CREATURE_PROPERTY(FLY,NO_IMPRISONMENT,1)
SET_CREATURE_PROPERTY(FLY,NEVER_CHICKENS,1)
SET_CREATURE_PROPERTY(FLY,IMMUNE_TO_BOULDER,1)
SET_CREATURE_PROPERTY(FLY,IMMUNE_TO_DISEASE,1)
SET_CREATURE_PROPERTY(FLY,SEE_INVISIBLE,1)
SET_CREATURE_PROPERTY(SPIDER,NO_IMPRISONMENT,1)
SET_CREATURE_PROPERTY(SPIDER,IMMUNE_TO_BOULDER,1)
SET_CREATURE_PROPERTY(GHOST,NO_IMPRISONMENT,1)
SET_CREATURE_PROPERTY(GHOST,IMMUNE_TO_DISEASE,1)
SET_CREATURE_PROPERTY(SKELETON,NO_IMPRISONMENT,1)
SET_CREATURE_PROPERTY(SKELETON,IMMUNE_TO_DISEASE,1)
SET_CREATURE_PROPERTY(VAMPIRE,IMMUNE_TO_DISEASE,1)
SET_CREATURE_PROPERTY(AVATAR,NEVER_CHICKENS,1)
SET_CREATURE_PROPERTY(AVATAR,IMMUNE_TO_BOULDER,1)
SET_CREATURE_PROPERTY(AVATAR,IMMUNE_TO_DISEASE,1)
SET_CREATURE_PROPERTY(AVATAR,SEE_INVISIBLE,1)
SET_CREATURE_PROPERTY(KNIGHT,IMMUNE_TO_BOULDER,1)
SET_CREATURE_PROPERTY(KNIGHT,LORD,0)

REM # Setup Creature Job.
SET_CREATURE_CONFIGURATION(DRAGON,PrimaryJobs,FIGHT)
SET_CREATURE_CONFIGURATION(DRAGON,SecondaryJobs,EXPLORE,TEMPLE_PRAY)
SET_CREATURE_CONFIGURATION(DRAGON,NotDoJobs,SCAVENGE)
SET_CREATURE_CONFIGURATION(HELL_HOUND,PrimaryJobs,FIGHT)
SET_CREATURE_CONFIGURATION(HELL_HOUND,SecondaryJobs,EXPLORE,GUARD)
SET_CREATURE_CONFIGURATION(HELL_HOUND,NotDoJobs,SCAVENGE)
SET_CREATURE_CONFIGURATION(HORNY,PrimaryJobs,FIGHT)
SET_CREATURE_CONFIGURATION(HORNY,SecondaryJobs,EXPLORE)
SET_CREATURE_CONFIGURATION(HORNY,NotDoJobs,SCAVENGE,TEMPLE_PRAY)
SET_CREATURE_CONFIGURATION(HORNY,ResearchValue,3)
SET_CREATURE_CONFIGURATION(HORNY,ManufactureValue,3)
SET_CREATURE_CONFIGURATION(TROLL,PrimaryJobs,FIGHT)
SET_CREATURE_CONFIGURATION(TROLL,SecondaryJobs,MANUFACTURE,GUARD)
SET_CREATURE_CONFIGURATION(TROLL,NotDoJobs,SCAVENGE)
SET_CREATURE_CONFIGURATION(FLY,PrimaryJobs,FIGHT)
SET_CREATURE_CONFIGURATION(FLY,SecondaryJobs,EXPLORE)
SET_CREATURE_CONFIGURATION(FLY,NotDoJobs,SCAVENGE)
SET_CREATURE_CONFIGURATION(SPIDER,PrimaryJobs,FIGHT)
SET_CREATURE_CONFIGURATION(SPIDER,SecondaryJobs,FREEZE_PRISONERS,GUARD)
SET_CREATURE_CONFIGURATION(SPIDER,NotDoJobs,SCAVENGE)
SET_CREATURE_CONFIGURATION(GHOST,PrimaryJobs,FIGHT)
SET_CREATURE_CONFIGURATION(GHOST,SecondaryJobs,TRAIN,SCAVENGE)
SET_CREATURE_CONFIGURATION(GHOST,NotDoJobs,MANUFACTURE,TEMPLE_PRAY)
SET_CREATURE_CONFIGURATION(SKELETON,PrimaryJobs,FIGHT)
SET_CREATURE_CONFIGURATION(SKELETON,SecondaryJobs,TRAIN,SCAVENGE)
SET_CREATURE_CONFIGURATION(SKELETON,NotDoJobs,MANUFACTURE,TEMPLE_PRAY)
SET_CREATURE_CONFIGURATION(VAMPIRE,PrimaryJobs,FIGHT)
SET_CREATURE_CONFIGURATION(VAMPIRE,SecondaryJobs,TRAIN,SCAVENGE)
SET_CREATURE_CONFIGURATION(VAMPIRE,NotDoJobs,MANUFACTURE,TEMPLE_PRAY)

REM # Imp Configuration.
SET_CREATURE_CONFIGURATION(IMP,GoldHold,1024)
SET_CREATURE_INSTANCE(IMP,1,FIRST_PERSON_DIG,1)
SET_CREATURE_INSTANCE(IMP,2,SWING_WEAPON_SWORD,1)
SET_CREATURE_INSTANCE(IMP,3,INVISIBILITY,1)
SET_CREATURE_INSTANCE(IMP,4,SPEED,3)
SET_CREATURE_INSTANCE(IMP,5,SIGHT,5)
SET_CREATURE_INSTANCE(IMP,10,TELEPORT,10)

REM # Dragon Configuration.
SET_CREATURE_CONFIGURATION(DRAGON,Health,1800)
SET_CREATURE_CONFIGURATION(DRAGON,Strength,100)
SET_CREATURE_CONFIGURATION(DRAGON,Armour,120)
SET_CREATURE_CONFIGURATION(DRAGON,Luck,36)
SET_CREATURE_CONFIGURATION(DRAGON,Recovery,15)
SET_CREATURE_CONFIGURATION(DRAGON,HungerRate,16000)
SET_CREATURE_CONFIGURATION(DRAGON,HungerFill,2)
SET_CREATURE_CONFIGURATION(DRAGON,LairSize,1)
SET_CREATURE_CONFIGURATION(DRAGON,BaseSpeed,64)
SET_CREATURE_CONFIGURATION(DRAGON,AttackPreference,MELEE)
SET_CREATURE_CONFIGURATION(DRAGON,Pay,700)
SET_CREATURE_INSTANCE(DRAGON,1,FLAME_BREATH,1)
SET_CREATURE_INSTANCE(DRAGON,2,SWING_WEAPON_FIST,1)
SET_CREATURE_INSTANCE(DRAGON,3,HEAL,2)
SET_CREATURE_INSTANCE(DRAGON,4,REBOUND,4)
SET_CREATURE_INSTANCE(DRAGON,7,FREEZE,7)
SET_CREATURE_INSTANCE(DRAGON,10,HAILSTORM,10)

REM # Hell Hound Configuration.
SET_CREATURE_CONFIGURATION(HELL_HOUND,Health,900)
SET_CREATURE_CONFIGURATION(HELL_HOUND,Strength,70)
SET_CREATURE_CONFIGURATION(HELL_HOUND,Armour,20)
SET_CREATURE_CONFIGURATION(HELL_HOUND,Recovery,16)
SET_CREATURE_CONFIGURATION(HELL_HOUND,HungerRate,12000)
SET_CREATURE_CONFIGURATION(HELL_HOUND,HungerFill,1)
SET_CREATURE_CONFIGURATION(HELL_HOUND,AttackPreference,MELEE)
SET_CREATURE_CONFIGURATION(HELL_HOUND,Pay,67)
SET_CREATURE_INSTANCE(HELL_HOUND,1,SWING_WEAPON_FIST,1)
SET_CREATURE_INSTANCE(HELL_HOUND,3,SPEED,3)
SET_CREATURE_INSTANCE(HELL_HOUND,5,HEAL,5)
SET_CREATURE_INSTANCE(HELL_HOUND,7,FREEZE,7)
SET_CREATURE_INSTANCE(HELL_HOUND,10,HAILSTORM,10)

REM # Horned Reaper Configuration.
SET_CREATURE_CONFIGURATION(HORNY,Health,3000)
SET_CREATURE_CONFIGURATION(HORNY,Strength,120)
SET_CREATURE_CONFIGURATION(HORNY,Armour,75)
SET_CREATURE_CONFIGURATION(HORNY,Dexterity,150)
SET_CREATURE_CONFIGURATION(HORNY,Defence,120)
SET_CREATURE_CONFIGURATION(HORNY,Luck,20)
SET_CREATURE_CONFIGURATION(HORNY,Recovery,16)
SET_CREATURE_CONFIGURATION(HORNY,AttackPreference,MELEE)
SET_CREATURE_CONFIGURATION(HORNY,Pay,950)
SET_CREATURE_INSTANCE(HORNY,1,SWING_WEAPON_SWORD,1)
SET_CREATURE_INSTANCE(HORNY,2,SWING_WEAPON_FIST,1)
SET_CREATURE_INSTANCE(HORNY,5,ARMOUR,5)
SET_CREATURE_INSTANCE(HORNY,10,TELEPORT,10)

REM # Troll Configuration.
SET_CREATURE_CONFIGURATION(TROLL,Health,675)
SET_CREATURE_CONFIGURATION(TROLL,Strength,60)
SET_CREATURE_CONFIGURATION(TROLL,Armour,20)
SET_CREATURE_CONFIGURATION(TROLL,Dexterity,100)
SET_CREATURE_CONFIGURATION(TROLL,Defence,90)
SET_CREATURE_CONFIGURATION(TROLL,Luck,20)
SET_CREATURE_CONFIGURATION(TROLL,Recovery,12)
SET_CREATURE_CONFIGURATION(TROLL,HungerRate,12000)
SET_CREATURE_CONFIGURATION(TROLL,HungerFill,1)
SET_CREATURE_CONFIGURATION(TROLL,BaseSpeed,80)
SET_CREATURE_CONFIGURATION(TROLL,AttackPreference,RANGED)
SET_CREATURE_CONFIGURATION(TROLL,Pay,125)
SET_CREATURE_INSTANCE(TROLL,1,FIRE_ARROW,1)
SET_CREATURE_INSTANCE(TROLL,2,FIREBALL,2)
SET_CREATURE_INSTANCE(TROLL,3,SPEED,3)
SET_CREATURE_INSTANCE(TROLL,4,FIRE_BOMB,4)
SET_CREATURE_INSTANCE(TROLL,5,LIZARD,5)
SET_CREATURE_INSTANCE(TROLL,7,ARMOUR,7)
SET_CREATURE_INSTANCE(TROLL,10,TELEPORT,10)

REM # Fly Configuration.
SET_CREATURE_CONFIGURATION(FLY,Health,32767)
SET_CREATURE_CONFIGURATION(FLY,Strength,255)
SET_CREATURE_CONFIGURATION(FLY,Armour,160)
SET_CREATURE_CONFIGURATION(FLY,Dexterity,188)
SET_CREATURE_CONFIGURATION(FLY,Defence,176)
SET_CREATURE_CONFIGURATION(FLY,Luck,100)
SET_CREATURE_CONFIGURATION(FLY,Recovery,255)
SET_CREATURE_CONFIGURATION(FLY,HungerRate,0)
SET_CREATURE_CONFIGURATION(FLY,HungerFill,0)
SET_CREATURE_CONFIGURATION(FLY,BaseSpeed,128)
SET_CREATURE_CONFIGURATION(FLY,AttackPreference,MELEE)
SET_CREATURE_CONFIGURATION(FLY,SlapsToKill,0)
SET_CREATURE_FEAR_STRONGER(FLY,10000)
SET_CREATURE_FEAR_WOUNDED(FLY,1)
SET_CREATURE_FEARSOME_FACTOR(FLY,10000)
SET_CREATURE_INSTANCE(FLY,1,SWING_WEAPON_FIST,1)
SET_CREATURE_INSTANCE(FLY,2,SWING_WEAPON_SWORD,2)
SET_CREATURE_INSTANCE(FLY,3,HEAL,3)
SET_CREATURE_INSTANCE(FLY,4,FREEZE,4)
SET_CREATURE_INSTANCE(FLY,5,SPEED,5)
SET_CREATURE_INSTANCE(FLY,6,ARMOUR,6)
SET_CREATURE_INSTANCE(FLY,7,REBOUND,7)
SET_CREATURE_INSTANCE(FLY,8,CAST_SPELL_CHICKEN,8)
SET_CREATURE_INSTANCE(FLY,9,CAST_SPELL_DISEASE,9)
SET_CREATURE_INSTANCE(FLY,10,TELEPORT,10)

REM # Spider Configuration.
SET_CREATURE_CONFIGURATION(SPIDER,Health,4000)
SET_CREATURE_CONFIGURATION(SPIDER,Strength,200)
SET_CREATURE_CONFIGURATION(SPIDER,Armour,120)
SET_CREATURE_CONFIGURATION(SPIDER,Dexterity,120)
SET_CREATURE_CONFIGURATION(SPIDER,Defence,150)
SET_CREATURE_CONFIGURATION(SPIDER,Luck,30)
SET_CREATURE_CONFIGURATION(SPIDER,Recovery,20)
SET_CREATURE_CONFIGURATION(SPIDER,HungerRate,1750)
SET_CREATURE_CONFIGURATION(SPIDER,HungerFill,8)
SET_CREATURE_CONFIGURATION(SPIDER,HurtByLava,0)
SET_CREATURE_CONFIGURATION(SPIDER,BaseSpeed,80)
SET_CREATURE_CONFIGURATION(SPIDER,AttackPreference,MELEE)
SET_CREATURE_CONFIGURATION(SPIDER,Pay,2500)
SET_CREATURE_CONFIGURATION(SPIDER,SlapsToKill,0)
SET_CREATURE_FEAR_STRONGER(SPIDER,10000)
SET_CREATURE_INSTANCE(SPIDER,1,SWING_WEAPON_FIST,1)
SET_CREATURE_INSTANCE(SPIDER,2,SLOW,2)
SET_CREATURE_INSTANCE(SPIDER,3,HEAL,3)
SET_CREATURE_INSTANCE(SPIDER,4,FREEZE,4)
SET_CREATURE_INSTANCE(SPIDER,8,HAILSTORM,8)
SET_CREATURE_INSTANCE(SPIDER,10,CAST_SPELL_DISEASE,10)

REM # Ghost Configuration.
SET_CREATURE_CONFIGURATION(GHOST,Health,300)
SET_CREATURE_CONFIGURATION(GHOST,Luck,20)
SET_CREATURE_CONFIGURATION(GHOST,Recovery,20)
SET_CREATURE_CONFIGURATION(GHOST,HungerRate,0)
SET_CREATURE_CONFIGURATION(GHOST,HungerFill,0)
SET_CREATURE_CONFIGURATION(GHOST,AttackPreference,RANGED)
SET_CREATURE_CONFIGURATION(GHOST,Pay,100)
SET_CREATURE_INSTANCE(GHOST,1,DRAIN,1)
SET_CREATURE_INSTANCE(GHOST,2,INVISIBILITY,1)
SET_CREATURE_INSTANCE(GHOST,3,SLOW,3)
SET_CREATURE_INSTANCE(GHOST,4,REBOUND,4)
SET_CREATURE_INSTANCE(GHOST,5,HEAL,5)
SET_CREATURE_INSTANCE(GHOST,6,LIGHTNING,6)
SET_CREATURE_INSTANCE(GHOST,8,SPEED,8)
SET_CREATURE_INSTANCE(GHOST,10,TELEPORT,10)

REM # Skeleton Configuration.
SET_CREATURE_CONFIGURATION(SKELETON,Health,750)
SET_CREATURE_CONFIGURATION(SKELETON,Strength,70)
SET_CREATURE_CONFIGURATION(SKELETON,Armour,30)
SET_CREATURE_CONFIGURATION(SKELETON,Dexterity,85)
SET_CREATURE_CONFIGURATION(SKELETON,Defence,60)
SET_CREATURE_CONFIGURATION(SKELETON,Luck,10)
SET_CREATURE_CONFIGURATION(SKELETON,Recovery,20)
SET_CREATURE_CONFIGURATION(SKELETON,HungerRate,0)
SET_CREATURE_CONFIGURATION(SKELETON,HungerFill,0)
SET_CREATURE_CONFIGURATION(SKELETON,AttackPreference,MELEE)
SET_CREATURE_CONFIGURATION(SKELETON,Pay,350)
SET_CREATURE_INSTANCE(SKELETON,1,SWING_WEAPON_SWORD,1)
SET_CREATURE_INSTANCE(SKELETON,5,SPEED,5)
SET_CREATURE_INSTANCE(SKELETON,10,TELEPORT,10)

REM # Vampire Configuration.
SET_CREATURE_CONFIGURATION(VAMPIRE,Health,1200)
SET_CREATURE_CONFIGURATION(VAMPIRE,Strength,75)
SET_CREATURE_CONFIGURATION(VAMPIRE,Armour,20)
SET_CREATURE_CONFIGURATION(VAMPIRE,Dexterity,120)
SET_CREATURE_CONFIGURATION(VAMPIRE,Defence,90)
SET_CREATURE_CONFIGURATION(VAMPIRE,Luck,30)
SET_CREATURE_CONFIGURATION(VAMPIRE,Recovery,20)
SET_CREATURE_CONFIGURATION(VAMPIRE,HungerRate,0)
SET_CREATURE_CONFIGURATION(VAMPIRE,HungerFill,0)
SET_CREATURE_CONFIGURATION(VAMPIRE,AttackPreference,MELEE)
SET_CREATURE_CONFIGURATION(VAMPIRE,Pay,750)
SET_CREATURE_INSTANCE(VAMPIRE,1,SWING_WEAPON_FIST,1)
SET_CREATURE_INSTANCE(VAMPIRE,2,FLY,2)
SET_CREATURE_INSTANCE(VAMPIRE,3,ARMOUR,3)
SET_CREATURE_INSTANCE(VAMPIRE,4,TELEPORT,4)
SET_CREATURE_INSTANCE(VAMPIRE,5,HEAL,5)
SET_CREATURE_INSTANCE(VAMPIRE,6,INVISIBILITY,6)
SET_CREATURE_INSTANCE(VAMPIRE,7,FREEZE,7)
SET_CREATURE_INSTANCE(VAMPIRE,8,CAST_SPELL_DISEASE,8)
SET_CREATURE_INSTANCE(VAMPIRE,10,HAILSTORM,10)

REM # Avatar Configuration.
SET_CREATURE_CONFIGURATION(AVATAR,Health,6000)
SET_CREATURE_CONFIGURATION(AVATAR,Dexterity,188)
SET_CREATURE_CONFIGURATION(AVATAR,Defence,33)
SET_CREATURE_CONFIGURATION(AVATAR,Luck,30)
SET_CREATURE_CONFIGURATION(AVATAR,HungerRate,0)
SET_CREATURE_CONFIGURATION(AVATAR,HungerFill,0)
SET_CREATURE_CONFIGURATION(AVATAR,HurtByLava,0)
SET_CREATURE_CONFIGURATION(AVATAR,BaseSpeed,80)
SET_CREATURE_CONFIGURATION(AVATAR,AttackPreference,RANGED)
SET_CREATURE_FEAR_STRONGER(AVATAR,10000)
SET_CREATURE_FEAR_WOUNDED(AVATAR,0)
SET_CREATURE_INSTANCE(AVATAR,1,LIGHTNING,1)
SET_CREATURE_INSTANCE(AVATAR,2,ARMOUR,2)
SET_CREATURE_INSTANCE(AVATAR,3,REBOUND,3)
SET_CREATURE_INSTANCE(AVATAR,4,SPEED,4)
SET_CREATURE_INSTANCE(AVATAR,5,CAST_SPELL_CHICKEN,5)
SET_CREATURE_INSTANCE(AVATAR,6,FREEZE,6)
SET_CREATURE_INSTANCE(AVATAR,7,DRAIN,7)
SET_CREATURE_INSTANCE(AVATAR,8,HAILSTORM,8)
SET_CREATURE_INSTANCE(AVATAR,9,FIRE_BOMB,9)
SET_CREATURE_INSTANCE(AVATAR,10,WORD_OF_POWER,10)

REM # Room Configuration.
SET_ROOM_CONFIGURATION(DUNGEON_HEART,SymbolSprites,356,414)
SET_ROOM_CONFIGURATION(ENTRANCE,SymbolSprites,543,545)
SET_ROOM_CONFIGURATION(BRIDGE,Roles,27262976)
SET_ROOM_CONFIGURATION(BRIDGE,TotalCapacity,slabs_all_only)
SET_ROOM_CONFIGURATION(BRIDGE,UsedCapacity,none,none)

REM # Door Configuration.
SET_DOOR_CONFIGURATION(WOOD,PanelTabIndex,0)
SET_DOOR_CONFIGURATION(BRACED,PanelTabIndex,0)
SET_DOOR_CONFIGURATION(SECRET,PanelTabIndex,0)
SET_DOOR_CONFIGURATION(STEEL,PanelTabIndex,13)
SET_DOOR_CONFIGURATION(STEEL,ManufactureLevel,0)
SET_DOOR_CONFIGURATION(STEEL,ManufactureRequired,25000)
SET_DOOR_CONFIGURATION(MAGIC,PanelTabIndex,14)
SET_DOOR_CONFIGURATION(MAGIC,ManufactureLevel,0)
SET_DOOR_CONFIGURATION(MAGIC,ManufactureRequired,32000)

REM # Alarm Trap Configuration.
SET_TRAP_CONFIGURATION(ALARM,NameTextID,981)
SET_TRAP_CONFIGURATION(ALARM,TooltipTextID,981)
SET_TRAP_CONFIGURATION(ALARM,SymbolSprites,390,448)
SET_TRAP_CONFIGURATION(ALARM,PointerSprites,167)
SET_TRAP_CONFIGURATION(ALARM,PanelTabIndex,15)
SET_TRAP_CONFIGURATION(ALARM,ManufactureLevel,0)
SET_TRAP_CONFIGURATION(ALARM,ManufactureRequired,25000)
SET_TRAP_CONFIGURATION(ALARM,Shots,1)
SET_TRAP_CONFIGURATION(ALARM,TimeBetweenShots,0)
SET_TRAP_CONFIGURATION(ALARM,SellingValue,1000)
SET_TRAP_CONFIGURATION(ALARM,TriggerType,2)
SET_TRAP_CONFIGURATION(ALARM,ActivationType,4)
SET_TRAP_CONFIGURATION(ALARM,EffectType,10)
SET_TRAP_CONFIGURATION(ALARM,Hidden,1)
SET_TRAP_CONFIGURATION(ALARM,Slappable,1)
SET_TRAP_CONFIGURATION(ALARM,Unstable,2)
SET_TRAP_CONFIGURATION(ALARM,TriggerAlarm,0)
SET_TRAP_CONFIGURATION(ALARM,Destructible,1)
SET_TRAP_CONFIGURATION(ALARM,PlaceOnBridge,1)
SET_TRAP_CONFIGURATION(ALARM,PlaceOnSubtile,0)

REM # Poison Gas Trap Configuration.
SET_TRAP_CONFIGURATION(POISON_GAS,NameTextID,237)
SET_TRAP_CONFIGURATION(POISON_GAS,TooltipTextID,237)
SET_TRAP_CONFIGURATION(POISON_GAS,SymbolSprites,134,156)
SET_TRAP_CONFIGURATION(POISON_GAS,PointerSprites,7)
SET_TRAP_CONFIGURATION(POISON_GAS,PanelTabIndex,5)
SET_TRAP_CONFIGURATION(POISON_GAS,ManufactureLevel,0)
SET_TRAP_CONFIGURATION(POISON_GAS,ManufactureRequired,16000)
SET_TRAP_CONFIGURATION(POISON_GAS,Shots,2)
SET_TRAP_CONFIGURATION(POISON_GAS,TimeBetweenShots,600)
SET_TRAP_CONFIGURATION(POISON_GAS,SellingValue,0)
SET_TRAP_CONFIGURATION(POISON_GAS,TriggerType,3)
SET_TRAP_CONFIGURATION(POISON_GAS,ActivationType,5)
SET_TRAP_CONFIGURATION(POISON_GAS,EffectType,5)
SET_TRAP_CONFIGURATION(POISON_GAS,Hidden,0)
SET_TRAP_CONFIGURATION(POISON_GAS,Destructible,0)
SET_TRAP_CONFIGURATION(POISON_GAS,PlaceOnBridge,1)
SET_TRAP_CONFIGURATION(POISON_GAS,PlaceOnSubtile,1)
SET_TRAP_CONFIGURATION(POISON_GAS,ThingSize,128,256)
SET_TRAP_CONFIGURATION(POISON_GAS,HitType,4)
SET_TRAP_CONFIGURATION(POISON_GAS,Unsellable,1)
SET_TRAP_CONFIGURATION(POISON_GAS,ShotVector,0,0,0)

REM # Lightning Trap Configuration.
SET_TRAP_CONFIGURATION(LIGHTNING,NameTextID,229)
SET_TRAP_CONFIGURATION(LIGHTNING,TooltipTextID,229)
SET_TRAP_CONFIGURATION(LIGHTNING,SymbolSprites,136,158)
SET_TRAP_CONFIGURATION(LIGHTNING,PointerSprites,8)
SET_TRAP_CONFIGURATION(LIGHTNING,PanelTabIndex,6)
SET_TRAP_CONFIGURATION(LIGHTNING,ManufactureLevel,0)
SET_TRAP_CONFIGURATION(LIGHTNING,ManufactureRequired,24000)
SET_TRAP_CONFIGURATION(LIGHTNING,Shots,5)
SET_TRAP_CONFIGURATION(LIGHTNING,TimeBetweenShots,240)
SET_TRAP_CONFIGURATION(LIGHTNING,SellingValue,0)
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,Destructible,0)
SET_TRAP_CONFIGURATION(LIGHTNING,PlaceOnBridge,1)
SET_TRAP_CONFIGURATION(LIGHTNING,PlaceOnSubtile,1)
SET_TRAP_CONFIGURATION(LIGHTNING,ThingSize,128,256)
SET_TRAP_CONFIGURATION(LIGHTNING,HitType,4)
SET_TRAP_CONFIGURATION(LIGHTNING,Unsellable,1)
SET_TRAP_CONFIGURATION(LIGHTNING,ShotVector,0,0,0)

REM # Word Of Power Trap Configuration.
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,7)
SET_TRAP_CONFIGURATION(WORD_OF_POWER,ManufactureLevel,0)
SET_TRAP_CONFIGURATION(WORD_OF_POWER,ManufactureRequired,32000)
SET_TRAP_CONFIGURATION(WORD_OF_POWER,Shots,5)
SET_TRAP_CONFIGURATION(WORD_OF_POWER,TimeBetweenShots,480)
SET_TRAP_CONFIGURATION(WORD_OF_POWER,SellingValue,0)
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,Destructible,0)
SET_TRAP_CONFIGURATION(WORD_OF_POWER,PlaceOnBridge,1)
SET_TRAP_CONFIGURATION(WORD_OF_POWER,PlaceOnSubtile,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,1)
SET_TRAP_CONFIGURATION(WORD_OF_POWER,ShotVector,0,0,0)

REM # Boulder Trap Configuration.
SET_TRAP_CONFIGURATION(BOULDER,PanelTabIndex,8)
SET_TRAP_CONFIGURATION(BOULDER,ManufactureLevel,0)
SET_TRAP_CONFIGURATION(BOULDER,ManufactureRequired,32000)
SET_TRAP_CONFIGURATION(BOULDER,Shots,1)
SET_TRAP_CONFIGURATION(BOULDER,TimeBetweenShots,0)
SET_TRAP_CONFIGURATION(BOULDER,SellingValue,2000)
SET_TRAP_CONFIGURATION(BOULDER,TriggerType,1)
SET_TRAP_CONFIGURATION(BOULDER,PlaceOnBridge,1)
SET_TRAP_CONFIGURATION(BOULDER,PlaceOnSubtile,0)

REM # TNT Trap Configuration.
SET_TRAP_CONFIGURATION(TNT,NameTextID,985)
SET_TRAP_CONFIGURATION(TNT,TooltipTextID,985)
SET_TRAP_CONFIGURATION(TNT,SymbolSprites,142,164)
SET_TRAP_CONFIGURATION(TNT,PointerSprites,156)
SET_TRAP_CONFIGURATION(TNT,PanelTabIndex,1)
SET_TRAP_CONFIGURATION(TNT,ManufactureLevel,0)
SET_TRAP_CONFIGURATION(TNT,ManufactureRequired,32000)
SET_TRAP_CONFIGURATION(TNT,Shots,32767)
SET_TRAP_CONFIGURATION(TNT,TimeBetweenShots,20)
SET_TRAP_CONFIGURATION(TNT,SellingValue,2000)
SET_TRAP_CONFIGURATION(TNT,Model,844)
SET_TRAP_CONFIGURATION(TNT,ModelSize,256)
SET_TRAP_CONFIGURATION(TNT,TriggerType,3)
SET_TRAP_CONFIGURATION(TNT,ActivationType,5)
SET_TRAP_CONFIGURATION(TNT,EffectType,8)
SET_TRAP_CONFIGURATION(TNT,Hidden,0)
SET_TRAP_CONFIGURATION(TNT,Destructible,1)
SET_TRAP_CONFIGURATION(TNT,Unstable,2)
SET_TRAP_CONFIGURATION(TNT,PlaceOnBridge,1)
SET_TRAP_CONFIGURATION(TNT,PlaceOnSubtile,1)
SET_TRAP_CONFIGURATION(TNT,Health,32767)
SET_TRAP_CONFIGURATION(TNT,ThingSize,128,256)
SET_TRAP_CONFIGURATION(TNT,HitType,4)
SET_TRAP_CONFIGURATION(TNT,ShotVector,0,0,0)

REM # Creature's Pool.
ADD_CREATURE_TO_POOL(DRAGON,200)
ADD_CREATURE_TO_POOL(HELL_HOUND,200)
ADD_CREATURE_TO_POOL(TROLL,120)
ADD_CREATURE_TO_POOL(GHOST,80)
ADD_CREATURE_TO_POOL(SKELETON,80)
ADD_CREATURE_TO_POOL(VAMPIRE,80)

REM # Creature's Availablity.
CREATURE_AVAILABLE(ALL_PLAYERS,DRAGON,1,0)
CREATURE_AVAILABLE(ALL_PLAYERS,HELL_HOUND,1,50)
CREATURE_AVAILABLE(PLAYER0,TROLL,1,30)
CREATURE_AVAILABLE(PLAYER1,VAMPIRE,1,40)
CREATURE_AVAILABLE(PLAYER2,DRAGON,1,40)
CREATURE_AVAILABLE(PLAYER3,SKELETON,1,40)

REM # Research Order List.
RESEARCH_ORDER(ALL_PLAYERS,MAGIC,POWER_IMP,10000)
RESEARCH_ORDER(ALL_PLAYERS,ROOM,RESEARCH,10000)
RESEARCH_ORDER(ALL_PLAYERS,ROOM,LAIR,10000)
RESEARCH_ORDER(ALL_PLAYERS,ROOM,GARDEN,10000)
RESEARCH_ORDER(ALL_PLAYERS,ROOM,TREASURE,10000)
RESEARCH_ORDER(ALL_PLAYERS,ROOM,TRAINING,10000)
RESEARCH_ORDER(ALL_PLAYERS,ROOM,BRIDGE,10000)
RESEARCH_ORDER(ALL_PLAYERS,MAGIC,POWER_OBEY,10000)
RESEARCH_ORDER(ALL_PLAYERS,ROOM,WORKSHOP,10000)
RESEARCH_ORDER(ALL_PLAYERS,MAGIC,POWER_CALL_TO_ARMS,10000)
RESEARCH_ORDER(ALL_PLAYERS,ROOM,BARRACKS,10000)
RESEARCH_ORDER(ALL_PLAYERS,MAGIC,POWER_SIGHT,10000)
RESEARCH_ORDER(ALL_PLAYERS,ROOM,GUARD_POST,10000)
RESEARCH_ORDER(ALL_PLAYERS,MAGIC,POWER_SPEED,12500)
RESEARCH_ORDER(ALL_PLAYERS,ROOM,PRISON,25000)
RESEARCH_ORDER(ALL_PLAYERS,MAGIC,POWER_HOLD_AUDIENCE,37500)
RESEARCH_ORDER(ALL_PLAYERS,ROOM,TORTURE,50000)
RESEARCH_ORDER(ALL_PLAYERS,MAGIC,POWER_CONCEAL,62500)
RESEARCH_ORDER(ALL_PLAYERS,MAGIC,POWER_PROTECT,75000)
RESEARCH_ORDER(ALL_PLAYERS,MAGIC,POWER_HEAL_CREATURE,87500)
RESEARCH_ORDER(ALL_PLAYERS,ROOM,TEMPLE,100000)
RESEARCH_ORDER(ALL_PLAYERS,MAGIC,POWER_CHICKEN,100000)
RESEARCH_ORDER(ALL_PLAYERS,ROOM,GRAVEYARD,100000)
RESEARCH_ORDER(ALL_PLAYERS,MAGIC,POWER_DISEASE,100000)
RESEARCH_ORDER(ALL_PLAYERS,ROOM,SCAVENGER,100000)
RESEARCH_ORDER(ALL_PLAYERS,MAGIC,POWER_CAVE_IN,100000)
RESEARCH_ORDER(ALL_PLAYERS,MAGIC,POWER_LIGHTNING,100000)
RESEARCH_ORDER(ALL_PLAYERS,MAGIC,POWER_DESTROY_WALLS,100000)
RESEARCH_ORDER(ALL_PLAYERS,MAGIC,POWER_ARMAGEDDON,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,3,0)
ROOM_AVAILABLE(PLAYER0,GUARD_POST,3,0)
ROOM_AVAILABLE(PLAYER0,PRISON,3,0)
ROOM_AVAILABLE(PLAYER0,TORTURE,3,0)
ROOM_AVAILABLE(PLAYER0,TEMPLE,3,0)
ROOM_AVAILABLE(PLAYER0,GRAVEYARD,3,0)
ROOM_AVAILABLE(PLAYER0,SCAVENGER,3,0)
ROOM_AVAILABLE(PLAYER0,BRIDGE,4,0)
ROOM_AVAILABLE(PLAYER1,RESEARCH,1,1)
ROOM_AVAILABLE(PLAYER1,LAIR,1,1)
ROOM_AVAILABLE(PLAYER1,GARDEN,1,1)
ROOM_AVAILABLE(PLAYER1,TREASURE,1,1)
ROOM_AVAILABLE(PLAYER1,TRAINING,1,0)
ROOM_AVAILABLE(PLAYER1,WORKSHOP,1,0)
ROOM_AVAILABLE(PLAYER1,BARRACKS,1,0)
ROOM_AVAILABLE(PLAYER1,PRISON,1,0)
ROOM_AVAILABLE(PLAYER1,TORTURE,1,0)
ROOM_AVAILABLE(PLAYER1,TEMPLE,1,0)
ROOM_AVAILABLE(PLAYER1,GRAVEYARD,1,0)
ROOM_AVAILABLE(PLAYER2,RESEARCH,1,1)
ROOM_AVAILABLE(PLAYER2,LAIR,1,1)
ROOM_AVAILABLE(PLAYER2,GARDEN,1,1)
ROOM_AVAILABLE(PLAYER2,TREASURE,1,1)
ROOM_AVAILABLE(PLAYER2,TRAINING,1,0)
ROOM_AVAILABLE(PLAYER2,WORKSHOP,1,0)
ROOM_AVAILABLE(PLAYER2,BARRACKS,1,0)
ROOM_AVAILABLE(PLAYER2,PRISON,1,0)
ROOM_AVAILABLE(PLAYER2,TORTURE,1,0)
ROOM_AVAILABLE(PLAYER2,TEMPLE,1,0)
ROOM_AVAILABLE(PLAYER2,GRAVEYARD,1,0)
ROOM_AVAILABLE(PLAYER3,RESEARCH,1,1)
ROOM_AVAILABLE(PLAYER3,LAIR,1,1)
ROOM_AVAILABLE(PLAYER3,GARDEN,1,1)
ROOM_AVAILABLE(PLAYER3,TREASURE,1,1)
ROOM_AVAILABLE(PLAYER3,TRAINING,1,0)
ROOM_AVAILABLE(PLAYER3,WORKSHOP,1,0)
ROOM_AVAILABLE(PLAYER3,BARRACKS,1,0)
ROOM_AVAILABLE(PLAYER3,PRISON,1,0)
ROOM_AVAILABLE(PLAYER3,TORTURE,1,0)
ROOM_AVAILABLE(PLAYER3,TEMPLE,1,0)
ROOM_AVAILABLE(PLAYER3,GRAVEYARD,1,0)

REM # Keeper's Powers Availablity.
MAGIC_AVAILABLE(ALL_PLAYERS,POWER_OBEY,1,1)
MAGIC_AVAILABLE(ALL_PLAYERS,POWER_CALL_TO_ARMS,1,1)
MAGIC_AVAILABLE(ALL_PLAYERS,POWER_SPEED,1,0)
MAGIC_AVAILABLE(ALL_PLAYERS,POWER_HOLD_AUDIENCE,1,1)
MAGIC_AVAILABLE(ALL_PLAYERS,POWER_PROTECT,1,0)
MAGIC_AVAILABLE(ALL_PLAYERS,POWER_HEAL_CREATURE,1,0)
MAGIC_AVAILABLE(ALL_PLAYERS,POWER_CHICKEN,1,0)
MAGIC_AVAILABLE(ALL_PLAYERS,POWER_DISEASE,1,0)
MAGIC_AVAILABLE(ALL_PLAYERS,POWER_LIGHTNING,1,0)
MAGIC_AVAILABLE(PLAYER0,POWER_IMP,1,1)
MAGIC_AVAILABLE(PLAYER0,POWER_OBEY,0,0)
MAGIC_AVAILABLE(PLAYER0,POWER_CALL_TO_ARMS,1,0)
MAGIC_AVAILABLE(PLAYER0,POWER_SIGHT,1,1)
MAGIC_AVAILABLE(PLAYER0,POWER_HOLD_AUDIENCE,1,0)
MAGIC_AVAILABLE(PLAYER3,POWER_OBEY,1,0)
MAGIC_AVAILABLE(PLAYER3,POWER_CHICKEN,0,0)
MAGIC_AVAILABLE(PLAYER3,POWER_DISEASE,0,0)

REM # Keeper's Doors Availablity.
DOOR_AVAILABLE(ALL_PLAYERS,STEEL,1,0)

REM # Keeper's Traps Availablity.
TRAP_AVAILABLE(PLAYER0,LAVA,1,0)
TRAP_AVAILABLE(PLAYER0,TNT,1,0)
TRAP_AVAILABLE(PLAYER1,WORD_OF_POWER,1,0)
TRAP_AVAILABLE(PLAYER2,POISON_GAS,1,0)
TRAP_AVAILABLE(PLAYER2,LIGHTNING,1,0)
TRAP_AVAILABLE(PLAYER2,WORD_OF_POWER,1,0)
TRAP_AVAILABLE(PLAYER3,POISON_GAS,1,0)

REM # Setup party used by the script.
CREATE_PARTY(LORD)
ADD_TO_PARTY(LORD,AVATAR,10,1000,ATTACK_DUNGEON_HEART,0)
ADD_TO_PARTY(LORD,DRAGON,10,1000,DEFEND_PARTY,0)
ADD_TO_PARTY(LORD,DRAGON,10,900,DEFEND_PARTY,0)
ADD_TO_PARTY(LORD,DRAGON,10,900,DEFEND_PARTY,0)
ADD_TO_PARTY(LORD,TIME_MAGE,10,900,DEFEND_PARTY,0)
ADD_TO_PARTY(LORD,TIME_MAGE,10,900,DEFEND_PARTY,0)
ADD_TO_PARTY(LORD,WITCH,10,900,DEFEND_PARTY,0)
ADD_TO_PARTY(LORD,WITCH,10,900,DEFEND_PARTY,0)

CREATE_PARTY(FNLSDH)
ADD_TO_PARTY(FNLSDH,SAMURAI,10,1000,SNIPE_DUNGEON_HEART,0)
ADD_TO_PARTY(FNLSDH,SAMURAI,9,900,SNIPE_DUNGEON_HEART,0)
ADD_TO_PARTY(FNLSDH,SAMURAI,8,800,SNIPE_DUNGEON_HEART,0)
ADD_TO_PARTY(FNLSDH,SAMURAI,7,700,SNIPE_DUNGEON_HEART,0)
ADD_TO_PARTY(FNLSDH,SAMURAI,7,700,SNIPE_DUNGEON_HEART,0)
ADD_TO_PARTY(FNLSDH,SAMURAI,8,800,SNIPE_DUNGEON_HEART,0)
ADD_TO_PARTY(FNLSDH,SAMURAI,7,700,SNIPE_DUNGEON_HEART,0)
ADD_TO_PARTY(FNLSDH,SAMURAI,7,700,SNIPE_DUNGEON_HEART,0)

CREATE_PARTY(FNLSR)
ADD_TO_PARTY(FNLSR,FAIRY,10,1000,SABOTAGE_ROOMS,0)
ADD_TO_PARTY(FNLSR,FAIRY,9,900,SABOTAGE_ROOMS,0)
ADD_TO_PARTY(FNLSR,FAIRY,8,800,SABOTAGE_ROOMS,0)
ADD_TO_PARTY(FNLSR,FAIRY,7,700,SABOTAGE_ROOMS,0)
ADD_TO_PARTY(FNLSR,FAIRY,7,700,SABOTAGE_ROOMS,0)
ADD_TO_PARTY(FNLSR,FAIRY,8,800,SABOTAGE_ROOMS,0)
ADD_TO_PARTY(FNLSR,FAIRY,7,700,SABOTAGE_ROOMS,0)
ADD_TO_PARTY(FNLSR,FAIRY,7,700,SABOTAGE_ROOMS,0)

CREATE_PARTY(FNLDL)
ADD_TO_PARTY(FNLDL,KNIGHT,10,1000,DEFEND_LOCATION,0)
ADD_TO_PARTY(FNLDL,WIZARD,9,900,DEFEND_LOCATION,0)
ADD_TO_PARTY(FNLDL,GIANT,8,800,DEFEND_LOCATION,0)
ADD_TO_PARTY(FNLDL,ARCHER,7,700,DEFEND_LOCATION,0)
ADD_TO_PARTY(FNLDL,BARBARIAN,7,700,DEFEND_LOCATION,0)
ADD_TO_PARTY(FNLDL,MONK,8,800,DEFEND_LOCATION,0)
ADD_TO_PARTY(FNLDL,DWARFA,7,700,DEFEND_LOCATION,0)
ADD_TO_PARTY(FNLDL,THIEF,7,700,DEFEND_LOCATION,0)

CREATE_PARTY(TSG)
ADD_TO_PARTY(TSG,THIEF,5,0,STEAL_GOLD,0)
ADD_TO_PARTY(TSG,THIEF,4,0,STEAL_GOLD,0)
ADD_TO_PARTY(TSG,THIEF,3,0,STEAL_GOLD,0)
ADD_TO_PARTY(TSG,THIEF,2,0,STEAL_GOLD,0)
ADD_TO_PARTY(TSG,THIEF,2,0,STEAL_GOLD,0)
ADD_TO_PARTY(TSG,THIEF,3,0,STEAL_GOLD,0)
ADD_TO_PARTY(TSG,THIEF,2,0,STEAL_GOLD,0)
ADD_TO_PARTY(TSG,THIEF,2,0,STEAL_GOLD,0)

CREATE_PARTY(MSS)
ADD_TO_PARTY(MSS,MONK,5,500,STEAL_SPELLS,0)
ADD_TO_PARTY(MSS,MONK,4,400,STEAL_SPELLS,0)
ADD_TO_PARTY(MSS,MONK,3,300,STEAL_SPELLS,0)
ADD_TO_PARTY(MSS,MONK,2,200,STEAL_SPELLS,0)
ADD_TO_PARTY(MSS,MONK,2,200,STEAL_SPELLS,0)
ADD_TO_PARTY(MSS,MONK,3,300,STEAL_SPELLS,0)
ADD_TO_PARTY(MSS,MONK,2,200,STEAL_SPELLS,0)
ADD_TO_PARTY(MSS,MONK,2,200,STEAL_SPELLS,0)

CREATE_PARTY(ABAE)
ADD_TO_PARTY(ABAE,ARCHER,6,600,ATTACK_ENEMIES,0)
ADD_TO_PARTY(ABAE,BARBARIAN,5,500,ATTACK_ENEMIES,0)
ADD_TO_PARTY(ABAE,ARCHER,4,400,ATTACK_ENEMIES,0)
ADD_TO_PARTY(ABAE,ARCHER,3,300,ATTACK_ENEMIES,0)
ADD_TO_PARTY(ABAE,ARCHER,3,300,ATTACK_ENEMIES,0)
ADD_TO_PARTY(ABAE,BARBARIAN,4,400,ATTACK_ENEMIES,0)
ADD_TO_PARTY(ABAE,BARBARIAN,3,300,ATTACK_ENEMIES,0)
ADD_TO_PARTY(ABAE,BARBARIAN,3,300,ATTACK_ENEMIES,0)

CREATE_PARTY(DGAE)
ADD_TO_PARTY(DGAE,DWARFA,6,600,ATTACK_ENEMIES,0)
ADD_TO_PARTY(DGAE,GIANT,5,500,ATTACK_ENEMIES,0)
ADD_TO_PARTY(DGAE,DWARFA,4,400,ATTACK_ENEMIES,0)
ADD_TO_PARTY(DGAE,DWARFA,3,300,ATTACK_ENEMIES,0)
ADD_TO_PARTY(DGAE,DWARFA,3,300,ATTACK_ENEMIES,0)
ADD_TO_PARTY(DGAE,GIANT,4,400,ATTACK_ENEMIES,0)
ADD_TO_PARTY(DGAE,GIANT,3,300,ATTACK_ENEMIES,0)
ADD_TO_PARTY(DGAE,GIANT,3,300,ATTACK_ENEMIES,0)

CREATE_PARTY(FSG)
ADD_TO_PARTY(FSG,FAIRY,7,0,STEAL_GOLD,0)
ADD_TO_PARTY(FSG,FAIRY,6,0,STEAL_GOLD,0)
ADD_TO_PARTY(FSG,FAIRY,5,0,STEAL_GOLD,0)
ADD_TO_PARTY(FSG,FAIRY,4,0,STEAL_GOLD,0)
ADD_TO_PARTY(FSG,FAIRY,4,0,STEAL_GOLD,0)
ADD_TO_PARTY(FSG,FAIRY,5,0,STEAL_GOLD,0)
ADD_TO_PARTY(FSG,FAIRY,4,0,STEAL_GOLD,0)
ADD_TO_PARTY(FSG,FAIRY,4,0,STEAL_GOLD,0)

CREATE_PARTY(WSS)
ADD_TO_PARTY(WSS,WIZARD,7,700,STEAL_SPELLS,0)
ADD_TO_PARTY(WSS,WIZARD,6,600,STEAL_SPELLS,0)
ADD_TO_PARTY(WSS,WIZARD,5,500,STEAL_SPELLS,0)
ADD_TO_PARTY(WSS,WIZARD,4,400,STEAL_SPELLS,0)
ADD_TO_PARTY(WSS,WIZARD,4,400,STEAL_SPELLS,0)
ADD_TO_PARTY(WSS,WIZARD,5,500,STEAL_SPELLS,0)
ADD_TO_PARTY(WSS,WIZARD,4,400,STEAL_SPELLS,0)
ADD_TO_PARTY(WSS,WIZARD,4,400,STEAL_SPELLS,0)

CREATE_PARTY(SADH)
ADD_TO_PARTY(SADH,SAMURAI,8,800,ATTACK_DUNGEON_HEART,0)
ADD_TO_PARTY(SADH,SAMURAI,7,700,ATTACK_DUNGEON_HEART,0)
ADD_TO_PARTY(SADH,SAMURAI,6,600,ATTACK_DUNGEON_HEART,0)
ADD_TO_PARTY(SADH,SAMURAI,5,500,ATTACK_DUNGEON_HEART,0)
ADD_TO_PARTY(SADH,SAMURAI,5,500,ATTACK_DUNGEON_HEART,0)
ADD_TO_PARTY(SADH,SAMURAI,6,600,ATTACK_DUNGEON_HEART,0)
ADD_TO_PARTY(SADH,SAMURAI,5,500,ATTACK_DUNGEON_HEART,0)
ADD_TO_PARTY(SADH,SAMURAI,5,500,ATTACK_DUNGEON_HEART,0)

CREATE_PARTY(TMSR)
ADD_TO_PARTY(TMSR,TIME_MAGE,9,900,SABOTAGE_ROOMS,0)
ADD_TO_PARTY(TMSR,TIME_MAGE,8,800,SABOTAGE_ROOMS,0)
ADD_TO_PARTY(TMSR,TIME_MAGE,7,700,SABOTAGE_ROOMS,0)
ADD_TO_PARTY(TMSR,TIME_MAGE,6,600,SABOTAGE_ROOMS,0)
ADD_TO_PARTY(TMSR,TIME_MAGE,6,600,SABOTAGE_ROOMS,0)
ADD_TO_PARTY(TMSR,TIME_MAGE,7,700,SABOTAGE_ROOMS,0)
ADD_TO_PARTY(TMSR,TIME_MAGE,6,600,SABOTAGE_ROOMS,0)
ADD_TO_PARTY(TMSR,TIME_MAGE,6,600,SABOTAGE_ROOMS,0)

CREATE_PARTY(WDH)
ADD_TO_PARTY(WDH,WITCH,10,1000,DEFEND_HEART,0)
ADD_TO_PARTY(WDH,WITCH,9,900,DEFEND_HEART,0)
ADD_TO_PARTY(WDH,WITCH,8,800,DEFEND_HEART,0)
ADD_TO_PARTY(WDH,WITCH,7,700,DEFEND_HEART,0)
ADD_TO_PARTY(WDH,WITCH,7,700,DEFEND_HEART,0)
ADD_TO_PARTY(WDH,WITCH,8,800,DEFEND_HEART,0)
ADD_TO_PARTY(WDH,WITCH,7,700,DEFEND_HEART,0)
ADD_TO_PARTY(WDH,WITCH,7,700,DEFEND_HEART,0)

CREATE_PARTY(ARACHNID)
ADD_TO_PARTY(ARACHNID,SPIDER,10,0,DEFEND_LOCATION,0)
ADD_TO_PARTY(ARACHNID,SPIDER,10,0,DEFEND_LOCATION,0)
ADD_TO_PARTY(ARACHNID,SPIDER,10,0,DEFEND_LOCATION,0)
ADD_TO_PARTY(ARACHNID,SPIDER,10,0,DEFEND_LOCATION,0)
ADD_TO_PARTY(ARACHNID,SPIDER,10,0,DEFEND_LOCATION,0)
ADD_TO_PARTY(ARACHNID,SPIDER,10,0,DEFEND_LOCATION,0)
ADD_TO_PARTY(ARACHNID,SPIDER,10,0,DEFEND_LOCATION,0)
ADD_TO_PARTY(ARACHNID,SPIDER,10,0,DEFEND_LOCATION,0)

CREATE_PARTY(CONQUEST)
ADD_TO_PARTY(CONQUEST,SPIDER,10,0,ATTACK_DUNGEON_HEART,0)
ADD_TO_PARTY(CONQUEST,SPIDER,10,0,ATTACK_DUNGEON_HEART,0)
ADD_TO_PARTY(CONQUEST,SPIDER,10,0,ATTACK_DUNGEON_HEART,0)
ADD_TO_PARTY(CONQUEST,SPIDER,10,0,ATTACK_DUNGEON_HEART,0)
ADD_TO_PARTY(CONQUEST,SPIDER,10,0,ATTACK_DUNGEON_HEART,0)
ADD_TO_PARTY(CONQUEST,SPIDER,10,0,ATTACK_DUNGEON_HEART,0)
ADD_TO_PARTY(CONQUEST,SPIDER,10,0,ATTACK_DUNGEON_HEART,0)
ADD_TO_PARTY(CONQUEST,SPIDER,10,0,ATTACK_DUNGEON_HEART,0)

REM # Allow the Mysterious Box to be built from the Workshop using Lava Trap.
SET_TRAP_CONFIGURATION(LAVA,Crate,133)
SET_TRAP_CONFIGURATION(LAVA,NameTextID,1005)
SET_TRAP_CONFIGURATION(LAVA,TooltipTextID,1005)
SET_TRAP_CONFIGURATION(LAVA,PanelTabIndex,0)
SET_TRAP_CONFIGURATION(LAVA,ManufactureLevel,4)
SET_TRAP_CONFIGURATION(LAVA,ManufactureRequired,25000)
SET_TRAP_CONFIGURATION(LAVA,SellingValue,0)
SET_TRAP_CONFIGURATION(LAVA,Unsellable,1)

REM # Set tooltip for each possible effect.
SET_BOX_TOOLTIP(0,"Mysterious Box: Examine the box to discover its effect.")
SET_BOX_TOOLTIP(1,"Frostbite Box: Cast Freeze on all hostile minions.")
SET_BOX_TOOLTIP(2,"Protect Box: Cast Armour on all friendly minions.")
SET_BOX_TOOLTIP(3,"Shell Box: Cast Rebound on all friendly minions.")
SET_BOX_TOOLTIP(4,"Cure Box: Cast Heal on all friendly minions.")
SET_BOX_TOOLTIP(5,"Vanish Box: Cast Invisibility on all friendly imps.")
SET_BOX_TOOLTIP(6,"Dragon Box: Summon a Dragon to join your ranks.")
SET_BOX_TOOLTIP(7,"Troll Box: Summon a Troll to join your ranks.")
SET_BOX_TOOLTIP(8,"Reaper Box: Summon a Horned Reaper to join your ranks.")
SET_BOX_TOOLTIP(9,"Haste Box: Cast Speed on all friendly minions.")
SET_BOX_TOOLTIP(10,"Web Box: Cast Slow on all hostile minions.")
SET_BOX_TOOLTIP(11,"Gift Box: A gift from a Dark God, 10000 Gold for all players!")
SET_BOX_TOOLTIP(12,"Float Box: Cast Flight on all friendly minions.")
SET_BOX_TOOLTIP(13,"Vision Box: Cast Sight on all friendly minions.")
SET_BOX_TOOLTIP(14,"Plague Box: Cast Disease on all hostile minions.")
SET_BOX_TOOLTIP(15,"Hex Box: Cast Chicken on all hostile minions.")
SET_BOX_TOOLTIP(16,"Wrath Box: Cast Lightning on your territory at random hostile minions, last 12 seconds.")
SET_BOX_TOOLTIP(17,"Rockfall Box: Cast Cave-In on your territory at random hostile minions, last 12 seconds.")
SET_BOX_TOOLTIP(18,"Power Up!: Increase the level of all your minions by 5.")
SET_BOX_TOOLTIP(19,"Unleash the Hounds!: Summon a pack of Hounds to join your ranks.")
SET_BOX_TOOLTIP(20,"Necromancy Box: Raise a squad of undead at the site of the last battle to join your ranks.")
SET_BOX_TOOLTIP(24,"Keeper Box: Set all buff effects on all friendly minions.")
SET_BOX_TOOLTIP(25,"Magic Door Blueprint: Find all three to allow the manufacture of Magic Door.")
SET_BOX_TOOLTIP(40,"Big Hands: Double the amount of minions you can grab with your hand.")
SET_BOX_TOOLTIP(48,"Secret Passage: Open a secret passage to allow quick access to the lava pool located south of your Portal.")
SET_BOX_TOOLTIP(133,"Arachnid Conquest: Spawn a group of hostile Spiders on all Portal, while they are alive, permanently Slow all minions and Freeze all Imps.")

REM # Initial setup for randomised flag.
SET_FLAG(PLAYER0,BOX0_ACTIVATED,1)

REM # Get a random value to determine what effect the Mysterious Box hold.
IF(PLAYER0,BOX0_ACTIVATED > 0)
	IF(PLAYER0,BOX100_ACTIVATED == 1)
		NEXT_COMMAND_REUSABLE
		ADD_OBJECT_TO_LEVEL(SPECBOX_CUSTOM,LAST_EVENT,1,PLAYER0)
	ENDIF
	IF(PLAYER0,BOX100_ACTIVATED == 2)
		NEXT_COMMAND_REUSABLE
		ADD_OBJECT_TO_LEVEL(SPECBOX_CUSTOM,LAST_EVENT,2,PLAYER0)
	ENDIF
	IF(PLAYER0,BOX100_ACTIVATED == 3)
		NEXT_COMMAND_REUSABLE
		ADD_OBJECT_TO_LEVEL(SPECBOX_CUSTOM,LAST_EVENT,3,PLAYER0)
	ENDIF
	IF(PLAYER0,BOX100_ACTIVATED == 4)
		NEXT_COMMAND_REUSABLE
		ADD_OBJECT_TO_LEVEL(SPECBOX_CUSTOM,LAST_EVENT,4,PLAYER0)
	ENDIF
	IF(PLAYER0,BOX100_ACTIVATED == 5)
		NEXT_COMMAND_REUSABLE
		ADD_OBJECT_TO_LEVEL(SPECBOX_CUSTOM,LAST_EVENT,5,PLAYER0)
	ENDIF
	IF(PLAYER0,BOX100_ACTIVATED == 6)
		NEXT_COMMAND_REUSABLE
		ADD_OBJECT_TO_LEVEL(SPECBOX_CUSTOM,LAST_EVENT,6,PLAYER0)
	ENDIF
	IF(PLAYER0,BOX100_ACTIVATED == 7)
		NEXT_COMMAND_REUSABLE
		ADD_OBJECT_TO_LEVEL(SPECBOX_CUSTOM,LAST_EVENT,7,PLAYER0)
	ENDIF
	IF(PLAYER0,BOX100_ACTIVATED == 8)
		NEXT_COMMAND_REUSABLE
		ADD_OBJECT_TO_LEVEL(SPECBOX_CUSTOM,LAST_EVENT,8,PLAYER0)
	ENDIF
	IF(PLAYER0,BOX100_ACTIVATED == 9)
		NEXT_COMMAND_REUSABLE
		ADD_OBJECT_TO_LEVEL(SPECBOX_CUSTOM,LAST_EVENT,9,PLAYER0)
	ENDIF
	IF(PLAYER0,BOX100_ACTIVATED == 10)
		NEXT_COMMAND_REUSABLE
		ADD_OBJECT_TO_LEVEL(SPECBOX_CUSTOM,LAST_EVENT,10,PLAYER0)
	ENDIF
	IF(PLAYER0,BOX100_ACTIVATED == 11)
		NEXT_COMMAND_REUSABLE
		ADD_OBJECT_TO_LEVEL(SPECBOX_CUSTOM,LAST_EVENT,11,PLAYER0)
	ENDIF
	IF(PLAYER0,BOX100_ACTIVATED == 12)
		NEXT_COMMAND_REUSABLE
		ADD_OBJECT_TO_LEVEL(SPECBOX_CUSTOM,LAST_EVENT,12,PLAYER0)
	ENDIF
	IF(PLAYER0,BOX100_ACTIVATED == 13)
		NEXT_COMMAND_REUSABLE
		ADD_OBJECT_TO_LEVEL(SPECBOX_CUSTOM,LAST_EVENT,13,PLAYER0)
	ENDIF
	IF(PLAYER0,BOX100_ACTIVATED == 14)
		NEXT_COMMAND_REUSABLE
		ADD_OBJECT_TO_LEVEL(SPECBOX_CUSTOM,LAST_EVENT,14,PLAYER0)
	ENDIF
	IF(PLAYER0,BOX100_ACTIVATED == 15)
		NEXT_COMMAND_REUSABLE
		ADD_OBJECT_TO_LEVEL(SPECBOX_CUSTOM,LAST_EVENT,15,PLAYER0)
	ENDIF
	IF(PLAYER0,BOX100_ACTIVATED == 16)
		NEXT_COMMAND_REUSABLE
		ADD_OBJECT_TO_LEVEL(SPECBOX_CUSTOM,LAST_EVENT,16,PLAYER0)
	ENDIF
	IF(PLAYER0,BOX100_ACTIVATED == 17)
		NEXT_COMMAND_REUSABLE
		ADD_OBJECT_TO_LEVEL(SPECBOX_CUSTOM,LAST_EVENT,17,PLAYER0)
	ENDIF
	NEXT_COMMAND_REUSABLE
	RANDOMISE_FLAG(PLAYER0,BOX100_ACTIVATED,17)
	NEXT_COMMAND_REUSABLE
	SET_FLAG(PLAYER0,BOX0_ACTIVATED,0)
ENDIF

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

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

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

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

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

REM # "Dragon Box: Summon a Dragon to join your ranks."
IF(PLAYER0,BOX6_ACTIVATED > 0)
	NEXT_COMMAND_REUSABLE
	ADD_CREATURE_TO_LEVEL(PLAYER0,DRAGON,LAST_EVENT,1,7,0)
	NEXT_COMMAND_REUSABLE
	SET_FLAG(PLAYER0,BOX6_ACTIVATED,0)
ENDIF

REM # "Troll Box: Summon a Troll to join your ranks."
IF(PLAYER0,BOX7_ACTIVATED > 0)
	NEXT_COMMAND_REUSABLE
	ADD_CREATURE_TO_LEVEL(PLAYER0,TROLL,LAST_EVENT,1,7,0)
	NEXT_COMMAND_REUSABLE
	SET_FLAG(PLAYER0,BOX7_ACTIVATED,0)
ENDIF

REM # "Reaper Box: Summon a Horned Reaper to join your ranks."
IF(PLAYER0,BOX8_ACTIVATED > 0)
	NEXT_COMMAND_REUSABLE
	ADD_CREATURE_TO_LEVEL(PLAYER0,HORNY,LAST_EVENT,1,7,0)
	NEXT_COMMAND_REUSABLE
	SET_FLAG(PLAYER0,BOX8_ACTIVATED,0)
ENDIF

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

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

REM # "Gift Box: A gift from a Dark God, 10000 Gold for all players!"
IF(PLAYER0,BOX11_ACTIVATED > 0)
	NEXT_COMMAND_REUSABLE
	ADD_GOLD_TO_PLAYER(ALL_PLAYERS,10000)
	NEXT_COMMAND_REUSABLE
	SET_FLAG(PLAYER0,BOX11_ACTIVATED,0)
ENDIF

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

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

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

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

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

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

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

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

REM # "Power Up!: Increase the level of all your minions by 5."
IF(PLAYER0,BOX18_ACTIVATED > 0)
	NEXT_COMMAND_REUSABLE
	USE_SPECIAL_INCREASE_LEVEL(PLAYER0,5)
	NEXT_COMMAND_REUSABLE
	SET_FLAG(PLAYER0,BOX18_ACTIVATED,0)
ENDIF

REM # "Unleash the Hounds!: Summon a pack of Hounds to join your ranks."
IF(PLAYER0,BOX19_ACTIVATED > 0)
	NEXT_COMMAND_REUSABLE
	ADD_CREATURE_TO_LEVEL(PLAYER0,HELL_HOUND,LAST_EVENT,8,8,0)
	NEXT_COMMAND_REUSABLE
	SET_FLAG(PLAYER0,BOX19_ACTIVATED,0)
ENDIF

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

REM # "Keeper Box: Set all buff effects on all friendly minions."
IF(PLAYER0,BOX24_ACTIVATED > 0)
	NEXT_COMMAND_REUSABLE
	SET_FLAG(PLAYER0,BOX4_ACTIVATED,1)
	NEXT_COMMAND_REUSABLE
	SET_FLAG(PLAYER0,BOX2_ACTIVATED,1)
	NEXT_COMMAND_REUSABLE
	SET_FLAG(PLAYER0,BOX3_ACTIVATED,1)
	NEXT_COMMAND_REUSABLE
	SET_FLAG(PLAYER0,BOX9_ACTIVATED,1)
	NEXT_COMMAND_REUSABLE
	SET_FLAG(PLAYER0,BOX12_ACTIVATED,1)
	NEXT_COMMAND_REUSABLE
	SET_FLAG(PLAYER0,BOX13_ACTIVATED,1)
	NEXT_COMMAND_REUSABLE
	SET_FLAG(PLAYER0,BOX24_ACTIVATED,0)
ENDIF

REM # "Magic Door Blueprint: Find all three to allow the manufacture of Magic Door."
IF(PLAYER0,BOX25_ACTIVATED >= 3)
	DOOR_AVAILABLE(PLAYER0,MAGIC,1,0)
ENDIF

REM # "Big Hands: Double the amount of minions you can grab with your hand."
IF(PLAYER0,BOX40_ACTIVATED == 1)
	SET_GAME_RULE(MaxThingsInHand,16)
ENDIF
IF(PLAYER0,BOX40_ACTIVATED == 2)
	SET_GAME_RULE(MaxThingsInHand,32)
ENDIF
IF(PLAYER0,BOX40_ACTIVATED == 3)
	SET_GAME_RULE(MaxThingsInHand,64)
ENDIF

REM # "Secret Passage: Open a secret passage to allow quick access to the lava pool located south of your Portal."
IF(PLAYER0,BOX48_ACTIVATED > 0)
	CHANGE_SLAB_TYPE(51,35,PATH)
ENDIF

REM # "Arachnid Conquest: Spawn a group of hostile Spiders on all Portal."
IF(PLAYER0,BOX133_ACTIVATED > 0)
	NEXT_COMMAND_REUSABLE
	ADD_PARTY_TO_LEVEL(PLAYER_GOOD,ARACHNID,29,1)
	NEXT_COMMAND_REUSABLE
	ADD_PARTY_TO_LEVEL(PLAYER_GOOD,ARACHNID,30,1)
	NEXT_COMMAND_REUSABLE
	ADD_PARTY_TO_LEVEL(PLAYER_GOOD,ARACHNID,31,1)
	NEXT_COMMAND_REUSABLE
	ADD_PARTY_TO_LEVEL(PLAYER_GOOD,ARACHNID,32,1)
	NEXT_COMMAND_REUSABLE
	ADD_PARTY_TO_LEVEL(PLAYER_GOOD,ARACHNID,73,1)
	REM # CHANGE_SLAB_TYPE(37,81,PATH)
	NEXT_COMMAND_REUSABLE
	SET_FLAG(PLAYER0,BOX133_ACTIVATED,0)
ENDIF

REM # Initial Objective.
QUICK_OBJECTIVE(0,"In this dark snowy realm you will have to face three other bloodthirsty Keepers, beware of certain specificities of this realm which modify the game mechanics and the characteristics of minions.",ALL_PLAYERS)
ADD_CREATURE_TO_LEVEL(PLAYER_NEUTRAL,HORNY,50,1,10,0)
ADD_CREATURE_TO_LEVEL(PLAYER_NEUTRAL,SPIDER,51,1,10,0)
ADD_CREATURE_TO_LEVEL(PLAYER_NEUTRAL,TROLL,74,1,7,0)
ADD_CREATURE_TO_LEVEL(PLAYER_NEUTRAL,TROLL,75,1,7,0)
ADD_CREATURE_TO_LEVEL(PLAYER_NEUTRAL,TROLL,76,1,7,0)
ADD_CREATURE_TO_LEVEL(PLAYER_NEUTRAL,TROLL,77,1,7,0)
ADD_CREATURE_TO_LEVEL(PLAYER_NEUTRAL,TROLL,78,1,7,0)
ADD_CREATURE_TO_LEVEL(PLAYER_NEUTRAL,TROLL,79,1,7,0)
ADD_CREATURE_TO_LEVEL(PLAYER_NEUTRAL,TROLL,80,1,7,0)
ADD_CREATURE_TO_LEVEL(PLAYER_NEUTRAL,TROLL,81,1,7,0)

REM # Main Loop.
SET_TIMER(PLAYER_GOOD,TIMER0)
IF(PLAYER_GOOD,TIMER0 >= 300)
	SET_TIMER(PLAYER_GOOD,TIMER1)
	REM # IF_SLAB_OWNER(51,24,PLAYER0)
		ADD_CREATURE_TO_LEVEL(PLAYER0,DRAGON,29,1,7,30000)
	REM # ENDIF
	ADD_CREATURE_TO_LEVEL(PLAYER1,VAMPIRE,30,1,10,0)
	ADD_CREATURE_TO_LEVEL(PLAYER2,DRAGON,31,1,10,0)
	ADD_CREATURE_TO_LEVEL(PLAYER3,SKELETON,32,1,10,0)
	ADD_GOLD_TO_PLAYER(PLAYER1,6225)
	ADD_GOLD_TO_PLAYER(PLAYER2,5810)
	ADD_GOLD_TO_PLAYER(PLAYER3,2905)
	COMPUTER_DIG_TO_LOCATION(PLAYER1,26,27)
	COMPUTER_DIG_TO_LOCATION(PLAYER1,30,23)
	COMPUTER_DIG_TO_LOCATION(PLAYER1,36,63)
	COMPUTER_DIG_TO_LOCATION(PLAYER1,64,65)
	COMPUTER_DIG_TO_LOCATION(PLAYER1,64,66)
	COMPUTER_DIG_TO_LOCATION(PLAYER1,67,28)
	COMPUTER_DIG_TO_LOCATION(PLAYER2,31,24)
	COMPUTER_DIG_TO_LOCATION(PLAYER2,37,45)
	COMPUTER_DIG_TO_LOCATION(PLAYER2,46,49)
	COMPUTER_DIG_TO_LOCATION(PLAYER2,52,53)
	COMPUTER_DIG_TO_LOCATION(PLAYER2,52,54)
	COMPUTER_DIG_TO_LOCATION(PLAYER2,55,62)
	COMPUTER_DIG_TO_LOCATION(PLAYER2,68,69)
	COMPUTER_DIG_TO_LOCATION(PLAYER2,70,69)
	COMPUTER_DIG_TO_LOCATION(PLAYER2,70,71)
	COMPUTER_DIG_TO_LOCATION(PLAYER3,32,56)
	COMPUTER_DIG_TO_LOCATION(PLAYER3,57,58)
	COMPUTER_DIG_TO_LOCATION(PLAYER3,57,61)
	COMPUTER_DIG_TO_LOCATION(PLAYER3,59,60)
	REM # Compute flag for a periodic event.
	SET_FLAG(PLAYER0,FLAG2,8192)
	NEXT_COMMAND_REUSABLE
	COMPUTE_FLAG(PLAYER0,FLAG1,INCREASE,ALL_PLAYERS,TOTAL_CREATURES,0)
	REM # Increase Annoyance over time.
	NEXT_COMMAND_REUSABLE
	CHANGE_CREATURES_ANNOYANCE(ALL_PLAYERS,HORNY,INCREASE,75)
	NEXT_COMMAND_REUSABLE
	CHANGE_CREATURES_ANNOYANCE(ALL_PLAYERS,VAMPIRE,INCREASE,30)
	NEXT_COMMAND_REUSABLE
	SET_TIMER(PLAYER_GOOD,TIMER0)
ENDIF

REM # Loop for AI#1.
IF(PLAYER1,DUNGEON_DESTROYED == 0)
	IF(PLAYER1,FLAG0 > 19200)
		NEXT_COMMAND_REUSABLE
		USE_POWER(PLAYER1,POWER_HOLD_AUDIENCE,1)
		NEXT_COMMAND_REUSABLE
		SET_FLAG(PLAYER1,FLAG0,0)
	ENDIF
	IF(PLAYER1,BOX250_ACTIVATED > 0)
		IF(PLAYER1,TIMER0 >= 20)
			NEXT_COMMAND_REUSABLE
			USE_POWER_AT_LOCATION(PLAYER1,PLAYER0,POWER_CALL_TO_ARMS,9,0)
			NEXT_COMMAND_REUSABLE
			SET_FLAG(PLAYER1,BOX250_ACTIVATED,0)
		ENDIF
	ENDIF
	IF(PLAYER1,TIMER0 >= 18000)
		SET_TIMER(PLAYER2,TIMER1)
		CHANGE_SLAB_TYPE(14,37,PATH)
		CHANGE_SLAB_TYPE(14,38,PATH)
		NEXT_COMMAND_REUSABLE
		USE_POWER(PLAYER1,POWER_HOLD_AUDIENCE,1)
		NEXT_COMMAND_REUSABLE
		USE_POWER_AT_LOCATION(PLAYER1,PLAYER1,POWER_CALL_TO_ARMS,9,0)
		NEXT_COMMAND_REUSABLE
		SET_TIMER(PLAYER1,TIMER0)
		NEXT_COMMAND_REUSABLE
		SET_FLAG(PLAYER1,BOX250_ACTIVATED,1)
	ENDIF
	IF(PLAYER1,TIMER6 >= 600)
		IF(PLAYER1,IMP < 13)
			NEXT_COMMAND_REUSABLE
			ADD_CREATURE_TO_LEVEL(PLAYER1,IMP,PLAYER1,1,5,0)
			NEXT_COMMAND_REUSABLE
			SET_TIMER(PLAYER1,TIMER6)
		ENDIF
	ENDIF
	IF(PLAYER1,TIMER7 >= 1200)
		IF(PLAYER1,VAMPIRE < 8)
			IF_SLAB_OWNER(14,77,PLAYER1)
				NEXT_COMMAND_REUSABLE
				ADD_CREATURE_TO_LEVEL(PLAYER1,VAMPIRE,30,1,10,0)
				NEXT_COMMAND_REUSABLE
				ADD_GOLD_TO_PLAYER(PLAYER1,6225)
				NEXT_COMMAND_REUSABLE
				SET_TIMER(PLAYER1,TIMER7)
			ENDIF
		ENDIF
	ENDIF
	REM # Creature Entrance Level.
	NEXT_COMMAND_REUSABLE
	RANDOMISE_FLAG(PLAYER1,BOX249_ACTIVATED,255)
	IF(PLAYER1,BOX249_ACTIVATED > 0)
		NEXT_COMMAND_REUSABLE
		CREATURE_ENTRANCE_LEVEL(PLAYER1,1)
	ENDIF
	IF(PLAYER1,BOX249_ACTIVATED > 30)
		NEXT_COMMAND_REUSABLE
		CREATURE_ENTRANCE_LEVEL(PLAYER1,2)
	ENDIF
	IF(PLAYER1,BOX249_ACTIVATED > 45)
		NEXT_COMMAND_REUSABLE
		CREATURE_ENTRANCE_LEVEL(PLAYER1,3)
	ENDIF
	IF(PLAYER1,BOX249_ACTIVATED > 60)
		NEXT_COMMAND_REUSABLE
		CREATURE_ENTRANCE_LEVEL(PLAYER1,4)
	ENDIF
	IF(PLAYER1,BOX249_ACTIVATED > 75)
		NEXT_COMMAND_REUSABLE
		CREATURE_ENTRANCE_LEVEL(PLAYER1,5)
	ENDIF
	IF(PLAYER1,BOX249_ACTIVATED > 90)
		NEXT_COMMAND_REUSABLE
		CREATURE_ENTRANCE_LEVEL(PLAYER1,6)
	ENDIF
	IF(PLAYER1,BOX249_ACTIVATED > 105)
		NEXT_COMMAND_REUSABLE
		CREATURE_ENTRANCE_LEVEL(PLAYER1,7)
	ENDIF
	IF(PLAYER1,BOX249_ACTIVATED > 120)
		NEXT_COMMAND_REUSABLE
		CREATURE_ENTRANCE_LEVEL(PLAYER1,8)
	ENDIF
	IF(PLAYER1,BOX249_ACTIVATED > 150)
		NEXT_COMMAND_REUSABLE
		CREATURE_ENTRANCE_LEVEL(PLAYER1,9)
		SET_TIMER(PLAYER1,TIMER6)
	ENDIF
	REM # Any minions in range of AP#36 radius.
	NEXT_COMMAND_REUSABLE
	COUNT_CREATURES_AT_ACTION_POINT(36,ALL_PLAYERS,DRAGON,PLAYER1,BOX222_ACTIVATED)
	NEXT_COMMAND_REUSABLE
	COMPUTE_FLAG(PLAYER1,FLAG0,INCREASE,PLAYER1,BOX222_ACTIVATED,0)
	NEXT_COMMAND_REUSABLE
	COUNT_CREATURES_AT_ACTION_POINT(36,ALL_PLAYERS,HELL_HOUND,PLAYER1,BOX222_ACTIVATED)
	NEXT_COMMAND_REUSABLE
	COMPUTE_FLAG(PLAYER1,FLAG0,INCREASE,PLAYER1,BOX222_ACTIVATED,0)
	NEXT_COMMAND_REUSABLE
	COUNT_CREATURES_AT_ACTION_POINT(36,ALL_PLAYERS,HORNY,PLAYER1,BOX222_ACTIVATED)
	NEXT_COMMAND_REUSABLE
	COMPUTE_FLAG(PLAYER1,FLAG0,INCREASE,PLAYER1,BOX222_ACTIVATED,0)
	NEXT_COMMAND_REUSABLE
	COUNT_CREATURES_AT_ACTION_POINT(36,ALL_PLAYERS,TROLL,PLAYER1,BOX222_ACTIVATED)
	NEXT_COMMAND_REUSABLE
	COMPUTE_FLAG(PLAYER1,FLAG0,INCREASE,PLAYER1,BOX222_ACTIVATED,0)
	NEXT_COMMAND_REUSABLE
	COUNT_CREATURES_AT_ACTION_POINT(36,ALL_PLAYERS,FLY,PLAYER1,BOX222_ACTIVATED)
	NEXT_COMMAND_REUSABLE
	COMPUTE_FLAG(PLAYER1,FLAG0,INCREASE,PLAYER1,BOX222_ACTIVATED,0)
	NEXT_COMMAND_REUSABLE
	COUNT_CREATURES_AT_ACTION_POINT(36,ALL_PLAYERS,SPIDER,PLAYER1,BOX222_ACTIVATED)
	NEXT_COMMAND_REUSABLE
	COMPUTE_FLAG(PLAYER1,FLAG0,INCREASE,PLAYER1,BOX222_ACTIVATED,0)
	NEXT_COMMAND_REUSABLE
	COUNT_CREATURES_AT_ACTION_POINT(36,ALL_PLAYERS,GHOST,PLAYER1,BOX222_ACTIVATED)
	NEXT_COMMAND_REUSABLE
	COMPUTE_FLAG(PLAYER1,FLAG0,INCREASE,PLAYER1,BOX222_ACTIVATED,0)
	NEXT_COMMAND_REUSABLE
	COUNT_CREATURES_AT_ACTION_POINT(36,ALL_PLAYERS,SKELETON,PLAYER1,BOX222_ACTIVATED)
	NEXT_COMMAND_REUSABLE
	COMPUTE_FLAG(PLAYER1,FLAG0,INCREASE,PLAYER1,BOX222_ACTIVATED,0)
	NEXT_COMMAND_REUSABLE
	COUNT_CREATURES_AT_ACTION_POINT(36,ALL_PLAYERS,VAMPIRE,PLAYER1,BOX222_ACTIVATED)
	NEXT_COMMAND_REUSABLE
	COMPUTE_FLAG(PLAYER1,FLAG0,INCREASE,PLAYER1,BOX222_ACTIVATED,0)
	REM # Bonus Gold.
	IF(PLAYER1,FLAG1 >= 6225)
		NEXT_COMMAND_REUSABLE
		ADD_GOLD_TO_PLAYER(PLAYER1,6225)
		NEXT_COMMAND_REUSABLE
		ADD_TO_FLAG(PLAYER1,FLAG1,-6225)
	ENDIF
ENDIF

REM # Loop for AI#2.
IF(PLAYER2,DUNGEON_DESTROYED == 0)
	IF(PLAYER2,FLAG0 > 19200)
		NEXT_COMMAND_REUSABLE
		USE_POWER(PLAYER2,POWER_HOLD_AUDIENCE,1)
		NEXT_COMMAND_REUSABLE
		SET_FLAG(PLAYER2,FLAG0,0)
	ENDIF
	IF(PLAYER2,BOX250_ACTIVATED > 0)
		IF(PLAYER2,TIMER0 >= 20)
			NEXT_COMMAND_REUSABLE
			USE_POWER_AT_LOCATION(PLAYER2,PLAYER0,POWER_CALL_TO_ARMS,9,0)
			NEXT_COMMAND_REUSABLE
			SET_FLAG(PLAYER2,BOX250_ACTIVATED,0)
		ENDIF
	ENDIF
	IF(PLAYER2,TIMER0 >= 36000)
		NEXT_COMMAND_REUSABLE
		USE_POWER(PLAYER2,POWER_HOLD_AUDIENCE,1)
		NEXT_COMMAND_REUSABLE
		USE_POWER_AT_LOCATION(PLAYER2,PLAYER2,POWER_CALL_TO_ARMS,9,0)
		NEXT_COMMAND_REUSABLE
		SET_TIMER(PLAYER2,TIMER0)
		NEXT_COMMAND_REUSABLE
		SET_FLAG(PLAYER2,BOX250_ACTIVATED,1)
	ENDIF
	IF(PLAYER2,TIMER1 >= 6000)
		SET_TIMER(PLAYER2,TIMER0)
		CHANGE_SLAB_TYPE(80,36,PATH)
		CHANGE_SLAB_TYPE(80,37,PATH)
		CHANGE_SLAB_TYPE(80,38,PATH)
		CHANGE_SLAB_TYPE(80,39,PATH)
		CHANGE_SLAB_TYPE(80,40,PATH)
		CHANGE_SLAB_TYPE(80,41,PATH)
	ENDIF
	IF(PLAYER2,TIMER6 >= 600)
		IF(PLAYER2,IMP < 13)
			NEXT_COMMAND_REUSABLE
			ADD_CREATURE_TO_LEVEL(PLAYER2,IMP,PLAYER2,1,5,0)
			NEXT_COMMAND_REUSABLE
			SET_TIMER(PLAYER2,TIMER6)
		ENDIF
	ENDIF
	IF(PLAYER2,TIMER7 >= 1200)
		IF(PLAYER2,DRAGON < 8)
			IF_SLAB_OWNER(69,77,PLAYER2)
				NEXT_COMMAND_REUSABLE
				ADD_CREATURE_TO_LEVEL(PLAYER2,DRAGON,31,1,10,0)
				NEXT_COMMAND_REUSABLE
				ADD_GOLD_TO_PLAYER(PLAYER2,5810)
				NEXT_COMMAND_REUSABLE
				SET_TIMER(PLAYER2,TIMER7)
			ENDIF
		ENDIF
	ENDIF
	REM # Creature Entrance Level.
	NEXT_COMMAND_REUSABLE
	RANDOMISE_FLAG(PLAYER2,BOX249_ACTIVATED,255)
	IF(PLAYER2,BOX249_ACTIVATED > 0)
		NEXT_COMMAND_REUSABLE
		CREATURE_ENTRANCE_LEVEL(PLAYER2,1)
	ENDIF
	IF(PLAYER2,BOX249_ACTIVATED > 30)
		NEXT_COMMAND_REUSABLE
		CREATURE_ENTRANCE_LEVEL(PLAYER2,2)
	ENDIF
	IF(PLAYER2,BOX249_ACTIVATED > 45)
		NEXT_COMMAND_REUSABLE
		CREATURE_ENTRANCE_LEVEL(PLAYER2,3)
	ENDIF
	IF(PLAYER2,BOX249_ACTIVATED > 60)
		NEXT_COMMAND_REUSABLE
		CREATURE_ENTRANCE_LEVEL(PLAYER2,4)
	ENDIF
	IF(PLAYER2,BOX249_ACTIVATED > 75)
		NEXT_COMMAND_REUSABLE
		CREATURE_ENTRANCE_LEVEL(PLAYER2,5)
	ENDIF
	IF(PLAYER2,BOX249_ACTIVATED > 90)
		NEXT_COMMAND_REUSABLE
		CREATURE_ENTRANCE_LEVEL(PLAYER2,6)
	ENDIF
	IF(PLAYER2,BOX249_ACTIVATED > 105)
		NEXT_COMMAND_REUSABLE
		CREATURE_ENTRANCE_LEVEL(PLAYER2,7)
	ENDIF
	IF(PLAYER2,BOX249_ACTIVATED > 120)
		NEXT_COMMAND_REUSABLE
		CREATURE_ENTRANCE_LEVEL(PLAYER2,8)
	ENDIF
	IF(PLAYER2,BOX249_ACTIVATED > 150)
		NEXT_COMMAND_REUSABLE
		CREATURE_ENTRANCE_LEVEL(PLAYER2,9)
		SET_TIMER(PLAYER2,TIMER6)
	ENDIF
	REM # Any minions in range of AP#37 radius.
	NEXT_COMMAND_REUSABLE
	COUNT_CREATURES_AT_ACTION_POINT(37,ALL_PLAYERS,DRAGON,PLAYER2,BOX222_ACTIVATED)
	NEXT_COMMAND_REUSABLE
	COMPUTE_FLAG(PLAYER2,FLAG0,INCREASE,PLAYER2,BOX222_ACTIVATED,0)
	NEXT_COMMAND_REUSABLE
	COUNT_CREATURES_AT_ACTION_POINT(37,ALL_PLAYERS,HELL_HOUND,PLAYER2,BOX222_ACTIVATED)
	NEXT_COMMAND_REUSABLE
	COMPUTE_FLAG(PLAYER2,FLAG0,INCREASE,PLAYER2,BOX222_ACTIVATED,0)
	NEXT_COMMAND_REUSABLE
	COUNT_CREATURES_AT_ACTION_POINT(37,ALL_PLAYERS,HORNY,PLAYER2,BOX222_ACTIVATED)
	NEXT_COMMAND_REUSABLE
	COMPUTE_FLAG(PLAYER2,FLAG0,INCREASE,PLAYER2,BOX222_ACTIVATED,0)
	NEXT_COMMAND_REUSABLE
	COUNT_CREATURES_AT_ACTION_POINT(37,ALL_PLAYERS,TROLL,PLAYER2,BOX222_ACTIVATED)
	NEXT_COMMAND_REUSABLE
	COMPUTE_FLAG(PLAYER2,FLAG0,INCREASE,PLAYER2,BOX222_ACTIVATED,0)
	NEXT_COMMAND_REUSABLE
	COUNT_CREATURES_AT_ACTION_POINT(37,ALL_PLAYERS,FLY,PLAYER2,BOX222_ACTIVATED)
	NEXT_COMMAND_REUSABLE
	COMPUTE_FLAG(PLAYER2,FLAG0,INCREASE,PLAYER2,BOX222_ACTIVATED,0)
	NEXT_COMMAND_REUSABLE
	COUNT_CREATURES_AT_ACTION_POINT(37,ALL_PLAYERS,SPIDER,PLAYER2,BOX222_ACTIVATED)
	NEXT_COMMAND_REUSABLE
	COMPUTE_FLAG(PLAYER2,FLAG0,INCREASE,PLAYER2,BOX222_ACTIVATED,0)
	NEXT_COMMAND_REUSABLE
	COUNT_CREATURES_AT_ACTION_POINT(37,ALL_PLAYERS,GHOST,PLAYER2,BOX222_ACTIVATED)
	NEXT_COMMAND_REUSABLE
	COMPUTE_FLAG(PLAYER2,FLAG0,INCREASE,PLAYER2,BOX222_ACTIVATED,0)
	NEXT_COMMAND_REUSABLE
	COUNT_CREATURES_AT_ACTION_POINT(37,ALL_PLAYERS,SKELETON,PLAYER2,BOX222_ACTIVATED)
	NEXT_COMMAND_REUSABLE
	COMPUTE_FLAG(PLAYER2,FLAG0,INCREASE,PLAYER2,BOX222_ACTIVATED,0)
	NEXT_COMMAND_REUSABLE
	COUNT_CREATURES_AT_ACTION_POINT(37,ALL_PLAYERS,VAMPIRE,PLAYER2,BOX222_ACTIVATED)
	NEXT_COMMAND_REUSABLE
	COMPUTE_FLAG(PLAYER2,FLAG0,INCREASE,PLAYER2,BOX222_ACTIVATED,0)
	REM # Bonus Gold.
	IF(PLAYER2,FLAG1 >= 5810)
		NEXT_COMMAND_REUSABLE
		ADD_GOLD_TO_PLAYER(PLAYER2,5810)
		NEXT_COMMAND_REUSABLE
		ADD_TO_FLAG(PLAYER2,FLAG1,-5810)
	ENDIF
ENDIF

REM # Loop for AI#3.
IF(PLAYER3,DUNGEON_DESTROYED == 0)
	IF(PLAYER3,FLAG0 > 19200)
		NEXT_COMMAND_REUSABLE
		USE_POWER(PLAYER3,POWER_HOLD_AUDIENCE,1)
		NEXT_COMMAND_REUSABLE
		SET_FLAG(PLAYER3,FLAG0,0)
	ENDIF
	IF(PLAYER3,BOX250_ACTIVATED > 0)
		IF(PLAYER3,TIMER0 >= 20)
			NEXT_COMMAND_REUSABLE
			USE_POWER_AT_LOCATION(PLAYER3,PLAYER0,POWER_CALL_TO_ARMS,9,0)
			NEXT_COMMAND_REUSABLE
			SET_FLAG(PLAYER3,BOX250_ACTIVATED,0)
		ENDIF
	ENDIF
	IF(PLAYER3,TIMER0 >= 12000)
		SET_TIMER(PLAYER1,TIMER0)
		CHANGE_SLAB_TYPE(14,30,PATH)
		CHANGE_SLAB_TYPE(14,31,PATH)
		NEXT_COMMAND_REUSABLE
		USE_POWER(PLAYER3,POWER_HOLD_AUDIENCE,1)
		NEXT_COMMAND_REUSABLE
		USE_POWER_AT_LOCATION(PLAYER3,PLAYER3,POWER_CALL_TO_ARMS,9,0)
		NEXT_COMMAND_REUSABLE
		SET_TIMER(PLAYER3,TIMER0)
		NEXT_COMMAND_REUSABLE
		SET_FLAG(PLAYER3,BOX250_ACTIVATED,1)
	ENDIF
	IF(PLAYER3,TIMER6 >= 600)
		IF(PLAYER3,IMP < 13)
			NEXT_COMMAND_REUSABLE
			ADD_CREATURE_TO_LEVEL(PLAYER3,IMP,PLAYER3,1,3,0)
			NEXT_COMMAND_REUSABLE
			SET_TIMER(PLAYER3,TIMER6)
		ENDIF
	ENDIF
	IF(PLAYER3,TIMER7 >= 1200)
		IF(PLAYER3,SKELETON < 8)
			IF_SLAB_OWNER(8,13,PLAYER3)
				NEXT_COMMAND_REUSABLE
				ADD_CREATURE_TO_LEVEL(PLAYER3,SKELETON,32,1,10,0)
				NEXT_COMMAND_REUSABLE
				ADD_GOLD_TO_PLAYER(PLAYER3,2905)
				NEXT_COMMAND_REUSABLE
				SET_TIMER(PLAYER3,TIMER7)
			ENDIF
		ENDIF
	ENDIF
	REM # Give information about the Bridge to the player.
	IF(PLAYER0,BRIDGE > 0)
		MAX_CREATURES(PLAYER0,15)
		MAX_CREATURES(PLAYER1,25)
		MAX_CREATURES(PLAYER2,25)
		MAX_CREATURES(PLAYER3,25)
		QUICK_INFORMATION(1,"You claimed a Bridge, unfortunately for them the heroes left behind the blueprints that allow you to build more Bridge on your own, but only if you bother to study them first.",ALL_PLAYERS)
	ENDIF
	REM # Creature Entrance Level.
	NEXT_COMMAND_REUSABLE
	RANDOMISE_FLAG(PLAYER3,BOX249_ACTIVATED,255)
	IF(PLAYER3,BOX249_ACTIVATED > 0)
		NEXT_COMMAND_REUSABLE
		CREATURE_ENTRANCE_LEVEL(PLAYER3,1)
	ENDIF
	IF(PLAYER3,BOX249_ACTIVATED > 30)
		NEXT_COMMAND_REUSABLE
		CREATURE_ENTRANCE_LEVEL(PLAYER3,2)
	ENDIF
	IF(PLAYER3,BOX249_ACTIVATED > 45)
		NEXT_COMMAND_REUSABLE
		CREATURE_ENTRANCE_LEVEL(PLAYER3,3)
	ENDIF
	IF(PLAYER3,BOX249_ACTIVATED > 60)
		NEXT_COMMAND_REUSABLE
		CREATURE_ENTRANCE_LEVEL(PLAYER3,4)
	ENDIF
	IF(PLAYER3,BOX249_ACTIVATED > 75)
		NEXT_COMMAND_REUSABLE
		CREATURE_ENTRANCE_LEVEL(PLAYER3,5)
	ENDIF
	IF(PLAYER3,BOX249_ACTIVATED > 90)
		NEXT_COMMAND_REUSABLE
		CREATURE_ENTRANCE_LEVEL(PLAYER3,6)
	ENDIF
	IF(PLAYER3,BOX249_ACTIVATED > 105)
		NEXT_COMMAND_REUSABLE
		CREATURE_ENTRANCE_LEVEL(PLAYER3,7)
	ENDIF
	IF(PLAYER3,BOX249_ACTIVATED > 120)
		NEXT_COMMAND_REUSABLE
		CREATURE_ENTRANCE_LEVEL(PLAYER3,8)
	ENDIF
	IF(PLAYER3,BOX249_ACTIVATED > 150)
		NEXT_COMMAND_REUSABLE
		CREATURE_ENTRANCE_LEVEL(PLAYER3,9)
		SET_TIMER(PLAYER3,TIMER6)
	ENDIF
	REM # Any minions in range of AP#38 radius.
	NEXT_COMMAND_REUSABLE
	COUNT_CREATURES_AT_ACTION_POINT(38,ALL_PLAYERS,DRAGON,PLAYER3,BOX222_ACTIVATED)
	NEXT_COMMAND_REUSABLE
	COMPUTE_FLAG(PLAYER3,FLAG0,INCREASE,PLAYER3,BOX222_ACTIVATED,0)
	NEXT_COMMAND_REUSABLE
	COUNT_CREATURES_AT_ACTION_POINT(38,ALL_PLAYERS,HELL_HOUND,PLAYER3,BOX222_ACTIVATED)
	NEXT_COMMAND_REUSABLE
	COMPUTE_FLAG(PLAYER3,FLAG0,INCREASE,PLAYER3,BOX222_ACTIVATED,0)
	NEXT_COMMAND_REUSABLE
	COUNT_CREATURES_AT_ACTION_POINT(38,ALL_PLAYERS,HORNY,PLAYER3,BOX222_ACTIVATED)
	NEXT_COMMAND_REUSABLE
	COMPUTE_FLAG(PLAYER3,FLAG0,INCREASE,PLAYER3,BOX222_ACTIVATED,0)
	NEXT_COMMAND_REUSABLE
	COUNT_CREATURES_AT_ACTION_POINT(38,ALL_PLAYERS,TROLL,PLAYER3,BOX222_ACTIVATED)
	NEXT_COMMAND_REUSABLE
	COMPUTE_FLAG(PLAYER3,FLAG0,INCREASE,PLAYER3,BOX222_ACTIVATED,0)
	NEXT_COMMAND_REUSABLE
	COUNT_CREATURES_AT_ACTION_POINT(38,ALL_PLAYERS,FLY,PLAYER3,BOX222_ACTIVATED)
	NEXT_COMMAND_REUSABLE
	COMPUTE_FLAG(PLAYER3,FLAG0,INCREASE,PLAYER3,BOX222_ACTIVATED,0)
	NEXT_COMMAND_REUSABLE
	COUNT_CREATURES_AT_ACTION_POINT(38,ALL_PLAYERS,SPIDER,PLAYER3,BOX222_ACTIVATED)
	NEXT_COMMAND_REUSABLE
	COMPUTE_FLAG(PLAYER3,FLAG0,INCREASE,PLAYER3,BOX222_ACTIVATED,0)
	NEXT_COMMAND_REUSABLE
	COUNT_CREATURES_AT_ACTION_POINT(38,ALL_PLAYERS,GHOST,PLAYER3,BOX222_ACTIVATED)
	NEXT_COMMAND_REUSABLE
	COMPUTE_FLAG(PLAYER3,FLAG0,INCREASE,PLAYER3,BOX222_ACTIVATED,0)
	NEXT_COMMAND_REUSABLE
	COUNT_CREATURES_AT_ACTION_POINT(38,ALL_PLAYERS,SKELETON,PLAYER3,BOX222_ACTIVATED)
	NEXT_COMMAND_REUSABLE
	COMPUTE_FLAG(PLAYER3,FLAG0,INCREASE,PLAYER3,BOX222_ACTIVATED,0)
	NEXT_COMMAND_REUSABLE
	COUNT_CREATURES_AT_ACTION_POINT(38,ALL_PLAYERS,VAMPIRE,PLAYER3,BOX222_ACTIVATED)
	NEXT_COMMAND_REUSABLE
	COMPUTE_FLAG(PLAYER3,FLAG0,INCREASE,PLAYER3,BOX222_ACTIVATED,0)
	REM # Bonus Gold.
	IF(PLAYER3,FLAG1 >= 2905)
		NEXT_COMMAND_REUSABLE
		ADD_GOLD_TO_PLAYER(PLAYER3,2905)
		NEXT_COMMAND_REUSABLE
		ADD_TO_FLAG(PLAYER3,FLAG1,-2905)
	ENDIF
ENDIF

REM # Miscellaneous functions for the player.
IF(PLAYER0,DUNGEON_DESTROYED == 0)
	SET_FLAG(PLAYER0,FLAG7,30)
	REM # Permanent Flight for all Trolls and Imps.
	IF(PLAYER0,BOX253_ACTIVATED > 0)
		NEXT_COMMAND_REUSABLE
		USE_SPELL_ON_PLAYERS_CREATURES(PLAYER0,TROLL,SPELL_FLIGHT,1)
		NEXT_COMMAND_REUSABLE
		USE_SPELL_ON_PLAYERS_CREATURES(PLAYER0,IMP,SPELL_FLIGHT,1)
	ENDIF
	REM # Disable the Prison whenever the amount of Skeletons and/or Ghosts is higher than the value stored in FLAG7.
	NEXT_COMMAND_REUSABLE
	COMPUTE_FLAG(PLAYER0,BOX221_ACTIVATED,SET,PLAYER0,SKELETON,1)
	NEXT_COMMAND_REUSABLE
	COMPUTE_FLAG(PLAYER0,BOX221_ACTIVATED,INCREASE,PLAYER0,GHOST,1)
	IF(PLAYER0,BOX221_ACTIVATED > PLAYER0,FLAG7)
		NEXT_COMMAND_REUSABLE
		SET_CREATURE_TENDENCIES(PLAYER0,IMPRISON,0)
	ENDIF
	REM # Ghost betray the player whenever they are more than 20.
	IF_CONTROLS(PLAYER0,GHOST > 20)
		NEXT_COMMAND_REUSABLE
		CHANGE_CREATURE_OWNER(PLAYER0,GHOST,LEAST_EXPERIENCED,PLAYER_GOOD)
	ENDIF
	REM # Dynamic Graveyard.
	NEXT_COMMAND_REUSABLE
	RANDOMISE_FLAG(PLAYER0,BOX69_ACTIVATED,255)
	IF(PLAYER0,BOX69_ACTIVATED > 0)
		NEXT_COMMAND_REUSABLE
		SET_ROOM_CONFIGURATION(GRAVEYARD,CreatureCreation,GHOST)
		NEXT_COMMAND_REUSABLE
		SET_TRAP_CONFIGURATION(TNT,TriggerType,1)
		NEXT_COMMAND_REUSABLE
		SET_TRAP_CONFIGURATION(TNT,ActivationType,1)
		NEXT_COMMAND_REUSABLE
		SET_TRAP_CONFIGURATION(BOULDER,ActivationType,2)
		NEXT_COMMAND_REUSABLE
		SET_TRAP_CONFIGURATION(BOULDER,EffectType,14)
	ENDIF
	IF(PLAYER0,BOX69_ACTIVATED > 85)
		NEXT_COMMAND_REUSABLE
		SET_ROOM_CONFIGURATION(GRAVEYARD,CreatureCreation,SKELETON)
		NEXT_COMMAND_REUSABLE
		SET_TRAP_CONFIGURATION(TNT,TriggerType,2)
		NEXT_COMMAND_REUSABLE
		SET_TRAP_CONFIGURATION(TNT,ActivationType,3)
		NEXT_COMMAND_REUSABLE
		SET_TRAP_CONFIGURATION(BOULDER,ActivationType,3)
		NEXT_COMMAND_REUSABLE
		SET_TRAP_CONFIGURATION(BOULDER,EffectType,2)
	ENDIF
	IF(PLAYER0,BOX69_ACTIVATED > 170)
		NEXT_COMMAND_REUSABLE
		SET_ROOM_CONFIGURATION(GRAVEYARD,CreatureCreation,VAMPIRE)
		NEXT_COMMAND_REUSABLE
		SET_TRAP_CONFIGURATION(TNT,TriggerType,3)
		NEXT_COMMAND_REUSABLE
		SET_TRAP_CONFIGURATION(TNT,ActivationType,5)
		NEXT_COMMAND_REUSABLE
		SET_TRAP_CONFIGURATION(BOULDER,ActivationType,1)
		NEXT_COMMAND_REUSABLE
		SET_TRAP_CONFIGURATION(BOULDER,EffectType,15)
	ENDIF
	REM # Scavenger Entrance Level.
	NEXT_COMMAND_REUSABLE
	RANDOMISE_FLAG(PLAYER0,BOX249_ACTIVATED,255)
	NEXT_COMMAND_REUSABLE
	COMPUTE_FLAG(PLAYER0,BOX249_ACTIVATED,INCREASE,PLAYER0,ENTRANCE,0)
	NEXT_COMMAND_REUSABLE
	COMPUTE_FLAG(PLAYER0,BOX250_ACTIVATED,SET,PLAYER0,SCAVENGER,0)
	NEXT_COMMAND_REUSABLE
	COMPUTE_FLAG(PLAYER0,BOX250_ACTIVATED,INCREASE,PLAYER0,SCAVENGER,0)
	NEXT_COMMAND_REUSABLE
	COMPUTE_FLAG(PLAYER0,BOX250_ACTIVATED,INCREASE,PLAYER0,SCAVENGER,0)
	NEXT_COMMAND_REUSABLE
	COMPUTE_FLAG(PLAYER0,BOX250_ACTIVATED,INCREASE,PLAYER0,SCAVENGER,0)
	IF(PLAYER0,BOX249_ACTIVATED < PLAYER0,BOX250_ACTIVATED)
		NEXT_COMMAND_REUSABLE
		COMPUTE_FLAG(PLAYER0,BOX251_ACTIVATED,SET,PLAYER0,BOX249_ACTIVATED,0)
	ENDIF
	IF(PLAYER0,BOX249_ACTIVATED >= PLAYER0,BOX250_ACTIVATED)
		NEXT_COMMAND_REUSABLE
		COMPUTE_FLAG(PLAYER0,BOX251_ACTIVATED,SET,PLAYER0,BOX250_ACTIVATED,0)
	ENDIF
	IF(PLAYER0,BOX251_ACTIVATED > 0)
		NEXT_COMMAND_REUSABLE
		CREATURE_ENTRANCE_LEVEL(PLAYER0,1)
		NEXT_COMMAND_REUSABLE
		SET_TRAP_CONFIGURATION(TNT,EffectType,8)
	ENDIF
	IF(PLAYER0,BOX251_ACTIVATED > 30)
		NEXT_COMMAND_REUSABLE
		CREATURE_ENTRANCE_LEVEL(PLAYER0,2)
		NEXT_COMMAND_REUSABLE
		SET_TRAP_CONFIGURATION(TNT,EffectType,12)
	ENDIF
	IF(PLAYER0,BOX251_ACTIVATED > 45)
		NEXT_COMMAND_REUSABLE
		CREATURE_ENTRANCE_LEVEL(PLAYER0,3)
		NEXT_COMMAND_REUSABLE
		SET_TRAP_CONFIGURATION(TNT,EffectType,4)
	ENDIF
	IF(PLAYER0,BOX251_ACTIVATED > 60)
		NEXT_COMMAND_REUSABLE
		CREATURE_ENTRANCE_LEVEL(PLAYER0,4)
		NEXT_COMMAND_REUSABLE
		SET_TRAP_CONFIGURATION(TNT,EffectType,6)
	ENDIF
	IF(PLAYER0,BOX251_ACTIVATED > 75)
		NEXT_COMMAND_REUSABLE
		CREATURE_ENTRANCE_LEVEL(PLAYER0,5)
		NEXT_COMMAND_REUSABLE
		SET_TRAP_CONFIGURATION(TNT,EffectType,18)
	ENDIF
	IF(PLAYER0,BOX251_ACTIVATED > 90)
		NEXT_COMMAND_REUSABLE
		CREATURE_ENTRANCE_LEVEL(PLAYER0,6)
		NEXT_COMMAND_REUSABLE
		SET_TRAP_CONFIGURATION(TNT,EffectType,3)
	ENDIF
	IF(PLAYER0,BOX251_ACTIVATED > 105)
		NEXT_COMMAND_REUSABLE
		CREATURE_ENTRANCE_LEVEL(PLAYER0,7)
		NEXT_COMMAND_REUSABLE
		SET_TRAP_CONFIGURATION(TNT,EffectType,2)
	ENDIF
	IF(PLAYER0,BOX251_ACTIVATED > 120)
		NEXT_COMMAND_REUSABLE
		CREATURE_ENTRANCE_LEVEL(PLAYER0,8)
		NEXT_COMMAND_REUSABLE
		SET_TRAP_CONFIGURATION(TNT,EffectType,11)
	ENDIF
	IF(PLAYER0,BOX251_ACTIVATED > 150)
		NEXT_COMMAND_REUSABLE
		CREATURE_ENTRANCE_LEVEL(PLAYER0,9)
		NEXT_COMMAND_REUSABLE
		SET_TRAP_CONFIGURATION(TNT,EffectType,27)
	ENDIF
	IF(PLAYER0,BOX251_ACTIVATED > 225)
		NEXT_COMMAND_REUSABLE
		CREATURE_ENTRANCE_LEVEL(PLAYER0,10)
		NEXT_COMMAND_REUSABLE
		SET_TRAP_CONFIGURATION(TNT,EffectType,17)
	ENDIF
	REM # Mining activities around Gems (AP#1 to AP#8).
	NEXT_COMMAND_REUSABLE
	COUNT_CREATURES_AT_ACTION_POINT(1,PLAYER0,IMP,PLAYER_GOOD,BOX100_ACTIVATED)
	NEXT_COMMAND_REUSABLE
	COUNT_CREATURES_AT_ACTION_POINT(2,PLAYER0,IMP,PLAYER_GOOD,BOX101_ACTIVATED)
	NEXT_COMMAND_REUSABLE
	COUNT_CREATURES_AT_ACTION_POINT(3,PLAYER0,IMP,PLAYER_GOOD,BOX102_ACTIVATED)
	NEXT_COMMAND_REUSABLE
	COUNT_CREATURES_AT_ACTION_POINT(4,PLAYER0,IMP,PLAYER_GOOD,BOX103_ACTIVATED)
	NEXT_COMMAND_REUSABLE
	COUNT_CREATURES_AT_ACTION_POINT(5,PLAYER0,IMP,PLAYER_GOOD,BOX104_ACTIVATED)
	NEXT_COMMAND_REUSABLE
	COUNT_CREATURES_AT_ACTION_POINT(6,PLAYER0,IMP,PLAYER_GOOD,BOX105_ACTIVATED)
	NEXT_COMMAND_REUSABLE
	COUNT_CREATURES_AT_ACTION_POINT(7,PLAYER0,IMP,PLAYER_GOOD,BOX106_ACTIVATED)
	NEXT_COMMAND_REUSABLE
	COUNT_CREATURES_AT_ACTION_POINT(8,PLAYER0,IMP,PLAYER_GOOD,BOX107_ACTIVATED)
	NEXT_COMMAND_REUSABLE
	COMPUTE_FLAG(PLAYER_GOOD,FLAG0,INCREASE,PLAYER_GOOD,BOX100_ACTIVATED,0)
	NEXT_COMMAND_REUSABLE
	COMPUTE_FLAG(PLAYER_GOOD,FLAG1,INCREASE,PLAYER_GOOD,BOX101_ACTIVATED,0)
	NEXT_COMMAND_REUSABLE
	COMPUTE_FLAG(PLAYER_GOOD,FLAG2,INCREASE,PLAYER_GOOD,BOX102_ACTIVATED,0)
	NEXT_COMMAND_REUSABLE
	COMPUTE_FLAG(PLAYER_GOOD,FLAG3,INCREASE,PLAYER_GOOD,BOX103_ACTIVATED,0)
	NEXT_COMMAND_REUSABLE
	COMPUTE_FLAG(PLAYER_GOOD,FLAG4,INCREASE,PLAYER_GOOD,BOX104_ACTIVATED,0)
	NEXT_COMMAND_REUSABLE
	COMPUTE_FLAG(PLAYER_GOOD,FLAG5,INCREASE,PLAYER_GOOD,BOX105_ACTIVATED,0)
	NEXT_COMMAND_REUSABLE
	COMPUTE_FLAG(PLAYER_GOOD,FLAG6,INCREASE,PLAYER_GOOD,BOX106_ACTIVATED,0)
	NEXT_COMMAND_REUSABLE
	COMPUTE_FLAG(PLAYER_GOOD,FLAG7,INCREASE,PLAYER_GOOD,BOX107_ACTIVATED,0)
	REM # Any minions/imps in range of AP#33 radius.
	NEXT_COMMAND_REUSABLE
	COUNT_CREATURES_AT_ACTION_POINT(33,ALL_PLAYERS,IMP,PLAYER_GOOD,BOX220_ACTIVATED)
	NEXT_COMMAND_REUSABLE
	COMPUTE_FLAG(PLAYER_GOOD,BOX221_ACTIVATED,SET,PLAYER_GOOD,BOX220_ACTIVATED,0)
	NEXT_COMMAND_REUSABLE
	COUNT_CREATURES_AT_ACTION_POINT(33,ALL_PLAYERS,DRAGON,PLAYER_GOOD,BOX220_ACTIVATED)
	NEXT_COMMAND_REUSABLE
	COMPUTE_FLAG(PLAYER_GOOD,BOX221_ACTIVATED,INCREASE,PLAYER_GOOD,BOX220_ACTIVATED,0)
	NEXT_COMMAND_REUSABLE
	COUNT_CREATURES_AT_ACTION_POINT(33,ALL_PLAYERS,HELL_HOUND,PLAYER_GOOD,BOX220_ACTIVATED)
	NEXT_COMMAND_REUSABLE
	COMPUTE_FLAG(PLAYER_GOOD,BOX221_ACTIVATED,INCREASE,PLAYER_GOOD,BOX220_ACTIVATED,0)
	NEXT_COMMAND_REUSABLE
	COUNT_CREATURES_AT_ACTION_POINT(33,ALL_PLAYERS,HORNY,PLAYER_GOOD,BOX220_ACTIVATED)
	NEXT_COMMAND_REUSABLE
	COMPUTE_FLAG(PLAYER_GOOD,BOX221_ACTIVATED,INCREASE,PLAYER_GOOD,BOX220_ACTIVATED,0)
	NEXT_COMMAND_REUSABLE
	COUNT_CREATURES_AT_ACTION_POINT(33,ALL_PLAYERS,TROLL,PLAYER_GOOD,BOX220_ACTIVATED)
	NEXT_COMMAND_REUSABLE
	COMPUTE_FLAG(PLAYER_GOOD,BOX221_ACTIVATED,INCREASE,PLAYER_GOOD,BOX220_ACTIVATED,0)
	NEXT_COMMAND_REUSABLE
	COUNT_CREATURES_AT_ACTION_POINT(33,ALL_PLAYERS,FLY,PLAYER_GOOD,BOX220_ACTIVATED)
	NEXT_COMMAND_REUSABLE
	COMPUTE_FLAG(PLAYER_GOOD,BOX221_ACTIVATED,INCREASE,PLAYER_GOOD,BOX220_ACTIVATED,0)
	NEXT_COMMAND_REUSABLE
	COUNT_CREATURES_AT_ACTION_POINT(33,ALL_PLAYERS,SPIDER,PLAYER_GOOD,BOX220_ACTIVATED)
	NEXT_COMMAND_REUSABLE
	COMPUTE_FLAG(PLAYER_GOOD,BOX221_ACTIVATED,INCREASE,PLAYER_GOOD,BOX220_ACTIVATED,0)
	NEXT_COMMAND_REUSABLE
	COUNT_CREATURES_AT_ACTION_POINT(33,ALL_PLAYERS,GHOST,PLAYER_GOOD,BOX220_ACTIVATED)
	NEXT_COMMAND_REUSABLE
	COMPUTE_FLAG(PLAYER_GOOD,BOX221_ACTIVATED,INCREASE,PLAYER_GOOD,BOX220_ACTIVATED,0)
	NEXT_COMMAND_REUSABLE
	COUNT_CREATURES_AT_ACTION_POINT(33,ALL_PLAYERS,SKELETON,PLAYER_GOOD,BOX220_ACTIVATED)
	NEXT_COMMAND_REUSABLE
	COMPUTE_FLAG(PLAYER_GOOD,BOX221_ACTIVATED,INCREASE,PLAYER_GOOD,BOX220_ACTIVATED,0)
	NEXT_COMMAND_REUSABLE
	COUNT_CREATURES_AT_ACTION_POINT(33,ALL_PLAYERS,VAMPIRE,PLAYER_GOOD,BOX220_ACTIVATED)
	NEXT_COMMAND_REUSABLE
	COMPUTE_FLAG(PLAYER_GOOD,BOX221_ACTIVATED,INCREASE,PLAYER_GOOD,BOX220_ACTIVATED,0)
ENDIF

REM # Permanently Slow all minions and Freeze all Imps until there is no more White's Spiders.
IF_CONTROLS(PLAYER_GOOD,SPIDER > 0)
	NEXT_COMMAND_REUSABLE
	USE_SPELL_ON_PLAYERS_CREATURES(PLAYER0,ANY_CREATURE,SPELL_SLOW,1)
	NEXT_COMMAND_REUSABLE
	USE_SPELL_ON_PLAYERS_CREATURES(PLAYER1,ANY_CREATURE,SPELL_SLOW,1)
	NEXT_COMMAND_REUSABLE
	USE_SPELL_ON_PLAYERS_CREATURES(PLAYER2,ANY_CREATURE,SPELL_SLOW,1)
	NEXT_COMMAND_REUSABLE
	USE_SPELL_ON_PLAYERS_CREATURES(PLAYER3,ANY_CREATURE,SPELL_SLOW,1)
	NEXT_COMMAND_REUSABLE
	USE_SPELL_ON_PLAYERS_CREATURES(PLAYER0,IMP,SPELL_FREEZE,1)
	NEXT_COMMAND_REUSABLE
	USE_SPELL_ON_PLAYERS_CREATURES(PLAYER1,IMP,SPELL_FREEZE,1)
	NEXT_COMMAND_REUSABLE
	USE_SPELL_ON_PLAYERS_CREATURES(PLAYER2,IMP,SPELL_FREEZE,1)
	NEXT_COMMAND_REUSABLE
	USE_SPELL_ON_PLAYERS_CREATURES(PLAYER3,IMP,SPELL_FREEZE,1)
ENDIF

REM # AI use Must Obey.
IF_AVAILABLE(PLAYER3,POWER_OBEY > 0)
	USE_POWER(PLAYER1,POWER_OBEY,0)
	USE_POWER(PLAYER2,POWER_OBEY,0)
	USE_POWER(PLAYER3,POWER_OBEY,0)
	ADD_CREATURE_TO_LEVEL(PLAYER1,VAMPIRE,30,1,10,0)
	ADD_CREATURE_TO_LEVEL(PLAYER2,DRAGON,31,1,10,0)
	ADD_CREATURE_TO_LEVEL(PLAYER3,SKELETON,32,1,10,0)
	ADD_GOLD_TO_PLAYER(PLAYER1,6225)
	ADD_GOLD_TO_PLAYER(PLAYER2,5810)
	ADD_GOLD_TO_PLAYER(PLAYER3,2905)
	MAX_CREATURES(PLAYER1,20)
	MAX_CREATURES(PLAYER2,20)
	MAX_CREATURES(PLAYER3,20)
ENDIF

REM # Limit the AI rooms.
IF(PLAYER1,TRAINING >= 25)
	SET_TIMER(PLAYER1,TIMER6)
	ROOM_AVAILABLE(PLAYER1,RESEARCH,0,0)
	ROOM_AVAILABLE(PLAYER1,LAIR,0,0)
	ROOM_AVAILABLE(PLAYER1,GARDEN,0,0)
	ROOM_AVAILABLE(PLAYER1,TREASURE,0,0)
	ROOM_AVAILABLE(PLAYER1,TRAINING,0,0)
	ADD_CREATURE_TO_LEVEL(PLAYER1,VAMPIRE,30,1,10,0)
	ADD_GOLD_TO_PLAYER(PLAYER1,25625)
ENDIF
IF(PLAYER2,TRAINING >= 25)
	SET_TIMER(PLAYER2,TIMER6)
	ROOM_AVAILABLE(PLAYER2,RESEARCH,0,0)
	ROOM_AVAILABLE(PLAYER2,LAIR,0,0)
	ROOM_AVAILABLE(PLAYER2,GARDEN,0,0)
	ROOM_AVAILABLE(PLAYER2,TREASURE,0,0)
	ROOM_AVAILABLE(PLAYER2,TRAINING,0,0)
	ADD_CREATURE_TO_LEVEL(PLAYER2,DRAGON,31,1,10,0)
	ADD_GOLD_TO_PLAYER(PLAYER2,25210)
ENDIF
IF(PLAYER3,TRAINING >= 16)
	SET_TIMER(PLAYER3,TIMER6)
	ROOM_AVAILABLE(PLAYER3,RESEARCH,0,0)
	ROOM_AVAILABLE(PLAYER3,LAIR,0,0)
	ROOM_AVAILABLE(PLAYER3,GARDEN,0,0)
	ROOM_AVAILABLE(PLAYER3,TREASURE,0,0)
	ROOM_AVAILABLE(PLAYER3,TRAINING,0,0)
	ADD_CREATURE_TO_LEVEL(PLAYER3,SKELETON,32,1,10,0)
	ADD_GOLD_TO_PLAYER(PLAYER3,15330)
ENDIF
IF(PLAYER1,WORKSHOP >= 49)
	ROOM_AVAILABLE(PLAYER1,WORKSHOP,0,0)
	ADD_CREATURE_TO_LEVEL(PLAYER1,VAMPIRE,30,1,10,0)
	ADD_GOLD_TO_PLAYER(PLAYER1,16025)
ENDIF
IF(PLAYER2,WORKSHOP >= 49)
	ROOM_AVAILABLE(PLAYER2,WORKSHOP,0,0)
	ADD_CREATURE_TO_LEVEL(PLAYER2,DRAGON,31,1,10,0)
	ADD_GOLD_TO_PLAYER(PLAYER2,15610)
ENDIF
IF(PLAYER3,WORKSHOP >= 16)
	ROOM_AVAILABLE(PLAYER3,WORKSHOP,0,0)
	ADD_CREATURE_TO_LEVEL(PLAYER3,SKELETON,32,1,10,0)
	ADD_GOLD_TO_PLAYER(PLAYER3,6105)
ENDIF
IF(PLAYER1,BARRACKS >= 9)
	ROOM_AVAILABLE(PLAYER1,BARRACKS,0,0)
	ADD_CREATURE_TO_LEVEL(PLAYER1,VAMPIRE,30,1,10,0)
	ADD_GOLD_TO_PLAYER(PLAYER1,7350)
ENDIF
IF(PLAYER2,BARRACKS >= 9)
	ROOM_AVAILABLE(PLAYER2,BARRACKS,0,0)
	ADD_CREATURE_TO_LEVEL(PLAYER2,DRAGON,31,1,10,0)
	ADD_GOLD_TO_PLAYER(PLAYER2,6935)
ENDIF
IF(PLAYER3,BARRACKS >= 9)
	ROOM_AVAILABLE(PLAYER3,BARRACKS,0,0)
	ADD_CREATURE_TO_LEVEL(PLAYER3,SKELETON,32,1,10,0)
	ADD_GOLD_TO_PLAYER(PLAYER3,4030)
ENDIF
IF(PLAYER1,PRISON >= 16)
	ROOM_AVAILABLE(PLAYER1,PRISON,0,0)
	ADD_CREATURE_TO_LEVEL(PLAYER1,VAMPIRE,30,1,10,0)
	ADD_GOLD_TO_PLAYER(PLAYER1,9825)
	NEXT_COMMAND_REUSABLE
	SET_CREATURE_TENDENCIES(PLAYER1,IMPRISON,1)
ENDIF
IF(PLAYER2,PRISON >= 16)
	ROOM_AVAILABLE(PLAYER2,PRISON,0,0)
	ADD_CREATURE_TO_LEVEL(PLAYER2,DRAGON,31,1,10,0)
	ADD_GOLD_TO_PLAYER(PLAYER2,9410)
	NEXT_COMMAND_REUSABLE
	SET_CREATURE_TENDENCIES(PLAYER2,IMPRISON,1)
ENDIF
IF(PLAYER3,PRISON >= 16)
	ROOM_AVAILABLE(PLAYER3,PRISON,0,0)
	ADD_CREATURE_TO_LEVEL(PLAYER3,SKELETON,32,1,10,0)
	ADD_GOLD_TO_PLAYER(PLAYER3,6505)
	NEXT_COMMAND_REUSABLE
	SET_CREATURE_TENDENCIES(PLAYER3,IMPRISON,1)
ENDIF
IF(PLAYER1,TORTURE >= 16)
	ROOM_AVAILABLE(PLAYER1,TORTURE,0,0)
	ADD_CREATURE_TO_LEVEL(PLAYER1,VAMPIRE,30,1,10,0)
	ADD_GOLD_TO_PLAYER(PLAYER1,11825)
ENDIF
IF(PLAYER2,TORTURE >= 16)
	ROOM_AVAILABLE(PLAYER2,TORTURE,0,0)
	ADD_CREATURE_TO_LEVEL(PLAYER2,DRAGON,31,1,10,0)
	ADD_GOLD_TO_PLAYER(PLAYER2,11410)
ENDIF
IF(PLAYER3,TORTURE >= 16)
	ROOM_AVAILABLE(PLAYER3,TORTURE,0,0)
	ADD_CREATURE_TO_LEVEL(PLAYER3,SKELETON,32,1,10,0)
	ADD_GOLD_TO_PLAYER(PLAYER3,8505)
ENDIF
IF(PLAYER1,TEMPLE >= 9)
	ROOM_AVAILABLE(PLAYER1,TEMPLE,0,0)
	ADD_CREATURE_TO_LEVEL(PLAYER1,VAMPIRE,30,1,10,0)
	ADD_GOLD_TO_PLAYER(PLAYER1,9375)
ENDIF
IF(PLAYER2,TEMPLE >= 9)
	ROOM_AVAILABLE(PLAYER2,TEMPLE,0,0)
	ADD_CREATURE_TO_LEVEL(PLAYER2,DRAGON,31,1,10,0)
	ADD_GOLD_TO_PLAYER(PLAYER2,8960)
ENDIF
IF(PLAYER3,TEMPLE >= 9)
	ROOM_AVAILABLE(PLAYER3,TEMPLE,0,0)
	ADD_CREATURE_TO_LEVEL(PLAYER3,SKELETON,32,1,10,0)
	ADD_GOLD_TO_PLAYER(PLAYER3,6055)
ENDIF
IF(PLAYER1,GRAVEYARD >= 36)
	SET_TIMER(PLAYER1,TIMER7)
	ROOM_AVAILABLE(PLAYER1,GRAVEYARD,0,0)
	ADD_CREATURE_TO_LEVEL(PLAYER1,VAMPIRE,30,1,10,0)
	ADD_GOLD_TO_PLAYER(PLAYER1,17025)
ENDIF
IF(PLAYER2,GRAVEYARD >= 36)
	SET_TIMER(PLAYER2,TIMER7)
	ROOM_AVAILABLE(PLAYER2,GRAVEYARD,0,0)
	ADD_CREATURE_TO_LEVEL(PLAYER2,DRAGON,31,1,10,0)
	ADD_GOLD_TO_PLAYER(PLAYER2,16610)
ENDIF
IF(PLAYER3,GRAVEYARD >= 16)
	SET_TIMER(PLAYER3,TIMER7)
	ROOM_AVAILABLE(PLAYER3,GRAVEYARD,0,0)
	ADD_CREATURE_TO_LEVEL(PLAYER3,SKELETON,32,1,10,0)
	ADD_GOLD_TO_PLAYER(PLAYER3,7705)
ENDIF

REM # Limit the AI CTA.
IF(PLAYER_GOOD,TIMER1 >= 1200)
	NEXT_COMMAND_REUSABLE
	MAGIC_AVAILABLE(PLAYER1,POWER_CALL_TO_ARMS,0,0)
	NEXT_COMMAND_REUSABLE
	MAGIC_AVAILABLE(PLAYER1,POWER_CALL_TO_ARMS,1,1)
	NEXT_COMMAND_REUSABLE
	MAGIC_AVAILABLE(PLAYER2,POWER_CALL_TO_ARMS,0,0)
	NEXT_COMMAND_REUSABLE
	MAGIC_AVAILABLE(PLAYER2,POWER_CALL_TO_ARMS,1,1)
	NEXT_COMMAND_REUSABLE
	MAGIC_AVAILABLE(PLAYER3,POWER_CALL_TO_ARMS,0,0)
	NEXT_COMMAND_REUSABLE
	MAGIC_AVAILABLE(PLAYER3,POWER_CALL_TO_ARMS,1,1)
	NEXT_COMMAND_REUSABLE
	SET_TIMER(PLAYER_GOOD,TIMER1)
ENDIF

REM # Heroes Timed Event.
IF(PLAYER_GOOD,DUNGEON_DESTROYED == 0)
	IF(PLAYER_GOOD,TIMER2 == 18000)
		NEXT_COMMAND_REUSABLE
		ADD_PARTY_TO_LEVEL(PLAYER_GOOD,MSS,-1,1)
	ENDIF
	IF(PLAYER_GOOD,TIMER2 == 19200)
		NEXT_COMMAND_REUSABLE
		ADD_PARTY_TO_LEVEL(PLAYER_GOOD,TSG,-1,1)
		SET_TIMER(PLAYER_GOOD,TIMER2)
	ENDIF
	IF(PLAYER_GOOD,TIMER2 == 20400)
		NEXT_COMMAND_REUSABLE
		ADD_PARTY_TO_LEVEL(PLAYER_GOOD,ABAE,-1,1)
	ENDIF
	IF(PLAYER_GOOD,TIMER2 == 21600)
		NEXT_COMMAND_REUSABLE
		ADD_PARTY_TO_LEVEL(PLAYER_GOOD,DGAE,-1,1)
		SET_TIMER(PLAYER_GOOD,TIMER2)
	ENDIF
	IF(PLAYER_GOOD,TIMER2 == 22800)
		NEXT_COMMAND_REUSABLE
		ADD_PARTY_TO_LEVEL(PLAYER_GOOD,WSS,-1,1)
	ENDIF
	IF(PLAYER_GOOD,TIMER2 == 24000)
		NEXT_COMMAND_REUSABLE
		ADD_PARTY_TO_LEVEL(PLAYER_GOOD,FSG,-2,1)
		SET_TIMER(PLAYER_GOOD,TIMER2)
	ENDIF
	IF(PLAYER_GOOD,TIMER2 == 25200)
		NEXT_COMMAND_REUSABLE
		ADD_PARTY_TO_LEVEL(PLAYER_GOOD,SADH,-1,1)
		SET_TIMER(PLAYER_GOOD,TIMER2)
	ENDIF
	IF(PLAYER_GOOD,TIMER2 >= 26400)
		NEXT_COMMAND_REUSABLE
		ADD_PARTY_TO_LEVEL(PLAYER_GOOD,TMSR,-1,1)
		NEXT_COMMAND_REUSABLE
		SET_TIMER(PLAYER_GOOD,TIMER2)
	ENDIF
ENDIF

REM # Enable/Disable Gems at AP#1.
IF(PLAYER_GOOD,FLAG0 > 12000)
	SET_FLAG(PLAYER0,BOX200_ACTIVATED,1)
	NEXT_COMMAND_REUSABLE
	USE_POWER_AT_LOCATION(PLAYER_GOOD,9,POWER_CAVE_IN,9,1)
	NEXT_COMMAND_REUSABLE
	CHANGE_SLAB_TYPE(61,1,HARD)
	NEXT_COMMAND_REUSABLE
	SET_FLAG(PLAYER_GOOD,FLAG0,6000)
	NEXT_COMMAND_REUSABLE
	SET_FLAG(PLAYER_GOOD,BOX200_ACTIVATED,1)
ENDIF
IF(PLAYER_GOOD,BOX200_ACTIVATED > 0)
	NEXT_COMMAND_REUSABLE
	ADD_TO_FLAG(PLAYER_GOOD,FLAG0,-1)
	IF(PLAYER_GOOD,FLAG0 < 1)
		NEXT_COMMAND_REUSABLE
		CHANGE_SLAB_TYPE(61,1,GEMS)
		NEXT_COMMAND_REUSABLE
		SET_FLAG(PLAYER_GOOD,BOX200_ACTIVATED,0)
	ENDIF
ENDIF

REM # Enable/Disable Gems at AP#2.
IF(PLAYER_GOOD,FLAG1 > 6000)
	SET_FLAG(PLAYER0,BOX200_ACTIVATED,1)
	NEXT_COMMAND_REUSABLE
	USE_POWER_AT_LOCATION(PLAYER_GOOD,10,POWER_CAVE_IN,9,1)
	NEXT_COMMAND_REUSABLE
	CHANGE_SLAB_TYPE(79,2,HARD)
	NEXT_COMMAND_REUSABLE
	SET_FLAG(PLAYER_GOOD,FLAG1,6000)
	NEXT_COMMAND_REUSABLE
	SET_FLAG(PLAYER_GOOD,BOX201_ACTIVATED,1)
ENDIF
IF(PLAYER_GOOD,BOX201_ACTIVATED > 0)
	NEXT_COMMAND_REUSABLE
	ADD_TO_FLAG(PLAYER_GOOD,FLAG1,-1)
	IF(PLAYER_GOOD,FLAG1 < 1)
		NEXT_COMMAND_REUSABLE
		CHANGE_SLAB_TYPE(79,2,GEMS)
		NEXT_COMMAND_REUSABLE
		SET_FLAG(PLAYER_GOOD,BOX201_ACTIVATED,0)
	ENDIF
ENDIF

REM # Enable/Disable Gems at AP#3.
IF(PLAYER_GOOD,FLAG2 > 12000)
	SET_FLAG(PLAYER0,BOX200_ACTIVATED,1)
	NEXT_COMMAND_REUSABLE
	USE_POWER_AT_LOCATION(PLAYER_GOOD,11,POWER_CAVE_IN,9,1)
	NEXT_COMMAND_REUSABLE
	CHANGE_SLAB_TYPE(82,68,HARD)
	NEXT_COMMAND_REUSABLE
	SET_FLAG(PLAYER_GOOD,FLAG2,6000)
	NEXT_COMMAND_REUSABLE
	SET_FLAG(PLAYER_GOOD,BOX202_ACTIVATED,1)
ENDIF
IF(PLAYER_GOOD,BOX202_ACTIVATED > 0)
	NEXT_COMMAND_REUSABLE
	ADD_TO_FLAG(PLAYER_GOOD,FLAG2,-1)
	IF(PLAYER_GOOD,FLAG2 < 1)
		NEXT_COMMAND_REUSABLE
		CHANGE_SLAB_TYPE(82,68,GEMS)
		NEXT_COMMAND_REUSABLE
		SET_FLAG(PLAYER_GOOD,BOX202_ACTIVATED,0)
	ENDIF
ENDIF

REM # Enable/Disable Gems at AP#4.
IF(PLAYER_GOOD,FLAG3 > 12000)
	SET_FLAG(PLAYER0,BOX200_ACTIVATED,1)
	NEXT_COMMAND_REUSABLE
	USE_POWER_AT_LOCATION(PLAYER_GOOD,12,POWER_CAVE_IN,9,1)
	NEXT_COMMAND_REUSABLE
	CHANGE_SLAB_TYPE(82,77,HARD)
	NEXT_COMMAND_REUSABLE
	SET_FLAG(PLAYER_GOOD,FLAG3,6000)
	NEXT_COMMAND_REUSABLE
	SET_FLAG(PLAYER_GOOD,BOX203_ACTIVATED,1)
ENDIF
IF(PLAYER_GOOD,BOX203_ACTIVATED > 0)
	NEXT_COMMAND_REUSABLE
	ADD_TO_FLAG(PLAYER_GOOD,FLAG3,-1)
	IF(PLAYER_GOOD,FLAG3 < 1)
		NEXT_COMMAND_REUSABLE
		CHANGE_SLAB_TYPE(82,77,GEMS)
		NEXT_COMMAND_REUSABLE
		SET_FLAG(PLAYER_GOOD,BOX203_ACTIVATED,0)
	ENDIF
ENDIF

REM # Enable/Disable Gems at AP#5.
IF(PLAYER_GOOD,FLAG4 > 12000)
	SET_FLAG(PLAYER0,BOX200_ACTIVATED,1)
	NEXT_COMMAND_REUSABLE
	USE_POWER_AT_LOCATION(PLAYER_GOOD,13,POWER_CAVE_IN,9,1)
	NEXT_COMMAND_REUSABLE
	CHANGE_SLAB_TYPE(1,67,HARD)
	NEXT_COMMAND_REUSABLE
	SET_FLAG(PLAYER_GOOD,FLAG4,6000)
	NEXT_COMMAND_REUSABLE
	SET_FLAG(PLAYER_GOOD,BOX204_ACTIVATED,1)
ENDIF
IF(PLAYER_GOOD,BOX204_ACTIVATED > 0)
	NEXT_COMMAND_REUSABLE
	ADD_TO_FLAG(PLAYER_GOOD,FLAG4,-1)
	IF(PLAYER_GOOD,FLAG4 < 1)
		NEXT_COMMAND_REUSABLE
		CHANGE_SLAB_TYPE(1,67,GEMS)
		NEXT_COMMAND_REUSABLE
		SET_FLAG(PLAYER_GOOD,BOX204_ACTIVATED,0)
	ENDIF
ENDIF

REM # Enable/Disable Gems at AP#6.
IF(PLAYER_GOOD,FLAG5 > 12000)
	SET_FLAG(PLAYER0,BOX200_ACTIVATED,1)
	NEXT_COMMAND_REUSABLE
	USE_POWER_AT_LOCATION(PLAYER_GOOD,14,POWER_CAVE_IN,9,1)
	NEXT_COMMAND_REUSABLE
	CHANGE_SLAB_TYPE(4,62,HARD)
	NEXT_COMMAND_REUSABLE
	SET_FLAG(PLAYER_GOOD,FLAG5,6000)
	NEXT_COMMAND_REUSABLE
	SET_FLAG(PLAYER_GOOD,BOX205_ACTIVATED,1)
ENDIF
IF(PLAYER_GOOD,BOX205_ACTIVATED > 0)
	NEXT_COMMAND_REUSABLE
	ADD_TO_FLAG(PLAYER_GOOD,FLAG5,-1)
	IF(PLAYER_GOOD,FLAG5 < 1)
		NEXT_COMMAND_REUSABLE
		CHANGE_SLAB_TYPE(4,62,GEMS)
		NEXT_COMMAND_REUSABLE
		SET_FLAG(PLAYER_GOOD,BOX205_ACTIVATED,0)
	ENDIF
ENDIF

REM # Enable/Disable Gems at AP#7.
IF(PLAYER_GOOD,FLAG6 > 12000)
	SET_FLAG(PLAYER0,BOX200_ACTIVATED,1)
	NEXT_COMMAND_REUSABLE
	USE_POWER_AT_LOCATION(PLAYER_GOOD,15,POWER_CAVE_IN,9,1)
	NEXT_COMMAND_REUSABLE
	CHANGE_SLAB_TYPE(24,1,HARD)
	NEXT_COMMAND_REUSABLE
	SET_FLAG(PLAYER_GOOD,FLAG6,6000)
	NEXT_COMMAND_REUSABLE
	SET_FLAG(PLAYER_GOOD,BOX206_ACTIVATED,1)
ENDIF
IF(PLAYER_GOOD,BOX206_ACTIVATED > 0)
	NEXT_COMMAND_REUSABLE
	ADD_TO_FLAG(PLAYER_GOOD,FLAG6,-1)
	IF(PLAYER_GOOD,FLAG6 < 1)
		NEXT_COMMAND_REUSABLE
		CHANGE_SLAB_TYPE(24,1,GEMS)
		NEXT_COMMAND_REUSABLE
		SET_FLAG(PLAYER_GOOD,BOX206_ACTIVATED,0)
	ENDIF
ENDIF

REM # Enable/Disable Gems at AP#8.
IF(PLAYER_GOOD,FLAG7 > 12000)
	SET_FLAG(PLAYER0,BOX200_ACTIVATED,1)
	NEXT_COMMAND_REUSABLE
	USE_POWER_AT_LOCATION(PLAYER_GOOD,16,POWER_CAVE_IN,9,1)
	NEXT_COMMAND_REUSABLE
	CHANGE_SLAB_TYPE(31,2,HARD)
	NEXT_COMMAND_REUSABLE
	SET_FLAG(PLAYER_GOOD,FLAG7,6000)
	NEXT_COMMAND_REUSABLE
	SET_FLAG(PLAYER_GOOD,BOX207_ACTIVATED,1)
ENDIF
IF(PLAYER_GOOD,BOX207_ACTIVATED > 0)
	NEXT_COMMAND_REUSABLE
	ADD_TO_FLAG(PLAYER_GOOD,FLAG7,-1)
	IF(PLAYER_GOOD,FLAG7 < 1)
		NEXT_COMMAND_REUSABLE
		CHANGE_SLAB_TYPE(31,2,GEMS)
		NEXT_COMMAND_REUSABLE
		SET_FLAG(PLAYER_GOOD,BOX207_ACTIVATED,0)
	ENDIF
ENDIF

REM # Spawn a hostile Dragon whenever there's anything crossing their territory.
IF(PLAYER_GOOD,BOX221_ACTIVATED > 0)
	IF_CONTROLS(PLAYER_GOOD,DRAGON < PLAYER_GOOD,BOX223_ACTIVATED)
		QUICK_INFORMATION(2,"The heart of the lava pool belongs to a clan of Dragons allied with the heroes, they sense everything that crosses their territory and will attack any presence that seems hostile to them, no matter how insignificant.",21)
		NEXT_COMMAND_REUSABLE
		RANDOMISE_FLAG(PLAYER_GOOD,BOX222_ACTIVATED,8)
		IF(PLAYER_GOOD,BOX222_ACTIVATED == 1)
			NEXT_COMMAND_REUSABLE
			ADD_CREATURE_TO_LEVEL(PLAYER_GOOD,DRAGON,17,1,8,0)
		ENDIF
		IF(PLAYER_GOOD,BOX222_ACTIVATED == 2)
			NEXT_COMMAND_REUSABLE
			ADD_CREATURE_TO_LEVEL(PLAYER_GOOD,DRAGON,18,1,8,0)
		ENDIF
		IF(PLAYER_GOOD,BOX222_ACTIVATED == 3)
			NEXT_COMMAND_REUSABLE
			ADD_CREATURE_TO_LEVEL(PLAYER_GOOD,DRAGON,19,1,8,0)
		ENDIF
		IF(PLAYER_GOOD,BOX222_ACTIVATED == 4)
			NEXT_COMMAND_REUSABLE
			ADD_CREATURE_TO_LEVEL(PLAYER_GOOD,DRAGON,20,1,8,0)
		ENDIF
		IF(PLAYER_GOOD,BOX222_ACTIVATED == 5)
			NEXT_COMMAND_REUSABLE
			ADD_CREATURE_TO_LEVEL(PLAYER_GOOD,DRAGON,21,1,8,0)
		ENDIF
		IF(PLAYER_GOOD,BOX222_ACTIVATED == 6)
			NEXT_COMMAND_REUSABLE
			ADD_CREATURE_TO_LEVEL(PLAYER_GOOD,DRAGON,22,1,8,0)
		ENDIF
		IF(PLAYER_GOOD,BOX222_ACTIVATED == 7)
			NEXT_COMMAND_REUSABLE
			ADD_CREATURE_TO_LEVEL(PLAYER_GOOD,DRAGON,34,1,8,0)
		ENDIF
		IF(PLAYER_GOOD,BOX222_ACTIVATED == 8)
			NEXT_COMMAND_REUSABLE
			ADD_CREATURE_TO_LEVEL(PLAYER_GOOD,DRAGON,35,1,8,0)
		ENDIF
		REVEAL_MAP_RECT(PLAYER0,76,157,3,3)
		REVEAL_MAP_RECT(PLAYER0,79,154,3,3)
		REVEAL_MAP_RECT(PLAYER0,79,157,3,3)
		REVEAL_MAP_RECT(PLAYER0,79,160,3,3)
		REVEAL_MAP_RECT(PLAYER0,82,157,3,3)
		REVEAL_MAP_RECT(PLAYER0,101,147,3,3)
		REVEAL_MAP_RECT(PLAYER0,104,144,3,3)
		REVEAL_MAP_RECT(PLAYER0,104,147,3,3)
		REVEAL_MAP_RECT(PLAYER0,104,150,3,3)
		REVEAL_MAP_RECT(PLAYER0,107,147,3,3)
		REVEAL_MAP_RECT(PLAYER0,115,121,3,3)
		REVEAL_MAP_RECT(PLAYER0,118,118,3,3)
		REVEAL_MAP_RECT(PLAYER0,118,121,3,3)
		REVEAL_MAP_RECT(PLAYER0,118,124,3,3)
		REVEAL_MAP_RECT(PLAYER0,121,121,3,3)
		REVEAL_MAP_RECT(PLAYER0,118,196,3,3)
		REVEAL_MAP_RECT(PLAYER0,121,193,3,3)
		REVEAL_MAP_RECT(PLAYER0,121,196,3,3)
		REVEAL_MAP_RECT(PLAYER0,121,199,3,3)
		REVEAL_MAP_RECT(PLAYER0,124,196,3,3)
		REVEAL_MAP_RECT(PLAYER0,128,138,6,6)
		REVEAL_MAP_RECT(PLAYER0,131,135,6,6)
		REVEAL_MAP_RECT(PLAYER0,131,138,6,6)
		REVEAL_MAP_RECT(PLAYER0,131,141,6,6)
		REVEAL_MAP_RECT(PLAYER0,134,138,6,6)
		REVEAL_MAP_RECT(PLAYER0,134,160,6,6)
		REVEAL_MAP_RECT(PLAYER0,137,157,6,6)
		REVEAL_MAP_RECT(PLAYER0,137,160,6,6)
		REVEAL_MAP_RECT(PLAYER0,137,163,6,6)
		REVEAL_MAP_RECT(PLAYER0,140,160,6,6)
		REVEAL_MAP_RECT(PLAYER0,137,185,3,3)
		REVEAL_MAP_RECT(PLAYER0,140,182,3,3)
		REVEAL_MAP_RECT(PLAYER0,140,185,3,3)
		REVEAL_MAP_RECT(PLAYER0,140,188,3,3)
		REVEAL_MAP_RECT(PLAYER0,143,185,3,3)
		REVEAL_MAP_RECT(PLAYER0,148,144,6,6)
		REVEAL_MAP_RECT(PLAYER0,151,141,6,6)
		REVEAL_MAP_RECT(PLAYER0,151,144,6,6)
		REVEAL_MAP_RECT(PLAYER0,151,147,6,6)
		REVEAL_MAP_RECT(PLAYER0,154,144,6,6)
	ENDIF
ENDIF

REM # Give information about Dragons to the player.
IF_CONTROLS(PLAYER0,DRAGON > 0)
	QUICK_INFORMATION(3,"The Dragons of this realm are strange, they use their fangs to deal physical damage and use Rebound to counter ranged attackers, oddly they have access to Freeze and Hailstorm when at high level.",ALL_PLAYERS)
	SET_FLAG(PLAYER_GOOD,BOX223_ACTIVATED,1)
ENDIF

REM # Give information about Hell Hound to the player.
IF_CONTROLS(PLAYER0,HELL_HOUND > 0)
	QUICK_INFORMATION(4,"The Hounds of this realm are unable to breathe fire, instead they can regenerate with the Heal spell, they have access to Freeze and Hailstorm when at high level.",ALL_PLAYERS)
ENDIF

REM # Give information about Horned Reaper to the player.
IF_CONTROLS(PLAYER0,HORNY > 0)
	QUICK_INFORMATION(5,"The Horned Reaper of this realm are much stronger, they get a double attack and are immune to Boulder trap, they learn Protect instead of Speed and Teleport at level 10. However, they are much more irritable even when busy, moreover they will categorically refuse to pray in the Temple.",ALL_PLAYERS)
ENDIF

REM # Give information about Trolls to the player.
IF_CONTROLS(PLAYER0,TROLL > 0)
	QUICK_INFORMATION(6,"The Trolls of this realm are more powerful than usual, more skilled they prefer ranged combat, they can learn Fireball earlier but also the powerful Meteor spell, they have access to Protect and Teleport when at high level.",ALL_PLAYERS)
ENDIF

REM # Give information about Flies to the player.
IF_CONTROLS(PLAYER0,FLY > 0)
	QUICK_INFORMATION(7,"A Fly? The most powerful being in this realm is a pathetic Fly? Absurdity! Wait, what are those statistics?!",ALL_PLAYERS)
ENDIF

REM # Give information about Spiders to the player.
IF_CONTROLS(PLAYER0,SPIDER > 0)
	QUICK_INFORMATION(8,"A Spider has joined your ranks, it seems lost and does not belong to this world, and has nothing to do with ordinary Spiders, its characteristics are extraordinary.",ALL_PLAYERS)
ENDIF

REM # Give information about Ghosts to the player.
IF_CONTROLS(PLAYER0,GHOST > 0)
	QUICK_INFORMATION(9,"The Ghosts of this realm have access to Drain and Invisibility at base level, and have a whole new arsenal of spells as they level up, but beware, if you have too many ghosts they will turn against you!",ALL_PLAYERS)
ENDIF

REM # Give information about Skeletons to the player.
IF_CONTROLS(PLAYER0,SKELETON > 0)
	QUICK_INFORMATION(10,"The Skeletons of this realm have lost the ability to use Protect and cast Lightning, instead they use Speed and Teleport.",ALL_PLAYERS)
ENDIF

REM # Give information about Vampires to the player.
IF_CONTROLS(PLAYER0,VAMPIRE > 0)
	QUICK_INFORMATION(11,"The Vampires of this realm have an aversion for ranged combat and will prefer to fight in melee, they get Protect earlier, learn Invisibility and Disease to spread plagues, they have access to Freeze and Hailstorm when at high level.",ALL_PLAYERS)
ENDIF

REM # Give information about Mining activities to the player at AP#1.
IF(PLAYER0,BOX200_ACTIVATED > 0)
	QUICK_INFORMATION(12,"Your Imps brought disturbing news about the Gems, the area around seems unstable and could collapse at any time, making the Gems inaccessible for a while.",ALL_PLAYERS)
ENDIF

REM # Flash the Barracks button so the player know it's unlocked.
IF(PLAYER0,TRAINING > 0)
	ROOM_AVAILABLE(PLAYER0,BARRACKS,1,1)
	TUTORIAL_FLASH_BUTTON(16,-1)
ENDIF

REM # Give information about the Prison to the player.
IF(PLAYER0,PRISON > 0)
	QUICK_INFORMATION(13,"The Prison mechanics are different in this realm, you have less chance of successfully capturing hostile minions. Likewise, if you have too many Skeletons and/or Ghosts, imprisonment will be disabled and you cannot re-enable it until you get back below the limit.",ALL_PLAYERS)
	TUTORIAL_FLASH_BUTTON(11,-1)
	SET_CREATURE_TENDENCIES(PLAYER0,IMPRISON,1)
ENDIF

REM # Give information about the Torture Room to the player.
IF(PLAYER0,TORTURE > 0)
	QUICK_INFORMATION(14,"The Torture mechanics are different in this realm, hostile minions cannot be converted, and there is a chance they will die during a session instead of turning into a Ghost.",ALL_PLAYERS)
	TUTORIAL_FLASH_BUTTON(17,-1)
ENDIF

REM # Give information about the Temple to the player.
IF(PLAYER0,TEMPLE > 0)
	QUICK_INFORMATION(15,"The sacrificial pools in the Temple of this realm have been altered and the recipes you once knew are no longer effective, for example you can not summon the Horned Reaper or sacrifice Imps to reduce their costs. Nevertheless, there are other recipes like sacrificing 3 Hounds to get a Dragon, or 1 undead of each type to get a Troll, it is also said that if you sacrifice a Dragon, a Troll and an as yet unknown creature, you might summon the most powerful being in this realm, but that's only a rumor...",ALL_PLAYERS)
	TUTORIAL_FLASH_BUTTON(12,-1)
ENDIF

REM # Give information about the Graveyard to the player.
IF(PLAYER0,GRAVEYARD > 0)
	QUICK_INFORMATION(16,"The Graveyard of this realm is capable of spawning both Ghosts, Skeletons, or Vampires, the body decay required to raise an undead has doubled.",ALL_PLAYERS)
	TUTORIAL_FLASH_BUTTON(15,-1)
ENDIF

REM # Give information about the Scavenger Room to the player.
IF(PLAYER0,SCAVENGER > 0)
	QUICK_INFORMATION(17,"The Scavenger of this realm appears to be bound to the Portal by a powerful malevolent energy. Each tiles increase the chances of getting high level creatures through the Portal.",ALL_PLAYERS)
	TUTORIAL_FLASH_BUTTON(14,-1)
ENDIF

REM # Give information about Mysterious Box to the player.
IF_AVAILABLE(PLAYER0,LAVA > 0)
	QUICK_INFORMATION(18,"Your Trolls have successfully crafted a Mysterious Box, examine it to discover its effect.",ALL_PLAYERS)
	NEXT_COMMAND_REUSABLE
	TRAP_AVAILABLE(PLAYER0,LAVA,0,0)
	NEXT_COMMAND_REUSABLE
	TRAP_AVAILABLE(PLAYER0,LAVA,1,0)
ENDIF

REM # Give information about Mimic trap to the player.
IF_AVAILABLE(PLAYER0,TNT > 0)
	QUICK_INFORMATION(19,"Your Trolls have successfully crafted a Mimic Trap, its trigger type and effect are random, for some obscure reason the Scavenger is linked to this trap, the more tiles you have, the more effects the trap can use, this trap seems to have infinite ammunitions. Note that you can place this trap on a Bridge.",ALL_PLAYERS)
	TUTORIAL_FLASH_BUTTON(4,-1)
ENDIF

REM # Give information about Special trap to the player.
IF_AVAILABLE(PLAYER0,ALARM > 0)
	QUICK_INFORMATION(20,"Your Trolls have discovered a rather bizarre trap. You can trigger it by slapping it which will turn the slab into an unclaimed path, it seems useless at first glance but what if you place it on a Bridge?",ALL_PLAYERS)
	TUTORIAL_FLASH_BUTTON(4,-1)
ENDIF

REM # Give information about Poison Gas trap to the player.
IF_AVAILABLE(PLAYER0,POISON_GAS > 0)
	QUICK_INFORMATION(21,"Poison Gas trap of this realm are upgraded and act like turrets, they fire poisonous projectile. Can be placed on a Bridge.",ALL_PLAYERS)
	TUTORIAL_FLASH_BUTTON(4,-1)
ENDIF

REM # Give information about Lightning trap to the player.
IF_AVAILABLE(PLAYER0,LIGHTNING > 0)
	QUICK_INFORMATION(22,"Lightning trap of this realm are upgraded and act like turrets, they fire electric beam quickly. Can be placed on a Bridge.",ALL_PLAYERS)
	TUTORIAL_FLASH_BUTTON(4,-1)
ENDIF

REM # Give information about Hailstorm trap to the player.
IF_AVAILABLE(PLAYER0,WORD_OF_POWER > 0)
	QUICK_INFORMATION(23,"Hailstorm trap act like turrets, they fire hailstones projectiles. Can be placed on a Bridge.",ALL_PLAYERS)
	TUTORIAL_FLASH_BUTTON(4,-1)
ENDIF

REM # Trolls get stronger with the Workshop.
IF(PLAYER0,WORKSHOP > 9)
	QUICK_INFORMATION(24,"Your Trolls claim they can increase their combat abilities through the Workshop, but only if you build more tiles.",ALL_PLAYERS)
	IF(PLAYER0,WORKSHOP >= 49)
		QUICK_INFORMATION(25,"It's a success, your Trolls have invented a device that increases their combat capacity by stimulating their nerve impulses.",ALL_PLAYERS)
		SET_CREATURE_CONFIGURATION(TROLL,Health,900)
		SET_CREATURE_CONFIGURATION(TROLL,Strength,75)
		SET_CREATURE_CONFIGURATION(TROLL,Armour,30)
		SET_CREATURE_CONFIGURATION(TROLL,Dexterity,110)
		SET_CREATURE_CONFIGURATION(TROLL,Defence,100)
		SET_CREATURE_CONFIGURATION(TROLL,Luck,25)
	ENDIF
	IF(PLAYER0,WORKSHOP >= 98)
		QUICK_INFORMATION(26,"Thanks to mechanical implants, your Trolls are even more effective in combat, their speed has increased and their health recovery has doubled.",ALL_PLAYERS)
		SET_CREATURE_CONFIGURATION(TROLL,Health,1350)
		SET_CREATURE_CONFIGURATION(TROLL,Strength,90)
		SET_CREATURE_CONFIGURATION(TROLL,Armour,40)
		SET_CREATURE_CONFIGURATION(TROLL,Dexterity,120)
		SET_CREATURE_CONFIGURATION(TROLL,Defence,110)
		SET_CREATURE_CONFIGURATION(TROLL,Luck,30)
		SET_CREATURE_CONFIGURATION(TROLL,Recovery,24)
		SET_CREATURE_CONFIGURATION(TROLL,BaseSpeed,96)
		SET_CREATURE_CONFIGURATION(TROLL,SlapsToKill,32)
	ENDIF
	IF(PLAYER0,WORKSHOP >= 147)
		QUICK_INFORMATION(27,"The prowess of your Trolls has allowed them to invent a new way to maintain themselves physiologically, they no longer need to eat and are much tougher, however they now demand a much higher salary.",ALL_PLAYERS)
		SET_CREATURE_CONFIGURATION(TROLL,Health,2250)
		SET_CREATURE_CONFIGURATION(TROLL,Strength,105)
		SET_CREATURE_CONFIGURATION(TROLL,Armour,50)
		SET_CREATURE_CONFIGURATION(TROLL,Dexterity,130)
		SET_CREATURE_CONFIGURATION(TROLL,Defence,120)
		SET_CREATURE_CONFIGURATION(TROLL,Luck,35)
		SET_CREATURE_CONFIGURATION(TROLL,Recovery,36)
		SET_CREATURE_CONFIGURATION(TROLL,HungerRate,0)
		SET_CREATURE_CONFIGURATION(TROLL,HungerFill,0)
		SET_CREATURE_CONFIGURATION(TROLL,Pay,1250)
		SET_CREATURE_CONFIGURATION(TROLL,SlapsToKill,0)
		SET_CREATURE_CONFIGURATION(TROLL,DamageToBoulder,80)
		IF_CONTROLS(PLAYER0,TROLL >= 30)
			QUICK_INFORMATION(28,"By combining their efforts, your Trolls have invented a device allowing them to float in the air permanently, your Imps also benefit from this improvement!",ALL_PLAYERS)
			SET_FLAG(PLAYER0,BOX253_ACTIVATED,1)
		ENDIF
	ENDIF
ENDIF

REM # Trigger an event when the player reach AP#25.
IF_ACTION_POINT(25,PLAYER0)
	USE_SPELL_ON_PLAYERS_CREATURES(PLAYER0,ANY_CREATURE,SPELL_DISEASE,9)
	USE_SPELL_ON_PLAYERS_CREATURES(PLAYER1,ANY_CREATURE,SPELL_DISEASE,9)
	USE_SPELL_ON_PLAYERS_CREATURES(PLAYER2,ANY_CREATURE,SPELL_DISEASE,9)
	USE_SPELL_ON_PLAYERS_CREATURES(PLAYER3,ANY_CREATURE,SPELL_DISEASE,9)
	QUICK_INFORMATION(29,"A Dark God is displeased and curses all minions of this realm with a plague.",25)
ENDIF

REM # Trigger an event when the player reach AP#39.
IF_ACTION_POINT(39,PLAYER0)
	ADD_PARTY_TO_LEVEL(PLAYER_GOOD,SADH,39,1)
ENDIF

REM # Trigger an event when the player reach AP#40.
IF_ACTION_POINT(40,PLAYER0)
	ADD_PARTY_TO_LEVEL(PLAYER_GOOD,WDH,-3,1)
ENDIF

REM # Trigger an event when player reach AP#41.
IF_ACTION_POINT(41,PLAYER0)
	SET_TIMER(PLAYER3,TIMER0)
	ADD_PARTY_TO_LEVEL(PLAYER_GOOD,FSG,-2,1)
	CHANGE_SLAB_TYPE(51,15,PATH)
	QUICK_OBJECTIVE(30,"You approach a rival Keeper's dungeon but they noticed your presence and are now planning an attack, take the initiative and destroy them!",ALL_PLAYERS)
ENDIF

REM # Trigger an event when the player reach AP#42.
IF_ACTION_POINT(42,PLAYER0)
	SET_TIMER(PLAYER_GOOD,TIMER2)
	QUICK_INFORMATION(31,"The hard rock has crumbled, freeing up a path for your Imps to claim.",42)
	REM # CHANGE_SLAB_OWNER(82,28,PLAYER0)
	CHANGE_SLAB_TYPE(82,29,PATH)
	CHANGE_SLAB_TYPE(82,30,PATH)
	SET_TRAP_CONFIGURATION(POISON_GAS,Shots,6)
	SET_TRAP_CONFIGURATION(POISON_GAS,TimeBetweenShots,200)
	SET_TRAP_CONFIGURATION(LIGHTNING,Shots,15)
	SET_TRAP_CONFIGURATION(LIGHTNING,TimeBetweenShots,80)
	SET_TRAP_CONFIGURATION(WORD_OF_POWER,Shots,15)
	SET_TRAP_CONFIGURATION(WORD_OF_POWER,TimeBetweenShots,160)
	SET_TRAP_CONFIGURATION(LAVA,NameTextID,241)
	SET_TRAP_CONFIGURATION(LAVA,TooltipTextID,241)
	SET_TRAP_CONFIGURATION(LAVA,SymbolSprites,372,430)
	SET_TRAP_CONFIGURATION(LAVA,PointerSprites,159)
	SET_TRAP_CONFIGURATION(LAVA,Shots,150)
	SET_TRAP_CONFIGURATION(LAVA,TimeBetweenShots,8)
	SET_TRAP_CONFIGURATION(LAVA,TriggerType,3)
	SET_TRAP_CONFIGURATION(LAVA,ActivationType,5)
	SET_TRAP_CONFIGURATION(LAVA,EffectType,7)
	SET_TRAP_CONFIGURATION(LAVA,Hidden,1)
	SET_TRAP_CONFIGURATION(LAVA,Destructible,0)
	SET_TRAP_CONFIGURATION(LAVA,PlaceOnBridge,1)
	SET_TRAP_CONFIGURATION(LAVA,PlaceOnSubtile,1)
	SET_TRAP_CONFIGURATION(LAVA,ThingSize,128,256)
	SET_TRAP_CONFIGURATION(LAVA,HitType,4)
	CHANGE_SLAB_TYPE(76,24,LAVA)
	CHANGE_SLAB_TYPE(76,25,LAVA)
	CHANGE_SLAB_TYPE(76,26,LAVA)
	CHANGE_SLAB_TYPE(76,28,LAVA)
	CHANGE_SLAB_TYPE(76,29,LAVA)
	CHANGE_SLAB_TYPE(76,30,LAVA)
	CHANGE_SLAB_TYPE(77,24,LAVA)
	CHANGE_SLAB_TYPE(77,26,LAVA)
	CHANGE_SLAB_TYPE(77,28,LAVA)
	CHANGE_SLAB_TYPE(77,30,LAVA)
	CHANGE_SLAB_TYPE(78,24,LAVA)
	CHANGE_SLAB_TYPE(78,26,LAVA)
	CHANGE_SLAB_TYPE(78,27,LAVA)
	CHANGE_SLAB_TYPE(78,28,LAVA)
	CHANGE_SLAB_TYPE(78,30,LAVA)
	CHANGE_SLAB_TYPE(80,24,LAVA)
	CHANGE_SLAB_TYPE(80,25,LAVA)
	CHANGE_SLAB_TYPE(80,26,LAVA)
	CHANGE_SLAB_TYPE(80,27,LAVA)
	CHANGE_SLAB_TYPE(80,28,LAVA)
	CHANGE_SLAB_TYPE(81,20,LAVA)
	CHANGE_SLAB_TYPE(81,21,LAVA)
	CHANGE_SLAB_TYPE(81,22,LAVA)
	CHANGE_SLAB_TYPE(81,24,LAVA)
	CHANGE_SLAB_TYPE(81,28,LAVA)
	CHANGE_SLAB_TYPE(82,22,LAVA)
	CHANGE_SLAB_TYPE(82,23,LAVA)
	CHANGE_SLAB_TYPE(82,24,LAVA)
ENDIF

REM # Trigger an event when the player reach AP#43.
IF_ACTION_POINT(43,PLAYER0)
	TRAP_AVAILABLE(PLAYER0,ALARM,1,0)
	QUICK_INFORMATION(32,"Your imps have found a blueprint for an unknown trap.",43)
ENDIF

REM # Trigger an event when the player reach AP#44.
IF_ACTION_POINT(44,PLAYER0)
	QUICK_INFORMATION(33,"One of your minions has a crazy theory, he thinks the missing ingredient is a Spider, that's stupid! A torture session would do him a lot of good.",-1)
ENDIF

REM # Trigger an event when player reach AP#48.
IF_ACTION_POINT(48,PLAYER0)
	QUICK_INFORMATION(34,"You have discovered a Special Box whose effect seems unknown, but according to your Trolls once activated it will open a secret passage to allow quick access to the lava pool located south of your Portal.",47)
ENDIF

REM # Trigger an event when player reach AP#72.
IF_ACTION_POINT(72,PLAYER0)
	ADD_PARTY_TO_LEVEL(PLAYER_GOOD,CONQUEST,-5,1)
ENDIF

REM # Randomly Freeze a minion and all Imps, affect both the player and the AI.
IF(PLAYER0,FLAG1 > PLAYER0,FLAG2)
	QUICK_INFORMATION(35,"The temperatures have dropped so much that one of your minions has frozen with all your Imps. This happens sometimes, take note and be aware that it also affects your rivals.",ALL_PLAYERS)
	NEXT_COMMAND_REUSABLE
	USE_SPELL_ON_PLAYERS_CREATURES(ALL_PLAYERS,IMP,SPELL_FREEZE,1)
	NEXT_COMMAND_REUSABLE
	USE_SPELL_ON_CREATURE(PLAYER0,ANY_CREATURE,ANYWHERE,SPELL_FREEZE,1)
	NEXT_COMMAND_REUSABLE
	USE_SPELL_ON_CREATURE(PLAYER1,ANY_CREATURE,ANYWHERE,SPELL_FREEZE,1)
	NEXT_COMMAND_REUSABLE
	USE_SPELL_ON_CREATURE(PLAYER2,ANY_CREATURE,ANYWHERE,SPELL_FREEZE,1)
	NEXT_COMMAND_REUSABLE
	USE_SPELL_ON_CREATURE(PLAYER3,ANY_CREATURE,ANYWHERE,SPELL_FREEZE,1)
	NEXT_COMMAND_REUSABLE
	USE_SPELL_ON_CREATURE(PLAYER_GOOD,ANY_CREATURE,ANYWHERE,SPELL_FREEZE,1)
	NEXT_COMMAND_REUSABLE
	RANDOMISE_FLAG(PLAYER0,FLAG2,4096)
	NEXT_COMMAND_REUSABLE
	ADD_TO_FLAG(PLAYER0,FLAG2,4096)
	NEXT_COMMAND_REUSABLE
	SET_FLAG(PLAYER0,FLAG1,0)
ENDIF

REM # Speed up all Dragons every Payday, AI also use Hold Audience.
IF(PLAYER0,TIMER0 >= 18000)
	QUICK_INFORMATION(36,"It's payday, the Dragons are so greedy that they double their movement speed to collect their wages. Perhaps you can use this behavior to your advantage?",ALL_PLAYERS)
	NEXT_COMMAND_REUSABLE
	USE_POWER(PLAYER1,POWER_HOLD_AUDIENCE,1)
	NEXT_COMMAND_REUSABLE
	USE_POWER(PLAYER2,POWER_HOLD_AUDIENCE,1)
	NEXT_COMMAND_REUSABLE
	USE_POWER(PLAYER3,POWER_HOLD_AUDIENCE,1)
	NEXT_COMMAND_REUSABLE
	USE_SPELL_ON_PLAYERS_CREATURES(ALL_PLAYERS,DRAGON,SPELL_SPEED,9)
	NEXT_COMMAND_REUSABLE
	COMPUTE_FLAG(PLAYER1,FLAG1,SET,PLAYER1,CURRENT_SALARY,0)
	NEXT_COMMAND_REUSABLE
	COMPUTE_FLAG(PLAYER1,FLAG1,DECREASE,PLAYER1,MONEY,0)
	NEXT_COMMAND_REUSABLE
	COMPUTE_FLAG(PLAYER2,FLAG1,SET,PLAYER2,CURRENT_SALARY,0)
	NEXT_COMMAND_REUSABLE
	COMPUTE_FLAG(PLAYER2,FLAG1,DECREASE,PLAYER2,MONEY,0)
	NEXT_COMMAND_REUSABLE
	COMPUTE_FLAG(PLAYER3,FLAG1,SET,PLAYER3,CURRENT_SALARY,0)
	NEXT_COMMAND_REUSABLE
	COMPUTE_FLAG(PLAYER3,FLAG1,DECREASE,PLAYER3,MONEY,0)
	NEXT_COMMAND_REUSABLE
	SET_TIMER(PLAYER0,TIMER0)
ENDIF

REM # Connect AI#1 and AI#2 after 144000 turns (2 hours).
IF(PLAYER0,GAME_TURN > 144000)
	SET_TIMER(PLAYER1,TIMER0)
	SET_TIMER(PLAYER2,TIMER1)
	SET_TIMER(PLAYER3,TIMER0)
	IF_SLAB_TYPE(30,77,HARD)
		CHANGE_SLAB_TYPE(29,77,PATH)
		CHANGE_SLAB_TYPE(30,77,PATH)
		CHANGE_SLAB_TYPE(31,77,PATH)
	ENDIF
ENDIF

REM # Unlock perks after defeating AI.
IF(PLAYER3,DUNGEON_DESTROYED == 1)
	SET_TIMER(PLAYER1,TIMER0)
	SET_FLAG(PLAYER0,FLAG7,40)
	SET_FLAG(PLAYER_GOOD,BOX223_ACTIVATED,3)
	ADD_CREATURE_TO_LEVEL(PLAYER1,GHOST,30,3,10,0)
	ADD_CREATURE_TO_LEVEL(PLAYER1,SKELETON,30,3,10,0)
	ADD_CREATURE_TO_LEVEL(PLAYER1,VAMPIRE,30,2,10,0)
	ADD_CREATURE_TO_LEVEL(PLAYER2,DRAGON,31,8,8,0)
	ADD_GOLD_TO_PLAYER(PLAYER1,23655)
	ADD_GOLD_TO_PLAYER(PLAYER2,38640)
	ADD_CREATURE_TO_POOL(GHOST,80)
	ADD_CREATURE_TO_POOL(SKELETON,80)
	ADD_CREATURE_TO_POOL(VAMPIRE,80)
	CREATURE_AVAILABLE(PLAYER1,GHOST,1,40)
	CREATURE_AVAILABLE(PLAYER1,SKELETON,1,40)
	CREATURE_AVAILABLE(PLAYER1,VAMPIRE,1,40)
	MAX_CREATURES(PLAYER0,30)
	MAX_CREATURES(PLAYER1,40)
	MAX_CREATURES(PLAYER2,40)
	MAX_CREATURES(PLAYER3,0)
	TRAP_AVAILABLE(PLAYER0,POISON_GAS,1,0)
	SET_TRAP_CONFIGURATION(POISON_GAS,Shots,12)
	SET_TRAP_CONFIGURATION(POISON_GAS,TimeBetweenShots,100)
	SET_TRAP_CONFIGURATION(POISON_GAS,SellingValue,250)
	SET_TRAP_CONFIGURATION(POISON_GAS,Unsellable,0)
	QUICK_OBJECTIVE(37,"Bravo Keeper, your next target is the South, a heroic fortress blocks the way to your rivals, so teach this noble people overflowing with infamous and disgusting kindness the notion of suffering.",ALL_PLAYERS)
	IF(PLAYER1,DUNGEON_DESTROYED == 1)
		SET_TIMER(PLAYER2,TIMER1)
		ADD_CREATURE_TO_POOL(VAMPIRE,80)
		CREATURE_AVAILABLE(PLAYER0,VAMPIRE,1,20)
		MAX_CREATURES(PLAYER1,0)
		TRAP_AVAILABLE(PLAYER0,WORD_OF_POWER,1,0)
		SET_TRAP_CONFIGURATION(WORD_OF_POWER,Shots,30)
		SET_TRAP_CONFIGURATION(WORD_OF_POWER,TimeBetweenShots,80)
		SET_TRAP_CONFIGURATION(WORD_OF_POWER,SellingValue,750)
		SET_TRAP_CONFIGURATION(WORD_OF_POWER,Unsellable,0)
		IF(PLAYER2,DUNGEON_DESTROYED == 0)
			ADD_CREATURE_TO_LEVEL(PLAYER2,SPIDER,31,1,10,0)
			ADD_CREATURE_TO_LEVEL(PLAYER2,HORNY,31,2,10,0)
			ADD_GOLD_TO_PLAYER(PLAYER2,36520)
			ADD_CREATURE_TO_POOL(HORNY,80)
			CREATURE_AVAILABLE(PLAYER2,HORNY,1,80)
			CREATURE_AVAILABLE(PLAYER2,VAMPIRE,1,20)
			MAX_CREATURES(PLAYER0,50)
			MAX_CREATURES(PLAYER2,60)
		ENDIF
		IF_SLAB_TYPE(14,37,HARD)
			CHANGE_SLAB_TYPE(14,37,PATH)
			CHANGE_SLAB_TYPE(14,38,PATH)
		ENDIF
	ENDIF
	IF(PLAYER2,DUNGEON_DESTROYED == 1)
		SET_TIMER(PLAYER1,TIMER0)
		SET_CREATURE_CONFIGURATION(DRAGON,Strength,150)
		SET_CREATURE_CONFIGURATION(DRAGON,Armour,135)
		SET_CREATURE_CONFIGURATION(DRAGON,Recovery,30)
		ADD_CREATURE_TO_POOL(DRAGON,200)
		CREATURE_AVAILABLE(PLAYER0,DRAGON,1,100)
		MAX_CREATURES(PLAYER2,0)
		TRAP_AVAILABLE(PLAYER0,BOULDER,1,0)
		SET_TRAP_CONFIGURATION(BOULDER,Shots,2)
		SET_TRAP_CONFIGURATION(BOULDER,TimeBetweenShots,1200)
		IF(PLAYER1,DUNGEON_DESTROYED == 0)
			ADD_CREATURE_TO_LEVEL(PLAYER1,SPIDER,30,1,10,0)
			ADD_CREATURE_TO_LEVEL(PLAYER1,HORNY,30,2,10,0)
			ADD_GOLD_TO_PLAYER(PLAYER1,36520)
			ADD_CREATURE_TO_POOL(HORNY,80)
			CREATURE_AVAILABLE(PLAYER1,DRAGON,1,100)
			CREATURE_AVAILABLE(PLAYER1,HORNY,1,80)
			MAX_CREATURES(PLAYER0,50)
			MAX_CREATURES(PLAYER1,60)
		ENDIF
		IF_SLAB_TYPE(80,36,HARD)
			CHANGE_SLAB_TYPE(80,36,PATH)
			CHANGE_SLAB_TYPE(80,37,PATH)
			CHANGE_SLAB_TYPE(80,38,PATH)
			CHANGE_SLAB_TYPE(80,39,PATH)
			CHANGE_SLAB_TYPE(80,40,PATH)
			CHANGE_SLAB_TYPE(80,41,PATH)
		ENDIF
	ENDIF
	IF(PLAYER_GOOD,DUNGEON_DESTROYED == 1)
		SET_TIMER(PLAYER2,TIMER1)
		SET_FLAG(PLAYER_GOOD,BOX223_ACTIVATED,8)
		CHANGE_SLAB_TYPE(36,19,PATH)
		ADD_PARTY_TO_LEVEL(PLAYER_GOOD,FNLDL,-3,1)
		TRAP_AVAILABLE(PLAYER0,LIGHTNING,1,0)
		SET_TRAP_CONFIGURATION(LIGHTNING,Shots,30)
		SET_TRAP_CONFIGURATION(LIGHTNING,TimeBetweenShots,40)
		SET_TRAP_CONFIGURATION(LIGHTNING,SellingValue,500)
		SET_TRAP_CONFIGURATION(LIGHTNING,Unsellable,0)
		QUICK_OBJECTIVE(38,"With the threat of good people removed, you can now focus on your rivals. No matter who you kill first, you have to get rid of those incompetents.",ALL_PLAYERS)
		IF(PLAYER1,DUNGEON_DESTROYED == 0)
			IF(PLAYER2,DUNGEON_DESTROYED == 0)
				NEXT_COMMAND_REUSABLE
				COMPUTE_FLAG(PLAYER0,BOX222_ACTIVATED,SET,PLAYER1,VAMPIRE,1)
				NEXT_COMMAND_REUSABLE
				COMPUTE_FLAG(PLAYER0,BOX222_ACTIVATED,INCREASE,PLAYER2,DRAGON,1)
				IF(PLAYER0,TOTAL_CREATURES > PLAYER0,BOX222_ACTIVATED)
					ALLY_PLAYERS(PLAYER1,PLAYER2,1)
					QUICK_INFORMATION(39,"These cowards signed an alliance pact to defeat you, show them it doesn't matter.",ALL_PLAYERS)
				ENDIF
				REM # Green will attempt to end the game after 4 hours.
				IF(PLAYER0,GAME_TURN > 288000)
					USE_POWER(PLAYER2,POWER_ARMAGEDDON,1)
					QUICK_OBJECTIVE(40,"One of your rivals has activated Armageddon. Prepare for battle!",ALL_PLAYERS)
				ENDIF
			ENDIF
		ENDIF
	ENDIF
	IF_SLAB_TYPE(14,30,HARD)
		CHANGE_SLAB_TYPE(14,30,PATH)
		CHANGE_SLAB_TYPE(14,31,PATH)
	ENDIF
ENDIF

REM # Unlock perks after defeating all Dungeon Heart.
IF(PLAYER0,ALL_DUNGEONS_DESTROYED == 1)
	SET_FLAG(PLAYER0,FLAG7,50)
	SET_FLAG(PLAYER_GOOD,BOX223_ACTIVATED,0)
	ADD_CREATURE_TO_POOL(HORNY,80)
	CREATURE_AVAILABLE(PLAYER0,HORNY,1,80)
	MAX_CREATURES(PLAYER0,100)
	SET_TRAP_CONFIGURATION(POISON_GAS,Shots,60)
	SET_TRAP_CONFIGURATION(POISON_GAS,TimeBetweenShots,20)
	SET_TRAP_CONFIGURATION(LIGHTNING,Shots,150)
	SET_TRAP_CONFIGURATION(LIGHTNING,TimeBetweenShots,8)
	SET_TRAP_CONFIGURATION(WORD_OF_POWER,Shots,150)
	SET_TRAP_CONFIGURATION(WORD_OF_POWER,TimeBetweenShots,16)
	SET_TRAP_CONFIGURATION(BOULDER,Shots,3)
	SET_TRAP_CONFIGURATION(BOULDER,TimeBetweenShots,600)
	SET_TRAP_CONFIGURATION(BOULDER,TriggerType,3)
	NEXT_COMMAND_REUSABLE
	SET_TRAP_CONFIGURATION(BOULDER,ActivationType,5)
	NEXT_COMMAND_REUSABLE
	SET_TRAP_CONFIGURATION(BOULDER,EffectType,15)
	IF(PLAYER0,FLAG0 < 256)
		IF_CONTROLS(PLAYER_GOOD,TOTAL_CREATURES == 0)
			NEXT_COMMAND_REUSABLE
			COMPUTE_FLAG(PLAYER0,FLAG0,INCREASE,PLAYER0,TOTAL_CREATURES,1)
			NEXT_COMMAND_REUSABLE
			ADD_PARTY_TO_LEVEL(PLAYER_GOOD,TSG,-1,1)
			NEXT_COMMAND_REUSABLE
			ADD_PARTY_TO_LEVEL(PLAYER_GOOD,MSS,-1,1)
			NEXT_COMMAND_REUSABLE
			ADD_PARTY_TO_LEVEL(PLAYER_GOOD,ABAE,-4,1)
			NEXT_COMMAND_REUSABLE
			ADD_PARTY_TO_LEVEL(PLAYER_GOOD,DGAE,-4,1)
			NEXT_COMMAND_REUSABLE
			ADD_PARTY_TO_LEVEL(PLAYER_GOOD,FSG,-2,1)
			NEXT_COMMAND_REUSABLE
			ADD_PARTY_TO_LEVEL(PLAYER_GOOD,WSS,39,1)
			NEXT_COMMAND_REUSABLE
			ADD_PARTY_TO_LEVEL(PLAYER_GOOD,SADH,39,1)
			NEXT_COMMAND_REUSABLE
			ADD_PARTY_TO_LEVEL(PLAYER_GOOD,TMSR,39,1)
			NEXT_COMMAND_REUSABLE
			ADD_PARTY_TO_LEVEL(PLAYER_GOOD,WDH,-3,1)
		ENDIF
	ENDIF
	IF_SLAB_TYPE(30,77,HARD)
		CHANGE_SLAB_TYPE(29,77,PATH)
		CHANGE_SLAB_TYPE(30,77,PATH)
		CHANGE_SLAB_TYPE(31,77,PATH)
	ENDIF
	QUICK_OBJECTIVE(41,"You have defeated all your rivals but an Avatar from a distant realm has heard of your misdeeds and has been mandated to eliminate you, prepare for an ultimate fight, his army should arrive soon, the scouts are already here!",ALL_PLAYERS)
ENDIF

REM # Win Condition.
IF(PLAYER0,FLAG0 >= 256)
	QUICK_OBJECTIVE(42,"The Avatar has arrived, show him who's boss and exterminate this pure-hearted being.",ALL_PLAYERS)
	ADD_PARTY_TO_LEVEL(PLAYER_GOOD,LORD,-3,1)
	ADD_PARTY_TO_LEVEL(PLAYER_GOOD,FNLSR,-1,1)
	ADD_PARTY_TO_LEVEL(PLAYER_GOOD,FNLSR,-2,1)
	ADD_PARTY_TO_LEVEL(PLAYER_GOOD,FNLSR,-3,1)
	ADD_PARTY_TO_LEVEL(PLAYER_GOOD,FNLSDH,-4,1)
	ADD_PARTY_TO_LEVEL(PLAYER_GOOD,FNLDL,-5,1)
	IF_CONTROLS(PLAYER_GOOD,TOTAL_CREATURES == 0)
		QUICK_OBJECTIVE(43,"You have conquered this realm, but you have stirred up the wrath of a Dark God, he sends his filthy minions to destroy you. Fight if you want, but if I were you, I would abandon these lands.",ALL_PLAYERS)
		NEXT_COMMAND_REUSABLE
		ADD_CREATURE_TO_LEVEL(PLAYER_GOOD,FLY,-1,1,10,0)
		NEXT_COMMAND_REUSABLE
		ADD_CREATURE_TO_LEVEL(PLAYER_GOOD,FLY,-2,1,10,0)
		NEXT_COMMAND_REUSABLE
		ADD_CREATURE_TO_LEVEL(PLAYER_GOOD,FLY,-3,1,10,0)
		NEXT_COMMAND_REUSABLE
		ADD_CREATURE_TO_LEVEL(PLAYER_GOOD,FLY,-4,1,10,0)
		NEXT_COMMAND_REUSABLE
		ADD_CREATURE_TO_LEVEL(PLAYER_GOOD,FLY,-5,1,10,0)
		NEXT_COMMAND_REUSABLE
		ADD_CREATURE_TO_LEVEL(PLAYER_GOOD,FLY,17,1,10,0)
		NEXT_COMMAND_REUSABLE
		ADD_CREATURE_TO_LEVEL(PLAYER_GOOD,FLY,18,1,10,0)
		NEXT_COMMAND_REUSABLE
		ADD_CREATURE_TO_LEVEL(PLAYER_GOOD,FLY,19,1,10,0)
		NEXT_COMMAND_REUSABLE
		ADD_CREATURE_TO_LEVEL(PLAYER_GOOD,FLY,20,1,10,0)
		NEXT_COMMAND_REUSABLE
		ADD_CREATURE_TO_LEVEL(PLAYER_GOOD,FLY,21,1,10,0)
		NEXT_COMMAND_REUSABLE
		ADD_CREATURE_TO_LEVEL(PLAYER_GOOD,FLY,22,1,10,0)
		NEXT_COMMAND_REUSABLE
		ADD_CREATURE_TO_LEVEL(PLAYER_GOOD,FLY,34,1,10,0)
		NEXT_COMMAND_REUSABLE
		ADD_CREATURE_TO_LEVEL(PLAYER_GOOD,FLY,35,1,10,0)
		NEXT_COMMAND_REUSABLE
		ADD_PARTY_TO_LEVEL(PLAYER_GOOD,CONQUEST,29,1)
		NEXT_COMMAND_REUSABLE
		ADD_PARTY_TO_LEVEL(PLAYER_GOOD,CONQUEST,30,1)
		NEXT_COMMAND_REUSABLE
		ADD_PARTY_TO_LEVEL(PLAYER_GOOD,CONQUEST,31,1)
		NEXT_COMMAND_REUSABLE
		ADD_PARTY_TO_LEVEL(PLAYER_GOOD,CONQUEST,32,1)
		NEXT_COMMAND_REUSABLE
		ADD_PARTY_TO_LEVEL(PLAYER_GOOD,CONQUEST,73,1)
		WIN_GAME
	ENDIF
ENDIF