LEVEL_VERSION(1)

REM -------------------------------------------------------------------------------------------------------------------------------------------

SET_GENERATE_SPEED(1500)

QUICK_OBJECTIVE(0,​"Unknown forces are approaching from the west and east. The interlopers will soon be close enough to be indentified.",PLAYER1)

COMPUTER_PLAYER(PLAYER2,0)
COMPUTER_PLAYER(PLAYER3,0)

SET_COMPUTER_GLOBALS(PLAYER0,70,80,5,1,200,5,1)
SET_COMPUTER_GLOBALS(PLAYER0,70,80,5,1,200,5,1)

CONCEAL_MAP_RECT(PLAYER1,128,128,254,254,1)

ALLY_PLAYERS(PLAYER1,PLAYER3,2)
ALLY_PLAYERS(PLAYER1,PLAYER2,2)

START_MONEY(PLAYER1,5000)
START_MONEY(PLAYER2,25000)
START_MONEY(PLAYER2,25000)

ALLY_PLAYERS(PLAYER1,PLAYER2,2)
ALLY_PLAYERS(PLAYER1,PLAYER3,2)

SET_COMPUTER_PROCESS(PLAYER3,"BUILD A GRAVEYARD ROOM",0,5,6,11,0)
SET_COMPUTER_PROCESS(PLAYER3,"BUILD A TORTURE ROOM",-5,5,5,5,-10)
SET_COMPUTER_PROCESS(PLAYER3,"BUILD A TRAINING ROOM",-2,5,5,6,0)
SET_COMPUTER_PROCESS(PLAYER3,"BUILD A RESEARCH ROOM",-3,5,6,3,5)
SET_COMPUTER_PROCESS(PLAYER2,"BUILD A GRAVEYARD ROOM",0,5,6,11,0)
SET_COMPUTER_PROCESS(PLAYER2,"BUILD A TORTURE ROOM",-5,5,5,5,-10)
SET_COMPUTER_PROCESS(PLAYER2,"BUILD A TRAINING ROOM",-2,5,5,6,0)
SET_COMPUTER_PROCESS(PLAYER2,"BUILD A RESEARCH ROOM",-3,5,6,3,5)
SET_COMPUTER_PROCESS(PLAYER2,"DIG TO GOLD",0,20000,180,12,0)
SET_COMPUTER_PROCESS(PLAYER3,"DIG TO GOLD",0,20000,180,12,0)

SET_CREATURE_CONFIGURATION(TUNNELLER,BaseSpeed,80)
SET_CREATURE_CONFIGURATION(TUNNELLER,PAY,0)

SET_CREATURE_TENDENCIES(PLAYER2,FLEE,1)
SET_CREATURE_TENDENCIES(PLAYER3,FLEE,1)

REMOVE_SACRIFICE_RECIPE(TROLL,BILE_DEMON,DARK_MISTRESS)

MAX_CREATURES(PLAYER1,25)

ADD_CREATURE_TO_POOL(SPIDER,20)
ADD_CREATURE_TO_POOL(DEMONSPAWN,20)
ADD_CREATURE_TO_POOL(DARK_MISTRESS,30)
ADD_CREATURE_TO_POOL(SORCEROR,30)
ADD_CREATURE_TO_POOL(TROLL,40)
ADD_CREATURE_TO_POOL(BILE_DEMON,30)
ADD_CREATURE_TO_POOL(HELL_HOUND,50)
ADD_CREATURE_TO_POOL(DRAGON,20)
ADD_CREATURE_TO_POOL(ORC,20)
ADD_CREATURE_TO_POOL(SKELETON,20)
ADD_CREATURE_TO_POOL(VAMPIRE,1)
ADD_CREATURE_TO_POOL(MONK,20)
ADD_CREATURE_TO_POOL(BARBARIAN,30)
ADD_CREATURE_TO_POOL(ARCHER,25)
ADD_CREATURE_TO_POOL(WIZARD,20)
ADD_CREATURE_TO_POOL(KNIGHT,20)
ADD_CREATURE_TO_POOL(DWARFA,15)
ADD_CREATURE_TO_POOL(GIANT,30)
ADD_CREATURE_TO_POOL(FAIRY,20)
ADD_CREATURE_TO_POOL(THIEF,20)
ADD_CREATURE_TO_POOL(SAMURAI,10)
ADD_CREATURE_TO_POOL(WITCH,10)
ADD_CREATURE_TO_POOL(TIME_MAGE,2)

REM	Creature availability
CREATURE_AVAILABLE(PLAYER1,DEMONSPAWN,1,0)
CREATURE_AVAILABLE(PLAYER1,TROLL,1,0)
CREATURE_AVAILABLE(PLAYER1,SPIDER,1,0)
CREATURE_AVAILABLE(PLAYER1,DARK_MISTRESS,1,0)
CREATURE_AVAILABLE(PLAYER1,SORCEROR,1,0)
CREATURE_AVAILABLE(PLAYER1,BILE_DEMON,1,0)
CREATURE_AVAILABLE(PLAYER1,ORC,1,0)
CREATURE_AVAILABLE(PLAYER1,SKELETON,1,0)
CREATURE_AVAILABLE(PLAYER1,DRAGON,1,0)
CREATURE_AVAILABLE(PLAYER1,HELL_HOUND,1,0)
CREATURE_AVAILABLE(PLAYER1,VAMPIRE,1,0)

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

