LEVEL_VERSION(1)

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

QUICK_OBJECTIVE(0,​"Ahh, mysterious Mystwater, with freezing temperatures that can kill a man within mere hours. Though things in this realm will get quickly heated. For the militant Samurai Clans residing here are called upon to encircle you with the Lord of the Land holding his own forces back.",PLAYER1)

START_MONEY(PLAYER1,25000)
START_MONEY(PLAYER2,30000)
START_MONEY(PLAYER3,80000)
START_MONEY(PLAYER0,35000)

MAX_CREATURES(PLAYER1,25)
MAX_CREATURES(PLAYER3,17)
MAX_CREATURES(PLAYER2,24)
MAX_CREATURES(PLAYER0,38)

SET_PLAYER_COLOR(PLAYER0,WHITE)
SET_PLAYER_COLOR(PLAYER2,WHITE)
SET_PLAYER_COLOR(PLAYER3,WHITE)

SET_GENERATE_SPEED(1000)
ADD_CREATURE_TO_POOL(FLY,10)
ADD_CREATURE_TO_POOL(BUG,10)
ADD_CREATURE_TO_POOL(SPIDER,20)
ADD_CREATURE_TO_POOL(TROLL,20)
ADD_CREATURE_TO_POOL(DEMONSPAWN,20)
ADD_CREATURE_TO_POOL(DARK_MISTRESS,20)
ADD_CREATURE_TO_POOL(BILE_DEMON,30)
ADD_CREATURE_TO_POOL(VAMPIRE,3)
ADD_CREATURE_TO_POOL(HORNY,1)
ADD_CREATURE_TO_POOL(DWARFA,30)
ADD_CREATURE_TO_POOL(ARCHER,30)
ADD_CREATURE_TO_POOL(THIEF,30)
ADD_CREATURE_TO_POOL(ORC,30)
ADD_CREATURE_TO_POOL(TUNNELLER,40)
ADD_CREATURE_TO_POOL(WITCH,15)
ADD_CREATURE_TO_POOL(FAIRY,15)
ADD_CREATURE_TO_POOL(MONK,16)
ADD_CREATURE_TO_POOL(BARBARIAN,12)
ADD_CREATURE_TO_POOL(GIANT,12)
ADD_CREATURE_TO_POOL(DRAGON,30)
ADD_CREATURE_TO_POOL(TENTACLE,10)
ADD_CREATURE_TO_POOL(HELL_HOUND,10)
ADD_CREATURE_TO_POOL(SORCEROR,12)
ADD_CREATURE_TO_POOL(WIZARD,12)
ADD_CREATURE_TO_POOL(SAMURAI,60)
ADD_CREATURE_TO_POOL(KNIGHT,10)
ADD_CREATURE_TO_POOL(TIME_MAGE,5)


CREATURE_AVAILABLE(PLAYER1,DEMONSPAWN,1,0)
CREATURE_AVAILABLE(PLAYER1,FLY,1,0)
CREATURE_AVAILABLE(PLAYER1,BUG,1,0)
CREATURE_AVAILABLE(PLAYER1,SPIDER,1,0)
CREATURE_AVAILABLE(PLAYER1,TROLL,1,0)
CREATURE_AVAILABLE(PLAYER1,DARK_MISTRESS,1,0)
CREATURE_AVAILABLE(PLAYER1,ORC,1,0)
CREATURE_AVAILABLE(PLAYER1,DRAGON,1,0)
CREATURE_AVAILABLE(PLAYER1,BILE_DEMON,1,0)
CREATURE_AVAILABLE(PLAYER1,TENTACLE,1,0)
CREATURE_AVAILABLE(PLAYER1,SORCEROR,1,0)
CREATURE_AVAILABLE(PLAYER1,VAMPIRE,1,0)
CREATURE_AVAILABLE(PLAYER1,HELL_HOUND,1,0)

SET_CREATURE_PROPERTY(SAMURAI,NO_IMPRISONMENT,0)
SET_CREATURE_FEAR_WOUNDED(SAMURAI,0)
SET_CREATURE_PROPERTY(KNIGHT,NO_IMPRISONMENT,0)

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

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

