LEVEL_VERSION(1)

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

QUICK_OBJECTIVE(0,​"You have entered an ongoing battleground with Keeper Jandarzon in the north and Keeper Kranzarak in the east with a Heroic presence in the center of the realm. These Ancient Keepers are together with you and Keeper Astaroth all that remain of the Sleepers. ",PLAYER1)

REM SET_HAND_RULE(PLAYER1,HORNY,RULE0,DENY,LEVEL_HIGHER,1)

REVEAL_MAP_RECT(​PLAYER1,133,​121,52,40)
CONCEAL_MAP_RECT(​PLAYER1, 133, 121, 12, 12, 1)
CONCEAL_MAP_RECT(​PLAYER1,190, 193, 3, 3, 1)

SET_HAND_RULE(PLAYER2,ANY_CREATURE,RULE0,DENY,LEVEL_HIGHER,6)
SET_HAND_RULE(PLAYER3,ANY_CREATURE,RULE0,DENY,LEVEL_HIGHER,6)
SET_HAND_RULE(PLAYER2,ANY_CREATURE,RULE1,DENY,AGE_HIGHER,16)
SET_HAND_RULE(PLAYER3,ANY_CREATURE,RULE1,DENY,AGE_HIGHER,16)

SET_PLAYER_MODIFIER(PLAYER2,Health,110)
SET_PLAYER_MODIFIER(PLAYER2,Strength,110)
SET_PLAYER_MODIFIER(PLAYER2,Armour,110)
SET_PLAYER_MODIFIER(PLAYER2,SpellDamage,110)

SET_PLAYER_MODIFIER(PLAYER3,Health,110)
SET_PLAYER_MODIFIER(PLAYER3,Strength,110)
SET_PLAYER_MODIFIER(PLAYER3,Armour,110)
SET_PLAYER_MODIFIER(PLAYER3,SpellDamage,110)

SET_DOOR(LOCKED,​10,39)
SET_DOOR(LOCKED,​16,​39)
SET_DOOR(LOCKED,​67,​54)

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

SET_GENERATE_SPEED(750)
START_MONEY(PLAYER1,10000)
START_MONEY(PLAYER2,100000)
START_MONEY(PLAYER3,100000)
START_MONEY(PLAYER_GOOD,2500000)
MAX_CREATURES(PLAYER1,12)
MAX_CREATURES(PLAYER2,32)
MAX_CREATURES(PLAYER3,32)

COMPUTER_PLAYER(PLAYER2,0)
COMPUTER_PLAYER(PLAYER3,0)
COMPUTER_PLAYER(PLAYER5,ROAMING)
SET_PLAYER_COLOR(PLAYER2,ORANGE)
SET_PLAYER_COLOR(PLAYER3,PURPLE)

SET_CREATURE_TENDENCIES(PLAYER2,FLEE,1)
SET_CREATURE_TENDENCIES(PLAYER3,FLEE,1)
SET_COMPUTER_PROCESS(PLAYER2,"BUILD A RESEARCH ROOM",0,5,6,3,0)
SET_COMPUTER_PROCESS(PLAYER3,"BUILD A RESEARCH ROOM",0,5,6,3,0)
CREATURE_ENTRANCE_LEVEL(PLAYER2,5)
CREATURE_ENTRANCE_LEVEL(PLAYER3,5)

SET_COMPUTER_CHECKS(PLAYER2,"CHECK FOR QUICK ATTACK",700,80,2400,20,6000)
SET_COMPUTER_PROCESS(PLAYER2,"ATTACK SAFE ATTACK",-1,100,335,100,0)
SET_COMPUTER_PROCESS(PLAYER2,"ATTACK PLAN 1",-1,100,335,100,0)

SET_COMPUTER_CHECKS(PLAYER3,"CHECK FOR QUICK ATTACK",700,80,2400,20,6000)
SET_COMPUTER_PROCESS(PLAYER3,"ATTACK SAFE ATTACK",-1,100,335,100,0)
SET_COMPUTER_PROCESS(PLAYER3,"ATTACK PLAN 1",-1,100,335,100,0)