REM	Spells availability
MAGIC_AVAILABLE(ALL_PLAYERS,POWER_HAND,1,1)
MAGIC_AVAILABLE(ALL_PLAYERS,POWER_SLAP,1,1)
MAGIC_AVAILABLE(ALL_PLAYERS,POWER_SIGHT,1,0)
MAGIC_AVAILABLE(ALL_PLAYERS,POWER_CALL_TO_ARMS,1,0)
MAGIC_AVAILABLE(ALL_PLAYERS,POWER_HEAL_CREATURE,1,0)
MAGIC_AVAILABLE(PLAYER1,POWER_SPEED,1,0)
MAGIC_AVAILABLE(ALL_PLAYERS,POWER_PROTECT,1,0)
MAGIC_AVAILABLE(ALL_PLAYERS,POWER_CAVE_IN,1,0)
MAGIC_AVAILABLE(ALL_PLAYERS,POWER_HOLD_AUDIENCE,1,0)
MAGIC_AVAILABLE(ALL_PLAYERS,POWER_OBEY,1,0)
MAGIC_AVAILABLE(ALL_PLAYERS,POWER_CONCEAL,1,0)
MAGIC_AVAILABLE(PLAYER1,POWER_IMP,1,1)
MAGIC_AVAILABLE(PLAYER1,POWER_LIGHTNING,1,0)
MAGIC_AVAILABLE(PLAYER1,POWER_CHICKEN,1,0)

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

REM -------------------------------------------------------------------------------------------------------------------------------------------

RANDOMISE_FLAG(PLAYER_NEUTRAL,FLAG1,7)

IF(PLAYER_NEUTRAL,FLAG0 == 0)
	IF(PLAYER_NEUTRAL,FLAG1 == 1)
		IF(PLAYER1,ACTIVE_BATTLES >= 1)
			NEXT_COMMAND_REUSABLE
			SET_MUSIC("battle01.mp3")
			NEXT_COMMAND_REUSABLE
			SET_TIMER(PLAYER_NEUTRAL,TIMER0)
			NEXT_COMMAND_REUSABLE
			SET_FLAG(PLAYER_NEUTRAL,FLAG0,1)
		ENDIF
	ENDIF
ENDIF

IF(PLAYER_NEUTRAL,FLAG0 == 0)
	IF(PLAYER_NEUTRAL,FLAG1 == 2)
		IF(PLAYER1,ACTIVE_BATTLES >= 1)
			NEXT_COMMAND_REUSABLE
			SET_MUSIC("battle02.mp3")
			NEXT_COMMAND_REUSABLE
			SET_TIMER(PLAYER_NEUTRAL,TIMER0)
			NEXT_COMMAND_REUSABLE
			SET_FLAG(PLAYER_NEUTRAL,FLAG0,1)
		ENDIF
	ENDIF
ENDIF

IF(PLAYER_NEUTRAL,FLAG0 == 0)
	IF(PLAYER_NEUTRAL,FLAG1 == 3)
		IF(PLAYER1,ACTIVE_BATTLES >= 1)
			NEXT_COMMAND_REUSABLE
			SET_MUSIC("battle03.mp3")
			NEXT_COMMAND_REUSABLE
			SET_TIMER(PLAYER_NEUTRAL,TIMER0)
			NEXT_COMMAND_REUSABLE
			SET_FLAG(PLAYER_NEUTRAL,FLAG0,1)
		ENDIF
	ENDIF
ENDIF

IF(PLAYER_NEUTRAL,FLAG0 == 0)
	IF(PLAYER_NEUTRAL,FLAG1 == 4)
		IF(PLAYER1,ACTIVE_BATTLES >= 1)
			NEXT_COMMAND_REUSABLE
			SET_MUSIC("battle04.mp3")
			NEXT_COMMAND_REUSABLE
			SET_TIMER(PLAYER_NEUTRAL,TIMER0)
			NEXT_COMMAND_REUSABLE
			SET_FLAG(PLAYER_NEUTRAL,FLAG0,1)
		ENDIF
	ENDIF
ENDIF

IF(PLAYER_NEUTRAL,FLAG0 == 0)
	IF(PLAYER_NEUTRAL,FLAG1 == 5)
		IF(PLAYER1,ACTIVE_BATTLES >= 1)
			NEXT_COMMAND_REUSABLE
			SET_MUSIC("01. Theme.mp3")
			NEXT_COMMAND_REUSABLE
			SET_TIMER(PLAYER_NEUTRAL,TIMER0)
			NEXT_COMMAND_REUSABLE
			SET_FLAG(PLAYER_NEUTRAL,FLAG0,1)
		ENDIF
	ENDIF
ENDIF

IF(PLAYER_NEUTRAL,FLAG0 == 0)
	IF(PLAYER_NEUTRAL,FLAG1 == 6)
		IF(PLAYER1,ACTIVE_BATTLES >= 1)
			NEXT_COMMAND_REUSABLE
			SET_MUSIC("05. Outro Fail.mp3")
			NEXT_COMMAND_REUSABLE
			SET_TIMER(PLAYER_NEUTRAL,TIMER0)
			NEXT_COMMAND_REUSABLE
			SET_FLAG(PLAYER_NEUTRAL,FLAG0,1)
		ENDIF
	ENDIF
ENDIF

IF(PLAYER_NEUTRAL,FLAG0 == 0)
	IF(PLAYER_NEUTRAL,FLAG1 == 7)
		IF(PLAYER1,ACTIVE_BATTLES >= 1)
			NEXT_COMMAND_REUSABLE
			SET_MUSIC("06. Outro Win.mp3")
			NEXT_COMMAND_REUSABLE
			SET_TIMER(PLAYER_NEUTRAL,TIMER0)
			NEXT_COMMAND_REUSABLE
			SET_FLAG(PLAYER_NEUTRAL,FLAG0,1)
		ENDIF
	ENDIF
ENDIF