MAGIC_AVAILABLE(PLAYER1,POWER_IMP,1,1)
MAGIC_AVAILABLE(PLAYER1,POWER_SPEED,1,0)
MAGIC_AVAILABLE(ALL_PLAYERS,POWER_SIGHT,1,0)
MAGIC_AVAILABLE(ALL_PLAYERS,POWER_OBEY,1,0)
MAGIC_AVAILABLE(ALL_PLAYERS,POWER_CALL_TO_ARMS,1,0)
MAGIC_AVAILABLE(ALL_PLAYERS,POWER_HOLD_AUDIENCE,1,0)
MAGIC_AVAILABLE(ALL_PLAYERS,POWER_CONCEAL,1,0)
MAGIC_AVAILABLE(ALL_PLAYERS,POWER_HEAL_CREATURE,1,0)
MAGIC_AVAILABLE(PLAYER1,POWER_PROTECT,1,0)
MAGIC_AVAILABLE(PLAYER1,POWER_CHICKEN,1,0)
MAGIC_AVAILABLE(PLAYER1,POWER_LIGHTNING,1,0)
MAGIC_AVAILABLE(PLAYER1,POWER_DESTROY_WALLS,1,0)
MAGIC_AVAILABLE(PLAYER1,POWER_CAVE_IN,1,0)

DOOR_AVAILABLE(ALL_PLAYERS,SECRET,1,0)
DOOR_AVAILABLE(ALL_PLAYERS,BRACED,1,0)
DOOR_AVAILABLE(ALL_PLAYERS,STEEL,1,0)
DOOR_AVAILABLE(ALL_PLAYERS,MAGIC,1,0)
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,WORD_OF_POWER,1,0)
TRAP_AVAILABLE(PLAYER0,BOULDER,1,0)
TRAP_AVAILABLE(PLAYER2,BOULDER,1,0)
TRAP_AVAILABLE(PLAYER3,BOULDER,1,0)

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

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

SET_COMPUTER_PROCESS(PLAYER0,"BUILD A RESEARCH ROOM",-10,6,6,3,0)
SET_COMPUTER_PROCESS(PLAYER0,"BUILD A TORTURE ROOM",-10,4,5,5,0)
SET_COMPUTER_PROCESS(PLAYER2,"BUILD A BARRACK ROOM",-10,4,4,12,0)
SET_COMPUTER_PROCESS(PLAYER2,"BUILD A TRAINING ROOM",5,5,5,6,0)
SET_COMPUTER_PROCESS(PLAYER0,"BUILD A TRAINING ROOM",5,4,5,6,0)
SET_COMPUTER_PROCESS(PLAYER0,"BUILD A HATCHERY",5,6,6,13,0)
SET_COMPUTER_PROCESS(PLAYER0,"BUILD A WORKSHOP ROOM",-20,7,7,8,0)

SET_COMPUTER_PROCESS(PLAYER0,"ATTACK PLAN 1",-1,100,335,100,0)
SET_COMPUTER_PROCESS(PLAYER2,"ATTACK PLAN 1",-1,100,335,100,0)
SET_COMPUTER_PROCESS(PLAYER3,"ATTACK PLAN 1",-1,100,335,100,0)

IF(PLAYER1,CAMPAIGN_FLAG1 != 0)
	ADD_CREATURE_TO_POOL(ANGEL,2)
	CREATURE_AVAILABLE(PLAYER1,ANGEL,1,0)
ENDIF

SET_PLAYER_MODIFIER(PLAYER2,TrainingCost,50)
SET_PLAYER_MODIFIER(PLAYER3,TrainingCost,50)
SET_PLAYER_MODIFIER(PLAYER0,TrainingCost,50)
SET_PLAYER_MODIFIER(PLAYER2,SALARY,75)
SET_PLAYER_MODIFIER(PLAYER3,SALARY,75)
SET_PLAYER_MODIFIER(PLAYER0,SALARY,75)

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