REM Horny
SET_CREATURE_STRENGTH(HORNY,222)
SET_CREATURE_HEALTH(HORNY,6024)
SET_CREATURE_ARMOUR(HORNY,160)
SET_CREATURE_FEAR_WOUNDED(HORNY,0)
SET_CREATURE_PROPERTY(HORNY,NEVER_CHICKENS,1)
SET_CREATURE_PROPERTY(HORNY,IMMUNE_TO_BOULDER,1)
SET_CREATURE_PROPERTY(HORNY,IMMUNE_TO_DISEASE,1)
SET_CREATURE_PROPERTY(HORNY,NO_IMPRISONMENT,1)
SET_CREATURE_PROPERTY(HORNY,ONE_OF_KIND,1)
SET_CREATURE_PROPERTY(HORNY,UNAFFECTED_BY_WIND,1)
SET_CREATURE_PROPERTY(HORNY,IMMUNE_TO_GAS,1)
SET_CREATURE_PROPERTY(HORNY,ILLUMINATED,1)
SET_CREATURE_CONFIGURATION(HORNY,PAY,3000)
SET_CREATURE_CONFIGURATION(HORNY,HealRequirement,750)
SET_CREATURE_CONFIGURATION(HORNY,HealThreshold,750)
SET_CREATURE_CONFIGURATION(HORNY,RECOVERY,20)
SET_CREATURE_CONFIGURATION(HORNY,SlapsToKill,0)
SET_CREATURE_CONFIGURATION(HORNY,FearsomeFactor,10)
SET_CREATURE_CONFIGURATION(HORNY,LUCK,30)
SET_CREATURE_INSTANCE(HORNY, 2, FIRE_BOMB, 2)
SET_CREATURE_INSTANCE(HORNY, 3, ARMOUR, 3)
SET_CREATURE_INSTANCE(HORNY, 4, HEAL, 4)
SET_CREATURE_INSTANCE(HORNY, 9, SLOW, 9)
SET_CREATURE_INSTANCE(HORNY, 10, WORD_OF_POWER, 10)

ADD_CREATURE_TO_POOL(TROLL,30)
ADD_CREATURE_TO_POOL(HELL_HOUND,20)
ADD_CREATURE_TO_POOL(DEMONSPAWN,20)
ADD_CREATURE_TO_POOL(SPIDER,20)
ADD_CREATURE_TO_POOL(BILE_DEMON,20)
ADD_CREATURE_TO_POOL(TENTACLE,30)
ADD_CREATURE_TO_POOL(SORCEROR,30)
ADD_CREATURE_TO_POOL(ORC,40)
ADD_CREATURE_TO_POOL(DRAGON,40)
ADD_CREATURE_TO_POOL(DARK_MISTRESS,20)
ADD_CREATURE_TO_POOL(GHOST,20)
ADD_CREATURE_TO_POOL(SKELETON,20)
ADD_CREATURE_TO_POOL(VAMPIRE,10)

CREATURE_AVAILABLE(ALL_PLAYERS,TROLL,1,0)
CREATURE_AVAILABLE(ALL_PLAYERS,DEMONSPAWN,1,0)
CREATURE_AVAILABLE(ALL_PLAYERS,HELL_HOUND,1,0)
CREATURE_AVAILABLE(ALL_PLAYERS,TENTACLE,1,0)
CREATURE_AVAILABLE(ALL_PLAYERS,BILE_DEMON,1,0)
CREATURE_AVAILABLE(ALL_PLAYERS,SPIDER,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,SKELETON,1,40)
CREATURE_AVAILABLE(ALL_PLAYERS,GHOST,1,0)

REMOVE_SACRIFICE_RECIPE(TROLL,BILE_DEMON,DARK_MISTRESS)

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(PLAYER1,WORKSHOP,1,0)
ROOM_AVAILABLE(PLAYER2,WORKSHOP,1,1)
ROOM_AVAILABLE(PLAYER3,WORKSHOP,1,1)
ROOM_AVAILABLE(PLAYER1,TORTURE,1,0)
ROOM_AVAILABLE(PLAYER2,TORTURE,1,1)
ROOM_AVAILABLE(PLAYER3,TORTURE,1,1)
ROOM_AVAILABLE(PLAYER1,BARRACKS,1,0)
ROOM_AVAILABLE(PLAYER2,BARRACKS,1,1)
ROOM_AVAILABLE(PLAYER3,BARRACKS,1,1)
ROOM_AVAILABLE(PLAYER1,TEMPLE,1,0)
ROOM_AVAILABLE(PLAYER2,TEMPLE,1,1)
ROOM_AVAILABLE(PLAYER3,TEMPLE,1,1)

