REM ****************************************************************************
REM  Campaigns Consolidation Project for KeeperFX strategy game.
REM ****************************************************************************
REM  Script for Level Wishvale
REM  Campaign: DK Original
REM  Authors:  based on Bullfrog script
REM            KeeperFX CCP Team
REM  Date:     17 Dec 1996 - 21 aug 2016
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)
RUN_AFTER_VICTORY(1)

REM New rooms for the player:
REM   BARRACKS - Becomes available when Orc comes in
REM New creatures for the player:
REM   ORC - One given and more available after gaining 5th creature

REM Timers used:
REM   PLAYER_GOOD,TIMER0 - Controls spawning ICHI party
REM   PLAYER_GOOD,TIMER1 - Controls spawning NI party
REM   PLAYER_GOOD,TIMER2 - Controls spawning SAN party
REM   PLAYER_GOOD,TIMER3 - Controls spawning YON party
REM   PLAYER_GOOD,TIMER4 - Controls spawning GO party
REM   PLAYER_GOOD,TIMER6 - Used for delay before Lord of the Land appearance

SET_GENERATE_SPEED(250)

REM Computer Player stuff
COMPUTER_PLAYER(PLAYER1,5)

REM Reconfiguring computer processes to make him less aggressive while digging around
REM Original values were:
REM       Name            Priority MoneyMinimum TurnScale GoldDugAtOnce MaxDistance
REM  "DIG TO CLOSE GOLD",       0,       30999,      500,             5,        71
SET_COMPUTER_PROCESS(PLAYER1,"DIG TO CLOSE GOLD",0,1250,50000,5,20)
SET_COMPUTER_CHECKS(PLAYER1,"CHECK FOR NEUTRAL PLACES",15000,0,0,0,65000)
SET_COMPUTER_PROCESS(PLAYER1,"ATTACK SAFE ATTACK",-1,100,22,100,0)

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

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

ADD_CREATURE_TO_POOL(BUG,20)
ADD_CREATURE_TO_POOL(FLY,20)
ADD_CREATURE_TO_POOL(DEMONSPAWN,20)
ADD_CREATURE_TO_POOL(DARK_MISTRESS,20)
ADD_CREATURE_TO_POOL(SORCEROR,30)
ADD_CREATURE_TO_POOL(TROLL,20)
ADD_CREATURE_TO_POOL(SPIDER,20)
ADD_CREATURE_TO_POOL(BILE_DEMON,10)
ADD_CREATURE_TO_POOL(ORC,10)

REM	Creature availability
CREATURE_AVAILABLE(ALL_PLAYERS,TROLL,1,0)
CREATURE_AVAILABLE(ALL_PLAYERS,DEMONSPAWN,1,0)
CREATURE_AVAILABLE(ALL_PLAYERS,FLY,1,0)
CREATURE_AVAILABLE(ALL_PLAYERS,DARK_MISTRESS,1,0)
CREATURE_AVAILABLE(ALL_PLAYERS,SORCEROR,1,0)
CREATURE_AVAILABLE(ALL_PLAYERS,BUG,1,0)
CREATURE_AVAILABLE(ALL_PLAYERS,SPIDER,1,0)
CREATURE_AVAILABLE(ALL_PLAYERS,BILE_DEMON,1,0)
	
SET_CREATURE_MAX_LEVEL(PLAYER0,DEMONSPAWN,10)

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,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)

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_LIGHTNING,1,0)

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

CREATE_PARTY(ICHI)
	ADD_TO_PARTY(ICHI,DWARFA,2,200,ATTACK_ENEMIES,0)
	ADD_TO_PARTY(ICHI,DWARFA,2,200,ATTACK_ENEMIES,0)
	ADD_TO_PARTY(ICHI,THIEF,2,200,STEAL_GOLD,0)
	ADD_TO_PARTY(ICHI,THIEF,2,200,STEAL_GOLD,0)

CREATE_PARTY(NI)
	ADD_TO_PARTY(NI,ARCHER,2,150,ATTACK_ENEMIES,0)
	ADD_TO_PARTY(NI,ARCHER,2,150,ATTACK_ENEMIES,0)
	ADD_TO_PARTY(NI,BARBARIAN,2,200,ATTACK_ENEMIES,0)

CREATE_PARTY(SAN)
	ADD_TO_PARTY(SAN,ARCHER,2,150,ATTACK_ENEMIES,0)
	ADD_TO_PARTY(SAN,BARBARIAN,2,200,ATTACK_ENEMIES,0)
	ADD_TO_PARTY(SAN,WIZARD,2,300,STEAL_SPELLS,0)

CREATE_PARTY(YON)
	ADD_TO_PARTY(YON,BARBARIAN,2,200,ATTACK_ENEMIES,0)
	ADD_TO_PARTY(YON,BARBARIAN,2,200,ATTACK_ENEMIES,0)
	ADD_TO_PARTY(YON,WIZARD,2,300,STEAL_SPELLS,0)

