REM ****************************************************************************
REM  Campaigns Consolidation Project for KeeperFX strategy game.
REM ****************************************************************************
REM  Script for Level Skybird Trill
REM  Campaign: DK Original
REM  Authors:  based on Bullfrog script
REM            KeeperFX CCP Team
REM  Date:     17 Dec 1996 - 07 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 Nothing new for the player (that's the last level! so, it's normal)

REM Flags used:
REM		PLAYER_GOOD,FLAG1	- First AVATAR alive/killed
REM		PLAYER_GOOD,FLAG2	- Second AVATAR appreared
REM Timers used:
REM		PLAYER_GOOD,TIMER0	- Final wave approaching

SET_FLAG(PLAYER_GOOD,FLAG1,1)

SET_GENERATE_SPEED(600)

COMPUTER_PLAYER(PLAYER1,0)

SET_COMPUTER_CHECKS(PLAYER1,"CHECK FOR NEUTRAL PLACES",15000,0,0,0,195000)
SET_CREATURE_PROPERTY(AVATAR,NO_IMPRISONMENT,1)
SET_CREATURE_PROPERTY(AVATAR,NO_CORPSE_ROTTING,1)
SET_CREATURE_CONFIGURATION(AVATAR,CorpseVanishEffect,64)

REM "CHECK FOR QUICK ATTACK", CheckEvery, AttackPercent, CTADuration, MinForAttack, LastCheck
SET_COMPUTER_CHECKS(PLAYER1,"CHECK FOR QUICK ATTACK",700,70,3000,8,122500)
SET_COMPUTER_PROCESS(PLAYER1,"ATTACK SAFE ATTACK",-1,100,335,100,0)
SET_COMPUTER_PROCESS(PLAYER1,"ATTACK PLAN 1",-1,100,335,100,0)
SET_COMPUTER_PROCESS(PLAYER1,"ATTACK PLAN 1",-1,100,335,100,0)
SET_COMPUTER_PROCESS(PLAYER1,"BUILD A GRAVEYARD ROOM",0,5,6,11,14)
SET_GAME_RULE(PreserveClassicBugs,128)

START_MONEY(PLAYER0,20000)
START_MONEY(PLAYER1,2460000)

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

ADD_CREATURE_TO_POOL(TROLL,30)
ADD_CREATURE_TO_POOL(SORCEROR,17)
ADD_CREATURE_TO_POOL(BILE_DEMON,20)
ADD_CREATURE_TO_POOL(DARK_MISTRESS,30)
ADD_CREATURE_TO_POOL(VAMPIRE,21)
ADD_CREATURE_TO_POOL(DRAGON,21)
ADD_CREATURE_TO_POOL(HELL_HOUND,30)
ADD_CREATURE_TO_POOL(ORC,17)

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

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

REM	Spells availability
MAGIC_AVAILABLE(ALL_PLAYERS,POWER_HAND,1,1)
MAGIC_AVAILABLE(ALL_PLAYERS,POWER_IMP,1,1)
MAGIC_AVAILABLE(ALL_PLAYERS,POWER_SLAP,1,1)
MAGIC_AVAILABLE(PLAYER1,POWER_SIGHT,1,1)
MAGIC_AVAILABLE(ALL_PLAYERS,POWER_OBEY,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)
MAGIC_AVAILABLE(ALL_PLAYERS,POWER_PROTECT,1,0)
MAGIC_AVAILABLE(ALL_PLAYERS,POWER_CONCEAL,1,0)
MAGIC_AVAILABLE(ALL_PLAYERS,POWER_DISEASE,1,0)
MAGIC_AVAILABLE(ALL_PLAYERS,POWER_CAVE_IN,1,0)
MAGIC_AVAILABLE(ALL_PLAYERS,POWER_CHICKEN,1,0)

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

CREATE_PARTY(RPG)
	ADD_TO_PARTY(RPG,WIZARD,10,300,ATTACK_DUNGEON_HEART,0)
	ADD_TO_PARTY(RPG,BARBARIAN,10,300,ATTACK_DUNGEON_HEART,0)
	ADD_TO_PARTY(RPG,KNIGHT,10,300,ATTACK_DUNGEON_HEART,0)
	ADD_TO_PARTY(RPG,WITCH,10,300,ATTACK_DUNGEON_HEART,0)

CREATE_PARTY(BIG_BOY)
	ADD_TO_PARTY(BIG_BOY,AVATAR,10,300,ATTACK_DUNGEON_HEART,0)

CREATE_PARTY(BRUTES)
	ADD_TO_PARTY(BRUTES,GIANT,10,500,ATTACK_DUNGEON_HEART,0)
	ADD_TO_PARTY(BRUTES,GIANT,10,500,ATTACK_DUNGEON_HEART,0)
	ADD_TO_PARTY(BRUTES,BARBARIAN,10,500,ATTACK_DUNGEON_HEART,0)
	ADD_TO_PARTY(BRUTES,BARBARIAN,10,500,ATTACK_DUNGEON_HEART,0)