IF(PLAYER1,GUARD_POST >= 10)
    ROOM_AVAILABLE(PLAYER1,GUARD_POST,0,0)
ENDIF

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

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

IF(PLAYER2,WORKSHOP >= 72)
    ROOM_AVAILABLE(PLAYER2,WORKSHOP,0,0)
ENDIF

IF(PLAYER3,WORKSHOP >= 72)
    ROOM_AVAILABLE(PLAYER3,WORKSHOP,0,0)
ENDIF

IF(PLAYER2,BARRACKS >= 12)
    ROOM_AVAILABLE(PLAYER2,BARRACKS,0,0)
ENDIF

IF(PLAYER3,BARRACKS >= 12)
    ROOM_AVAILABLE(PLAYER3,BARRACKS,0,0)
ENDIF

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(PLAYER2,POWER_SIGHT,1,0)
MAGIC_AVAILABLE(PLAYER3,POWER_SIGHT,1,0)
MAGIC_AVAILABLE(ALL_PLAYERS,POWER_SPEED,1,0)
MAGIC_AVAILABLE(PLAYER1,POWER_OBEY,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)

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

DOOR_AVAILABLE(PLAYER2,SECRET,1,0)
DOOR_AVAILABLE(PLAYER3,SECRET,1,0)
DOOR_AVAILABLE(ALL_PLAYERS,BRACED,1,0)
DOOR_AVAILABLE(ALL_PLAYERS,STEEL,1,0)
DOOR_AVAILABLE(ALL_PLAYERS,MAGIC,1,0)

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

CREATE_PARTY(TENTACLE_GUARD)
    ADD_TO_PARTY(TENTACLE_GUARD,TENTACLE,6,0,DEFEND_LOCATION,200000)

CREATE_PARTY(MONK_GUARD)
    ADD_TO_PARTY(MONK_GUARD,MONK,8,0,DEFEND_LOCATION,200000)

CREATE_PARTY(LIGHT)
	ADD_TO_PARTY(LIGHT,ARCHER,5,250,DEFEND_PARTY,100)
	ADD_TO_PARTY(LIGHT,THIEF,6,250,ATTACK_ENEMIES,100)
	ADD_TO_PARTY(LIGHT,THIEF,6,250,STEAL_GOLD,100)
	ADD_TO_PARTY(LIGHT,ARCHER,5,250,DEFEND_PARTY,100)
	ADD_TO_PARTY(LIGHT,DWARFA,5,250,ATTACK_ROOMS,100)
	
CREATE_PARTY(MEDIUM)
	ADD_TO_PARTY(MEDIUM,SAMURAI,6,400,ATTACK_ENEMIES,100)
	ADD_TO_PARTY(MEDIUM,WIZARD,7,400,STEAL_SPELLS,100)
	ADD_TO_PARTY(MEDIUM,MONK,6,400,DEFEND_PARTY,100)
	ADD_TO_PARTY(MEDIUM,ARCHER,6,400,DEFEND_PARTY,100)

CREATE_PARTY(HEAVY)
	ADD_TO_PARTY(HEAVY,BARBARIAN,8,500,ATTACK_ENEMIES,100)
	ADD_TO_PARTY(HEAVY,GIANT,8,500,ATTACK_ROOMS,100)
	ADD_TO_PARTY(HEAVY,BARBARIAN,8,500,ATTACK_ENEMIES,100)
	ADD_TO_PARTY(HEAVY,GIANT,8,500,ATTACK_ROOMS,100)	

CREATE_PARTY(ELITE)
	ADD_TO_PARTY(ELITE,WIZARD,9,700,STEAL_SPELLS,100)
	ADD_TO_PARTY(ELITE,BARBARIAN,8,700,ATTACK_ENEMIES,100)
	ADD_TO_PARTY(ELITE,SAMURAI,8,600,DEFEND_PARTY,100)
	ADD_TO_PARTY(ELITE,FAIRY,10,600,DEFEND_PARTY,100)
	ADD_TO_PARTY(ELITE,GIANT,7,600,ATTACK_ROOMS,100)

