REM ****************************************************************************
REM  Campaigns Consolidation Project for KeeperFX strategy game.
REM ****************************************************************************
REM  Script for Level Lushmeadow-on-Down
REM  Campaign: DK Original
REM  Authors:  based on Bullfrog script
REM            KeeperFX CCP Team
REM  Date:     17 Dec 1996 - 08 Sep 2014
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 Computer player for first time
REM New rooms for the player:
REM   GUARD_POST - Researchable
REM   PRISON - When claimed on map
REM New creatures for the player:
REM   SPIDER - From start
REM   BILE_DEMON - When found on the map
REM   SKELETON - To find on the map
REM New powers for the player:
REM   POWER_SIGHT - Researchable

SET_GENERATE_SPEED(500)

REM Computer Player stuff
COMPUTER_PLAYER(PLAYER1,4)

START_MONEY(PLAYER0,3000)
START_MONEY(PLAYER1,3000)

MAX_CREATURES(PLAYER0,25)
MAX_CREATURES(PLAYER1,25)

ADD_CREATURE_TO_POOL(BUG,15)
ADD_CREATURE_TO_POOL(FLY,15)
ADD_CREATURE_TO_POOL(SPIDER,15)
ADD_CREATURE_TO_POOL(TROLL,20)
ADD_CREATURE_TO_POOL(DEMONSPAWN,20)
ADD_CREATURE_TO_POOL(SORCEROR,8)
ADD_CREATURE_TO_POOL(BILE_DEMON,3)

SET_CREATURE_MAX_LEVEL(PLAYER0,DEMONSPAWN,10)

REM	Creature availability
CREATURE_AVAILABLE(PLAYER0,TROLL,1,0)
CREATURE_AVAILABLE(ALL_PLAYERS,DEMONSPAWN,1,0)
CREATURE_AVAILABLE(ALL_PLAYERS,FLY,1,0)
CREATURE_AVAILABLE(ALL_PLAYERS,SORCEROR,1,0)
CREATURE_AVAILABLE(ALL_PLAYERS,BUG,1,0)
CREATURE_AVAILABLE(ALL_PLAYERS,SPIDER,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(PLAYER0,WORKSHOP,1,0)
ROOM_AVAILABLE(PLAYER0,GUARD_POST,1,0)
ROOM_AVAILABLE(ALL_PLAYERS,BRIDGE,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(PLAYER0,POWER_SPEED,1,0)

REM	Doors and traps availability
DOOR_AVAILABLE(ALL_PLAYERS,WOOD,1,0)
TRAP_AVAILABLE(PLAYER0,POISON_GAS,1,0)

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

REM "Another Keeper controls this underworld realm. His dungeon lies to the north. If you are to entice creatures to work for you instead of him, you will have to build a more magnificent dungeon. Get on with it then."
DISPLAY_OBJECTIVE(57,PLAYER0)

IF(PLAYER0,BILE_DEMON > 0)
	CREATURE_AVAILABLE(PLAYER0,BILE_DEMON,1,0)
	REM "A bile demon has joined you. To tempt in more of these creatures, you will need to build expansive lairs and hatcheries."
	DISPLAY_INFORMATION(59,ALL_PLAYERS)
ENDIF

IF_AVAILABLE(PLAYER0,POWER_SIGHT == 1)
	REM "You have researched the sight of evil spell. Cast it on an area hidden to you and you will be able to reveal what lies underneath, but this will last only a short time."
	DISPLAY_INFORMATION(60,ALL_PLAYERS)
ENDIF

IF(PLAYER0,PRISON > 0)
	REM "You have claimed a prison. You can now command your creatures to imprison the enemy, rather than kill them using the tend to imprison toggle."
	DISPLAY_INFORMATION(61,ALL_PLAYERS)
	ROOM_AVAILABLE(PLAYER0,PRISON,1,1)
	TUTORIAL_FLASH_BUTTON(69,-1)
ENDIF

IF(PLAYER1,PRISON > 0)
	SET_CREATURE_TENDENCIES(PLAYER1,IMPRISON,1)
ENDIF

IF_AVAILABLE(PLAYER0,GUARD_POST == 1)
	REM "you have researched a guard post. Place them down at areas you wish to defend and place creatures on top. They will then stay and guard that area."
	DISPLAY_INFORMATION(62,ALL_PLAYERS)
ENDIF

IF(PLAYER0,SPIDER > 0)
	REM "A spider has joined your dungeon. They are natural enemies of flies so try to keep them apart. There will be other animosites that you need to spot and deal with."
	DISPLAY_INFORMATION(63,ALL_PLAYERS)
ENDIF

IF(PLAYER1,DUNGEON_DESTROYED >= 1)
	REM "The enemy keeper crumbles under your power. Congratulations."
	DISPLAY_OBJECTIVE(58,ALL_PLAYERS)
	WIN_GAME
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)
	SET_CREATURE_MAX_LEVEL(PLAYER0,DEMONSPAWN,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