
LEVEL_VERSION(1)
SET_GENERATE_SPEED(800)
RUN_AFTER_VICTORY(1)



	REM -- Computer 'Keeper' setup.

COMPUTER_PLAYER(PLAYER1,9)
COMPUTER_PLAYER(PLAYER2,9)
COMPUTER_PLAYER(PLAYER3,ROAMING)
COMPUTER_PLAYER(PLAYER4,ROAMING)
COMPUTER_PLAYER(PLAYER5,ROAMING)
COMPUTER_PLAYER(PLAYER6,9)

NEXT_COMMAND_REUSABLE
SET_CREATURE_TENDENCIES(PLAYER1,IMPRISON,0)
NEXT_COMMAND_REUSABLE
SET_CREATURE_TENDENCIES(PLAYER6,IMPRISON,0)

SET_CREATURE_MAX_LEVEL(PLAYER2,ANY_CREATURE,5)
SET_CREATURE_MAX_LEVEL(PLAYER1,ANY_CREATURE,8)
SET_CREATURE_MAX_LEVEL(PLAYER6,ANY_CREATURE,8)

IF(PLAYER0,FLAG1 >= 5)
	SET_CREATURE_MAX_LEVEL(PLAYER1,ANY_CREATURE,10)
	SET_CREATURE_MAX_LEVEL(PLAYER6,ANY_CREATURE,10)
ENDIF

MAGIC_AVAILABLE(PLAYER1,POWER_HAND,0,0)
MAGIC_AVAILABLE(PLAYER1,POWER_SLAP,0,0)
SET_HAND_RULE(PLAYER1,ANY_CREATURE,RULE1,DENY,ALWAYS)
MAGIC_AVAILABLE(PLAYER2,POWER_HAND,0,0)
MAGIC_AVAILABLE(PLAYER2,POWER_SLAP,0,0)
SET_HAND_RULE(PLAYER2,ANY_CREATURE,RULE1,DENY,ALWAYS)
MAGIC_AVAILABLE(PLAYER6,POWER_HAND,0,0)
MAGIC_AVAILABLE(PLAYER6,POWER_SLAP,0,0)
SET_HAND_RULE(PLAYER6,ANY_CREATURE,RULE1,DENY,ALWAYS)

ALLY_PLAYERS(PLAYER1,PLAYER2,3)
ALLY_PLAYERS(PLAYER1,PLAYER3,3)
ALLY_PLAYERS(PLAYER1,PLAYER_GOOD,3)
ALLY_PLAYERS(PLAYER1,PLAYER4,3)
ALLY_PLAYERS(PLAYER1,PLAYER5,3)
ALLY_PLAYERS(PLAYER1,PLAYER6,3)
ALLY_PLAYERS(PLAYER2,PLAYER3,3)
ALLY_PLAYERS(PLAYER2,PLAYER_GOOD,3)
ALLY_PLAYERS(PLAYER2,PLAYER4,3)
ALLY_PLAYERS(PLAYER2,PLAYER5,3)
ALLY_PLAYERS(PLAYER2,PLAYER6,3)
ALLY_PLAYERS(PLAYER3,PLAYER_GOOD,3)
ALLY_PLAYERS(PLAYER3,PLAYER4,3)
ALLY_PLAYERS(PLAYER3,PLAYER5,3)
ALLY_PLAYERS(PLAYER3,PLAYER6,3)
ALLY_PLAYERS(PLAYER_GOOD,PLAYER4,3)
ALLY_PLAYERS(PLAYER_GOOD,PLAYER5,3)
ALLY_PLAYERS(PLAYER_GOOD,PLAYER6,3)
ALLY_PLAYERS(PLAYER4,PLAYER5,3)
ALLY_PLAYERS(PLAYER4,PLAYER6,3)
ALLY_PLAYERS(PLAYER5,PLAYER6,3)

SET_PLAYER_COLOUR(PLAYER1,WHITE)
SET_PLAYER_COLOUR(PLAYER2,WHITE)
SET_PLAYER_COLOUR(PLAYER3,WHITE)
SET_PLAYER_COLOUR(PLAYER4,WHITE)
SET_PLAYER_COLOUR(PLAYER5,WHITE)
SET_PLAYER_COLOUR(PLAYER6,WHITE)
SET_TEXTURE(PLAYER0,STANDARD)

MAX_CREATURES(PLAYER1,30)
MAX_CREATURES(PLAYER2,40)
MAX_CREATURES(PLAYER6,30)

NEXT_COMMAND_REUSABLE
CHANGE_CREATURES_ANNOYANCE(PLAYER1,ANY_CREATURE,SET,0)
NEXT_COMMAND_REUSABLE
CHANGE_CREATURES_ANNOYANCE(PLAYER2,ANY_CREATURE,SET,0)
NEXT_COMMAND_REUSABLE
CHANGE_CREATURES_ANNOYANCE(PLAYER6,ANY_CREATURE,SET,0)

SET_POWER_CONFIGURATION(POWER_VISION,PANELTABINDEX,3)
SET_POWER_CONFIGURATION(POWER_SLOW,PANELTABINDEX,9)
SET_POWER_CONFIGURATION(POWER_FLIGHT,PANELTABINDEX,13)
SET_POWER_CONFIGURATION(POWER_REBOUND,PANELTABINDEX,16)



	REM -- Rule changes
	
SET_CREATURE_PROPERTY(KNIGHT,LORD,0)

SET_HAND_RULE(PLAYER0,ZOMBIE,RULE0,DENY,ALWAYS)
SET_HAND_RULE(PLAYER0,NECROSKELETON,RULE1,DENY,ALWAYS)
SET_HAND_RULE(PLAYER0,FIREFLY,RULE2,DENY,ALWAYS)
SET_HAND_RULE(PLAYER0,SPIDERLING,RULE3,DENY,ALWAYS)

IF(PLAYER0,BOX5_ACTIVATED == 1)
	SET_CREATURE_CONFIGURATION(SALAMANDER,SecondaryJobs,EXPLORE)
ENDIF



	REM -- Map start slab changes

CHANGE_SLAB_TYPE(37,53,PATH,NONE)
CHANGE_SLAB_TYPE(45,53,PATH,NONE)
CHANGE_SLAB_TYPE(24,73,PATH,NONE)
CHANGE_SLAB_TYPE(26,73,PATH,NONE)
CHANGE_SLAB_TYPE(58,69,PATH,NONE)
CHANGE_SLAB_TYPE(57,70,PATH,NONE)



	REM -- Difficulty select

SET_OBJECT_CONFIGURATION(SPECBOX_CUSTOM,DESTROYONLAVA,1)
	
SET_BOX_TOOLTIP_ID(4,48)
SET_BOX_TOOLTIP_ID(5,49)

IF(PLAYER4,FLAG0 == 0)
	IF(PLAYER0,BOX4_ACTIVATED == 1)
		SET_FLAG(PLAYER4,FLAG0,1)
		PLAY_MESSAGE(PLAYER0,SPEECH,80)
	ENDIF
ENDIF
IF(PLAYER4,FLAG0 == 0)
	IF(PLAYER0,BOX5_ACTIVATED == 1)
		SET_FLAG(PLAYER4,FLAG0,1)
		PLAY_MESSAGE(PLAYER0,SPEECH,80)
	ENDIF
ENDIF

IF(PLAYER4,FLAG0 == 1)
	CHANGE_SLAB_TYPE(40,66,LAVA,NONE)
	CHANGE_SLAB_TYPE(41,66,LAVA,NONE)
	CHANGE_SLAB_TYPE(42,66,LAVA,NONE)
	CHANGE_SLAB_TYPE(40,67,LAVA,NONE)
	CHANGE_SLAB_TYPE(42,67,LAVA,NONE)
	CHANGE_SLAB_TYPE(40,68,LAVA,NONE)
	CHANGE_SLAB_TYPE(41,68,LAVA,NONE)
	CHANGE_SLAB_TYPE(42,68,LAVA,NONE)
	SET_TIMER(PLAYER4,TIMER0)
ENDIF
IF(PLAYER4,TIMER0 > 5)
	ADD_EFFECT_GENERATOR_TO_LEVEL(EFFECTGENERATOR_LAVA,44,3)
ENDIF
IF(PLAYER4,TIMER0 > 70)
	SET_OBJECT_CONFIGURATION(SPECBOX_CUSTOM,DESTROYONLAVA,0)
	CHANGE_SLAB_TYPE(41,68,PRETTY_PATH,MATCH)
	CHANGE_SLAB_OWNER(41,68,PLAYER0,MATCH)
ENDIF
IF(PLAYER4,TIMER0 > 100)
	CREATE_EFFECT(EFFECT_COLFOUNTN_1,44,4)
	ADD_OBJECT_TO_LEVEL(SPECBOX_CUSTOM,44,1,PLAYER0)
	CREATE_EFFECT_AT_POS(EFFECT_COLFOUNTN_1,100,193,2)
	ADD_OBJECT_TO_LEVEL_AT_POS(SPECBOX_CUSTOM,100,193,0,PLAYER0)
	CREATE_EFFECT_AT_POS(EFFECT_COLFOUNTN_1,148,193,2)
	ADD_OBJECT_TO_LEVEL_AT_POS(SPECBOX_CUSTOM,148,193,0,PLAYER0)
ENDIF
	
	

	REM -- Player portal limit control.

MAX_CREATURES(PLAYER0,5)

IF_SLAB_OWNER(41,41,PLAYER0)
	ADD_TO_FLAG(PLAYER0,FLAG0,1)
ENDIF
IF_SLAB_OWNER(79,20,PLAYER0)
	ADD_TO_FLAG(PLAYER0,FLAG0,1)
ENDIF
IF_SLAB_OWNER(143,52,PLAYER0)
	ADD_TO_FLAG(PLAYER0,FLAG0,1)
ENDIF
IF_SLAB_OWNER(158,4,PLAYER0)
	ADD_TO_FLAG(PLAYER0,FLAG0,1)
ENDIF
IF_SLAB_OWNER(151,76,PLAYER0)
	ADD_TO_FLAG(PLAYER0,FLAG0,1)
ENDIF
IF_SLAB_OWNER(121,114,PLAYER0)
	ADD_TO_FLAG(PLAYER0,FLAG0,1)
ENDIF
IF_SLAB_OWNER(92,111,PLAYER0)
	ADD_TO_FLAG(PLAYER0,FLAG0,1)
ENDIF
IF_SLAB_OWNER(48,11,PLAYER0)
	ADD_TO_FLAG(PLAYER0,FLAG0,1)
ENDIF
IF_SLAB_OWNER(5,85,PLAYER0)
	ADD_TO_FLAG(PLAYER0,FLAG0,1)
ENDIF
IF_SLAB_OWNER(5,133,PLAYER0)
	ADD_TO_FLAG(PLAYER0,FLAG0,1)
ENDIF
IF_SLAB_OWNER(73,135,PLAYER0)
	ADD_TO_FLAG(PLAYER0,FLAG0,1)
ENDIF
IF_SLAB_OWNER(50,137,PLAYER0)
	ADD_TO_FLAG(PLAYER0,FLAG0,1)
ENDIF
IF_SLAB_OWNER(37,159,PLAYER0)
	ADD_TO_FLAG(PLAYER0,FLAG0,1)
ENDIF

	
IF(PLAYER0,FLAG0 == 1)
	MAX_CREATURES(PLAYER0,10)
	DISPLAY_INFORMATION(73)
	TUTORIAL_FLASH_BUTTON(1,400)
ENDIF
IF(PLAYER0,FLAG0 == 2)
	MAX_CREATURES(PLAYER0,15)
ENDIF
IF(PLAYER0,FLAG0 == 3)
	MAX_CREATURES(PLAYER0,20)
ENDIF
IF(PLAYER0,FLAG0 == 4)
	MAX_CREATURES(PLAYER0,25)
ENDIF
IF(PLAYER0,FLAG0 == 5)
	MAX_CREATURES(PLAYER0,30)
ENDIF
IF(PLAYER0,FLAG0 == 6)
	MAX_CREATURES(PLAYER0,35)
ENDIF
IF(PLAYER0,FLAG0 == 7)
	MAX_CREATURES(PLAYER0,40)
ENDIF
IF(PLAYER0,FLAG0 == 8)
	MAX_CREATURES(PLAYER0,45)
ENDIF
IF(PLAYER0,FLAG0 == 9)
	MAX_CREATURES(PLAYER0,50)
ENDIF
IF(PLAYER0,FLAG0 == 10)
	MAX_CREATURES(PLAYER0,55)
ENDIF
IF(PLAYER0,FLAG0 == 11)
	MAX_CREATURES(PLAYER0,60)
ENDIF
IF(PLAYER0,FLAG0 == 12)
	MAX_CREATURES(PLAYER0,65)
ENDIF
IF(PLAYER0,FLAG0 == 13)
	MAX_CREATURES(PLAYER0,70)
ENDIF



	REM -- Money control.

IF(PLAYER4,FLAG0 == 1)
	ADD_GOLD_TO_PLAYER(ALL_PLAYERS,1000000)
	ADD_GOLD_TO_PLAYER(PLAYER0,-990000)
	ADD_GOLD_TO_PLAYER(PLAYER3,-990000)
ENDIF


IF(PLAYER1,TREASURE == 0)
	IF(PLAYER1,MONEY > 500)
		NEXT_COMMAND_REUSABLE
		ADD_GOLD_TO_PLAYER(PLAYER1,-100000)
	ENDIF
ENDIF
IF(PLAYER3,TREASURE == 0)
	IF(PLAYER3,MONEY > 500)
		NEXT_COMMAND_REUSABLE
		ADD_GOLD_TO_PLAYER(PLAYER3,-100000)
	ENDIF
ENDIF
IF(PLAYER6,TREASURE == 0)
	IF(PLAYER6,MONEY > 500)
		NEXT_COMMAND_REUSABLE
		ADD_GOLD_TO_PLAYER(PLAYER6,-100000)
	ENDIF
ENDIF


IF(PLAYER1,TREASURE > 0)
	IF(PLAYER1,MONEY < 5000)
		NEXT_COMMAND_REUSABLE
		ADD_GOLD_TO_PLAYER(PLAYER1,20000)
	ENDIF
ENDIF
IF(PLAYER2,TREASURE > 0)
	IF(PLAYER2,MONEY < 5000)
		NEXT_COMMAND_REUSABLE
		ADD_GOLD_TO_PLAYER(PLAYER2,20000)
	ENDIF
ENDIF
IF(PLAYER6,TREASURE > 0)
	IF(PLAYER6,MONEY < 5000)
		NEXT_COMMAND_REUSABLE
		ADD_GOLD_TO_PLAYER(PLAYER6,20000)
	ENDIF
ENDIF



	REM -- Assorted messages.

IF(PLAYER0,GAME_TURN > 75)
	DISPLAY_OBJECTIVE(75)
ENDIF

IF(PLAYER0,SALAMANDER > 0)
	DISPLAY_INFORMATION(90)
ENDIF
IF(PLAYER0,MISTRESS > 0)
	DISPLAY_INFORMATION(91)
ENDIF
IF(PLAYER0,BLACK_KNIGHT > 0)
	DISPLAY_INFORMATION(92)
ENDIF
IF(PLAYER0,QUEEN > 0)
	DISPLAY_INFORMATION(93)
ENDIF
IF(PLAYER0,BEHOLDER > 0)
	DISPLAY_INFORMATION(94)
ENDIF

IF(PLAYER4,TIMER0 > 20000)
	IF(PLAYER0,FLAG1 <= 3)
		DISPLAY_INFORMATION(72)
	ENDIF
ENDIF

IF(PLAYER0,ACTIVE_BATTLES == 0)
	IF(PLAYER0,BATTLES_LOST > 8)
		DISPLAY_INFORMATION(76)
	ENDIF
ENDIF

IF(PLAYER4,TIMER0 > 80000)
	IF(PLAYER0,TRAPS_SOLD < 8)
		IF(PLAYER0,TOTAL_AREA > 3000)
			IF(PLAYER0,TOTAL_TRAPS <= 8)
				IF(PLAYER0,ACTIVE_BATTLES == 0)
					DISPLAY_INFORMATION(77)
				ENDIF
			ENDIF
		ENDIF
	ENDIF
ENDIF



	REM -- Attraction control
	REM -- Player.

