LEVEL_VERSION(1)

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

SET_GENERATE_SPEED(600)
START_MONEY(ALL_PLAYERS,5000)
MAX_CREATURES(PLAYER0,30)
MAX_CREATURES(PLAYER1,15)

QUICK_OBJECTIVE(0,​"The cunning Keeper Astaroth is blocking your way towards Glorydale and Dawnholde. You and him are the last of the Sleepers. So the right of conquest of Summerland is explicity at stake here.",PLAYER1)

COMPUTER_PLAYER(PLAYER0,0)

SET_COMPUTER_PROCESS(PLAYER0,"BUILD A TREASURE ROOM",0,5,6,2,0)
SET_COMPUTER_PROCESS(PLAYER0,"BUILD A RESEARCH ROOM",0,5,6,3,0)
SET_COMPUTER_PROCESS(PLAYER0,"BUILD A GRAVEYARD ROOM",0,5,6,11,0)

SET_CREATURE_TENDENCIES(PLAYER0,FLEE,1)
HIDE_HERO_GATE(1,1)

SET_PLAYER_MODIFIER(PLAYER0,Loyalty,75)
SET_PLAYER_MODIFIER(PLAYER1,ScavengingCost,50)

REM Black Knights
SET_CREATURE_PROPERTY(KNIGHT,EVIL,1)
SET_CREATURE_CONFIGURATION(KNIGHT,PAY,405)

REM Mystic Knights
SET_CREATURE_HEALTH(AVATAR,850)
SET_CREATURE_ARMOUR(AVATAR,65)
SET_CREATURE_STRENGTH(AVATAR,75)
SET_CREATURE_PROPERTY(AVATAR,ONE_OF_KIND,0)
SET_CREATURE_PROPERTY(AVATAR,LORD,0)
SET_CREATURE_PROPERTY(AVATAR,NEVER_CHICKENS,0)
SET_CREATURE_PROPERTY(AVATAR,IMMUNE_TO_BOULDER,0)
SET_CREATURE_PROPERTY(AVATAR,ONE_OF_KIND,0)
SET_CREATURE_PROPERTY(AVATAR,NO_IMPRISONMENT,1)

ADD_CREATURE_TO_POOL(TROLL,20)
ADD_CREATURE_TO_POOL(DEMONSPAWN,20)
ADD_CREATURE_TO_POOL(SPIDER,20)
ADD_CREATURE_TO_POOL(HELL_HOUND,20)
ADD_CREATURE_TO_POOL(BILE_DEMON,20)
ADD_CREATURE_TO_POOL(SORCEROR,20)
ADD_CREATURE_TO_POOL(ORC,20)
ADD_CREATURE_TO_POOL(DRAGON,40)
ADD_CREATURE_TO_POOL(DARK_MISTRESS,10)
ADD_CREATURE_TO_POOL(VAMPIRE,1)
ADD_CREATURE_TO_POOL(HORNY,1)

CREATURE_AVAILABLE(ALL_PLAYERS,DEMONSPAWN,1,0)
CREATURE_AVAILABLE(ALL_PLAYERS,TROLL,1,0)
CREATURE_AVAILABLE(ALL_PLAYERS,SPIDER,1,0)
CREATURE_AVAILABLE(ALL_PLAYERS,HELL_HOUND,1,0)
CREATURE_AVAILABLE(ALL_PLAYERS,BILE_DEMON,1,0)
CREATURE_AVAILABLE(ALL_PLAYERS,SORCEROR,1,0)
CREATURE_AVAILABLE(ALL_PLAYERS,ORC,1,0)
CREATURE_AVAILABLE(ALL_PLAYERS,DRAGON,1,0)
CREATURE_AVAILABLE(ALL_PLAYERS,DARK_MISTRESS,1,0)
CREATURE_AVAILABLE(ALL_PLAYERS,VAMPIRE,1,0)

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,WORKSHOP,1,0)
ROOM_AVAILABLE(ALL_PLAYERS,TORTURE,1,0)
ROOM_AVAILABLE(ALL_PLAYERS,BARRACKS,1,0)
ROOM_AVAILABLE(ALL_PLAYERS,TEMPLE,1,0)
ROOM_AVAILABLE(ALL_PLAYERS,GRAVEYARD,1,0)

