REM ****************************************************************************
REM  Campaigns Consolidation Project for KeeperFX strategy game.
REM ****************************************************************************
REM  Script for Level Blaise End
REM  Campaign: DK Original
REM  Authors:  based on Bullfrog script
REM            KeeperFX CCP Team
REM  Date:     17 Dec 1996 - 14 Mar 2018
REM  Copying and copyrights:
REM    This program is free software; you can redistribute it and/or modify
REM    it under the terms of the GNU General Public License as published by
REM    the Free Software Foundation; either version 2 of the License, or
REM    (at your option) any later version.
REM ****************************************************************************
LEVEL_VERSION(1)

REM Nothing new for the player

REM Flags used:
REM   PLAYER0,FLAG2 - State of party TWO continuous spawning; 0-before; 2-spawning; 3-after.
REM   PLAYER0,FLAG4 - Disables attack of the gold mining events chain; 0-attack allowed; 1-final attack disabled.
REM Timers used:
REM   PLAYER0,TIMER2 - Continuous spawning of party TWO after AP1 is activated
REM   PLAYER0,TIMER4 - Allows delayed spawning of small party when AP3 is activated
REM   PLAYER_GOOD,TIMER0 - Starts when Lord of the Land arrives; if he's not killed soon, brings reinforcements
REM   PLAYER_GOOD,TIMER1 - Starts when enough gold is dug out; triggers minor parties in the gold digging events chain
REM   PLAYER_GOOD,TIMER2 - Starts when a lot of gold is dug out; triggers further parties in the gold digging events chain
REM   PLAYER_GOOD,TIMER3 - Starts when heroes triggered by TIMER2 are dead; triggers final attack in the gold digging events chain

SET_GENERATE_SPEED(800)

START_MONEY(PLAYER0,10000)

MAX_CREATURES(PLAYER0,60)

ADD_CREATURE_TO_POOL(TROLL,5)
ADD_CREATURE_TO_POOL(SORCEROR,3)
ADD_CREATURE_TO_POOL(BILE_DEMON,7)
ADD_CREATURE_TO_POOL(DARK_MISTRESS,15)
ADD_CREATURE_TO_POOL(TENTACLE,15)
ADD_CREATURE_TO_POOL(HELL_HOUND,10)
ADD_CREATURE_TO_POOL(DRAGON,20)
ADD_CREATURE_TO_POOL(VAMPIRE,3)
ADD_CREATURE_TO_POOL(ORC,20)

REM Creature availability
CREATURE_AVAILABLE(ALL_PLAYERS,TROLL,1,0)
CREATURE_AVAILABLE(ALL_PLAYERS,SORCEROR,1,0)
CREATURE_AVAILABLE(ALL_PLAYERS,BILE_DEMON,1,0)
CREATURE_AVAILABLE(ALL_PLAYERS,DARK_MISTRESS,1,0)
CREATURE_AVAILABLE(ALL_PLAYERS,TENTACLE,1,0)
CREATURE_AVAILABLE(ALL_PLAYERS,HELL_HOUND,1,0)
CREATURE_AVAILABLE(ALL_PLAYERS,DRAGON,1,0)
CREATURE_AVAILABLE(ALL_PLAYERS,VAMPIRE,1,0)
CREATURE_AVAILABLE(ALL_PLAYERS,ORC,1,0)

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

REM Spells availability
MAGIC_AVAILABLE(ALL_PLAYERS,POWER_HAND,1,1)
MAGIC_AVAILABLE(ALL_PLAYERS,POWER_IMP,1,1)
MAGIC_AVAILABLE(ALL_PLAYERS,POWER_SLAP,1,1)
MAGIC_AVAILABLE(ALL_PLAYERS,POWER_SIGHT,1,0)
MAGIC_AVAILABLE(ALL_PLAYERS,POWER_CALL_TO_ARMS,1,0)
MAGIC_AVAILABLE(ALL_PLAYERS,POWER_HEAL_CREATURE,1,0)
MAGIC_AVAILABLE(ALL_PLAYERS,POWER_SPEED,1,0)
MAGIC_AVAILABLE(ALL_PLAYERS,POWER_PROTECT,1,0)
MAGIC_AVAILABLE(ALL_PLAYERS,POWER_CONCEAL,1,0)
MAGIC_AVAILABLE(ALL_PLAYERS,POWER_HOLD_AUDIENCE,1,0)
REM Don't give POWER_LIGHTNING and POWER_DESTROY_WALLS, as they can be found on the level

REM Doors and traps availability
DOOR_AVAILABLE(ALL_PLAYERS,WOOD,1,0)
TRAP_AVAILABLE(ALL_PLAYERS,ALARM,1,0)
DOOR_AVAILABLE(ALL_PLAYERS,BRACED,1,0)
TRAP_AVAILABLE(ALL_PLAYERS,POISON_GAS,1,0)
TRAP_AVAILABLE(ALL_PLAYERS,LAVA,1,0)
DOOR_AVAILABLE(ALL_PLAYERS,STEEL,1,0)
TRAP_AVAILABLE(ALL_PLAYERS,BOULDER,1,0)
DOOR_AVAILABLE(ALL_PLAYERS,MAGIC,1,0)
TRAP_AVAILABLE(ALL_PLAYERS,LIGHTNING,1,0)
TRAP_AVAILABLE(ALL_PLAYERS,WORD_OF_POWER,1,0)

CREATE_PARTY(ONE)
	ADD_TO_PARTY(ONE,THIEF,2,300,ATTACK_ENEMIES,0)
	ADD_TO_PARTY(ONE,THIEF,2,300,ATTACK_ENEMIES,0)
	ADD_TO_PARTY(ONE,THIEF,2,300,ATTACK_ENEMIES,0)
	ADD_TO_PARTY(ONE,ARCHER,4,400,ATTACK_ENEMIES,0)

CREATE_PARTY(TWO)
	ADD_TO_PARTY(TWO,ARCHER,3,400,ATTACK_ENEMIES,0)
	ADD_TO_PARTY(TWO,ARCHER,3,400,ATTACK_ENEMIES,0)
	ADD_TO_PARTY(TWO,ARCHER,3,400,ATTACK_ENEMIES,0)
	ADD_TO_PARTY(TWO,BARBARIAN,4,500,ATTACK_ENEMIES,0)

CREATE_PARTY(THREE)
	ADD_TO_PARTY(THREE,DWARFA,4,300,ATTACK_ROOMS,0)
	ADD_TO_PARTY(THREE,DWARFA,4,300,ATTACK_ROOMS,0)
	ADD_TO_PARTY(THREE,DWARFA,4,300,ATTACK_ROOMS,0)
	ADD_TO_PARTY(THREE,DWARFA,4,300,ATTACK_ROOMS,0)
	ADD_TO_PARTY(THREE,DWARFA,4,300,ATTACK_ROOMS,0)

CREATE_PARTY(FOUR)
	ADD_TO_PARTY(FOUR,WITCH,5,750,STEAL_SPELLS,0)
	ADD_TO_PARTY(FOUR,WITCH,5,750,STEAL_SPELLS,0)
	ADD_TO_PARTY(FOUR,WITCH,5,750,STEAL_SPELLS,0)
	ADD_TO_PARTY(FOUR,THIEF,5,500,STEAL_GOLD,0)

CREATE_PARTY(FIVE)
	ADD_TO_PARTY(FIVE,BARBARIAN,5,1000,DEFEND_PARTY,0)
	ADD_TO_PARTY(FIVE,FAIRY,5,1000,STEAL_SPELLS,0)
	ADD_TO_PARTY(FIVE,BARBARIAN,5,1000,DEFEND_PARTY,0)
	ADD_TO_PARTY(FIVE,FAIRY,5,1000,STEAL_SPELLS,0)
	ADD_TO_PARTY(FIVE,BARBARIAN,5,1000,DEFEND_PARTY,0)
	ADD_TO_PARTY(FIVE,FAIRY,7,1000,STEAL_SPELLS,0)

CREATE_PARTY(SIX)
	ADD_TO_PARTY(SIX,ARCHER,5,1250,ATTACK_ENEMIES,0)
	ADD_TO_PARTY(SIX,ARCHER,5,1250,ATTACK_ENEMIES,0)
	ADD_TO_PARTY(SIX,ARCHER,5,1250,ATTACK_ENEMIES,0)
	ADD_TO_PARTY(SIX,ARCHER,5,1250,ATTACK_ENEMIES,0)

CREATE_PARTY(SEVEN)
	ADD_TO_PARTY(SEVEN,BARBARIAN,7,2000,ATTACK_ENEMIES,0)
	ADD_TO_PARTY(SEVEN,BARBARIAN,7,2000,ATTACK_ENEMIES,0)
	ADD_TO_PARTY(SEVEN,BARBARIAN,7,2000,ATTACK_ENEMIES,0)

CREATE_PARTY(TROOPA)
	ADD_TO_PARTY(TROOPA,ARCHER,3,200,ATTACK_ENEMIES,0)
	ADD_TO_PARTY(TROOPA,ARCHER,3,200,ATTACK_ENEMIES,0)
	ADD_TO_PARTY(TROOPA,ARCHER,3,200,ATTACK_ENEMIES,0)
	ADD_TO_PARTY(TROOPA,ARCHER,3,200,ATTACK_ENEMIES,0)
	ADD_TO_PARTY(TROOPA,ARCHER,3,200,ATTACK_ENEMIES,0)

CREATE_PARTY(TROOPB)
	ADD_TO_PARTY(TROOPB,THIEF,4,300,ATTACK_ENEMIES,0)
	ADD_TO_PARTY(TROOPB,THIEF,4,300,ATTACK_ENEMIES,0)
	ADD_TO_PARTY(TROOPB,THIEF,4,300,ATTACK_ENEMIES,0)
	ADD_TO_PARTY(TROOPB,THIEF,4,300,ATTACK_ENEMIES,0)
	ADD_TO_PARTY(TROOPB,ARCHER,4,300,ATTACK_ENEMIES,0)
	ADD_TO_PARTY(TROOPB,ARCHER,4,300,ATTACK_ENEMIES,0)

CREATE_PARTY(CASTERS)
	ADD_TO_PARTY(CASTERS,WIZARD,4,500,ATTACK_ENEMIES,0)
	ADD_TO_PARTY(CASTERS,WIZARD,4,500,ATTACK_ENEMIES,0)
	ADD_TO_PARTY(CASTERS,WIZARD,4,500,ATTACK_ENEMIES,0)
	ADD_TO_PARTY(CASTERS,WITCH,4,500,ATTACK_ENEMIES,0)
	ADD_TO_PARTY(CASTERS,WITCH,4,500,ATTACK_ENEMIES,0)
	ADD_TO_PARTY(CASTERS,WITCH,4,500,ATTACK_ENEMIES,0)

CREATE_PARTY(BARBIES)
	ADD_TO_PARTY(BARBIES,BARBARIAN,5,750,ATTACK_ENEMIES,0)
	ADD_TO_PARTY(BARBIES,BARBARIAN,5,750,ATTACK_ENEMIES,0)
	ADD_TO_PARTY(BARBIES,BARBARIAN,5,750,ATTACK_ENEMIES,0)
	ADD_TO_PARTY(BARBIES,BARBARIAN,5,750,ATTACK_ENEMIES,0)
	ADD_TO_PARTY(BARBIES,BARBARIAN,5,750,ATTACK_ENEMIES,0)

CREATE_PARTY(GIANTS)
	ADD_TO_PARTY(GIANTS,GIANT,8,1750,ATTACK_ENEMIES,0)
	ADD_TO_PARTY(GIANTS,GIANT,8,1750,ATTACK_ENEMIES,0)
	ADD_TO_PARTY(GIANTS,GIANT,8,1750,ATTACK_ENEMIES,0)
	ADD_TO_PARTY(GIANTS,GIANT,8,1750,ATTACK_ENEMIES,0)
	ADD_TO_PARTY(GIANTS,GIANT,8,1750,ATTACK_ENEMIES,0)

CREATE_PARTY(FAIRIES)
	ADD_TO_PARTY(FAIRIES,FAIRY,8,1750,ATTACK_ENEMIES,0)
	ADD_TO_PARTY(FAIRIES,FAIRY,8,1750,ATTACK_ENEMIES,0)
	ADD_TO_PARTY(FAIRIES,FAIRY,8,1750,ATTACK_ENEMIES,0)
	ADD_TO_PARTY(FAIRIES,FAIRY,8,1750,ATTACK_ENEMIES,0)
	ADD_TO_PARTY(FAIRIES,FAIRY,8,1750,ATTACK_ENEMIES,0)
	ADD_TO_PARTY(FAIRIES,FAIRY,8,1750,ATTACK_ENEMIES,0)

CREATE_PARTY(LORDGUARD)
	ADD_TO_PARTY(LORDGUARD,BARBARIAN,5,1000,DEFEND_PARTY,0)
	ADD_TO_PARTY(LORDGUARD,GIANT,7,1500,DEFEND_PARTY,0)
	ADD_TO_PARTY(LORDGUARD,BARBARIAN,5,1000,DEFEND_PARTY,0)
	ADD_TO_PARTY(LORDGUARD,GIANT,7,1500,DEFEND_PARTY,0)
	ADD_TO_PARTY(LORDGUARD,FAIRY,7,1500,DEFEND_PARTY,0)
	ADD_TO_PARTY(LORDGUARD,FAIRY,7,1500,DEFEND_PARTY,0)

CREATE_PARTY(LANDLORD)
	ADD_TO_PARTY(LANDLORD,FAIRY,9,1200,DEFEND_PARTY,0)
	ADD_TO_PARTY(LANDLORD,FAIRY,9,1200,DEFEND_PARTY,0)
	ADD_TO_PARTY(LANDLORD,FAIRY,9,1200,DEFEND_PARTY,0)
	ADD_TO_PARTY(LANDLORD,FAIRY,9,1200,DEFEND_PARTY,0)
	ADD_TO_PARTY(LANDLORD,FAIRY,6,1200,DEFEND_PARTY,0)
	ADD_TO_PARTY(LANDLORD,FAIRY,6,1200,DEFEND_PARTY,0)
	ADD_TO_PARTY(LANDLORD,KNIGHT,7,1200,DEFEND_PARTY,0)

REM ****************************************************************************

REM "The guardians of this realm are asleep at the moment. Attack them as soon as you can or they'll be breakfasted, wide awake and inherently more difficult to slaughter."
DISPLAY_OBJECTIVE(127,PLAYER0)

REM Let's make a chain of events related to gold digging
IF(PLAYER0,TOTAL_GOLD_MINED >= 12000)
	REM "If you should encounter hero patrols, ensure that none of their number escape. Otherwise your presence will be revealed and then you will be in trouble."
	DISPLAY_INFORMATION(128,ALL_PLAYERS)
ENDIF

IF(PLAYER0,TOTAL_GOLD_MINED >= 15000)
	ADD_TUNNELLER_PARTY_TO_LEVEL(PLAYER_GOOD,ONE,-1,DUNGEON_HEART,0,2,250)
ENDIF

IF(PLAYER0,TOTAL_GOLD_MINED >= 25000)
	ADD_TUNNELLER_PARTY_TO_LEVEL(PLAYER_GOOD,TWO,-2,DUNGEON_HEART,0,3,250)
	SET_TIMER(PLAYER_GOOD,TIMER1)
ENDIF

IF(PLAYER_GOOD,TIMER1 >= 5000)
	ADD_TUNNELLER_PARTY_TO_LEVEL(PLAYER_GOOD,ONE,-2,DUNGEON_HEART,0,4,300)
ENDIF

REM If mined so much gold, the dungeon is quite advanced. Start timer for a large attack.
IF(PLAYER0,TOTAL_GOLD_MINED >= 35000)
	ADD_TUNNELLER_PARTY_TO_LEVEL(PLAYER_GOOD,TWO,-2,DUNGEON_HEART,0,5,250)
	SET_TIMER(PLAYER_GOOD,TIMER2)
ENDIF

REM Warn the player that something big is coming
IF(PLAYER_GOOD,TIMER2 >= 1500)
	ADD_TUNNELLER_PARTY_TO_LEVEL(PLAYER_GOOD,THREE,-2,DUNGEON_HEART,0,6,250)
	IF_CONTROLS(PLAYER_GOOD,DWARFA <= 0)
		REM "You're taking forever over this. Attack and destroy the heroes' stronghold soon, preferably before hell freezes over."
		DISPLAY_INFORMATION(129,PLAYER_GOOD)
		SET_TIMER(PLAYER_GOOD,TIMER3)
	ENDIF
ENDIF

REM Final attack of the gold mining events chain
IF(PLAYER_GOOD,TIMER3 >= 5000)
	IF(PLAYER0,FLAG4 == 0)
		ADD_TUNNELLER_PARTY_TO_LEVEL(PLAYER_GOOD,TROOPA,-1,DUNGEON_HEART,0,5,300)
		ADD_TUNNELLER_PARTY_TO_LEVEL(PLAYER_GOOD,TROOPB,-2,DUNGEON_HEART,0,5,300)
		ADD_TUNNELLER_PARTY_TO_LEVEL(PLAYER_GOOD,CASTERS,-1,DUNGEON_HEART,0,5,300)
		ADD_TUNNELLER_PARTY_TO_LEVEL(PLAYER_GOOD,BARBIES,-2,DUNGEON_HEART,0,5,300)
		ADD_TUNNELLER_PARTY_TO_LEVEL(PLAYER_GOOD,GIANTS,-1,DUNGEON_HEART,0,5,300)
		ADD_TUNNELLER_PARTY_TO_LEVEL(PLAYER_GOOD,FAIRIES,-2,DUNGEON_HEART,0,5,300)
	ENDIF
ENDIF

REM Less important action points, away from enemy dungeon

IF_ACTION_POINT(6,PLAYER0)
	ADD_CREATURE_TO_LEVEL(PLAYER_GOOD,ARCHER,6,6,6,500)
ENDIF

IF_ACTION_POINT(7,PLAYER0)
	ADD_CREATURE_TO_LEVEL(PLAYER_GOOD,THIEF,7,6,8,500)
ENDIF

IF_ACTION_POINT(8,PLAYER0)
	ADD_CREATURE_TO_LEVEL(PLAYER_GOOD,GIANT,8,6,8,500)
ENDIF

REM Action point away from enemy dungeon, but important, central one
IF_ACTION_POINT(2,PLAYER0)
	ADD_PARTY_TO_LEVEL(PLAYER_GOOD,SIX,-3,1)
	ADD_PARTY_TO_LEVEL(PLAYER_GOOD,SEVEN,-4,1)
	ADD_CREATURE_TO_LEVEL(PLAYER_GOOD,ARCHER,2,4,4,500)
	ADD_CREATURE_TO_LEVEL(PLAYER_GOOD,ARCHER,2,4,6,500)