IF(PLAYER4,FLAG0 == 1)
	ADD_CREATURE_TO_POOL(SPIDER,20)
	ADD_CREATURE_TO_POOL(MAIDEN,12)
	ADD_CREATURE_TO_POOL(SORCEROR,16)
	ADD_CREATURE_TO_POOL(DRUID,16)
	ADD_CREATURE_TO_POOL(TROLL,20)
	ADD_CREATURE_TO_POOL(DRAGON,6)
	ADD_CREATURE_TO_POOL(BILE_DEMON,12)
	ADD_CREATURE_TO_POOL(ORC,12)
	ADD_CREATURE_TO_POOL(MISTRESS,12)
	ADD_CREATURE_TO_POOL(SALAMANDER,8)
	ADD_CREATURE_TO_POOL(QUEEN,6)
	ADD_CREATURE_TO_POOL(BLACK_KNIGHT,4)
	ADD_CREATURE_TO_POOL(BEHOLDER,4)

	CREATURE_AVAILABLE(PLAYER0,SPIDER,1,0)
	CREATURE_AVAILABLE(PLAYER0,MAIDEN,1,0)
	CREATURE_AVAILABLE(PLAYER0,SORCEROR,1,0)
	CREATURE_AVAILABLE(PLAYER0,DRUID,1,0)
	CREATURE_AVAILABLE(PLAYER0,TROLL,1,0)
	CREATURE_AVAILABLE(PLAYER0,DRAGON,1,0)
	CREATURE_AVAILABLE(PLAYER0,BILE_DEMON,1,0)
	CREATURE_AVAILABLE(PLAYER0,ORC,1,0)
	CREATURE_AVAILABLE(PLAYER0,MISTRESS,1,0)
	CREATURE_AVAILABLE(PLAYER0,SALAMANDER,1,0)
	CREATURE_AVAILABLE(PLAYER0,QUEEN,1,0)
	CREATURE_AVAILABLE(PLAYER0,BLACK_KNIGHT,1,0)
	CREATURE_AVAILABLE(PLAYER0,BEHOLDER,1,0)

REM -- Green and Orange.

	ADD_CREATURE_TO_POOL(THIEF,12)
	ADD_CREATURE_TO_POOL(ARCHER,12)
	ADD_CREATURE_TO_POOL(DWARFA,12)
	ADD_CREATURE_TO_POOL(BARBARIAN,12)
	ADD_CREATURE_TO_POOL(GIANT,16)
	ADD_CREATURE_TO_POOL(SAMURAI,6)
	ADD_CREATURE_TO_POOL(KNIGHT,4)
	ADD_CREATURE_TO_POOL(WIZARD,12)
	ADD_CREATURE_TO_POOL(TIME_MAGE,12)
	ADD_CREATURE_TO_POOL(MONK,8)
	ADD_CREATURE_TO_POOL(FAIRY,8)

	CREATURE_AVAILABLE(PLAYER2,THIEF,1,50)
	CREATURE_AVAILABLE(PLAYER2,ARCHER,1,50)
	CREATURE_AVAILABLE(PLAYER2,DWARFA,1,50)
	CREATURE_AVAILABLE(PLAYER2,BARBARIAN,1,50)
	CREATURE_AVAILABLE(PLAYER2,GIANT,1,50)
	CREATURE_AVAILABLE(PLAYER2,WIZARD,1,50)
	CREATURE_AVAILABLE(PLAYER2,SORCEROR,1,50)

	CREATURE_AVAILABLE(PLAYER6,GIANT,1,50)
	CREATURE_AVAILABLE(PLAYER6,SAMURAI,1,50)
	CREATURE_AVAILABLE(PLAYER6,KNIGHT,1,50)
	CREATURE_AVAILABLE(PLAYER6,WIZARD,1,50)
	CREATURE_AVAILABLE(PLAYER6,TIME_MAGE,1,50)
	CREATURE_AVAILABLE(PLAYER6,MONK,1,50)
	CREATURE_AVAILABLE(PLAYER6,FAIRY,1,50)

REM -- Blue.
REM -- Possible that blue slurps all the Black Knights and Mistresses before the player gets access to barracks/torture. Will I add a simple fix for that? No. Fuck you.

	ADD_CREATURE_TO_POOL(SERVANT,20)
	ADD_CREATURE_TO_POOL(VESTAL,20)
	ADD_CREATURE_TO_POOL(EXECUTIONER,12)
	ADD_CREATURE_TO_POOL(CRONE,12)
	ADD_CREATURE_TO_POOL(ASSASSIN,6)
	ADD_CREATURE_TO_POOL(WARLOCK,12)
	ADD_CREATURE_TO_POOL(NECROMANCER,6)
	ADD_CREATURE_TO_POOL(SORCEROR,12)
	ADD_CREATURE_TO_POOL(BLACK_KNIGHT,4)
	ADD_CREATURE_TO_POOL(MISTRESS,4)

	CREATURE_AVAILABLE(PLAYER1,SERVANT,1,50)
	CREATURE_AVAILABLE(PLAYER1,VESTAL,1,50)
	CREATURE_AVAILABLE(PLAYER1,EXECUTIONER,1,50)
	CREATURE_AVAILABLE(PLAYER1,CRONE,1,50)
	CREATURE_AVAILABLE(PLAYER1,ASSASSIN,1,50)
	CREATURE_AVAILABLE(PLAYER1,WARLOCK,1,50)
	CREATURE_AVAILABLE(PLAYER1,NECROMANCER,1,50)
	CREATURE_AVAILABLE(PLAYER1,SORCEROR,1,50)
	CREATURE_AVAILABLE(PLAYER1,BLACK_KNIGHT,1,50)
	CREATURE_AVAILABLE(PLAYER1,MISTRESS,1,50)
ENDIF



	REM -- Room availability. 
	REM -- Bridge replaced by something that cannot be deleted. Long research time. By comparison, Destroy Walls is 750k.
	
ROOM_AVAILABLE(PLAYER0,TREASURE,1,1)
ROOM_AVAILABLE(PLAYER0,LAIR,1,1)
ROOM_AVAILABLE(PLAYER0,GARDEN,1,1)
ROOM_AVAILABLE(PLAYER0,TRAINING,1,1)
ROOM_AVAILABLE(PLAYER0,RESEARCH,1,1)
ROOM_AVAILABLE(PLAYER0,HARDEN,1,0)
ROOM_AVAILABLE(PLAYER0,WORKSHOP,1,0)
ROOM_AVAILABLE(PLAYER0,BARRACKS,2,0)
ROOM_AVAILABLE(PLAYER0,GUARD_POST,2,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)

IF_AVAILABLE(PLAYER0,HARDEN >= 1)
	DISPLAY_INFORMATION(71)
	TUTORIAL_FLASH_BUTTON(18,0)
ENDIF



	REM -- All spells for Player0 are found on map
	REM -- Allow enemy players to research endlessly.

MAGIC_AVAILABLE(PLAYER0,POWER_POSSESS,0,0)

MAGIC_AVAILABLE(PLAYER1,POWER_ARMAGEDDON,1,0)
MAGIC_AVAILABLE(PLAYER2,POWER_ARMAGEDDON,1,0)
MAGIC_AVAILABLE(PLAYER6,POWER_ARMAGEDDON,1,0)



	REM -- Traps and doors.

DOOR_AVAILABLE(PLAYER0,WOOD,1,0)
DOOR_AVAILABLE(PLAYER0,BRACED,1,0)
DOOR_AVAILABLE(PLAYER0,STEEL,1,0)
DOOR_AVAILABLE(PLAYER0,MAGIC,1,0)

TRAP_AVAILABLE(PLAYER0,ALARM,1,0)
TRAP_AVAILABLE(PLAYER0,POISON_GAS,1,0)
TRAP_AVAILABLE(PLAYER0,LIGHTNING,1,0)
TRAP_AVAILABLE(PLAYER0,WORD_OF_POWER,1,0)



	REM -- Allow enemy players to workshop endlessly.

SET_TRAP_CONFIGURATION(LAVA,MANUFACTURELEVEL,0)
SET_TRAP_CONFIGURATION(LAVA,MANUFACTUREREQUIRED,8388607)

TRAP_AVAILABLE(PLAYER1,LAVA,1,0)
TRAP_AVAILABLE(PLAYER2,LAVA,1,0)
TRAP_AVAILABLE(PLAYER6,LAVA,1,0)



	REM -- Training room system.

SET_CREATURE_MAX_LEVEL(PLAYER0,ANY_CREATURE,1)

SET_BOX_TOOLTIP_ID(0,50)
IF(PLAYER0,BOX0_ACTIVATED == 1)
	NEXT_COMMAND_REUSABLE
	ADD_TO_FLAG(PLAYER0,FLAG1,1)
	NEXT_COMMAND_REUSABLE
	PLAY_MESSAGE(PLAYER0,SPEECH,80)
	NEXT_COMMAND_REUSABLE
	SET_FLAG(PLAYER0,BOX0_ACTIVATED,0)
ENDIF


IF(PLAYER0,FLAG1 == 1)
	SET_CREATURE_MAX_LEVEL(PLAYER0,ANY_CREATURE,2)
	DISPLAY_MESSAGE(51,TRAINING)
ENDIF
IF(PLAYER0,FLAG1 == 2)
	SET_CREATURE_MAX_LEVEL(PLAYER0,ANY_CREATURE,3)
	DISPLAY_MESSAGE(52,TRAINING)
ENDIF
IF(PLAYER0,FLAG1 == 3)
	SET_CREATURE_MAX_LEVEL(PLAYER0,ANY_CREATURE,4)
	DISPLAY_MESSAGE(53,TRAINING)
ENDIF
IF(PLAYER0,FLAG1 == 4)
	SET_CREATURE_MAX_LEVEL(PLAYER0,ANY_CREATURE,5)
	DISPLAY_MESSAGE(54,TRAINING)
	SET_BOX_TOOLTIP_ID(0,78)
ENDIF
IF(PLAYER0,FLAG1 == 5)
	CREATURE_ENTRANCE_LEVEL(PLAYER0,3)
	DISPLAY_MESSAGE(79,PORTAL)
	SET_BOX_TOOLTIP_ID(0,50)
ENDIF
IF(PLAYER0,FLAG1 == 6)
	SET_CREATURE_MAX_LEVEL(PLAYER0,ANY_CREATURE,6)
	DISPLAY_MESSAGE(55,TRAINING)
ENDIF
IF(PLAYER0,FLAG1 == 7)
	SET_CREATURE_MAX_LEVEL(PLAYER0,ANY_CREATURE,7)
	DISPLAY_MESSAGE(56,TRAINING)
	SET_BOX_TOOLTIP_ID(0,78)
ENDIF
IF(PLAYER0,FLAG1 == 8)
	CREATURE_ENTRANCE_LEVEL(PLAYER0,5)
	DISPLAY_MESSAGE(80,PORTAL)
	SET_BOX_TOOLTIP_ID(0,50)
ENDIF
IF(PLAYER0,FLAG1 == 9)
	SET_CREATURE_MAX_LEVEL(PLAYER0,ANY_CREATURE,8)
	DISPLAY_MESSAGE(57,TRAINING)
ENDIF
IF(PLAYER0,FLAG1 == 10)
	SET_CREATURE_MAX_LEVEL(PLAYER0,ANY_CREATURE,9)
	DISPLAY_MESSAGE(58,TRAINING)
	SET_BOX_TOOLTIP_ID(0,78)
ENDIF
IF(PLAYER0,FLAG1 == 11)
	CREATURE_ENTRANCE_LEVEL(PLAYER0,7)
	DISPLAY_MESSAGE(81,PORTAL)
	SET_BOX_TOOLTIP_ID(0,50)
ENDIF
IF(PLAYER0,FLAG1 == 12)
	SET_CREATURE_MAX_LEVEL(PLAYER0,ANY_CREATURE,0)
	DISPLAY_MESSAGE(59,TRAINING)
	SET_BOX_TOOLTIP_ID(0,425)
ENDIF
IF(PLAYER0,FLAG1 == 13)
	NEXT_COMMAND_REUSABLE
	USE_SPECIAL_INCREASE_LEVEL(PLAYER0,1)
	NEXT_COMMAND_REUSABLE
	SET_FLAG(PLAYER0,FLAG1,12)
ENDIF



	REM -- Max Imps box setup.
	REM -- Imp respawn system.

SET_BOX_TOOLTIP_ID(1,60)
IF(PLAYER0,BOX1_ACTIVATED == 1)
	NEXT_COMMAND_REUSABLE
	ADD_TO_FLAG(PLAYER0,FLAG7,8)
	NEXT_COMMAND_REUSABLE
	SET_FLAG(PLAYER0,FLAG6,1)
	NEXT_COMMAND_REUSABLE
	SET_TIMER(PLAYER0,TIMER5)
	NEXT_COMMAND_REUSABLE
	PLAY_MESSAGE(PLAYER0,SPEECH,80)
	NEXT_COMMAND_REUSABLE
	SET_FLAG(PLAYER0,BOX1_ACTIVATED,0)
ENDIF

IF(PLAYER0,IMP < PLAYER0,FLAG7)
	IF(PLAYER0,FLAG6 >= 1)
		IF(PLAYER0,TIMER5 > 10)
			NEXT_COMMAND_REUSABLE
			USE_POWER_AT_LOCATION(PLAYER0,LAST_EVENT,POWER_IMP,1,1)
			NEXT_COMMAND_REUSABLE
			ADD_TO_FLAG(PLAYER0,FLAG6,1)
			NEXT_COMMAND_REUSABLE
			SET_TIMER(PLAYER0,TIMER5)
			
			IF(PLAYER0,FLAG6 == 8)
				NEXT_COMMAND_REUSABLE
				SET_FLAG(PLAYER0,FLAG6,0)
			ENDIF
		ENDIF
	ENDIF
ENDIF

SET_TIMER(PLAYER0,TIMER7)
IF(PLAYER0,TIMER7 >= 400)
	IF(PLAYER0,IMP < PLAYER0,FLAG7)
		NEXT_COMMAND_REUSABLE
		USE_POWER_AT_LOCATION(PLAYER0,PLAYER0,POWER_IMP,1,1)
		NEXT_COMMAND_REUSABLE
		SET_TIMER(PLAYER0,TIMER7)
	ENDIF
ENDIF

IF(PLAYER0,FLAG7 == 8)
	DISPLAY_MESSAGE(61,IMP)
ENDIF
IF(PLAYER0,FLAG7 == 16)
	DISPLAY_MESSAGE(62,IMP)
ENDIF
IF(PLAYER0,FLAG7 == 24)
	DISPLAY_MESSAGE(63,IMP)
ENDIF
IF(PLAYER0,FLAG7 == 32)
	DISPLAY_MESSAGE(64,IMP)
ENDIF
IF(PLAYER0,FLAG7 == 40)
	DISPLAY_MESSAGE(65,IMP)
ENDIF



	REM -- Music System
	REM -- Cobalt tools is dead at the moment so we're just using default DK1 music.

IF(PLAYER0,ACTIVE_BATTLES >= 5)
	IF(PLAYER0,FLAG4 == 0)
		NEXT_COMMAND_REUSABLE
		SET_FLAG(PLAYER0,FLAG4,1)
	ENDIF
ENDIF
	
IF(PLAYER0,FLAG4 == 1)
	NEXT_COMMAND_REUSABLE
	SET_MUSIC("Horny Theme.ogg")
	NEXT_COMMAND_REUSABLE
	SET_TIMER(PLAYER6,TIMER1)
	NEXT_COMMAND_REUSABLE
	SET_FLAG(PLAYER0,FLAG4,2)
ENDIF

IF(PLAYER6,TIMER1 > 800)
	IF(PLAYER0,ACTIVE_BATTLES >= 2)
		NEXT_COMMAND_REUSABLE
		SET_TIMER(PLAYER6,TIMER1)
	ENDIF
ENDIF
	
IF(PLAYER6,TIMER1 > 900)
	IF(PLAYER0,FLAG4 == 2)
		NEXT_COMMAND_REUSABLE
		PLAY_MESSAGE(PLAYER0,SOUND,89)
		NEXT_COMMAND_REUSABLE
		SET_MUSIC("A Moment Of Silence.mp3")
		NEXT_COMMAND_REUSABLE
		SET_TIMER(PLAYER6,TIMER2)
		NEXT_COMMAND_REUSABLE
		SET_FLAG(PLAYER0,FLAG4,3)
	ENDIF
ENDIF

IF(PLAYER6,TIMER2 > 250)
	IF(PLAYER0,FLAG4 == 3)
		NEXT_COMMAND_REUSABLE
		RANDOMISE_FLAG(PLAYER0,FLAG5,6)
	ENDIF
ENDIF