MAGIC_AVAILABLE(ALL_PLAYERS,POWER_HAND,1,1)
MAGIC_AVAILABLE(ALL_PLAYERS,POWER_SLAP,1,1)
MAGIC_AVAILABLE(ALL_PLAYERS,POWER_POSSESS,1,1)
MAGIC_AVAILABLE(ALL_PLAYERS,POWER_IMP,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_CONCEAL,1,0)
MAGIC_AVAILABLE(ALL_PLAYERS,POWER_HOLD_AUDIENCE,1,0)
MAGIC_AVAILABLE(ALL_PLAYERS,POWER_CAVE_IN,1,0)
MAGIC_AVAILABLE(ALL_PLAYERS,POWER_HEAL_CREATURE,1,0)
MAGIC_AVAILABLE(ALL_PLAYERS,POWER_PROTECT,1,0)
MAGIC_AVAILABLE(ALL_PLAYERS,POWER_CHICKEN,1,0)

RESEARCH(PLAYER0,MAGIC,POWER_DESTROY_WALLs,100000)

TRAP_AVAILABLE(ALL_PLAYERS,ALARM,1,0)
TRAP_AVAILABLE(ALL_PLAYERS,POISON_GAS,1,0)
TRAP_AVAILABLE(ALL_PLAYERS,LIGHTNING,1,0)
TRAP_AVAILABLE(ALL_PLAYERS,LAVA,1,0)
TRAP_AVAILABLE(ALL_PLAYERS,BOULDER,1,0)
TRAP_AVAILABLE(ALL_PLAYERS,WORD_OF_POWER,1,0)

DOOR_AVAILABLE(ALL_PLAYERS,SECRET,1,0)
DOOR_AVAILABLE(ALL_PLAYERS,BRACED,1,0)
DOOR_AVAILABLE(ALL_PLAYERS,STEEL,1,0)

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

CREATE_PARTY(GIANT5)
	ADD_TO_PARTY(GIANT5,GIANT,5,1500,ATTACK_ROOMS,60000)
	
CREATE_PARTY(FAIRY5)
	ADD_TO_PARTY(FAIRY5,FAIRY,5,1500,STEAL_SPELLS,60000)
	
CREATE_PARTY(SCOUTS)
	ADD_TO_PARTY(SCOUTS,THIEF,8,250,STEAL_GOLD,200)
	ADD_TO_PARTY(SCOUTS,THIEF,8,250,STEAL_GOLD,200)
	ADD_TO_PARTY(SCOUTS,DWARFA,8,400,ATTACK_ROOMS,200)
	ADD_TO_PARTY(SCOUTS,ARCHER,8,300,DEFEND_PARTY,200)
	
CREATE_PARTY(BARBARIAN_ATTACKERS)
	ADD_TO_PARTY(BARBARIAN_ATTACKERS,BARBARIAN,8,400,ATTACK_ROOMS,200)
	ADD_TO_PARTY(BARBARIAN_ATTACKERS,BARBARIAN,8,400,ATTACK_ROOMS,200)
	ADD_TO_PARTY(BARBARIAN_ATTACKERS,BARBARIAN,8,400,ATTACK_ROOMS,200)
	ADD_TO_PARTY(BARBARIAN_ATTACKERS,ARCHER,7,400,DEFEND_PARTY,200)
	ADD_TO_PARTY(BARBARIAN_ATTACKERS,ARCHER,7,400,DEFEND_PARTY,200)

CREATE_PARTY(HOLY)
	ADD_TO_PARTY(HOLY,MONK,8,450,STEAL_SPELLS,200)
	ADD_TO_PARTY(HOLY,MONK,8,600,ATTACK_DUNGEON_HEART,200)
	ADD_TO_PARTY(HOLY,WIZARD,9,500,STEAL_SPELLS,200)
	ADD_TO_PARTY(HOLY,FAIRY,8,400,STEAL_SPELLS,200)
	ADD_TO_PARTY(HOLY,WITCH,8,400,DEFEND_PARTY,200)
	ADD_TO_PARTY(HOLY,MONK,8,450,STEAL_SPELLS,200)
	