ALLY_PLAYERS(PLAYER3,PLAYER2,1)
ALLY_PLAYERS(PLAYER3,PLAYER0,1)
ALLY_PLAYERS(PLAYER2,PLAYER0,1)
ALLY_PLAYERS(PLAYER3,PLAYER_GOOD,1)
ALLY_PLAYERS(PLAYER2,PLAYER_GOOD,1)
ALLY_PLAYERS(PLAYER0,PLAYER_GOOD,1)
ALLY_PLAYERS(PLAYER1,PLAYER0,2)
ALLY_PLAYERS(PLAYER1,PLAYER2,2)
ALLY_PLAYERS(PLAYER1,PLAYER3,2)

SET_COMPUTER_GLOBALS(PLAYER3,50,15,3,1,200,5,1)
SET_COMPUTER_GLOBALS(PLAYER2,70,30,4,1,400,5,1)
SET_COMPUTER_GLOBALS(PLAYER0,120,50,5,1,600,5,1)

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

SET_CREATURE_MAX_LEVEL(ALL_PLAYERS,THIEF,10)

IF(PLAYER1,GAME_TURN > 1500)
	SET_TIMER(PLAYER3,TIMER0)
	SET_TIMER(PLAYER3,TIMER1)
	SET_TIMER(PLAYER3,TIMER2)
	SET_TIMER(PLAYER_GOOD,TIMER0)
	ADD_CREATURE_TO_LEVEL(PLAYER2,TUNNELLER,-4,3,1,0)
	ADD_CREATURE_TO_LEVEL(PLAYER0,TUNNELLER,-5,3,1,0)
ENDIF

IF(PLAYER1,GAME_TURN > 7750)
	SET_TIMER(PLAYER0,TIMER0)
	SET_TIMER(PLAYER0,TIMER1)
	SET_TIMER(PLAYER0,TIMER2)
	CREATURE_AVAILABLE(PLAYER3,DWARFA,1,6)
	CREATURE_AVAILABLE(PLAYER2,DWARFA,1,8)
	CREATURE_AVAILABLE(PLAYER0,DWARFA,1,10)
	CREATURE_AVAILABLE(PLAYER3,ARCHER,1,0)
	CREATURE_AVAILABLE(PLAYER2,ARCHER,1,0)
	CREATURE_AVAILABLE(PLAYER0,ARCHER,1,0)
	CREATURE_AVAILABLE(PLAYER3,THIEF,1,0)
	CREATURE_AVAILABLE(PLAYER2,THIEF,1,0)
	CREATURE_AVAILABLE(PLAYER0,THIEF,1,0)
	CREATURE_AVAILABLE(PLAYER3,BARBARIAN,1,0)
	CREATURE_AVAILABLE(PLAYER2,BARBARIAN,1,0)
	CREATURE_AVAILABLE(PLAYER0,BARBARIAN,1,0)
	CREATURE_AVAILABLE(PLAYER3,GIANT,1,2)
	CREATURE_AVAILABLE(PLAYER2,GIANT,1,4)
	CREATURE_AVAILABLE(PLAYER0,GIANT,1,6)
	CREATURE_AVAILABLE(PLAYER3,WITCH,1,2)
	CREATURE_AVAILABLE(PLAYER2,WITCH,1,4)
	CREATURE_AVAILABLE(PLAYER0,WITCH,1,6)
	CREATURE_AVAILABLE(PLAYER3,FAIRY,1,2)
	CREATURE_AVAILABLE(PLAYER2,FAIRY,1,0)
	CREATURE_AVAILABLE(PLAYER0,FAIRY,1,0)
	CREATURE_AVAILABLE(PLAYER3,MONK,1,2)
	CREATURE_AVAILABLE(PLAYER2,MONK,1,0)
	CREATURE_AVAILABLE(PLAYER0,MONK,1,0)
	CREATURE_AVAILABLE(PLAYER3,WIZARD,1,0)
	CREATURE_AVAILABLE(PLAYER2,WIZARD,1,0)
	CREATURE_AVAILABLE(PLAYER0,WIZARD,1,0)
	CREATURE_AVAILABLE(PLAYER3,TUNNELLER,1,8)
	CREATURE_AVAILABLE(PLAYER2,TUNNELLER,1,12)
	CREATURE_AVAILABLE(PLAYER0,TUNNELLER,1,18)
	CREATURE_AVAILABLE(PLAYER3,SAMURAI,1,32)
	CREATURE_AVAILABLE(PLAYER2,SAMURAI,1,64)
	CREATURE_AVAILABLE(PLAYER0,SAMURAI,1,132)
	CREATURE_AVAILABLE(PLAYER3,KNIGHT,1,1)
	CREATURE_AVAILABLE(PLAYER2,KNIGHT,1,1)
	CREATURE_AVAILABLE(PLAYER0,KNIGHT,1,1)
	CREATURE_AVAILABLE(PLAYER3,TIME_MAGE,1,1)
	CREATURE_AVAILABLE(PLAYER2,TIME_MAGE,1,0)
	CREATURE_AVAILABLE(PLAYER0,TIME_MAGE,1,0)