IF(PLAYER0,FLAG5 == 1)
	NEXT_COMMAND_REUSABLE
	SET_MUSIC(2)
	NEXT_COMMAND_REUSABLE
	SET_FLAG(PLAYER0,FLAG4,0)
	NEXT_COMMAND_REUSABLE
	SET_FLAG(PLAYER0,FLAG5,0)
ENDIF
IF(PLAYER0,FLAG5 == 2)
	NEXT_COMMAND_REUSABLE
	SET_MUSIC(3)
	NEXT_COMMAND_REUSABLE
	SET_FLAG(PLAYER0,FLAG4,0)
	NEXT_COMMAND_REUSABLE
	SET_FLAG(PLAYER0,FLAG5,0)
ENDIF
IF(PLAYER0,FLAG5 == 3)
	NEXT_COMMAND_REUSABLE
	SET_MUSIC(4)
	NEXT_COMMAND_REUSABLE
	SET_FLAG(PLAYER0,FLAG4,0)
	NEXT_COMMAND_REUSABLE
	SET_FLAG(PLAYER0,FLAG5,0)
ENDIF
IF(PLAYER0,FLAG5 == 4)
	NEXT_COMMAND_REUSABLE
	SET_MUSIC(5)
	NEXT_COMMAND_REUSABLE
	SET_FLAG(PLAYER0,FLAG4,0)
	NEXT_COMMAND_REUSABLE
	SET_FLAG(PLAYER0,FLAG5,0)
ENDIF
IF(PLAYER0,FLAG5 == 5)
	NEXT_COMMAND_REUSABLE
	SET_MUSIC(6)
	NEXT_COMMAND_REUSABLE
	SET_FLAG(PLAYER0,FLAG4,0)
	NEXT_COMMAND_REUSABLE
	SET_FLAG(PLAYER0,FLAG5,0)
ENDIF
IF(PLAYER0,FLAG5 == 6)
	NEXT_COMMAND_REUSABLE
	SET_MUSIC(7)
	NEXT_COMMAND_REUSABLE
	SET_FLAG(PLAYER0,FLAG4,0)
	NEXT_COMMAND_REUSABLE
	SET_FLAG(PLAYER0,FLAG5,0)
ENDIF



	REM -- Add random heroes to pad out Green's town. Will attack at GT100k.
	REM -- Delay some so the player isn't potentially hit by the entire 30 heroes at once.
	REM -- Level up all of Green's creatures every 10ish minutes.
	REM -- Level up Green's stationary defenders every 10ish minutes for just the early stage of the game.
	
	
CREATE_PARTY(THIEF)
ADD_TO_PARTY(THIEF,THIEF,5,100,ATTACK_ENEMIES,100000)
CREATE_PARTY(ARCHER)
ADD_TO_PARTY(ARCHER,ARCHER,5,100,ATTACK_ENEMIES,100000)
CREATE_PARTY(BARBARIAN)
ADD_TO_PARTY(BARBARIAN,BARBARIAN,5,100,ATTACK_ENEMIES,100000)
CREATE_PARTY(DWARFA)
ADD_TO_PARTY(DWARFA,DWARFA,5,100,ATTACK_ENEMIES,100000)
CREATE_PARTY(SORCEROR)
ADD_TO_PARTY(SORCEROR,SORCEROR,5,100,ATTACK_ENEMIES,100000)
CREATE_PARTY(WIZARD)
ADD_TO_PARTY(WIZARD,WIZARD,5,100,ATTACK_ENEMIES,100000)
CREATE_PARTY(GIANT)
ADD_TO_PARTY(GIANT,GIANT,5,100,ATTACK_ENEMIES,100000)


ADD_PARTY_TO_LEVEL(PLAYER4,DRAWFROM(THIEF,ARCHER,BARBARIAN,DWARFA,SORCEROR,WIZARD,GIANT),2,1)
ADD_PARTY_TO_LEVEL(PLAYER4,DRAWFROM(THIEF,ARCHER,BARBARIAN,DWARFA,SORCEROR,WIZARD,GIANT),2,1)
ADD_PARTY_TO_LEVEL(PLAYER4,DRAWFROM(THIEF,ARCHER,BARBARIAN,DWARFA,SORCEROR,WIZARD,GIANT),2,1)

ADD_PARTY_TO_LEVEL(PLAYER4,DRAWFROM(THIEF,ARCHER,BARBARIAN,DWARFA,SORCEROR,WIZARD,GIANT),4,1)
ADD_PARTY_TO_LEVEL(PLAYER4,DRAWFROM(THIEF,ARCHER,BARBARIAN,DWARFA,SORCEROR,WIZARD,GIANT),4,1)
ADD_PARTY_TO_LEVEL(PLAYER4,DRAWFROM(THIEF,ARCHER,BARBARIAN,DWARFA,SORCEROR,WIZARD,GIANT),4,1)

ADD_PARTY_TO_LEVEL(PLAYER4,DRAWFROM(THIEF,ARCHER,BARBARIAN,DWARFA,SORCEROR,WIZARD,GIANT),6,1)
ADD_PARTY_TO_LEVEL(PLAYER4,DRAWFROM(THIEF,ARCHER,BARBARIAN,DWARFA,SORCEROR,WIZARD,GIANT),6,1)
ADD_PARTY_TO_LEVEL(PLAYER4,DRAWFROM(THIEF,ARCHER,BARBARIAN,DWARFA,SORCEROR,WIZARD,GIANT),6,1)

IF(PLAYER4,TIMER0 > 4000)
	ADD_PARTY_TO_LEVEL(PLAYER4,DRAWFROM(THIEF,ARCHER,BARBARIAN,DWARFA,SORCEROR,WIZARD,GIANT),8,1)
	ADD_PARTY_TO_LEVEL(PLAYER4,DRAWFROM(THIEF,ARCHER,BARBARIAN,DWARFA,SORCEROR,WIZARD,GIANT),8,1)
	ADD_PARTY_TO_LEVEL(PLAYER4,DRAWFROM(THIEF,ARCHER,BARBARIAN,DWARFA,SORCEROR,WIZARD,GIANT),8,1)

	ADD_PARTY_TO_LEVEL(PLAYER4,DRAWFROM(THIEF,ARCHER,BARBARIAN,DWARFA,SORCEROR,WIZARD,GIANT),10,1)
	ADD_PARTY_TO_LEVEL(PLAYER4,DRAWFROM(THIEF,ARCHER,BARBARIAN,DWARFA,SORCEROR,WIZARD,GIANT),10,1)
	ADD_PARTY_TO_LEVEL(PLAYER4,DRAWFROM(THIEF,ARCHER,BARBARIAN,DWARFA,SORCEROR,WIZARD,GIANT),10,1)

	ADD_PARTY_TO_LEVEL(PLAYER4,DRAWFROM(THIEF,ARCHER,BARBARIAN,DWARFA,SORCEROR,WIZARD,GIANT),1,1)
	ADD_PARTY_TO_LEVEL(PLAYER4,DRAWFROM(THIEF,ARCHER,BARBARIAN,DWARFA,SORCEROR,WIZARD,GIANT),1,1)
	ADD_PARTY_TO_LEVEL(PLAYER4,DRAWFROM(THIEF,ARCHER,BARBARIAN,DWARFA,SORCEROR,WIZARD,GIANT),1,1)

	ADD_PARTY_TO_LEVEL(PLAYER4,DRAWFROM(THIEF,ARCHER,BARBARIAN,DWARFA,SORCEROR,WIZARD,GIANT),3,1)
	ADD_PARTY_TO_LEVEL(PLAYER4,DRAWFROM(THIEF,ARCHER,BARBARIAN,DWARFA,SORCEROR,WIZARD,GIANT),3,1)
	ADD_PARTY_TO_LEVEL(PLAYER4,DRAWFROM(THIEF,ARCHER,BARBARIAN,DWARFA,SORCEROR,WIZARD,GIANT),3,1)
ENDIF
IF(PLAYER4,TIMER0 > 8000)
	ADD_PARTY_TO_LEVEL(PLAYER4,DRAWFROM(THIEF,ARCHER,BARBARIAN,DWARFA,SORCEROR,WIZARD,GIANT),5,1)
	ADD_PARTY_TO_LEVEL(PLAYER4,DRAWFROM(THIEF,ARCHER,BARBARIAN,DWARFA,SORCEROR,WIZARD,GIANT),5,1)
	ADD_PARTY_TO_LEVEL(PLAYER4,DRAWFROM(THIEF,ARCHER,BARBARIAN,DWARFA,SORCEROR,WIZARD,GIANT),5,1)

	ADD_PARTY_TO_LEVEL(PLAYER4,DRAWFROM(THIEF,ARCHER,BARBARIAN,DWARFA,SORCEROR,WIZARD,GIANT),7,1)
	ADD_PARTY_TO_LEVEL(PLAYER4,DRAWFROM(THIEF,ARCHER,BARBARIAN,DWARFA,SORCEROR,WIZARD,GIANT),7,1)
	ADD_PARTY_TO_LEVEL(PLAYER4,DRAWFROM(THIEF,ARCHER,BARBARIAN,DWARFA,SORCEROR,WIZARD,GIANT),7,1)

	ADD_PARTY_TO_LEVEL(PLAYER4,DRAWFROM(THIEF,ARCHER,BARBARIAN,DWARFA,SORCEROR,WIZARD,GIANT),9,1)
	ADD_PARTY_TO_LEVEL(PLAYER4,DRAWFROM(THIEF,ARCHER,BARBARIAN,DWARFA,SORCEROR,WIZARD,GIANT),9,1)
	ADD_PARTY_TO_LEVEL(PLAYER4,DRAWFROM(THIEF,ARCHER,BARBARIAN,DWARFA,SORCEROR,WIZARD,GIANT),9,1)
ENDIF


SET_TIMER(PLAYER2,TIMER1)
IF(PLAYER2,TIMER1 > 12500)
	NEXT_COMMAND_REUSABLE
	LEVEL_UP_PLAYERS_CREATURES(PLAYER2,ANY_CREATURE,1)
	NEXT_COMMAND_REUSABLE
	SET_FLAG(PLAYER2,FLAG0,1)
	NEXT_COMMAND_REUSABLE
	SET_FLAG(PLAYER2,FLAG1,0)
	NEXT_COMMAND_REUSABLE
	SET_TIMER(PLAYER2,TIMER1)
ENDIF

IF(PLAYER4,TIMER0 < 80000)
	IF(PLAYER2,FLAG0 == 1)
		IF(PLAYER2,FLAG1 <= 12)
			NEXT_COMMAND_REUSABLE
			LEVEL_UP_CREATURE(PLAYER4,ANY_CREATURE,AT_ACTION_POINT[113],1)
			NEXT_COMMAND_REUSABLE
			ADD_TO_FLAG(PLAYER2,FLAG1,1)
		ENDIF
	ENDIF
ENDIF



	REM -- Try to keep Blue/Green/Orange creatures that don't auto-train up to par with their fighter brethren.

SET_TIMER(PLAYER5,TIMER1)
	
IF(PLAYER5,TIMER1 > 4000)
	NEXT_COMMAND_REUSABLE
	LEVEL_UP_CREATURE(PLAYER1,ANY_CREATURE,LEAST_EXPERIENCED,3)
	NEXT_COMMAND_REUSABLE
	LEVEL_UP_CREATURE(PLAYER2,ANY_CREATURE,LEAST_EXPERIENCED,2)
	NEXT_COMMAND_REUSABLE
	LEVEL_UP_CREATURE(PLAYER6,ANY_CREATURE,LEAST_EXPERIENCED,3)
	NEXT_COMMAND_REUSABLE
	SET_TIMER(PLAYER5,TIMER1)
ENDIF



	REM -- Some random single-unit parties.

CREATE_PARTY(SALLY)
ADD_TO_PARTY(SALLY,SALAMANDER,7,0,DEFEND_LOCATION,0)

CREATE_PARTY(EYEBALL)
ADD_TO_PARTY(EYEBALL,BEHOLDER,6,0,DEFEND_LOCATION,0)

CREATE_PARTY(CHUMS)
ADD_TO_PARTY(CHUMS,HORNY,5,225,DEFEND_LOCATION,0)

CREATE_PARTY(DOGGO)
ADD_TO_PARTY(DOGGO,HELL_HOUND,3,0,DEFEND_LOCATION,0)

CREATE_PARTY(DRAGON)
ADD_TO_PARTY(DRAGON,DRAGON,8,0,DEFEND_LOCATION,0)

CREATE_PARTY(SPAWN)
ADD_TO_PARTY(SPAWN,DEMONSPAWN,7,0,DEFEND_LOCATION,0)

CREATE_PARTY(REAPER)
ADD_TO_PARTY(REAPER,REAPER,10,0,DEFEND_LOCATION,0)

CREATE_PARTY(DORFS)
ADD_TO_PARTY(DORFS,DWARFA,10,185,DEFEND_LOCATION,0)



	REM -- Random guards for blue.

CREATE_PARTY(CULT1)
ADD_TO_PARTY(CULT1,DRAWFROM(SERVANT,ASSASSIN),DRAWFROM(6~8),150,DEFEND_LOCATION,0)
CREATE_PARTY(CULT2)
ADD_TO_PARTY(CULT2,DRAWFROM(BLACK_KNIGHT,EXECUTIONER),DRAWFROM(6~8),150,DEFEND_LOCATION,0)
CREATE_PARTY(CULT3)
ADD_TO_PARTY(CULT3,DRAWFROM(WARLOCK,CRONE),DRAWFROM(6~8),150,DEFEND_LOCATION,0)

IF_ACTION_POINT(110,PLAYER0)
	ADD_PARTY_TO_LEVEL(PLAYER5,DRAWFROM(CULT1,CULT2,CULT3),30,2)
	ADD_PARTY_TO_LEVEL(PLAYER5,DRAWFROM(CULT1,CULT2,CULT3),30,1)
	ADD_PARTY_TO_LEVEL(PLAYER5,DRAWFROM(CULT1,CULT2,CULT3),31,2)
	ADD_PARTY_TO_LEVEL(PLAYER5,DRAWFROM(CULT1,CULT2,CULT3),31,1)
	ADD_PARTY_TO_LEVEL(PLAYER5,DRAWFROM(CULT1,CULT2,CULT3),32,2)
	ADD_PARTY_TO_LEVEL(PLAYER5,DRAWFROM(CULT1,CULT2,CULT3),32,1)
	ADD_PARTY_TO_LEVEL(PLAYER5,DRAWFROM(CULT1,CULT2,CULT3),33,2)
	ADD_PARTY_TO_LEVEL(PLAYER5,DRAWFROM(CULT1,CULT2,CULT3),33,1)
	
	IF(PLAYER4,TIMER0 > 160000)
		IF_SLAB_OWNER(112,98,PLAYER1)
			ADD_PARTY_TO_LEVEL(PLAYER5,DRAWFROM(CULT1,CULT2,CULT3),31,2)
			ADD_PARTY_TO_LEVEL(PLAYER5,DRAWFROM(CULT1,CULT2,CULT3),31,1)
			ADD_PARTY_TO_LEVEL(PLAYER5,DRAWFROM(CULT1,CULT2,CULT3),31,2)
			ADD_PARTY_TO_LEVEL(PLAYER5,DRAWFROM(CULT1,CULT2,CULT3),31,1)
		ENDIF
		IF_SLAB_OWNER(112,130,PLAYER1)
			ADD_PARTY_TO_LEVEL(PLAYER5,DRAWFROM(CULT1,CULT2,CULT3),32,2)
			ADD_PARTY_TO_LEVEL(PLAYER5,DRAWFROM(CULT1,CULT2,CULT3),32,1)
			ADD_PARTY_TO_LEVEL(PLAYER5,DRAWFROM(CULT1,CULT2,CULT3),32,2)
			ADD_PARTY_TO_LEVEL(PLAYER5,DRAWFROM(CULT1,CULT2,CULT3),32,1)
		ENDIF
	ENDIF
ENDIF



	REM -- Add random guard parties to defend some of Orange's less populated hallways.

CREATE_PARTY(GUARD1)
ADD_TO_PARTY(GUARD1,SAMURAI,9,500,DEFEND_LOCATION,0)
ADD_TO_PARTY(GUARD1,ARCHER,8,400,DEFEND_LOCATION,0)
ADD_TO_PARTY(GUARD1,ARCHER,7,400,DEFEND_LOCATION,0)
ADD_TO_PARTY(GUARD1,DRAWFROM(DWARFA,BARBARIAN,ARCHER),8,400,DEFEND_LOCATION,0)
ADD_TO_PARTY(GUARD1,DRAWFROM(DWARFA,BARBARIAN,ARCHER),7,400,DEFEND_LOCATION,0)

