LEVEL_VERSION(1)

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

QUICK_OBJECTIVE(​0,​"Survivors of Ambergarde have fled to this realm, it will not take long before they will notify the local Heroes in the south of your escape and current position.",PLAYER1)

COMPUTER_PLAYER(PLAYER3,2)
SET_PLAYER_COLOR(PLAYER3,WHITE)

ADD_HEART_HEALTH(PLAYER1,-20000,0)

SET_DOOR_CONFIGURATION(WOOD,ManufactureRequired,10000)
SET_TRAP_CONFIGURATION(POISON_GAS,ManufactureRequired,12000)

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

SET_CREATURE_STRENGTH(AVATAR,150)
SET_CREATURE_HEALTH(AVATAR,7000)
SET_CREATURE_ARMOUR(AVATAR,150)
SET_CREATURE_PROPERTY(AVATAR,ILLUMINATED,1)
SET_CREATURE_PROPERTY(AVATAR,NO_IMPRISONMENT,1)
SET_CREATURE_CONFIGURATION(AVATAR,BaseSpeed,30)
SET_CREATURE_CONFIGURATION(AVATAR,FearsomeFactor,10)

SET_CREATURE_INSTANCE(AVATAR,2, ARMOUR, 2)
SET_CREATURE_INSTANCE(AVATAR,3, SIGHT, 3)
SET_CREATURE_INSTANCE(AVATAR,4, FREEZE, 4)
SET_CREATURE_INSTANCE(AVATAR,6, SLOW, 7)
SET_CREATURE_INSTANCE(AVATAR,7, HAILSTORM, 8)
SET_CREATURE_INSTANCE(AVATAR,9, WORD_OF_POWER, 10)


START_MONEY(PLAYER1,1000)
START_MONEY(PLAYER3,10000)

MAX_CREATURES(PLAYER1,12)
MAX_CREATURES(PLAYER3,16)

SET_GENERATE_SPEED(650)
ADD_CREATURE_TO_POOL(FLY,10)
ADD_CREATURE_TO_POOL(BUG,10)
ADD_CREATURE_TO_POOL(SPIDER,4)
ADD_CREATURE_TO_POOL(TROLL,10)
ADD_CREATURE_TO_POOL(SORCEROR,10)
ADD_CREATURE_TO_POOL(DEMONSPAWN,10)

ADD_CREATURE_TO_POOL(BARBARIAN,1)
ADD_CREATURE_TO_POOL(DWARFA,2)
ADD_CREATURE_TO_POOL(ARCHER,5)
ADD_CREATURE_TO_POOL(THIEF,5)
ADD_CREATURE_TO_POOL(WIZARD,1)
ADD_CREATURE_TO_POOL(MONK,1)
ADD_CREATURE_TO_POOL(FAIRY,1)
ADD_CREATURE_TO_POOL(WITCH,1)
ADD_CREATURE_TO_POOL(TIME_MAGE,1)

SET_CREATURE_STRENGTH(AVATAR,250)
SET_CREATURE_HEALTH(AVATAR,8000)
SET_CREATURE_ARMOUR(AVATAR,250)

SET_CREATURE_HEALTH(KNIGHT,1400)
SET_CREATURE_ARMOUR(KNIGHT,50)
SET_CREATURE_STRENGTH(KNIGHT,25)
SET_CREATURE_CONFIGURATION(KNIGHT,BaseSpeed,32)

HIDE_HERO_GATE(4,1)

CREATURE_AVAILABLE(PLAYER1,FLY,1,0)
CREATURE_AVAILABLE(PLAYER1,BUG,1,0)
CREATURE_AVAILABLE(PLAYER1,SPIDER,1,0)
CREATURE_AVAILABLE(PLAYER1,TROLL,0,0)
CREATURE_AVAILABLE(PLAYER1,SORCEROR,0,0)
CREATURE_AVAILABLE(PLAYER1,DEMONSPAWN,0,0)


ROOM_AVAILABLE(ALL_PLAYERS,LAIR,1,1)
ROOM_AVAILABLE(PLAYER1,TREASURE,1,1)
ROOM_AVAILABLE(PLAYER1,TRAINING,1,1)
ROOM_AVAILABLE(PLAYER3,RESEARCH,1,1)
ROOM_AVAILABLE(ALL_PLAYERS,GARDEN,1,1)
ROOM_AVAILABLE(PLAYER3,TORTURE,1,0)
ROOM_AVAILABLE(PLAYER3,BARRACKS,1,0)
ROOM_AVAILABLE(PLAYER3,SCAVENGER,1,0)