IF(PLAYER_NEUTRAL,FLAG0 == 1)
	IF(PLAYER_NEUTRAL,TIMER0 >= 600)
		IF(PLAYER1,ACTIVE_BATTLES == 0)	
			NEXT_COMMAND_REUSABLE
			RANDOMISE_FLAG(PLAYER_NEUTRAL,FLAG1,7)
			NEXT_COMMAND_REUSABLE
			SET_FLAG(PLAYER_NEUTRAL,FLAG0,0)
			NEXT_COMMAND_REUSABLE
			RANDOMISE_FLAG(PLAYER_NEUTRAL,FLAG2,4)
			NEXT_COMMAND_REUSABLE
			SET_TIMER(PLAYER_NEUTRAL,TIMER1)
			NEXT_COMMAND_REUSABLE
			ADD_TO_TIMER(PLAYER_NEUTRAL,TIMER1,6600)
		ENDIF
	ENDIF
ENDIF

IF(PLAYER_NEUTRAL,FLAG0 == 0)
	IF(PLAYER_NEUTRAL,FLAG2 == 1)
		IF(PLAYER_NEUTRAL,TIMER1 >= 6600)
			NEXT_COMMAND_REUSABLE
			SET_MUSIC(3)
			NEXT_COMMAND_REUSABLE
			ADD_TO_FLAG(PLAYER_NEUTRAL,FLAG2,1)
			NEXT_COMMAND_REUSABLE
			SET_TIMER(PLAYER_NEUTRAL,TIMER1)
		ENDIF
	ENDIF
ENDIF

IF(PLAYER_NEUTRAL,FLAG0 == 0)
	IF(PLAYER_NEUTRAL,FLAG2 == 2)
		IF(PLAYER_NEUTRAL,TIMER1 >= 6600)
			NEXT_COMMAND_REUSABLE
			SET_MUSIC(4)
			NEXT_COMMAND_REUSABLE
			ADD_TO_FLAG(PLAYER_NEUTRAL,FLAG2,1)
			NEXT_COMMAND_REUSABLE
			SET_TIMER(PLAYER_NEUTRAL,TIMER1)
		ENDIF
	ENDIF
ENDIF

IF(PLAYER_NEUTRAL,FLAG0 == 0)
	IF(PLAYER_NEUTRAL,FLAG2 == 3)
		IF(PLAYER_NEUTRAL,TIMER1 >= 6600)
			NEXT_COMMAND_REUSABLE
			SET_MUSIC(5)
			NEXT_COMMAND_REUSABLE
			ADD_TO_FLAG(PLAYER_NEUTRAL,FLAG2,1)
			NEXT_COMMAND_REUSABLE
			SET_TIMER(PLAYER_NEUTRAL,TIMER1)
		ENDIF
	ENDIF
ENDIF

IF(PLAYER_NEUTRAL,FLAG0 == 0)
	IF(PLAYER_NEUTRAL,FLAG2 == 4)
		IF(PLAYER_NEUTRAL,TIMER1 >= 6600)
			NEXT_COMMAND_REUSABLE
			SET_MUSIC(6)
			NEXT_COMMAND_REUSABLE
			ADD_TO_FLAG(PLAYER_NEUTRAL,FLAG2,-3)
			NEXT_COMMAND_REUSABLE
			SET_TIMER(PLAYER_NEUTRAL,TIMER1)
		ENDIF
	ENDIF
ENDIF

REM -------------------------------------------------------------------------------------------------------------------------------------------

IF(PLAYER1,GAME_TURN >= 1000)
	QUICK_INFORMATION(1,​"Summerland At War Status: The tide turns against the Heroic defenders as the forces of darkness gain ground.",PLAYER1)
ENDIF

IF(PLAYER1,GAME_TURN >= 6000)
	QUICK_INFORMATION(2,​"You are wise to select this location as your base. This used to be the place where Keeper Kranzarak was held before his violent awakening. Although damaged, the existing fortifications of this abandoned dungeon and the surrounding lava will deter your enemies for the time being.",PLAYER1)
ENDIF

RANDOMISE_FLAG(PLAYER1,FLAG0,100)
RANDOMISE_FLAG(PLAYER1,FLAG1,2)

IF(PLAYER1,FLAG1 == 1)
	ADD_OBJECT_TO_LEVEL(SPECBOX_REVMAP,1,0,PLAYER_NEUTRAL)
	ADD_OBJECT_TO_LEVEL(SPECBOX_MKSAFE,2,0,PLAYER_NEUTRAL)
ENDIF

IF(PLAYER1,FLAG1 == 2)
	ADD_OBJECT_TO_LEVEL(SPECBOX_REVMAP,2,0,PLAYER_NEUTRAL)
	ADD_OBJECT_TO_LEVEL(SPECBOX_MKSAFE,1,0,PLAYER_NEUTRAL)
ENDIF


REM Green & Yellow are normal and not allied