CREATE_PARTY(MAGICIANS)
	ADD_TO_PARTY(MAGICIANS,WIZARD,10,550,ATTACK_DUNGEON_HEART,0)
	ADD_TO_PARTY(MAGICIANS,FAIRY,10,550,ATTACK_DUNGEON_HEART,0)
	ADD_TO_PARTY(MAGICIANS,WITCH,10,550,ATTACK_DUNGEON_HEART,0)
	ADD_TO_PARTY(MAGICIANS,SAMURAI,10,550,ATTACK_DUNGEON_HEART,0)

CREATE_PARTY(DWARVES)
	ADD_TO_PARTY(DWARVES,DWARFA,9,650,STEAL_GOLD,0)
	ADD_TO_PARTY(DWARVES,DWARFA,9,650,STEAL_GOLD,0)
	ADD_TO_PARTY(DWARVES,THIEF,9,3000,STEAL_GOLD,0)
	ADD_TO_PARTY(DWARVES,THIEF,9,3000,STEAL_GOLD,0)

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

REM "This realm is begging to be plunged into darkness. The Avatar himself has a castle here. Another Keeper also seeks his soul. This could get messy."
DISPLAY_OBJECTIVE(134,ALL_PLAYERS)

REM Blue can only build training rooms when he lost his original room
IF(PLAYER1,TRAINING < 35)
	ROOM_AVAILABLE(PLAYER1,TRAINING,1,1)
ENDIF

IF(PLAYER0,GAME_TURN >= 150)
	REM "You will meet your nemesis, the Avatar, in this subterranean place. This is your ultimate test. Remember, mercy is for losers."
	DISPLAY_INFORMATION(167,PLAYER_GOOD)
	PLAY_MESSAGE(PLAYER0,SPEECH,107)
ENDIF

REM Avatar is imprisoned by PLAYER1 from the start, but let's play dumb
IF(PLAYER_GOOD,FLAG1 == 1)
	IF(PLAYER1,DUNGEON_DESTROYED == 0)
		IF(PLAYER_GOOD,DUNGEON_DESTROYED == 1)
			REM "You have destroyed the Avatar's castle but your rival has already taken the Avatar prisoner. Be that as it may, only the Keeper with the blackest heart can destroy this legendary hero, so ransack your rival's dungeon and take the prize."
			DISPLAY_OBJECTIVE(135,PLAYER_GOOD)
			ADD_CREATURE_TO_LEVEL(PLAYER1,VAMPIRE,PLAYER1,1,10,0)
		ENDIF
	ENDIF
ENDIF

REM Taking down the AVATAR******************************************************
REM ****************************************************************************

IF(PLAYER_GOOD,FLAG1 == 1)
	IF_CONTROLS(PLAYER_GOOD,AVATAR <= 0)
		REM Make sure the second avatar can be captured
		SET_CREATURE_PROPERTY(AVATAR,NO_IMPRISONMENT,0)
		SET_TIMER(PLAYER_GOOD,TIMER0)
		REM "The Avatar and his allies are defeated, yet his power over this land lingers. Prepare thyself..."
		DISPLAY_OBJECTIVE(168,PLAYER1)
		SET_FLAG(PLAYER_GOOD,FLAG1,2)
	ENDIF
ENDIF

IF(PLAYER_GOOD,TIMER0 > 150)
	REM "What trickery is this? The Avatar's body has vanished!"
	PLAY_MESSAGE(PLAYER0,SPEECH,108)
	ROOM_AVAILABLE(PLAYER0,BRIDGE,1,1)
	REM Make sure the second avatar has a normal corpse
	SET_CREATURE_PROPERTY(AVATAR,NO_CORPSE_ROTTING,0)
	SET_CREATURE_CONFIGURATION(AVATAR,CorpseVanishEffect,0)
ENDIF

REM Optional: taking down PLAYER1***********************************************
REM ****************************************************************************

REM When the 30 units average level 8, open a magic door
IF(PLAYER1,TIMES_LEVELUP_CREATURE >= 210)
	IF_SLAB_OWNER(33,21,PLAYER1)
		SET_DOOR(UNLOCKED,33,21)
	ENDIF
ENDIF

REM After 12 paydays when CHECK FOR QUICK ATTACK is enabled, open a door
IF(PLAYER1,GAME_TURN > 122500)
	IF_SLAB_OWNER(35,21,PLAYER1)
		SET_DOOR(UNLOCKED,35,21)
	ENDIF
ENDIF

IF(PLAYER1,DUNGEON_DESTROYED == 1)
	ROOM_AVAILABLE(PLAYER0,BRIDGE,1,1)
	IF(PLAYER_GOOD,FLAG1 == 1)
		REM "You got rid of that Keeper easily. Now all that stands between you and total world domination is that ponce in shining armour. Let's get him."
		DISPLAY_OBJECTIVE(169,PLAYER1)
	ENDIF