MAGIC_AVAILABLE(PLAYER1,POWER_IMP,1,1)
MAGIC_AVAILABLE(PLAYER1,POWER_SPEED,1,0)
MAGIC_AVAILABLE(ALL_PLAYERS,POWER_HAND,1,1)
MAGIC_AVAILABLE(ALL_PLAYERS,POWER_CALL_TO_ARMS,1,0)
MAGIC_AVAILABLE(PLAYER3,POWER_HOLD_AUDIENCE,1,0)
MAGIC_AVAILABLE(ALL_PLAYERS,POWER_CONCEAL,1,0)
MAGIC_AVAILABLE(ALL_PLAYERS,POWER_HEAL_CREATURE,1,0)

DOOR_AVAILABLE(ALL_PLAYERS,WOOD,1,0)
DOOR_AVAILABLE(ALL_PLAYERS,BRACED,1,0)
TRAP_AVAILABLE(ALL_PLAYERS,POISON_GAS,1,0)
TRAP_AVAILABLE(ALL_PLAYERS,ALARM,1,0)

ALLY_PLAYERS(PLAYER3,PLAYER_GOOD,1)
ALLY_PLAYERS(PLAYER1,PLAYER3,2)
SET_COMPUTER_GLOBALS(PLAYER3,90,1,30,1,200,1,5)

SET_CREATURE_TENDENCIES(PLAYER3,FLEE,1)

SET_CREATURE_MAX_LEVEL(ALL_PLAYERS,TUNNELLER,4)
SET_CREATURE_MAX_LEVEL(ALL_PLAYERS,FLY,4)
SET_CREATURE_MAX_LEVEL(ALL_PLAYERS,BUG,4)
SET_CREATURE_MAX_LEVEL(ALL_PLAYERS,SPIDER,4)
SET_CREATURE_MAX_LEVEL(ALL_PLAYERS,DEMONSPAWN,4)
SET_CREATURE_MAX_LEVEL(ALL_PLAYERS,IMP,4)
SET_CREATURE_MAX_LEVEL(ALL_PLAYERS,SORCEROR,4)
SET_CREATURE_MAX_LEVEL(ALL_PLAYERS,TROLL,4)
SET_CREATURE_MAX_LEVEL(ALL_PLAYERS,GHOST,4)

SET_CREATURE_MAX_LEVEL(ALL_PLAYERS,THIEF,4)
SET_CREATURE_MAX_LEVEL(ALL_PLAYERS,ARCHER,4)
SET_CREATURE_MAX_LEVEL(ALL_PLAYERS,DWARFA,4)
SET_CREATURE_MAX_LEVEL(ALL_PLAYERS,FAIRY,4)
SET_CREATURE_MAX_LEVEL(ALL_PLAYERS,WIZARD,4)
SET_CREATURE_MAX_LEVEL(ALL_PLAYERS,KNIGHT,4)
SET_CREATURE_MAX_LEVEL(ALL_PLAYERS,MONK,4)
SET_CREATURE_MAX_LEVEL(ALL_PLAYERS,GIANT,4)
SET_CREATURE_MAX_LEVEL(ALL_PLAYERS,BARBARIAN,4)
SET_CREATURE_MAX_LEVEL(ALL_PLAYERS,WITCH,4)
SET_CREATURE_MAX_LEVEL(ALL_PLAYERS,TIME_MAGE,4)



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

CREATE_PARTY(WARRIOR_KING)
    ADD_TO_PARTY(WARRIOR_KING,FAIRY,9,1500,DEFEND_PARTY,10000)
    ADD_TO_PARTY(WARRIOR_KING,AVATAR,10,50000,ATTACK_DUNGEON_HEART,10000)
    ADD_TO_PARTY(WARRIOR_KING,WIZARD,10,1500,STEAL_SPELLS,10000)
    ADD_TO_PARTY(WARRIOR_KING,WITCH,10,1000,STEAL_SPELLS,10000)
    ADD_TO_PARTY(WARRIOR_KING,SAMURAI,9,1500,ATTACK_ENEMIES,10000)
    ADD_TO_PARTY(WARRIOR_KING,MONK,9,1000,DEFEND_PARTY,10000)
	