ENDIF

IF(PLAYER1,GAME_TURN > 10000)
	SET_TIMER(PLAYER2,TIMER0)
	SET_TIMER(PLAYER2,TIMER1)
	SET_TIMER(PLAYER2,TIMER2)
ENDIF

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

IF(PLAYER3,TIMER1 >= 4000)
	IF(PLAYER3,DUNGEON_DESTROYED == 0)
		IF(PLAYER3,SAMURAI < 8)
			IF(PLAYER3,TOTAL_CREATURES < 17)
				NEXT_COMMAND_REUSABLE
				ADD_CREATURE_TO_LEVEL(PLAYER3,SAMURAI,-3,1,1,0)
				NEXT_COMMAND_REUSABLE
				SET_TIMER(PLAYER3,TIMER1)
			ENDIF
		ENDIF
	ENDIF
ENDIF

IF(PLAYER2,TIMER0 >= 2500)
	IF(PLAYER2,DUNGEON_DESTROYED == 0)
		IF(PLAYER2,TUNNELLER < 8)
			IF(PLAYER2,TOTAL_CREATURES < 28)
				NEXT_COMMAND_REUSABLE
				ADD_CREATURE_TO_LEVEL(PLAYER2,TUNNELLER,-4,1,2,0)
				NEXT_COMMAND_REUSABLE
				SET_TIMER(PLAYER2,TIMER0)
			ENDIF
		ENDIF
	ENDIF
ENDIF

IF(PLAYER2,TIMER1 >= 4000)
	IF(PLAYER2,DUNGEON_DESTROYED == 0)
		IF(PLAYER2,SAMURAI < 16)
			IF(PLAYER2,TOTAL_CREATURES < 24)
				NEXT_COMMAND_REUSABLE
				ADD_CREATURE_TO_LEVEL(PLAYER2,SAMURAI,-4,1,1,0)
				NEXT_COMMAND_REUSABLE
				SET_TIMER(PLAYER2,TIMER1)
			ENDIF
		ENDIF
	ENDIF
ENDIF

IF(PLAYER0,TIMER0 >= 2500)
	IF(PLAYER0,DUNGEON_DESTROYED == 0)
		IF(PLAYER0,TUNNELLER < 10)
			IF(PLAYER0,TOTAL_CREATURES < 40)
				NEXT_COMMAND_REUSABLE
				ADD_CREATURE_TO_LEVEL(PLAYER0,TUNNELLER,-5,1,3,0)
				NEXT_COMMAND_REUSABLE
				SET_TIMER(PLAYER0,TIMER0)
			ENDIF
		ENDIF
	ENDIF
ENDIF

IF(PLAYER0,TIMER1 >= 4000)
	IF(PLAYER0,DUNGEON_DESTROYED == 0)
		IF(PLAYER0,SAMURAI < 24)
			IF(PLAYER0,TOTAL_CREATURES < 38)
				NEXT_COMMAND_REUSABLE
				ADD_CREATURE_TO_LEVEL(PLAYER0,SAMURAI,-5,1,1,0)
				NEXT_COMMAND_REUSABLE
				SET_TIMER(PLAYER0,TIMER1)
			ENDIF
		ENDIF
	ENDIF
ENDIF

IF(PLAYER3,TIMER2 >= 3000)
	IF(PLAYER3,DUNGEON_DESTROYED == 0)
		IF(PLAYER3,MONEY <= 10000)
			NEXT_COMMAND_REUSABLE
			ADD_GOLD_TO_PLAYER(PLAYER3,5000)
			NEXT_COMMAND_REUSABLE
			SET_TIMER(PLAYER3,TIMER2)
		ENDIF
	ENDIF