CREATE_PARTY(GO)
	ADD_TO_PARTY(GO,BARBARIAN,2,200,ATTACK_ENEMIES,0)
	ADD_TO_PARTY(GO,BARBARIAN,2,200,ATTACK_ENEMIES,0)
	ADD_TO_PARTY(GO,GIANT,2,400,ATTACK_ENEMIES,0)

CREATE_PARTY(LANDLORD)
	ADD_TO_PARTY(LANDLORD,BARBARIAN,2,200,ATTACK_ENEMIES,0)
	ADD_TO_PARTY(LANDLORD,BARBARIAN,2,200,ATTACK_ENEMIES,0)
	ADD_TO_PARTY(LANDLORD,KNIGHT,4,200,ATTACK_ENEMIES,0)

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

REM "It appears you have arrived in the middle of a raging battle. Perhaps it would be wise to stay out of the way until you are strong enough to eliminate both sides."
DISPLAY_OBJECTIVE(71,PLAYER0)

IF(PLAYER0,TOTAL_CREATURES >= 5)
	ADD_CREATURE_TO_LEVEL(PLAYER0,ORC,4,1,2,0)
	CREATURE_AVAILABLE(ALL_PLAYERS,ORC,1,0)
ENDIF

IF(PLAYER0,ORC > 0)
	REM "An Orc warlord joins you and brings with him the plans for building a Barracks. In this room you can form creatures into teams."
	DISPLAY_INFORMATION(72,ALL_PLAYERS)
	ROOM_AVAILABLE(PLAYER0,BARRACKS,1,1)
ENDIF

SET_TIMER(PLAYER_GOOD,TIMER0)

IF(PLAYER_GOOD,FLAG0 == 0)
	IF(PLAYER_GOOD,TIMER0 > 2000)
		IF_CONTROLS(PLAYER_GOOD,TOTAL_CREATURES <= 5)
			NEXT_COMMAND_REUSABLE
			ADD_PARTY_TO_LEVEL(PLAYER_GOOD,ICHI,-1,1)
			NEXT_COMMAND_REUSABLE
			SET_TIMER(PLAYER_GOOD,TIMER0)
		ENDIF
	ENDIF
ENDIF

SET_TIMER(PLAYER_GOOD,TIMER1)

IF(PLAYER_GOOD,FLAG0 == 0)
	IF(PLAYER_GOOD,TIMER1 > 4000)
		IF_CONTROLS(PLAYER_GOOD,TOTAL_CREATURES <= 5)
			NEXT_COMMAND_REUSABLE
			ADD_PARTY_TO_LEVEL(PLAYER_GOOD,NI,-2,1)
			NEXT_COMMAND_REUSABLE
			SET_TIMER(PLAYER_GOOD,TIMER1)
		ENDIF
	ENDIF
ENDIF

SET_TIMER(PLAYER_GOOD,TIMER2)

IF(PLAYER_GOOD,FLAG0 == 0)
	IF(PLAYER_GOOD,TIMER2 > 7500)
		IF_CONTROLS(PLAYER_GOOD,TOTAL_CREATURES <= 5)
			NEXT_COMMAND_REUSABLE
			ADD_PARTY_TO_LEVEL(PLAYER_GOOD,SAN,-3,1)
			NEXT_COMMAND_REUSABLE
			SET_TIMER(PLAYER_GOOD,TIMER2)
		ENDIF
	ENDIF
ENDIF

SET_TIMER(PLAYER_GOOD,TIMER3)

IF(PLAYER_GOOD,FLAG0 == 0)
	IF(PLAYER_GOOD,TIMER3 > 10000)
		IF_CONTROLS(PLAYER_GOOD,TOTAL_CREATURES <= 5)
			NEXT_COMMAND_REUSABLE
			ADD_PARTY_TO_LEVEL(PLAYER_GOOD,YON,-2,1)
			NEXT_COMMAND_REUSABLE
			SET_TIMER(PLAYER_GOOD,TIMER3)
		ENDIF
	ENDIF
ENDIF

SET_TIMER(PLAYER_GOOD,TIMER4)

IF(PLAYER_GOOD,FLAG0 == 0)
	IF(PLAYER_GOOD,TIMER4 > 15000)
		IF_CONTROLS(PLAYER_GOOD,TOTAL_CREATURES <= 5)
			NEXT_COMMAND_REUSABLE
			ADD_PARTY_TO_LEVEL(PLAYER_GOOD,GO,-1,1)
			NEXT_COMMAND_REUSABLE
			SET_TIMER(PLAYER_GOOD,TIMER4)
		ENDIF
	ENDIF
ENDIF

REM The continuous hero parties can be stopped either by waiting enough time, or killing PLAYER1 
IF(PLAYER1,DUNGEON_DESTROYED >= 1)
	SET_FLAG(PLAYER_GOOD,FLAG0,1)
	SET_TIMER(PLAYER_GOOD,TIMER6)
ENDIF

IF(PLAYER_GOOD,GAME_TURN >= 20000)
	SET_FLAG(PLAYER_GOOD,FLAG0,1)
	SET_TIMER(PLAYER_GOOD,TIMER6)