IF(PLAYER1,FLAG0 <= 30)
	CREATURE_AVAILABLE(PLAYER2,DEMONSPAWN,1,0)
	CREATURE_AVAILABLE(PLAYER2,TROLL,1,0)
	CREATURE_AVAILABLE(PLAYER2,SPIDER,1,0)
	CREATURE_AVAILABLE(PLAYER2,DARK_MISTRESS,1,0)
	CREATURE_AVAILABLE(PLAYER2,SORCEROR,1,0)
	CREATURE_AVAILABLE(PLAYER2,BILE_DEMON,1,0)
	CREATURE_AVAILABLE(PLAYER2,ORC,1,0)
	CREATURE_AVAILABLE(PLAYER2,SKELETON,1,0)
	CREATURE_AVAILABLE(PLAYER2,DRAGON,1,0)
	CREATURE_AVAILABLE(PLAYER2,HELL_HOUND,1,0)
	CREATURE_AVAILABLE(PLAYER2,VAMPIRE,1,0)
	CREATURE_AVAILABLE(PLAYER3,DEMONSPAWN,1,0)
	CREATURE_AVAILABLE(PLAYER3,TROLL,1,0)
	CREATURE_AVAILABLE(PLAYER3,SPIDER,1,0)
	CREATURE_AVAILABLE(PLAYER3,DARK_MISTRESS,1,0)
	CREATURE_AVAILABLE(PLAYER3,SORCEROR,1,0)
	CREATURE_AVAILABLE(PLAYER3,BILE_DEMON,1,0)
	CREATURE_AVAILABLE(PLAYER3,ORC,1,0)
	CREATURE_AVAILABLE(PLAYER3,SKELETON,1,0)
	CREATURE_AVAILABLE(PLAYER3,DRAGON,1,0)
	CREATURE_AVAILABLE(PLAYER3,HELL_HOUND,1,0)
	CREATURE_AVAILABLE(PLAYER3,VAMPIRE,1,0)
	ROOM_AVAILABLE(PLAYER2,GRAVEYARD,1,0)
	ROOM_AVAILABLE(PLAYER3,GRAVEYARD,1,0)
	MAGIC_AVAILABLE(PLAYER2,POWER_SPEED,1,0)
	MAGIC_AVAILABLE(PLAYER2,POWER_IMP,1,1)
	MAGIC_AVAILABLE(PLAYER2,POWER_LIGHTNING,1,0)
	MAGIC_AVAILABLE(PLAYER2,POWER_CHICKEN,1,0)
	MAGIC_AVAILABLE(PLAYER2,POWER_DISEASE,1,0)
	MAGIC_AVAILABLE(PLAYER3,POWER_SPEED,1,0)
	MAGIC_AVAILABLE(PLAYER3,POWER_IMP,1,1)
	MAGIC_AVAILABLE(PLAYER3,POWER_LIGHTNING,1,0)
	MAGIC_AVAILABLE(PLAYER3,POWER_CHICKEN,1,0)
	MAX_CREATURES(PLAYER3,20)
	MAX_CREATURES(PLAYER2,20)
	CHANGE_SLAB_TYPE(42,1,HARD)
	CHANGE_SLAB_TYPE(42,2,HARD)
	CHANGE_SLAB_TYPE(42,82,HARD)
	CHANGE_SLAB_TYPE(42,83,HARD)
ENDIF

IF(PLAYER1,FLAG0 <= 30)
	IF(PLAYER1,GAME_TURN >= 2500)
		QUICK_OBJECTIVE(3,​"Since the Warrior King's death the Heroes have focused their efforts on holding off the stronger Keepers while dealing with weaker ones. After some initial succes this strategy has failed and their forces now lie decimated at Keeper Gormaros and Keeper Azarath's hands.",PLAYER1)
	ENDIF
ENDIF

IF(PLAYER1,FLAG0 <= 30)
	IF(PLAYER1,GAME_TURN >= 4000)
		QUICK_OBJECTIVE(4,​"Minor Keepers Gormaros and Azarath are approaching from the west and the east respectively. It appears they are not on good terms with each other. Use this to your advantage.",PLAYER1)
	ENDIF
ENDIF

REM Green is normal, Yellow is Heroic

IF(PLAYER1,FLAG0 > 30)
	IF(PLAYER1,FLAG0 <= 55)
		KILL_CREATURE(PLAYER3,​IMP,​ANYWHERE,​20)
		SET_PLAYER_COLOR(PLAYER3,WHITE)
		CREATURE_AVAILABLE(PLAYER2,DEMONSPAWN,1,0)
		CREATURE_AVAILABLE(PLAYER2,TROLL,1,0)
		CREATURE_AVAILABLE(PLAYER2,SPIDER,1,0)
		CREATURE_AVAILABLE(PLAYER2,DARK_MISTRESS,1,0)
		CREATURE_AVAILABLE(PLAYER2,SORCEROR,1,0)
		CREATURE_AVAILABLE(PLAYER2,BILE_DEMON,1,0)
		CREATURE_AVAILABLE(PLAYER2,ORC,1,0)
		CREATURE_AVAILABLE(PLAYER2,SKELETON,1,0)
		CREATURE_AVAILABLE(PLAYER2,DRAGON,1,0)
		CREATURE_AVAILABLE(PLAYER2,HELL_HOUND,1,0)
		CREATURE_AVAILABLE(PLAYER2,VAMPIRE,1,0)
		ROOM_AVAILABLE(PLAYER2,GRAVEYARD,1,0)
		MAGIC_AVAILABLE(PLAYER2,POWER_SPEED,1,0)
		MAGIC_AVAILABLE(PLAYER2,POWER_IMP,1,1)
		MAGIC_AVAILABLE(PLAYER2,POWER_LIGHTNING,1,0)
		MAGIC_AVAILABLE(PLAYER2,POWER_CHICKEN,1,0)
		CREATURE_AVAILABLE(PLAYER3,DWARFA,1,0)
		CREATURE_AVAILABLE(PLAYER3,ARCHER,1,0)
		CREATURE_AVAILABLE(PLAYER3,THIEF,1,0)
		CREATURE_AVAILABLE(PLAYER3,BARBARIAN,1,0)
		CREATURE_AVAILABLE(PLAYER3,GIANT,1,0)
		CREATURE_AVAILABLE(PLAYER3,WITCH,1,2)
		CREATURE_AVAILABLE(PLAYER3,FAIRY,1,0)
		CREATURE_AVAILABLE(PLAYER3,MONK,1,0)
		CREATURE_AVAILABLE(PLAYER3,WIZARD,1,0)
		CREATURE_AVAILABLE(PLAYER3,SAMURAI,1,0)
		CREATURE_AVAILABLE(PLAYER3,KNIGHT,1,10)
		CREATURE_AVAILABLE(PLAYER3,TIME_MAGE,1,0)
		ADD_CREATURE_TO_LEVEL(PLAYER3,TUNNELLER,PLAYER3,5,2,0)
		ADD_TO_FLAG(​PLAYER3,​FLAG0,1)
		MAX_CREATURES(PLAYER3,25)
		MAX_CREATURES(PLAYER2,21)
		ADD_GOLD_TO_PLAYER(PLAYER3,25000)
		ROOM_AVAILABLE(PLAYER3,WORKSHOP,1,1)
		ROOM_AVAILABLE(PLAYER3,BARRACKS,1,1)
		ROOM_AVAILABLE(PLAYER3,TORTURE,1,1)
		ROOM_AVAILABLE(PLAYER3,TEMPLE,1,1)
		ROOM_AVAILABLE(PLAYER3,SCAVENGER,1,1)
		CHANGE_SLAB_TYPE(42,1,HARD)
		CHANGE_SLAB_TYPE(42,2,HARD)
		CHANGE_SLAB_TYPE(42,82,HARD)
		CHANGE_SLAB_TYPE(42,83,HARD)
	ENDIF