CREATE_PARTY(LORD)
	ADD_TO_PARTY(LORD,KNIGHT,10,3000,DEFEND_HEART,1000)
	ADD_TO_PARTY(LORD,WIZARD,9,1000,STEAL_SPELLS,1000)
	ADD_TO_PARTY(LORD,BARBARIAN,8,1000,ATTACK_ROOMS,1000)
	ADD_TO_PARTY(LORD,BARBARIAN,8,1000,ATTACK_ROOMS,1000)
	ADD_TO_PARTY(LORD,ARCHER,8,1000,ATTACK_ENEMIES,1000)
	ADD_TO_PARTY(LORD,FAIRY,10,1000,DEFEND_PARTY,1000)
	ADD_TO_PARTY(LORD,SAMURAI,8,1000,STEAL_SPELLS,1000)

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(PLAYER5,TENTACLE_GUARD,1,4)
ADD_PARTY_TO_LEVEL(PLAYER5,TENTACLE_GUARD,2,2)
ADD_PARTY_TO_LEVEL(PLAYER5,TENTACLE_GUARD,5,2)

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 >= 1750)
	QUICK_INFORMATION(2,​"Make no mistake; you are a strong Keeper. However, Keepers Jandarzon and Kranzarak are on whole different level and are far thus too strong to take head on. What to do?",PLAYER1)	
ENDIF

IF(PLAYER1,GAME_TURN >= 3000)
	QUICK_INFORMATION(3,​"The Heroic presence is still a mystery. It looks they are guarding something.... or someone. ",PLAYER1)	
ENDIF

IF(PLAYER1,GAME_TURN >= 4500)
	QUICK_OBJECTIVE(4,​"I now can definitely sense an entity with the power that could rival or even surpass the power of even a Guardian. Perhaps if freed it would be grateful to aid you against Keepers Jandarzon and Kranzarak. This would mean, however, entering the battlefield. ",PLAYER1)
	ADD_PARTY_TO_LEVEL(PLAYER_GOOD,GUARDS,4,1)
	SET_TIMER(PLAYER_GOOD,TIMER0)
ENDIF

IF(PLAYER_GOOD,TIMER0 >= 10000)
	IF(PLAYER_GOOD,MONK <= 8)
		IF_SLAB_OWNER(52,​7,​PLAYER_GOOD)
			NEXT_COMMAND_REUSABLE
			ADD_PARTY_TO_LEVEL(PLAYER_GOOD,MONK_GUARD,-1,1)
			NEXT_COMMAND_REUSABLE
			SET_TIMER(PLAYER_GOOD,TIMER0)
		ENDIF
	ENDIF
ENDIF

IF(PLAYER1,GAME_TURN >= 8500)
	ADD_TO_FLAG(​PLAYER_GOOD,​FLAG0,​1)
	SET_DOOR(UNLOCKED,​10,39)
	SET_DOOR(UNLOCKED,​16,​39)
	SET_DOOR(UNLOCKED,​67,​54)
ENDIF

IF(PLAYER2,BATTLES_WON >= 20)
	ADD_TO_FLAG(​PLAYER_GOOD,​FLAG0,​1)
	ADD_GOLD_TO_PLAYER(PLAYER2,100000)
	QUICK_MESSAGE(5, "Ash nazg gimbatul!", PLAYER2)
ENDIF


IF(PLAYER3,BATTLES_WON >= 20)
	ADD_TO_FLAG(​PLAYER_GOOD,​FLAG0,​1)
	ADD_GOLD_TO_PLAYER(PLAYER3,100000)
	QUICK_MESSAGE(6, "Mugani? HAK HAK HAK!", PLAYER3)
ENDIF

IF(PLAYER1,TOTAL_CREATURES > 15)
	ADD_TO_FLAG(​PLAYER_GOOD,​FLAG0,​1)
	ADD_GOLD_TO_PLAYER(PLAYER2,100000)
	ADD_GOLD_TO_PLAYER(PLAYER3,100000)
ENDIF