ENDIF

IF(PLAYER2,TIMER2 >= 3000)
	IF(PLAYER2,DUNGEON_DESTROYED == 0)
		IF(PLAYER2,MONEY <= 10000)
			NEXT_COMMAND_REUSABLE
			ADD_GOLD_TO_PLAYER(PLAYER2,5000)
			NEXT_COMMAND_REUSABLE
			SET_TIMER(PLAYER2,TIMER2)
		ENDIF
	ENDIF
ENDIF

IF(PLAYER0,TIMER2 >= 3000)
	IF(PLAYER0,DUNGEON_DESTROYED == 0)
		IF(PLAYER0,MONEY <= 10000)
			NEXT_COMMAND_REUSABLE
			ADD_GOLD_TO_PLAYER(PLAYER0,5000)
			NEXT_COMMAND_REUSABLE
			SET_TIMER(PLAYER0,TIMER2)
		ENDIF
	ENDIF
ENDIF

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

CREATE_PARTY(TEMPLE)
    ADD_TO_PARTY(TEMPLE,MONK,3,500,DEFEND_LOCATION,200000)

CREATE_PARTY(FIRST)
    ADD_TO_PARTY(FIRST,SAMURAI,4,1000,DEFEND_PARTY,500)
    ADD_TO_PARTY(FIRST,SAMURAI,5,1000,ATTACK_ENEMIES,500)
    ADD_TO_PARTY(FIRST,ARCHER,4,500,DEFEND_PARTY,500)
	ADD_TO_PARTY(FIRST,MONK,4,500,STEAL_SPELLS,500)

	CREATE_PARTY(SECOND)
    ADD_TO_PARTY(SECOND,SAMURAI,6,1200,ATTACK_ENEMIES,1000)
    ADD_TO_PARTY(SECOND,WIZARD,7,800,STEAL_SPELLS,1000)
    ADD_TO_PARTY(SECOND,SAMURAI,6,1200,DEFEND_PARTY,1000)
	ADD_TO_PARTY(SECOND,SAMURAI,6,1200,DEFEND_PARTY,1000)
	ADD_TO_PARTY(SECOND,FAIRY,7,700,DEFEND_PARTY,1000)

	CREATE_PARTY(THIRD)
    ADD_TO_PARTY(THIRD,SAMURAI,7,1400,DEFEND_PARTY,1500)
    ADD_TO_PARTY(THIRD,MONK,8,800,ATTACK_DUNGEON_HEART,1500)
    ADD_TO_PARTY(THIRD,SAMURAI,7,1400,DEFEND_PARTY,1500)
	ADD_TO_PARTY(THIRD,SAMURAI,7,1400,DEFEND_PARTY,1500)
	ADD_TO_PARTY(THIRD,WIZARD,8,800,STEAL_SPELLS,1500)
	ADD_TO_PARTY(THIRD,FAIRY,8,800,DEFEND_PARTY,1500)

	CREATE_PARTY(LORD)
    ADD_TO_PARTY(LORD,SAMURAI,9,1500,ATTACK_ENEMIES,6000)
    ADD_TO_PARTY(LORD,KNIGHT,10,5000,ATTACK_DUNGEON_HEART,6000)
    ADD_TO_PARTY(LORD,WIZARD,9,1000,STEAL_SPELLS,6000)
	ADD_TO_PARTY(LORD,SAMURAI,8,1500,DEFEND_PARTY,6000)
	ADD_TO_PARTY(LORD,SAMURAI,8,1500,DEFEND_PARTY,6000)
	ADD_TO_PARTY(LORD,MONK,10,1000,DEFEND_PARTY,6000)
	ADD_TO_PARTY(LORD,FAIRY,9,1000,DEFEND_PARTY,6000)

	CREATE_PARTY(REINFORCEMENTS)
    ADD_TO_PARTY(REINFORCEMENTS,SAMURAI,8,600,DEFEND_PARTY,500)
    ADD_TO_PARTY(REINFORCEMENTS,SAMURAI,8,600,ATTACK_ENEMIES,500)
    ADD_TO_PARTY(REINFORCEMENTS,ARCHER,8,500,DEFEND_PARTY,500)

	CREATE_PARTY(GUARDS)
	ADD_TO_PARTY(GUARDS,SAMURAI,2,0,DEFEND_LOCATION,500)
    ADD_TO_PARTY(GUARDS,SAMURAI,2,0,DEFEND_LOCATION,500)
    ADD_TO_PARTY(GUARDS,ARCHER,2,0,DEFEND_LOCATION,500)


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_SLAB_OWNER(78,​52,​PLAYER1)
	HIDE_HERO_GATE(-2,1)