ENDIF

IF(PLAYER1,FLAG0 > 30)
	IF(PLAYER1,FLAG0 <= 55)
		IF(PLAYER1,GAME_TURN >= 2500)
			QUICK_OBJECTIVE(5,​"Since the Warrior King's death the Heroes have focused their efforts on holding off the stronger Keepers while dealing with weaker ones. This strategy has been partially succesful with omly minor Keeper Azarath remaining.",PLAYER1)
		ENDIF
	ENDIF
ENDIF

IF(PLAYER1,FLAG0 > 30)
	IF(PLAYER1,FLAG0 <= 55)
		IF(PLAYER1,GAME_TURN >= 4000)
			QUICK_OBJECTIVE(6,​"The Heroes are approaching from the west and the minor Keeper Azarath is approaching from the east. This could get messy.",PLAYER1)
		ENDIF
	ENDIF
ENDIF		



REM Yellow is normal, Green is Heroic

IF(PLAYER1,FLAG0 > 55)
	IF(PLAYER1,FLAG0 <= 80)
		KILL_CREATURE(PLAYER2,​IMP,​ANYWHERE,​20)
		SET_PLAYER_COLOR(PLAYER2,WHITE)
		CREATURE_AVAILABLE(PLAYER3,DEMONSPAWN,1,0)
		CREATURE_AVAILABLE(PLAYER3,TROLL,1,0)
		CREATURE_AVAILABLE(PLAYER3,SPIDER,1,0)
		CREATURE_AVAILABLE(PLAYER3,DARK_MISTRESS,1,0)
		CREATURE_AVAILABLE(PLAYER3,SORCEROR,1,0)
		CREATURE_AVAILABLE(PLAYER3,BILE_DEMON,1,0)
		CREATURE_AVAILABLE(PLAYER3,ORC,1,0)
		CREATURE_AVAILABLE(PLAYER3,SKELETON,1,0)
		CREATURE_AVAILABLE(PLAYER3,DRAGON,1,0)
		CREATURE_AVAILABLE(PLAYER3,HELL_HOUND,1,0)
		CREATURE_AVAILABLE(PLAYER3,VAMPIRE,1,0)
		ROOM_AVAILABLE(PLAYER3,GRAVEYARD,1,0)
		MAGIC_AVAILABLE(PLAYER3,POWER_SPEED,1,0)
		MAGIC_AVAILABLE(PLAYER3,POWER_IMP,1,1)
		MAGIC_AVAILABLE(PLAYER3,POWER_LIGHTNING,1,0)
		MAGIC_AVAILABLE(PLAYER3,POWER_CHICKEN,1,0)
		MAGIC_AVAILABLE(PLAYER3,POWER_DISEASE,1,0)
		CREATURE_AVAILABLE(PLAYER2,DWARFA,1,0)
		CREATURE_AVAILABLE(PLAYER2,ARCHER,1,0)
		CREATURE_AVAILABLE(PLAYER2,THIEF,1,0)
		CREATURE_AVAILABLE(PLAYER2,BARBARIAN,1,0)
		CREATURE_AVAILABLE(PLAYER2,GIANT,1,0)
		CREATURE_AVAILABLE(PLAYER2,WITCH,1,2)
		CREATURE_AVAILABLE(PLAYER2,FAIRY,1,0)
		CREATURE_AVAILABLE(PLAYER2,MONK,1,0)
		CREATURE_AVAILABLE(PLAYER2,WIZARD,1,0)
		CREATURE_AVAILABLE(PLAYER2,SAMURAI,1,0)
		CREATURE_AVAILABLE(PLAYER2,KNIGHT,1,10)
		CREATURE_AVAILABLE(PLAYER2,TIME_MAGE,1,0)
		ADD_CREATURE_TO_LEVEL(PLAYER2,TUNNELLER,PLAYER2,5,2,0)
		ADD_TO_FLAG(​PLAYER2,​FLAG0,1)
		MAX_CREATURES(PLAYER3,21)
		MAX_CREATURES(PLAYER2,25)
		ADD_GOLD_TO_PLAYER(PLAYER2,25000)
		ROOM_AVAILABLE(PLAYER2,WORKSHOP,1,1)
		ROOM_AVAILABLE(PLAYER2,BARRACKS,1,1)
		ROOM_AVAILABLE(PLAYER2,TORTURE,1,1)
		ROOM_AVAILABLE(PLAYER2,TEMPLE,1,1)
		ROOM_AVAILABLE(PLAYER2,SCAVENGER,1,1)
		CHANGE_SLAB_TYPE(42,1,HARD)
		CHANGE_SLAB_TYPE(42,2,HARD)
		CHANGE_SLAB_TYPE(42,82,HARD)
		CHANGE_SLAB_TYPE(42,83,HARD)
	ENDIF