CREATE_PARTY(GUARD2)
ADD_TO_PARTY(GUARD2,GIANT,9,500,DEFEND_LOCATION,0)
ADD_TO_PARTY(GUARD2,BARBARIAN,8,400,DEFEND_LOCATION,0)
ADD_TO_PARTY(GUARD2,BARBARIAN,7,400,DEFEND_LOCATION,0)
ADD_TO_PARTY(GUARD2,DRAWFROM(DWARFA,ARCHER),8,400,DEFEND_LOCATION,0)
ADD_TO_PARTY(GUARD2,DRAWFROM(DWARFA,ARCHER),7,400,DEFEND_LOCATION,0)

CREATE_PARTY(GUARD3)
ADD_TO_PARTY(GUARD3,TIME_MAGE,9,500,DEFEND_LOCATION,0)
ADD_TO_PARTY(GUARD3,DRAWFROM(WIZARD,FAIRY,MONK,SORCEROR,WITCH),8,400,DEFEND_LOCATION,0)
ADD_TO_PARTY(GUARD3,DRAWFROM(WIZARD,FAIRY,MONK,SORCEROR,WITCH),7,400,DEFEND_LOCATION,0)
ADD_TO_PARTY(GUARD3,DRAWFROM(WIZARD,FAIRY,MONK,SORCEROR,WITCH),8,400,DEFEND_LOCATION,0)
ADD_TO_PARTY(GUARD3,DRAWFROM(WIZARD,FAIRY,MONK,SORCEROR,WITCH),7,400,DEFEND_LOCATION,0)

IF_ACTION_POINT(19,PLAYER0)
	ADD_PARTY_TO_LEVEL(PLAYER4,DRAWFROM(GUARD1,GUARD2,GUARD3),11,1)
	ADD_PARTY_TO_LEVEL(PLAYER4,DRAWFROM(GUARD1,GUARD2,GUARD3),12,1)
	ADD_PARTY_TO_LEVEL(PLAYER4,DRAWFROM(GUARD1,GUARD2,GUARD3),13,1)
	ADD_PARTY_TO_LEVEL(PLAYER4,DRAWFROM(GUARD1,GUARD2,GUARD3),14,1)
	ADD_PARTY_TO_LEVEL(PLAYER4,DRAWFROM(GUARD1,GUARD2,GUARD3),15,1)
	ADD_PARTY_TO_LEVEL(PLAYER4,DRAWFROM(GUARD1,GUARD2,GUARD3),16,1)
	ADD_PARTY_TO_LEVEL(PLAYER4,DRAWFROM(GUARD1,GUARD2,GUARD3),17,1)
	ADD_PARTY_TO_LEVEL(PLAYER4,DORFS,16,6)
	
	IF(PLAYER4,TIMER0 > 160000)
		IF_SLAB_OWNER(50,149,PLAYER6)
			ADD_PARTY_TO_LEVEL(PLAYER4,DRAWFROM(GUARD1,GUARD2,GUARD3),-28,1)
			ADD_PARTY_TO_LEVEL(PLAYER4,DRAWFROM(GUARD1,GUARD2,GUARD3),-28,1)
			ADD_PARTY_TO_LEVEL(PLAYER4,DRAWFROM(GUARD1,GUARD2,GUARD3),-28,1)
		ENDIF
	ENDIF
ENDIF



	REM -- Grouped parties.
	
CREATE_PARTY(HEALERS)
ADD_TO_PARTY(HEALERS,MONK,6,300,ATTACK_DUNGEON_HEART,0)
ADD_TO_PARTY(HEALERS,MONK,6,300,ATTACK_DUNGEON_HEART,0)
ADD_TO_PARTY(HEALERS,VESTAL,5,285,ATTACK_DUNGEON_HEART,0)
ADD_TO_PARTY(HEALERS,VESTAL,5,285,ATTACK_DUNGEON_HEART,0)

CREATE_PARTY(BRUTES)
ADD_TO_PARTY(BRUTES,BARBARIAN,5,200,ATTACK_DUNGEON_HEART,0)
ADD_TO_PARTY(BRUTES,BARBARIAN,5,200,DEFEND_PARTY,0)
ADD_TO_PARTY(BRUTES,BARBARIAN,5,200,DEFEND_PARTY,0)
ADD_TO_PARTY(BRUTES,ARCHER,5,165,DEFEND_PARTY,0)
ADD_TO_PARTY(BRUTES,ARCHER,4,150,DEFEND_PARTY,0)

CREATE_PARTY(MONKSONLY)
ADD_TO_PARTY(MONKSONLY,MONK,6,300,ATTACK_DUNGEON_HEART,0)
ADD_TO_PARTY(MONKSONLY,MONK,6,300,ATTACK_DUNGEON_HEART,0)
ADD_TO_PARTY(MONKSONLY,MONK,4,175,ATTACK_DUNGEON_HEART,0)

CREATE_PARTY(CHONKERS)
ADD_TO_PARTY(CHONKERS,EXECUTIONER,6,300,ATTACK_DUNGEON_HEART,0)
ADD_TO_PARTY(CHONKERS,BARBARIAN,6,300,ATTACK_DUNGEON_HEART,0)
ADD_TO_PARTY(CHONKERS,GIANT,6,300,ATTACK_DUNGEON_HEART,0)
ADD_TO_PARTY(CHONKERS,SERVANT,6,300,ATTACK_DUNGEON_HEART,0)

CREATE_PARTY(RPG)
ADD_TO_PARTY(RPG,WIZARD,8,350,STEAL_SPELLS,0)
ADD_TO_PARTY(RPG,BARBARIAN,8,300,ATTACK_ENEMIES,0)
ADD_TO_PARTY(RPG,MONK,7,300,STEAL_SPELLS,0)
ADD_TO_PARTY(RPG,ARCHER,7,300,ATTACK_ENEMIES,0)
ADD_TO_PARTY(RPG,DWARFA,7,325,STEAL_GOLD,0)
ADD_TO_PARTY(RPG,THIEF,7,325,STEAL_GOLD,0)

CREATE_PARTY(CULTENFORCERS)
ADD_TO_PARTY(CULTENFORCERS,EXECUTIONER,8,350,ATTACK_DUNGEON_HEART,0)
ADD_TO_PARTY(CULTENFORCERS,SERVANT,7,350,DEFEND_PARTY,0)
ADD_TO_PARTY(CULTENFORCERS,SERVANT,7,350,DEFEND_PARTY,0)
ADD_TO_PARTY(CULTENFORCERS,SERVANT,6,250,DEFEND_PARTY,0)
ADD_TO_PARTY(CULTENFORCERS,SERVANT,6,250,DEFEND_PARTY,0)
ADD_TO_PARTY(CULTENFORCERS,SERVANT,5,150,DEFEND_PARTY,0)
ADD_TO_PARTY(CULTENFORCERS,SERVANT,5,150,DEFEND_PARTY,0)

CREATE_PARTY(CULTMAGIC)
ADD_TO_PARTY(CULTMAGIC,CRONE,7,350,ATTACK_DUNGEON_HEART,0)
ADD_TO_PARTY(CULTMAGIC,WARLOCK,7,350,STEAL_SPELLS,0)
ADD_TO_PARTY(CULTMAGIC,NECROMANCER,7,350,ATTACK_ENEMIES,0)

CREATE_PARTY(WAAAGH)
ADD_TO_PARTY(WAAAGH,ORC,6,200,SABOTAGE_ROOMS,0)
ADD_TO_PARTY(WAAAGH,ORC,5,180,SABOTAGE_ROOMS,0)
ADD_TO_PARTY(WAAAGH,TROLL,7,150,SABOTAGE_ROOMS,0)
ADD_TO_PARTY(WAAAGH,TROLL,6,125,SABOTAGE_ROOMS,0)
ADD_TO_PARTY(WAAAGH,TROLL,5,125,SABOTAGE_ROOMS,0)
ADD_TO_PARTY(WAAAGH,TROLL,5,125,SABOTAGE_ROOMS,0)

CREATE_PARTY(GROUP1)
ADD_TO_PARTY(GROUP1,SAMURAI,9,500,ATTACK_ENEMIES,0)
ADD_TO_PARTY(GROUP1,ARCHER,8,400,ATTACK_ENEMIES,0)
ADD_TO_PARTY(GROUP1,ARCHER,7,400,ATTACK_ENEMIES,0)
ADD_TO_PARTY(GROUP1,DRAWFROM(DWARFA,BARBARIAN,ARCHER),8,400,ATTACK_ENEMIES,0)
ADD_TO_PARTY(GROUP1,DRAWFROM(DWARFA,BARBARIAN,ARCHER),7,400,ATTACK_ENEMIES,0)

CREATE_PARTY(GROUP2)
ADD_TO_PARTY(GROUP2,GIANT,9,500,ATTACK_DUNGEON_HEART,0)
ADD_TO_PARTY(GROUP2,BARBARIAN,8,400,ATTACK_DUNGEON_HEART,0)
ADD_TO_PARTY(GROUP2,BARBARIAN,7,400,ATTACK_DUNGEON_HEART,0)
ADD_TO_PARTY(GROUP2,DRAWFROM(DWARFA,ARCHER),8,400,ATTACK_DUNGEON_HEART,0)
ADD_TO_PARTY(GROUP2,DRAWFROM(DWARFA,ARCHER),7,400,ATTACK_DUNGEON_HEART,0)

CREATE_PARTY(GROUP3)
ADD_TO_PARTY(GROUP3,TIME_MAGE,9,500,ATTACK_DUNGEON_HEART,0)
ADD_TO_PARTY(GROUP3,DRAWFROM(WIZARD,FAIRY,MONK,SORCEROR,WITCH),8,400,STEAL_SPELLS,0)
ADD_TO_PARTY(GROUP3,DRAWFROM(WIZARD,FAIRY,MONK,SORCEROR,WITCH),7,400,STEAL_SPELLS,0)
ADD_TO_PARTY(GROUP3,DRAWFROM(WIZARD,FAIRY,MONK,SORCEROR,WITCH),8,400,ATTACK_ENEMIES,0)
ADD_TO_PARTY(GROUP3,DRAWFROM(WIZARD,FAIRY,MONK,SORCEROR,WITCH),7,400,ATTACK_ENEMIES,0)



	REM -- Bosses and their spawning.
	REM -- More adds to match increasing player creature count.
	REM -- Levels increase with number of lords defeated.

	REM -- Paladin Lord.

IF_ACTION_POINT(49,PLAYER0)
	REVEAL_MAP_LOCATION(PLAYER0,PLAYER_GOOD,-1)
	DISPLAY_MESSAGE(44,PALADIN)
	ZOOM_TO_LOCATION(PLAYER0,-29)
	
	ADD_CREATURE_TO_LEVEL(PLAYER4,PALADIN,-29,1,6,2000,NONE)
	ADD_CREATURE_TO_LEVEL(PLAYER4,KNIGHT,-29,2,4,800,NONE)
	ADD_PARTY_TO_LEVEL(PLAYER4,HEALERS,-29,1)
	
	IF(PLAYER4,PALADIN == 0)
		SET_FLAG(PLAYER_GOOD,FLAG7,1)
		ZOOM_TO_LOCATION(PLAYER0,LAST_DEATH_EVENT[PLAYER4])
		DISPLAY_INFORMATION(84,LAST_DEATH_EVENT[PLAYER4])
	ENDIF
ENDIF

IF(PLAYER4,PALADIN > 0)
	IF(PLAYER0,TOTAL_CREATURES > 20)
		ADD_PARTY_TO_LEVEL(PLAYER4,HEALERS,-29,1)
	ENDIF
	IF(PLAYER0,TOTAL_CREATURES > 30)
		ADD_CREATURE_TO_LEVEL(PLAYER4,DWARFA,-29,4,8,300)
		ADD_PARTY_TO_LEVEL(PLAYER4,CHONKERS,-29,1)
	ENDIF
	IF(PLAYER0,TOTAL_CREATURES > 35)
		ADD_CREATURE_TO_LEVEL(PLAYER4,DWARFA,-29,4,8,300)
		ADD_PARTY_TO_LEVEL(PLAYER4,HEALERS,-29,1)
	ENDIF
	IF(PLAYER0,TOTAL_CREATURES > 40)
		ADD_CREATURE_TO_LEVEL(PLAYER4,WIZARD,-29,2,9,550)
		ADD_CREATURE_TO_LEVEL(PLAYER4,TIME_MAGE,-29,2,9,550)
		ADD_PARTY_TO_LEVEL(PLAYER4,CHONKERS,-29,2)
		ADD_PARTY_TO_LEVEL(PLAYER4,HEALERS,-29,2)
	ENDIF
	IF(PLAYER0,TOTAL_CREATURES > 55)
		LEVEL_UP_PLAYERS_CREATURES(PLAYER4,VESTAL,6)
		LEVEL_UP_PLAYERS_CREATURES(PLAYER4,MONK,6)
		
		IF_SLAB_TYPE(17,8,PRETTY_PATH)
			ADD_CREATURE_TO_LEVEL(PLAYER4,MONK,-1,4,8,300)
			ADD_CREATURE_TO_LEVEL(PLAYER4,VESTAL,-1,4,8,300)
			ADD_CREATURE_TO_LEVEL(PLAYER4,MONK,-2,4,8,300)
			ADD_CREATURE_TO_LEVEL(PLAYER4,VESTAL,-2,4,8,300)
		ENDIF
	ENDIF
	
	
	IF(PLAYER1,FLAG7 == 1)
		LEVEL_UP_CREATURE(PLAYER4,PALADIN,ANYWHERE,1)
		LEVEL_UP_PLAYERS_CREATURES(PLAYER4,ANY_CREATURE,1)
	ENDIF
	IF(PLAYER3,FLAG7 == 1)
		LEVEL_UP_CREATURE(PLAYER4,PALADIN,ANYWHERE,1)
		LEVEL_UP_PLAYERS_CREATURES(PLAYER4,ANY_CREATURE,1)
	ENDIF
	IF(PLAYER6,FLAG7 == 1)
		LEVEL_UP_CREATURE(PLAYER4,PALADIN,ANYWHERE,1)
		LEVEL_UP_PLAYERS_CREATURES(PLAYER4,ANY_CREATURE,1)
	ENDIF
ENDIF



	REM -- Avatar Lord.

IF_ACTION_POINT(112,PLAYER0)
	REVEAL_MAP_LOCATION(PLAYER0,PLAYER6,-1)
	DISPLAY_MESSAGE(45,AVATAR)
	ZOOM_TO_LOCATION(PLAYER0,PLAYER6)

	ADD_CREATURE_TO_LEVEL(PLAYER4,AVATAR,PLAYER6,1,6,2000,NONE)
	ADD_CREATURE_TO_LEVEL(PLAYER4,KNIGHT,PLAYER6,2,4,800,NONE)
	ADD_PARTY_TO_LEVEL(PLAYER4,MONKSONLY,PLAYER6,1)
	
	IF(PLAYER4,AVATAR == 0)
		SET_FLAG(PLAYER6,FLAG7,1)
		ZOOM_TO_LOCATION(PLAYER0,LAST_DEATH_EVENT[PLAYER4])
		DISPLAY_INFORMATION(85,LAST_DEATH_EVENT[PLAYER4])
	ENDIF
ENDIF

IF(PLAYER4,AVATAR > 0)	
	IF(PLAYER0,TOTAL_CREATURES > 20)
		ADD_PARTY_TO_LEVEL(PLAYER4,MONKSONLY,PLAYER6,2)
	ENDIF
	IF(PLAYER0,TOTAL_CREATURES > 30)
		ADD_CREATURE_TO_LEVEL(PLAYER4,THIEF,PLAYER6,6,8,300)
		ADD_PARTY_TO_LEVEL(PLAYER4,RPG,PLAYER6,1)
	ENDIF
	IF(PLAYER0,TOTAL_CREATURES > 35)
		ADD_CREATURE_TO_LEVEL(PLAYER4,WIZARD,PLAYER6,1,8,500)
		ADD_CREATURE_TO_LEVEL(PLAYER4,GIANT,PLAYER6,2,7,400)
		ADD_CREATURE_TO_LEVEL(PLAYER4,SAMURAI,PLAYER6,2,7,400)
		ADD_PARTY_TO_LEVEL(PLAYER4,MONKSONLY,PLAYER6,2)
	ENDIF
	IF(PLAYER0,TOTAL_CREATURES > 40)
		ADD_CREATURE_TO_LEVEL(PLAYER4,TIME_MAGE,PLAYER6,4,9,550)
		ADD_PARTY_TO_LEVEL(PLAYER4,GROUP2,PLAYER6,1)
	ENDIF
	IF(PLAYER0,TOTAL_CREATURES > 55)
		ADD_CREATURE_TO_LEVEL(PLAYER4,KNIGHT,PLAYER6,4,9,800)
		LEVEL_UP_PLAYERS_CREATURES(PLAYER4,ANY_CREATURE,1)
	ENDIF
	
	
	IF(PLAYER_GOOD,FLAG7 == 1)
		LEVEL_UP_CREATURE(PLAYER4,AVATAR,ANYWHERE,1)
		LEVEL_UP_PLAYERS_CREATURES(PLAYER4,ANY_CREATURE,1)
	ENDIF
	IF(PLAYER1,FLAG7 == 1)
		LEVEL_UP_CREATURE(PLAYER4,AVATAR,ANYWHERE,1)
		LEVEL_UP_PLAYERS_CREATURES(PLAYER4,ANY_CREATURE,1)
	ENDIF
	IF(PLAYER3,FLAG7 == 1)
		LEVEL_UP_CREATURE(PLAYER4,AVATAR,ANYWHERE,1)
		LEVEL_UP_PLAYERS_CREATURES(PLAYER4,ANY_CREATURE,1)
	ENDIF