CREATE_PARTY(MYSTIC_KNIGHTS)
	ADD_TO_PARTY(MYSTIC_KNIGHTS,AVATAR,8,450,STEAL_SPELLS,200)
	ADD_TO_PARTY(MYSTIC_KNIGHTS,AVATAR,9,600,ATTACK_DUNGEON_HEART,200)
	ADD_TO_PARTY(MYSTIC_KNIGHTS,AVATAR,8,500,STEAL_SPELLS,200)
	ADD_TO_PARTY(MYSTIC_KNIGHTS,WIZARD,8,400,STEAL_SPELLS,200)
	ADD_TO_PARTY(MYSTIC_KNIGHTS,FAIRY,7,400,DEFEND_PARTY,200)
	ADD_TO_PARTY(MYSTIC_KNIGHTS,WITCH,7,450,STEAL_SPELLS,200)
	
CREATE_PARTY(GIANT_ATTACKERS)
	ADD_TO_PARTY(GIANT_ATTACKERS,GIANT,9,500,ATTACK_ROOMS,200)
	ADD_TO_PARTY(GIANT_ATTACKERS,GIANT,8,500,ATTACK_ROOMS,200)
	
CREATE_PARTY(FAIRY_ATTACKERS)
	ADD_TO_PARTY(FAIRY_ATTACKERS,FAIRY,9,500,STEAL_SPELLS,200)
	ADD_TO_PARTY(FAIRY_ATTACKERS,FAIRY,8,500,STEAL_SPELLS,200)

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

ADD_PARTY_TO_LEVEL(PLAYER_GOOD,FAIRY5,2,2)
ADD_PARTY_TO_LEVEL(PLAYER_GOOD,GIANT5,2,1)

ADD_PARTY_TO_LEVEL(PLAYER_GOOD,FAIRY5,5,2)
ADD_PARTY_TO_LEVEL(PLAYER_GOOD,GIANT5,5,1)
ADD_PARTY_TO_LEVEL(PLAYER_GOOD,FAIRY5,4,1)
ADD_PARTY_TO_LEVEL(PLAYER_GOOD,GIANT5,3,1)
ADD_PARTY_TO_LEVEL(PLAYER_GOOD,GIANT5,1,1)

IF(PLAYER1,GAME_TURN >= 1000)
	QUICK_INFORMATION(1,​"Summerland At War Status: Desperation grips the core realms as the Heroes come to realize the worsening plight on the battle lines.",PLAYER1)
ENDIF

IF(PLAYER1,GAME_TURN >= 500)
	QUICK_MESSAGE(2,​"Blue Tempest, in the end there can only be one.",PLAYER0)
ENDIF

IF(PLAYER1,TOTAL_CREATURES >= 5)
	QUICK_INFORMATION(3,​"The Butcher went his own way after the events of Springland. Claiming he has own plans for the Overworld. However, he would inform his kin of the ongoing events of Summerland. Perhaps some of them will make their way here. (Horned Reapers are now available for attraction and sacrafice). ",PLAYER1)
ENDIF

IF(PLAYER1,TOTAL_CREATURES >= 10)
	CREATURE_AVAILABLE(PLAYER1,HORNY,1,1)
ENDIF

IF(PLAYER1,GAME_TURN >= 15000)
	QUICK_INFORMATION(4,​"Summerlands' capital Glorydale is within reach. However. there is also Dawnholde to consider should you wish. Dawnholde is the seat of Summerlands' High King and stronghold of the Order of Mystic Knights.",PLAYER1)
ENDIF

IF_AVAILABLE(PLAYER1,POWER_SIGHT >= 1)
	IF(PLAYER1,TOTAL_CREATURES >= 8)
		QUICK_OBJECTIVE(5,​"Most Creatures in this realm already support Keeper Astaroth so you are at a numerical disadvantage. Seek out means to bolster your forces. But beware; powerful Heroes patrol the area.",PLAYER1)
	ENDIF
ENDIF

IF(PLAYER1,TOTAL_CREATURES >= 15)
	QUICK_INFORMATION(6,​"A group of Black Knights are rumored to roam this area. Perhaps you can align them to your cause.",PLAYER1)
ENDIF