ENDIF

REM Action point at entrance to hero fortress
IF_ACTION_POINT(1,PLAYER0)
	REM "The heroes of this realm have prepared for your coming by building an underground stronghold of their own."
	DISPLAY_OBJECTIVE(131,PLAYER0)
	REM Disable the gold mining events chain attack
	SET_FLAG(PLAYER0,FLAG4,1)
	REM Trigger the Lord of the Land and allow to win the game
	ADD_PARTY_TO_LEVEL(PLAYER_GOOD,LORDGUARD,5,1)
	ADD_PARTY_TO_LEVEL(PLAYER_GOOD,LANDLORD,PLAYER_GOOD,1)
	ADD_CREATURE_TO_LEVEL(PLAYER_GOOD,ARCHER,1,6,6,500)
	SET_TIMER(PLAYER_GOOD,TIMER0)
	REM Start continuous spawning of party TWO
	SET_TIMER(PLAYER0,TIMER2)
	SET_FLAG(PLAYER0,FLAG2,2)
ENDIF

REM Continuous spawning of party TWO
IF(PLAYER0,FLAG2 == 2)
	IF(PLAYER0,TIMER2 >= 2500)
		REM Spawn archers only to some limit
	    IF(PLAYER_GOOD,ARCHER < 32)
			NEXT_COMMAND_REUSABLE
			ADD_PARTY_TO_LEVEL(PLAYER_GOOD,TWO,PLAYER_GOOD,1)
		ENDIF
		NEXT_COMMAND_REUSABLE
		SET_TIMER(PLAYER0,TIMER2)
	ENDIF
ENDIF

REM Allow the player to take advantage of killing Lord of the Land quickly
IF(PLAYER_GOOD,TIMER0 >= 200)
	IF_CONTROLS(PLAYER_GOOD,KNIGHT <= 0)
		IF(PLAYER_GOOD,DUNGEON_DESTROYED == 1)
			REM Stop continuous spawning of party TWO (it will stop anyway with WIN_GAME)
			SET_FLAG(PLAYER0,FLAG2,3)
			REM "Another realm falls under your evil reign. Another cloud of misery and despair gathers. Lovely."
			DISPLAY_OBJECTIVE(162,PLAYER0)
			WIN_GAME
		ENDIF
	ENDIF
ENDIF

REM If the player is too slow in killing Lord of the Land, bring some reinforcements
REM This isn't that unusual - if the player is torturing the lord, we will most likely get here
IF(PLAYER_GOOD,TIMER0 >= 10000)
	REM "Enemy reinforcements have arrived. So what? Let's hear it for more killing."
	DISPLAY_INFORMATION(130,2)
	ADD_TUNNELLER_PARTY_TO_LEVEL(PLAYER_GOOD,ONE,-1,DUNGEON_HEART,0,2,250)
	ADD_TUNNELLER_PARTY_TO_LEVEL(PLAYER_GOOD,TWO,-1,DUNGEON_HEART,0,2,250)
	ADD_PARTY_TO_LEVEL(PLAYER_GOOD,THREE,PLAYER_GOOD,1)
	ADD_PARTY_TO_LEVEL(PLAYER_GOOD,FOUR,PLAYER_GOOD,1)
	ADD_TUNNELLER_PARTY_TO_LEVEL(PLAYER_GOOD,FIVE,-2,DUNGEON_HEART,0,2,250)
ENDIF

REM Action points triggered if the player went left instead of through central entrance
REM (or rammed through entrance and moved to the left, but that's unlikely).
REM Make this route easier, but still challenging.

IF_ACTION_POINT(3,PLAYER0)
	SET_TIMER(PLAYER0,TIMER4)
ENDIF

IF(PLAYER0,TIMER4 >= 200)
	ADD_PARTY_TO_LEVEL(PLAYER_GOOD,SEVEN,4,1)
ENDIF

IF_ACTION_POINT(5,PLAYER0)
	ADD_CREATURE_TO_LEVEL(PLAYER_GOOD,WIZARD,5,7,8,500)
ENDIF

IF_ACTION_POINT(11,PLAYER0)
	ADD_CREATURE_TO_LEVEL(PLAYER_GOOD,WIZARD,11,7,8,500)
ENDIF

REM Action points triggered if the player went right where there's no way in to hero fortress.
REM The player most likely does tourism; he can't enter the fortress from that side because
REM the DESTROY_WALLS is inside the fortress and he can't research it. So don't spawn too much.

IF_ACTION_POINT(9,PLAYER0)
	ADD_CREATURE_TO_LEVEL(PLAYER_GOOD,BARBARIAN,9,8,7,500)
ENDIF

IF_ACTION_POINT(10,PLAYER0)
	ADD_CREATURE_TO_LEVEL(PLAYER_GOOD,ARCHER,10,4,4,500)
	ADD_CREATURE_TO_LEVEL(PLAYER_GOOD,ARCHER,10,4,6,500)
ENDIF

REM # ****************************************************************************
REM # "Mysterious Box System Setup - Light Version"
REM # ****************************************************************************

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,"Warp Box: Teleport all hostile minions to their lair.")
SET_BOX_TOOLTIP(7,"Rescue Box: Teleport your own minions to their lair.")
SET_BOX_TOOLTIP(8,"Cease-fire Box: Teleport all minions to their lair.")
SET_BOX_TOOLTIP(9,"Haste Box: Cast Speed on all friendly minions.")
SET_BOX_TOOLTIP(10,"Web Box: Cast Slow on all hostile minions.")
SET_BOX_TOOLTIP(11,"Illumination Box: Cast Light on all imps.")
SET_BOX_TOOLTIP(12,"Float Box: Cast Flight on all friendly minions.")
SET_BOX_TOOLTIP(13,"Vision Box: Cast Sight on all friendly minions.")
SET_BOX_TOOLTIP(14,"Plague Box: Cast Disease on all hostile minions.")
SET_BOX_TOOLTIP(15,"Hex Box: Cast Chicken on all hostile minions.")
SET_BOX_TOOLTIP(16,"Wrath Box: Cast Lightning on your territory at random hostile minions, last 12 seconds.")
SET_BOX_TOOLTIP(17,"Rockfall Box: Cast Cave-In on your territory at random hostile minions, last 12 seconds.")
SET_BOX_TOOLTIP(18,"Heroic Box: Summon a random hero to join your ranks.")
SET_BOX_TOOLTIP(19,"Evil Box: Summon a random creature to join your ranks.")
SET_BOX_TOOLTIP(20,"Necromancy Box: Raise a squad of undead at the site of the last battle to join your ranks.")
SET_BOX_TOOLTIP(21,"Anger Box: All the minions get angry.")
SET_BOX_TOOLTIP(22,"Happy Box: All friendly minions get happy.")
SET_BOX_TOOLTIP(23,"Dungeon Box: Fully restores your Dungeon Heart.")
SET_BOX_TOOLTIP(24,"Keeper Box: Set all buff effects on all friendly minions.")

REM # Allow the Mysterious Box to be researched forever or until the library is full.
MAGIC_AVAILABLE(PLAYER0,RESEARCH_CUSTOM,1,0)
IF_AVAILABLE(PLAYER0,RESEARCH_CUSTOM == 1)
	NEXT_COMMAND_REUSABLE
	MAGIC_AVAILABLE(PLAYER0,RESEARCH_CUSTOM,1,0)
ENDIF