ENDIF



	REM -- Crimson Lord.

IF_ACTION_POINT(34,PLAYER0)
	REVEAL_MAP_LOCATION(PLAYER0,PLAYER1,-1)
	DISPLAY_MESSAGE(46,CRIMSON)
	ZOOM_TO_LOCATION(PLAYER0,-15)
	
	ADD_CREATURE_TO_LEVEL(PLAYER4,CRIMSON,-15,1,6,2000,NONE)
	ADD_CREATURE_TO_LEVEL(PLAYER4,BLACK_KNIGHT,15,2,5,800,NONE)
	ADD_PARTY_TO_LEVEL(PLAYER4,CULTMAGIC,-13,1)
	ADD_PARTY_TO_LEVEL(PLAYER4,CULTMAGIC,-14,1)
	
	IF(PLAYER4,CRIMSON == 0)
		SET_FLAG(PLAYER1,FLAG7,1)
		ZOOM_TO_LOCATION(PLAYER0,LAST_DEATH_EVENT[PLAYER4])
		DISPLAY_INFORMATION(86,LAST_DEATH_EVENT[PLAYER4])
	ENDIF
ENDIF

IF(PLAYER4,CRIMSON > 0)
	IF(PLAYER0,TOTAL_CREATURES > 20)
		ADD_CREATURE_TO_LEVEL(PLAYER4,SERVANT,-15,4,6,300)
	ENDIF
	IF(PLAYER0,TOTAL_CREATURES > 30)
		ADD_CREATURE_TO_LEVEL(PLAYER4,VESTAL,-15,4,6,300)
	ENDIF
	IF(PLAYER0,TOTAL_CREATURES > 40)
		ADD_CREATURE_TO_LEVEL(PLAYER4,EXECUTIONER,-15,2,10,600)
		ADD_PARTY_TO_LEVEL(PLAYER4,CULTENFORCERS,-15,1)
		SET_FLAG(PLAYER1,FLAG2,1)
	ENDIF
	IF(PLAYER0,TOTAL_CREATURES > 50)
		ADD_CREATURE_TO_LEVEL(PLAYER4,BLACK_KNIGHT,-15,4,9,800)
		LEVEL_UP_PLAYERS_CREATURES(PLAYER4,ANY_CREATURE,1)
	ENDIF
	
	
	IF(PLAYER_GOOD,FLAG7 == 1)
		LEVEL_UP_CREATURE(PLAYER4,CRIMSON,ANYWHERE,1)
		LEVEL_UP_PLAYERS_CREATURES(PLAYER4,ANY_CREATURE,1)
	ENDIF
	IF(PLAYER3,FLAG7 == 1)
		LEVEL_UP_CREATURE(PLAYER4,CRIMSON,ANYWHERE,1)
		LEVEL_UP_PLAYERS_CREATURES(PLAYER4,ANY_CREATURE,1)
	ENDIF
	IF(PLAYER6,FLAG7 == 1)
		LEVEL_UP_CREATURE(PLAYER4,CRIMSON,ANYWHERE,1)
		LEVEL_UP_PLAYERS_CREATURES(PLAYER4,ANY_CREATURE,1)
	ENDIF
ENDIF

IF(PLAYER1,FLAG2 >= 1)
	IF_ACTION_POINT(36,PLAYER0)
		ADD_CREATURE_TO_LEVEL(PLAYER4,ASSASSIN,-12,4,10,300)
		ADD_CREATURE_TO_LEVEL(PLAYER4,ASSASSIN,-11,4,10,300)
	ENDIF
ENDIF



	REM -- Summoner Lord.

IF_ACTION_POINT(37,PLAYER0)
	REVEAL_MAP_RECT(PLAYER0,476,112,58,48)
	DISPLAY_MESSAGE(47,SUMMONER)
	ZOOM_TO_LOCATION(PLAYER0,124)
	
	ADD_CREATURE_TO_LEVEL(PLAYER4,SUMMONER,124,1,6,2000,NONE)
	ADD_CREATURE_TO_LEVEL(PLAYER4,TERROR,124,4,7,0,NONE)
	ADD_PARTY_TO_LEVEL(PLAYER4,EYEBALL,-17,1)
	ADD_PARTY_TO_LEVEL(PLAYER4,EYEBALL,-18,1)
	
	IF(PLAYER4,SUMMONER == 0)
		SET_FLAG(PLAYER3,FLAG7,1)
		ZOOM_TO_LOCATION(PLAYER0,LAST_DEATH_EVENT[PLAYER4])
		DISPLAY_INFORMATION(87,LAST_DEATH_EVENT[PLAYER4])
	ENDIF
ENDIF

IF(PLAYER4,SUMMONER > 0)
	IF(PLAYER0,TOTAL_CREATURES > 25)
		ADD_CREATURE_TO_LEVEL(PLAYER4,MISTRESS,-17,1,7,800,NONE)
		ADD_CREATURE_TO_LEVEL(PLAYER4,MISTRESS,-18,1,7,800,NONE)
		ADD_CREATURE_TO_LEVEL(PLAYER4,SORCEROR,-17,2,7,250)
		ADD_CREATURE_TO_LEVEL(PLAYER4,SORCEROR,-18,2,7,250)
	ENDIF
	IF(PLAYER0,TOTAL_CREATURES > 30)
		ADD_PARTY_TO_LEVEL(PLAYER4,DRAGON,-25,1)
		ADD_PARTY_TO_LEVEL(PLAYER4,DRAGON,-26,1)
		ADD_CREATURE_TO_LEVEL(PLAYER4,MAIDEN,-17,1,9,350)
		ADD_CREATURE_TO_LEVEL(PLAYER4,MAIDEN,-18,1,9,350)
		ADD_CREATURE_TO_LEVEL(PLAYER4,SORCEROR,-17,2,7,0)
		ADD_CREATURE_TO_LEVEL(PLAYER4,SORCEROR,-18,2,7,0)
	ENDIF
	IF(PLAYER0,TOTAL_CREATURES > 40)
		ADD_PARTY_TO_LEVEL(PLAYER4,DRAGON,-25,1)
		ADD_PARTY_TO_LEVEL(PLAYER4,DRAGON,-26,1)
		ADD_PARTY_TO_LEVEL(PLAYER4,CHUMS,-25,1)
		ADD_PARTY_TO_LEVEL(PLAYER4,CHUMS,-26,1)
		ADD_CREATURE_TO_LEVEL(PLAYER4,MAIDEN,-21,2,9,350)
		ADD_CREATURE_TO_LEVEL(PLAYER4,SPIDER,-21,4,8,0)
	ENDIF
	IF(PLAYER0,TOTAL_CREATURES > 55)
		ADD_CREATURE_TO_LEVEL(PLAYER4,DARK_MISTRESS,PLAYER3,1,8,450)
		ADD_CREATURE_TO_LEVEL(PLAYER4,BILE_DEMON,-21,3,7,0)
		ADD_PARTY_TO_LEVEL(PLAYER4,REAPER,PLAYER3,1)
	ENDIF
	
	
	IF(PLAYER_GOOD,FLAG7 == 1)
		LEVEL_UP_CREATURE(PLAYER4,SUMMONER,ANYWHERE,1)
		LEVEL_UP_PLAYERS_CREATURES(PLAYER4,ANY_CREATURE,1)
	ENDIF
	IF(PLAYER1,FLAG7 == 1)
		LEVEL_UP_CREATURE(PLAYER4,SUMMONER,ANYWHERE,1)
		LEVEL_UP_PLAYERS_CREATURES(PLAYER4,ANY_CREATURE,1)
	ENDIF
	IF(PLAYER6,FLAG7 == 1)
		LEVEL_UP_CREATURE(PLAYER4,SUMMONER,ANYWHERE,1)
		LEVEL_UP_PLAYERS_CREATURES(PLAYER4,ANY_CREATURE,1)
	ENDIF
ENDIF



	REM -----------------------------------
	REM -----------------------------------
	REM -- Some assorted attack parties. --


IF_ACTION_POINT(27,PLAYER0)
	SET_TIMER(PLAYER3,TIMER0)
	
	IF(PLAYER3,DUNGEON_DESTROYED == 0)
		IF(PLAYER3,TIMER0 > 8000)
			SET_DOOR(UNLOCKED,127,35)
			SET_DOOR(UNLOCKED,127,39)
		ENDIF
	
		IF(PLAYER3,TIMER0 > 16000)
			ADD_PARTY_TO_LEVEL(PLAYER5,WAAAGH,-16,1)
		ENDIF
		
		IF(PLAYER3,TIMER0 > 40000)
			ADD_CREATURE_TO_LEVEL(PLAYER5,BILE_DEMON,-21,2,7,0)
			ADD_CREATURE_TO_LEVEL(PLAYER5,BEHOLDER,-21,2,10,0)
			ADD_CREATURE_TO_LEVEL(PLAYER5,HELL_HOUND,-21,3,7,0)
		ENDIF
		
		IF(PLAYER3,TIMER0 > 95000)
			ADD_PARTY_TO_LEVEL(PLAYER5,WAAAGH,-16,1)
			ADD_CREATURE_TO_LEVEL(PLAYER5,ORC,-16,2,7,0)
			ADD_CREATURE_TO_LEVEL(PLAYER5,BEHOLDER,-21,4,10,0)
			ADD_CREATURE_TO_LEVEL(PLAYER5,HELL_HOUND,-21,4,9,0)
		ENDIF
	ENDIF
ENDIF



IF(PLAYER0,BOX5_ACTIVATED == 1)

ADD_CREATURE_TO_LEVEL(PLAYER2,DRAWFROM(THIEF,BARBARIAN,ARCHER),1,4,1,0,NONE)
ADD_CREATURE_TO_LEVEL(PLAYER2,DRAWFROM(THIEF,BARBARIAN,ARCHER),6,4,1,0,NONE)
ADD_CREATURE_TO_LEVEL(PLAYER2,DRAWFROM(THIEF,BARBARIAN,ARCHER),9,4,1,0,NONE)


	IF(PLAYER4,TIMER0 > 25000)
		CHANGE_CREATURE_OWNER(PLAYER2,ANY_CREATURE,MOST_EXPERIENCED,PLAYER5)
		CHANGE_CREATURE_OWNER(PLAYER2,ANY_CREATURE,MOST_EXPERIENCED,PLAYER5)
		CHANGE_CREATURE_OWNER(PLAYER2,ANY_CREATURE,LEAST_EXPERIENCED,PLAYER5)
		CHANGE_CREATURE_OWNER(PLAYER2,ANY_CREATURE,LEAST_EXPERIENCED,PLAYER5)
		CHANGE_CREATURE_OWNER(PLAYER2,ANY_CREATURE,LEAST_EXPERIENCED,PLAYER5)
		CHANGE_CREATURE_OWNER(PLAYER6,ANY_CREATURE,LEAST_EXPERIENCED,PLAYER5)
	ENDIF
	IF(PLAYER4,TIMER0 > 60000)
		CHANGE_CREATURE_OWNER(PLAYER2,ANY_CREATURE,MOST_EXPERIENCED,PLAYER5)
		CHANGE_CREATURE_OWNER(PLAYER2,ANY_CREATURE,MOST_EXPERIENCED,PLAYER5)
		CHANGE_CREATURE_OWNER(PLAYER2,ANY_CREATURE,LEAST_EXPERIENCED,PLAYER5)
		CHANGE_CREATURE_OWNER(PLAYER2,ANY_CREATURE,LEAST_EXPERIENCED,PLAYER5)
		CHANGE_CREATURE_OWNER(PLAYER6,ANY_CREATURE,MOST_EXPERIENCED,PLAYER5)
		CHANGE_CREATURE_OWNER(PLAYER6,ANY_CREATURE,LEAST_EXPERIENCED,PLAYER5)
		CHANGE_CREATURE_OWNER(PLAYER6,ANY_CREATURE,LEAST_EXPERIENCED,PLAYER5)
	ENDIF
	IF(PLAYER0,FLAG1 >= 3)
		IF(PLAYER4,TIMER0 > 80000)
			CHANGE_CREATURE_OWNER(PLAYER2,ANY_CREATURE,MOST_EXPERIENCED,PLAYER5)
			CHANGE_CREATURE_OWNER(PLAYER2,ANY_CREATURE,MOST_EXPERIENCED,PLAYER5)
			CHANGE_CREATURE_OWNER(PLAYER2,ANY_CREATURE,MOST_EXPERIENCED,PLAYER5)
			CHANGE_CREATURE_OWNER(PLAYER2,ANY_CREATURE,LEAST_EXPERIENCED,PLAYER5)
			CHANGE_CREATURE_OWNER(PLAYER2,ANY_CREATURE,LEAST_EXPERIENCED,PLAYER5)
			CHANGE_CREATURE_OWNER(PLAYER2,ANY_CREATURE,LEAST_EXPERIENCED,PLAYER5)
			CHANGE_CREATURE_OWNER(PLAYER6,ANY_CREATURE,MOST_EXPERIENCED,PLAYER5)
			CHANGE_CREATURE_OWNER(PLAYER6,ANY_CREATURE,MOST_EXPERIENCED,PLAYER5)
			CHANGE_CREATURE_OWNER(PLAYER6,ANY_CREATURE,LEAST_EXPERIENCED,PLAYER5)
			CHANGE_CREATURE_OWNER(PLAYER6,ANY_CREATURE,LEAST_EXPERIENCED,PLAYER5)
			ADD_CREATURE_TO_LEVEL(PLAYER5,ARCHER,13,3,4,100)
			CREATURE_ENTRANCE_LEVEL(PLAYER1,3)
			CREATURE_ENTRANCE_LEVEL(PLAYER2,3)
			CREATURE_ENTRANCE_LEVEL(PLAYER6,3)
		ENDIF
	ENDIF
	IF(PLAYER0,FLAG1 >= 4)
		IF(PLAYER4,TIMER0 > 100000)
			CHANGE_CREATURE_OWNER(PLAYER1,ANY_CREATURE,MOST_EXPERIENCED,PLAYER5)
			CHANGE_CREATURE_OWNER(PLAYER1,ANY_CREATURE,MOST_EXPERIENCED,PLAYER5)
			CHANGE_CREATURE_OWNER(PLAYER1,ANY_CREATURE,MOST_EXPERIENCED,PLAYER5)
			CHANGE_CREATURE_OWNER(PLAYER1,ANY_CREATURE,LEAST_EXPERIENCED,PLAYER5)
			CHANGE_CREATURE_OWNER(PLAYER1,ANY_CREATURE,LEAST_EXPERIENCED,PLAYER5)
			CHANGE_CREATURE_OWNER(PLAYER2,ANY_CREATURE,MOST_EXPERIENCED,PLAYER5)
			CHANGE_CREATURE_OWNER(PLAYER2,ANY_CREATURE,MOST_EXPERIENCED,PLAYER5)
			ADD_CREATURE_TO_LEVEL(PLAYER5,ASSASSIN,105,1,7,200)
			ADD_CREATURE_TO_LEVEL(PLAYER5,ASSASSIN,1,1,7,200)
			ADD_CREATURE_TO_LEVEL(PLAYER5,ASSASSIN,-9,1,7,200)
			CREATURE_ENTRANCE_LEVEL(PLAYER1,5)
			CREATURE_ENTRANCE_LEVEL(PLAYER2,5)
			CREATURE_ENTRANCE_LEVEL(PLAYER6,5)
		ENDIF
	ENDIF
	IF(PLAYER0,FLAG1 >= 6)
		IF(PLAYER4,TIMER0 > 125000)
			CHANGE_CREATURE_OWNER(PLAYER2,ANY_CREATURE,MOST_EXPERIENCED,PLAYER5)
			CHANGE_CREATURE_OWNER(PLAYER2,ANY_CREATURE,MOST_EXPERIENCED,PLAYER5)
			CHANGE_CREATURE_OWNER(PLAYER2,ANY_CREATURE,MOST_EXPERIENCED,PLAYER5)
			CHANGE_CREATURE_OWNER(PLAYER2,ANY_CREATURE,MOST_EXPERIENCED,PLAYER5)
			CHANGE_CREATURE_OWNER(PLAYER2,ANY_CREATURE,ANYWHERE,PLAYER5)
			CHANGE_CREATURE_OWNER(PLAYER2,ANY_CREATURE,LEAST_EXPERIENCED,PLAYER5)
			CHANGE_CREATURE_OWNER(PLAYER2,ANY_CREATURE,LEAST_EXPERIENCED,PLAYER5)
			CHANGE_CREATURE_OWNER(PLAYER2,ANY_CREATURE,LEAST_EXPERIENCED,PLAYER5)
			CHANGE_CREATURE_OWNER(PLAYER2,ANY_CREATURE,LEAST_EXPERIENCED,PLAYER5)
			CHANGE_CREATURE_OWNER(PLAYER6,ANY_CREATURE,ANYWHERE,PLAYER5)
			CHANGE_CREATURE_OWNER(PLAYER6,ANY_CREATURE,MOST_EXPERIENCED,PLAYER5)
			CHANGE_CREATURE_OWNER(PLAYER6,ANY_CREATURE,MOST_EXPERIENCED,PLAYER5)
			CHANGE_CREATURE_OWNER(PLAYER6,ANY_CREATURE,ANYWHERE,PLAYER5)
			CHANGE_CREATURE_OWNER(PLAYER6,ANY_CREATURE,LEAST_EXPERIENCED,PLAYER5)
			CHANGE_CREATURE_OWNER(PLAYER6,ANY_CREATURE,LEAST_EXPERIENCED,PLAYER5)
			CHANGE_CREATURE_OWNER(PLAYER6,ANY_CREATURE,LEAST_EXPERIENCED,PLAYER5)
			CHANGE_CREATURE_OWNER(PLAYER1,ANY_CREATURE,MOST_EXPERIENCED,PLAYER5)
			CHANGE_CREATURE_OWNER(PLAYER1,ANY_CREATURE,MOST_EXPERIENCED,PLAYER5)
			CHANGE_CREATURE_OWNER(PLAYER1,ANY_CREATURE,LEAST_EXPERIENCED,PLAYER5)
			CHANGE_CREATURE_OWNER(PLAYER1,ANY_CREATURE,LEAST_EXPERIENCED,PLAYER5)
			CREATURE_ENTRANCE_LEVEL(PLAYER1,7)
			CREATURE_ENTRANCE_LEVEL(PLAYER2,7)
			CREATURE_ENTRANCE_LEVEL(PLAYER6,7)
			SET_TIMER(PLAYER5,TIMER6)
		ENDIF
	ENDIF