IF(PLAYER1,KNIGHT >= 1)
	QUICK_INFORMATION(7,​"The young Black Knight named Kaleb is grateful for your rescue. Free his brothers also and you will have powerful allies at your side.",PLAYER1)
	MAGIC_AVAILABLE(PLAYER0,POWER_DESTROY_WALLS,1,0)
ENDIF

IF(PLAYER0,TRAINING >= 60)
	ROOM_AVAILABLE(PLAYER0,TRAINING,0,0)
ENDIF

IF(PLAYER1,BRIDGE > 1)
	ROOM_AVAILABLE(PLAYER1,BRIDGE,1,1)
	ROOM_AVAILABLE(PLAYER0,BRIDGE,1,0)
	TUTORIAL_FLASH_BUTTON(18,100)
ENDIF

IF(PLAYER1,SCAVENGER > 1)
	SET_TIMER(PLAYER1,TIMER1)
	QUICK_INFORMATION(8,​"You have found a Scavenger Room. Defend and maintain this room to attract Creatures to your cause. Your Creatures are researching this room so you can construct another one, should you wish.",-1)
	QUICK_INFORMATION(9,​"(Use of the Scavenger Room is heavily discounted in this realm)",-1)
ENDIF

IF(PLAYER1,SCAVENGER >= 9)
	IF(PLAYER1,BATTLES_WON >= 20)
		IF(PLAYER1,TIMER1 >= 10000)
			ROOM_AVAILABLE(PLAYER1,SCAVENGER,1,1)
			TUTORIAL_FLASH_BUTTON(14,100)
			ROOM_AVAILABLE(PLAYER0,SCAVENGER,1,0)
			ADD_CREATURE_TO_LEVEL(PLAYER_NEUTRAL,ANGEL,-1,1,5,0)
			QUICK_INFORMATION(10,​"The heat of conflict has attracted the attention of Dark Angels to the continent. One has already arrived at your Scavenger Room. Speaking of that, your Creatures have researched the room. (Dark Angels can now be attracted in this campaign with a Scavenger Room)",-1)
			SET_FLAG(PLAYER1,CAMPAIGN_FLAG1,1)
			ADD_CREATURE_TO_POOL(ANGEL,1)
			CREATURE_AVAILABLE(PLAYER1,ANGEL,1,0)
			ZOOM_TO_LOCATION(PLAYER1,-1)
		ENDIF
	ENDIF
ENDIF

IF_CONTROLS(PLAYER0,TOTAL_CREATURES < 14)
	IF(PLAYER0,BATTLES_LOST >= 8)
		IF(PLAYER0,GAME_TURN > 40000)
			ADD_TO_FLAG(​PLAYER0,​FLAG0,​1)
		ENDIF
	ENDIF
ENDIF

IF(PLAYER0,HEART_HEALTH <= 25000)
	IF_ALLIED(PLAYER1,PLAYER0 == 0)
		IF_ALLIED(PLAYER0,PLAYER1 == 0)
			IF(PLAYER0,BATTLES_LOST >= 8)
				ADD_TO_FLAG(​PLAYER0,​FLAG0,​1)
			ENDIF
		ENDIF
	ENDIF
ENDIF

IF(PLAYER0,FLAG0 >= 1)
	ADD_HEART_HEALTH(PLAYER0,5000,0)
	USE_POWER(PLAYER0,POWER_HOLD_AUDIENCE,1)
	USE_POWER(PLAYER1,POWER_HOLD_AUDIENCE,1)
	ADD_TO_FLAG(​PLAYER0,​FLAG1,​1)
	SET_TIMER(PLAYER0,TIMER0)
	CREATURE_ENTRANCE_LEVEL(PLAYER0,4)
	ADD_TO_FLAG(​PLAYER_GOOD,​FLAG0,​1)
	ADD_PARTY_TO_LEVEL(PLAYER_GOOD,SCOUTS,6,1)
	ADD_PARTY_TO_LEVEL(PLAYER_GOOD,SCOUTS,11,1)
	QUICK_MESSAGE(11,​"Blue Tempest, call of your attack. Heroes are approaching.",PLAYER0)
ENDIF