CREATE_PARTY(ELITE)
    ADD_TO_PARTY(ELITE,SAMURAI,9,1000,ATTACK_ENEMIES,0)
    ADD_TO_PARTY(ELITE,WIZARD,9,1500,STEAL_SPELLS,0)
    ADD_TO_PARTY(ELITE,BARBARIAN,8,1000,STEAL_GOLD,0)
    ADD_TO_PARTY(ELITE,GIANT,8,1000,ATTACK_ROOMS,0)
    ADD_TO_PARTY(ELITE,ARCHER,9,800,DEFEND_PARTY,0)
    ADD_TO_PARTY(ELITE,SAMURAI,8,1000,ATTACK_ENEMIES,0)
	ADD_TO_PARTY(ELITE,FAIRY,10,1200,DEFEND_PARTY,0)

CREATE_PARTY(HOLY)
	ADD_TO_PARTY(HOLY,MONK,2,100,STEAL_GOLD,500)
	ADD_TO_PARTY(HOLY,MONK,2,100,ATTACK_ENEMIES,500)
	ADD_TO_PARTY(HOLY,MONK,2,100,STEAL_GOLD,500)
	ADD_TO_PARTY(HOLY,FAIRY,3,200,ATTACK_ROOMS,500)
	ADD_TO_PARTY(HOLY,FAIRY,3,200,STEAL_SPELLS,500)
	
CREATE_PARTY(LORD)
    ADD_TO_PARTY(LORD,WIZARD,3,500,STEAL_SPELLS,1500)
    ADD_TO_PARTY(LORD,KNIGHT,4,5000,ATTACK_DUNGEON_HEART,1500)
    ADD_TO_PARTY(LORD,MONK,2,400,STEAL_GOLD,1500)
    ADD_TO_PARTY(LORD,ARCHER,2,300,DEFEND_PARTY,1500)
    ADD_TO_PARTY(LORD,FAIRY,3,200,ATTACK_ROOMS,1500)
    ADD_TO_PARTY(LORD,WITCH,3,300,STEAL_SPELLS,1500)

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

REM Music

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,HEART_HEALTH >= 15000)
	NEXT_COMMAND_REUSABLE
	ADD_HEART_HEALTH(PLAYER1,-1,0)
ENDIF

IF(PLAYER1,GAME_TURN > 1000)
	QUICK_INFORMATION(1,​"Summerland At War Status: Heroic forces are holding steady and winning in key locations. ",PLAYER1)
ENDIF

IF(PLAYER1,TOTAL_CREATURES >= 3)
	QUICK_INFORMATION(2,​"Your insect minions have served you well so far but the Heroes here are tougher and more numerous than at Ambergarde. So you might want to look around for means to attract additional Creatures. The following points might be of interest of you: The Mage Arena in the north west, caverns in the north east and a monastery to the south east.  ",PLAYER1)
	TUTORIAL_FLASH_BUTTON(37,0)
ENDIF

IF(PLAYER1,DEMONSPAWN >= 1)
	QUICK_INFORMATION(3,​"You have found some demonspawn and an additional portal. Find a way to connect this to your dungeon.",PLAYER1)
ENDIF

IF(PLAYER1,SORCEROR >= 1)
	ROOM_AVAILABLE(PLAYER1,RESEARCH,1,1)
	CREATURE_AVAILABLE(PLAYER1,SORCEROR,1,0)
	QUICK_INFORMATION(4,​"These wicked humans you have found are eager to serve you and have supplied you with the knowledge to build libaries.",PLAYER1)
ENDIF

IF(PLAYER1,WORKSHOP >= 1)
	CREATURE_AVAILABLE(PLAYER1,TROLL,1,0)
	ROOM_AVAILABLE(PLAYER1,BRIDGE,1,0)
	ROOM_AVAILABLE(PLAYER1,WORKSHOP,1,0)
	QUICK_INFORMATION(5,​"You have claimed a workshop. Trolls will likely make their way towards you. Construction of bridges will also be possible now.",PLAYER1)
ENDIF