ENDIF

IF(PLAYER1,FLAG0 > 55)
	IF(PLAYER1,FLAG0 <= 80)
		IF(PLAYER1,GAME_TURN >= 2500)
			QUICK_OBJECTIVE(7,​"Since the Warrior King's death the Heroes have focused their efforts on holding off the stronger Keepers while dealing with weaker ones. This strategy has been partially succesful with omly minor Keeper Gormaros remaining.",PLAYER1)
		ENDIF
	ENDIF
ENDIF

IF(PLAYER1,FLAG0 > 55)
	IF(PLAYER1,FLAG0 <= 80)
		IF(PLAYER1,GAME_TURN >= 4000)
			QUICK_OBJECTIVE(8,​"Minor Keeper Gormaros is approaching from the west and the Heroes are approaching from the east. This could get messy.",PLAYER1)
		ENDIF
	ENDIF
ENDIF



REM Green and Yellow are normal and allied

IF(PLAYER1,FLAG0 > 80)
	IF(PLAYER1,FLAG0 <= 90)
		CREATURE_AVAILABLE(PLAYER2,DEMONSPAWN,1,0)
		CREATURE_AVAILABLE(PLAYER2,TROLL,1,0)
		CREATURE_AVAILABLE(PLAYER2,SPIDER,1,0)
		CREATURE_AVAILABLE(PLAYER2,DARK_MISTRESS,1,0)
		CREATURE_AVAILABLE(PLAYER2,SORCEROR,1,0)
		CREATURE_AVAILABLE(PLAYER2,BILE_DEMON,1,0)
		CREATURE_AVAILABLE(PLAYER2,ORC,1,0)
		CREATURE_AVAILABLE(PLAYER2,SKELETON,1,0)
		CREATURE_AVAILABLE(PLAYER2,DRAGON,1,0)
		CREATURE_AVAILABLE(PLAYER2,HELL_HOUND,1,0)
		CREATURE_AVAILABLE(PLAYER2,VAMPIRE,1,0)
		CREATURE_AVAILABLE(PLAYER3,DEMONSPAWN,1,0)
		CREATURE_AVAILABLE(PLAYER3,TROLL,1,0)
		CREATURE_AVAILABLE(PLAYER3,SPIDER,1,0)
		CREATURE_AVAILABLE(PLAYER3,DARK_MISTRESS,1,0)
		CREATURE_AVAILABLE(PLAYER3,SORCEROR,1,0)
		CREATURE_AVAILABLE(PLAYER3,BILE_DEMON,1,0)
		CREATURE_AVAILABLE(PLAYER3,ORC,1,0)
		CREATURE_AVAILABLE(PLAYER3,SKELETON,1,0)
		CREATURE_AVAILABLE(PLAYER3,DRAGON,1,0)
		CREATURE_AVAILABLE(PLAYER3,HELL_HOUND,1,0)
		CREATURE_AVAILABLE(PLAYER3,VAMPIRE,1,0)
		ROOM_AVAILABLE(PLAYER2,GRAVEYARD,1,0)
		ROOM_AVAILABLE(PLAYER3,GRAVEYARD,1,0)
		MAGIC_AVAILABLE(PLAYER2,POWER_SPEED,1,0)
		MAGIC_AVAILABLE(PLAYER2,POWER_IMP,1,1)
		MAGIC_AVAILABLE(PLAYER2,POWER_LIGHTNING,1,0)
		MAGIC_AVAILABLE(PLAYER2,POWER_CHICKEN,1,0)
		MAGIC_AVAILABLE(PLAYER3,POWER_SPEED,1,0)
		MAGIC_AVAILABLE(PLAYER3,POWER_IMP,1,1)
		MAGIC_AVAILABLE(PLAYER3,POWER_LIGHTNING,1,0)
		MAGIC_AVAILABLE(PLAYER3,POWER_CHICKEN,1,0)
		ALLY_PLAYERS(PLAYER2,PLAYER3,3)
		MAX_CREATURES(PLAYER3,20)
		MAX_CREATURES(PLAYER2,20)
		LEVEL_UP_CREATURE(​PLAYER1,​IMP,​ANYWHERE,​2)
		LEVEL_UP_CREATURE(​PLAYER1,​IMP,​ANYWHERE,​2)
	ENDIF
ENDIF

IF(PLAYER1,FLAG0 > 80)
	IF(PLAYER1,FLAG0 <= 90)
		IF(PLAYER1,GAME_TURN >= 2500)
			QUICK_OBJECTIVE(9,​"Since the Warrior King's death the Heroes have focused their efforts on holding off the stronger Keepers while dealing with weaker ones. After some initial succes this strategy has failed and their forces now lie decimated at Keeper Gormaros and Keeper Azarath's hands.",PLAYER1)
		ENDIF
	ENDIF
ENDIF