ENDIF

REM AVATAR defeated. Final wave approaching.************************************
REM ****************************************************************************

IF(PLAYER_GOOD,TIMER0 >= 1000)
	ADD_PARTY_TO_LEVEL(PLAYER_GOOD,MAGICIANS,-1,1)
	ADD_TUNNELLER_PARTY_TO_LEVEL(PLAYER_GOOD,BRUTES,-2,DUNGEON,0,10,100)
	ADD_TUNNELLER_PARTY_TO_LEVEL(PLAYER_GOOD,DWARVES,-3,DUNGEON,0,10,100)
	ADD_TUNNELLER_PARTY_TO_LEVEL(PLAYER_GOOD,DWARVES,-6,DUNGEON,0,10,100)
	ADD_PARTY_TO_LEVEL(PLAYER_GOOD,BRUTES,1,1)
	ADD_PARTY_TO_LEVEL(PLAYER_GOOD,MAGICIANS,2,1)
	ADD_PARTY_TO_LEVEL(PLAYER_GOOD,BRUTES,4,1)
	ADD_PARTY_TO_LEVEL(PLAYER_GOOD,DWARVES,3,1)
ENDIF

IF(PLAYER_GOOD,TIMER0 >= 1133)
	ADD_PARTY_TO_LEVEL(PLAYER_GOOD,DWARVES,3,1)
	SET_FLAG(PLAYER_GOOD,FLAG2,1)
	REM PRINT("HA HA ROBBO (LOW COUNT) YOU ARE DEAD")
ENDIF

IF(PLAYER_GOOD,TIMER0 >= 1366)
	ADD_PARTY_TO_LEVEL(PLAYER_GOOD,DWARVES,3,1)
	SET_FLAG(PLAYER_GOOD,FLAG2,1)
ENDIF

IF(PLAYER_GOOD,TIMER0 >= 1466)
	REM PRINT("I LIVE AGAIN. The Avatar.")
	ADD_PARTY_TO_LEVEL(PLAYER_GOOD,DWARVES,3,1)
	SET_FLAG(PLAYER_GOOD,FLAG2,1)
ENDIF

REM The Avatar is resurrected(Big_Boy)
IF(PLAYER_GOOD,TIMER0 >= 1600)
	REM "What is this? The Avatar lives!"
	DISPLAY_OBJECTIVE(171,3)
	PLAY_MESSAGE(PLAYER0,SPEECH,92)
	ADD_PARTY_TO_LEVEL(PLAYER_GOOD,RPG,3,1)
	ADD_PARTY_TO_LEVEL(PLAYER_GOOD,BIG_BOY,3,1)
	ADD_PARTY_TO_LEVEL(PLAYER_GOOD,MAGICIANS,2,1)
	ADD_PARTY_TO_LEVEL(PLAYER_GOOD,BRUTES,4,1)
ENDIF

IF(PLAYER_GOOD,TIMER0 >= 1766)
	REM "The Avatar has been resurrected by loyal lieutenants in hiding. But their act has revealed them to us, here in this realm. Now the Avatar rallies all those who would stand against you. It's time you gave this self-righteous oaf a proper kicking, master."
	DISPLAY_OBJECTIVE(136,3)
	SET_FLAG(PLAYER_GOOD,FLAG2,1)
ENDIF

IF(PLAYER_GOOD,FLAG2 == 1)
	IF_CONTROLS(PLAYER_GOOD,TOTAL_CREATURES <= 0)
		REM "Finally, you stand unchallenged. The world is yours to waste and despoil. I bet you have never felt so bad."
		DISPLAY_OBJECTIVE(172,ALL_PLAYERS)
		REM "You are victorious! All hail the new lord of shadows!"
		PLAY_MESSAGE(PLAYER0,SPEECH,109)
		WIN_GAME
	ENDIF
ENDIF