IF(PLAYER0,TIMER0 >= 250)
	IF(PLAYER0,FLAG1 >= 1)
		QUICK_MESSAGE(12,​"I propose we deal with those Heroic interlopers.",PLAYER0)
		QUICK_OBJECTIVE(13,​"(ally the Red Keeper Astaroth to proceed the game)",PLAYER0)
		TUTORIAL_FLASH_BUTTON(1,100)
		TUTORIAL_FLASH_BUTTON(40,100)
	ENDIF
ENDIF

IF_ALLIED(PLAYER1,PLAYER0 == 1)
	IF(PLAYER0,FLAG1 >= 1)
		ALLY_PLAYERS(PLAYER1,PLAYER0,3)
		SET_GAME_RULE(AlliesShareCta,1)
		SET_GAME_RULE(AlliesShareDrop,1)
		SET_GAME_RULE(AlliesShareVision,1)
		SET_GAME_RULE(PreserveClassicBugs,128)
		ADD_TO_FLAG(​PLAYER0,​FLAG0,​1)
		ADD_TO_FLAG(​PLAYER_GOOD,​FLAG0,​1)
		SET_GAME_RULE(PayDayGap,20000)
		QUICK_OBJECTIVE(14,​"An unexpected development but perhaps something you can turn into a long term advantage. An alliance could perhaps be an option once the Heroic attacks have been fended off. Do not allow Keeper Astaroth to be banished by the Heroes.  ",PLAYER0)
	ENDIF
ENDIF

IF(PLAYER0,TIMER0 >= 500)
	SET_TIMER(PLAYER_GOOD,TIMER0)
	SET_TIMER(PLAYER_GOOD,TIMER1)
	ADD_PARTY_TO_LEVEL(PLAYER_GOOD,SCOUTS,10,1)
	ADD_PARTY_TO_LEVEL(PLAYER_GOOD,SCOUTS,11,1)
ENDIF

IF(PLAYER0,TIMER0 >= 750)
	IF(PLAYER_GOOD,FLAG0 == 2)
		SET_TIMER(PLAYER_GOOD,TIMER2)
		SET_TIMER(PLAYER_GOOD,TIMER3)
		SET_TIMER(PLAYER_GOOD,TIMER4)
		ADD_PARTY_TO_LEVEL(PLAYER_GOOD,SCOUTS,10,1)
		ADD_PARTY_TO_LEVEL(PLAYER_GOOD,SCOUTS,11,1)
	ENDIF
ENDIF

IF(PLAYER_GOOD,TIMER0 >= 1800)
	IF(PLAYER_GOOD,FLAG0 >= 1)
		NEXT_COMMAND_REUSABLE
		ADD_PARTY_TO_LEVEL(PLAYER_GOOD,SCOUTS,11,1)
		NEXT_COMMAND_REUSABLE
		SET_TIMER(PLAYER_GOOD,TIMER0)
	ENDIF
ENDIF

IF(PLAYER_GOOD,TIMER1 >= 1750)
	IF(PLAYER_GOOD,FLAG0 >= 1)
		NEXT_COMMAND_REUSABLE
		ADD_PARTY_TO_LEVEL(PLAYER_GOOD,SCOUTS,10,1)
		NEXT_COMMAND_REUSABLE
		SET_TIMER(PLAYER_GOOD,TIMER1)
		ENDIF
	ENDIF
ENDIF

IF(PLAYER_GOOD,TIMER2 >= 2500)
	IF(PLAYER_GOOD,FLAG0 >= 2)
		ADD_PARTY_TO_LEVEL(PLAYER_GOOD,SCOUTS,6,1)
		NEXT_COMMAND_REUSABLE
		ADD_PARTY_TO_LEVEL(PLAYER_GOOD,BARBARIAN_ATTACKERS,7,1)
		NEXT_COMMAND_REUSABLE
		ADD_PARTY_TO_LEVEL(PLAYER_GOOD,FAIRY_ATTACKERS,5,1)
		NEXT_COMMAND_REUSABLE
		SET_TIMER(PLAYER_GOOD,TIMER2)
	ENDIF
ENDIF