IF(PLAYER2,TOTAL_CREATURES >= 32)
	ADD_TO_FLAG(​PLAYER_GOOD,​FLAG0,​1)
	ADD_GOLD_TO_PLAYER(PLAYER2,100000)
ENDIF

IF(PLAYER3,TOTAL_CREATURES >= 32)
	ADD_TO_FLAG(​PLAYER_GOOD,​FLAG0,​1)
	ADD_GOLD_TO_PLAYER(PLAYER3,100000)
ENDIF

IF(PLAYER_GOOD,BATTLES_WON >= 30)
	ADD_TO_FLAG(​PLAYER_GOOD,​FLAG0,​1)
ENDIF

IF(PLAYER_GOOD,BATTLES_LOST >= 30)
	ADD_TO_FLAG(​PLAYER_GOOD,​FLAG0,​1)
ENDIF

IF(PLAYER_GOOD,BATTLES_LOST >= 60)
	ADD_TO_FLAG(​PLAYER_GOOD,​FLAG0,​1)
ENDIF

IF(PLAYER_GOOD,BATTLES_LOST >= 90)
	ADD_TO_FLAG(​PLAYER_GOOD,​FLAG0,​1)
ENDIF

IF(PLAYER1,ENTRANCE > 9)
	ADD_TO_FLAG(​PLAYER_GOOD,​FLAG0,​1)
	MAX_CREATURES(PLAYER1,20)
	CREATURE_ENTRANCE_LEVEL(PLAYER1,3)
	SET_GENERATE_SPEED(500)
	QUICK_INFORMATION(7,​"You have found another Portal. More Creatures will join you now.",PLAYER1)
	SET_HAND_RULE(PLAYER2,ANY_CREATURE,RULE0,DENY,LEVEL_HIGHER,7)
	SET_HAND_RULE(PLAYER3,ANY_CREATURE,RULE0,DENY,LEVEL_HIGHER,7)
	SET_HAND_RULE(PLAYER2,ANY_CREATURE,RULE1,DENY,AGE_HIGHER,24)
	SET_HAND_RULE(PLAYER3,ANY_CREATURE,RULE1,DENY,AGE_HIGHER,24)
	CREATURE_ENTRANCE_LEVEL(PLAYER2,6)
	CREATURE_ENTRANCE_LEVEL(PLAYER3,6)
ENDIF

IF_ACTION_POINT(4,PLAYER1)
	QUICK_INFORMATION(8,​"You have reached the battlefield. Search the surrounings for any sign of this mysterious entity.",4)
	ADD_TO_FLAG(​PLAYER_GOOD,​FLAG0,​1)
ENDIF

IF_ACTION_POINT(4,PLAYER1)
	IF(PLAYER1,VAMPIRE >= 1)
		QUICK_INFORMATION(9,​"The Vampire you have freed is thankful for your rescue. He claims another Creature nicknamed The Butcher is being kept in the Heroes' dungeon in the north east. I like the sound of that name.",4)
		ADD_TO_FLAG(​PLAYER_GOOD,​FLAG0,​1)
	ENDIF
ENDIF

IF_ACTION_POINT(4,PLAYER2)
	ADD_TO_FLAG(​PLAYER_GOOD,​FLAG0,​1)
ENDIF

IF_ACTION_POINT(4,PLAYER3)
	ADD_TO_FLAG(​PLAYER_GOOD,​FLAG0,​1)
ENDIF

IF(PLAYER2,KEEPERS_DESTROYED == 1)
	ADD_TO_FLAG(​PLAYER_GOOD,​FLAG0,​1)
ENDIF

IF(PLAYER3,KEEPERS_DESTROYED == 1)
	ADD_TO_FLAG(​PLAYER_GOOD,​FLAG0,​1)
ENDIF

IF(PLAYER1,KEEPERS_DESTROYED == 1)
	ADD_TO_FLAG(​PLAYER_GOOD,​FLAG0,​1)
ENDIF

IF(PLAYER1,KEEPERS_DESTROYED == 2)
	ADD_TO_FLAG(​PLAYER_GOOD,​FLAG0,​1)
ENDIF

IF(PLAYER_GOOD,KEEPERS_DESTROYED == 1)
	ADD_TO_FLAG(​PLAYER_GOOD,​FLAG0,​1)