IF_SLAB_OWNER(​72,​4,​PLAYER1)
	MAX_CREATURES(PLAYER1,20)
	CREATURE_AVAILABLE(PLAYER1,DEMONSPAWN,1,0)
	QUICK_INFORMATION(6,​"Excellent, demonspawn will rise from the pit to join your fight.",PLAYER1)
ENDIF

IF(PLAYER1,GAME_TURN > 5000)
	IF(PLAYER1,ACTIVE_BATTLES == 0)	
		QUICK_INFORMATION(7,​"The Warrior King is leading a large army close to Brittledenn. He seems to be unaware of you and to be moving away to deal with the more dangerous Keepers closer to Glorydale. ",PLAYER1)
	ENDIF
ENDIF

IF(PLAYER1,GAME_TURN > 8500)
	IF(PLAYER1,ACTIVE_BATTLES == 0)	
		QUICK_INFORMATION(8,​"More of the Sleepers are waking up. The more noteworthy Keepers include Kroneus, Astaroth and Jandarzon. They are relatively close to Glorydale. This is good; their activities should provide a useful distraction.",PLAYER1)
	ENDIF
ENDIF

IF(PLAYER1,GAME_TURN > 8750)
	IF(PLAYER1,ACTIVE_BATTLES == 0)	
		QUICK_INFORMATION(9,​"Keeper Kroneus is a Keeper that trives in conflict. His martial and destructive nature will likely attract attention soon.",PLAYER1)
	ENDIF
ENDIF

IF(PLAYER1,GAME_TURN > 9250)
	IF(PLAYER1,ACTIVE_BATTLES == 0)	
		QUICK_INFORMATION(10,​"Keeper Astaroth is a cunning opponent. Although very close to Glorydale and Dawnholde he will likely bide his time before making his move.",PLAYER1)
	ENDIF
ENDIF

IF(PLAYER1,GAME_TURN > 9450)
	IF(PLAYER1,ACTIVE_BATTLES == 0)	
		QUICK_INFORMATION(11,​"Keeper Jandarzon is an ancient and dangerous Keeper. Out of all the awakened Sleepers he is by far the strongest being. Stay clear of his path.",PLAYER1)
	ENDIF
ENDIF

IF(PLAYER3,GAME_TURN > 10000)
	IF(PLAYER1,TOTAL_CREATURES >= 8)
		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,WIZARD,1,0)
		CREATURE_AVAILABLE(PLAYER3,MONK,1,1)
		CREATURE_AVAILABLE(PLAYER3,FAIRY,1,0)
		CREATURE_AVAILABLE(PLAYER3,WITCH,1,1)
		CREATURE_AVAILABLE(PLAYER3,TIME_MAGE,1,1)
		SET_TIMER(PLAYER3,TIMER0)
		BONUS_LEVEL_TIME(60000,0)
		SET_TIMER(PLAYER_GOOD,TIMER1)
		QUICK_OBJECTIVE(​12,​"The local Heroes are now aware of your presence and are preparing for battle. While your encroachment on their territory may provoke a response they will more likely to be defensive untill reinforcements arrive. Destroy every last of them quickly before word gets out and the Warrior King turns his army around to face you.",PLAYER1)
		QUICK_INFORMATION(13,​"(Destroy the enemy Dungeon and eliminate all wandering enemies before the timer reaches 0)",PLAYER1)
		TUTORIAL_FLASH_BUTTON(13,0)
	ENDIF
ENDIF

IF(PLAYER3,TIMER0 >= 2500)
	IF(PLAYER3,DUNGEON_DESTROYED == 0)
		IF(PLAYER3,TUNNELLER < 6)
			IF(PLAYER3,TOTAL_CREATURES < 16)
				NEXT_COMMAND_REUSABLE
				ADD_CREATURE_TO_LEVEL(PLAYER3,TUNNELLER,-3,1,1,0)
				NEXT_COMMAND_REUSABLE
				SET_TIMER(PLAYER3,TIMER0)
			ENDIF
		ENDIF
	ENDIF
ENDIF

IF(PLAYER_GOOD,BATTLES_LOST >= 30)
	IF_ACTION_POINT(1,PLAYER1)
		COMPUTER_DIG_TO_LOCATION(PLAYER3,3,6)
		QUICK_MESSAGE(14, "Defend the north west!", KNIGHT)
	ENDIF
ENDIF