IF(PLAYER_GOOD,TIMER3 >= 2750)
	IF(PLAYER_GOOD,FLAG0 >= 2)
		NEXT_COMMAND_REUSABLE
		ADD_PARTY_TO_LEVEL(PLAYER_GOOD,HOLY,9,1)
		NEXT_COMMAND_REUSABLE
		ADD_PARTY_TO_LEVEL(PLAYER_GOOD,GIANT_ATTACKERS,5,1)
		NEXT_COMMAND_REUSABLE
		SET_TIMER(PLAYER_GOOD,TIMER3)
	ENDIF
ENDIF

IF(PLAYER_GOOD,TIMER4 >= 9000)
	ADD_TO_FLAG(​PLAYER_GOOD,​FLAG0,-2)
	SET_TIMER(PLAYER_GOOD,TIMER5)
	QUICK_INFORMATION(15,​"The Heroes have been pushed back but are not defeated yet. A new force is approaching, this time from Dawnholde. ",PLAYER1)
	CREATURE_ENTRANCE_LEVEL(PLAYER0,5)
ENDIF

IF(PLAYER_GOOD,TIMER5 >= 2000)
	QUICK_INFORMATION(16,​"Mystic Knights are approaching. Beware of them as they are knights trained by the Warrior King himself to defend Glorydale amongst other places. They are not to be underestimated. (Mystic Knights take the appearance of the Avatar with identical abilities but much weaker stats and lack of immunities. They can now appear in the remainder of the campaign defending important Heroic realms.)",PLAYER1)
ENDIF

IF(PLAYER_GOOD,TIMER5 >= 4000)
	SET_TIMER(PLAYER_GOOD,TIMER6)
	SET_TIMER(PLAYER_GOOD,TIMER7)
	SET_TIMER(PLAYER1,TIMER0)
	ADD_PARTY_TO_LEVEL(PLAYER_GOOD,MYSTIC_KNIGHTS,11,1)
	ADD_PARTY_TO_LEVEL(PLAYER_GOOD,MYSTIC_KNIGHTS,10,1)
ENDIF

IF(PLAYER_GOOD,TIMER6 >= 2150)
	IF(PLAYER_GOOD,FLAG1 == 0)
		NEXT_COMMAND_REUSABLE
		ADD_PARTY_TO_LEVEL(PLAYER_GOOD,MYSTIC_KNIGHTS,6,1)
		NEXT_COMMAND_REUSABLE
		ADD_PARTY_TO_LEVEL(PLAYER_GOOD,MYSTIC_KNIGHTS,9,1)
		NEXT_COMMAND_REUSABLE
		SET_TIMER(PLAYER_GOOD,TIMER6)
	ENDIF
ENDIF

IF(PLAYER_GOOD,TIMER7 >= 2350)
	IF(PLAYER_GOOD,FLAG1 == 0)
		NEXT_COMMAND_REUSABLE
		ADD_PARTY_TO_LEVEL(PLAYER_GOOD,GIANT_ATTACKERS,10,1)
		NEXT_COMMAND_REUSABLE
		ADD_PARTY_TO_LEVEL(PLAYER_GOOD,HOLY,8,1)
		NEXT_COMMAND_REUSABLE
		SET_TIMER(PLAYER_GOOD,TIMER7)
	ENDIF
ENDIF

IF(PLAYER1,TIMER0 >= 9000)
	ADD_TO_FLAG(​PLAYER_GOOD,​FLAG1,1)
	SET_TIMER(PLAYER_GOOD,TIMER5)
	ADD_TO_FLAG(​PLAYER1,​FLAG1,1)
ENDIF

IF(PLAYER0,DUNGEON_DESTROYED == 1)
	QUICK_OBJECTIVE(17,​"You have allowed Keeper Astaroth to be banished. Now a much-needed alliance to take on the Heroes is not possible anymore.",PLAYER1)
	LOSE_GAME
ENDIF


IF_ALLIED(PLAYER1,PLAYER0 == 1)
	IF(PLAYER1,FLAG1 == 1)
		IF_CONTROLS(PLAYER_GOOD,TOTAL_CREATURES == 0)
			QUICK_OBJECTIVE(18,​"The Heroes have been defeated. Now is the time to take the fight to them. Given the threat of the Mystic Knights your next destination will be Dawnholde. Keeper Astaroth indicated that he will start the siege on Glorydale to prevent interference on your part.",PLAYER1)
			WIN_GAME
		ENDIF
	ENDIF
ENDIF