ENDIF

IF(PLAYER_GOOD,KEEPERS_DESTROYED == 2)
	ADD_TO_FLAG(​PLAYER_GOOD,​FLAG0,​1)
ENDIF

IF_ACTION_POINT(3,PLAYER1)
	ADD_TO_FLAG(​PLAYER_GOOD,​FLAG0,​1)
	ADD_PARTY_TO_LEVEL(PLAYER_GOOD,LORD,-2,1)
	QUICK_MESSAGE(10,​"They must not be allowed to set free The Butcher!",KNIGHT)
	MAX_CREATURES(PLAYER2,35)
	MAX_CREATURES(PLAYER3,35)
	CREATURE_ENTRANCE_LEVEL(PLAYER2,7)
	CREATURE_ENTRANCE_LEVEL(PLAYER3,7)
ENDIF

IF(PLAYER_GOOD,DUNGEON_DESTROYED == 1)
	HIDE_HERO_GATE(-1,1)
	HIDE_HERO_GATE(-2,1)
ENDIF

IF(PLAYER_GOOD,FLAG0 > 0)
	SET_TIMER(PLAYER_GOOD,TIMER1)
	SET_FLAG(PLAYER_GOOD,FLAG1,1)
	SET_GENERATE_SPEED(650)
ENDIF

IF(PLAYER_GOOD,FLAG0 >= 5)
	SET_TIMER(PLAYER_GOOD,TIMER2)
	SET_FLAG(PLAYER_GOOD,FLAG1,2)
	SET_GENERATE_SPEED(600)
ENDIF

IF(PLAYER_GOOD,FLAG0 >= 10)
	SET_TIMER(PLAYER_GOOD,TIMER3)
	SET_FLAG(PLAYER_GOOD,FLAG1,3)
	SET_GENERATE_SPEED(550)
ENDIF

IF(PLAYER_GOOD,FLAG0 >= 15)
	SET_TIMER(PLAYER_GOOD,TIMER4)
	SET_FLAG(PLAYER_GOOD,FLAG1,4)
	SET_GENERATE_SPEED(500)
	MAGIC_AVAILABLE(PLAYER2,POWER_LIGHTNING,1,0)
	MAGIC_AVAILABLE(PLAYER3,POWER_LIGHTNING,1,0)
ENDIF

IF(PLAYER_GOOD,FLAG1 == 1)
	IF(PLAYER_GOOD,DUNGEON_DESTROYED == 0)
		IF(PLAYER_GOOD,TIMER1 >= 3500)
			NEXT_COMMAND_REUSABLE
			ADD_PARTY_TO_LEVEL(PLAYER_GOOD,LIGHT,-1,1)
			NEXT_COMMAND_REUSABLE
			SET_TIMER(PLAYER_GOOD,TIMER1)
		ENDIF
	ENDIF
ENDIF

IF(PLAYER_GOOD,FLAG1 == 2)
	IF(PLAYER_GOOD,DUNGEON_DESTROYED == 0)
		IF(PLAYER_GOOD,TIMER2 >= 4000)
			NEXT_COMMAND_REUSABLE
			ADD_PARTY_TO_LEVEL(PLAYER_GOOD,MEDIUM,-1,1)
			NEXT_COMMAND_REUSABLE
			SET_TIMER(PLAYER_GOOD,TIMER2)
		ENDIF
	ENDIF
ENDIF

IF(PLAYER_GOOD,FLAG1 == 3)
	IF(PLAYER_GOOD,DUNGEON_DESTROYED == 0)
		IF(PLAYER_GOOD,TIMER3 >= 4500)
			NEXT_COMMAND_REUSABLE
			ADD_PARTY_TO_LEVEL(PLAYER_GOOD,HEAVY,-1,1)
			NEXT_COMMAND_REUSABLE
			SET_TIMER(PLAYER_GOOD,TIMER3)
		ENDIF
	ENDIF
ENDIF