REM # Initial setup for randomised flag.
SET_FLAG(PLAYER0,BOX0_ACTIVATED,1)
SET_FLAG(PLAYER0,BOX18_ACTIVATED,1)
SET_FLAG(PLAYER0,BOX19_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
	IF(PLAYER0,BOX100_ACTIVATED == 18)
		NEXT_COMMAND_REUSABLE
		ADD_OBJECT_TO_LEVEL(SPECBOX_CUSTOM,LAST_EVENT,18,PLAYER0)
	ENDIF
	IF(PLAYER0,BOX100_ACTIVATED == 19)
		NEXT_COMMAND_REUSABLE
		ADD_OBJECT_TO_LEVEL(SPECBOX_CUSTOM,LAST_EVENT,19,PLAYER0)
	ENDIF
	IF(PLAYER0,BOX100_ACTIVATED == 20)
		NEXT_COMMAND_REUSABLE
		ADD_OBJECT_TO_LEVEL(SPECBOX_CUSTOM,LAST_EVENT,20,PLAYER0)
	ENDIF
	IF(PLAYER0,BOX100_ACTIVATED == 21)
		NEXT_COMMAND_REUSABLE
		ADD_OBJECT_TO_LEVEL(SPECBOX_CUSTOM,LAST_EVENT,21,PLAYER0)
	ENDIF
	IF(PLAYER0,BOX100_ACTIVATED == 22)
		NEXT_COMMAND_REUSABLE
		ADD_OBJECT_TO_LEVEL(SPECBOX_CUSTOM,LAST_EVENT,22,PLAYER0)
	ENDIF
	IF(PLAYER0,BOX100_ACTIVATED == 23)
		NEXT_COMMAND_REUSABLE
		ADD_OBJECT_TO_LEVEL(SPECBOX_CUSTOM,LAST_EVENT,23,PLAYER0)
	ENDIF
	IF(PLAYER0,BOX100_ACTIVATED == 24)
		NEXT_COMMAND_REUSABLE
		ADD_OBJECT_TO_LEVEL(SPECBOX_CUSTOM,LAST_EVENT,24,PLAYER0)
	ENDIF
	NEXT_COMMAND_REUSABLE
	RANDOMISE_FLAG(PLAYER0,BOX100_ACTIVATED,24)
	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 # "Warp Box: Teleport all hostile minions to their lair."
IF(PLAYER0,BOX6_ACTIVATED > 0)
	NEXT_COMMAND_REUSABLE
	USE_SPELL_ON_PLAYERS_CREATURES(PLAYER1,ANY_CREATURE,SPELL_TELEPORT)
	NEXT_COMMAND_REUSABLE
	USE_SPELL_ON_PLAYERS_CREATURES(PLAYER2,ANY_CREATURE,SPELL_TELEPORT)
	NEXT_COMMAND_REUSABLE
	USE_SPELL_ON_PLAYERS_CREATURES(PLAYER3,ANY_CREATURE,SPELL_TELEPORT)
	NEXT_COMMAND_REUSABLE
	USE_SPELL_ON_PLAYERS_CREATURES(PLAYER_GOOD,ANY_CREATURE,SPELL_TELEPORT)
	NEXT_COMMAND_REUSABLE
	SET_FLAG(PLAYER0,BOX6_ACTIVATED,0)
ENDIF

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

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

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

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

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

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

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

REM # "Plague Box: Cast Disease on all hostile minions."
IF(PLAYER0,BOX14_ACTIVATED > 0)
	NEXT_COMMAND_REUSABLE
	USE_SPELL_ON_PLAYERS_CREATURES(PLAYER1,ANY_CREATURE,SPELL_DISEASE,1)
	NEXT_COMMAND_REUSABLE
	USE_SPELL_ON_PLAYERS_CREATURES(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 # "Heroic Box: Summon a random hero to join your ranks."
REM # The pool of hero can vary between map.
IF(PLAYER0,BOX18_ACTIVATED > 0)
	IF(PLAYER0,BOX118_ACTIVATED == 1)
		NEXT_COMMAND_REUSABLE
		ADD_CREATURE_TO_LEVEL(PLAYER0,ARCHER,LAST_EVENT,1,5,0)
	ENDIF
	IF(PLAYER0,BOX118_ACTIVATED == 2)
		NEXT_COMMAND_REUSABLE
		ADD_CREATURE_TO_LEVEL(PLAYER0,BARBARIAN,LAST_EVENT,1,5,0)
	ENDIF
	IF(PLAYER0,BOX118_ACTIVATED == 3)
		NEXT_COMMAND_REUSABLE
		ADD_CREATURE_TO_LEVEL(PLAYER0,DWARFA,LAST_EVENT,1,5,0)
	ENDIF
	IF(PLAYER0,BOX118_ACTIVATED == 4)
		NEXT_COMMAND_REUSABLE
		ADD_CREATURE_TO_LEVEL(PLAYER0,FAIRY,LAST_EVENT,1,5,0)
	ENDIF
	IF(PLAYER0,BOX118_ACTIVATED == 5)
		NEXT_COMMAND_REUSABLE
		ADD_CREATURE_TO_LEVEL(PLAYER0,GIANT,LAST_EVENT,1,5,0)
	ENDIF
	IF(PLAYER0,BOX118_ACTIVATED == 6)
		NEXT_COMMAND_REUSABLE
		ADD_CREATURE_TO_LEVEL(PLAYER0,MONK,LAST_EVENT,1,5,0)
	ENDIF
	IF(PLAYER0,BOX118_ACTIVATED == 7)
		NEXT_COMMAND_REUSABLE
		ADD_CREATURE_TO_LEVEL(PLAYER0,SAMURAI,LAST_EVENT,1,5,0)
	ENDIF
	IF(PLAYER0,BOX118_ACTIVATED == 8)
		NEXT_COMMAND_REUSABLE
		ADD_CREATURE_TO_LEVEL(PLAYER0,THIEF,LAST_EVENT,1,5,0)
	ENDIF
	IF(PLAYER0,BOX118_ACTIVATED == 9)
		NEXT_COMMAND_REUSABLE
		ADD_CREATURE_TO_LEVEL(PLAYER0,WITCH,LAST_EVENT,1,5,0)
	ENDIF
	IF(PLAYER0,BOX118_ACTIVATED == 10)
		NEXT_COMMAND_REUSABLE
		ADD_CREATURE_TO_LEVEL(PLAYER0,WIZARD,LAST_EVENT,1,5,0)
	ENDIF
	NEXT_COMMAND_REUSABLE
	RANDOMISE_FLAG(PLAYER0,BOX118_ACTIVATED,10)
	NEXT_COMMAND_REUSABLE
	SET_FLAG(PLAYER0,BOX18_ACTIVATED,0)
ENDIF

REM # "Evil Box: Summon a random creature to join your ranks."
REM # The pool of creature can vary between map.
IF(PLAYER0,BOX19_ACTIVATED > 0)
	IF(PLAYER0,BOX119_ACTIVATED == 1)
		NEXT_COMMAND_REUSABLE
		ADD_CREATURE_TO_LEVEL(PLAYER0,BILE_DEMON,LAST_EVENT,1,5,0)
	ENDIF
	IF(PLAYER0,BOX119_ACTIVATED == 2)
		NEXT_COMMAND_REUSABLE
		ADD_CREATURE_TO_LEVEL(PLAYER0,DARK_MISTRESS,LAST_EVENT,1,5,0)
	ENDIF
	IF(PLAYER0,BOX119_ACTIVATED == 3)
		NEXT_COMMAND_REUSABLE
		ADD_CREATURE_TO_LEVEL(PLAYER0,DRAGON,LAST_EVENT,1,5,0)
	ENDIF
	IF(PLAYER0,BOX119_ACTIVATED == 4)
		NEXT_COMMAND_REUSABLE
		ADD_CREATURE_TO_LEVEL(PLAYER0,HELL_HOUND,LAST_EVENT,1,5,0)
	ENDIF
	IF(PLAYER0,BOX119_ACTIVATED == 5)
		NEXT_COMMAND_REUSABLE
		ADD_CREATURE_TO_LEVEL(PLAYER0,ORC,LAST_EVENT,1,5,0)
	ENDIF
	IF(PLAYER0,BOX119_ACTIVATED == 6)
		NEXT_COMMAND_REUSABLE
		ADD_CREATURE_TO_LEVEL(PLAYER0,SORCEROR,LAST_EVENT,1,5,0)
	ENDIF
	IF(PLAYER0,BOX119_ACTIVATED == 7)
		NEXT_COMMAND_REUSABLE
		ADD_CREATURE_TO_LEVEL(PLAYER0,TENTACLE,LAST_EVENT,1,5,0)
	ENDIF
	IF(PLAYER0,BOX119_ACTIVATED == 8)
		NEXT_COMMAND_REUSABLE
		ADD_CREATURE_TO_LEVEL(PLAYER0,TROLL,LAST_EVENT,1,5,0)
	ENDIF
	NEXT_COMMAND_REUSABLE
	RANDOMISE_FLAG(PLAYER0,BOX119_ACTIVATED,8)
	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,2,3,0)
	NEXT_COMMAND_REUSABLE
	ADD_CREATURE_TO_LEVEL(PLAYER0,GHOST,COMBAT,2,3,0)
	NEXT_COMMAND_REUSABLE
	ADD_CREATURE_TO_LEVEL(PLAYER0,VAMPIRE,COMBAT,1,3,0)
	NEXT_COMMAND_REUSABLE
	SET_FLAG(PLAYER0,BOX20_ACTIVATED,0)
ENDIF

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

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

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

REM # "Keeper Box: Set all 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 # ****************************************************************************
REM # "Dungeon Keeper Original Campaign - Challenge Mode"
REM # ****************************************************************************

REM # "Random Special Box."
IF(PLAYER0,CAMPAIGN_FLAG0 > 0)
	RANDOMISE_FLAG(PLAYER0,CAMPAIGN_FLAG0,10)
	IF(PLAYER0,CAMPAIGN_FLAG0 == 1)
		ADD_OBJECT_TO_LEVEL(SPECBOX_REVMAP,PLAYER0,0,PLAYER0)
	ENDIF
	IF(PLAYER0,CAMPAIGN_FLAG0 == 2)
		ADD_OBJECT_TO_LEVEL(SPECBOX_RESURCT,PLAYER0,0,PLAYER0)
	ENDIF
	IF(PLAYER0,CAMPAIGN_FLAG0 == 3)
		ADD_OBJECT_TO_LEVEL(SPECBOX_STEALHR,PLAYER0,0,PLAYER0)
	ENDIF
	IF(PLAYER0,CAMPAIGN_FLAG0 == 4)
		ADD_OBJECT_TO_LEVEL(SPECBOX_MULTPLY,PLAYER0,0,PLAYER0)
	ENDIF
	IF(PLAYER0,CAMPAIGN_FLAG0 == 5)
		ADD_OBJECT_TO_LEVEL(SPECBOX_INCLEV,PLAYER0,0,PLAYER0)
	ENDIF
	IF(PLAYER0,CAMPAIGN_FLAG0 == 6)
		ADD_OBJECT_TO_LEVEL(SPECBOX_CUSTOM,PLAYER0,0,PLAYER0)
	ENDIF
	IF(PLAYER0,CAMPAIGN_FLAG0 == 7)
		ADD_OBJECT_TO_LEVEL(SPECBOX_CUSTOM,PLAYER0,7,PLAYER0)
	ENDIF
	IF(PLAYER0,CAMPAIGN_FLAG0 == 8)
		ADD_OBJECT_TO_LEVEL(SPECBOX_CUSTOM,PLAYER0,18,PLAYER0)
	ENDIF
	IF(PLAYER0,CAMPAIGN_FLAG0 == 9)
		ADD_OBJECT_TO_LEVEL(SPECBOX_CUSTOM,PLAYER0,19,PLAYER0)
	ENDIF
	IF(PLAYER0,CAMPAIGN_FLAG0 == 10)
		ADD_OBJECT_TO_LEVEL(SPECBOX_CUSTOM,PLAYER0,24,PLAYER0)
	ENDIF
ENDIF

REM # "Random Creature Availablity."
IF(PLAYER0,CAMPAIGN_FLAG1 > 0)
	ADD_CREATURE_TO_POOL(BILE_DEMON,DRAWFROM(0~20,8~16))
	ADD_CREATURE_TO_POOL(DARK_MISTRESS,DRAWFROM(0~20,8~16))
	ADD_CREATURE_TO_POOL(DEMONSPAWN,DRAWFROM(0~20,8~16))
	ADD_CREATURE_TO_POOL(DRAGON,DRAWFROM(0~20,8~16))
	ADD_CREATURE_TO_POOL(DRUID,DRAWFROM(0~20,8~16))
	ADD_CREATURE_TO_POOL(HELL_HOUND,DRAWFROM(0~20,8~16))
	ADD_CREATURE_TO_POOL(HORNY,DRAWFROM(0,0~3,1))
	ADD_CREATURE_TO_POOL(ORC,DRAWFROM(0~20,8~16))
	ADD_CREATURE_TO_POOL(SORCEROR,DRAWFROM(0~20,8~16))
	ADD_CREATURE_TO_POOL(TENTACLE,DRAWFROM(0~20,8~16))
	ADD_CREATURE_TO_POOL(TROLL,DRAWFROM(0~20,8~16))
	ADD_CREATURE_TO_POOL(ARCHER,DRAWFROM(0,2~5,0~8))
	ADD_CREATURE_TO_POOL(AVATAR,DRAWFROM(0,0,0,0,1,1,1,2))
	ADD_CREATURE_TO_POOL(BARBARIAN,DRAWFROM(0,2~5,0~8))
	ADD_CREATURE_TO_POOL(DWARFA,DRAWFROM(0,2~5,0~8))
	ADD_CREATURE_TO_POOL(FAIRY,DRAWFROM(0,2~5,0~8))
	ADD_CREATURE_TO_POOL(GIANT,DRAWFROM(0,2~5,0~8))
	ADD_CREATURE_TO_POOL(KNIGHT,DRAWFROM(0,0~2,1))
	ADD_CREATURE_TO_POOL(MONK,DRAWFROM(0,2~5,0~8))
	ADD_CREATURE_TO_POOL(SAMURAI,DRAWFROM(0,2~5,0~8))
	ADD_CREATURE_TO_POOL(TIME_MAGE,DRAWFROM(0,2~5,0~8))
	ADD_CREATURE_TO_POOL(THIEF,DRAWFROM(0,0~2,1))
	ADD_CREATURE_TO_POOL(TUNNELLER,DRAWFROM(0,0~2,1))
	ADD_CREATURE_TO_POOL(WITCH,DRAWFROM(0,2~5,0~8))
	ADD_CREATURE_TO_POOL(WIZARD,DRAWFROM(0,2~5,0~8))
	ADD_CREATURE_TO_POOL(BUG,DRAWFROM(0,0~2,1,0~8))
	ADD_CREATURE_TO_POOL(FLY,DRAWFROM(0,0~2,1,0~8))
	ADD_CREATURE_TO_POOL(SPIDER,DRAWFROM(0,0~2,1,0~8))
	ADD_CREATURE_TO_POOL(GHOST,DRAWFROM(0,0~8,1))
	ADD_CREATURE_TO_POOL(SKELETON,DRAWFROM(0,0~8,1))
	ADD_CREATURE_TO_POOL(VAMPIRE,DRAWFROM(0,0~8,1))
	CREATURE_AVAILABLE(ALL_PLAYERS,BILE_DEMON,DRAWFROM(0~1),DRAWFROM(0~20,8~16))
	CREATURE_AVAILABLE(ALL_PLAYERS,DARK_MISTRESS,DRAWFROM(0~1),DRAWFROM(0~20,8~16))
	CREATURE_AVAILABLE(ALL_PLAYERS,DEMONSPAWN,DRAWFROM(0~1),DRAWFROM(0~20,8~16))
	CREATURE_AVAILABLE(ALL_PLAYERS,DRAGON,DRAWFROM(0~1),DRAWFROM(0~20,8~16))
	CREATURE_AVAILABLE(ALL_PLAYERS,DRUID,DRAWFROM(0~1),DRAWFROM(0~20,8~16))
	CREATURE_AVAILABLE(ALL_PLAYERS,HELL_HOUND,DRAWFROM(0~1),DRAWFROM(0~20,8~16))
	CREATURE_AVAILABLE(ALL_PLAYERS,HORNY,DRAWFROM(0~1),DRAWFROM(0,0~3,1))
	CREATURE_AVAILABLE(ALL_PLAYERS,ORC,DRAWFROM(0~1),DRAWFROM(0~20,8~16))
	CREATURE_AVAILABLE(ALL_PLAYERS,SORCEROR,DRAWFROM(0~1),DRAWFROM(0~20,8~16))
	CREATURE_AVAILABLE(ALL_PLAYERS,TENTACLE,DRAWFROM(0~1),DRAWFROM(0~20,8~16))
	CREATURE_AVAILABLE(ALL_PLAYERS,TROLL,DRAWFROM(0~1),DRAWFROM(0~20,8~16))
	CREATURE_AVAILABLE(ALL_PLAYERS,ARCHER,DRAWFROM(0~1),DRAWFROM(0,2~5,0~8))
	CREATURE_AVAILABLE(ALL_PLAYERS,AVATAR,DRAWFROM(0~1),DRAWFROM(0,0,0,0,1,1,1,2))
	CREATURE_AVAILABLE(ALL_PLAYERS,BARBARIAN,DRAWFROM(0~1),DRAWFROM(0,2~5,0~8))
	CREATURE_AVAILABLE(ALL_PLAYERS,DWARFA,DRAWFROM(0~1),DRAWFROM(0,2~5,0~8))
	CREATURE_AVAILABLE(ALL_PLAYERS,FAIRY,DRAWFROM(0~1),DRAWFROM(0,2~5,0~8))
	CREATURE_AVAILABLE(ALL_PLAYERS,GIANT,DRAWFROM(0~1),DRAWFROM(0,2~5,0~8))
	CREATURE_AVAILABLE(ALL_PLAYERS,KNIGHT,DRAWFROM(0~1),DRAWFROM(0,0~2,1))
	CREATURE_AVAILABLE(ALL_PLAYERS,MONK,DRAWFROM(0~1),DRAWFROM(0,2~5,0~8))
	CREATURE_AVAILABLE(ALL_PLAYERS,SAMURAI,DRAWFROM(0~1),DRAWFROM(0,2~5,0~8))
	CREATURE_AVAILABLE(ALL_PLAYERS,TIME_MAGE,DRAWFROM(0~1),DRAWFROM(0,2~5,0~8))
	CREATURE_AVAILABLE(ALL_PLAYERS,THIEF,DRAWFROM(0~1),DRAWFROM(0,0~2,1))
	CREATURE_AVAILABLE(ALL_PLAYERS,TUNNELLER,DRAWFROM(0~1),DRAWFROM(0,0~2,1))
	CREATURE_AVAILABLE(ALL_PLAYERS,WITCH,DRAWFROM(0~1),DRAWFROM(0,2~5,0~8))
	CREATURE_AVAILABLE(ALL_PLAYERS,WIZARD,DRAWFROM(0~1),DRAWFROM(0,2~5,0~8))
	CREATURE_AVAILABLE(ALL_PLAYERS,BUG,DRAWFROM(0~1),DRAWFROM(0,0~2,1,0~8))
	CREATURE_AVAILABLE(ALL_PLAYERS,FLY,DRAWFROM(0~1),DRAWFROM(0,0~2,1,0~8))
	CREATURE_AVAILABLE(ALL_PLAYERS,SPIDER,DRAWFROM(0~1),DRAWFROM(0,0~2,1,0~8))
	CREATURE_AVAILABLE(ALL_PLAYERS,GHOST,DRAWFROM(0~1),DRAWFROM(0,0~8,1))
	CREATURE_AVAILABLE(ALL_PLAYERS,SKELETON,DRAWFROM(0~1),DRAWFROM(0,0~8,1))
	CREATURE_AVAILABLE(ALL_PLAYERS,VAMPIRE,DRAWFROM(0~1),DRAWFROM(0,0~8,1))
ENDIF

REM # "Random Creature Entrance Level."
IF(PLAYER0,CAMPAIGN_FLAG2 > 0)
	NEXT_COMMAND_REUSABLE
	RANDOMISE_FLAG(PLAYER0,CAMPAIGN_FLAG2,10)
	IF(PLAYER0,CAMPAIGN_FLAG2 == 1)
		NEXT_COMMAND_REUSABLE
		CREATURE_ENTRANCE_LEVEL(ALL_PLAYERS,1)
	ENDIF
	IF(PLAYER0,CAMPAIGN_FLAG2 == 2)
		NEXT_COMMAND_REUSABLE
		CREATURE_ENTRANCE_LEVEL(ALL_PLAYERS,2)
	ENDIF
	IF(PLAYER0,CAMPAIGN_FLAG2 == 3)
		NEXT_COMMAND_REUSABLE
		CREATURE_ENTRANCE_LEVEL(ALL_PLAYERS,3)
	ENDIF
	IF(PLAYER0,CAMPAIGN_FLAG2 == 4)
		NEXT_COMMAND_REUSABLE
		CREATURE_ENTRANCE_LEVEL(ALL_PLAYERS,4)
	ENDIF
	IF(PLAYER0,CAMPAIGN_FLAG2 == 5)
		NEXT_COMMAND_REUSABLE
		CREATURE_ENTRANCE_LEVEL(ALL_PLAYERS,5)
	ENDIF
	IF(PLAYER0,CAMPAIGN_FLAG2 == 6)
		NEXT_COMMAND_REUSABLE
		CREATURE_ENTRANCE_LEVEL(ALL_PLAYERS,6)
	ENDIF
	IF(PLAYER0,CAMPAIGN_FLAG2 == 7)
		NEXT_COMMAND_REUSABLE
		CREATURE_ENTRANCE_LEVEL(ALL_PLAYERS,7)
	ENDIF
	IF(PLAYER0,CAMPAIGN_FLAG2 == 8)
		NEXT_COMMAND_REUSABLE
		CREATURE_ENTRANCE_LEVEL(ALL_PLAYERS,8)
	ENDIF
	IF(PLAYER0,CAMPAIGN_FLAG2 == 9)
		NEXT_COMMAND_REUSABLE
		CREATURE_ENTRANCE_LEVEL(ALL_PLAYERS,9)
	ENDIF
	IF(PLAYER0,CAMPAIGN_FLAG2 == 10)
		NEXT_COMMAND_REUSABLE
		CREATURE_ENTRANCE_LEVEL(ALL_PLAYERS,10)
	ENDIF
ENDIF

REM # "Random Creature Attribute."
IF(PLAYER0,CAMPAIGN_FLAG3 > 0)
	SET_CREATURE_CONFIGURATION(IMP,Health,DRAWFROM(15,60,75,90,105,120,135,150))
	SET_CREATURE_CONFIGURATION(IMP,Strength,DRAWFROM(5,10,25,40,55,70,85,100))
	SET_CREATURE_CONFIGURATION(IMP,Armour,DRAWFROM(5,10,25,40,55,70,85,100))
	SET_CREATURE_CONFIGURATION(IMP,Dexterity,DRAWFROM(60,64,68,72,76,80,84,88))
	SET_CREATURE_CONFIGURATION(IMP,Defence,DRAWFROM(7,14,21,28,35,42,49,56))
	SET_CREATURE_CONFIGURATION(IMP,Luck,DRAWFROM(5,10,25,40,55,70,85,100))
	SET_CREATURE_CONFIGURATION(IMP,BaseSpeed,DRAWFROM(80,88,96,104,112,120,128,136))
	SET_CREATURE_CONFIGURATION(BILE_DEMON,Health,DRAWFROM(250,500,750,1000,1250,1500,1750,2000))
	SET_CREATURE_CONFIGURATION(BILE_DEMON,Strength,DRAWFROM(20,30,40,50,60,70,85,100))
	SET_CREATURE_CONFIGURATION(BILE_DEMON,Armour,DRAWFROM(5,10,25,40,55,70,85,100))
	SET_CREATURE_CONFIGURATION(BILE_DEMON,Dexterity,DRAWFROM(64,80,96,112,128,144,160,188))
	SET_CREATURE_CONFIGURATION(BILE_DEMON,Defence,DRAWFROM(75,90,105,120,135,150,165,176))
	SET_CREATURE_CONFIGURATION(BILE_DEMON,Luck,DRAWFROM(5,10,25,40,55,70,85,100))
	SET_CREATURE_CONFIGURATION(BILE_DEMON,Recovery,DRAWFROM(1,2,3,5,8,12,16,20))
	SET_CREATURE_CONFIGURATION(BILE_DEMON,BaseSpeed,DRAWFROM(48,64,80,96,112,128,144,160))
	SET_CREATURE_CONFIGURATION(BILE_DEMON,Pay,DRAWFROM(16,32,48,64,80,96,112,128))
	SET_CREATURE_CONFIGURATION(DARK_MISTRESS,Health,DRAWFROM(250,500,750,1000,1250,1500,1750,2000))
	SET_CREATURE_CONFIGURATION(DARK_MISTRESS,Strength,DRAWFROM(20,30,40,50,60,70,85,100))
	SET_CREATURE_CONFIGURATION(DARK_MISTRESS,Armour,DRAWFROM(5,10,25,40,55,70,85,100))
	SET_CREATURE_CONFIGURATION(DARK_MISTRESS,Dexterity,DRAWFROM(64,80,96,112,128,144,160,188))
	SET_CREATURE_CONFIGURATION(DARK_MISTRESS,Defence,DRAWFROM(75,90,105,120,135,150,165,176))
	SET_CREATURE_CONFIGURATION(DARK_MISTRESS,Luck,DRAWFROM(5,10,25,40,55,70,85,100))
	SET_CREATURE_CONFIGURATION(DARK_MISTRESS,Recovery,DRAWFROM(1,2,3,5,8,12,16,20))
	SET_CREATURE_CONFIGURATION(DARK_MISTRESS,BaseSpeed,DRAWFROM(48,64,80,96,112,128,144,160))
	SET_CREATURE_CONFIGURATION(DARK_MISTRESS,Pay,DRAWFROM(16,32,48,64,80,96,112,128))
	SET_CREATURE_CONFIGURATION(DEMONSPAWN,Health,DRAWFROM(250,500,750,1000,1250,1500,1750,2000))
	SET_CREATURE_CONFIGURATION(DEMONSPAWN,Strength,DRAWFROM(20,30,40,50,60,70,85,100))
	SET_CREATURE_CONFIGURATION(DEMONSPAWN,Armour,DRAWFROM(5,10,25,40,55,70,85,100))
	SET_CREATURE_CONFIGURATION(DEMONSPAWN,Dexterity,DRAWFROM(64,80,96,112,128,144,160,188))
	SET_CREATURE_CONFIGURATION(DEMONSPAWN,Defence,DRAWFROM(75,90,105,120,135,150,165,176))
	SET_CREATURE_CONFIGURATION(DEMONSPAWN,Luck,DRAWFROM(5,10,25,40,55,70,85,100))
	SET_CREATURE_CONFIGURATION(DEMONSPAWN,Recovery,DRAWFROM(1,2,3,5,8,12,16,20))
	SET_CREATURE_CONFIGURATION(DEMONSPAWN,BaseSpeed,DRAWFROM(48,64,80,96,112,128,144,160))
	SET_CREATURE_CONFIGURATION(DEMONSPAWN,Pay,DRAWFROM(16,32,48,64,80,96,112,128))
	SET_CREATURE_CONFIGURATION(DRAGON,Health,DRAWFROM(250,500,750,1000,1250,1500,1750,2000))
	SET_CREATURE_CONFIGURATION(DRAGON,Strength,DRAWFROM(20,30,40,50,60,70,85,100))
	SET_CREATURE_CONFIGURATION(DRAGON,Armour,DRAWFROM(5,10,25,40,55,70,85,100))
	SET_CREATURE_CONFIGURATION(DRAGON,Dexterity,DRAWFROM(64,80,96,112,128,144,160,188))
	SET_CREATURE_CONFIGURATION(DRAGON,Defence,DRAWFROM(75,90,105,120,135,150,165,176))
	SET_CREATURE_CONFIGURATION(DRAGON,Luck,DRAWFROM(5,10,25,40,55,70,85,100))
	SET_CREATURE_CONFIGURATION(DRAGON,Recovery,DRAWFROM(1,2,3,5,8,12,16,20))
	SET_CREATURE_CONFIGURATION(DRAGON,BaseSpeed,DRAWFROM(48,64,80,96,112,128,144,160))
	SET_CREATURE_CONFIGURATION(DRAGON,Pay,DRAWFROM(16,32,48,64,80,96,112,128))
	SET_CREATURE_CONFIGURATION(DRUID,Health,DRAWFROM(250,500,750,1000,1250,1500,1750,2000))
	SET_CREATURE_CONFIGURATION(DRUID,Strength,DRAWFROM(20,30,40,50,60,70,85,100))
	SET_CREATURE_CONFIGURATION(DRUID,Armour,DRAWFROM(5,10,25,40,55,70,85,100))
	SET_CREATURE_CONFIGURATION(DRUID,Dexterity,DRAWFROM(64,80,96,112,128,144,160,188))
	SET_CREATURE_CONFIGURATION(DRUID,Defence,DRAWFROM(75,90,105,120,135,150,165,176))
	SET_CREATURE_CONFIGURATION(DRUID,Luck,DRAWFROM(5,10,25,40,55,70,85,100))
	SET_CREATURE_CONFIGURATION(DRUID,Recovery,DRAWFROM(1,2,3,5,8,12,16,20))
	SET_CREATURE_CONFIGURATION(DRUID,BaseSpeed,DRAWFROM(48,64,80,96,112,128,144,160))
	SET_CREATURE_CONFIGURATION(DRUID,Pay,DRAWFROM(16,32,48,64,80,96,112,128))
	SET_CREATURE_CONFIGURATION(HELL_HOUND,Health,DRAWFROM(250,500,750,1000,1250,1500,1750,2000))
	SET_CREATURE_CONFIGURATION(HELL_HOUND,Strength,DRAWFROM(20,30,40,50,60,70,85,100))
	SET_CREATURE_CONFIGURATION(HELL_HOUND,Armour,DRAWFROM(5,10,25,40,55,70,85,100))
	SET_CREATURE_CONFIGURATION(HELL_HOUND,Dexterity,DRAWFROM(64,80,96,112,128,144,160,188))
	SET_CREATURE_CONFIGURATION(HELL_HOUND,Defence,DRAWFROM(75,90,105,120,135,150,165,176))
	SET_CREATURE_CONFIGURATION(HELL_HOUND,Luck,DRAWFROM(5,10,25,40,55,70,85,100))
	SET_CREATURE_CONFIGURATION(HELL_HOUND,Recovery,DRAWFROM(1,2,3,5,8,12,16,20))
	SET_CREATURE_CONFIGURATION(HELL_HOUND,BaseSpeed,DRAWFROM(48,64,80,96,112,128,144,160))
	SET_CREATURE_CONFIGURATION(HELL_HOUND,Pay,DRAWFROM(16,32,48,64,80,96,112,128))
	SET_CREATURE_CONFIGURATION(HORNY,Health,DRAWFROM(750,1000,1250,1500,1750,2000,2250,2500))
	SET_CREATURE_CONFIGURATION(HORNY,Strength,DRAWFROM(85,90,95,100,105,110,115,120))
	SET_CREATURE_CONFIGURATION(HORNY,Armour,DRAWFROM(70,75,80,85,90,95,100,105))
	SET_CREATURE_CONFIGURATION(HORNY,Dexterity,DRAWFROM(64,80,96,112,128,144,160,188))
	SET_CREATURE_CONFIGURATION(HORNY,Defence,DRAWFROM(75,90,105,120,135,150,165,176))
	SET_CREATURE_CONFIGURATION(HORNY,Luck,DRAWFROM(5,10,25,40,55,70,85,100))
	SET_CREATURE_CONFIGURATION(HORNY,Recovery,DRAWFROM(1,2,3,5,8,12,16,20))
	SET_CREATURE_CONFIGURATION(HORNY,BaseSpeed,DRAWFROM(48,64,80,96,112,128,144,160))
	SET_CREATURE_CONFIGURATION(HORNY,Pay,DRAWFROM(16,32,48,64,80,96,112,128))
	SET_CREATURE_CONFIGURATION(ORC,Health,DRAWFROM(250,500,750,1000,1250,1500,1750,2000))
	SET_CREATURE_CONFIGURATION(ORC,Strength,DRAWFROM(20,30,40,50,60,70,85,100))
	SET_CREATURE_CONFIGURATION(ORC,Armour,DRAWFROM(5,10,25,40,55,70,85,100))
	SET_CREATURE_CONFIGURATION(ORC,Dexterity,DRAWFROM(64,80,96,112,128,144,160,188))
	SET_CREATURE_CONFIGURATION(ORC,Defence,DRAWFROM(75,90,105,120,135,150,165,176))
	SET_CREATURE_CONFIGURATION(ORC,Luck,DRAWFROM(5,10,25,40,55,70,85,100))
	SET_CREATURE_CONFIGURATION(ORC,Recovery,DRAWFROM(1,2,3,5,8,12,16,20))
	SET_CREATURE_CONFIGURATION(ORC,BaseSpeed,DRAWFROM(48,64,80,96,112,128,144,160))
	SET_CREATURE_CONFIGURATION(ORC,Pay,DRAWFROM(16,32,48,64,80,96,112,128))
	SET_CREATURE_CONFIGURATION(SORCEROR,Health,DRAWFROM(250,500,750,1000,1250,1500,1750,2000))
	SET_CREATURE_CONFIGURATION(SORCEROR,Strength,DRAWFROM(20,30,40,50,60,70,85,100))
	SET_CREATURE_CONFIGURATION(SORCEROR,Armour,DRAWFROM(5,10,25,40,55,70,85,100))
	SET_CREATURE_CONFIGURATION(SORCEROR,Dexterity,DRAWFROM(64,80,96,112,128,144,160,188))
	SET_CREATURE_CONFIGURATION(SORCEROR,Defence,DRAWFROM(75,90,105,120,135,150,165,176))
	SET_CREATURE_CONFIGURATION(SORCEROR,Luck,DRAWFROM(5,10,25,40,55,70,85,100))
	SET_CREATURE_CONFIGURATION(SORCEROR,Recovery,DRAWFROM(1,2,3,5,8,12,16,20))
	SET_CREATURE_CONFIGURATION(SORCEROR,BaseSpeed,DRAWFROM(48,64,80,96,112,128,144,160))
	SET_CREATURE_CONFIGURATION(SORCEROR,Pay,DRAWFROM(16,32,48,64,80,96,112,128))
	SET_CREATURE_CONFIGURATION(TENTACLE,Health,DRAWFROM(250,500,750,1000,1250,1500,1750,2000))
	SET_CREATURE_CONFIGURATION(TENTACLE,Strength,DRAWFROM(20,30,40,50,60,70,85,100))
	SET_CREATURE_CONFIGURATION(TENTACLE,Armour,DRAWFROM(5,10,25,40,55,70,85,100))
	SET_CREATURE_CONFIGURATION(TENTACLE,Dexterity,DRAWFROM(64,80,96,112,128,144,160,188))
	SET_CREATURE_CONFIGURATION(TENTACLE,Defence,DRAWFROM(75,90,105,120,135,150,165,176))
	SET_CREATURE_CONFIGURATION(TENTACLE,Luck,DRAWFROM(5,10,25,40,55,70,85,100))
	SET_CREATURE_CONFIGURATION(TENTACLE,Recovery,DRAWFROM(1,2,3,5,8,12,16,20))
	SET_CREATURE_CONFIGURATION(TENTACLE,BaseSpeed,DRAWFROM(48,64,80,96,112,128,144,160))
	SET_CREATURE_CONFIGURATION(TENTACLE,Pay,DRAWFROM(16,32,48,64,80,96,112,128))
	SET_CREATURE_CONFIGURATION(TROLL,Health,DRAWFROM(250,500,750,1000,1250,1500,1750,2000))
	SET_CREATURE_CONFIGURATION(TROLL,Strength,DRAWFROM(20,30,40,50,60,70,85,100))
	SET_CREATURE_CONFIGURATION(TROLL,Armour,DRAWFROM(5,10,25,40,55,70,85,100))
	SET_CREATURE_CONFIGURATION(TROLL,Dexterity,DRAWFROM(64,80,96,112,128,144,160,188))
	SET_CREATURE_CONFIGURATION(TROLL,Defence,DRAWFROM(75,90,105,120,135,150,165,176))
	SET_CREATURE_CONFIGURATION(TROLL,Luck,DRAWFROM(5,10,25,40,55,70,85,100))
	SET_CREATURE_CONFIGURATION(TROLL,Recovery,DRAWFROM(1,2,3,5,8,12,16,20))
	SET_CREATURE_CONFIGURATION(TROLL,BaseSpeed,DRAWFROM(48,64,80,96,112,128,144,160))
	SET_CREATURE_CONFIGURATION(TROLL,Pay,DRAWFROM(16,32,48,64,80,96,112,128))
	SET_CREATURE_CONFIGURATION(ARCHER,Health,DRAWFROM(250,500,750,1000,1250,1500,1750,2000))
	SET_CREATURE_CONFIGURATION(ARCHER,Strength,DRAWFROM(20,30,40,50,60,70,85,100))
	SET_CREATURE_CONFIGURATION(ARCHER,Armour,DRAWFROM(5,10,25,40,55,70,85,100))
	SET_CREATURE_CONFIGURATION(ARCHER,Dexterity,DRAWFROM(64,80,96,112,128,144,160,188))
	SET_CREATURE_CONFIGURATION(ARCHER,Defence,DRAWFROM(75,90,105,120,135,150,165,176))
	SET_CREATURE_CONFIGURATION(ARCHER,Luck,DRAWFROM(5,10,25,40,55,70,85,100))
	SET_CREATURE_CONFIGURATION(ARCHER,Recovery,DRAWFROM(1,2,3,5,8,12,16,20))
	SET_CREATURE_CONFIGURATION(ARCHER,BaseSpeed,DRAWFROM(48,64,80,96,112,128,144,160))
	SET_CREATURE_CONFIGURATION(ARCHER,Pay,DRAWFROM(16,32,48,64,80,96,112,128))
	SET_CREATURE_CONFIGURATION(AVATAR,Health,DRAWFROM(1250,1500,1750,2000,2250,2500,2750,3000))
	SET_CREATURE_CONFIGURATION(AVATAR,Strength,DRAWFROM(85,90,95,100,105,110,115,120))
	SET_CREATURE_CONFIGURATION(AVATAR,Armour,DRAWFROM(85,90,95,100,105,110,115,120))
	SET_CREATURE_CONFIGURATION(AVATAR,Dexterity,DRAWFROM(64,80,96,112,128,144,160,188))
	SET_CREATURE_CONFIGURATION(AVATAR,Defence,DRAWFROM(75,90,105,120,135,150,165,176))
	SET_CREATURE_CONFIGURATION(AVATAR,Luck,DRAWFROM(5,10,25,40,55,70,85,100))
	SET_CREATURE_CONFIGURATION(AVATAR,Recovery,DRAWFROM(1,2,3,5,8,12,16,20))
	SET_CREATURE_CONFIGURATION(AVATAR,BaseSpeed,DRAWFROM(48,64,80,96,112,128,144,160))
	SET_CREATURE_CONFIGURATION(AVATAR,Pay,DRAWFROM(16,32,48,64,80,96,112,128))
	SET_CREATURE_CONFIGURATION(BARBARIAN,Health,DRAWFROM(250,500,750,1000,1250,1500,1750,2000))
	SET_CREATURE_CONFIGURATION(BARBARIAN,Strength,DRAWFROM(20,30,40,50,60,70,85,100))
	SET_CREATURE_CONFIGURATION(BARBARIAN,Armour,DRAWFROM(5,10,25,40,55,70,85,100))
	SET_CREATURE_CONFIGURATION(BARBARIAN,Dexterity,DRAWFROM(64,80,96,112,128,144,160,188))
	SET_CREATURE_CONFIGURATION(BARBARIAN,Defence,DRAWFROM(75,90,105,120,135,150,165,176))
	SET_CREATURE_CONFIGURATION(BARBARIAN,Luck,DRAWFROM(5,10,25,40,55,70,85,100))
	SET_CREATURE_CONFIGURATION(BARBARIAN,Recovery,DRAWFROM(1,2,3,5,8,12,16,20))
	SET_CREATURE_CONFIGURATION(BARBARIAN,BaseSpeed,DRAWFROM(48,64,80,96,112,128,144,160))
	SET_CREATURE_CONFIGURATION(BARBARIAN,Pay,DRAWFROM(16,32,48,64,80,96,112,128))
	SET_CREATURE_CONFIGURATION(DWARFA,Health,DRAWFROM(250,500,750,1000,1250,1500,1750,2000))
	SET_CREATURE_CONFIGURATION(DWARFA,Strength,DRAWFROM(20,30,40,50,60,70,85,100))
	SET_CREATURE_CONFIGURATION(DWARFA,Armour,DRAWFROM(5,10,25,40,55,70,85,100))
	SET_CREATURE_CONFIGURATION(DWARFA,Dexterity,DRAWFROM(64,80,96,112,128,144,160,188))
	SET_CREATURE_CONFIGURATION(DWARFA,Defence,DRAWFROM(75,90,105,120,135,150,165,176))
	SET_CREATURE_CONFIGURATION(DWARFA,Luck,DRAWFROM(5,10,25,40,55,70,85,100))
	SET_CREATURE_CONFIGURATION(DWARFA,Recovery,DRAWFROM(1,2,3,5,8,12,16,20))
	SET_CREATURE_CONFIGURATION(DWARFA,BaseSpeed,DRAWFROM(48,64,80,96,112,128,144,160))
	SET_CREATURE_CONFIGURATION(DWARFA,Pay,DRAWFROM(16,32,48,64,80,96,112,128))
	SET_CREATURE_CONFIGURATION(FAIRY,Health,DRAWFROM(250,500,750,1000,1250,1500,1750,2000))
	SET_CREATURE_CONFIGURATION(FAIRY,Strength,DRAWFROM(20,30,40,50,60,70,85,100))
	SET_CREATURE_CONFIGURATION(FAIRY,Armour,DRAWFROM(5,10,25,40,55,70,85,100))
	SET_CREATURE_CONFIGURATION(FAIRY,Dexterity,DRAWFROM(64,80,96,112,128,144,160,188))
	SET_CREATURE_CONFIGURATION(FAIRY,Defence,DRAWFROM(75,90,105,120,135,150,165,176))
	SET_CREATURE_CONFIGURATION(FAIRY,Luck,DRAWFROM(5,10,25,40,55,70,85,100))
	SET_CREATURE_CONFIGURATION(FAIRY,Recovery,DRAWFROM(1,2,3,5,8,12,16,20))
	SET_CREATURE_CONFIGURATION(FAIRY,BaseSpeed,DRAWFROM(48,64,80,96,112,128,144,160))
	SET_CREATURE_CONFIGURATION(FAIRY,Pay,DRAWFROM(16,32,48,64,80,96,112,128))
	SET_CREATURE_CONFIGURATION(GIANT,Health,DRAWFROM(250,500,750,1000,1250,1500,1750,2000))
	SET_CREATURE_CONFIGURATION(GIANT,Strength,DRAWFROM(20,30,40,50,60,70,85,100))
	SET_CREATURE_CONFIGURATION(GIANT,Armour,DRAWFROM(5,10,25,40,55,70,85,100))
	SET_CREATURE_CONFIGURATION(GIANT,Dexterity,DRAWFROM(64,80,96,112,128,144,160,188))
	SET_CREATURE_CONFIGURATION(GIANT,Defence,DRAWFROM(75,90,105,120,135,150,165,176))
	SET_CREATURE_CONFIGURATION(GIANT,Luck,DRAWFROM(5,10,25,40,55,70,85,100))
	SET_CREATURE_CONFIGURATION(GIANT,Recovery,DRAWFROM(1,2,3,5,8,12,16,20))
	SET_CREATURE_CONFIGURATION(GIANT,BaseSpeed,DRAWFROM(48,64,80,96,112,128,144,160))
	SET_CREATURE_CONFIGURATION(GIANT,Pay,DRAWFROM(16,32,48,64,80,96,112,128))
	SET_CREATURE_CONFIGURATION(KNIGHT,Health,DRAWFROM(900,1200,1500,1800,2100,2400,2700,3000))
	SET_CREATURE_CONFIGURATION(KNIGHT,Strength,DRAWFROM(65,70,75,80,85,90,95,100))
	SET_CREATURE_CONFIGURATION(KNIGHT,Armour,DRAWFROM(85,90,95,100,105,110,115,120))
	SET_CREATURE_CONFIGURATION(KNIGHT,Dexterity,DRAWFROM(64,80,96,112,128,144,160,188))
	SET_CREATURE_CONFIGURATION(KNIGHT,Defence,DRAWFROM(75,90,105,120,135,150,165,176))
	SET_CREATURE_CONFIGURATION(KNIGHT,Luck,DRAWFROM(5,10,25,40,55,70,85,100))
	SET_CREATURE_CONFIGURATION(KNIGHT,Recovery,DRAWFROM(1,2,3,5,8,12,16,20))
	SET_CREATURE_CONFIGURATION(KNIGHT,BaseSpeed,DRAWFROM(48,64,80,96,112,128,144,160))
	SET_CREATURE_CONFIGURATION(KNIGHT,Pay,DRAWFROM(16,32,48,64,80,96,112,128))
	SET_CREATURE_CONFIGURATION(MONK,Health,DRAWFROM(250,500,750,1000,1250,1500,1750,2000))
	SET_CREATURE_CONFIGURATION(MONK,Strength,DRAWFROM(20,30,40,50,60,70,85,100))
	SET_CREATURE_CONFIGURATION(MONK,Armour,DRAWFROM(5,10,25,40,55,70,85,100))
	SET_CREATURE_CONFIGURATION(MONK,Dexterity,DRAWFROM(64,80,96,112,128,144,160,188))
	SET_CREATURE_CONFIGURATION(MONK,Defence,DRAWFROM(75,90,105,120,135,150,165,176))
	SET_CREATURE_CONFIGURATION(MONK,Luck,DRAWFROM(5,10,25,40,55,70,85,100))
	SET_CREATURE_CONFIGURATION(MONK,Recovery,DRAWFROM(1,2,3,5,8,12,16,20))
	SET_CREATURE_CONFIGURATION(MONK,BaseSpeed,DRAWFROM(48,64,80,96,112,128,144,160))
	SET_CREATURE_CONFIGURATION(MONK,Pay,DRAWFROM(16,32,48,64,80,96,112,128))
	SET_CREATURE_CONFIGURATION(SAMURAI,Health,DRAWFROM(250,500,750,1000,1250,1500,1750,2000))
	SET_CREATURE_CONFIGURATION(SAMURAI,Strength,DRAWFROM(20,30,40,50,60,70,85,100))
	SET_CREATURE_CONFIGURATION(SAMURAI,Armour,DRAWFROM(5,10,25,40,55,70,85,100))
	SET_CREATURE_CONFIGURATION(SAMURAI,Dexterity,DRAWFROM(64,80,96,112,128,144,160,188))
	SET_CREATURE_CONFIGURATION(SAMURAI,Defence,DRAWFROM(75,90,105,120,135,150,165,176))
	SET_CREATURE_CONFIGURATION(SAMURAI,Luck,DRAWFROM(5,10,25,40,55,70,85,100))
	SET_CREATURE_CONFIGURATION(SAMURAI,Recovery,DRAWFROM(1,2,3,5,8,12,16,20))
	SET_CREATURE_CONFIGURATION(SAMURAI,BaseSpeed,DRAWFROM(48,64,80,96,112,128,144,160))
	SET_CREATURE_CONFIGURATION(SAMURAI,Pay,DRAWFROM(16,32,48,64,80,96,112,128))
	SET_CREATURE_CONFIGURATION(TIME_MAGE,Health,DRAWFROM(250,500,750,1000,1250,1500,1750,2000))
	SET_CREATURE_CONFIGURATION(TIME_MAGE,Strength,DRAWFROM(20,30,40,50,60,70,85,100))
	SET_CREATURE_CONFIGURATION(TIME_MAGE,Armour,DRAWFROM(5,10,25,40,55,70,85,100))
	SET_CREATURE_CONFIGURATION(TIME_MAGE,Dexterity,DRAWFROM(64,80,96,112,128,144,160,188))
	SET_CREATURE_CONFIGURATION(TIME_MAGE,Defence,DRAWFROM(75,90,105,120,135,150,165,176))
	SET_CREATURE_CONFIGURATION(TIME_MAGE,Luck,DRAWFROM(5,10,25,40,55,70,85,100))
	SET_CREATURE_CONFIGURATION(TIME_MAGE,Recovery,DRAWFROM(1,2,3,5,8,12,16,20))
	SET_CREATURE_CONFIGURATION(TIME_MAGE,BaseSpeed,DRAWFROM(48,64,80,96,112,128,144,160))
	SET_CREATURE_CONFIGURATION(TIME_MAGE,Pay,DRAWFROM(16,32,48,64,80,96,112,128))
	SET_CREATURE_CONFIGURATION(THIEF,Health,DRAWFROM(250,500,750,1000,1250,1500,1750,2000))
	SET_CREATURE_CONFIGURATION(THIEF,Strength,DRAWFROM(20,30,40,50,60,70,85,100))
	SET_CREATURE_CONFIGURATION(THIEF,Armour,DRAWFROM(5,10,25,40,55,70,85,100))
	SET_CREATURE_CONFIGURATION(THIEF,Dexterity,DRAWFROM(64,80,96,112,128,144,160,188))
	SET_CREATURE_CONFIGURATION(THIEF,Defence,DRAWFROM(75,90,105,120,135,150,165,176))
	SET_CREATURE_CONFIGURATION(THIEF,Luck,DRAWFROM(5,10,25,40,55,70,85,100))
	SET_CREATURE_CONFIGURATION(THIEF,Recovery,DRAWFROM(1,2,3,5,8,12,16,20))
	SET_CREATURE_CONFIGURATION(THIEF,BaseSpeed,DRAWFROM(48,64,80,96,112,128,144,160))
	SET_CREATURE_CONFIGURATION(THIEF,Pay,DRAWFROM(16,32,48,64,80,96,112,128))
	SET_CREATURE_CONFIGURATION(TUNNELLER,Health,DRAWFROM(250,500,750,1000,1250,1500,1750,2000))
	SET_CREATURE_CONFIGURATION(TUNNELLER,Strength,DRAWFROM(20,30,40,50,60,70,85,100))
	SET_CREATURE_CONFIGURATION(TUNNELLER,Armour,DRAWFROM(5,10,25,40,55,70,85,100))
	SET_CREATURE_CONFIGURATION(TUNNELLER,Dexterity,DRAWFROM(64,80,96,112,128,144,160,188))
	SET_CREATURE_CONFIGURATION(TUNNELLER,Defence,DRAWFROM(75,90,105,120,135,150,165,176))
	SET_CREATURE_CONFIGURATION(TUNNELLER,Luck,DRAWFROM(5,10,25,40,55,70,85,100))
	SET_CREATURE_CONFIGURATION(TUNNELLER,Recovery,DRAWFROM(1,2,3,5,8,12,16,20))
	SET_CREATURE_CONFIGURATION(TUNNELLER,BaseSpeed,DRAWFROM(48,64,80,96,112,128,144,160))
	SET_CREATURE_CONFIGURATION(TUNNELLER,Pay,DRAWFROM(16,32,48,64,80,96,112,128))
	SET_CREATURE_CONFIGURATION(WITCH,Health,DRAWFROM(250,500,750,1000,1250,1500,1750,2000))
	SET_CREATURE_CONFIGURATION(WITCH,Strength,DRAWFROM(20,30,40,50,60,70,85,100))
	SET_CREATURE_CONFIGURATION(WITCH,Armour,DRAWFROM(5,10,25,40,55,70,85,100))
	SET_CREATURE_CONFIGURATION(WITCH,Dexterity,DRAWFROM(64,80,96,112,128,144,160,188))
	SET_CREATURE_CONFIGURATION(WITCH,Defence,DRAWFROM(75,90,105,120,135,150,165,176))
	SET_CREATURE_CONFIGURATION(WITCH,Luck,DRAWFROM(5,10,25,40,55,70,85,100))
	SET_CREATURE_CONFIGURATION(WITCH,Recovery,DRAWFROM(1,2,3,5,8,12,16,20))
	SET_CREATURE_CONFIGURATION(WITCH,BaseSpeed,DRAWFROM(48,64,80,96,112,128,144,160))
	SET_CREATURE_CONFIGURATION(WITCH,Pay,DRAWFROM(16,32,48,64,80,96,112,128))
	SET_CREATURE_CONFIGURATION(WIZARD,Health,DRAWFROM(250,500,750,1000,1250,1500,1750,2000))
	SET_CREATURE_CONFIGURATION(WIZARD,Strength,DRAWFROM(20,30,40,50,60,70,85,100))
	SET_CREATURE_CONFIGURATION(WIZARD,Armour,DRAWFROM(5,10,25,40,55,70,85,100))
	SET_CREATURE_CONFIGURATION(WIZARD,Dexterity,DRAWFROM(64,80,96,112,128,144,160,188))
	SET_CREATURE_CONFIGURATION(WIZARD,Defence,DRAWFROM(75,90,105,120,135,150,165,176))
	SET_CREATURE_CONFIGURATION(WIZARD,Luck,DRAWFROM(5,10,25,40,55,70,85,100))
	SET_CREATURE_CONFIGURATION(WIZARD,Recovery,DRAWFROM(1,2,3,5,8,12,16,20))
	SET_CREATURE_CONFIGURATION(WIZARD,BaseSpeed,DRAWFROM(48,64,80,96,112,128,144,160))
	SET_CREATURE_CONFIGURATION(WIZARD,Pay,DRAWFROM(16,32,48,64,80,96,112,128))
	SET_CREATURE_CONFIGURATION(BUG,Health,DRAWFROM(250,500,750,1000,1250,1500,1750,2000))
	SET_CREATURE_CONFIGURATION(BUG,Strength,DRAWFROM(20,30,40,50,60,70,85,100))
	SET_CREATURE_CONFIGURATION(BUG,Armour,DRAWFROM(5,10,25,40,55,70,85,100))
	SET_CREATURE_CONFIGURATION(BUG,Dexterity,DRAWFROM(64,80,96,112,128,144,160,188))
	SET_CREATURE_CONFIGURATION(BUG,Defence,DRAWFROM(75,90,105,120,135,150,165,176))
	SET_CREATURE_CONFIGURATION(BUG,Luck,DRAWFROM(5,10,25,40,55,70,85,100))
	SET_CREATURE_CONFIGURATION(BUG,Recovery,DRAWFROM(1,2,3,5,8,12,16,20))
	SET_CREATURE_CONFIGURATION(BUG,BaseSpeed,DRAWFROM(48,64,80,96,112,128,144,160))
	SET_CREATURE_CONFIGURATION(BUG,Pay,DRAWFROM(16,32,48,64,80,96,112,128))
	SET_CREATURE_CONFIGURATION(FLY,Health,DRAWFROM(250,500,750,1000,1250,1500,1750,2000))
	SET_CREATURE_CONFIGURATION(FLY,Strength,DRAWFROM(20,30,40,50,60,70,85,100))
	SET_CREATURE_CONFIGURATION(FLY,Armour,DRAWFROM(5,10,25,40,55,70,85,100))
	SET_CREATURE_CONFIGURATION(FLY,Dexterity,DRAWFROM(64,80,96,112,128,144,160,188))
	SET_CREATURE_CONFIGURATION(FLY,Defence,DRAWFROM(75,90,105,120,135,150,165,176))
	SET_CREATURE_CONFIGURATION(FLY,Luck,DRAWFROM(5,10,25,40,55,70,85,100))
	SET_CREATURE_CONFIGURATION(FLY,Recovery,DRAWFROM(1,2,3,5,8,12,16,20))
	SET_CREATURE_CONFIGURATION(FLY,BaseSpeed,DRAWFROM(48,64,80,96,112,128,144,160))
	SET_CREATURE_CONFIGURATION(FLY,Pay,DRAWFROM(16,32,48,64,80,96,112,128))
	SET_CREATURE_CONFIGURATION(SPIDER,Health,DRAWFROM(250,500,750,1000,1250,1500,1750,2000))
	SET_CREATURE_CONFIGURATION(SPIDER,Strength,DRAWFROM(20,30,40,50,60,70,85,100))
	SET_CREATURE_CONFIGURATION(SPIDER,Armour,DRAWFROM(5,10,25,40,55,70,85,100))
	SET_CREATURE_CONFIGURATION(SPIDER,Dexterity,DRAWFROM(64,80,96,112,128,144,160,188))
	SET_CREATURE_CONFIGURATION(SPIDER,Defence,DRAWFROM(75,90,105,120,135,150,165,176))
	SET_CREATURE_CONFIGURATION(SPIDER,Luck,DRAWFROM(5,10,25,40,55,70,85,100))
	SET_CREATURE_CONFIGURATION(SPIDER,Recovery,DRAWFROM(1,2,3,5,8,12,16,20))
	SET_CREATURE_CONFIGURATION(SPIDER,BaseSpeed,DRAWFROM(48,64,80,96,112,128,144,160))
	SET_CREATURE_CONFIGURATION(SPIDER,Pay,DRAWFROM(16,32,48,64,80,96,112,128))
	SET_CREATURE_CONFIGURATION(GHOST,Health,DRAWFROM(250,500,750,1000,1250,1500,1750,2000))
	SET_CREATURE_CONFIGURATION(GHOST,Strength,DRAWFROM(20,30,40,50,60,70,85,100))
	SET_CREATURE_CONFIGURATION(GHOST,Armour,DRAWFROM(5,10,25,40,55,70,85,100))
	SET_CREATURE_CONFIGURATION(GHOST,Dexterity,DRAWFROM(64,80,96,112,128,144,160,188))
	SET_CREATURE_CONFIGURATION(GHOST,Defence,DRAWFROM(75,90,105,120,135,150,165,176))
	SET_CREATURE_CONFIGURATION(GHOST,Luck,DRAWFROM(5,10,25,40,55,70,85,100))
	SET_CREATURE_CONFIGURATION(GHOST,Recovery,DRAWFROM(1,2,3,5,8,12,16,20))
	SET_CREATURE_CONFIGURATION(GHOST,BaseSpeed,DRAWFROM(48,64,80,96,112,128,144,160))
	SET_CREATURE_CONFIGURATION(GHOST,Pay,DRAWFROM(16,32,48,64,80,96,112,128))
	SET_CREATURE_CONFIGURATION(SKELETON,Health,DRAWFROM(250,500,750,1000,1250,1500,1750,2000))
	SET_CREATURE_CONFIGURATION(SKELETON,Strength,DRAWFROM(20,30,40,50,60,70,85,100))
	SET_CREATURE_CONFIGURATION(SKELETON,Armour,DRAWFROM(5,10,25,40,55,70,85,100))
	SET_CREATURE_CONFIGURATION(SKELETON,Dexterity,DRAWFROM(64,80,96,112,128,144,160,188))
	SET_CREATURE_CONFIGURATION(SKELETON,Defence,DRAWFROM(75,90,105,120,135,150,165,176))
	SET_CREATURE_CONFIGURATION(SKELETON,Luck,DRAWFROM(5,10,25,40,55,70,85,100))
	SET_CREATURE_CONFIGURATION(SKELETON,Recovery,DRAWFROM(1,2,3,5,8,12,16,20))
	SET_CREATURE_CONFIGURATION(SKELETON,BaseSpeed,DRAWFROM(48,64,80,96,112,128,144,160))
	SET_CREATURE_CONFIGURATION(SKELETON,Pay,DRAWFROM(16,32,48,64,80,96,112,128))
	SET_CREATURE_CONFIGURATION(VAMPIRE,Health,DRAWFROM(250,500,750,1000,1250,1500,1750,2000))
	SET_CREATURE_CONFIGURATION(VAMPIRE,Strength,DRAWFROM(20,30,40,50,60,70,85,100))
	SET_CREATURE_CONFIGURATION(VAMPIRE,Armour,DRAWFROM(5,10,25,40,55,70,85,100))
	SET_CREATURE_CONFIGURATION(VAMPIRE,Dexterity,DRAWFROM(64,80,96,112,128,144,160,188))
	SET_CREATURE_CONFIGURATION(VAMPIRE,Defence,DRAWFROM(75,90,105,120,135,150,165,176))
	SET_CREATURE_CONFIGURATION(VAMPIRE,Luck,DRAWFROM(5,10,25,40,55,70,85,100))
	SET_CREATURE_CONFIGURATION(VAMPIRE,Recovery,DRAWFROM(1,2,3,5,8,12,16,20))
	SET_CREATURE_CONFIGURATION(VAMPIRE,BaseSpeed,DRAWFROM(48,64,80,96,112,128,144,160))
	SET_CREATURE_CONFIGURATION(VAMPIRE,Pay,DRAWFROM(16,32,48,64,80,96,112,128))
ENDIF

REM # "Random Creature Instance."
IF(PLAYER0,CAMPAIGN_FLAG4 > 0)
	SET_CREATURE_INSTANCE(BILE_DEMON,2,DRAWFROM(POISON_CLOUD,FIRE_ARROW,FIREBALL),2)
	SET_CREATURE_INSTANCE(BILE_DEMON,4,DRAWFROM(FART,FLY,HEAL),4)
	SET_CREATURE_INSTANCE(BILE_DEMON,7,DRAWFROM(LIZARD,CAST_SPELL_CHICKEN,SPEED),7)
	SET_CREATURE_INSTANCE(DARK_MISTRESS,6,DRAWFROM(LIGHTNING,FREEZE,WIND),6)
	SET_CREATURE_INSTANCE(DARK_MISTRESS,7,DRAWFROM(SPEED,ARMOUR,REBOUND),7)
	SET_CREATURE_INSTANCE(DARK_MISTRESS,9,DRAWFROM(DRAIN,FIRE_BOMB,LIZARD),9)
	SET_CREATURE_INSTANCE(DARK_MISTRESS,10,DRAWFROM(TELEPORT,HAILSTORM,WORD_OF_POWER),10)
	SET_CREATURE_INSTANCE(DEMONSPAWN,4,DRAWFROM(MISSILE,FLAME_BREATH,SPEED),4)
	SET_CREATURE_INSTANCE(DEMONSPAWN,7,DRAWFROM(HEAL,LIZARD,NAVIGATING_MISSILE),7)
	SET_CREATURE_INSTANCE(DRAGON,2,DRAWFROM(HEAL,FIREBALL,MISSILE),2)
	SET_CREATURE_INSTANCE(DRAGON,3,DRAWFROM(LIZARD,NAVIGATING_MISSILE,SWING_WEAPON_FIST),3)
	SET_CREATURE_INSTANCE(DRAGON,7,DRAWFROM(FIRE_BOMB,FREEZE,REBOUND),7)
	SET_CREATURE_INSTANCE(DRAGON,10,DRAWFROM(WORD_OF_POWER,HAILSTORM,LIGHTNING),10)
	SET_CREATURE_INSTANCE(DRUID,2,DRAWFROM(SLOW,FLY,MISSILE),2)
	SET_CREATURE_INSTANCE(DRUID,3,DRAWFROM(SIGHT,HEAL,NAVIGATING_MISSILE),3)
	SET_CREATURE_INSTANCE(DRUID,4,DRAWFROM(HAILSTORM,FLAME_BREATH,INVISIBILITY),4)
	SET_CREATURE_INSTANCE(DRUID,6,DRAWFROM(DRAIN,LIGHTNING,LIZARD),6)
	SET_CREATURE_INSTANCE(DRUID,7,DRAWFROM(WIND,ARMOUR,REBOUND),7)
	SET_CREATURE_INSTANCE(DRUID,9,DRAWFROM(FREEZE,CAST_SPELL_CHICKEN,SPEED),9)
	SET_CREATURE_INSTANCE(DRUID,10,DRAWFROM(WORD_OF_POWER,CAST_SPELL_DISEASE,TELEPORT),10)
	SET_CREATURE_INSTANCE(HELL_HOUND,3,DRAWFROM(SPEED,SIGHT,SWING_WEAPON_SWORD),3)
	SET_CREATURE_INSTANCE(HELL_HOUND,5,DRAWFROM(FLAME_BREATH,INVISIBILITY,TELEPORT),5)
	SET_CREATURE_INSTANCE(HORNY,5,DRAWFROM(SPEED,FLAME_BREATH,SWING_WEAPON_FIST),5)
	SET_CREATURE_INSTANCE(HORNY,10,DRAWFROM(SLOW,TELEPORT,WORD_OF_POWER),10)
	SET_CREATURE_INSTANCE(ORC,5,DRAWFROM(SPEED,INVISIBILITY,SWING_WEAPON_FIST),5)
	SET_CREATURE_INSTANCE(ORC,7,DRAWFROM(ARMOUR,FLAME_BREATH,REBOUND),7)
	SET_CREATURE_INSTANCE(ORC,9,DRAWFROM(LIZARD,HEAL,TELEPORT),9)
	SET_CREATURE_INSTANCE(SORCEROR,2,DRAWFROM(FIREBALL,MISSILE,POISON_CLOUD),2)
	SET_CREATURE_INSTANCE(SORCEROR,3,DRAWFROM(HEAL,FLY,SLOW),3)
	SET_CREATURE_INSTANCE(SORCEROR,4,DRAWFROM(FIRE_BOMB,CAST_SPELL_TIME_BOMB,LIZARD),4)
	SET_CREATURE_INSTANCE(SORCEROR,5,DRAWFROM(INVISIBILITY,SPEED,TELEPORT),5)
	SET_CREATURE_INSTANCE(SORCEROR,6,DRAWFROM(NAVIGATING_MISSILE,CAST_SPELL_CHICKEN,FREEZE),6)
	SET_CREATURE_INSTANCE(SORCEROR,7,DRAWFROM(SIGHT,ARMOUR,REBOUND),7)
	SET_CREATURE_INSTANCE(SORCEROR,8,DRAWFROM(WIND,CAST_SPELL_DISEASE,DRAIN),8)
	SET_CREATURE_INSTANCE(SORCEROR,9,DRAWFROM(WORD_OF_POWER,HAILSTORM,LIGHTNING),9)
	SET_CREATURE_INSTANCE(TENTACLE,5,DRAWFROM(FREEZE,HAILSTORM,HEAL),5)
	SET_CREATURE_INSTANCE(TROLL,4,DRAWFROM(SPEED,ARMOUR,REBOUND),4)
	SET_CREATURE_INSTANCE(TROLL,7,DRAWFROM(FIREBALL,FIRE_ARROW,POISON_CLOUD),7)
	SET_CREATURE_INSTANCE(TROLL,10,DRAWFROM(LIZARD,FIRE_BOMB,HAILSTORM),10)
	SET_CREATURE_INSTANCE(BUG,7,DRAWFROM(FREEZE,ARMOUR,REBOUND),7)
	SET_CREATURE_INSTANCE(ARCHER,4,DRAWFROM(NAVIGATING_MISSILE,FIREBALL,POISON_CLOUD),4)
	SET_CREATURE_INSTANCE(ARCHER,6,DRAWFROM(SPEED,INVISIBILITY,SIGHT),6)
	SET_CREATURE_INSTANCE(ARCHER,8,DRAWFROM(SLOW,FIRE_BOMB,LIZARD),8)
	SET_CREATURE_INSTANCE(AVATAR,2,DRAWFROM(ARMOUR,FIRE_ARROW,SWING_WEAPON_FIST),2)
	SET_CREATURE_INSTANCE(AVATAR,4,DRAWFROM(HEAL,REBOUND,SPEED),4)
	SET_CREATURE_INSTANCE(AVATAR,6,DRAWFROM(FREEZE,FIREBALL,MISSILE),6)
	SET_CREATURE_INSTANCE(AVATAR,7,DRAWFROM(DRAIN,LIZARD,POISON_CLOUD),7)
	SET_CREATURE_INSTANCE(AVATAR,8,DRAWFROM(NAVIGATING_MISSILE,CAST_SPELL_CHICKEN,LIGHTNING),8)
	SET_CREATURE_INSTANCE(AVATAR,9,DRAWFROM(INVISIBILITY,CAST_SPELL_DISEASE,FIRE_BOMB),9)
	SET_CREATURE_INSTANCE(AVATAR,10,DRAWFROM(WORD_OF_POWER,CAST_SPELL_TIME_BOMB,HAILSTORM),10)
	SET_CREATURE_INSTANCE(BARBARIAN,6,DRAWFROM(ARMOUR,SPEED,SWING_WEAPON_FIST),6)
	SET_CREATURE_INSTANCE(DWARFA,4,DRAWFROM(ARMOUR,HEAL,INVISIBILITY),4)
	SET_CREATURE_INSTANCE(DWARFA,7,DRAWFROM(REBOUND,SPEED,TELEPORT),7)
	SET_CREATURE_INSTANCE(FAIRY,3,DRAWFROM(DRAIN,FIREBALL,MISSILE),3)
	SET_CREATURE_INSTANCE(FAIRY,4,DRAWFROM(LIGHTNING,CAST_SPELL_CHICKEN,SPEED),4)
	SET_CREATURE_INSTANCE(FAIRY,5,DRAWFROM(HEAL,ARMOUR,TELEPORT),5)
	SET_CREATURE_INSTANCE(FAIRY,6,DRAWFROM(INVISIBILITY,SIGHT,WIND),6)
	SET_CREATURE_INSTANCE(FAIRY,7,DRAWFROM(NAVIGATING_MISSILE,CAST_SPELL_DISEASE,POISON_CLOUD),7)
	SET_CREATURE_INSTANCE(FAIRY,8,DRAWFROM(REBOUND,CAST_SPELL_TIME_BOMB,SLOW),8)
	SET_CREATURE_INSTANCE(FAIRY,9,DRAWFROM(FIRE_BOMB,HAILSTORM,LIZARD),9)
	SET_CREATURE_INSTANCE(FAIRY,10,DRAWFROM(FREEZE,FART,WORD_OF_POWER),10)
	SET_CREATURE_INSTANCE(GIANT,10,DRAWFROM(SPEED,FLAME_BREATH,SWING_WEAPON_SWORD),10)
	SET_CREATURE_INSTANCE(KNIGHT,4,DRAWFROM(REBOUND,ARMOUR,FREEZE),4)
	SET_CREATURE_INSTANCE(KNIGHT,7,DRAWFROM(HEAL,LIGHTNING,SPEED),7)
	SET_CREATURE_INSTANCE(MONK,2,DRAWFROM(HEAL,FLY,WIND),2)
	SET_CREATURE_INSTANCE(MONK,3,DRAWFROM(ARMOUR,CAST_SPELL_CHICKEN,INVISIBILITY),3)
	SET_CREATURE_INSTANCE(MONK,4,DRAWFROM(SLOW,CAST_SPELL_DISEASE,SIGHT),4)
	SET_CREATURE_INSTANCE(MONK,5,DRAWFROM(MISSILE,FIRE_ARROW,FIREBALL),5)
	SET_CREATURE_INSTANCE(MONK,7,DRAWFROM(DRAIN,NAVIGATING_MISSILE,LIZARD),7)
	SET_CREATURE_INSTANCE(MONK,9,DRAWFROM(HAILSTORM,FIRE_BOMB,LIGHTNING),9)
	SET_CREATURE_INSTANCE(MONK,10,DRAWFROM(WORD_OF_POWER,FREEZE,REBOUND),10)
	SET_CREATURE_INSTANCE(SAMURAI,5,DRAWFROM(SIGHT,FLY,WIND),5)
	SET_CREATURE_INSTANCE(SAMURAI,6,DRAWFROM(LIGHTNING,ARMOUR,INVISIBILITY),6)
	SET_CREATURE_INSTANCE(SAMURAI,7,DRAWFROM(SPEED,FIRE_ARROW,SWING_WEAPON_FIST),7)
	SET_CREATURE_INSTANCE(SAMURAI,9,DRAWFROM(FREEZE,REBOUND,TELEPORT),9)
	SET_CREATURE_INSTANCE(THIEF,4,DRAWFROM(SPEED,FIRE_ARROW,SWING_WEAPON_FIST),4)
	SET_CREATURE_INSTANCE(THIEF,7,DRAWFROM(INVISIBILITY,ARMOUR,WIND),7)
	SET_CREATURE_INSTANCE(THIEF,10,DRAWFROM(REBOUND,HEAL,TELEPORT),10)
	SET_CREATURE_INSTANCE(TIME_MAGE,2,DRAWFROM(NAVIGATING_MISSILE,CAST_SPELL_TIME_BOMB,POISON_CLOUD),2)
	SET_CREATURE_INSTANCE(TIME_MAGE,3,DRAWFROM(SLOW,FIREBALL,MISSILE),3)
	SET_CREATURE_INSTANCE(TIME_MAGE,4,DRAWFROM(HEAL,ARMOUR,REBOUND),4)
	SET_CREATURE_INSTANCE(TIME_MAGE,5,DRAWFROM(SIGHT,INVISIBILITY,WIND),5)
	SET_CREATURE_INSTANCE(TIME_MAGE,6,DRAWFROM(DRAIN,FIRE_ARROW,FLAME_BREATH),6)
	SET_CREATURE_INSTANCE(TIME_MAGE,7,DRAWFROM(FLY,FIRE_BOMB,LIZARD),7)
	SET_CREATURE_INSTANCE(TIME_MAGE,8,DRAWFROM(TELEPORT,FREEZE,LIGHTNING),8)
	SET_CREATURE_INSTANCE(TIME_MAGE,9,DRAWFROM(SPEED,CAST_SPELL_DISEASE,HAILSTORM),9)
	SET_CREATURE_INSTANCE(TIME_MAGE,10,DRAWFROM(CAST_SPELL_CHICKEN,FART,WORD_OF_POWER),10)
	SET_CREATURE_INSTANCE(TUNNELLER,10,DRAWFROM(TELEPORT,INVISIBILITY,SPEED),10)
	SET_CREATURE_INSTANCE(WITCH,2,DRAWFROM(FLY,FIREBALL,MISSILE),2)
	SET_CREATURE_INSTANCE(WITCH,3,DRAWFROM(POISON_CLOUD,CAST_SPELL_DISEASE,SLOW),3)
	SET_CREATURE_INSTANCE(WITCH,4,DRAWFROM(REBOUND,ARMOUR,SPEED),4)
	SET_CREATURE_INSTANCE(WITCH,5,DRAWFROM(WIND,CAST_SPELL_CHICKEN,SIGHT),5)
	SET_CREATURE_INSTANCE(WITCH,7,DRAWFROM(LIGHTNING,INVISIBILITY,LIZARD),7)
	SET_CREATURE_INSTANCE(WITCH,8,DRAWFROM(HEAL,DRAIN,FREEZE),8)
	SET_CREATURE_INSTANCE(WITCH,9,DRAWFROM(NAVIGATING_MISSILE,CAST_SPELL_TIME_BOMB,FIRE_BOMB),9)
	SET_CREATURE_INSTANCE(WITCH,10,DRAWFROM(HAILSTORM,TELEPORT,WORD_OF_POWER),10)
	SET_CREATURE_INSTANCE(WIZARD,2,DRAWFROM(MISSILE,FIRE_ARROW,FLAME_BREATH),1)
	SET_CREATURE_INSTANCE(WIZARD,3,DRAWFROM(FIREBALL,NAVIGATING_MISSILE,POISON_CLOUD),3)
	SET_CREATURE_INSTANCE(WIZARD,4,DRAWFROM(REBOUND,INVISIBILITY,WIND),4)
	SET_CREATURE_INSTANCE(WIZARD,5,DRAWFROM(HEAL,ARMOUR,SPEED),5)
	SET_CREATURE_INSTANCE(WIZARD,6,DRAWFROM(FREEZE,CAST_SPELL_CHICKEN,SIGHT),6)
	SET_CREATURE_INSTANCE(WIZARD,7,DRAWFROM(HAILSTORM,LIGHTNING,LIZARD),7)
	SET_CREATURE_INSTANCE(WIZARD,8,DRAWFROM(DRAIN,CAST_SPELL_DISEASE,FLY),8)
	SET_CREATURE_INSTANCE(WIZARD,9,DRAWFROM(SLOW,CAST_SPELL_TIME_BOMB,TELEPORT),9)
	SET_CREATURE_INSTANCE(WIZARD,10,DRAWFROM(FIRE_BOMB,FART,WORD_OF_POWER),10)
	SET_CREATURE_INSTANCE(FLY,5,DRAWFROM(SIGHT,INVISIBILITY,TELEPORT),5)
	SET_CREATURE_INSTANCE(FLY,8,DRAWFROM(SPEED,LIGHTNING,WORD_OF_POWER),8)
	SET_CREATURE_INSTANCE(SPIDER,2,DRAWFROM(SLOW,FIREBALL,POISON_CLOUD),2)
	SET_CREATURE_INSTANCE(SPIDER,4,DRAWFROM(FREEZE,FART,FLAME_BREATH),4)
	SET_CREATURE_INSTANCE(SPIDER,8,DRAWFROM(HAILSTORM,FIRE_BOMB,HEAL),8)
	SET_CREATURE_INSTANCE(GHOST,3,DRAWFROM(INVISIBILITY,SLOW,TELEPORT),3)
	SET_CREATURE_INSTANCE(GHOST,4,DRAWFROM(REBOUND,ARMOUR,SPEED),4)
	SET_CREATURE_INSTANCE(GHOST,6,DRAWFROM(WIND,FIRE_BOMB,FREEZE),6)
	SET_CREATURE_INSTANCE(GHOST,8,DRAWFROM(DRAIN,HAILSTORM,HEAL),8)
	SET_CREATURE_INSTANCE(SKELETON,5,DRAWFROM(ARMOUR,FREEZE,SLOW),5)
	SET_CREATURE_INSTANCE(SKELETON,10,DRAWFROM(LIGHTNING,SPEED,TELEPORT),10)
	SET_CREATURE_INSTANCE(VAMPIRE,2,DRAWFROM(FLY,INVISIBILITY,POISON_CLOUD),2)
	SET_CREATURE_INSTANCE(VAMPIRE,3,DRAWFROM(SLOW,FIREBALL,MISSILE),3)
	SET_CREATURE_INSTANCE(VAMPIRE,4,DRAWFROM(TELEPORT,CAST_SPELL_CHICKEN,FIRE_ARROW),4)
	SET_CREATURE_INSTANCE(VAMPIRE,5,DRAWFROM(HEAL,CAST_SPELL_DISEASE,FART),5)
	SET_CREATURE_INSTANCE(VAMPIRE,6,DRAWFROM(DRAIN,NAVIGATING_MISSILE,LIZARD),6)
	SET_CREATURE_INSTANCE(VAMPIRE,7,DRAWFROM(ARMOUR,SPEED,REBOUND),7)
	SET_CREATURE_INSTANCE(VAMPIRE,8,DRAWFROM(WIND,FIRE_BOMB,FREEZE),8)
	SET_CREATURE_INSTANCE(VAMPIRE,10,DRAWFROM(WORD_OF_POWER,HAILSTORM,LIGHTNING),10)
ENDIF

REM # "Random Creature Job."
IF(PLAYER0,CAMPAIGN_FLAG5 > 0)
	SET_CREATURE_CONFIGURATION(BILE_DEMON,PrimaryJobs,DRAWFROM(FIGHT,SEEK_THE_ENEMY,EXPLORE,RESEARCH,TRAIN,MANUFACTURE,SCAVENGE,GUARD))
	SET_CREATURE_CONFIGURATION(BILE_DEMON,SecondaryJobs,DRAWFROM(RESEARCH,TRAIN,MANUFACTURE,SCAVENGE,KINKY_TORTURE,GUARD,BARRACK,TEMPLE_PRAY))
	SET_CREATURE_CONFIGURATION(DARK_MISTRESS,PrimaryJobs,DRAWFROM(FIGHT,SEEK_THE_ENEMY,EXPLORE,RESEARCH,TRAIN,MANUFACTURE,SCAVENGE,GUARD))
	SET_CREATURE_CONFIGURATION(DARK_MISTRESS,SecondaryJobs,DRAWFROM(RESEARCH,TRAIN,MANUFACTURE,SCAVENGE,KINKY_TORTURE,GUARD,BARRACK,TEMPLE_PRAY))
	SET_CREATURE_CONFIGURATION(DEMONSPAWN,PrimaryJobs,DRAWFROM(FIGHT,SEEK_THE_ENEMY,EXPLORE,RESEARCH,TRAIN,MANUFACTURE,SCAVENGE,GUARD))
	SET_CREATURE_CONFIGURATION(DEMONSPAWN,SecondaryJobs,DRAWFROM(RESEARCH,TRAIN,MANUFACTURE,SCAVENGE,KINKY_TORTURE,GUARD,BARRACK,TEMPLE_PRAY))
	SET_CREATURE_CONFIGURATION(DRAGON,PrimaryJobs,DRAWFROM(FIGHT,SEEK_THE_ENEMY,EXPLORE,RESEARCH,TRAIN,MANUFACTURE,SCAVENGE,GUARD))
	SET_CREATURE_CONFIGURATION(DRAGON,SecondaryJobs,DRAWFROM(RESEARCH,TRAIN,MANUFACTURE,SCAVENGE,KINKY_TORTURE,GUARD,BARRACK,TEMPLE_PRAY))
	SET_CREATURE_CONFIGURATION(DRUID,PrimaryJobs,DRAWFROM(FIGHT,SEEK_THE_ENEMY,EXPLORE,RESEARCH,TRAIN,MANUFACTURE,SCAVENGE,GUARD))
	SET_CREATURE_CONFIGURATION(DRUID,SecondaryJobs,DRAWFROM(RESEARCH,TRAIN,MANUFACTURE,SCAVENGE,KINKY_TORTURE,GUARD,BARRACK,TEMPLE_PRAY))
	SET_CREATURE_CONFIGURATION(HELL_HOUND,PrimaryJobs,DRAWFROM(FIGHT,SEEK_THE_ENEMY,EXPLORE,RESEARCH,TRAIN,MANUFACTURE,SCAVENGE,GUARD))
	SET_CREATURE_CONFIGURATION(HELL_HOUND,SecondaryJobs,DRAWFROM(RESEARCH,TRAIN,MANUFACTURE,SCAVENGE,KINKY_TORTURE,GUARD,BARRACK,TEMPLE_PRAY))
	SET_CREATURE_CONFIGURATION(HORNY,PrimaryJobs,DRAWFROM(FIGHT,SEEK_THE_ENEMY,EXPLORE,RESEARCH,TRAIN,MANUFACTURE,SCAVENGE,GUARD))
	SET_CREATURE_CONFIGURATION(HORNY,SecondaryJobs,DRAWFROM(RESEARCH,TRAIN,MANUFACTURE,SCAVENGE,KINKY_TORTURE,GUARD,BARRACK,TEMPLE_PRAY))
	SET_CREATURE_CONFIGURATION(ORC,PrimaryJobs,DRAWFROM(FIGHT,SEEK_THE_ENEMY,EXPLORE,RESEARCH,TRAIN,MANUFACTURE,SCAVENGE,GUARD))
	SET_CREATURE_CONFIGURATION(ORC,SecondaryJobs,DRAWFROM(RESEARCH,TRAIN,MANUFACTURE,SCAVENGE,KINKY_TORTURE,GUARD,BARRACK,TEMPLE_PRAY))
	SET_CREATURE_CONFIGURATION(SORCEROR,PrimaryJobs,DRAWFROM(FIGHT,SEEK_THE_ENEMY,EXPLORE,RESEARCH,TRAIN,MANUFACTURE,SCAVENGE,GUARD))
	SET_CREATURE_CONFIGURATION(SORCEROR,SecondaryJobs,DRAWFROM(RESEARCH,TRAIN,MANUFACTURE,SCAVENGE,KINKY_TORTURE,GUARD,BARRACK,TEMPLE_PRAY))
	SET_CREATURE_CONFIGURATION(TENTACLE,PrimaryJobs,DRAWFROM(FIGHT,SEEK_THE_ENEMY,EXPLORE,RESEARCH,TRAIN,MANUFACTURE,SCAVENGE,GUARD))
	SET_CREATURE_CONFIGURATION(TENTACLE,SecondaryJobs,DRAWFROM(RESEARCH,TRAIN,MANUFACTURE,SCAVENGE,KINKY_TORTURE,GUARD,BARRACK,TEMPLE_PRAY))
	SET_CREATURE_CONFIGURATION(TROLL,PrimaryJobs,DRAWFROM(FIGHT,SEEK_THE_ENEMY,EXPLORE,RESEARCH,TRAIN,MANUFACTURE,SCAVENGE,GUARD))
	SET_CREATURE_CONFIGURATION(TROLL,SecondaryJobs,DRAWFROM(RESEARCH,TRAIN,MANUFACTURE,SCAVENGE,KINKY_TORTURE,GUARD,BARRACK,TEMPLE_PRAY))
	SET_CREATURE_CONFIGURATION(ARCHER,PrimaryJobs,DRAWFROM(FIGHT,SEEK_THE_ENEMY,EXPLORE,RESEARCH,TRAIN,MANUFACTURE,SCAVENGE,GUARD))
	SET_CREATURE_CONFIGURATION(ARCHER,SecondaryJobs,DRAWFROM(RESEARCH,TRAIN,MANUFACTURE,SCAVENGE,KINKY_TORTURE,GUARD,BARRACK,TEMPLE_PRAY))
	SET_CREATURE_CONFIGURATION(AVATAR,PrimaryJobs,DRAWFROM(FIGHT,SEEK_THE_ENEMY,EXPLORE,RESEARCH,TRAIN,MANUFACTURE,SCAVENGE,GUARD))
	SET_CREATURE_CONFIGURATION(AVATAR,SecondaryJobs,DRAWFROM(RESEARCH,TRAIN,MANUFACTURE,SCAVENGE,KINKY_TORTURE,GUARD,BARRACK,TEMPLE_PRAY))
	SET_CREATURE_CONFIGURATION(BARBARIAN,PrimaryJobs,DRAWFROM(FIGHT,SEEK_THE_ENEMY,EXPLORE,RESEARCH,TRAIN,MANUFACTURE,SCAVENGE,GUARD))
	SET_CREATURE_CONFIGURATION(BARBARIAN,SecondaryJobs,DRAWFROM(RESEARCH,TRAIN,MANUFACTURE,SCAVENGE,KINKY_TORTURE,GUARD,BARRACK,TEMPLE_PRAY))
	SET_CREATURE_CONFIGURATION(DWARFA,PrimaryJobs,DRAWFROM(FIGHT,SEEK_THE_ENEMY,EXPLORE,RESEARCH,TRAIN,MANUFACTURE,SCAVENGE,GUARD))
	SET_CREATURE_CONFIGURATION(DWARFA,SecondaryJobs,DRAWFROM(RESEARCH,TRAIN,MANUFACTURE,SCAVENGE,KINKY_TORTURE,GUARD,BARRACK,TEMPLE_PRAY))
	SET_CREATURE_CONFIGURATION(FAIRY,PrimaryJobs,DRAWFROM(FIGHT,SEEK_THE_ENEMY,EXPLORE,RESEARCH,TRAIN,MANUFACTURE,SCAVENGE,GUARD))
	SET_CREATURE_CONFIGURATION(FAIRY,SecondaryJobs,DRAWFROM(RESEARCH,TRAIN,MANUFACTURE,SCAVENGE,KINKY_TORTURE,GUARD,BARRACK,TEMPLE_PRAY))
	SET_CREATURE_CONFIGURATION(GIANT,PrimaryJobs,DRAWFROM(FIGHT,SEEK_THE_ENEMY,EXPLORE,RESEARCH,TRAIN,MANUFACTURE,SCAVENGE,GUARD))
	SET_CREATURE_CONFIGURATION(GIANT,SecondaryJobs,DRAWFROM(RESEARCH,TRAIN,MANUFACTURE,SCAVENGE,KINKY_TORTURE,GUARD,BARRACK,TEMPLE_PRAY))
	SET_CREATURE_CONFIGURATION(KNIGHT,PrimaryJobs,DRAWFROM(FIGHT,SEEK_THE_ENEMY,EXPLORE,RESEARCH,TRAIN,MANUFACTURE,SCAVENGE,GUARD))
	SET_CREATURE_CONFIGURATION(KNIGHT,SecondaryJobs,DRAWFROM(RESEARCH,TRAIN,MANUFACTURE,SCAVENGE,KINKY_TORTURE,GUARD,BARRACK,TEMPLE_PRAY))
	SET_CREATURE_CONFIGURATION(MONK,PrimaryJobs,DRAWFROM(FIGHT,SEEK_THE_ENEMY,EXPLORE,RESEARCH,TRAIN,MANUFACTURE,SCAVENGE,GUARD))
	SET_CREATURE_CONFIGURATION(MONK,SecondaryJobs,DRAWFROM(RESEARCH,TRAIN,MANUFACTURE,SCAVENGE,KINKY_TORTURE,GUARD,BARRACK,TEMPLE_PRAY))
	SET_CREATURE_CONFIGURATION(SAMURAI,PrimaryJobs,DRAWFROM(FIGHT,SEEK_THE_ENEMY,EXPLORE,RESEARCH,TRAIN,MANUFACTURE,SCAVENGE,GUARD))
	SET_CREATURE_CONFIGURATION(SAMURAI,SecondaryJobs,DRAWFROM(RESEARCH,TRAIN,MANUFACTURE,SCAVENGE,KINKY_TORTURE,GUARD,BARRACK,TEMPLE_PRAY))
	SET_CREATURE_CONFIGURATION(TIME_MAGE,PrimaryJobs,DRAWFROM(FIGHT,SEEK_THE_ENEMY,EXPLORE,RESEARCH,TRAIN,MANUFACTURE,SCAVENGE,GUARD))
	SET_CREATURE_CONFIGURATION(TIME_MAGE,SecondaryJobs,DRAWFROM(RESEARCH,TRAIN,MANUFACTURE,SCAVENGE,KINKY_TORTURE,GUARD,BARRACK,TEMPLE_PRAY))
	SET_CREATURE_CONFIGURATION(THIEF,PrimaryJobs,DRAWFROM(FIGHT,SEEK_THE_ENEMY,EXPLORE,RESEARCH,TRAIN,MANUFACTURE,SCAVENGE,GUARD))
	SET_CREATURE_CONFIGURATION(THIEF,SecondaryJobs,DRAWFROM(RESEARCH,TRAIN,MANUFACTURE,SCAVENGE,KINKY_TORTURE,GUARD,BARRACK,TEMPLE_PRAY))
	SET_CREATURE_CONFIGURATION(TUNNELLER,PrimaryJobs,DRAWFROM(FIGHT,SEEK_THE_ENEMY,EXPLORE,RESEARCH,TRAIN,MANUFACTURE,SCAVENGE,GUARD))
	SET_CREATURE_CONFIGURATION(TUNNELLER,SecondaryJobs,DRAWFROM(RESEARCH,TRAIN,MANUFACTURE,SCAVENGE,KINKY_TORTURE,GUARD,BARRACK,TEMPLE_PRAY))
	SET_CREATURE_CONFIGURATION(WITCH,PrimaryJobs,DRAWFROM(FIGHT,SEEK_THE_ENEMY,EXPLORE,RESEARCH,TRAIN,MANUFACTURE,SCAVENGE,GUARD))
	SET_CREATURE_CONFIGURATION(WITCH,SecondaryJobs,DRAWFROM(RESEARCH,TRAIN,MANUFACTURE,SCAVENGE,KINKY_TORTURE,GUARD,BARRACK,TEMPLE_PRAY))
	SET_CREATURE_CONFIGURATION(WIZARD,PrimaryJobs,DRAWFROM(FIGHT,SEEK_THE_ENEMY,EXPLORE,RESEARCH,TRAIN,MANUFACTURE,SCAVENGE,GUARD))
	SET_CREATURE_CONFIGURATION(WIZARD,SecondaryJobs,DRAWFROM(RESEARCH,TRAIN,MANUFACTURE,SCAVENGE,KINKY_TORTURE,GUARD,BARRACK,TEMPLE_PRAY))
	SET_CREATURE_CONFIGURATION(BUG,PrimaryJobs,DRAWFROM(FIGHT,SEEK_THE_ENEMY,EXPLORE,RESEARCH,TRAIN,MANUFACTURE,SCAVENGE,GUARD))
	SET_CREATURE_CONFIGURATION(BUG,SecondaryJobs,DRAWFROM(RESEARCH,TRAIN,MANUFACTURE,SCAVENGE,KINKY_TORTURE,GUARD,BARRACK,TEMPLE_PRAY))
	SET_CREATURE_CONFIGURATION(FLY,PrimaryJobs,DRAWFROM(FIGHT,SEEK_THE_ENEMY,EXPLORE,RESEARCH,TRAIN,MANUFACTURE,SCAVENGE,GUARD))
	SET_CREATURE_CONFIGURATION(FLY,SecondaryJobs,DRAWFROM(RESEARCH,TRAIN,MANUFACTURE,SCAVENGE,KINKY_TORTURE,GUARD,BARRACK,TEMPLE_PRAY))
	SET_CREATURE_CONFIGURATION(SPIDER,PrimaryJobs,DRAWFROM(FIGHT,SEEK_THE_ENEMY,EXPLORE,RESEARCH,TRAIN,MANUFACTURE,SCAVENGE,GUARD))
	SET_CREATURE_CONFIGURATION(SPIDER,SecondaryJobs,DRAWFROM(RESEARCH,TRAIN,MANUFACTURE,SCAVENGE,KINKY_TORTURE,GUARD,BARRACK,TEMPLE_PRAY))
	SET_CREATURE_CONFIGURATION(GHOST,PrimaryJobs,DRAWFROM(FIGHT,SEEK_THE_ENEMY,EXPLORE,RESEARCH,TRAIN,MANUFACTURE,SCAVENGE,GUARD))
	SET_CREATURE_CONFIGURATION(GHOST,SecondaryJobs,DRAWFROM(RESEARCH,TRAIN,MANUFACTURE,SCAVENGE,KINKY_TORTURE,GUARD,BARRACK,TEMPLE_PRAY))
	SET_CREATURE_CONFIGURATION(SKELETON,PrimaryJobs,DRAWFROM(FIGHT,SEEK_THE_ENEMY,EXPLORE,RESEARCH,TRAIN,MANUFACTURE,SCAVENGE,GUARD))
	SET_CREATURE_CONFIGURATION(SKELETON,SecondaryJobs,DRAWFROM(RESEARCH,TRAIN,MANUFACTURE,SCAVENGE,KINKY_TORTURE,GUARD,BARRACK,TEMPLE_PRAY))
	SET_CREATURE_CONFIGURATION(VAMPIRE,PrimaryJobs,DRAWFROM(FIGHT,SEEK_THE_ENEMY,EXPLORE,RESEARCH,TRAIN,MANUFACTURE,SCAVENGE,GUARD))
	SET_CREATURE_CONFIGURATION(VAMPIRE,SecondaryJobs,DRAWFROM(RESEARCH,TRAIN,MANUFACTURE,SCAVENGE,KINKY_TORTURE,GUARD,BARRACK,TEMPLE_PRAY))
ENDIF

REM # "Random Trap Configuration."
IF(PLAYER0,CAMPAIGN_FLAG6 > 0)
	SET_TRAP_CONFIGURATION(ALARM,Shots,DRAWFROM(1,2,3,5,8,10,12,255))
	SET_TRAP_CONFIGURATION(ALARM,TimeBetweenShots,DRAWFROM(20,25,50,75,100,125,150,300))
	SET_TRAP_CONFIGURATION(ALARM,TriggerType,DRAWFROM(1,2,3,4))
	SET_TRAP_CONFIGURATION(ALARM,ActivationType,DRAWFROM(1,3,5))
	SET_TRAP_CONFIGURATION(ALARM,EffectType,DRAWFROM(2,3,8,11,13,15,29,32))
	SET_TRAP_CONFIGURATION(ALARM,Hidden,DRAWFROM(0,1))
	SET_TRAP_CONFIGURATION(ALARM,Slappable,DRAWFROM(0,1))
	SET_TRAP_CONFIGURATION(ALARM,Destructible,DRAWFROM(0,1))
	SET_TRAP_CONFIGURATION(ALARM,Unstable,DRAWFROM(0,1))
	SET_TRAP_CONFIGURATION(ALARM,HitType,DRAWFROM(3,4,5))
	SET_TRAP_CONFIGURATION(LIGHTNING,Shots,DRAWFROM(1,2,3,5,8,10,12,255))
	SET_TRAP_CONFIGURATION(LIGHTNING,TimeBetweenShots,DRAWFROM(20,25,50,75,100,125,150,300))
	SET_TRAP_CONFIGURATION(LIGHTNING,TriggerType,DRAWFROM(1,2,3,4))
	SET_TRAP_CONFIGURATION(LIGHTNING,ActivationType,DRAWFROM(1,3,5))
	SET_TRAP_CONFIGURATION(LIGHTNING,EffectType,DRAWFROM(2,3,8,11,13,15,29,32))
	SET_TRAP_CONFIGURATION(LIGHTNING,Hidden,DRAWFROM(0,1))
	SET_TRAP_CONFIGURATION(LIGHTNING,Slappable,DRAWFROM(0,1))
	SET_TRAP_CONFIGURATION(LIGHTNING,Destructible,DRAWFROM(0,1))
	SET_TRAP_CONFIGURATION(LIGHTNING,Unstable,DRAWFROM(0,1))
	SET_TRAP_CONFIGURATION(LIGHTNING,HitType,DRAWFROM(3,4,5))
	SET_TRAP_CONFIGURATION(POISON_GAS,Shots,DRAWFROM(1,2,3,5,8,10,12,255))
	SET_TRAP_CONFIGURATION(POISON_GAS,TimeBetweenShots,DRAWFROM(20,25,50,75,100,125,150,300))
	SET_TRAP_CONFIGURATION(POISON_GAS,EffectType,DRAWFROM(13,14,43))
	SET_TRAP_CONFIGURATION(POISON_GAS,Hidden,DRAWFROM(0,1))
	SET_TRAP_CONFIGURATION(POISON_GAS,Slappable,DRAWFROM(0,1))
	SET_TRAP_CONFIGURATION(POISON_GAS,Destructible,DRAWFROM(0,1))
	SET_TRAP_CONFIGURATION(POISON_GAS,Unstable,DRAWFROM(0,1))
	SET_TRAP_CONFIGURATION(POISON_GAS,HitType,DRAWFROM(3,4,5))
	SET_TRAP_CONFIGURATION(WORD_OF_POWER,Shots,DRAWFROM(1,2,3,5,8,10,12,255))
	SET_TRAP_CONFIGURATION(WORD_OF_POWER,TimeBetweenShots,DRAWFROM(20,25,50,75,100,125,150,300))
	SET_TRAP_CONFIGURATION(WORD_OF_POWER,EffectType,DRAWFROM(13,14,43))
	SET_TRAP_CONFIGURATION(WORD_OF_POWER,Hidden,DRAWFROM(0,1))
	SET_TRAP_CONFIGURATION(WORD_OF_POWER,Destructible,DRAWFROM(0,1))
	SET_TRAP_CONFIGURATION(WORD_OF_POWER,Unstable,DRAWFROM(0,1))
	SET_TRAP_CONFIGURATION(WORD_OF_POWER,HitType,DRAWFROM(3,4,5))
	SET_TRAP_CONFIGURATION(LAVA,EffectType,DRAWFROM(1,2,12,13))
	SET_TRAP_CONFIGURATION(BOULDER,Shots,DRAWFROM(1,2,3,5,8,10,12,255))
	SET_TRAP_CONFIGURATION(BOULDER,TimeBetweenShots,DRAWFROM(20,25,50,75,100,125,150,300))
	SET_TRAP_CONFIGURATION(BOULDER,TriggerType,DRAWFROM(1,2,3,4))
	SET_TRAP_CONFIGURATION(BOULDER,ActivationType,DRAWFROM(1,3,5))
	SET_TRAP_CONFIGURATION(BOULDER,EffectType,DRAWFROM(2,3,8,11,13,15,29,32))
	SET_TRAP_CONFIGURATION(BOULDER,Hidden,DRAWFROM(0,1))
	SET_TRAP_CONFIGURATION(BOULDER,Slappable,DRAWFROM(0,1))
	SET_TRAP_CONFIGURATION(BOULDER,Destructible,DRAWFROM(0,1))
	SET_TRAP_CONFIGURATION(BOULDER,Unstable,DRAWFROM(0,1))
	SET_TRAP_CONFIGURATION(BOULDER,HitType,DRAWFROM(3,4,5))
	RANDOMISE_FLAG(​PLAYER0,​CAMPAIGN_FLAG6,​1000)
	IF(PLAYER0,CAMPAIGN_FLAG6 > 333)
		SET_TRAP_CONFIGURATION(POISON_GAS,Shots,DRAWFROM(1,2,3,5,8,10,12,255))
		SET_TRAP_CONFIGURATION(POISON_GAS,TimeBetweenShots,DRAWFROM(20,25,50,75,100,125,150,300))
		SET_TRAP_CONFIGURATION(POISON_GAS,TriggerType,DRAWFROM(1,2,3,4))
		SET_TRAP_CONFIGURATION(POISON_GAS,ActivationType,DRAWFROM(1,3,5))
		SET_TRAP_CONFIGURATION(POISON_GAS,EffectType,DRAWFROM(2,3,8,11,13,15,29,32))
		SET_TRAP_CONFIGURATION(POISON_GAS,Hidden,DRAWFROM(0,1))
		SET_TRAP_CONFIGURATION(POISON_GAS,Slappable,DRAWFROM(0,1))
		SET_TRAP_CONFIGURATION(POISON_GAS,Destructible,DRAWFROM(0,1))
		SET_TRAP_CONFIGURATION(POISON_GAS,Unstable,DRAWFROM(0,1))
		SET_TRAP_CONFIGURATION(POISON_GAS,HitType,DRAWFROM(3,4,5))
	ENDIF
	RANDOMISE_FLAG(​PLAYER0,​CAMPAIGN_FLAG6,​1000)
	IF(PLAYER0,CAMPAIGN_FLAG6 > 333)
		SET_TRAP_CONFIGURATION(WORD_OF_POWER,Shots,DRAWFROM(1,2,3,5,8,10,12,255))
		SET_TRAP_CONFIGURATION(WORD_OF_POWER,TimeBetweenShots,DRAWFROM(20,25,50,75,100,125,150,300))
		SET_TRAP_CONFIGURATION(WORD_OF_POWER,TriggerType,DRAWFROM(1,2,3,4))
		SET_TRAP_CONFIGURATION(WORD_OF_POWER,ActivationType,DRAWFROM(1,3,5))
		SET_TRAP_CONFIGURATION(WORD_OF_POWER,EffectType,DRAWFROM(2,3,8,11,13,15,29,32))
		SET_TRAP_CONFIGURATION(WORD_OF_POWER,Hidden,DRAWFROM(0,1))
		SET_TRAP_CONFIGURATION(WORD_OF_POWER,Slappable,DRAWFROM(0,1))
		SET_TRAP_CONFIGURATION(WORD_OF_POWER,Destructible,DRAWFROM(0,1))
		SET_TRAP_CONFIGURATION(WORD_OF_POWER,Unstable,DRAWFROM(0,1))
		SET_TRAP_CONFIGURATION(WORD_OF_POWER,HitType,DRAWFROM(3,4,5))
	ENDIF
	RANDOMISE_FLAG(​PLAYER0,​CAMPAIGN_FLAG6,​1000)
	IF(PLAYER0,CAMPAIGN_FLAG6 > 333)
		SET_TRAP_CONFIGURATION(LAVA,Shots,DRAWFROM(1,2,3,5,8,10,12,255))
		SET_TRAP_CONFIGURATION(LAVA,TimeBetweenShots,DRAWFROM(20,25,50,75,100,125,150,300))
		SET_TRAP_CONFIGURATION(LAVA,TriggerType,DRAWFROM(1,2,3,4))
		SET_TRAP_CONFIGURATION(LAVA,ActivationType,DRAWFROM(1,3,5))
		SET_TRAP_CONFIGURATION(LAVA,EffectType,DRAWFROM(2,3,8,11,13,15,29,32))
		SET_TRAP_CONFIGURATION(LAVA,Hidden,DRAWFROM(0,1))
		SET_TRAP_CONFIGURATION(LAVA,Slappable,DRAWFROM(0,1))
		SET_TRAP_CONFIGURATION(LAVA,Destructible,DRAWFROM(0,1))
		SET_TRAP_CONFIGURATION(LAVA,Unstable,DRAWFROM(0,1))
		SET_TRAP_CONFIGURATION(LAVA,HitType,DRAWFROM(3,4,5))
	ENDIF
ENDIF

REM # "Random Settings."
IF(PLAYER0,CAMPAIGN_FLAG7 > 0)
	SET_GAME_RULE(DungeonHeartHealth,DRAWFROM(3000~30000))
	SET_GAME_RULE(DungeonHeartHealHealth,DRAWFROM(3~255))
	SET_GAME_RULE(GemEffectiveness,DRAWFROM(3~33))
	SET_GAME_RULE(PayDayGap,DRAWFROM(1000~20000))
	SET_GAME_RULE(PayDaySpeed,DRAWFROM(100~200))
	SET_GAME_RULE(BodiesForVampire,DRAWFROM(5~20))
	SET_GAME_RULE(PrisonSkeletonChance,DRAWFROM(2~100))
	SET_GAME_RULE(GhostConvertChance,DRAWFROM(2~100))
	SET_GAME_RULE(TortureDeathChance,DRAWFROM(2~100))
	SET_GAME_RULE(TortureConvertChance,DRAWFROM(2~100))
	SET_GAME_RULE(FoodGenerationSpeed,DRAWFROM(20~3000))
	SET_GAME_RULE(StunEvilEnemyChance,DRAWFROM(2~100))
	SET_GAME_RULE(StunGoodEnemyChance,DRAWFROM(2~100))
	SET_GAME_RULE(BodyRemainsFor,DRAWFROM(20~3000))
	SET_GAME_RULE(RoomSellGoldBackPercent,DRAWFROM(2~100))
	SET_GAME_RULE(DoorSellValuePercent,DRAWFROM(2~100))
	SET_GAME_RULE(TrapSellValuePercent,DRAWFROM(2~100))
	SET_GAME_RULE(HungerHealthLoss,DRAWFROM(25~100))
	SET_GAME_RULE(GameTurnsPerHungerHealthLoss,DRAWFROM(20~500))
	SET_GAME_RULE(FoodHealthGain,DRAWFROM(25~100))
	SET_GAME_RULE(TortureHealthLoss,DRAWFROM(25~100))
	SET_GAME_RULE(GameTurnsPerTortureHealthLoss,DRAWFROM(20~500))
ENDIF

REM # "Time Attack."
IF(PLAYER1,CAMPAIGN_FLAG0 == 0)
	SET_FLAG(​PLAYER1,​CAMPAIGN_FLAG0,​-1)
ENDIF
IF(PLAYER1,CAMPAIGN_FLAG0 > 0)
	DISPLAY_VARIABLE(PLAYER1,CAMPAIGN_FLAG0)
	NEXT_COMMAND_REUSABLE
	ADD_TO_FLAG(​PLAYER1,​CAMPAIGN_FLAG0,​-1)
	IF(PLAYER1,CAMPAIGN_FLAG0 < 1)
		LOSE_GAME
	ENDIF
ENDIF

REM # "Imps on Strike."
IF(PLAYER1,CAMPAIGN_FLAG1 > 0)
	IF(PLAYER0,DUNGEON_DESTROYED == 0)
		NEXT_COMMAND_REUSABLE
		MAGIC_AVAILABLE(PLAYER0,POWER_IMP,0,0)
		IF_CONTROLS(PLAYER0,IMP < 1)
			NEXT_COMMAND_REUSABLE
			MAGIC_AVAILABLE(PLAYER0,POWER_IMP,1,1)
		ENDIF
	ENDIF
ENDIF

REM # "Shackled Hand."
IF(PLAYER1,CAMPAIGN_FLAG2 > 0)
	MAGIC_AVAILABLE(PLAYER0,POWER_HAND,0,0)
	MAGIC_AVAILABLE(PLAYER0,POWER_SLAP,0,0)
ENDIF

REM # "Broken Workshop."
IF(PLAYER1,CAMPAIGN_FLAG3 > 0)
	DOOR_AVAILABLE(PLAYER0,WOOD,0,0)
	DOOR_AVAILABLE(PLAYER0,BRACED,0,0)
	DOOR_AVAILABLE(PLAYER0,STEEL,0,0)
	DOOR_AVAILABLE(PLAYER0,MAGIC,0,0)
	TRAP_AVAILABLE(PLAYER0,ALARM,0,0)
	TRAP_AVAILABLE(PLAYER0,LIGHTNING,0,0)
	TRAP_AVAILABLE(PLAYER0,POISON_GAS,0,0)
	TRAP_AVAILABLE(PLAYER0,LAVA,0,0)
	TRAP_AVAILABLE(PLAYER0,WORD_OF_POWER,0,0)
	TRAP_AVAILABLE(PLAYER0,BOULDER,0,0)
ENDIF

REM # "Losts Blueprints."
IF(PLAYER1,CAMPAIGN_FLAG4 > 0)
	ROOM_AVAILABLE(PLAYER0,BARRACKS,0,0)
	ROOM_AVAILABLE(PLAYER0,PRISON,0,0)
	ROOM_AVAILABLE(PLAYER0,TORTURE,0,0)
	ROOM_AVAILABLE(PLAYER0,TEMPLE,0,0)
	ROOM_AVAILABLE(PLAYER0,GRAVEYARD,0,0)
	ROOM_AVAILABLE(PLAYER0,SCAVENGER,0,0)
	ROOM_AVAILABLE(PLAYER0,BARRACKS,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)
ENDIF

REM # "Research Prohibited."
IF(PLAYER1,CAMPAIGN_FLAG5 > 0)
	MAGIC_AVAILABLE(PLAYER0,POWER_OBEY,0,0)
	MAGIC_AVAILABLE(PLAYER0,POWER_CALL_TO_ARMS,0,0)
	MAGIC_AVAILABLE(PLAYER0,POWER_SIGHT,0,0)
	MAGIC_AVAILABLE(PLAYER0,POWER_SPEED,0,0)
	MAGIC_AVAILABLE(PLAYER0,POWER_HOLD_AUDIENCE,0,0)
	MAGIC_AVAILABLE(PLAYER0,POWER_CONCEAL,0,0)
	MAGIC_AVAILABLE(PLAYER0,POWER_PROTECT,0,0)
	MAGIC_AVAILABLE(PLAYER0,POWER_HEAL_CREATURE,0,0)
	MAGIC_AVAILABLE(PLAYER0,POWER_CHICKEN,0,0)
	MAGIC_AVAILABLE(PLAYER0,POWER_DISEASE,0,0)
	MAGIC_AVAILABLE(PLAYER0,POWER_LIGHTNING,0,0)
	MAGIC_AVAILABLE(PLAYER0,POWER_CAVE_IN,0,0)
	MAGIC_AVAILABLE(PLAYER0,POWER_DESTROY_WALLS,0,0)
	MAGIC_AVAILABLE(PLAYER0,POWER_ARMAGEDDON,0,0)
ENDIF

REM # "Show no Mercy."
IF(PLAYER1,CAMPAIGN_FLAG6 > 0)
	NEXT_COMMAND_REUSABLE
	SET_CREATURE_TENDENCIES(PLAYER0,IMPRISON,0)
ENDIF

REM # "Mind your Business."
IF(PLAYER1,CAMPAIGN_FLAG7 > 0)
	MAGIC_AVAILABLE(PLAYER0,POWER_POSSESS,0,0)
ENDIF

REM # "Death Mode."
IF(PLAYER2,CAMPAIGN_FLAG0 > 0)
	NEXT_COMMAND_REUSABLE
	COMPUTE_FLAG(PLAYER2,CAMPAIGN_FLAG0,INCREASE,PLAYER0,TOTAL_CREATURES,0)
	IF(PLAYER2,CAMPAIGN_FLAG0 > 6000)
		NEXT_COMMAND_REUSABLE
		KILL_CREATURE(​PLAYER0,​ANY_CREATURE,​ANYWHERE,​1)
		NEXT_COMMAND_REUSABLE
		SET_FLAG(​PLAYER2,​CAMPAIGN_FLAG0,​1)
	ENDIF
ENDIF

REM # "Angry Mode."
IF(PLAYER2,CAMPAIGN_FLAG1 > 0)
	NEXT_COMMAND_REUSABLE
	CHANGE_CREATURES_ANNOYANCE(PLAYER0,ANY_CREATURE,INCREASE,5)
ENDIF

REM # "Betrayal Mode."
IF(PLAYER2,CAMPAIGN_FLAG2 > 0)
	NEXT_COMMAND_REUSABLE
	COMPUTE_FLAG(PLAYER2,CAMPAIGN_FLAG2,INCREASE,PLAYER0,TOTAL_CREATURES,0)
	IF(PLAYER2,CAMPAIGN_FLAG2 > 6000)
		NEXT_COMMAND_REUSABLE
		CHANGE_CREATURE_OWNER(PLAYER0,ANY_CREATURE,ANYWHERE,PLAYER_GOOD)
		NEXT_COMMAND_REUSABLE
		SET_FLAG(​PLAYER2,​CAMPAIGN_FLAG2,​1)
	ENDIF
	NEXT_COMMAND_REUSABLE
	CHANGE_CREATURE_OWNER(PLAYER0,ARCHER,ANYWHERE,PLAYER_GOOD)
	NEXT_COMMAND_REUSABLE
	CHANGE_CREATURE_OWNER(PLAYER0,AVATAR,ANYWHERE,PLAYER_GOOD)
	NEXT_COMMAND_REUSABLE
	CHANGE_CREATURE_OWNER(PLAYER0,BARBARIAN,ANYWHERE,PLAYER_GOOD)
	NEXT_COMMAND_REUSABLE
	CHANGE_CREATURE_OWNER(PLAYER0,DWARFA,ANYWHERE,PLAYER_GOOD)
	NEXT_COMMAND_REUSABLE
	CHANGE_CREATURE_OWNER(PLAYER0,FAIRY,ANYWHERE,PLAYER_GOOD)
	NEXT_COMMAND_REUSABLE
	CHANGE_CREATURE_OWNER(PLAYER0,GIANT,ANYWHERE,PLAYER_GOOD)
	NEXT_COMMAND_REUSABLE
	CHANGE_CREATURE_OWNER(PLAYER0,KNIGHT,ANYWHERE,PLAYER_GOOD)
	NEXT_COMMAND_REUSABLE
	CHANGE_CREATURE_OWNER(PLAYER0,MONK,ANYWHERE,PLAYER_GOOD)
	NEXT_COMMAND_REUSABLE
	CHANGE_CREATURE_OWNER(PLAYER0,SAMURAI,ANYWHERE,PLAYER_GOOD)
	NEXT_COMMAND_REUSABLE
	CHANGE_CREATURE_OWNER(PLAYER0,TIME_MAGE,ANYWHERE,PLAYER_GOOD)
	NEXT_COMMAND_REUSABLE
	CHANGE_CREATURE_OWNER(PLAYER0,THIEF,ANYWHERE,PLAYER_GOOD)
	NEXT_COMMAND_REUSABLE
	CHANGE_CREATURE_OWNER(PLAYER0,TUNNELLER,ANYWHERE,PLAYER_GOOD)
	NEXT_COMMAND_REUSABLE
	CHANGE_CREATURE_OWNER(PLAYER0,WITCH,ANYWHERE,PLAYER_GOOD)
	NEXT_COMMAND_REUSABLE
	CHANGE_CREATURE_OWNER(PLAYER0,WIZARD,ANYWHERE,PLAYER_GOOD)
ENDIF

REM # "Chicken Mode."
IF(PLAYER2,CAMPAIGN_FLAG3 > 0)
	NEXT_COMMAND_REUSABLE
	COMPUTE_FLAG(PLAYER2,CAMPAIGN_FLAG3,INCREASE,PLAYER0,TOTAL_CREATURES,0)
	IF(PLAYER2,CAMPAIGN_FLAG3 > 1200)
		NEXT_COMMAND_REUSABLE
		USE_SPELL_ON_CREATURE(PLAYER0,ANY_CREATURE,ANYWHERE,SPELL_CHICKEN,1)
		NEXT_COMMAND_REUSABLE
		SET_FLAG(​PLAYER2,​CAMPAIGN_FLAG3,​1)
	ENDIF
ENDIF

REM # "Disease Mode."
IF(PLAYER2,CAMPAIGN_FLAG4 > 0)
	NEXT_COMMAND_REUSABLE
	USE_SPELL_ON_PLAYERS_CREATURES(PLAYER0,ANY_CREATURE,SPELL_DISEASE,1)
ENDIF

REM # "Freeze Mode."
IF(PLAYER2,CAMPAIGN_FLAG5 > 0)
	NEXT_COMMAND_REUSABLE
	COMPUTE_FLAG(PLAYER2,CAMPAIGN_FLAG5,INCREASE,PLAYER0,TOTAL_CREATURES,0)
	IF(PLAYER2,CAMPAIGN_FLAG5 > 1200)
		NEXT_COMMAND_REUSABLE
		USE_SPELL_ON_CREATURE(PLAYER0,ANY_CREATURE,ANYWHERE,SPELL_FREEZE,1)
		NEXT_COMMAND_REUSABLE
		SET_FLAG(​PLAYER2,​CAMPAIGN_FLAG5,​1)
	ENDIF
ENDIF

REM # "Slow Mode."
IF(PLAYER2,CAMPAIGN_FLAG6 > 0)
	NEXT_COMMAND_REUSABLE
	USE_SPELL_ON_PLAYERS_CREATURES(PLAYER0,ANY_CREATURE,SPELL_SLOW,1)
ENDIF

REM # "Speed Mode."
IF(PLAYER2,CAMPAIGN_FLAG7 > 0)
	NEXT_COMMAND_REUSABLE
	USE_SPELL_ON_PLAYERS_CREATURES(ALL_PLAYERS,ANY_CREATURE,SPELL_SPEED,1)
	NEXT_COMMAND_REUSABLE
	USE_SPELL_ON_PLAYERS_CREATURES(ALL_PLAYERS,IMP,SPELL_SPEED,1)
ENDIF

REM # "Fog of War."
IF(PLAYER3,CAMPAIGN_FLAG0 > 0)
	CONCEAL_MAP_RECT(PLAYER0,127,127,254,254,1)
ENDIF

REM # "Angry Imps."
IF(PLAYER3,CAMPAIGN_FLAG1 > 0)
	NEXT_COMMAND_REUSABLE
	CHANGE_CREATURES_ANNOYANCE(PLAYER0,IMP,INCREASE,2)
ENDIF

REM # "Bloodlust."
IF(PLAYER3,CAMPAIGN_FLAG2 > 0)
	ADD_CREATURE_TO_LEVEL(PLAYER0,HORNY,PLAYER0,1,10,0)
	SET_HAND_RULE(PLAYER0,HORNY,RULE0,DISABLE)
	NEXT_COMMAND_REUSABLE
	CHANGE_CREATURES_ANNOYANCE(PLAYER0,HORNY,SET,10000)
	NEXT_COMMAND_REUSABLE
	COMPUTE_FLAG(PLAYER3,CAMPAIGN_FLAG2,INCREASE,PLAYER0,HORNY,0)
	IF(PLAYER3,CAMPAIGN_FLAG2 > 6000)
		NEXT_COMMAND_REUSABLE
		RANDOMISE_FLAG(​PLAYER3,​CAMPAIGN_FLAG2,​255)
		NEXT_COMMAND_REUSABLE
		RANDOMISE_FLAG(PLAYER0,BOX192_ACTIVATED,255)
		IF(PLAYER3,CAMPAIGN_FLAG2 == PLAYER0,BOX192_ACTIVATED)
			NEXT_COMMAND_REUSABLE
			CHANGE_CREATURE_OWNER(PLAYER0,HORNY,MOST_EXPERIENCED,PLAYER_GOOD)
		ENDIF
	ENDIF
ENDIF

REM # "One-way Entrance."
IF(PLAYER3,CAMPAIGN_FLAG3 > 0)
	DEAD_CREATURES_RETURN_TO_POOL(0)
ENDIF

REM # "Buffed Heroes."
IF(PLAYER3,CAMPAIGN_FLAG4 > 0)
	NEXT_COMMAND_REUSABLE
	USE_SPELL_ON_PLAYERS_CREATURES(PLAYER_GOOD,ANY_CREATURE,SPELL_ARMOUR,1)
	NEXT_COMMAND_REUSABLE
	USE_SPELL_ON_PLAYERS_CREATURES(PLAYER_GOOD,ANY_CREATURE,SPELL_REBOUND,1)
	NEXT_COMMAND_REUSABLE
	USE_SPELL_ON_PLAYERS_CREATURES(PLAYER_GOOD,ANY_CREATURE,SPELL_SPEED,1)
ENDIF

REM # "Doomsday Clock."
IF(PLAYER3,CAMPAIGN_FLAG5 > 0)
	IF(PLAYER0,GAME_TURN >= 36000)
		USE_POWER(PLAYER0,POWER_ARMAGEDDON,1)
	ENDIF
ENDIF

REM # "Power is Maximum."
IF(PLAYER3,CAMPAIGN_FLAG6 > 0)
	NEXT_COMMAND_REUSABLE
	LEVEL_UP_CREATURE(​ALL_PLAYERS,​ANY_CREATURE,​ANYWHERE,​10)
	NEXT_COMMAND_REUSABLE
	LEVEL_UP_CREATURE(​ALL_PLAYERS,​IMP,​ANYWHERE,​10)
ENDIF

REM # "The Book of the Dead."
IF(PLAYER3,CAMPAIGN_FLAG7 > 0)
	NEXT_COMMAND_REUSABLE
	CHANGE_CREATURE_OWNER(PLAYER0,GHOST,ANYWHERE,PLAYER_GOOD)
	NEXT_COMMAND_REUSABLE
	CHANGE_CREATURE_OWNER(PLAYER0,SKELETON,ANYWHERE,PLAYER_GOOD)
	NEXT_COMMAND_REUSABLE
	CHANGE_CREATURE_OWNER(PLAYER0,VAMPIRE,ANYWHERE,PLAYER_GOOD)
ENDIF