IF(PLAYER1,FLAG0 > 80)
	IF(PLAYER1,FLAG0 <= 90)
		IF(PLAYER1,GAME_TURN >= 4000)
			QUICK_OBJECTIVE(10,​"Minor Keepers Gormaros and Azarath are approaching from the west and the east respectively. However, it appears they have put asside their differences to deal with you. Perhaps it would be wise to take out one of them quickly.",PLAYER1)
			SET_GAME_RULE(AlliesShareCta,1)
			SET_GAME_RULE(AlliesShareDrop,1)
			SET_GAME_RULE(AlliesShareVision,1)
			CHANGE_SLAB_OWNER(​1,​31,​PLAYER2)
			CHANGE_SLAB_OWNER(​83,​53,PLAYER3)
		ENDIF
	ENDIF
ENDIF
		
REM Green and Yellow are Heroic and allied

IF(PLAYER1,FLAG0 > 90)
	KILL_CREATURE(PLAYER2,​IMP,​ANYWHERE,​20)
	KILL_CREATURE(PLAYER3,​IMP,​ANYWHERE,​20)
	SET_PLAYER_COLOR(PLAYER2,WHITE)
	SET_PLAYER_COLOR(PLAYER3,WHITE)
	CREATURE_AVAILABLE(PLAYER2,DWARFA,1,0)
	CREATURE_AVAILABLE(PLAYER2,ARCHER,1,0)
	CREATURE_AVAILABLE(PLAYER2,THIEF,1,0)
	CREATURE_AVAILABLE(PLAYER2,BARBARIAN,1,0)
	CREATURE_AVAILABLE(PLAYER2,GIANT,1,0)
	CREATURE_AVAILABLE(PLAYER2,WITCH,1,2)
	CREATURE_AVAILABLE(PLAYER2,FAIRY,1,0)
	CREATURE_AVAILABLE(PLAYER2,MONK,1,0)
	CREATURE_AVAILABLE(PLAYER2,WIZARD,1,0)
	CREATURE_AVAILABLE(PLAYER2,SAMURAI,1,0)
	CREATURE_AVAILABLE(PLAYER2,KNIGHT,1,10)
	CREATURE_AVAILABLE(PLAYER2,TIME_MAGE,1,0)
	CREATURE_AVAILABLE(PLAYER3,DWARFA,1,0)
	CREATURE_AVAILABLE(PLAYER3,ARCHER,1,0)
	CREATURE_AVAILABLE(PLAYER3,THIEF,1,0)
	CREATURE_AVAILABLE(PLAYER3,BARBARIAN,1,0)
	CREATURE_AVAILABLE(PLAYER3,GIANT,1,0)
	CREATURE_AVAILABLE(PLAYER3,WITCH,1,2)
	CREATURE_AVAILABLE(PLAYER3,FAIRY,1,0)
	CREATURE_AVAILABLE(PLAYER3,MONK,1,0)
	CREATURE_AVAILABLE(PLAYER3,WIZARD,1,0)
	CREATURE_AVAILABLE(PLAYER3,SAMURAI,1,0)
	CREATURE_AVAILABLE(PLAYER3,KNIGHT,1,10)
	CREATURE_AVAILABLE(PLAYER3,TIME_MAGE,1,0)
	ALLY_PLAYERS(PLAYER2,PLAYER3,3)
	ADD_CREATURE_TO_LEVEL(PLAYER2,TUNNELLER,PLAYER2,5,2,0)
	ADD_CREATURE_TO_LEVEL(PLAYER3,TUNNELLER,PLAYER3,5,2,0)
	ADD_TO_FLAG(​PLAYER2,​FLAG0,1)
	ADD_TO_FLAG(​PLAYER3,​FLAG0,1)
	MAX_CREATURES(PLAYER3,25)
	MAX_CREATURES(PLAYER2,25)
	LEVEL_UP_CREATURE(​PLAYER1,​IMP,​ANYWHERE,​2)
	LEVEL_UP_CREATURE(​PLAYER1,​IMP,​ANYWHERE,​2)
	ADD_GOLD_TO_PLAYER(PLAYER2,25000)
	ADD_GOLD_TO_PLAYER(PLAYER3,25000)
	ROOM_AVAILABLE(PLAYER2,WORKSHOP,1,1)
	ROOM_AVAILABLE(PLAYER2,BARRACKS,1,1)
	ROOM_AVAILABLE(PLAYER2,TORTURE,1,1)
	ROOM_AVAILABLE(PLAYER2,TEMPLE,1,1)
	ROOM_AVAILABLE(PLAYER2,SCAVENGER,1,1)
	ROOM_AVAILABLE(PLAYER3,WORKSHOP,1,1)
	ROOM_AVAILABLE(PLAYER3,BARRACKS,1,1)
	ROOM_AVAILABLE(PLAYER3,TORTURE,1,1)
	ROOM_AVAILABLE(PLAYER3,TEMPLE,1,1)
	ROOM_AVAILABLE(PLAYER3,SCAVENGER,1,1)
ENDIF

IF(PLAYER1,FLAG0 > 90)
	IF(PLAYER1,GAME_TURN >= 2500)
		QUICK_OBJECTIVE(11,​"Since the Warrior King's death the Heroes have focused their efforts on holding off the stronger Keepers while dealing with weaker ones. This strategy has paid off and they have banished all minor Keepers including but not limited to Keeper Gormaros and Keeper Azarath.",PLAYER1)
	ENDIF
ENDIF

IF(PLAYER1,FLAG0 > 90)
	IF(PLAYER1,GAME_TURN >= 4000)
		QUICK_OBJECTIVE(12,​"Vengeful surviving Heroes from your previous conquests are approaching from the west. In addition a force from neighboring Springland have also arrived in the east. Perhaps it would be wise to take out one of these groups quickly before they jointly besiege your dungeon.",PLAYER1)
		SET_GAME_RULE(AlliesShareCta,1)
		SET_GAME_RULE(AlliesShareDrop,0)
		SET_GAME_RULE(AlliesShareVision,1)
	ENDIF