ENDIF

IF(PLAYER1,CAMPAIGN_FLAG1 != 0)
	IF_SLAB_OWNER(78,​52,​PLAYER1)
		IF(PLAYER1,KEEPERS_DESTROYED == 0)
			ADD_CREATURE_TO_LEVEL(PLAYER_NEUTRAL,ANGEL,-2,1,4,0)
		ENDIF
	ENDIF
ENDIF


IF(PLAYER1,GAME_TURN >= 1000)
	QUICK_INFORMATION(1,​"Summerland At War Status: Heroic forces are gradually overwhelmed by the relentless advance of the forces darkness everywhere.",PLAYER1)
ENDIF

IF(PLAYER1,GAME_TURN >= 2000)
	QUICK_OBJECTIVE(2,​"The Samurai Clans completely surround you. However, they are still assembling and training their forces. There are 3 Clans, so perhaps destroying at least one of them quickly might be a good call. Alternatively, capturing nearby Heroic outposts and finding secrets in this realm might also just tip the balance to your favour.",PLAYER1)
	ADD_PARTY_TO_LEVEL(PLAYER_GOOD,GUARDS,4,1)
	TUTORIAL_FLASH_BUTTON(37,0)
ENDIF

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

IF(PLAYER1,GAME_TURN >= 25000)
	IF(PLAYER1,KEEPERS_DESTROYED >= 1)
		QUICK_INFORMATION(3,​"I sense the unknown presence again. It is now clear; it appears to be a Keeper. But that is impossible as you are the last of the Sleepers. Could it be a Keeper from beyond this continent?",PLAYER1)
		SET_GENERATE_SPEED(800)
	ENDIF
ENDIF

IF(PLAYER1,GAME_TURN >= 40000)
	IF(PLAYER1,KEEPERS_DESTROYED >= 2)
		QUICK_INFORMATION(4,​"An interesting if slightly disturbing development from neighboring Prycrest: a Heroic force has engaged this mysterious Keeper. Given his unclear origins and lack of name they refer it to him as Keeper of Unknown Power. Perhaps this warrants your future attention?",PLAYER1)
		SET_GENERATE_SPEED(600)
	ENDIF
ENDIF

IF(PLAYER_GOOD,TIMER0 >= 3000)
	IF(PLAYER_GOOD,MONK <= 12)
		IF_SLAB_OWNER(78,​52,​PLAYER_GOOD)
			NEXT_COMMAND_REUSABLE
			ADD_PARTY_TO_LEVEL(PLAYER_GOOD,TEMPLE,-2,1)
			NEXT_COMMAND_REUSABLE
			SET_TIMER(PLAYER_GOOD,TIMER0)
		ENDIF
	ENDIF
ENDIF

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

IF(PLAYER1,PRISON > 0)
	QUICK_INFORMATION(5,​"The Samurai have sworn an oath of honour to drive you off their land or die trying. Bah, honour. Other Heroes are still fair game though to capture and 'persuade' to join your army.",PLAYER1)
ENDIF

IF(PLAYER1,KEEPERS_DESTROYED == 1)
	ADD_GOLD_TO_PLAYER(PLAYER3,25000)
	ADD_GOLD_TO_PLAYER(PLAYER2,25000)
	ADD_GOLD_TO_PLAYER(PLAYER0,25000)
	QUICK_OBJECTIVE(6,​"Super, you have eliminated one of the Clans. Expect counter-attacks ordered by the Lord of the Land.",PLAYER1)
	SET_TIMER(PLAYER1,TIMER0)