IF(PLAYER_GOOD,FLAG1 == 4)
	IF(PLAYER_GOOD,DUNGEON_DESTROYED == 0)
		IF(PLAYER_GOOD,TIMER4 >= 5000)
			NEXT_COMMAND_REUSABLE
			ADD_PARTY_TO_LEVEL(PLAYER_GOOD,ELITE,-1,1)
			NEXT_COMMAND_REUSABLE
			SET_TIMER(PLAYER_GOOD,TIMER4)
		ENDIF
	ENDIF
ENDIF

IF(PLAYER1,HORNY == 1)
	MAGIC_AVAILABLE(PLAYER1,POWER_ARMAGEDDON,1,1)
	TUTORIAL_FLASH_BUTTON(33,-1)
	SET_FLAG(PLAYER1,FLAG0,1)
	SET_TIMER(PLAYER1,TIMER0)
	ADD_GOLD_TO_PLAYER(PLAYER2,100000)
	ADD_GOLD_TO_PLAYER(PLAYER3,100000)
	QUICK_MESSAGE(11, "Unleash me on your rivals and I will k-k-kill everyone.", HORNY)
	SET_HAND_RULE(PLAYER2,ANY_CREATURE,RULE0,DENY,LEVEL_HIGHER,9)
	SET_HAND_RULE(PLAYER3,ANY_CREATURE,RULE0,DENY,LEVEL_HIGHER,9)
	SET_HAND_RULE(PLAYER2,ANY_CREATURE,RULE1,DENY,AGE_HIGHER,30)
	SET_HAND_RULE(PLAYER3,ANY_CREATURE,RULE1,DENY,AGE_HIGHER,30)
	CREATURE_ENTRANCE_LEVEL(PLAYER2,8)
	CREATURE_ENTRANCE_LEVEL(PLAYER3,8)
ENDIF

IF(PLAYER1,TIMER0 >= 12500)
	IF(PLAYER1,FLAG0 == 1)
		IF(PLAYER2,DUNGEON_DESTROYED == 0)
			IF(PLAYER3,DUNGEON_DESTROYED == 0)
				ALLY_PLAYERS(PLAYER2,PLAYER3,1)
				QUICK_OBJECTIVE(12,​"Keeper Jandarzon and Keeper Kranzarak have entered a truce to deal with you and The Butcher.",PLAYER1)
				CREATURE_ENTRANCE_LEVEL(PLAYER2,9)
				CREATURE_ENTRANCE_LEVEL(PLAYER3,9)
				MAX_CREATURES(PLAYER2,40)
				MAX_CREATURES(PLAYER3,40)
				MAGIC_AVAILABLE(PLAYER2,POWER_DISEASE,1,0)
				MAGIC_AVAILABLE(PLAYER3,POWER_DISEASE,1,0)
			ENDIF
		ENDIF
	ENDIF
ENDIF

IF(PLAYER1,TIMER0 >= 25000)
	IF(PLAYER1,FLAG0 == 1)
		IF(PLAYER2,DUNGEON_DESTROYED == 0)
			IF(PLAYER3,DUNGEON_DESTROYED == 0)
				ROOM_AVAILABLE(PLAYER2,SCAVENGER,1,0)
				ROOM_AVAILABLE(PLAYER3,SCAVENGER,1,0)
				ROOM_AVAILABLE(PLAYER2,GRAVEYARD,1,0)
				ROOM_AVAILABLE(PLAYER3,GRAVEYARD,1,0)
				CREATURE_AVAILABLE(PLAYER2,VAMPIRE,1,5)
				CREATURE_AVAILABLE(PLAYER3,VAMPIRE,1,5)
			ENDIF
		ENDIF
	ENDIF
ENDIF


IF(PLAYER1,HORNY == 0)
	IF(PLAYER1,FLAG0 == 1)
		QUICK_OBJECTIVE(13,​"You have allowed The Butcher to die. There can be no victory now.",PLAYER1)
		LOSE_GAME
	ENDIF
ENDIF

IF(PLAYER1,ALL_DUNGEONS_DESTROYED == 1)
	IF(PLAYER_GOOD,TOTAL_CREATURES == 0)
		QUICK_OBJECTIVE(14, "You have actually done it and defeated the Ancient Keepers.  ", PLAYER1)
		QUICK_MESSAGE(15, "Ah what wonderful devastation and carnage!", HORNY)
		WIN_GAME
	ENDIF
ENDIF