ENDIF

IF(PLAYER2,TRAINING >= 25)
    ROOM_AVAILABLE(PLAYER2,TRAINING,0,0)
ENDIF

IF(PLAYER3,TRAINING >= 25)
    ROOM_AVAILABLE(PLAYER3,TRAINING,0,0)
ENDIF

IF(PLAYER2,FLAG0 != 0)
	IF(PLAYER2,GAME_TURN >= 12000)
		SET_TIMER(PLAYER2,TIMER0)
	ENDIF
ENDIF

IF(PLAYER3,FLAG0 != 0)
	IF(PLAYER3,GAME_TURN >= 14000)
		SET_TIMER(PLAYER3,TIMER0)
	ENDIF
ENDIF

IF(PLAYER1,GAME_TURN >= 20000)
	IF(PLAYER2,TIMER0 >= 2500)
		IF(PLAYER2,DUNGEON_DESTROYED == 0)
			IF(PLAYER2,TUNNELLER < 10)
				IF(PLAYER2,TOTAL_CREATURES < 32)
					NEXT_COMMAND_REUSABLE
					LEVEL_UP_CREATURE(​PLAYER2,TUNNELLER,​NEAR_OWN_HEART,​1)
					NEXT_COMMAND_REUSABLE
					ADD_CREATURE_TO_LEVEL(PLAYER2,TUNNELLER,PLAYER2,2,3,0)
					NEXT_COMMAND_REUSABLE
					SET_TIMER(PLAYER2,TIMER0)
					NEXT_COMMAND_REUSABLE
					ADD_GOLD_TO_PLAYER(PLAYER2,2500)
				ENDIF
			ENDIF
		ENDIF
	ENDIF
ENDIF

IF(PLAYER1,GAME_TURN >= 20000)
	IF(PLAYER3,TIMER0 >= 2500)
		IF(PLAYER3,DUNGEON_DESTROYED == 0)
			IF(PLAYER3,TUNNELLER < 10)
				IF(PLAYER3,TOTAL_CREATURES < 32)
					NEXT_COMMAND_REUSABLE
					LEVEL_UP_CREATURE(​PLAYER3,TUNNELLER,​NEAR_OWN_HEART,​1)
					NEXT_COMMAND_REUSABLE
					ADD_CREATURE_TO_LEVEL(PLAYER3,TUNNELLER,PLAYER3,2,3,0)
					NEXT_COMMAND_REUSABLE
					SET_TIMER(PLAYER3,TIMER0)
					NEXT_COMMAND_REUSABLE
					ADD_GOLD_TO_PLAYER(PLAYER3,2500)
				ENDIF
			ENDIF
		ENDIF
	ENDIF
ENDIF

IF(PLAYER1,GAME_TURN >= 5000)
	SET_GENERATE_SPEED(1250)
ENDIF

IF(PLAYER1,GAME_TURN >= 12500)
	SET_GENERATE_SPEED(1000)
ENDIF

IF(PLAYER1,GAME_TURN >= 20000)
	SET_GENERATE_SPEED(750)
ENDIF

IF(PLAYER1,GAME_TURN >= 30000)
	SET_GENERATE_SPEED(650)
ENDIF

IF(PLAYER1,GAME_TURN >= 25000)
	IF(PLAYER1,FLAG0 > 90)
		IF(PLAYER1,ALL_DUNGEONS_DESTROYED == 0)
			CHANGE_SLAB_OWNER(​1,​31,​PLAYER2)
			CHANGE_SLAB_OWNER(​83,​53,PLAYER3)
		ENDIF
	ENDIF
ENDIF

IF(PLAYER1,FLAG0 > 80)
	IF(PLAYER1,FLAG0 <= 90)
		IF(PLAYER1,GAME_TURN >= 25000)
			IF(PLAYER1,ALL_DUNGEONS_DESTROYED == 0)
				CHANGE_SLAB_OWNER(​1,​31,​PLAYER2)
				CHANGE_SLAB_OWNER(​83,​53,PLAYER3)
			ENDIF
		ENDIF
	ENDIF
ENDIF

IF(PLAYER1,GAME_TURN >= 12500)
	QUICK_INFORMATION(13,​"News from the outside world. At Emberfield the Heroes have attemped to displace Keeper Astaroth but he is too firmly entrenched. The High King has moved away from Glorydale and taken residence in his stronghold at Dawnholde.",PLAYER1)
ENDIF

IF(PLAYER1,GAME_TURN >= 25000)
	QUICK_INFORMATION(14,​"The remaining Guardians have decided to make their next move; the Mage Lord is traveling to the Overworld to gather reinforcements and the Witch Queen is traveling north towards Saintsburgh, close to the realm of Mystwater where the elusive Samurai Clans reside.",PLAYER1)
ENDIF

IF(PLAYER1,GAME_TURN >= 35000)
	QUICK_INFORMATION(15,​"Keeper Kranzarak and Keeper Jandarzon have engaged with each other in a deadly conflict at neighboring Springland. There is a Heroic presence in the crossfire. They seem to be unwilling to retreat and let the ancient Keepers battle it out. Springland is not a particular noteworthy realm by any means but perhaps it would be worth investigating what this is all about.",PLAYER1)
ENDIF

IF(PLAYER1,ALL_DUNGEONS_DESTROYED == 1)
	QUICK_OBJECTIVE(16,​"Excellent. The net is tighening around the core regions of Summerland. The endgame is within reach.",PLAYER1)
	WIN_GAME
ENDIF