ENDIF

IF(PLAYER1,TIMER0 >= 2000)
	ADD_TUNNELLER_PARTY_TO_LEVEL(PLAYER_GOOD,FIRST,-1,DUNGEON,1,4,600)
ENDIF

IF(PLAYER1,KEEPERS_DESTROYED == 2)
	ADD_GOLD_TO_PLAYER(PLAYER3,50000)
	ADD_GOLD_TO_PLAYER(PLAYER2,50000)
	ADD_GOLD_TO_PLAYER(PLAYER0,50000)
	QUICK_OBJECTIVE(7,​"Two down, one more Clan to go.",PLAYER1)
	SET_TIMER(PLAYER1,TIMER1)
ENDIF

IF(PLAYER1,TIMER1 >= 2000)
	ADD_TUNNELLER_PARTY_TO_LEVEL(PLAYER_GOOD,SECOND,-1,DUNGEON,1,6,800)
ENDIF

IF(PLAYER1,ALL_DUNGEONS_DESTROYED == 1)
	IF(PLAYER_GOOD,FLAG0 == 0)
		SET_FLAG(PLAYER_GOOD,FLAG0,1)
		QUICK_OBJECTIVE(8,​"Excellent, all the Clans have been eliminated. Now it is just up to the Lord of the Land and his personal retinue.",PLAYER1)
	ENDIF
ENDIF

IF(PLAYER0,DUNGEON_DESTROYED == 1)
	HIDE_HERO_GATE(-5,1)
ENDIF

IF(PLAYER2,DUNGEON_DESTROYED == 1)
	HIDE_HERO_GATE(-4,1)
ENDIF

IF(PLAYER3,DUNGEON_DESTROYED == 1)
	HIDE_HERO_GATE(-3,1)
ENDIF

IF(PLAYER_GOOD,GAME_TURN >= 144000)
	IF(PLAYER_GOOD,FLAG0 == 0)
		SET_FLAG(PLAYER_GOOD,FLAG0,2)
		QUICK_OBJECTIVE(9,​"Given the current stalement and new threat by the Keeper of Unknown Power the Lord of the Land willl likely try to force a decisive engagement soon.",PLAYER1)
	ENDIF
ENDIF

IF(PLAYER_GOOD,FLAG0 != 0)
	SET_TIMER(PLAYER_GOOD,TIMER1)
	SET_TIMER(PLAYER_GOOD,TIMER2)
ENDIF

IF(PLAYER_GOOD,TIMER1 >= 1000)
	ADD_TUNNELLER_PARTY_TO_LEVEL(PLAYER_GOOD,THIRD,-1,DUNGEON,1,8,800)
ENDIF

IF(PLAYER_GOOD,TIMER1 >= 2000)
	ADD_PARTY_TO_LEVEL(PLAYER_GOOD,LORD,-1,1)
	ADD_PARTY_TO_LEVEL(PLAYER_GOOD,REINFORCEMENTS,-1,1)
	SET_FLAG(PLAYER1,FLAG1,1)
ENDIF

IF(PLAYER_GOOD,TIMER2 >= 4000)
	IF(PLAYER_GOOD,TOTAL_CREATURES <= 25)
		IF(ALL_PLAYERS,KNIGHT >= 1)
			IF(PLAYER1,ALL_DUNGEONS_DESTROYED == 0)
				NEXT_COMMAND_REUSABLE
				ADD_PARTY_TO_LEVEL(PLAYER_GOOD,REINFORCEMENTS,-1,1)
				NEXT_COMMAND_REUSABLE
				SET_TIMER(PLAYER_GOOD,TIMER2)
			ENDIF
		ENDIF
	ENDIF
ENDIF

IF(PLAYER1,FLAG1 == 1)
	IF(PLAYER1,ALL_DUNGEONS_DESTROYED == 1)
		IF(PLAYER_GOOD,TOTAL_CREATURES == 0)
			QUICK_OBJECTIVE(10,​"Well done. You have eliminated all opposition here. Now to address this Keeper at Prycrest.",PLAYER1)
			WIN_GAME
			HIDE_HERO_GATE(-1,1)
		ENDIF
	ENDIF
ENDIF