ENDIF

IF(PLAYER0,BOX5_ACTIVATED == 1)
	IF(PLAYER5,TIMER6 > 15000)
		IF(PLAYER5,FLAG0 < 6)
			NEXT_COMMAND_REUSABLE
			CHANGE_CREATURE_OWNER(PLAYER1,ANY_CREATURE,ANYWHERE,PLAYER5)
			NEXT_COMMAND_REUSABLE
			CHANGE_CREATURE_OWNER(PLAYER2,ANY_CREATURE,ANYWHERE,PLAYER5)
			NEXT_COMMAND_REUSABLE
			CHANGE_CREATURE_OWNER(PLAYER6,ANY_CREATURE,ANYWHERE,PLAYER5)
			NEXT_COMMAND_REUSABLE
			ADD_TO_FLAG(PLAYER5,FLAG0,1)
		ENDIF
	ENDIF
	IF(PLAYER5,FLAG0 == 6)
		NEXT_COMMAND_REUSABLE
		SET_TIMER(PLAYER5,TIMER6)
		NEXT_COMMAND_REUSABLE
		SET_FLAG(PLAYER5,FLAG0,0)
	ENDIF
ENDIF



IF_ACTION_POINT(39,PLAYER0)
	SET_TIMER(PLAYER5,TIMER2)
ENDIF
IF(PLAYER5,TIMER2 > 4500)
	SET_DOOR(UNLOCKED,12,28)
ENDIF
IF(PLAYER0,BOX5_ACTIVATED == 1)
	IF(PLAYER5,TIMER2 > 9000)
		ADD_PARTY_TO_LEVEL(PLAYER5,MONKSONLY,-2,1)
		ADD_CREATURE_TO_LEVEL(PLAYER5,ARCHER,-2,2,4,100)
	ENDIF
	IF(PLAYER5,TIMER2 > 21000)
		ADD_PARTY_TO_LEVEL(PLAYER5,CHONKERS,-2,1)
		ADD_CREATURE_TO_LEVEL(PLAYER5,DWARFA,-2,2,5,100)
	ENDIF
	IF(PLAYER5,TIMER2 > 67000)
		ADD_PARTY_TO_LEVEL(PLAYER5,GROUP2,-2,1)
	ENDIF
	IF(PLAYER5,TIMER2 > 105000)
		ADD_PARTY_TO_LEVEL(PLAYER5,DRAWFROM(GROUP1,GROUP2,GROUP3),-2,1)
		ADD_PARTY_TO_LEVEL(PLAYER5,DRAWFROM(GROUP1,GROUP2,GROUP3),-1,1)
	ENDIF
ENDIF



IF_ACTION_POINT(40,PLAYER0)
	SET_TIMER(PLAYER5,TIMER3)
ENDIF
IF(PLAYER5,TIMER3 > 6000)
	SET_DOOR(UNLOCKED,39,31)
	SET_DOOR(UNLOCKED,41,49)
ENDIF
IF(PLAYER0,BOX5_ACTIVATED == 1)
	IF(PLAYER5,TIMER3 > 12000)
		SET_DOOR(UNLOCKED,43,31)
		ADD_CREATURE_TO_LEVEL(PLAYER5,THIEF,-4,3,3,50)
	ENDIF
	IF(PLAYER5,TIMER3 > 20500)
		ADD_CREATURE_TO_LEVEL(PLAYER5,SERVANT,-3,3,4,150)
		ADD_CREATURE_TO_LEVEL(PLAYER5,SERVANT,-4,3,4,150)
	ENDIF
	IF(PLAYER5,TIMER3 > 42500)
		ADD_CREATURE_TO_LEVEL(PLAYER5,EXECUTIONER,-3,1,6,200)
		ADD_CREATURE_TO_LEVEL(PLAYER5,SERVANT,-3,1,5,150)
		ADD_CREATURE_TO_LEVEL(PLAYER5,VESTAL,-3,1,5,150)
		ADD_CREATURE_TO_LEVEL(PLAYER5,EXECUTIONER,-4,1,6,200)
		ADD_CREATURE_TO_LEVEL(PLAYER5,SERVANT,-4,1,5,150)
		ADD_CREATURE_TO_LEVEL(PLAYER5,VESTAL,-4,1,5,150)
	ENDIF
	IF(PLAYER5,TIMER3 > 92500)
		ADD_CREATURE_TO_LEVEL(PLAYER5,EXECUTIONER,-3,1,6,200)
		ADD_CREATURE_TO_LEVEL(PLAYER5,SERVANT,-3,1,5,150)
		ADD_CREATURE_TO_LEVEL(PLAYER5,VESTAL,-3,1,5,150)
		ADD_CREATURE_TO_LEVEL(PLAYER5,WARLOCK,-3,1,5,150)
		ADD_CREATURE_TO_LEVEL(PLAYER5,CRONE,-3,1,5,150)
		ADD_CREATURE_TO_LEVEL(PLAYER5,EXECUTIONER,-4,1,6,200)
		ADD_CREATURE_TO_LEVEL(PLAYER5,SERVANT,-4,1,5,150)
		ADD_CREATURE_TO_LEVEL(PLAYER5,VESTAL,-4,1,5,150)
		ADD_CREATURE_TO_LEVEL(PLAYER5,WARLOCK,-3,1,5,150)
		ADD_CREATURE_TO_LEVEL(PLAYER5,CRONE,-3,1,5,150)
	ENDIF
ENDIF



IF_ACTION_POINT(41,PLAYER0)
	SET_TIMER(PLAYER5,TIMER4)
ENDIF
IF(PLAYER5,TIMER4 > 2000)
	SET_DOOR(UNLOCKED,67,51)
ENDIF
IF(PLAYER0,BOX5_ACTIVATED == 1)
	IF(PLAYER5,TIMER4 > 8000)
		SET_DOOR(UNLOCKED,65,45)
	ENDIF
	IF(PLAYER5,TIMER4 > 14000)
		ADD_CREATURE_TO_LEVEL(PLAYER5,THIEF,-1,4,4,50)
	ENDIF
	IF(PLAYER5,TIMER4 > 27000)
		ADD_PARTY_TO_LEVEL(PLAYER5,HEALERS,-1,1)
		ADD_CREATURE_TO_LEVEL(PLAYER5,BARBARIAN,-1,4,6,150)
	ENDIF
	IF(PLAYER5,TIMER4 > 58500)
		ADD_PARTY_TO_LEVEL(PLAYER5,RPG,-1,1)
		ADD_CREATURE_TO_LEVEL(PLAYER5,CRONE,-1,1,8,425)
	ENDIF
	IF(PLAYER5,TIMER4 > 120000)
		ADD_PARTY_TO_LEVEL(PLAYER5,CULTENFORCERS,-1,1)
		ADD_CREATURE_TO_LEVEL(PLAYER5,CRONE,-1,2,9,425)
	ENDIF
ENDIF



IF_ACTION_POINT(43,PLAYER0)
	SET_TIMER(PLAYER5,TIMER5)
ENDIF
IF_SLAB_OWNER(139,4,PLAYER5)
	IF(PLAYER5,TIMER5 > 9000)
		ADD_CREATURE_TO_LEVEL(PLAYER5,SALAMANDER,-27,2,7,0)
		ADD_CREATURE_TO_LEVEL(PLAYER5,DEMONSPAWN,-27,5,6,0)
	ENDIF
ENDIF
IF_SLAB_OWNER(139,4,PLAYER5)
	IF(PLAYER5,TIMER5 > 32000)
		ADD_CREATURE_TO_LEVEL(PLAYER5,SALAMANDER,-27,2,7,0)
		ADD_CREATURE_TO_LEVEL(PLAYER5,BEHOLDER,-27,3,7,0)
	ENDIF
ENDIF
IF(PLAYER0,BOX5_ACTIVATED == 1)
	IF_SLAB_OWNER(139,4,PLAYER5)
		IF(PLAYER5,TIMER5 > 66666)
			ADD_CREATURE_TO_LEVEL(PLAYER5,HORNY,-27,2,6,0)
			ADD_CREATURE_TO_LEVEL(PLAYER5,TERROR,-27,8,6,0)
		ENDIF
	ENDIF
	IF_SLAB_OWNER(139,4,PLAYER5)
		IF(PLAYER5,TIMER5 > 120000)
			ADD_CREATURE_TO_LEVEL(PLAYER5,REAPER,-27,1,10,0)
		ENDIF
	ENDIF
	IF_SLAB_OWNER(139,4,PLAYER0)
		HIDE_HERO_GATE(-27,1)
	ENDIF
ENDIF



IF(PLAYER2,BATTLES_LOST > 10)
	SET_TIMER(PLAYER2,TIMER0)
ENDIF
IF(PLAYER2,TIMER0 > 12000)
	ADD_CREATURE_TO_LEVEL(PLAYER5,THIEF,13,6,6,50)
	ADD_CREATURE_TO_LEVEL(PLAYER5,BARBARIAN,13,2,5,180)
ENDIF
IF(PLAYER2,TIMER0 > 36000)
	ADD_PARTY_TO_LEVEL(PLAYER5,MONKSONLY,13,1)
	ADD_PARTY_TO_LEVEL(PLAYER5,BRUTES,13,1)
ENDIF
IF(PLAYER2,TIMER0 > 50000)
	ADD_PARTY_TO_LEVEL(PLAYER5,RPG,13,1)
	IF(PLAYER0,BOX5_ACTIVATED == 1)
		ADD_CREATURE_TO_LEVEL(PLAYER5,GIANT,13,2,8,180)
		ADD_CREATURE_TO_LEVEL(PLAYER5,WITCH,13,1,9,180)
	ENDIF
ENDIF
IF(PLAYER0,BOX5_ACTIVATED == 1)
	IF(PLAYER2,TIMER0 > 75000)
		ADD_PARTY_TO_LEVEL(PLAYER5,GROUP1,13,1)
		ADD_PARTY_TO_LEVEL(PLAYER5,GROUP3,13,1)
	ENDIF
ENDIF



	REM -------------
	REM -------------
	REM -- Map win --

SET_BOX_TOOLTIP_ID(2,66)

IF(PLAYER_GOOD,DUNGEON_DESTROYED == 1)
	IF(PLAYER4,PALADIN == 0)
		IF(PLAYER1,DUNGEON_DESTROYED == 1)
			IF(PLAYER4,CRIMSON == 0)
				IF(PLAYER3,DUNGEON_DESTROYED == 1)
					IF(PLAYER4,SUMMONER == 0)
						IF(PLAYER6,DUNGEON_DESTROYED == 1)
							IF(PLAYER4,AVATAR == 0)
								SET_TIMER(PLAYER0,TIMER0)
							ENDIF
						ENDIF
					ENDIF
				ENDIF
			ENDIF
		ENDIF
	ENDIF
ENDIF

IF(PLAYER0,TIMER0 > 750)
	IF(PLAYER0,ACTIVE_BATTLES == 0)
		DISPLAY_OBJECTIVE(88,44)
		ZOOM_TO_LOCATION(PLAYER0,44)
		CREATE_EFFECT_AT_POS(EFFECT_RESEARCH_COMPLETE,124,202,4)
		PLAY_MESSAGE(PLAYER0,SOUND,160)
		ADD_OBJECT_TO_LEVEL_AT_POS(SPECBOX_CUSTOM,124,202,2,PLAYER0)
		ADD_TO_FLAG(PLAYER4,FLAG1,1)
	ENDIF
ENDIF

IF(PLAYER0,BOX2_ACTIVATED > 0)
	WIN_GAME
ENDIF



	REM ------------------------
	REM ------------------------
	REM -- Secret boss access --

SET_BOX_TOOLTIP_ID(6,67)
SET_BOX_TOOLTIP_ID(7,68)
SET_BOX_TOOLTIP_ID(8,69)
SET_BOX_TOOLTIP_ID(9,70)
SET_CREATURE_CONFIGURATION(FLOATING_SPIRIT,BASESPEED,0)
SET_CREATURE_PROPERTY(FLOATING_SPIRIT,NO_CORPSE_ROTTING,1)
SET_CREATURE_CONFIGURATION(TYRANT,BASESPEED,0)

IF(PLAYER0,BOX6_ACTIVATED == 1)
	PLAY_MESSAGE(PLAYER0,SOUND,158)
	DISPLAY_MESSAGE(74,SCAVENGER)
	ADD_TO_FLAG(PLAYER4,FLAG1,1)
	ADD_OBJECT_TO_LEVEL_AT_POS(WRITINGS_OF_ALHAZRED,448,490,0)
ENDIF
IF(PLAYER0,BOX7_ACTIVATED == 1)
	PLAY_MESSAGE(PLAYER0,SOUND,158)
	DISPLAY_MESSAGE(74,SCAVENGER)
	ADD_TO_FLAG(PLAYER4,FLAG1,1)
	ADD_OBJECT_TO_LEVEL_AT_POS(TOME_OF_TYKETTO,466,490,0)
ENDIF
IF(PLAYER0,BOX8_ACTIVATED == 1)
	PLAY_MESSAGE(PLAYER0,SOUND,158)
	DISPLAY_MESSAGE(74,SCAVENGER)
	ADD_TO_FLAG(PLAYER4,FLAG1,1)
	ADD_OBJECT_TO_LEVEL_AT_POS(URN_OF_KUYLEH,457,499,0)
ENDIF