ENDIF

IF(PLAYER1,PRISON >= 9)
	SET_CREATURE_TENDENCIES(PLAYER1,IMPRISON,1)
ENDIF

REM When the parties are stopped and there are no more heroes on level, make the lord enter (with some delay)
IF(PLAYER_GOOD,TIMER6 >= 1000)
	IF_CONTROLS(PLAYER_GOOD,TOTAL_CREATURES <= 0)
		REM "I think I hear the clanking of plate armour. Yes, the Lord of the Land has finally roused himself from the fireside to find out where all his loyal servants have gone."
		DISPLAY_OBJECTIVE(73,PLAYER0)
		ADD_PARTY_TO_LEVEL(PLAYER_GOOD,LANDLORD,-2,1)
		SET_FLAG(PLAYER_GOOD,FLAG1,1)
	ENDIF
ENDIF

REM When lord is killed, direct the player to kill PLAYER1, unless it's not destroyed already; and when he is - victory
IF(PLAYER_GOOD,FLAG1 == 1)
	IF_CONTROLS(PLAYER_GOOD,TOTAL_CREATURES <= 0)
		IF(PLAYER1,DUNGEON_DESTROYED == 0)
			REM "You have turned local heroes into something of an endangered species, now make the enemy Dungeon Keeper extinct."
			DISPLAY_OBJECTIVE(74,PLAYER0)
			REM Blue digs out when the heroes are defeated
			COMPUTER_DIG_TO_LOCATION(PLAYER1,1,2)
		ENDIF
		IF(PLAYER1,DUNGEON_DESTROYED >= 1)
			REM "You have prevailed, Keeper. The bodies of your enemies litter the most forlorn alcoves of your domain, in tribute to their futile efforts to keep you at bay."
			DISPLAY_OBJECTIVE(75,PLAYER0)
			WIN_GAME
		ENDIF
	ENDIF
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
	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(PLAYER0,ANY_CREATURE,SPELL_TELEPORT)
	NEXT_COMMAND_REUSABLE
	USE_SPELL_ON_PLAYERS_CREATURES(PLAYER0,IMP,SPELL_TELEPORT)
	NEXT_COMMAND_REUSABLE
	USE_SPELL_ON_PLAYERS_CREATURES(PLAYER1,ANY_CREATURE,SPELL_TELEPORT)
	NEXT_COMMAND_REUSABLE
	USE_SPELL_ON_PLAYERS_CREATURES(PLAYER1,IMP,SPELL_TELEPORT)
	NEXT_COMMAND_REUSABLE
	USE_SPELL_ON_PLAYERS_CREATURES(PLAYER2,ANY_CREATURE,SPELL_TELEPORT)
	NEXT_COMMAND_REUSABLE
	USE_SPELL_ON_PLAYERS_CREATURES(PLAYER2,IMP,SPELL_TELEPORT)
	NEXT_COMMAND_REUSABLE
	USE_SPELL_ON_PLAYERS_CREATURES(PLAYER3,ANY_CREATURE,SPELL_TELEPORT)
	NEXT_COMMAND_REUSABLE
	USE_SPELL_ON_PLAYERS_CREATURES(PLAYER3,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 - Custom 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~32,8~40))
	ADD_CREATURE_TO_POOL(DARK_MISTRESS,DRAWFROM(0~32,8~40))
	ADD_CREATURE_TO_POOL(DEMONSPAWN,DRAWFROM(0~32,8~40))
	ADD_CREATURE_TO_POOL(DRAGON,DRAWFROM(0~32,8~40))
	ADD_CREATURE_TO_POOL(DRUID,DRAWFROM(0~32,8~40))
	ADD_CREATURE_TO_POOL(HELL_HOUND,DRAWFROM(0~32,8~40))
	ADD_CREATURE_TO_POOL(HORNY,DRAWFROM(0,0~3,1))
	ADD_CREATURE_TO_POOL(ORC,DRAWFROM(0~32,8~40))
	ADD_CREATURE_TO_POOL(SORCEROR,DRAWFROM(0~32,8~40))
	ADD_CREATURE_TO_POOL(TENTACLE,DRAWFROM(0~32,8~40))
	ADD_CREATURE_TO_POOL(TROLL,DRAWFROM(0~32,8~40))
	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~32,8~40))
	CREATURE_AVAILABLE(ALL_PLAYERS,DARK_MISTRESS,DRAWFROM(0~1),DRAWFROM(0~32,8~40))
	CREATURE_AVAILABLE(ALL_PLAYERS,DEMONSPAWN,DRAWFROM(0~1),DRAWFROM(0~32,8~40))
	CREATURE_AVAILABLE(ALL_PLAYERS,DRAGON,DRAWFROM(0~1),DRAWFROM(0~32,8~40))
	CREATURE_AVAILABLE(ALL_PLAYERS,DRUID,DRAWFROM(0~1),DRAWFROM(0~32,8~40))
	CREATURE_AVAILABLE(ALL_PLAYERS,HELL_HOUND,DRAWFROM(0~1),DRAWFROM(0~32,8~40))
	CREATURE_AVAILABLE(ALL_PLAYERS,HORNY,DRAWFROM(0~1),DRAWFROM(0,0~3,1))
	CREATURE_AVAILABLE(ALL_PLAYERS,ORC,DRAWFROM(0~1),DRAWFROM(0~32,8~40))
	CREATURE_AVAILABLE(ALL_PLAYERS,SORCEROR,DRAWFROM(0~1),DRAWFROM(0~32,8~40))
	CREATURE_AVAILABLE(ALL_PLAYERS,TENTACLE,DRAWFROM(0~1),DRAWFROM(0~32,8~40))
	CREATURE_AVAILABLE(ALL_PLAYERS,TROLL,DRAWFROM(0~1),DRAWFROM(0~32,8~40))
	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(125,250,375,500,625,750,875,1000))
	SET_CREATURE_CONFIGURATION(GHOST,Strength,DRAWFROM(15,20,25,30,35,40,45,50))
	SET_CREATURE_CONFIGURATION(GHOST,Armour,DRAWFROM(2,3,5,8,10,15,20,25))
	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(2,3,5,8,10,15,20,25))
	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(IMP,3,DRAWFROM(SPEED,INVISIBILITY),3)
	SET_CREATURE_INSTANCE(IMP,10,DRAWFROM(TELEPORT,FLY),10)
	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,FIRE_ARROW,MISSILE),2)
	SET_CREATURE_INSTANCE(DRUID,3,DRAWFROM(SIGHT,HEAL,NAVIGATING_MISSILE),3)
	SET_CREATURE_INSTANCE(DRUID,4,DRAWFROM(HAILSTORM,FLY,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,INVISIBILITY,SIGHT),3)
	SET_CREATURE_INSTANCE(HELL_HOUND,5,DRAWFROM(FLAME_BREATH,SWING_WEAPON_SWORD,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,FLAME_BREATH,SWING_WEAPON_FIST),5)
	SET_CREATURE_INSTANCE(ORC,7,DRAWFROM(ARMOUR,INVISIBILITY,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,RAIN_OF_FIRE),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,CAST_SPELL_CHICKEN,POISON_CLOUD),6)
	SET_CREATURE_INSTANCE(AVATAR,7,DRAWFROM(DRAIN,LIZARD,CAST_SPELL_DISEASE),7)
	SET_CREATURE_INSTANCE(AVATAR,8,DRAWFROM(NAVIGATING_MISSILE,DISCHARGE,LIGHTNING),8)
	SET_CREATURE_INSTANCE(AVATAR,9,DRAWFROM(INVISIBILITY,FIRE_BOMB,RAIN_OF_FIRE),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,DISCHARGE,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_CHICKEN,LIZARD),7) 
	SET_CREATURE_INSTANCE(FAIRY,8,DRAWFROM(REBOUND,CAST_SPELL_TIME_BOMB,SLOW),8)
	SET_CREATURE_INSTANCE(FAIRY,9,DRAWFROM(FIRE_BOMB,HAILSTORM,RAIN_OF_FIRE),9)
	SET_CREATURE_INSTANCE(FAIRY,10,DRAWFROM(FREEZE,CAST_SPELL_DISEASE,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,FREEZE,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,CAST_SPELL_DISEASE,REBOUND),10)
	SET_CREATURE_INSTANCE(SAMURAI,5,DRAWFROM(SIGHT,FLY,WIND),5)
	SET_CREATURE_INSTANCE(SAMURAI,6,DRAWFROM(LIGHTNING,ARMOUR,DISCHARGE),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,FIRE_ARROW,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,CAST_SPELL_TIME_BOMB,LIZARD),6)
	SET_CREATURE_INSTANCE(TIME_MAGE,7,DRAWFROM(FLY,FIRE_BOMB,RAIN_OF_FIRE),7)
	SET_CREATURE_INSTANCE(TIME_MAGE,8,DRAWFROM(TELEPORT,DISCHARGE,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,FREEZE,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,DRAIN,SLOW),3)
	SET_CREATURE_INSTANCE(WITCH,4,DRAWFROM(REBOUND,ARMOUR,SPEED),4)
	SET_CREATURE_INSTANCE(WITCH,5,DRAWFROM(WIND,CAST_SPELL_CHICKEN,LIZARD),5)
	SET_CREATURE_INSTANCE(WITCH,7,DRAWFROM(LIGHTNING,INVISIBILITY,SIGHT),7)
	SET_CREATURE_INSTANCE(WITCH,8,DRAWFROM(HEAL,CAST_SPELL_DISEASE,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,POISON_CLOUD),1)
	SET_CREATURE_INSTANCE(WIZARD,3,DRAWFROM(FIREBALL,NAVIGATING_MISSILE,WIND),3)
	SET_CREATURE_INSTANCE(WIZARD,4,DRAWFROM(REBOUND,INVISIBILITY,SIGHT),4)
	SET_CREATURE_INSTANCE(WIZARD,5,DRAWFROM(HEAL,ARMOUR,SPEED),5)
	SET_CREATURE_INSTANCE(WIZARD,6,DRAWFROM(FREEZE,CAST_SPELL_CHICKEN,LIZARD),6)
	SET_CREATURE_INSTANCE(WIZARD,7,DRAWFROM(HAILSTORM,DISCHARGE,LIGHTNING),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,RAIN_OF_FIRE,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,EXPLORE,RESEARCH,TRAIN,MANUFACTURE,SCAVENGE,GUARD))
	SET_CREATURE_CONFIGURATION(BILE_DEMON,SecondaryJobs,DRAWFROM(RESEARCH,TRAIN,MANUFACTURE,SCAVENGE,GUARD,BARRACK,TEMPLE_PRAY))
	SET_CREATURE_CONFIGURATION(DARK_MISTRESS,PrimaryJobs,DRAWFROM(FIGHT,EXPLORE,RESEARCH,TRAIN,MANUFACTURE,SCAVENGE,GUARD))
	SET_CREATURE_CONFIGURATION(DARK_MISTRESS,SecondaryJobs,DRAWFROM(RESEARCH,TRAIN,MANUFACTURE,SCAVENGE,GUARD,BARRACK,TEMPLE_PRAY))
	SET_CREATURE_CONFIGURATION(DEMONSPAWN,PrimaryJobs,DRAWFROM(FIGHT,EXPLORE,RESEARCH,TRAIN,MANUFACTURE,SCAVENGE,GUARD))
	SET_CREATURE_CONFIGURATION(DEMONSPAWN,SecondaryJobs,DRAWFROM(RESEARCH,TRAIN,MANUFACTURE,SCAVENGE,GUARD,BARRACK,TEMPLE_PRAY))
	SET_CREATURE_CONFIGURATION(DRAGON,PrimaryJobs,DRAWFROM(FIGHT,EXPLORE,RESEARCH,TRAIN,MANUFACTURE,SCAVENGE,GUARD))
	SET_CREATURE_CONFIGURATION(DRAGON,SecondaryJobs,DRAWFROM(RESEARCH,TRAIN,MANUFACTURE,SCAVENGE,GUARD,BARRACK,TEMPLE_PRAY))
	SET_CREATURE_CONFIGURATION(DRUID,PrimaryJobs,DRAWFROM(FIGHT,EXPLORE,RESEARCH,TRAIN,MANUFACTURE,SCAVENGE,GUARD))
	SET_CREATURE_CONFIGURATION(DRUID,SecondaryJobs,DRAWFROM(RESEARCH,TRAIN,MANUFACTURE,SCAVENGE,GUARD,BARRACK,TEMPLE_PRAY))
	SET_CREATURE_CONFIGURATION(HELL_HOUND,PrimaryJobs,DRAWFROM(FIGHT,EXPLORE,RESEARCH,TRAIN,MANUFACTURE,SCAVENGE,GUARD))
	SET_CREATURE_CONFIGURATION(HELL_HOUND,SecondaryJobs,DRAWFROM(RESEARCH,TRAIN,MANUFACTURE,SCAVENGE,GUARD,BARRACK,TEMPLE_PRAY))
	SET_CREATURE_CONFIGURATION(HORNY,PrimaryJobs,DRAWFROM(FIGHT,EXPLORE,RESEARCH,TRAIN,MANUFACTURE,SCAVENGE,GUARD))
	SET_CREATURE_CONFIGURATION(HORNY,SecondaryJobs,DRAWFROM(RESEARCH,TRAIN,MANUFACTURE,SCAVENGE,GUARD,BARRACK,TEMPLE_PRAY))
	SET_CREATURE_CONFIGURATION(ORC,PrimaryJobs,DRAWFROM(FIGHT,EXPLORE,RESEARCH,TRAIN,MANUFACTURE,SCAVENGE,GUARD))
	SET_CREATURE_CONFIGURATION(ORC,SecondaryJobs,DRAWFROM(RESEARCH,TRAIN,MANUFACTURE,SCAVENGE,GUARD,BARRACK,TEMPLE_PRAY))
	SET_CREATURE_CONFIGURATION(SORCEROR,PrimaryJobs,DRAWFROM(FIGHT,EXPLORE,RESEARCH,TRAIN,MANUFACTURE,SCAVENGE,GUARD))
	SET_CREATURE_CONFIGURATION(SORCEROR,SecondaryJobs,DRAWFROM(RESEARCH,TRAIN,MANUFACTURE,SCAVENGE,GUARD,BARRACK,TEMPLE_PRAY))
	SET_CREATURE_CONFIGURATION(TENTACLE,PrimaryJobs,DRAWFROM(FIGHT,EXPLORE,RESEARCH,TRAIN,MANUFACTURE,SCAVENGE,GUARD))
	SET_CREATURE_CONFIGURATION(TENTACLE,SecondaryJobs,DRAWFROM(RESEARCH,TRAIN,MANUFACTURE,SCAVENGE,GUARD,BARRACK,TEMPLE_PRAY))
	SET_CREATURE_CONFIGURATION(TROLL,PrimaryJobs,DRAWFROM(FIGHT,EXPLORE,RESEARCH,TRAIN,MANUFACTURE,SCAVENGE,GUARD))
	SET_CREATURE_CONFIGURATION(TROLL,SecondaryJobs,DRAWFROM(RESEARCH,TRAIN,MANUFACTURE,SCAVENGE,GUARD,BARRACK,TEMPLE_PRAY))
	SET_CREATURE_CONFIGURATION(ARCHER,PrimaryJobs,DRAWFROM(FIGHT,EXPLORE,RESEARCH,TRAIN,MANUFACTURE,SCAVENGE,GUARD))
	SET_CREATURE_CONFIGURATION(ARCHER,SecondaryJobs,DRAWFROM(RESEARCH,TRAIN,MANUFACTURE,SCAVENGE,GUARD,BARRACK,TEMPLE_PRAY))
	SET_CREATURE_CONFIGURATION(AVATAR,PrimaryJobs,DRAWFROM(FIGHT,EXPLORE,RESEARCH,TRAIN,MANUFACTURE,SCAVENGE,GUARD))
	SET_CREATURE_CONFIGURATION(AVATAR,SecondaryJobs,DRAWFROM(RESEARCH,TRAIN,MANUFACTURE,SCAVENGE,GUARD,BARRACK,TEMPLE_PRAY))
	SET_CREATURE_CONFIGURATION(BARBARIAN,PrimaryJobs,DRAWFROM(FIGHT,EXPLORE,RESEARCH,TRAIN,MANUFACTURE,SCAVENGE,GUARD))
	SET_CREATURE_CONFIGURATION(BARBARIAN,SecondaryJobs,DRAWFROM(RESEARCH,TRAIN,MANUFACTURE,SCAVENGE,GUARD,BARRACK,TEMPLE_PRAY))
	SET_CREATURE_CONFIGURATION(DWARFA,PrimaryJobs,DRAWFROM(FIGHT,EXPLORE,RESEARCH,TRAIN,MANUFACTURE,SCAVENGE,GUARD))
	SET_CREATURE_CONFIGURATION(DWARFA,SecondaryJobs,DRAWFROM(RESEARCH,TRAIN,MANUFACTURE,SCAVENGE,GUARD,BARRACK,TEMPLE_PRAY))
	SET_CREATURE_CONFIGURATION(FAIRY,PrimaryJobs,DRAWFROM(FIGHT,EXPLORE,RESEARCH,TRAIN,MANUFACTURE,SCAVENGE,GUARD))
	SET_CREATURE_CONFIGURATION(FAIRY,SecondaryJobs,DRAWFROM(RESEARCH,TRAIN,MANUFACTURE,SCAVENGE,GUARD,BARRACK,TEMPLE_PRAY))
	SET_CREATURE_CONFIGURATION(GIANT,PrimaryJobs,DRAWFROM(FIGHT,EXPLORE,RESEARCH,TRAIN,MANUFACTURE,SCAVENGE,GUARD))
	SET_CREATURE_CONFIGURATION(GIANT,SecondaryJobs,DRAWFROM(RESEARCH,TRAIN,MANUFACTURE,SCAVENGE,GUARD,BARRACK,TEMPLE_PRAY))
	SET_CREATURE_CONFIGURATION(KNIGHT,PrimaryJobs,DRAWFROM(FIGHT,EXPLORE,RESEARCH,TRAIN,MANUFACTURE,SCAVENGE,GUARD))
	SET_CREATURE_CONFIGURATION(KNIGHT,SecondaryJobs,DRAWFROM(RESEARCH,TRAIN,MANUFACTURE,SCAVENGE,GUARD,BARRACK,TEMPLE_PRAY))
	SET_CREATURE_CONFIGURATION(MONK,PrimaryJobs,DRAWFROM(FIGHT,EXPLORE,RESEARCH,TRAIN,MANUFACTURE,SCAVENGE,GUARD))
	SET_CREATURE_CONFIGURATION(MONK,SecondaryJobs,DRAWFROM(RESEARCH,TRAIN,MANUFACTURE,SCAVENGE,GUARD,BARRACK,TEMPLE_PRAY))
	SET_CREATURE_CONFIGURATION(SAMURAI,PrimaryJobs,DRAWFROM(FIGHT,EXPLORE,RESEARCH,TRAIN,MANUFACTURE,SCAVENGE,GUARD))
	SET_CREATURE_CONFIGURATION(SAMURAI,SecondaryJobs,DRAWFROM(RESEARCH,TRAIN,MANUFACTURE,SCAVENGE,GUARD,BARRACK,TEMPLE_PRAY))
	SET_CREATURE_CONFIGURATION(TIME_MAGE,PrimaryJobs,DRAWFROM(FIGHT,EXPLORE,RESEARCH,TRAIN,MANUFACTURE,SCAVENGE,GUARD))
	SET_CREATURE_CONFIGURATION(TIME_MAGE,SecondaryJobs,DRAWFROM(RESEARCH,TRAIN,MANUFACTURE,SCAVENGE,GUARD,BARRACK,TEMPLE_PRAY))
	SET_CREATURE_CONFIGURATION(THIEF,PrimaryJobs,DRAWFROM(FIGHT,EXPLORE,RESEARCH,TRAIN,MANUFACTURE,SCAVENGE,GUARD))
	SET_CREATURE_CONFIGURATION(THIEF,SecondaryJobs,DRAWFROM(RESEARCH,TRAIN,MANUFACTURE,SCAVENGE,GUARD,BARRACK,TEMPLE_PRAY))
	SET_CREATURE_CONFIGURATION(TUNNELLER,PrimaryJobs,DRAWFROM(FIGHT,EXPLORE,RESEARCH,TRAIN,MANUFACTURE,SCAVENGE,GUARD))
	SET_CREATURE_CONFIGURATION(TUNNELLER,SecondaryJobs,DRAWFROM(RESEARCH,TRAIN,MANUFACTURE,SCAVENGE,GUARD,BARRACK,TEMPLE_PRAY))
	SET_CREATURE_CONFIGURATION(WITCH,PrimaryJobs,DRAWFROM(FIGHT,EXPLORE,RESEARCH,TRAIN,MANUFACTURE,SCAVENGE,GUARD))
	SET_CREATURE_CONFIGURATION(WITCH,SecondaryJobs,DRAWFROM(RESEARCH,TRAIN,MANUFACTURE,SCAVENGE,GUARD,BARRACK,TEMPLE_PRAY))
	SET_CREATURE_CONFIGURATION(WIZARD,PrimaryJobs,DRAWFROM(FIGHT,EXPLORE,RESEARCH,TRAIN,MANUFACTURE,SCAVENGE,GUARD))
	SET_CREATURE_CONFIGURATION(WIZARD,SecondaryJobs,DRAWFROM(RESEARCH,TRAIN,MANUFACTURE,SCAVENGE,GUARD,BARRACK,TEMPLE_PRAY))
	SET_CREATURE_CONFIGURATION(BUG,PrimaryJobs,DRAWFROM(FIGHT,EXPLORE,RESEARCH,TRAIN,MANUFACTURE,SCAVENGE,GUARD))
	SET_CREATURE_CONFIGURATION(BUG,SecondaryJobs,DRAWFROM(RESEARCH,TRAIN,MANUFACTURE,SCAVENGE,GUARD,BARRACK,TEMPLE_PRAY))
	SET_CREATURE_CONFIGURATION(FLY,PrimaryJobs,DRAWFROM(FIGHT,EXPLORE,RESEARCH,TRAIN,MANUFACTURE,SCAVENGE,GUARD))
	SET_CREATURE_CONFIGURATION(FLY,SecondaryJobs,DRAWFROM(RESEARCH,TRAIN,MANUFACTURE,SCAVENGE,GUARD,BARRACK,TEMPLE_PRAY))
	SET_CREATURE_CONFIGURATION(SPIDER,PrimaryJobs,DRAWFROM(FIGHT,EXPLORE,RESEARCH,TRAIN,MANUFACTURE,SCAVENGE,GUARD))
	SET_CREATURE_CONFIGURATION(SPIDER,SecondaryJobs,DRAWFROM(RESEARCH,TRAIN,MANUFACTURE,SCAVENGE,GUARD,BARRACK,TEMPLE_PRAY))
	SET_CREATURE_CONFIGURATION(GHOST,PrimaryJobs,DRAWFROM(FIGHT,EXPLORE,RESEARCH,TRAIN,MANUFACTURE,SCAVENGE,GUARD))
	SET_CREATURE_CONFIGURATION(GHOST,SecondaryJobs,DRAWFROM(RESEARCH,TRAIN,MANUFACTURE,SCAVENGE,GUARD,BARRACK,TEMPLE_PRAY))
	SET_CREATURE_CONFIGURATION(SKELETON,PrimaryJobs,DRAWFROM(FIGHT,EXPLORE,RESEARCH,TRAIN,MANUFACTURE,SCAVENGE,GUARD))
	SET_CREATURE_CONFIGURATION(SKELETON,SecondaryJobs,DRAWFROM(RESEARCH,TRAIN,MANUFACTURE,SCAVENGE,GUARD,BARRACK,TEMPLE_PRAY))
	SET_CREATURE_CONFIGURATION(VAMPIRE,PrimaryJobs,DRAWFROM(FIGHT,EXPLORE,RESEARCH,TRAIN,MANUFACTURE,SCAVENGE,GUARD))
	SET_CREATURE_CONFIGURATION(VAMPIRE,SecondaryJobs,DRAWFROM(RESEARCH,TRAIN,MANUFACTURE,SCAVENGE,GUARD,BARRACK,TEMPLE_PRAY))
	SET_CREATURE_CONFIGURATION(BILE_DEMON,NotDoJobs,DRAWFROM(RESEARCH,MANUFACTURE,SCAVENGE))
	SET_CREATURE_CONFIGURATION(DARK_MISTRESS,NotDoJobs,DRAWFROM(RESEARCH,MANUFACTURE,SCAVENGE))
	SET_CREATURE_CONFIGURATION(DEMONSPAWN,NotDoJobs,DRAWFROM(RESEARCH,MANUFACTURE,SCAVENGE))
	SET_CREATURE_CONFIGURATION(DRAGON,NotDoJobs,DRAWFROM(RESEARCH,MANUFACTURE,SCAVENGE))
	SET_CREATURE_CONFIGURATION(DRUID,NotDoJobs,DRAWFROM(RESEARCH,MANUFACTURE,SCAVENGE))
	SET_CREATURE_CONFIGURATION(HELL_HOUND,NotDoJobs,DRAWFROM(RESEARCH,MANUFACTURE,SCAVENGE))
	SET_CREATURE_CONFIGURATION(HORNY,NotDoJobs,DRAWFROM(RESEARCH,MANUFACTURE,SCAVENGE))
	SET_CREATURE_CONFIGURATION(ORC,NotDoJobs,DRAWFROM(RESEARCH,MANUFACTURE,SCAVENGE))
	SET_CREATURE_CONFIGURATION(SORCEROR,NotDoJobs,DRAWFROM(RESEARCH,MANUFACTURE,SCAVENGE))
	SET_CREATURE_CONFIGURATION(TENTACLE,NotDoJobs,DRAWFROM(RESEARCH,MANUFACTURE,SCAVENGE))
	SET_CREATURE_CONFIGURATION(TROLL,NotDoJobs,DRAWFROM(RESEARCH,MANUFACTURE,SCAVENGE))
	SET_CREATURE_CONFIGURATION(ARCHER,NotDoJobs,DRAWFROM(RESEARCH,MANUFACTURE,SCAVENGE))
	SET_CREATURE_CONFIGURATION(AVATAR,NotDoJobs,DRAWFROM(RESEARCH,MANUFACTURE,SCAVENGE))
	SET_CREATURE_CONFIGURATION(BARBARIAN,NotDoJobs,DRAWFROM(RESEARCH,MANUFACTURE,SCAVENGE))
	SET_CREATURE_CONFIGURATION(DWARFA,NotDoJobs,DRAWFROM(RESEARCH,MANUFACTURE,SCAVENGE))
	SET_CREATURE_CONFIGURATION(FAIRY,NotDoJobs,DRAWFROM(RESEARCH,MANUFACTURE,SCAVENGE))
	SET_CREATURE_CONFIGURATION(GIANT,NotDoJobs,DRAWFROM(RESEARCH,MANUFACTURE,SCAVENGE))
	SET_CREATURE_CONFIGURATION(KNIGHT,NotDoJobs,DRAWFROM(RESEARCH,MANUFACTURE,SCAVENGE))
	SET_CREATURE_CONFIGURATION(MONK,NotDoJobs,DRAWFROM(RESEARCH,MANUFACTURE,SCAVENGE))
	SET_CREATURE_CONFIGURATION(SAMURAI,NotDoJobs,DRAWFROM(RESEARCH,MANUFACTURE,SCAVENGE))
	SET_CREATURE_CONFIGURATION(TIME_MAGE,NotDoJobs,DRAWFROM(RESEARCH,MANUFACTURE,SCAVENGE))
	SET_CREATURE_CONFIGURATION(THIEF,NotDoJobs,DRAWFROM(RESEARCH,MANUFACTURE,SCAVENGE))
	SET_CREATURE_CONFIGURATION(TUNNELLER,NotDoJobs,DRAWFROM(RESEARCH,MANUFACTURE,SCAVENGE))
	SET_CREATURE_CONFIGURATION(WITCH,NotDoJobs,DRAWFROM(RESEARCH,MANUFACTURE,SCAVENGE))
	SET_CREATURE_CONFIGURATION(WIZARD,NotDoJobs,DRAWFROM(RESEARCH,MANUFACTURE,SCAVENGE))
	SET_CREATURE_CONFIGURATION(BUG,NotDoJobs,DRAWFROM(RESEARCH,MANUFACTURE,SCAVENGE))
	SET_CREATURE_CONFIGURATION(FLY,NotDoJobs,DRAWFROM(RESEARCH,MANUFACTURE,SCAVENGE))
	SET_CREATURE_CONFIGURATION(SPIDER,NotDoJobs,DRAWFROM(RESEARCH,MANUFACTURE,SCAVENGE))
	SET_CREATURE_CONFIGURATION(GHOST,NotDoJobs,DRAWFROM(RESEARCH,MANUFACTURE,SCAVENGE))
	SET_CREATURE_CONFIGURATION(SKELETON,NotDoJobs,DRAWFROM(RESEARCH,MANUFACTURE,SCAVENGE))
	SET_CREATURE_CONFIGURATION(VAMPIRE,NotDoJobs,DRAWFROM(RESEARCH,MANUFACTURE,SCAVENGE))
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