REM "You have failed. This is a grim day for evil."
HEART_LOST_OBJECTIVE(163,PLAYER0)
IF(PLAYER0,DUNGEON_DESTROYED == 1)
	LOSE_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(3000,4000,5000,6000,7000,8000,9000,10000))
	SET_CREATURE_CONFIGURATION(AVATAR,Strength,DRAWFROM(150,165,180,195,210,225,240,255))
	SET_CREATURE_CONFIGURATION(AVATAR,Armour,DRAWFROM(120,125,130,135,140,145,150,160))
	SET_CREATURE_CONFIGURATION(AVATAR,Dexterity,DRAWFROM(160,164,168,172,176,180,184,188))
	SET_CREATURE_CONFIGURATION(AVATAR,Defence,DRAWFROM(165,170,171,172,173,174,175,176))
	SET_CREATURE_CONFIGURATION(AVATAR,Luck,DRAWFROM(20,25,40,55,70,85,100,100))
	SET_CREATURE_CONFIGURATION(AVATAR,Recovery,DRAWFROM(9,12,15,18,21,24,27,30))
	SET_CREATURE_CONFIGURATION(AVATAR,BaseSpeed,DRAWFROM(48,64,80,96,112,128,144,160))
	SET_CREATURE_CONFIGURATION(AVATAR,Pay,DRAWFROM(16,32,48,64,80,96,112,128))
	SET_CREATURE_CONFIGURATION(BARBARIAN,Health,DRAWFROM(250,500,750,1000,1250,1500,1750,2000))
	SET_CREATURE_CONFIGURATION(BARBARIAN,Strength,DRAWFROM(20,30,40,50,60,70,85,100))
	SET_CREATURE_CONFIGURATION(BARBARIAN,Armour,DRAWFROM(5,10,25,40,55,70,85,100))
	SET_CREATURE_CONFIGURATION(BARBARIAN,Dexterity,DRAWFROM(64,80,96,112,128,144,160,188))
	SET_CREATURE_CONFIGURATION(BARBARIAN,Defence,DRAWFROM(75,90,105,120,135,150,165,176))
	SET_CREATURE_CONFIGURATION(BARBARIAN,Luck,DRAWFROM(5,10,25,40,55,70,85,100))
	SET_CREATURE_CONFIGURATION(BARBARIAN,Recovery,DRAWFROM(1,2,3,5,8,12,16,20))
	SET_CREATURE_CONFIGURATION(BARBARIAN,BaseSpeed,DRAWFROM(48,64,80,96,112,128,144,160))
	SET_CREATURE_CONFIGURATION(BARBARIAN,Pay,DRAWFROM(16,32,48,64,80,96,112,128))
	SET_CREATURE_CONFIGURATION(DWARFA,Health,DRAWFROM(250,500,750,1000,1250,1500,1750,2000))
	SET_CREATURE_CONFIGURATION(DWARFA,Strength,DRAWFROM(20,30,40,50,60,70,85,100))
	SET_CREATURE_CONFIGURATION(DWARFA,Armour,DRAWFROM(5,10,25,40,55,70,85,100))
	SET_CREATURE_CONFIGURATION(DWARFA,Dexterity,DRAWFROM(64,80,96,112,128,144,160,188))
	SET_CREATURE_CONFIGURATION(DWARFA,Defence,DRAWFROM(75,90,105,120,135,150,165,176))
	SET_CREATURE_CONFIGURATION(DWARFA,Luck,DRAWFROM(5,10,25,40,55,70,85,100))
	SET_CREATURE_CONFIGURATION(DWARFA,Recovery,DRAWFROM(1,2,3,5,8,12,16,20))
	SET_CREATURE_CONFIGURATION(DWARFA,BaseSpeed,DRAWFROM(48,64,80,96,112,128,144,160))
	SET_CREATURE_CONFIGURATION(DWARFA,Pay,DRAWFROM(16,32,48,64,80,96,112,128))
	SET_CREATURE_CONFIGURATION(FAIRY,Health,DRAWFROM(250,500,750,1000,1250,1500,1750,2000))
	SET_CREATURE_CONFIGURATION(FAIRY,Strength,DRAWFROM(20,30,40,50,60,70,85,100))
	SET_CREATURE_CONFIGURATION(FAIRY,Armour,DRAWFROM(5,10,25,40,55,70,85,100))
	SET_CREATURE_CONFIGURATION(FAIRY,Dexterity,DRAWFROM(64,80,96,112,128,144,160,188))
	SET_CREATURE_CONFIGURATION(FAIRY,Defence,DRAWFROM(75,90,105,120,135,150,165,176))
	SET_CREATURE_CONFIGURATION(FAIRY,Luck,DRAWFROM(5,10,25,40,55,70,85,100))
	SET_CREATURE_CONFIGURATION(FAIRY,Recovery,DRAWFROM(1,2,3,5,8,12,16,20))
	SET_CREATURE_CONFIGURATION(FAIRY,BaseSpeed,DRAWFROM(48,64,80,96,112,128,144,160))
	SET_CREATURE_CONFIGURATION(FAIRY,Pay,DRAWFROM(16,32,48,64,80,96,112,128))
	SET_CREATURE_CONFIGURATION(GIANT,Health,DRAWFROM(250,500,750,1000,1250,1500,1750,2000))
	SET_CREATURE_CONFIGURATION(GIANT,Strength,DRAWFROM(20,30,40,50,60,70,85,100))
	SET_CREATURE_CONFIGURATION(GIANT,Armour,DRAWFROM(5,10,25,40,55,70,85,100))
	SET_CREATURE_CONFIGURATION(GIANT,Dexterity,DRAWFROM(64,80,96,112,128,144,160,188))
	SET_CREATURE_CONFIGURATION(GIANT,Defence,DRAWFROM(75,90,105,120,135,150,165,176))
	SET_CREATURE_CONFIGURATION(GIANT,Luck,DRAWFROM(5,10,25,40,55,70,85,100))
	SET_CREATURE_CONFIGURATION(GIANT,Recovery,DRAWFROM(1,2,3,5,8,12,16,20))
	SET_CREATURE_CONFIGURATION(GIANT,BaseSpeed,DRAWFROM(48,64,80,96,112,128,144,160))
	SET_CREATURE_CONFIGURATION(GIANT,Pay,DRAWFROM(16,32,48,64,80,96,112,128))
	SET_CREATURE_CONFIGURATION(KNIGHT,Health,DRAWFROM(900,1200,1500,1800,2100,2400,2700,3000))
	SET_CREATURE_CONFIGURATION(KNIGHT,Strength,DRAWFROM(65,70,75,80,85,90,95,100))
	SET_CREATURE_CONFIGURATION(KNIGHT,Armour,DRAWFROM(85,90,95,100,105,110,115,120))
	SET_CREATURE_CONFIGURATION(KNIGHT,Dexterity,DRAWFROM(64,80,96,112,128,144,160,188))
	SET_CREATURE_CONFIGURATION(KNIGHT,Defence,DRAWFROM(75,90,105,120,135,150,165,176))
	SET_CREATURE_CONFIGURATION(KNIGHT,Luck,DRAWFROM(5,10,25,40,55,70,85,100))
	SET_CREATURE_CONFIGURATION(KNIGHT,Recovery,DRAWFROM(1,2,3,5,8,12,16,20))
	SET_CREATURE_CONFIGURATION(KNIGHT,BaseSpeed,DRAWFROM(48,64,80,96,112,128,144,160))
	SET_CREATURE_CONFIGURATION(KNIGHT,Pay,DRAWFROM(16,32,48,64,80,96,112,128))
	SET_CREATURE_CONFIGURATION(MONK,Health,DRAWFROM(250,500,750,1000,1250,1500,1750,2000))
	SET_CREATURE_CONFIGURATION(MONK,Strength,DRAWFROM(20,30,40,50,60,70,85,100))
	SET_CREATURE_CONFIGURATION(MONK,Armour,DRAWFROM(5,10,25,40,55,70,85,100))
	SET_CREATURE_CONFIGURATION(MONK,Dexterity,DRAWFROM(64,80,96,112,128,144,160,188))
	SET_CREATURE_CONFIGURATION(MONK,Defence,DRAWFROM(75,90,105,120,135,150,165,176))
	SET_CREATURE_CONFIGURATION(MONK,Luck,DRAWFROM(5,10,25,40,55,70,85,100))
	SET_CREATURE_CONFIGURATION(MONK,Recovery,DRAWFROM(1,2,3,5,8,12,16,20))
	SET_CREATURE_CONFIGURATION(MONK,BaseSpeed,DRAWFROM(48,64,80,96,112,128,144,160))
	SET_CREATURE_CONFIGURATION(MONK,Pay,DRAWFROM(16,32,48,64,80,96,112,128))
	SET_CREATURE_CONFIGURATION(SAMURAI,Health,DRAWFROM(250,500,750,1000,1250,1500,1750,2000))
	SET_CREATURE_CONFIGURATION(SAMURAI,Strength,DRAWFROM(20,30,40,50,60,70,85,100))
	SET_CREATURE_CONFIGURATION(SAMURAI,Armour,DRAWFROM(5,10,25,40,55,70,85,100))
	SET_CREATURE_CONFIGURATION(SAMURAI,Dexterity,DRAWFROM(64,80,96,112,128,144,160,188))
	SET_CREATURE_CONFIGURATION(SAMURAI,Defence,DRAWFROM(75,90,105,120,135,150,165,176))
	SET_CREATURE_CONFIGURATION(SAMURAI,Luck,DRAWFROM(5,10,25,40,55,70,85,100))
	SET_CREATURE_CONFIGURATION(SAMURAI,Recovery,DRAWFROM(1,2,3,5,8,12,16,20))
	SET_CREATURE_CONFIGURATION(SAMURAI,BaseSpeed,DRAWFROM(48,64,80,96,112,128,144,160))
	SET_CREATURE_CONFIGURATION(SAMURAI,Pay,DRAWFROM(16,32,48,64,80,96,112,128))
	SET_CREATURE_CONFIGURATION(TIME_MAGE,Health,DRAWFROM(250,500,750,1000,1250,1500,1750,2000))
	SET_CREATURE_CONFIGURATION(TIME_MAGE,Strength,DRAWFROM(20,30,40,50,60,70,85,100))
	SET_CREATURE_CONFIGURATION(TIME_MAGE,Armour,DRAWFROM(5,10,25,40,55,70,85,100))
	SET_CREATURE_CONFIGURATION(TIME_MAGE,Dexterity,DRAWFROM(64,80,96,112,128,144,160,188))
	SET_CREATURE_CONFIGURATION(TIME_MAGE,Defence,DRAWFROM(75,90,105,120,135,150,165,176))
	SET_CREATURE_CONFIGURATION(TIME_MAGE,Luck,DRAWFROM(5,10,25,40,55,70,85,100))
	SET_CREATURE_CONFIGURATION(TIME_MAGE,Recovery,DRAWFROM(1,2,3,5,8,12,16,20))
	SET_CREATURE_CONFIGURATION(TIME_MAGE,BaseSpeed,DRAWFROM(48,64,80,96,112,128,144,160))
	SET_CREATURE_CONFIGURATION(TIME_MAGE,Pay,DRAWFROM(16,32,48,64,80,96,112,128))
	SET_CREATURE_CONFIGURATION(THIEF,Health,DRAWFROM(250,500,750,1000,1250,1500,1750,2000))
	SET_CREATURE_CONFIGURATION(THIEF,Strength,DRAWFROM(20,30,40,50,60,70,85,100))
	SET_CREATURE_CONFIGURATION(THIEF,Armour,DRAWFROM(5,10,25,40,55,70,85,100))
	SET_CREATURE_CONFIGURATION(THIEF,Dexterity,DRAWFROM(64,80,96,112,128,144,160,188))
	SET_CREATURE_CONFIGURATION(THIEF,Defence,DRAWFROM(75,90,105,120,135,150,165,176))
	SET_CREATURE_CONFIGURATION(THIEF,Luck,DRAWFROM(5,10,25,40,55,70,85,100))
	SET_CREATURE_CONFIGURATION(THIEF,Recovery,DRAWFROM(1,2,3,5,8,12,16,20))
	SET_CREATURE_CONFIGURATION(THIEF,BaseSpeed,DRAWFROM(48,64,80,96,112,128,144,160))
	SET_CREATURE_CONFIGURATION(THIEF,Pay,DRAWFROM(16,32,48,64,80,96,112,128))
	SET_CREATURE_CONFIGURATION(TUNNELLER,Health,DRAWFROM(250,500,750,1000,1250,1500,1750,2000))
	SET_CREATURE_CONFIGURATION(TUNNELLER,Strength,DRAWFROM(20,30,40,50,60,70,85,100))
	SET_CREATURE_CONFIGURATION(TUNNELLER,Armour,DRAWFROM(5,10,25,40,55,70,85,100))
	SET_CREATURE_CONFIGURATION(TUNNELLER,Dexterity,DRAWFROM(64,80,96,112,128,144,160,188))
	SET_CREATURE_CONFIGURATION(TUNNELLER,Defence,DRAWFROM(75,90,105,120,135,150,165,176))
	SET_CREATURE_CONFIGURATION(TUNNELLER,Luck,DRAWFROM(5,10,25,40,55,70,85,100))
	SET_CREATURE_CONFIGURATION(TUNNELLER,Recovery,DRAWFROM(1,2,3,5,8,12,16,20))
	SET_CREATURE_CONFIGURATION(TUNNELLER,BaseSpeed,DRAWFROM(48,64,80,96,112,128,144,160))
	SET_CREATURE_CONFIGURATION(TUNNELLER,Pay,DRAWFROM(16,32,48,64,80,96,112,128))
	SET_CREATURE_CONFIGURATION(WITCH,Health,DRAWFROM(250,500,750,1000,1250,1500,1750,2000))
	SET_CREATURE_CONFIGURATION(WITCH,Strength,DRAWFROM(20,30,40,50,60,70,85,100))
	SET_CREATURE_CONFIGURATION(WITCH,Armour,DRAWFROM(5,10,25,40,55,70,85,100))
	SET_CREATURE_CONFIGURATION(WITCH,Dexterity,DRAWFROM(64,80,96,112,128,144,160,188))
	SET_CREATURE_CONFIGURATION(WITCH,Defence,DRAWFROM(75,90,105,120,135,150,165,176))
	SET_CREATURE_CONFIGURATION(WITCH,Luck,DRAWFROM(5,10,25,40,55,70,85,100))
	SET_CREATURE_CONFIGURATION(WITCH,Recovery,DRAWFROM(1,2,3,5,8,12,16,20))
	SET_CREATURE_CONFIGURATION(WITCH,BaseSpeed,DRAWFROM(48,64,80,96,112,128,144,160))
	SET_CREATURE_CONFIGURATION(WITCH,Pay,DRAWFROM(16,32,48,64,80,96,112,128))
	SET_CREATURE_CONFIGURATION(WIZARD,Health,DRAWFROM(250,500,750,1000,1250,1500,1750,2000))
	SET_CREATURE_CONFIGURATION(WIZARD,Strength,DRAWFROM(20,30,40,50,60,70,85,100))
	SET_CREATURE_CONFIGURATION(WIZARD,Armour,DRAWFROM(5,10,25,40,55,70,85,100))
	SET_CREATURE_CONFIGURATION(WIZARD,Dexterity,DRAWFROM(64,80,96,112,128,144,160,188))
	SET_CREATURE_CONFIGURATION(WIZARD,Defence,DRAWFROM(75,90,105,120,135,150,165,176))
	SET_CREATURE_CONFIGURATION(WIZARD,Luck,DRAWFROM(5,10,25,40,55,70,85,100))
	SET_CREATURE_CONFIGURATION(WIZARD,Recovery,DRAWFROM(1,2,3,5,8,12,16,20))
	SET_CREATURE_CONFIGURATION(WIZARD,BaseSpeed,DRAWFROM(48,64,80,96,112,128,144,160))
	SET_CREATURE_CONFIGURATION(WIZARD,Pay,DRAWFROM(16,32,48,64,80,96,112,128))
	SET_CREATURE_CONFIGURATION(BUG,Health,DRAWFROM(250,500,750,1000,1250,1500,1750,2000))
	SET_CREATURE_CONFIGURATION(BUG,Strength,DRAWFROM(20,30,40,50,60,70,85,100))
	SET_CREATURE_CONFIGURATION(BUG,Armour,DRAWFROM(5,10,25,40,55,70,85,100))
	SET_CREATURE_CONFIGURATION(BUG,Dexterity,DRAWFROM(64,80,96,112,128,144,160,188))
	SET_CREATURE_CONFIGURATION(BUG,Defence,DRAWFROM(75,90,105,120,135,150,165,176))
	SET_CREATURE_CONFIGURATION(BUG,Luck,DRAWFROM(5,10,25,40,55,70,85,100))
	SET_CREATURE_CONFIGURATION(BUG,Recovery,DRAWFROM(1,2,3,5,8,12,16,20))
	SET_CREATURE_CONFIGURATION(BUG,BaseSpeed,DRAWFROM(48,64,80,96,112,128,144,160))
	SET_CREATURE_CONFIGURATION(BUG,Pay,DRAWFROM(16,32,48,64,80,96,112,128))
	SET_CREATURE_CONFIGURATION(FLY,Health,DRAWFROM(250,500,750,1000,1250,1500,1750,2000))
	SET_CREATURE_CONFIGURATION(FLY,Strength,DRAWFROM(20,30,40,50,60,70,85,100))
	SET_CREATURE_CONFIGURATION(FLY,Armour,DRAWFROM(5,10,25,40,55,70,85,100))
	SET_CREATURE_CONFIGURATION(FLY,Dexterity,DRAWFROM(64,80,96,112,128,144,160,188))
	SET_CREATURE_CONFIGURATION(FLY,Defence,DRAWFROM(75,90,105,120,135,150,165,176))
	SET_CREATURE_CONFIGURATION(FLY,Luck,DRAWFROM(5,10,25,40,55,70,85,100))
	SET_CREATURE_CONFIGURATION(FLY,Recovery,DRAWFROM(1,2,3,5,8,12,16,20))
	SET_CREATURE_CONFIGURATION(FLY,BaseSpeed,DRAWFROM(48,64,80,96,112,128,144,160))
	SET_CREATURE_CONFIGURATION(FLY,Pay,DRAWFROM(16,32,48,64,80,96,112,128))
	SET_CREATURE_CONFIGURATION(SPIDER,Health,DRAWFROM(250,500,750,1000,1250,1500,1750,2000))
	SET_CREATURE_CONFIGURATION(SPIDER,Strength,DRAWFROM(20,30,40,50,60,70,85,100))
	SET_CREATURE_CONFIGURATION(SPIDER,Armour,DRAWFROM(5,10,25,40,55,70,85,100))
	SET_CREATURE_CONFIGURATION(SPIDER,Dexterity,DRAWFROM(64,80,96,112,128,144,160,188))
	SET_CREATURE_CONFIGURATION(SPIDER,Defence,DRAWFROM(75,90,105,120,135,150,165,176))
	SET_CREATURE_CONFIGURATION(SPIDER,Luck,DRAWFROM(5,10,25,40,55,70,85,100))
	SET_CREATURE_CONFIGURATION(SPIDER,Recovery,DRAWFROM(1,2,3,5,8,12,16,20))
	SET_CREATURE_CONFIGURATION(SPIDER,BaseSpeed,DRAWFROM(48,64,80,96,112,128,144,160))
	SET_CREATURE_CONFIGURATION(SPIDER,Pay,DRAWFROM(16,32,48,64,80,96,112,128))
	SET_CREATURE_CONFIGURATION(GHOST,Health,DRAWFROM(250,500,750,1000,1250,1500,1750,2000))
	SET_CREATURE_CONFIGURATION(GHOST,Strength,DRAWFROM(20,30,40,50,60,70,85,100))
	SET_CREATURE_CONFIGURATION(GHOST,Armour,DRAWFROM(5,10,25,40,55,70,85,100))
	SET_CREATURE_CONFIGURATION(GHOST,Dexterity,DRAWFROM(64,80,96,112,128,144,160,188))
	SET_CREATURE_CONFIGURATION(GHOST,Defence,DRAWFROM(75,90,105,120,135,150,165,176))
	SET_CREATURE_CONFIGURATION(GHOST,Luck,DRAWFROM(5,10,25,40,55,70,85,100))
	SET_CREATURE_CONFIGURATION(GHOST,Recovery,DRAWFROM(1,2,3,5,8,12,16,20))
	SET_CREATURE_CONFIGURATION(GHOST,BaseSpeed,DRAWFROM(48,64,80,96,112,128,144,160))
	SET_CREATURE_CONFIGURATION(GHOST,Pay,DRAWFROM(16,32,48,64,80,96,112,128))
	SET_CREATURE_CONFIGURATION(SKELETON,Health,DRAWFROM(250,500,750,1000,1250,1500,1750,2000))
	SET_CREATURE_CONFIGURATION(SKELETON,Strength,DRAWFROM(20,30,40,50,60,70,85,100))
	SET_CREATURE_CONFIGURATION(SKELETON,Armour,DRAWFROM(5,10,25,40,55,70,85,100))
	SET_CREATURE_CONFIGURATION(SKELETON,Dexterity,DRAWFROM(64,80,96,112,128,144,160,188))
	SET_CREATURE_CONFIGURATION(SKELETON,Defence,DRAWFROM(75,90,105,120,135,150,165,176))
	SET_CREATURE_CONFIGURATION(SKELETON,Luck,DRAWFROM(5,10,25,40,55,70,85,100))
	SET_CREATURE_CONFIGURATION(SKELETON,Recovery,DRAWFROM(1,2,3,5,8,12,16,20))
	SET_CREATURE_CONFIGURATION(SKELETON,BaseSpeed,DRAWFROM(48,64,80,96,112,128,144,160))
	SET_CREATURE_CONFIGURATION(SKELETON,Pay,DRAWFROM(16,32,48,64,80,96,112,128))
	SET_CREATURE_CONFIGURATION(VAMPIRE,Health,DRAWFROM(250,500,750,1000,1250,1500,1750,2000))
	SET_CREATURE_CONFIGURATION(VAMPIRE,Strength,DRAWFROM(20,30,40,50,60,70,85,100))
	SET_CREATURE_CONFIGURATION(VAMPIRE,Armour,DRAWFROM(5,10,25,40,55,70,85,100))
	SET_CREATURE_CONFIGURATION(VAMPIRE,Dexterity,DRAWFROM(64,80,96,112,128,144,160,188))
	SET_CREATURE_CONFIGURATION(VAMPIRE,Defence,DRAWFROM(75,90,105,120,135,150,165,176))
	SET_CREATURE_CONFIGURATION(VAMPIRE,Luck,DRAWFROM(5,10,25,40,55,70,85,100))
	SET_CREATURE_CONFIGURATION(VAMPIRE,Recovery,DRAWFROM(1,2,3,5,8,12,16,20))
	SET_CREATURE_CONFIGURATION(VAMPIRE,BaseSpeed,DRAWFROM(48,64,80,96,112,128,144,160))
	SET_CREATURE_CONFIGURATION(VAMPIRE,Pay,DRAWFROM(16,32,48,64,80,96,112,128))
ENDIF

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

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

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

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

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

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

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

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

REM # "Losts Blueprints."
IF(PLAYER1,CAMPAIGN_FLAG4 > 0)
	ROOM_AVAILABLE(PLAYER0,BARRACKS,0,0)
	ROOM_AVAILABLE(PLAYER0,PRISON,0,0)
	ROOM_AVAILABLE(PLAYER0,TORTURE,0,0)
	ROOM_AVAILABLE(PLAYER0,TEMPLE,0,0)
	ROOM_AVAILABLE(PLAYER0,GRAVEYARD,0,0)
	ROOM_AVAILABLE(PLAYER0,SCAVENGER,0,0)
	ROOM_AVAILABLE(PLAYER0,BARRACKS,3,0)
	ROOM_AVAILABLE(PLAYER0,PRISON,3,0)
	ROOM_AVAILABLE(PLAYER0,TORTURE,3,0)
	ROOM_AVAILABLE(PLAYER0,TEMPLE,3,0)
	ROOM_AVAILABLE(PLAYER0,GRAVEYARD,3,0)
	ROOM_AVAILABLE(PLAYER0,SCAVENGER,3,0)
ENDIF

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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