IF(PLAYER4,FLAG1 == 4)
	SET_TIMER(PLAYER0,TIMER1)
	NEXT_COMMAND_REUSABLE
	CHANGE_CREATURE_OWNER(PLAYER4,ANY_CREATURE,ANYWHERE,PLAYER5)
ENDIF

IF(PLAYER0,TIMER1 > 500)
	IF(PLAYER0,ACTIVE_BATTLES == 0)
		REVEAL_MAP_LOCATION(PLAYER0,42,26)
		ZOOM_TO_LOCATION(PLAYER0,42)
	ENDIF
ENDIF
IF(PLAYER0,TIMER1 > 535)
	USE_POWER_AT_LOCATION(PLAYER0,42,POWER_DESTROY_WALLS,9,1)
	CHANGE_SLAB_TYPE(151,143,LAVA)
	CHANGE_SLAB_TYPE(153,143,LAVA)
	CHANGE_SLAB_TYPE(151,144,LAVA)
	CHANGE_SLAB_TYPE(152,144,LAVA)
	CHANGE_SLAB_TYPE(153,144,LAVA)
	CHANGE_SLAB_TYPE(151,145,LAVA)
	CHANGE_SLAB_TYPE(153,145,LAVA)
ENDIF

IF_ACTION_POINT(114,PLAYER0)
	DISPLAY_OBJECTIVE(89,115)
	REVEAL_MAP_RECT(PLAYER0,457,478,102,60)
	ZOOM_TO_LOCATION(PLAYER0,114)
	SET_TIMER(PLAYER4,TIMER1)
	ROOM_AVAILABLE(PLAYER0,HARDEN,0,0)
ENDIF
IF(PLAYER4,TIMER1 > 60)
	CHANGE_SLAB_OWNER(152,157,PLAYER0,MATCH)
	PLAY_MESSAGE(PLAYER0,SOUND,76)
	CREATE_EFFECT_AT_POS(EFFECT_SPANGLE_RED,457,469,1)
	CREATE_EFFECT_AT_POS(EFFECT_SPANGLE_RED,454,472,1)
	CREATE_EFFECT_AT_POS(EFFECT_SPANGLE_RED,460,472,1)
	CREATE_EFFECT_AT_POS(EFFECT_SPANGLE_RED,457,475,1)
ENDIF



	REM ---------------------------
	REM ---------------------------
	REM -- Secret boss activated --

IF(PLAYER0,BOX9_ACTIVATED == 1)
	SET_FLAG(PLAYER4,FLAG1,50)
	ALLY_PLAYERS(PLAYER4,PLAYER0,3)
	ADD_CREATURE_TO_LEVEL(PLAYER4,FLOATING_SPIRIT,116,1,10,0,NONE)
	SET_TIMER(PLAYER4,TIMER1)
	
	NEXT_COMMAND_REUSABLE
	ZOOM_TO_LOCATION(PLAYER0,115)
	
	IF(PLAYER4,TIMER1 > 100)
		CREATE_EFFECTS_LINE(117,115,0,6,4,EFFECTELEMENT_ENTRANCE_MIST)
		ADD_EFFECT_GENERATOR_TO_LEVEL(EFFECTGENERATOR_DRY_ICE,115,5)
		SET_GAME_RULE(GLOBALAMBIENTLIGHT,14)
	ENDIF
	IF(PLAYER4,TIMER1 > 125)
		SET_GAME_RULE(GLOBALAMBIENTLIGHT,12)
	ENDIF
	IF(PLAYER4,TIMER1 > 150)
		CREATE_EFFECTS_LINE(119,115,0,6,4,EFFECTELEMENT_ENTRANCE_MIST)
		SET_GAME_RULE(GLOBALAMBIENTLIGHT,10)
	ENDIF
	IF(PLAYER4,TIMER1 > 175)
		SET_GAME_RULE(GLOBALAMBIENTLIGHT,8)
	ENDIF
	IF(PLAYER4,TIMER1 > 200)
		CREATE_EFFECTS_LINE(118,115,0,6,4,EFFECTELEMENT_ENTRANCE_MIST)
		SET_GAME_RULE(GLOBALAMBIENTLIGHT,6)
	ENDIF
	IF(PLAYER4,TIMER1 > 225)
		SET_GAME_RULE(GLOBALAMBIENTLIGHT,4)
	ENDIF
	IF(PLAYER4,TIMER1 > 250)
		KILL_CREATURE(PLAYER4,FLOATING_SPIRIT,ANYWHERE,1)
		CREATE_EFFECTS_LINE(116,115,0,6,4,EFFECTELEMENT_ENTRANCE_MIST)
		SET_GAME_RULE(GLOBALAMBIENTLIGHT,2)
	ENDIF
	
	IF(PLAYER4,TIMER1 > 400)
		CREATE_EFFECTS_LINE(116,120,64,6,2,EFFECT_BALL_PUFF_RED)
		CREATE_EFFECTS_LINE(117,121,64,6,2,EFFECT_BALL_PUFF_RED)
		CREATE_EFFECTS_LINE(118,122,64,6,2,EFFECT_BALL_PUFF_RED)
		CREATE_EFFECTS_LINE(119,123,64,6,2,EFFECT_BALL_PUFF_RED)
	ENDIF
	IF(PLAYER4,TIMER1 > 405)
		CREATE_EFFECTS_LINE(116,120,64,6,2,EFFECT_BALL_PUFF_YELLOW)
		CREATE_EFFECTS_LINE(117,121,64,6,2,EFFECT_BALL_PUFF_YELLOW)
		CREATE_EFFECTS_LINE(118,122,64,6,2,EFFECT_BALL_PUFF_YELLOW)
		CREATE_EFFECTS_LINE(119,123,64,6,2,EFFECT_BALL_PUFF_YELLOW)
	ENDIF
	IF(PLAYER4,TIMER1 > 410)
		CREATE_EFFECTS_LINE(116,120,64,6,2,EFFECT_BALL_PUFF_RED)
		CREATE_EFFECTS_LINE(117,121,64,6,2,EFFECT_BALL_PUFF_RED)
		CREATE_EFFECTS_LINE(118,122,64,6,2,EFFECT_BALL_PUFF_RED)
		CREATE_EFFECTS_LINE(119,123,64,6,2,EFFECT_BALL_PUFF_RED)
	ENDIF
	IF(PLAYER4,TIMER1 > 415)
		CREATE_EFFECTS_LINE(116,120,64,6,2,EFFECT_BALL_PUFF_YELLOW)
		CREATE_EFFECTS_LINE(117,121,64,6,2,EFFECT_BALL_PUFF_YELLOW)
		CREATE_EFFECTS_LINE(118,122,64,6,2,EFFECT_BALL_PUFF_YELLOW)
		CREATE_EFFECTS_LINE(119,123,64,6,2,EFFECT_BALL_PUFF_YELLOW)
	ENDIF
	IF(PLAYER4,TIMER1 > 420)
		CREATE_EFFECTS_LINE(116,120,64,6,2,EFFECT_BALL_PUFF_RED)
		CREATE_EFFECTS_LINE(117,121,64,6,2,EFFECT_BALL_PUFF_RED)
		CREATE_EFFECTS_LINE(118,122,64,6,2,EFFECT_BALL_PUFF_RED)
		CREATE_EFFECTS_LINE(119,123,64,6,2,EFFECT_BALL_PUFF_RED)
	ENDIF
	IF(PLAYER4,TIMER1 > 425)
		CREATE_EFFECTS_LINE(116,120,64,6,2,EFFECT_BALL_PUFF_YELLOW)
		CREATE_EFFECTS_LINE(117,121,64,6,2,EFFECT_BALL_PUFF_YELLOW)
		CREATE_EFFECTS_LINE(118,122,64,6,2,EFFECT_BALL_PUFF_YELLOW)
		CREATE_EFFECTS_LINE(119,123,64,6,2,EFFECT_BALL_PUFF_YELLOW)
	ENDIF
	IF(PLAYER4,TIMER1 > 430)
		CREATE_EFFECTS_LINE(116,120,64,6,2,EFFECT_BALL_PUFF_RED)
		CREATE_EFFECTS_LINE(117,121,64,6,2,EFFECT_BALL_PUFF_RED)
		CREATE_EFFECTS_LINE(118,122,64,6,2,EFFECT_BALL_PUFF_RED)
		CREATE_EFFECTS_LINE(119,123,64,6,2,EFFECT_BALL_PUFF_RED)
	ENDIF
	
	IF(PLAYER4,TIMER1 > 460)
		CREATE_EFFECT(EFFECT_WORD_OF_POWER,115,1)
		ADD_CREATURE_TO_LEVEL(PLAYER4,TYRANT,115,1,10,0,NONE)
		SET_FLAG(PLAYER0,BOX9_ACTIVATED,2)
	ENDIF
ENDIF

IF(PLAYER0,BOX9_ACTIVATED >= 2)
	IF(PLAYER4,TIMER1 > 500)
		ROOM_AVAILABLE(PLAYER0,HARDEN,1,1)
		SET_CREATURE_CONFIGURATION(TYRANT,BASESPEED,32)
		ALLY_PLAYERS(PLAYER0,PLAYER4,2)
		SET_GAME_RULE(GLOBALAMBIENTLIGHT,4)
	ENDIF
	IF(PLAYER4,TIMER1 > 502)
		SET_GAME_RULE(GLOBALAMBIENTLIGHT,6)
	ENDIF
	IF(PLAYER4,TIMER1 > 504)
		SET_GAME_RULE(GLOBALAMBIENTLIGHT,8)
	ENDIF
	IF(PLAYER4,TIMER1 > 506)
		SET_GAME_RULE(GLOBALAMBIENTLIGHT,10)
	ENDIF
	IF(PLAYER4,TIMER1 > 508)
		SET_GAME_RULE(GLOBALAMBIENTLIGHT,12)
	ENDIF
	IF(PLAYER4,TIMER1 > 510)
		SET_GAME_RULE(GLOBALAMBIENTLIGHT,14)
	ENDIF
	IF(PLAYER4,TIMER1 > 512)
		SET_GAME_RULE(GLOBALAMBIENTLIGHT,16)
	ENDIF
ENDIF



	REM -----------------------
	REM -----------------------
	REM -- Secret Boss fight --

IF(PLAYER0,BOX9_ACTIVATED >= 2)
	IF(PLAYER4,TYRANT > 0)
		ADD_CREATURE_TO_LEVEL(PLAYER4,REAPER,-19,1,10,4000)
		ADD_CREATURE_TO_LEVEL(PLAYER4,BEHOLDER,-19,4,10,800)
		ADD_CREATURE_TO_LEVEL(PLAYER4,HELL_HOUND,-19,6,10,400)
		
		ADD_CREATURE_TO_LEVEL(PLAYER4,REAPER,-20,1,10,4000)
		ADD_CREATURE_TO_LEVEL(PLAYER4,BEHOLDER,-20,4,10,800)
		ADD_CREATURE_TO_LEVEL(PLAYER4,HELL_HOUND,-20,6,10,400)
		
		ADD_CREATURE_TO_LEVEL(PLAYER4,NECROMANCER,74,2,10,750,NONE)
		ADD_CREATURE_TO_LEVEL(PLAYER4,DRAWFROM(ZOMBIE,SKELETON),74,12,10,0,NONE)
		ADD_CREATURE_TO_LEVEL(PLAYER4,DRAWFROM(ZOMBIE,SKELETON),74,12,10,0,NONE)
		ADD_CREATURE_TO_LEVEL(PLAYER4,GHOST,74,8,10,0,NONE)
		CHANGE_SLAB_TYPE(90,31,HARD_FLOOR,NONE)
		SET_DOOR(UNLOCKED,90,17)
		SET_DOOR(UNLOCKED,90,28)

		ADD_CREATURE_TO_LEVEL(PLAYER4,NECROMANCER,-6,2,10,750,NONE)
		ADD_CREATURE_TO_LEVEL(PLAYER4,DRAWFROM(ZOMBIE,SKELETON),-6,12,10,0,NONE)
		ADD_CREATURE_TO_LEVEL(PLAYER4,DRAWFROM(ZOMBIE,SKELETON),-6,12,10,0,NONE)
		ADD_CREATURE_TO_LEVEL(PLAYER4,GHOST,-6,8,10,0,NONE)
		SET_DOOR(UNLOCKED,114,161)
		
		ADD_CREATURE_TO_LEVEL(PLAYER4,DRAWFROM(DARK_MISTRESS,MISTRESS),-21,3,10,750,NONE)
		ADD_CREATURE_TO_LEVEL(PLAYER4,DRAWFROM(BLACK_KNIGHT,BILE_DEMON),-21,3,10,750,NONE)
		
		ADD_CREATURE_TO_LEVEL(PLAYER4,ORC,-28,8,10,600,NONE)
		ADD_CREATURE_TO_LEVEL(PLAYER4,TROLL,-28,22,10,400,NONE)
		
		SET_TIMER(PLAYER4,TIMER2)
	
		IF(PLAYER4,TIMER2 > 2500)
			NEXT_COMMAND_REUSABLE
			ADD_CREATURE_TO_LEVEL(PLAYER4,BUG,28,12,10,0,NONE)
			NEXT_COMMAND_REUSABLE
			ADD_CREATURE_TO_LEVEL(PLAYER4,SALAMANDER,125,4,10,150,NONE)
			NEXT_COMMAND_REUSABLE
			ADD_CREATURE_TO_LEVEL(PLAYER4,DRAGON,-21,2,10,700,NONE)
			NEXT_COMMAND_REUSABLE
			ADD_CREATURE_TO_LEVEL(PLAYER4,DEMONSPAWN,-21,8,10,200,NONE)
			NEXT_COMMAND_REUSABLE
			ADD_CREATURE_TO_LEVEL(PLAYER4,ORC,-28,2,10,600,NONE)
			NEXT_COMMAND_REUSABLE
			ADD_CREATURE_TO_LEVEL(PLAYER4,TROLL,-28,6,10,400,NONE)
			NEXT_COMMAND_REUSABLE
			ADD_CREATURE_TO_LEVEL(PLAYER4,QUEEN,-15,4,10,500,NONE)
			NEXT_COMMAND_REUSABLE
			ADD_CREATURE_TO_LEVEL(PLAYER4,FLY,-15,10,10,0,NONE)
			NEXT_COMMAND_REUSABLE
			SET_TIMER(PLAYER4,TIMER2)
		ENDIF
	ENDIF
	
	IF(PLAYER4,TYRANT == 0)
		SET_BOX_TOOLTIP_ID(2,82)
		
		IF(PLAYER0,ACTIVE_BATTLES == 0)
			IF_CONTROLS(PLAYER4,TOTAL_CREATURES == 0)
				ZOOM_TO_LOCATION(PLAYER0,44)
				CREATE_EFFECT_AT_POS(EFFECT_RESEARCH_COMPLETE,124,202,4)
				PLAY_MESSAGE(PLAYER0,SOUND,160)
			ENDIF
		ENDIF
	ENDIF
ENDIF



	REM -------------------------------------
	REM -------------------------------------
	REM -- Random set-piece specific shit. --


	REM -- Where the fuck did these guys come from?

IF(PLAYER0,BOX5_ACTIVATED == 1)
	IF(PLAYER4,TIMER0 > 130000)
		ADD_CREATURE_TO_LEVEL(PLAYER5,DRAWFROM(ASSASSIN,THIEF),-1,2,DRAWFROM(8~10),325)
		ADD_CREATURE_TO_LEVEL(PLAYER5,DRAWFROM(ASSASSIN,THIEF),-1,1,DRAWFROM(8~10),325)
		ADD_CREATURE_TO_LEVEL(PLAYER5,DRAWFROM(ASSASSIN,THIEF),-2,2,DRAWFROM(8~10),325)
		ADD_CREATURE_TO_LEVEL(PLAYER5,DRAWFROM(ASSASSIN,THIEF),-2,1,DRAWFROM(8~10),325)
		ADD_CREATURE_TO_LEVEL(PLAYER5,DRAWFROM(ASSASSIN,THIEF),-7,2,DRAWFROM(8~10),325)
		ADD_CREATURE_TO_LEVEL(PLAYER5,DRAWFROM(ASSASSIN,THIEF),-7,1,DRAWFROM(8~10),325)
		ADD_CREATURE_TO_LEVEL(PLAYER5,DRAWFROM(ASSASSIN,THIEF),-9,2,DRAWFROM(8~10),325)
		ADD_CREATURE_TO_LEVEL(PLAYER5,DRAWFROM(ASSASSIN,THIEF),-9,1,DRAWFROM(8~10),325)
		ADD_CREATURE_TO_LEVEL(PLAYER5,DRAWFROM(ASSASSIN,THIEF),13,2,DRAWFROM(8~10),325)
		ADD_CREATURE_TO_LEVEL(PLAYER5,DRAWFROM(ASSASSIN,THIEF),13,1,DRAWFROM(8~10),325)
		ADD_CREATURE_TO_LEVEL(PLAYER5,DRAWFROM(ASSASSIN,THIEF),1,2,DRAWFROM(8~10),325)
		ADD_CREATURE_TO_LEVEL(PLAYER5,DRAWFROM(ASSASSIN,THIEF),1,1,DRAWFROM(8~10),325)
	ENDIF