IF(PLAYER_GOOD,BATTLES_LOST >= 30)
	IF_ACTION_POINT(4,PLAYER1)
		COMPUTER_DIG_TO_LOCATION(PLAYER3,5,4)
		QUICK_MESSAGE(15, "Heroes! Secure our north flank!", KNIGHT)
	ENDIF
ENDIF

IF_ACTION_POINT(7,PLAYER1)
	ADD_CREATURE_TO_LEVEL(PLAYER_NEUTRAL,GHOST,-4,1,2,0)
ENDIF

IF_ACTION_POINT(2,PLAYER1)
	IF(PLAYER_GOOD,MONK <= 2)
		ADD_PARTY_TO_LEVEL(PLAYER_GOOD,HOLY,-2,1)
	ENDIF
ENDIF

IF(PLAYER_GOOD,TOTAL_CREATURES <= 3)
	SET_FLAG(PLAYER_GOOD,FLAG0,1)
ENDIF

IF(PLAYER3,DUNGEON_DESTROYED == 1)
	SET_FLAG(PLAYER_GOOD,FLAG0,2)
ENDIF

IF(PLAYER_GOOD,FLAG0 != 0)
	SET_TIMER(PLAYER_GOOD,TIMER0)
	QUICK_MESSAGE(16, "I will defend my people!", KNIGHT)
ENDIF

IF(PLAYER_GOOD,TIMER0 >= 800)
	ADD_TUNNELLER_PARTY_TO_LEVEL(PLAYER_GOOD,LORD,-1,DUNGEON,1,4,400)
	SET_FLAG(PLAYER_GOOD,FLAG1,1)
	ZOOM_TO_LOCATION(PLAYER1,-1)
ENDIF

IF(PLAYER_GOOD,TIMER1 >= 60000)
	ADD_TUNNELLER_PARTY_TO_LEVEL(PLAYER_GOOD,ELITE,-1,DUNGEON,1,10,800)
	ADD_TUNNELLER_PARTY_TO_LEVEL(PLAYER_GOOD,ELITE,-2,DUNGEON,1,10,800)
	ADD_PARTY_TO_LEVEL(PLAYER_GOOD,WARRIOR_KING,-3,1)
	SET_TIMER(PLAYER_GOOD,TIMER2)
	QUICK_OBJECTIVE(​17,​"You have failed to eliminate the local Heroes in time and word of your existance has gotten out. Now the Warrior King himself has arrived with a large host at his back. You are doomed.",PLAYER1)
ENDIF

IF(PLAYER_GOOD,TIMER2 >= 1000)
	IF(PLAYER_GOOD,AVATAR >= 1)
		IF(PLAYER_GOOD,TOTAL_CREATURES <= 100)
			NEXT_COMMAND_REUSABLE
			ADD_TUNNELLER_PARTY_TO_LEVEL(PLAYER_GOOD,ELITE,-1,DUNGEON,1,10,800)
			NEXT_COMMAND_REUSABLE
			ADD_TUNNELLER_PARTY_TO_LEVEL(PLAYER_GOOD,ELITE,-2,DUNGEON,1,10,800)
			NEXT_COMMAND_REUSABLE
			SET_TIMER(PLAYER_GOOD,TIMER2)
			QUICK_MESSAGE(18,​"We have defeated you in ages past. We will do so again.",AVATAR)
			REVEAL_MAP_LOCATION(PLAYER1,PLAYER3,16)
			ZOOM_TO_LOCATION(PLAYER1,PLAYER3)
		ENDIF
	ENDIF
ENDIF

IF(PLAYER1,HEART_HEALTH <= 2500)
	ALLY_PLAYERS(PLAYER1,PLAYER_GOOD,3)
	ALLY_PLAYERS(PLAYER1,PLAYER3,3)
	LOSE_GAME
ENDIF

IF(PLAYER_GOOD,FLAG1 == 1)
	IF(PLAYER1,ALL_DUNGEONS_DESTROYED == 1)
		IF(PLAYER_GOOD,TOTAL_CREATURES == 0)
			HIDE_HERO_GATE(-1,1)
			HIDE_HERO_GATE(-2,1)
			HIDE_HERO_GATE(-3,1)
			WIN_GAME
			QUICK_OBJECTIVE(19,​"You have succeeded in destroying the local Heroes. As an added bonus the wider world does not yet know of your return.",PLAYER1)
		ENDIF
	ENDIF
ENDIF