ENDIF



	REM -- Beetles break through the easy-access gems after player has used them for some amount of time.
	
NEXT_COMMAND_REUSABLE
COUNT_CREATURES_AT_ACTION_POINT(26,PLAYER0,IMP,PLAYER0,FLAG2)

IF(PLAYER0,FLAG2 > 0)
	NEXT_COMMAND_REUSABLE
	ADD_TO_FLAG(PLAYER0,FLAG3,1)
ENDIF

IF(PLAYER0,FLAG3 > 5000)
	ZOOM_TO_LOCATION(PLAYER0,26)
	PLAY_MESSAGE(PLAYER0,SOUND,927)
	CHANGE_SLAB_TYPE(4,57,PATH,NONE)
	CREATE_EFFECT_AT_POS(EFFECT_DIRT_RUBBLE_BIG,14,171,3)
	CREATE_EFFECT_AT_POS(EFFECT_DIRT_RUBBLE_BIG,13,173,3)
	ADD_CREATURE_TO_LEVEL(PLAYER5,BUG,64,5,9,0,NONE)
	ADD_CREATURE_TO_LEVEL(PLAYER5,BUG,64,5,10,0,NONE)
ENDIF



	REM -- Spawn Cultist parties when player enters Blue's causeway.
	
IF_SLAB_TYPE(125,113,PRETTY_PATH)
	SET_FLAG(PLAYER1,FLAG0,1)
ENDIF
IF_SLAB_TYPE(125,115,PRETTY_PATH)
	SET_FLAG(PLAYER1,FLAG0,1)
ENDIF
IF(PLAYER1,FLAG0 == 1)
	ZOOM_TO_LOCATION(PLAYER0,29)
	SET_TIMER(PLAYER1,TIMER0)
	ADD_PARTY_TO_LEVEL(PLAYER5,CULTENFORCERS,-12,1)
ENDIF
IF(PLAYER1,TIMER0 > 30)
	CHANGE_SLAB_TYPE(136,111,DRAPE_WALL)
	CHANGE_SLAB_TYPE(138,111,DRAPE_WALL)
	REVEAL_MAP_LOCATION(PLAYER0,-12,-1)
	CHANGE_SLAB_TYPE(136,111,PRETTY_PATH)
	CHANGE_SLAB_TYPE(138,111,PRETTY_PATH)
	ZOOM_TO_LOCATION(PLAYER0,-12)
	ADD_PARTY_TO_LEVEL(PLAYER5,CULTENFORCERS,-11,1)
ENDIF
IF(PLAYER1,TIMER0 > 60)
	CHANGE_SLAB_TYPE(136,117,DRAPE_WALL)
	CHANGE_SLAB_TYPE(138,117,DRAPE_WALL)
	REVEAL_MAP_LOCATION(PLAYER0,-11,-1)
	CHANGE_SLAB_TYPE(136,117,PRETTY_PATH)
	CHANGE_SLAB_TYPE(138,117,PRETTY_PATH)
	ZOOM_TO_LOCATION(PLAYER0,-11)
ENDIF
IF(PLAYER1,TIMER0 > 500)
	IF(PLAYER1,FLAG1 < 30)
		ADD_PARTY_TO_LEVEL(PLAYER5,CULT1,-11,3)
		ADD_PARTY_TO_LEVEL(PLAYER5,CULT2,-11,3)
		ADD_PARTY_TO_LEVEL(PLAYER5,CULT3,-11,2)
		ADD_PARTY_TO_LEVEL(PLAYER5,CULT1,-12,3)
		ADD_PARTY_TO_LEVEL(PLAYER5,CULT2,-12,3)
		ADD_PARTY_TO_LEVEL(PLAYER5,CULT3,-12,2)
		ADD_PARTY_TO_LEVEL(PLAYER5,DRAWFROM(CULT1,CULT2,CULT3),34,2)
		ADD_PARTY_TO_LEVEL(PLAYER5,DRAWFROM(CULT1,CULT2,CULT3),34,2)
		ADD_PARTY_TO_LEVEL(PLAYER5,DRAWFROM(CULT1,CULT2,CULT3),34,2)
		
		NEXT_COMMAND_REUSABLE
		LEVEL_UP_CREATURE(PLAYER5,ANY_CREATURE,AT_ACTION_POINT[35],1)
		NEXT_COMMAND_REUSABLE
		ADD_TO_FLAG(PLAYER1,FLAG1,1)
	ENDIF
ENDIF



	REM -- Some Cultists neck themselves.
	
IF_ACTION_POINT(23,PLAYER0)
	CHANGE_SLAB_TYPE(128,75,PRETTY_PATH)
	CHANGE_SLAB_TYPE(134,75,PRETTY_PATH)
	CHANGE_SLAB_TYPE(131,77,PRETTY_PATH)
	SET_CREATURE_CONFIGURATION(SERVANT,Die,0,0)
	SET_CREATURE_CONFIGURATION(WITCH,Die,0,0)
	SET_CREATURE_CONFIGURATION(CRONE,Die,0,0)
	SET_CREATURE_CONFIGURATION(WARLOCK,Die,0,0)
	SET_CREATURE_CONFIGURATION(SORCEROR,Die,0,0)
	
	ADD_CREATURE_TO_LEVEL(PLAYER5,SERVANT,75,3,3,0,NONE)
	ADD_CREATURE_TO_LEVEL(PLAYER5,SERVANT,75,3,5,0,NONE)
	ADD_CREATURE_TO_LEVEL(PLAYER5,SERVANT,76,3,8,0,NONE)
	ADD_CREATURE_TO_LEVEL(PLAYER5,WITCH,75,2,3,0,NONE)
	ADD_CREATURE_TO_LEVEL(PLAYER5,WITCH,75,1,5,0,NONE)
	ADD_CREATURE_TO_LEVEL(PLAYER5,WITCH,76,1,8,0,NONE)
	ADD_CREATURE_TO_LEVEL(PLAYER5,WARLOCK,75,2,3,0,NONE)
	ADD_CREATURE_TO_LEVEL(PLAYER5,WARLOCK,75,1,5,0,NONE)
	ADD_CREATURE_TO_LEVEL(PLAYER5,WARLOCK,76,1,8,0,NONE)
	ADD_CREATURE_TO_LEVEL(PLAYER5,CRONE,75,2,3,0,NONE)
	ADD_CREATURE_TO_LEVEL(PLAYER5,CRONE,75,1,5,0,NONE)
	ADD_CREATURE_TO_LEVEL(PLAYER5,CRONE,76,1,8,0,NONE)
	ADD_CREATURE_TO_LEVEL(PLAYER5,SORCEROR,75,2,3,0,NONE)
	ADD_CREATURE_TO_LEVEL(PLAYER5,SORCEROR,75,1,5,0,NONE)
	ADD_CREATURE_TO_LEVEL(PLAYER5,SORCEROR,76,1,8,0,NONE)
	
	KILL_CREATURE(PLAYER5,ANY_CREATURE,AT_ACTION_POINT[24],88)
	SET_CREATURE_CONFIGURATION(SERVANT,Die,799,2)
	SET_CREATURE_CONFIGURATION(WITCH,Die,748,2)
	SET_CREATURE_CONFIGURATION(CRONE,Die,442,2)
	SET_CREATURE_CONFIGURATION(WARLOCK,Die,459,2)
	SET_CREATURE_CONFIGURATION(SORCEROR,Die,459,2)
	SET_TIMER(PLAYER5,TIMER0)

	IF(PLAYER5,TIMER0 > 50)
		ADD_PARTY_TO_LEVEL(PLAYER5,REAPER,-23,1)
	ENDIF
ENDIF



	REM -- Kill Green player when Orange is defeated, and convert all of his remaining heroes into roaming. Add a special box where Green's heart used to be.
	REM -- Convert Blue's heroes into roaming when defeated.
	REM -- Prevent tortured heroes revealing green's heart.

IF(PLAYER6,DUNGEON_DESTROYED == 1)
	SET_TIMER(PLAYER6,TIMER0)
	
	IF(PLAYER6,TIMER0 < 150)
		SET_HEART_HEALTH(PLAYER2,0)
		NEXT_COMMAND_REUSABLE
		CHANGE_CREATURE_OWNER(PLAYER2,ANY_CREATURE,ANYWHERE,PLAYER5)
		NEXT_COMMAND_REUSABLE
		CHANGE_CREATURE_OWNER(PLAYER6,ANY_CREATURE,ANYWHERE,PLAYER5)
		NEXT_COMMAND_REUSABLE
		CHANGE_CREATURE_OWNER(PLAYER4,ANY_CREATURE,AT_ACTION_POINT[19],PLAYER5)
	ENDIF
	
	IF(PLAYER6,TIMER0 > 200)
		ADD_OBJECT_TO_LEVEL_AT_POS(SPECBOX_CUSTOM,259,424,8)
		SET_FLAG(PLAYER2,FLAG2,1)
	ENDIF
ENDIF

IF(PLAYER1,DUNGEON_DESTROYED == 1)
	NEXT_COMMAND_REUSABLE
	CHANGE_CREATURE_OWNER(PLAYER1,ANY_CREATURE,ANYWHERE,PLAYER5)
ENDIF

IF(PLAYER2,FLAG2 == 0)
	NEXT_COMMAND_REUSABLE
	CONCEAL_MAP_RECT(PLAYER0,259,424,12,12,0)
ENDIF



	REM -- Add guards to the NE Temple when it becomes unlocked, and destroy the doors.

IF(PLAYER3,DUNGEON_DESTROYED == 1)
	ADD_CREATURE_TO_LEVEL(PLAYER5,WARLOCK,-22,4,10,400,NONE)
	ADD_CREATURE_TO_LEVEL(PLAYER5,MISTRESS,-22,2,10,350,NONE)
	ADD_CREATURE_TO_LEVEL(PLAYER5,DARK_MISTRESS,-22,1,10,500,NONE)
	ADD_PARTY_TO_LEVEL(PLAYER5,CHUMS,-22,2)

	CHANGE_SLAB_TYPE(129,14,PATH)
	CREATE_EFFECT_AT_POS(EFFECT_DIRT_RUBBLE_BIG,388,43,3)
	CHANGE_SLAB_TYPE(130,14,PATH)
	CREATE_EFFECT_AT_POS(EFFECT_DIRT_RUBBLE_BIG,391,43,3)
	CHANGE_SLAB_TYPE(131,14,PATH)
	CREATE_EFFECT_AT_POS(EFFECT_DIRT_RUBBLE_BIG,394,43,3)
ENDIF



	REM -- Yellow Lair, spawn creatures and diversify their levels when player gets near.

IF_ACTION_POINT(98,PLAYER0)
	ADD_CREATURE_TO_LEVEL(PLAYER3,MAIDEN,25,3,7,0,NONE)
	ADD_CREATURE_TO_LEVEL(PLAYER3,SPIDER,25,8,6,0,NONE)
	ADD_CREATURE_TO_LEVEL(PLAYER3,BUG,25,14,6,0,NONE)
	ADD_CREATURE_TO_LEVEL(PLAYER3,QUEEN,25,4,8,0,NONE)
	
	IF(PLAYER3,FLAG2 < 35)
		NEXT_COMMAND_REUSABLE
		LEVEL_UP_CREATURE(PLAYER3,ANY_CREATURE,AT_ACTION_POINT[25],1)
		NEXT_COMMAND_REUSABLE
		ADD_TO_FLAG(PLAYER3,FLAG2,1)
	ENDIF
	
	ADD_CREATURE_TO_LEVEL(PLAYER3,SORCEROR,96,8,8,250,NONE)
	ADD_CREATURE_TO_LEVEL(PLAYER3,HELL_HOUND,96,4,8,0,NONE)
ENDIF



	REM -- If player tries to break down Midas doors, tell them to claim the treasuries first.
	REM -- Shouldn't need to educate the player for Player1/3's Midas doors as their treasuries are comparatively close to the doors.
	
NEXT_COMMAND_REUSABLE
COUNT_CREATURES_AT_ACTION_POINT(112,PLAYER0,ANY_CREATURE,PLAYER6,FLAG0)

IF(PLAYER6,FLAG0 > 0)
	NEXT_COMMAND_REUSABLE
	ADD_TO_FLAG(PLAYER6,FLAG1,1)
ENDIF
IF(PLAYER6,FLAG1 > 1500)
	IF(PLAYER6,TREASURE > 0)
		ZOOM_TO_LOCATION(PLAYER0,15)
		DISPLAY_INFORMATION(83,15)
		REVEAL_MAP_RECT(PLAYER0,201,496,47,21)
	ENDIF
ENDIF



	REM -- Custom box to help with widespread disease later in the game.

SET_BOX_TOOLTIP_ID(10,43)

IF(PLAYER0,BOX10_ACTIVATED == 1)
	NEXT_COMMAND_REUSABLE
	SET_GAME_RULE(DISEASETRANSFERPERCENTAGE,0)
	NEXT_COMMAND_REUSABLE
	SET_TIMER(PLAYER1,TIMER1)
	NEXT_COMMAND_REUSABLE
	SET_FLAG(PLAYER0,BOX10_ACTIVATED,0)
ENDIF

IF(PLAYER1,TIMER1 > 500)
	NEXT_COMMAND_REUSABLE
	SET_GAME_RULE(DISEASETRANSFERPERCENTAGE,15)
ENDIF



	REM -- Issues

REM -- Hero parties don't stick together. KFX bug, not my problem.
REM -- Custom bridges don't fill in cut corners, and don't use 'room colour' on the map/minimap. Minor. Not worth fixing. The corner thing is actually helpful as it would otherwise be possible to lock off the neutral salamander in the NE corner.
REM -- If you spawn multiple lords but don't kill them, the adds will be hit by the "level_up_players_creatures" more times than if you had killed them one by one. Not that big of an issue, similar to a sort-of scaling difficulty.
REM -- Assassins can feel unfair to play against early on. Queens/Necromancers seem excessively strong. Vestals don't convey the 'healer' role so well.
REM -- Black Knights seem meh at low levels and their fear is annoying at high levels as it requires you to chase down the fleeing heroes.
REM -- Fear as a spell in general seems bad on slow-moving melees as it's only beneficial in a numbers-disadvantage, which often means it's most effective when used against the player, and just annoying when used by the players creatures.
REM -- The lategame feels like WFTO gameplay where you just CTA a ball of creatures onto the enemy dungeons and don't care too much about the losses. The map IS meant to be an easy exploration though, and adding more enemy spawns to threaten player defeat will probably just make people cry.
REM -- The circuitous design of the early map encourages Imps to smack down doors quite often.
REM -- No limit on number of traps deployed.
REM -- Defend Location/Rooms jobs are inconsistent/buggy and often times the assigned heroes will just stop doing it and instead go attack the player. If the player triggers Orange's hallway defenders to spawn early, this can result in some high level heroes attacking the player when they are still weak.
REM -- Same reason as above, sometimes heroes will end up defending rooms they aren't supposed to.
REM -- It's possible for the player to trigger multiple action point timers simultaneously, resulting in overlapping attack parties. Salamanders knocking down doors can add to the problem.
REM -- Heroes consistently get stuck in the corners of temples.
REM -- The lower subtiles on the obsidian bridge have the same moving wibble as lava.
REM -- Tyrant sometimes gets stuck moving backwards.
REM -- Imps involved in the Drudges spawn loop can appear at odd locations if their spawn was backlogged and the last_event location has since moved.
REM -- Messages pointing toward slain Lords can point to the wrong one if Lords are slain in quick succession and the last_death_event location has since moved.
REM -- Locked player doors cause significant pathfinding lag. Most noticeable at the start of the game.
REM -- Lightning Strike can kill Lord parties through cut corners. Not a big deal, the player won't be in a position that they need to do this to win.
REM -- The player can possess an imp and pick up the secret boss Phylactery box, and drag it into the lava, making it unreachable. Not an issue, the player will have had at least some saves before this point that they can reload.

