
LEVEL_VERSION(1)

SET_GENERATE_SPEED(250)

COMPUTER_PLAYER(PLAYER1,8)
COMPUTER_PLAYER(PLAYER2,8)
COMPUTER_PLAYER(PLAYER3,9)
COMPUTER_PLAYER(PLAYER4,ROAMING)
COMPUTER_PLAYER(PLAYER5,ROAMING)
COMPUTER_PLAYER(PLAYER6,ROAMING)

START_MONEY(ALL_PLAYERS,500000)
ADD_GOLD_TO_PLAYER(PLAYER0,-490000)

MAX_CREATURES(PLAYER0,18)
MAX_CREATURES(PLAYER1,30)
MAX_CREATURES(PLAYER2,40)
MAX_CREATURES(PLAYER3,18)

SET_TEXTURE(PLAYER0,STANDARD)
SET_MUSIC("Halo Wars - Money or Meteors.ogg")

SET_PLAYER_COLOR(PLAYER_GOOD,BLACK)
SET_PLAYER_COLOR(PLAYER1,BLACK)
SET_PLAYER_COLOR(PLAYER2,BLACK)
SET_PLAYER_COLOR(PLAYER4,BLACK)
SET_PLAYER_COLOR(PLAYER6,BLACK)

	REM - Everyone is allied to White and Black except for the player.
	REM - Blue (and Purple) hate Green (and Orange.)
	REM - Yellow initially loves all other keepers until he gets fully activated.
	
ALLY_PLAYERS(PLAYER1,PLAYER_GOOD,3)
ALLY_PLAYERS(PLAYER2,PLAYER_GOOD,3)
ALLY_PLAYERS(PLAYER3,PLAYER_GOOD,3)
ALLY_PLAYERS(PLAYER4,PLAYER_GOOD,3)
ALLY_PLAYERS(PLAYER5,PLAYER_GOOD,3)
ALLY_PLAYERS(PLAYER6,PLAYER_GOOD,3)

ALLY_PLAYERS(PLAYER1,PLAYER5,3)
ALLY_PLAYERS(PLAYER2,PLAYER5,3)
ALLY_PLAYERS(PLAYER3,PLAYER5,3)
ALLY_PLAYERS(PLAYER4,PLAYER5,3)
ALLY_PLAYERS(PLAYER6,PLAYER5,3)

ALLY_PLAYERS(PLAYER1,PLAYER4,3)
ALLY_PLAYERS(PLAYER2,PLAYER6,3)

ALLY_PLAYERS(PLAYER3,PLAYER1,3)
ALLY_PLAYERS(PLAYER3,PLAYER2,3)
ALLY_PLAYERS(PLAYER3,PLAYER4,3)
ALLY_PLAYERS(PLAYER3,PLAYER6,3)

SET_GAME_RULE(PRESERVECLASSICBUGS,128)
SET_GAME_RULE(DISPLAYPORTALLIMIT,1)

SET_CREATURE_CONFIGURATION(SAMURAI,ENTRANCEROOM,TRAINING,TEMPLE,NULL)
SET_CREATURE_CONFIGURATION(SAMURAI,ROOMSLABSREQUIRED,9,6,0)
SET_CREATURE_CONFIGURATION(WITCH,ENTRANCEROOM,RESEARCH,NULL,NULL)
SET_CREATURE_CONFIGURATION(WITCH,ROOMSLABSREQUIRED,9,0,0)
SET_CREATURE_CONFIGURATION(DRUID,ENTRANCEROOM,GARDEN,NULL,NULL)
SET_CREATURE_CONFIGURATION(DRUID,ROOMSLABSREQUIRED,9,0,0)

SET_CREATURE_CONFIGURATION(FLY,PRIMARYJOBS,0)

SET_CREATURE_CONFIGURATION(FLY,SLEEPEXPERIENCE,PATH,200)
SET_CREATURE_CONFIGURATION(TENTACLE,SLEEPEXPERIENCE,PATH,200)
SET_CREATURE_CONFIGURATION(MAIDEN,SLEEPEXPERIENCE,PATH,200)
SET_CREATURE_CONFIGURATION(SPIDER,SLEEPEXPERIENCE,PATH,200)
SET_CREATURE_CONFIGURATION(BUG,SLEEPEXPERIENCE,PATH,200)

SET_CREATURE_CONFIGURATION(FLY,FEARWOUNDED,0)
SET_CREATURE_CONFIGURATION(TENTACLE,FEARWOUNDED,0)
SET_CREATURE_CONFIGURATION(MAIDEN,FEARWOUNDED,0)
SET_CREATURE_CONFIGURATION(SPIDER,FEARWOUNDED,0)
SET_CREATURE_CONFIGURATION(BUG,FEARWOUNDED,0)

SET_CREATURE_CONFIGURATION(FLY,FEARSTRONGER,0)
SET_CREATURE_CONFIGURATION(TENTACLE,FEARSTRONGER,0)
SET_CREATURE_CONFIGURATION(MAIDEN,FEARSTRONGER,0)
SET_CREATURE_CONFIGURATION(SPIDER,FEARSTRONGER,0)
SET_CREATURE_CONFIGURATION(BUG,FEARSTRONGER,0)

SET_CREATURE_PROPERTY(KNIGHT,LORD,0)
SET_CREATURE_PROPERTY(KNIGHT,EVENTFUL_DEATH,1)
SET_CREATURE_PROPERTY(KNIGHT,NO_CORPSE_ROTTING,1)
SET_CREATURE_MAX_LEVEL(PLAYER0,THIEF,10)
SET_CREATURE_CONFIGURATION(FLY,PRIMARYJOBS,0)

ADD_OBJECT_TO_LEVEL_AT_POS(HEARTFLAME_PURPLE,199,58,0)
ADD_OBJECT_TO_LEVEL_AT_POS(HEARTFLAME_PURPLE,193,58,0)
ADD_OBJECT_TO_LEVEL_AT_POS(HEARTFLAME_PURPLE,190,61,0)
ADD_OBJECT_TO_LEVEL_AT_POS(HEARTFLAME_PURPLE,190,67,0)
ADD_OBJECT_TO_LEVEL_AT_POS(HEARTFLAME_PURPLE,193,70,0)
ADD_OBJECT_TO_LEVEL_AT_POS(HEARTFLAME_PURPLE,199,70,0)

CHANGE_SLAB_TYPE(73,74,PATH,NONE)
CHANGE_SLAB_TYPE(79,70,PATH,NONE)

CREATURE_AVAILABLE(PLAYER0,BARBARIAN,1,0)
CREATURE_AVAILABLE(PLAYER0,ARCHER,1,0)
CREATURE_AVAILABLE(PLAYER0,DWARFA,1,0)
CREATURE_AVAILABLE(PLAYER0,GIANT,1,0)
CREATURE_AVAILABLE(PLAYER0,THIEF,1,0)
CREATURE_AVAILABLE(PLAYER0,MONK,1,0)
CREATURE_AVAILABLE(PLAYER0,SAMURAI,1,0)
	ADD_CREATURE_TO_POOL(BARBARIAN,6)
	ADD_CREATURE_TO_POOL(ARCHER,8)
	ADD_CREATURE_TO_POOL(DWARFA,10)
	ADD_CREATURE_TO_POOL(GIANT,5)
	ADD_CREATURE_TO_POOL(THIEF,10)
	ADD_CREATURE_TO_POOL(MONK,6)
	ADD_CREATURE_TO_POOL(SAMURAI,5)

CREATURE_AVAILABLE(PLAYER1,BUG,1,0)
CREATURE_AVAILABLE(PLAYER1,SPIDER,1,0)
CREATURE_AVAILABLE(PLAYER1,MAIDEN,1,300)
	ADD_CREATURE_TO_POOL(BUG,20)
	ADD_CREATURE_TO_POOL(SPIDER,20)
	ADD_CREATURE_TO_POOL(MAIDEN,10)
	
CREATURE_AVAILABLE(PLAYER2,FLY,1,0)
CREATURE_AVAILABLE(PLAYER2,TENTACLE,1,300)
	ADD_CREATURE_TO_POOL(FLY,40)
	ADD_CREATURE_TO_POOL(TENTACLE,20)

ADD_CREATURE_TO_POOL(SORCEROR,8)
ADD_CREATURE_TO_POOL(DRUID,8)
ADD_CREATURE_TO_POOL(WIZARD,8)
ADD_CREATURE_TO_POOL(TIME_MAGE,8)
ADD_CREATURE_TO_POOL(WITCH,8)
ADD_CREATURE_TO_POOL(FAIRY,8)
	CREATURE_AVAILABLE(PLAYER3,SORCEROR,1,0)
	CREATURE_AVAILABLE(PLAYER3,DRUID,1,0)
	CREATURE_AVAILABLE(PLAYER3,WIZARD,1,0)
	CREATURE_AVAILABLE(PLAYER3,TIME_MAGE,1,0)
	CREATURE_AVAILABLE(PLAYER3,WITCH,1,0)
	CREATURE_AVAILABLE(PLAYER3,FAIRY,1,0)

ROOM_AVAILABLE(PLAYER0,TREASURE,1,1)
ROOM_AVAILABLE(PLAYER0,LAIR,1,1)
ROOM_AVAILABLE(PLAYER0,GARDEN,1,1)
ROOM_AVAILABLE(PLAYER0,TRAINING,1,1)
ROOM_AVAILABLE(PLAYER0,RESEARCH,1,1)
ROOM_AVAILABLE(PLAYER0,GUARD_POST,1,1)
ROOM_AVAILABLE(PLAYER0,WORKSHOP,1,1)
ROOM_AVAILABLE(PLAYER0,BARRACKS,1,1)
ROOM_AVAILABLE(PLAYER0,BRIDGE,3,0)
ROOM_AVAILABLE(PLAYER0,TEMPLE,3,0)

DOOR_AVAILABLE(PLAYER0,WOOD,1,0)
DOOR_AVAILABLE(PLAYER0,BRACED,1,0)
DOOR_AVAILABLE(PLAYER0,STEEL,1,0)
DOOR_AVAILABLE(PLAYER0,MAGIC,1,0)
TRAP_AVAILABLE(PLAYER0,ALARM,1,0)
TRAP_AVAILABLE(PLAYER0,POISON_GAS,1,0)
TRAP_AVAILABLE(PLAYER0,LIGHTNING,1,0)
TRAP_AVAILABLE(PLAYER0,WORD_OF_POWER,1,0)

MAGIC_AVAILABLE(PLAYER0,POWER_TUNNELLER,1,1)
MAGIC_AVAILABLE(PLAYER0,POWER_SIGHT,1,1)
MAGIC_AVAILABLE(PLAYER0,POWER_SPEED,1,0)
MAGIC_AVAILABLE(PLAYER0,POWER_OBEY,1,0)
MAGIC_AVAILABLE(PLAYER0,POWER_CALL_TO_ARMS,1,0)
MAGIC_AVAILABLE(PLAYER0,POWER_HOLD_AUDIENCE,1,0)
MAGIC_AVAILABLE(PLAYER0,POWER_HEAL_CREATURE,1,0)
MAGIC_AVAILABLE(PLAYER0,POWER_PROTECT,1,0)
MAGIC_AVAILABLE(PLAYER0,POWER_SLOW,1,0)

MAGIC_AVAILABLE(PLAYER3,POWER_SIGHT,1,1)
MAGIC_AVAILABLE(PLAYER3,POWER_SPEED,1,0)
MAGIC_AVAILABLE(PLAYER3,POWER_OBEY,1,1)
MAGIC_AVAILABLE(PLAYER3,POWER_HEAL_CREATURE,1,0)
MAGIC_AVAILABLE(PLAYER3,POWER_PROTECT,1,0)

SET_POWER_CONFIGURATION(POWER_TUNNELLER,PANELTABINDEX,2)
SET_POWER_CONFIGURATION(POWER_SLOW,PANELTABINDEX,14)
SET_POWER_CONFIGURATION(POWER_REBOUND,PANELTABINDEX,15)
SET_POWER_CONFIGURATION(POWER_FREEZE,PANELTABINDEX,16)
SET_DIGGER(PLAYER0,TUNNELLER)
SET_CREATURE_PROPERTY(TUNNELLER,SPECIAL_DIGGER,1)



	REM -- Intro message and level start.

DISPLAY_INFORMATION(2,PLAYER_GOOD)
	REM "ADJUTANT: So it seems they spoke true. The camarilla of shrewd nobles drooling into our venerable Avatar's ear has, for once, garnered information seemingly reliable. That pitiable craven, Lord Pelzig, has indeed shirked his duties as viceroy and made bed with the creatures of the Underdark. If his decision was willing, then he is a heretic, and if it was not, then he is a coward. He is, regardless, a traitor to our great Empire, and it will be both my honour and my duty to see his lifeless corpse thrown before the feet of our gracious Avatar."
TUTORIAL_FLASH_BUTTON(78,500)
USE_SPELL_ON_CREATURE(PLAYER_GOOD,BLACKKNIGHT,ANYWHERE,SPELL_ARMOUR,9)
REVEAL_MAP_RECT(PLAYER0,190,64,9,24)
REVEAL_MAP_RECT(PLAYER0,190,64,24,9)
REVEAL_MAP_RECT(PLAYER0,190,64,18,18)
IF(PLAYER0,GAME_TURN > 700)
	CONCEAL_MAP_RECT(PLAYER0,190,64,24,24,0)
	SET_CREATURE_CONFIGURATION(BLACKKNIGHT,BASESPEED,64)
	ADD_CREATURE_TO_LEVEL(PLAYER0,TUNNELLER,10,3,2,0)
	ADD_CREATURE_TO_LEVEL(PLAYER0,KNIGHT,10,1,3,0)
	DISPLAY_OBJECTIVE(3,PLAYER_GOOD)
		REM "[Slay the corrupt Lord Pelzig and shatter his foul Heart.]"
	
	IF(PLAYER0,TUNNELLER <= 3)
		TUTORIAL_FLASH_BUTTON(21,0)
		
		IF(PLAYER0,GAME_TURN < 800)
			ZOOM_TO_LOCATION(PLAYER0,PLAYER0)
		ENDIF
	ENDIF
ENDIF



	REM -- If player has greater than three thieves, tell them Thieves won't become Knights.
	
IF(PLAYER0,THIEF >= 3)
	DISPLAY_INFORMATION(4)
		REM "ADJUTANT: All these lowly hirelings and conscripts filling our ranks.. I admire their loyalty and courage; Charging into battle with no more than a loose leather jerkin and a sharp dirk. However, our commission simply lacks the necessary provisions to properly recognize their efforts.. [Thieves cannot ascend to Knights.]"
ENDIF



	REM --- If player's Knight dies, it respawns shortly afterwards.

IF(PLAYER0,KNIGHT > 0)
	NEXT_COMMAND_REUSABLE
	SET_TIMER(PLAYER0,TIMER1)
ENDIF
	
IF(PLAYER0,GAME_TURN > 1000)
	IF(PLAYER0,KNIGHT == 0)
		DISPLAY_INFORMATION(5,LAST_DEATH_EVENT[PLAYER0])
			REM "ADJUTANT: I am the Empire's Fist! I refuse to die!"
		
		IF(PLAYER0,TIMER1 > 2500)
			IF(PLAYER0,FLAG0 == 0)
				NEXT_COMMAND_REUSABLE
				ADD_CREATURE_TO_LEVEL(PLAYER0,KNIGHT,10,1,3,0)
				NEXT_COMMAND_REUSABLE
				DISPLAY_MESSAGE(6,KNIGHT)
					REM "My constitution falters, but my indomitable will does not!"
			ENDIF
			
			IF(PLAYER0,FLAG0 == 1)
				NEXT_COMMAND_REUSABLE
				ADD_CREATURE_TO_LEVEL(PLAYER0,KNIGHT,10,1,5,0)
				NEXT_COMMAND_REUSABLE
				DISPLAY_MESSAGE(6,KNIGHT)
					REM "My constitution falters, but my indomitable will does not!"
			ENDIF
			
			IF(PLAYER0,FLAG0 == 2)
				NEXT_COMMAND_REUSABLE
				ADD_CREATURE_TO_LEVEL(PLAYER0,KNIGHT,10,1,7,0)
				NEXT_COMMAND_REUSABLE
				DISPLAY_MESSAGE(6,KNIGHT)
					REM "My constitution falters, but my indomitable will does not!"
			ENDIF
		ENDIF
	ENDIF
ENDIF


	REM -- Prevent duplicate Knight.

IF(PLAYER0,KNIGHT > 1)
	NEXT_COMMAND_REUSABLE
	TRANSFER_CREATURE(PLAYER0,KNIGHT,ANYWHERE,1)
ENDIF



	REM -- If Player0 got temple by killing yellow, replace the neutral tile near the graveyard with a special box instead.

IF(PLAYER0,TEMPLE > 0)
	TUTORIAL_FLASH_BUTTON(12,750)
	
	IF_SLAB_OWNER(5,76,PLAYER_GOOD)
		CHANGE_SLAB_TYPE(5,76,PRETTY_PATH)
		ADD_OBJECT_TO_LEVEL_AT_POS(SPECBOX_INCLEV,16,229,0)
	ENDIF
ENDIF



	REM -- Player cannot imprison or convert. Player cannot have ghosts or skeletons.

NEXT_COMMAND_REUSABLE
SET_CREATURE_TENDENCIES(PLAYER0,IMPRISON,0)

IF(PLAYER0,GHOST > 0)
	NEXT_COMMAND_REUSABLE
	CHANGE_CREATURE_OWNER(PLAYER0,GHOST,ANYWHERE,PLAYER_GOOD)
ENDIF
IF(PLAYER0,SKELETON > 0)
	NEXT_COMMAND_REUSABLE
	CHANGE_CREATURE_OWNER(PLAYER0,SKELETON,ANYWHERE,PLAYER_GOOD)
ENDIF



	REM -- Yap about yellow when player enters their base.
	
	IF(PLAYER3,FLAG0 == 0)
		IF_ACTION_POINT(24,PLAYER0)
			DISPLAY_INFORMATION(7,11)
				REM "ADJUTANT: It would seem these tunnels are home to a cabal of surreptitious spellweavers. Unauthorized sorcery is a criminal offence and as an acting Adjutant of the Avatar, it is my sworn duty to deliver judgement upon such transgressors. That being so, bringing Lord Pelzig to account is of predominant importance, and it would perhaps be prudent to lend him focus wholly rather than further split the Empires resources."
			USE_POWER_AT_POS(PLAYER0,34,172,POWER_SIGHT,9,1)
			SET_FLAG(PLAYER3,FLAG0,1)
		ENDIF
	ENDIF

	IF(PLAYER3,FLAG0 == 0)
		IF_ACTION_POINT(23,PLAYER0)
			DISPLAY_INFORMATION(7,11)
				REM "ADJUTANT: It would seem these tunnels are home to a cabal of surreptitious spellweavers. Unauthorized sorcery is a criminal offence and as an acting Adjutant of the Avatar, it is my sworn duty to deliver judgement upon such transgressors. That being so, bringing Lord Pelzig to account is of predominant importance, and it would perhaps be prudent to lend him focus wholly rather than further split the Empires resources."
			USE_POWER_AT_POS(PLAYER0,34,172,POWER_SIGHT,9,1)
			SET_FLAG(PLAYER3,FLAG0,1)
		ENDIF
	ENDIF

	
	
	REM -- When player enters hero fortress, activate yellow keeper and make him more aggressive and expansionist.
	REM -- If player hasn't already visited yellow, send message.
	
IF_ACTION_POINT(12,PLAYER0)
	COMPUTER_PLAYER(PLAYER3,0)
	MAGIC_AVAILABLE(PLAYER3,POWER_IMP,1,1)
	MAGIC_AVAILABLE(PLAYER3,POWER_CALL_TO_ARMS,1,1)
	ALLY_PLAYERS(PLAYER3,PLAYER1,2)
	ALLY_PLAYERS(PLAYER3,PLAYER2,2)
	ALLY_PLAYERS(PLAYER3,PLAYER4,2)
	ALLY_PLAYERS(PLAYER3,PLAYER5,2)
	ALLY_PLAYERS(PLAYER3,PLAYER6,2)
	ALLY_PLAYERS(PLAYER3,PLAYER_GOOD,2)
	SET_FLAG(PLAYER_GOOD,FLAG2,1)
	
	IF(PLAYER3,FLAG0 == 0)
		DISPLAY_INFORMATION(7,11)
			REM "ADJUTANT: It would seem these tunnels are home to a cabal of surreptitious spellweavers. Unauthorized sorcery is a criminal offence and as an acting Adjutant of the Avatar, it is my sworn duty to deliver judgement upon such transgressors. That being so, bringing Lord Pelzig to account is of predominant importance, and it would perhaps be prudent to lend him focus wholly rather than further split the Empires resources."
		USE_POWER_AT_POS(PLAYER0,34,172,POWER_SIGHT,9,1)
		SET_FLAG(PLAYER3,FLAG0,1)
	ENDIF
ENDIF



	REM -- Notify player that Yellow is expanding his territory.

IF(PLAYER3,TOTAL_AREA > 290)
	DISPLAY_INFORMATION(11,23)
		REM "ADJUTANT: What vile devilry is this! Imps! These fools dare to dabble with demon magic!? They bid their own demise; By my hand today or by the Avatar's tomorrow!"
	SET_DOOR(UNLOCKED,30,64)
ENDIF



	REM -- Acknowledge Yellow's death.
	REM -- Different message if player kills him before/after being 'activated', or if he dies to someone else.
	
IF(PLAYER0,KEEPERS_DESTROYED[PLAYER3] == 1)
	IF(PLAYER_GOOD,FLAG2 == 0)
		DISPLAY_INFORMATION(22,4)
			REM "ADJUTANT: 'tis a fine pity these folk did not seek the requisite warrants for their, rather eclectic, experiments. The Empire could very well have used such talented mages and researchers, especially in such trying times as these... But the Avatar's law is absolute! Kinship with a lesser evil is kinship nonetheless!"
	ENDIF
	IF(PLAYER_GOOD,FLAG2 == 1)
		DISPLAY_INFORMATION(23,4)
			REM "ADJUTANT: These contemptible fools melted their waxen wings when they conjured their first Imp. They practice Demonology! In the realm of the Avatar! Under the nose of an Adjutant!? Such flagrant heresy had to be punished!"
	ENDIF
ENDIF

IF(PLAYER0,KEEPERS_DESTROYED[PLAYER3] == 0)
	IF(PLAYER3,DUNGEON_DESTROYED == 1)
		DISPLAY_INFORMATION(12,4)
			REM "ADJUTANT: It would appear Pelzig's voracious allies have dispensed of those scurrilous magi. To what end, I cannot be sure. Had they taken arms against Pelzig and stood in solidarity with our forces, perhaps they would have prevailed. Perhaps even with an official pardon. Perhaps.."
	ENDIF
ENDIF



	REM -- Rush defense and slight padding for Blue and Green players.
	REM -- Nerf the defending units randomly, to add some level diversity.
	REM -- Creatures currently have a chance of forgetting their defend_location job, in which case they go and attack the player.
	REM -- We nerf-down rather than buff-up to prevent the unlikely case where defenders both get high-levels and also forget their defend job; attacking the player with high level creatures at the start of the game.

CREATE_PARTY(SPI8)
	ADD_TO_PARTY(SPI8,SPIDER,8,0,DEFEND_LOCATION,0)
CREATE_PARTY(BUG8)
	ADD_TO_PARTY(BUG8,BUG,8,0,DEFEND_LOCATION,0)
CREATE_PARTY(MAI9)
	ADD_TO_PARTY(MAI9,MAIDEN,9,0,DEFEND_LOCATION,0)
CREATE_PARTY(FLY10)
	ADD_TO_PARTY(FLY10,FLY,10,0,DEFEND_LOCATION,0)
	
ADD_PARTY_TO_LEVEL(PLAYER4,SPI8,13,6)
ADD_PARTY_TO_LEVEL(PLAYER4,BUG8,13,6)
ADD_PARTY_TO_LEVEL(PLAYER4,MAI9,13,3)
ADD_PARTY_TO_LEVEL(PLAYER6,FLY10,14,16)
ADD_PARTY_TO_LEVEL(PLAYER6,FLY10,15,16)

IF(PLAYER0,GAME_TURN > 150)
	IF(PLAYER_GOOD,FLAG0 <= 40)
		NEXT_COMMAND_REUSABLE
		LEVEL_UP_CREATURE(PLAYER4,ANY_CREATURE,ANYWHERE,-1)
		NEXT_COMMAND_REUSABLE
		LEVEL_UP_CREATURE(PLAYER6,ANY_CREATURE,ANYWHERE,-1)
		NEXT_COMMAND_REUSABLE
		LEVEL_UP_CREATURE(PLAYER6,ANY_CREATURE,ANYWHERE,-1)
		NEXT_COMMAND_REUSABLE
		LEVEL_UP_CREATURE(PLAYER6,ANY_CREATURE,ANYWHERE,-1)
		NEXT_COMMAND_REUSABLE
		ADD_TO_FLAG(PLAYER_GOOD,FLAG0,1)
	ENDIF
ENDIF



	REM -- Flavour text when player rescues some neutral heroes.
	
IF_ACTION_POINT(1,PLAYER0)
	ZOOM_TO_LOCATION(PLAYER0,1)
	DISPLAY_INFORMATION(8,1)
		REM "WIZARD: Thank the Avatar! When Lord Pelzig opened the gate to the beasts, our garrison fought valiantly but was quickly cut down by the ensuing horde. Exhausted and panicked, I tried to teleport our remaining party to safety, but my failing willpower made the gate incoherent and directionless. By wicked fate, we were spat out into this dank chamber. We'd thought it would be our tomb."
ENDIF



	REM -- Random troll cave. Delays their attack in the event the player finds them really early, but otherwise acts like a normal hero pocket.

CREATE_PARTY(TRO7)
	ADD_TO_PARTY(TRO7,TROLL,7,0,ATTACK_ENEMIES,12000)
CREATE_PARTY(ORC8)
	ADD_TO_PARTY(ORC8,ORC,8,0,ATTACK_ENEMIES,12000)

ADD_PARTY_TO_LEVEL(PLAYER_GOOD,TRO7,16,4)
ADD_PARTY_TO_LEVEL(PLAYER_GOOD,ORC8,16,1)



	REM -- Guards for the graveyard.

CREATE_PARTY(VAMP5)
ADD_TO_PARTY(VAMP5,VAMPIRE,5,0,DEFEND_LOCATION,0)
CREATE_PARTY(GHOST4)
ADD_TO_PARTY(GHOST4,GHOST,4,0,DEFEND_LOCATION,0)

ADD_PARTY_TO_LEVEL(PLAYER_GOOD,VAMP5,-1,2)
ADD_PARTY_TO_LEVEL(PLAYER_GOOD,GHOST4,-1,6)



	REM -- Harass from Undead if Graveyard not claimed.
	REM -- Guides player toward the neutral temple piece.

CREATE_PARTY(UNDEAD1)
ADD_TO_PARTY(UNDEAD1,VAMPIRE,3,0,ATTACK_ENEMIES,0)
ADD_TO_PARTY(UNDEAD1,GHOST,1,0,DEFEND_PARTY,0)
ADD_TO_PARTY(UNDEAD1,GHOST,1,0,DEFEND_PARTY,0)

CREATE_PARTY(UNDEAD2)
ADD_TO_PARTY(UNDEAD2,VAMPIRE,6,0,ATTACK_ENEMIES,0)
ADD_TO_PARTY(UNDEAD2,GHOST,6,0,DEFEND_PARTY,0)

CREATE_PARTY(UNDEAD3)
ADD_TO_PARTY(UNDEAD3,VAMPIRE,10,0,ATTACK_ENEMIES,0)
ADD_TO_PARTY(UNDEAD3,GHOST,8,0,DEFEND_PARTY,0)

IF(PLAYER3,GRAVEYARD > 0)
	IF(PLAYER0,GAME_TURN > 5500)
		ADD_PARTY_TO_LEVEL(PLAYER5,UNDEAD1,-1,1)
	ENDIF
	IF(PLAYER0,GAME_TURN > 28000)
		ADD_PARTY_TO_LEVEL(PLAYER5,UNDEAD2,-1,2)
		ADD_CREATURE_TO_LEVEL(PLAYER5,GHOST,-1,2,4,0)
		SET_TIMER(PLAYER_GOOD,TIMER2)
		
		IF(PLAYER5,VAMPIRE == 0)
			IF(PLAYER5,GHOST == 0)
				DISPLAY_INFORMATION(9,-1)
					REM "ADJUTANT: These haunted spectres approached us from the west. We must find their resting place, rip the lids from their coffins and salt their worm-eaten remains! Let their wicked souls be sent back into the abyss!"
				USE_POWER_AT_LOCATION(PLAYER0,-1,POWER_SIGHT,9,1)
			ENDIF
		ENDIF
	ENDIF
	IF(PLAYER_GOOD,TIMER2 > 10000)
		NEXT_COMMAND_REUSABLE
		ADD_PARTY_TO_LEVEL(PLAYER5,UNDEAD2,-1,1)
		NEXT_COMMAND_REUSABLE
		ADD_CREATURE_TO_LEVEL(PLAYER5,GHOST,-1,2,4,0)
		NEXT_COMMAND_REUSABLE
		SET_TIMER(PLAYER_GOOD,TIMER2)
	ENDIF
	
	IF(PLAYER0,GAME_TURN > 52000)
		ADD_PARTY_TO_LEVEL(PLAYER5,UNDEAD3,-1,2)
		ADD_CREATURE_TO_LEVEL(PLAYER5,GHOST,-1,2,4,0)
	ENDIF
ENDIF



	REM -- Imply to player that graveyard can't be used to raise vampires.

SET_ROOM_CONFIGURATION(GRAVEYARD,ROLES,ROOM_ROLE_NONE)
SET_ROOM_CONFIGURATION(GRAVEYARD,ROLES,0)

IF(PLAYER0,GRAVEYARD > 0)
	SET_OBJECT_CONFIGURATION(GRAVE_STONE,MAXIMUMSIZE,0)
	HIDE_HERO_GATE(-1,1)
ENDIF



	REM -- Enemy keeper regular reinforcements scale over time.

CREATURE_ENTRANCE_LEVEL(PLAYER3,3)

IF(PLAYER0,GAME_TURN > 8000)
	CREATURE_ENTRANCE_LEVEL(PLAYER1,2)
	CREATURE_ENTRANCE_LEVEL(PLAYER2,2)
ENDIF
IF(PLAYER0,GAME_TURN > 16000)
	CREATURE_ENTRANCE_LEVEL(PLAYER1,3)
	CREATURE_ENTRANCE_LEVEL(PLAYER2,3)
	SET_CREATURE_CONFIGURATION(FLY,SLEEPEXPERIENCE,PATH,800)
	SET_CREATURE_CONFIGURATION(TENTACLE,SLEEPEXPERIENCE,PATH,800)
	SET_CREATURE_CONFIGURATION(MAIDEN,SLEEPEXPERIENCE,PATH,800)
	SET_CREATURE_CONFIGURATION(SPIDER,SLEEPEXPERIENCE,PATH,800)
	SET_CREATURE_CONFIGURATION(BUG,SLEEPEXPERIENCE,PATH,800)
ENDIF
IF(PLAYER0,GAME_TURN > 24000)
	CREATURE_ENTRANCE_LEVEL(PLAYER1,4)
	CREATURE_ENTRANCE_LEVEL(PLAYER2,4)
ENDIF
IF(PLAYER0,GAME_TURN > 32000)
	CREATURE_ENTRANCE_LEVEL(PLAYER1,5)
	CREATURE_ENTRANCE_LEVEL(PLAYER2,5)
ENDIF
IF(PLAYER0,GAME_TURN > 40000)
	CREATURE_ENTRANCE_LEVEL(PLAYER1,6)
	CREATURE_ENTRANCE_LEVEL(PLAYER2,6)
	SET_CREATURE_CONFIGURATION(FLY,SLEEPEXPERIENCE,PATH,1600)
	SET_CREATURE_CONFIGURATION(TENTACLE,SLEEPEXPERIENCE,PATH,1600)
	SET_CREATURE_CONFIGURATION(MAIDEN,SLEEPEXPERIENCE,PATH,1600)
	SET_CREATURE_CONFIGURATION(SPIDER,SLEEPEXPERIENCE,PATH,1600)
	SET_CREATURE_CONFIGURATION(BUG,SLEEPEXPERIENCE,PATH,1600)
ENDIF
IF(PLAYER0,GAME_TURN > 50000)
	CREATURE_ENTRANCE_LEVEL(PLAYER1,7)
	CREATURE_ENTRANCE_LEVEL(PLAYER2,7)
ENDIF
IF(PLAYER0,GAME_TURN > 62000)
	CREATURE_ENTRANCE_LEVEL(PLAYER1,8)
	CREATURE_ENTRANCE_LEVEL(PLAYER2,8)
ENDIF
IF(PLAYER0,GAME_TURN > 70000)
	SET_CREATURE_CONFIGURATION(FLY,SLEEPEXPERIENCE,PATH,8000)
	SET_CREATURE_CONFIGURATION(TENTACLE,SLEEPEXPERIENCE,PATH,8000)
	SET_CREATURE_CONFIGURATION(MAIDEN,SLEEPEXPERIENCE,PATH,8000)
	SET_CREATURE_CONFIGURATION(SPIDER,SLEEPEXPERIENCE,PATH,8000)
	SET_CREATURE_CONFIGURATION(BUG,SLEEPEXPERIENCE,PATH,8000)
ENDIF



	REM -- Excess enemy keeper units become harass parties.

IF(PLAYER1,TOTAL_CREATURES >= 30)
	NEXT_COMMAND_REUSABLE
	SET_FLAG(PLAYER1,FLAG0,1)
ENDIF
IF(PLAYER1,FLAG0 == 1)
	NEXT_COMMAND_REUSABLE
	CHANGE_CREATURE_OWNER(PLAYER1,ANY_CREATURE,MOST_EXPERIENCED,PLAYER_GOOD)
	NEXT_COMMAND_REUSABLE
	CHANGE_CREATURE_OWNER(PLAYER1,ANY_CREATURE,LEAST_EXPERIENCED,PLAYER_GOOD)
ENDIF
IF(PLAYER1,TOTAL_CREATURES <= 25)
	NEXT_COMMAND_REUSABLE
	SET_FLAG(PLAYER1,FLAG0,0)
ENDIF


IF(PLAYER2,TOTAL_CREATURES >= 40)
	NEXT_COMMAND_REUSABLE
	SET_FLAG(PLAYER2,FLAG0,1)
ENDIF
IF(PLAYER2,FLAG0 == 1)
	NEXT_COMMAND_REUSABLE
	CHANGE_CREATURE_OWNER(PLAYER2,ANY_CREATURE,MOST_EXPERIENCED,PLAYER_GOOD)
	NEXT_COMMAND_REUSABLE
	CHANGE_CREATURE_OWNER(PLAYER2,ANY_CREATURE,LEAST_EXPERIENCED,PLAYER_GOOD)
ENDIF
IF(PLAYER2,TOTAL_CREATURES <= 30)
	NEXT_COMMAND_REUSABLE
	SET_FLAG(PLAYER2,FLAG0,0)
ENDIF



	REM -- More harass parties, targeting rooms and increasing in strength and quantity over time. Disabled by killing their respective keeper.
	REM -- In hindsight, I don't think I need the IF dungeon alive check, because they use the dungeon heart as a spawn location and that location doesn't exist when the heart is destroyed.

CREATE_PARTY(LOCUST)
	ADD_TO_PARTY(LOCUST,FLY,3,0,ATTACK_ROOMS,0)
CREATE_PARTY(TERMITE)
	ADD_TO_PARTY(TERMITE,BUG,3,0,ATTACK_ROOMS,0)
CREATE_PARTY(SPIDER)
	ADD_TO_PARTY(SPIDER,MAIDEN,5,0,STEAL_SPELLS,0)
	ADD_TO_PARTY(SPIDER,SPIDER,4,0,DEFEND_PARTY,0)
	ADD_TO_PARTY(SPIDER,SPIDER,4,0,DEFEND_PARTY,0)
	
IF(PLAYER0,GAME_TURN > 32000)
	ADD_TO_PARTY(LOCUST,FLY,5,0,ATTACK_ROOMS,0)
	ADD_TO_PARTY(TERMITE,BUG,5,0,ATTACK_ROOMS,0)
	DELETE_FROM_PARTY(LOCUST,FLY,3)
	DELETE_FROM_PARTY(TERMITE,BUG,3)
ENDIF

IF(PLAYER0,GAME_TURN > 56000)
	ADD_TO_PARTY(LOCUST,FLY,8,0,ATTACK_ROOMS,0)
	ADD_TO_PARTY(TERMITE,BUG,8,0,ATTACK_ROOMS,0)
	DELETE_FROM_PARTY(LOCUST,FLY,5)
	DELETE_FROM_PARTY(TERMITE,BUG,5)
ENDIF


IF(PLAYER0,GAME_TURN > 2000)
	IF(PLAYER2,DUNGEON_DESTROYED == 0)
		ADD_PARTY_TO_LEVEL(PLAYER6,LOCUST,PLAYER2,2)
		ADD_CREATURE_TO_LEVEL(PLAYER6,FLY,PLAYER2,2,1,0)
	ENDIF
	SET_TIMER(PLAYER0,TIMER0)
ENDIF

IF(PLAYER0,TIMER0 > 12000)
	IF(PLAYER_GOOD,FLAG3 == 0)
		IF(PLAYER2,DUNGEON_DESTROYED == 0)
			NEXT_COMMAND_REUSABLE
			ADD_PARTY_TO_LEVEL(PLAYER6,LOCUST,PLAYER2,2)
			NEXT_COMMAND_REUSABLE
			ADD_CREATURE_TO_LEVEL(PLAYER6,FLY,PLAYER2,3,2,0)
		ENDIF
	ENDIF
	
	IF(PLAYER0,GAME_TURN > 24000)
		IF(PLAYER1,DUNGEON_DESTROYED == 0)
			NEXT_COMMAND_REUSABLE
			ADD_PARTY_TO_LEVEL(PLAYER4,TERMITE,PLAYER1,2)
		ENDIF
		IF(PLAYER2,DUNGEON_DESTROYED == 0)
			NEXT_COMMAND_REUSABLE
			ADD_CREATURE_TO_LEVEL(PLAYER6,FLY,PLAYER2,3,2,0)
		ENDIF
	ENDIF
	
	IF(PLAYER0,GAME_TURN > 38000)
		IF(PLAYER1,DUNGEON_DESTROYED == 0)
			NEXT_COMMAND_REUSABLE
			ADD_PARTY_TO_LEVEL(PLAYER4,SPIDER,PLAYER1,1)
			NEXT_COMMAND_REUSABLE
			ADD_CREATURE_TO_LEVEL(PLAYER4,MAIDEN,PLAYER1,1,6,0)
		ENDIF
	ENDIF
	
	IF(PLAYER0,GAME_TURN > 60000)
		IF(PLAYER2,DUNGEON_DESTROYED == 0)
			NEXT_COMMAND_REUSABLE
			ADD_CREATURE_TO_LEVEL(PLAYER6,TENTACLE,PLAYER2,3,6,0)
			NEXT_COMMAND_REUSABLE
			ADD_CREATURE_TO_LEVEL(PLAYER6,TENTACLE,PLAYER2,6,3,0)
		ENDIF
	ENDIF
	
	IF(PLAYER0,GAME_TURN > 76000)
		IF(PLAYER2,DUNGEON_DESTROYED == 0)
			NEXT_COMMAND_REUSABLE
			ADD_PARTY_TO_LEVEL(PLAYER6,LOCUST,PLAYER2,12)
		ENDIF
		IF(PLAYER1,DUNGEON_DESTROYED == 0)
			NEXT_COMMAND_REUSABLE
			ADD_PARTY_TO_LEVEL(PLAYER4,TERMITE,PLAYER1,12)
		ENDIF
	ENDIF
	
	IF(PLAYER_GOOD,FLAG3 == 0)
		IF(PLAYER_GOOD,FLAG3 == 0)
			NEXT_COMMAND_REUSABLE
			SET_TIMER(PLAYER0,TIMER0)
		ENDIF
	ENDIF
	
ENDIF



	REM -- Harass parties that start super late. The player should have eliminated one or more keepers by this point.

IF(PLAYER0,GAME_TURN > 60000)
	SET_TIMER(PLAYER_GOOD,TIMER3)
ENDIF

IF(PLAYER_GOOD,TIMER3 > 12000)
	IF(PLAYER_GOOD,BRIDGE > 0)
		NEXT_COMMAND_REUSABLE
		RANDOMISE_FLAG(PLAYER_GOOD,FLAG4,4)
	ENDIF

	IF(PLAYER_GOOD,FLAG4 == 1)
		NEXT_COMMAND_REUSABLE
		ADD_CREATURE_TO_LEVEL(PLAYER_GOOD,DARK_MISTRESS,-3,1,8,1000)
		NEXT_COMMAND_REUSABLE
		ADD_CREATURE_TO_LEVEL(PLAYER_GOOD,DARK_MISTRESS,-3,2,6,300)
		NEXT_COMMAND_REUSABLE
		ADD_CREATURE_TO_LEVEL(PLAYER_GOOD,DARK_MISTRESS,-3,4,5,100)
	ENDIF

	IF(PLAYER_GOOD,FLAG4 == 2)
		NEXT_COMMAND_REUSABLE
		ADD_CREATURE_TO_LEVEL(PLAYER_GOOD,DRAGON,-3,4,7,500)
	ENDIF

	IF(PLAYER_GOOD,FLAG4 == 3)
		NEXT_COMMAND_REUSABLE
		ADD_CREATURE_TO_LEVEL(PLAYER_GOOD,HORNY,-3,1,7,1000)
		NEXT_COMMAND_REUSABLE
		ADD_CREATURE_TO_LEVEL(PLAYER_GOOD,HELL_HOUND,-3,2,7,333)
	ENDIF

	IF(PLAYER_GOOD,FLAG4 == 4)
		NEXT_COMMAND_REUSABLE
		ADD_CREATURE_TO_LEVEL(PLAYER_GOOD,ORC,-3,4,7,300)
		NEXT_COMMAND_REUSABLE
		ADD_CREATURE_TO_LEVEL(PLAYER_GOOD,TROLL,-3,4,7,200)
	ENDIF
	
	IF(PLAYER_GOOD,GAME_TURN > 0)
		NEXT_COMMAND_REUSABLE
		SET_TIMER(PLAYER_GOOD,TIMER3)
	ENDIF
ENDIF


	REM -- Eat big, shit big.

SET_BOX_TOOLTIP_ID(0,14)
REM "High Protein Diet: Giants gain Fart at level 8. Barbarians at level 10. Both require double the amount of chickens to satiate."

IF(PLAYER0,BOX0_ACTIVATED == 1)
	PLAY_MESSAGE(PLAYER0,SPEECH,80)
	SET_CREATURE_INSTANCE(BARBARIAN,3,FART,10)
	SET_CREATURE_INSTANCE(GIANT,3,FART,8)
	SET_CREATURE_CONFIGURATION(BARBARIAN,HUNGERFILL,6)
	SET_CREATURE_CONFIGURATION(GIANT,HUNGERFILL,6)
ENDIF



	REM -- Custom box in middle of map.

HIDE_HERO_GATE(-2,1)
SET_BOX_TOOLTIP_ID(1,15) 
REM "Resurrect Hero: Breathe new life into the Hero entombed here."

IF(PLAYER0,BOX1_ACTIVATED == 1)
	USE_POWER_AT_POS(PLAYER0,211,151,POWER_LIGHTNING,9,1)
	PLAY_MESSAGE(PLAYER0,SPEECH,80)
	SET_TIMER(PLAYER0,TIMER2)
	ZOOM_TO_LOCATION(PLAYER0,LAST_EVENT)
ENDIF

IF(PLAYER0,TIMER2 > 25)
	PLAY_MESSAGE(PLAYER0,SOUND,927)
	CREATE_EFFECT_AT_POS(EFFECT_DIRT_RUBBLE_BIG,212,151,2)
	CREATE_EFFECT_AT_POS(EFFECT_DIRT_RUBBLE_BIG,210,152,2)
	CREATE_EFFECT_AT_POS(EFFECT_DIRT_RUBBLE_BIG,212,153,2)
	CREATE_EFFECT_AT_POS(EFFECT_DIRT_RUBBLE_BIG,211,154,2)
	CHANGE_SLAB_TYPE(70,50,PATH,MATCH)
	RANDOMISE_FLAG(PLAYER0,FLAG1,4)
ENDIF
	
IF(PLAYER0,FLAG1 == 1)
	DISPLAY_MESSAGE(16,ARCHER)
		REM "I use antlers in all of my decorating!"
	ADD_CREATURE_TO_LEVEL(PLAYER0,ARCHER,-2,1,10,2000,NONE)
ENDIF
	
IF(PLAYER0,FLAG1 == 2)
	DISPLAY_MESSAGE(17,GIANT)
		REM "Again you have made me unleash my dogs of war!"
	ADD_CREATURE_TO_LEVEL(PLAYER0,GIANT,-2,1,10,2000,NONE)
ENDIF

IF(PLAYER0,FLAG1 == 3)
	DISPLAY_MESSAGE(18,BARBARIAN)
		REM "Grant me revenge!"
	ADD_CREATURE_TO_LEVEL(PLAYER0,BARBARIAN,-2,1,10,2000,NONE)
ENDIF

IF(PLAYER0,FLAG1 == 4)
	DISPLAY_MESSAGE(19,DWARFA)
		REM "There is yet one Dwarf who still draws breath!
	ADD_CREATURE_TO_LEVEL(PLAYER0,DWARFA,-2,1,10,2000,NONE)
ENDIF



	REM -- Custom boxes that raise player creature entry level.
	REM -- The map has so much fighting going on it's only a matter of time before the player loses creatures, and if they lose more than a few, they get too far behind.
	REM -- The boxes reward the player for aggressively exploring and taking risks, and mitigates the need to save/load for every casualty or suboptimal battle.

SET_BOX_TOOLTIP_ID(2,24)
	REM "Veterancy: Fresh recruits arrive two experience levels higher."

IF(PLAYER0,BOX2_ACTIVATED == 1)
	PLAY_MESSAGE(PLAYER0,SPEECH,80)
	CREATURE_ENTRANCE_LEVEL(PLAYER0,3)
ENDIF
IF(PLAYER0,BOX2_ACTIVATED == 2)
	PLAY_MESSAGE(PLAYER0,SPEECH,80)
	CREATURE_ENTRANCE_LEVEL(PLAYER0,5)
ENDIF
IF(PLAYER0,BOX2_ACTIVATED == 3)
	PLAY_MESSAGE(PLAYER0,SPEECH,80)
	CREATURE_ENTRANCE_LEVEL(PLAYER0,7)
ENDIF



	REM -- Adjutant 'arrests' Lord Pelzig. It's just story bullshit.

IF_SLAB_OWNER(52,21,PLAYER0)
	IF_SLAB_TYPE(53,21,DOOR_MAGIC)
		DISPLAY_INFORMATION(10,3)
			REM "ADJUTANT: Lord Pelzig, hear me! You are hereby accused of treasonous actions toward the Empire; associating with the Underdark; pact-making with demons; failing to maintain pests on and around castle grounds, and, most heinously, the illegal domestication of Tentacles. As an acting Adjutant of the Avatar, I am to arrest you and take you before him so you may plead for his mercy!"
	ENDIF
ENDIF



	REM -- Say some shit to acknowledge when enemy bug keepers are killed.
	REM -- Convert dead keepers minions to BLACK so that the remaining troops converge on the player.
	
IF(PLAYER1,DUNGEON_DESTROYED == 1)
	NEXT_COMMAND_REUSABLE
	CHANGE_CREATURE_OWNER(PLAYER1,ANY_CREATURE,ANYWHERE,PLAYER5)
	NEXT_COMMAND_REUSABLE
	CHANGE_CREATURE_OWNER(PLAYER4,ANY_CREATURE,ANYWHERE,PLAYER5)
	ADD_TO_FLAG(PLAYER_GOOD,FLAG1,1)
ENDIF

IF(PLAYER2,DUNGEON_DESTROYED == 1)
	NEXT_COMMAND_REUSABLE
	CHANGE_CREATURE_OWNER(PLAYER2,ANY_CREATURE,ANYWHERE,PLAYER5)
	NEXT_COMMAND_REUSABLE
	CHANGE_CREATURE_OWNER(PLAYER6,ANY_CREATURE,ANYWHERE,PLAYER5)
	ADD_TO_FLAG(PLAYER_GOOD,FLAG1,1)
ENDIF

IF(PLAYER_GOOD,FLAG1 == 1)
	DISPLAY_MESSAGE(20,KNIGHT)
		REM "This detestable hive shall trouble us no more."
ENDIF
IF(PLAYER_GOOD,FLAG1 == 2)
	DISPLAY_MESSAGE(21,KNIGHT)
		REM "Perhaps now we can pursue our true quarry."
ENDIF



	REM -- Win condition.
	
IF(PLAYER_GOOD,BLACKKNIGHT == 0)
	ZOOM_TO_LOCATION(PLAYER0,LAST_DEATH_EVENT[PLAYER_GOOD])
	DISPLAY_INFORMATION(13,LAST_DEATH_EVENT[PLAYER_GOOD])
		REM "ADJUTANT: Pelzig falls! The righteous judgement of the Avatar has been administered!"
	IF(PLAYER_GOOD,DUNGEON_DESTROYED == 1)
		WIN_GAME
	ENDIF
ENDIF



	REM -- Wildlife lair existence check.

REM 	PLAYER_GOOD,FLAG7 sequentially passes through each lair, counting the individual tiles and adding them to their respective PLAYER4,FLAG.
REM 	We increment PLAYER_GOOD,FLAG7 with each pass so lairs do not count themselves more than once per cycle.
REM 	At the end of the cycle, controlled by PLAYER5,TIMER0, we check the flags for each lair.
REM		Any lair with less than a few tiles remaining is 'destroyed', and the respective flag is set to 50, stopping further creature spawns.
REM		Any lair with more than a few tiles resets its flag back to 0, and a new cycle begins.

IF(PLAYER0,GAME_TURN > 300)
	SET_TIMER(PLAYER5,TIMER0)
ENDIF

IF(PLAYER5,TIMER0 > 100)
	IF(PLAYER4,FLAG0 <= 3)
		SET_FLAG(PLAYER4,FLAG0,50)
	ENDIF
	IF(PLAYER4,FLAG0 >= 5)
		IF(PLAYER4,FLAG0 != 50)
			NEXT_COMMAND_REUSABLE
			SET_FLAG(PLAYER4,FLAG0,0)
		ENDIF
	ENDIF
	
	IF(PLAYER4,FLAG1 <= 3)
		SET_FLAG(PLAYER4,FLAG1,50)
	ENDIF
	IF(PLAYER4,FLAG1 != 50)
		IF(PLAYER4,FLAG1 >= 4)
			NEXT_COMMAND_REUSABLE
			SET_FLAG(PLAYER4,FLAG1,0)
		ENDIF
	ENDIF

	IF(PLAYER4,FLAG2 <= 3)
		SET_FLAG(PLAYER4,FLAG2,50)
	ENDIF
	IF(PLAYER4,FLAG2 != 50)
		IF(PLAYER4,FLAG2 >= 4)
			NEXT_COMMAND_REUSABLE
			SET_FLAG(PLAYER4,FLAG2,0)
		ENDIF
	ENDIF
	
	IF(PLAYER4,FLAG3 <= 3)
		SET_FLAG(PLAYER4,FLAG3,50)
	ENDIF
	IF(PLAYER4,FLAG3 != 50)
		IF(PLAYER4,FLAG3 >= 4)
			NEXT_COMMAND_REUSABLE
			SET_FLAG(PLAYER4,FLAG3,0)
		ENDIF
	ENDIF
	
	IF(PLAYER4,FLAG4 <= 3)
		SET_FLAG(PLAYER4,FLAG4,50)
	ENDIF
	IF(PLAYER4,FLAG4 != 50)
		IF(PLAYER4,FLAG4 >= 4)
			NEXT_COMMAND_REUSABLE
			SET_FLAG(PLAYER4,FLAG4,0)
		ENDIF
	ENDIF
	
	IF(PLAYER4,FLAG5 <= 3)
		SET_FLAG(PLAYER4,FLAG5,50)
	ENDIF
	IF(PLAYER4,FLAG5 != 50)
		IF(PLAYER4,FLAG5 >= 4)
			NEXT_COMMAND_REUSABLE
			SET_FLAG(PLAYER4,FLAG5,0)
		ENDIF
	ENDIF
	
	IF(PLAYER4,FLAG6 <= 3)
		SET_FLAG(PLAYER4,FLAG6,50)
	ENDIF
	IF(PLAYER4,FLAG6 != 50)
		IF(PLAYER4,FLAG6 >= 4)
			NEXT_COMMAND_REUSABLE
			SET_FLAG(PLAYER4,FLAG6,0)
		ENDIF
	ENDIF
	
	IF(PLAYER4,FLAG7 <= 3)
		SET_FLAG(PLAYER4,FLAG7,50)
	ENDIF
	IF(PLAYER4,FLAG7 != 50)
		IF(PLAYER4,FLAG7 >= 4)
			NEXT_COMMAND_REUSABLE
			SET_FLAG(PLAYER4,FLAG7,0)
		ENDIF
	ENDIF
	
	IF(PLAYER5,TIMER0 > 100)
		NEXT_COMMAND_REUSABLE
		SET_FLAG(PLAYER_GOOD,FLAG7,0)
		NEXT_COMMAND_REUSABLE
		SET_TIMER(PLAYER5,TIMER0)
	ENDIF
	
ENDIF



	REM -- NORTH-WEST FLY LAIR, AP1

IF(PLAYER_GOOD,FLAG7 == 0)
	IF(PLAYER4,FLAG0 != 50)
		IF_SLAB_OWNER(28,38,PLAYER_GOOD)
			NEXT_COMMAND_REUSABLE
			ADD_TO_FLAG(PLAYER4,FLAG0,1)
		ENDIF
		IF_SLAB_OWNER(29,38,PLAYER_GOOD)
			NEXT_COMMAND_REUSABLE
			ADD_TO_FLAG(PLAYER4,FLAG0,1)
		ENDIF
		IF_SLAB_OWNER(32,38,PLAYER_GOOD)
			NEXT_COMMAND_REUSABLE
			ADD_TO_FLAG(PLAYER4,FLAG0,1)
		ENDIF
		IF_SLAB_OWNER(27,39,PLAYER_GOOD)
			NEXT_COMMAND_REUSABLE
			ADD_TO_FLAG(PLAYER4,FLAG0,1)
		ENDIF
		IF_SLAB_OWNER(28,39,PLAYER_GOOD)
			NEXT_COMMAND_REUSABLE
			ADD_TO_FLAG(PLAYER4,FLAG0,1)
		ENDIF
		IF_SLAB_OWNER(29,39,PLAYER_GOOD)
			NEXT_COMMAND_REUSABLE
			ADD_TO_FLAG(PLAYER4,FLAG0,1)
		ENDIF
		IF_SLAB_OWNER(30,39,PLAYER_GOOD)
			NEXT_COMMAND_REUSABLE
			ADD_TO_FLAG(PLAYER4,FLAG0,1)
		ENDIF
		IF_SLAB_OWNER(31,39,PLAYER_GOOD)
			NEXT_COMMAND_REUSABLE
			ADD_TO_FLAG(PLAYER4,FLAG0,1)
		ENDIF
		IF_SLAB_OWNER(32,39,PLAYER_GOOD)
			NEXT_COMMAND_REUSABLE
			ADD_TO_FLAG(PLAYER4,FLAG0,1)
		ENDIF
		IF_SLAB_OWNER(33,39,PLAYER_GOOD)
			NEXT_COMMAND_REUSABLE
			ADD_TO_FLAG(PLAYER4,FLAG0,1)
		ENDIF
		IF_SLAB_OWNER(28,40,PLAYER_GOOD)
			NEXT_COMMAND_REUSABLE
			ADD_TO_FLAG(PLAYER4,FLAG0,1)
		ENDIF
		IF_SLAB_OWNER(29,40,PLAYER_GOOD)
			NEXT_COMMAND_REUSABLE
			ADD_TO_FLAG(PLAYER4,FLAG0,1)
		ENDIF
		IF_SLAB_OWNER(31,40,PLAYER_GOOD)
			NEXT_COMMAND_REUSABLE
			ADD_TO_FLAG(PLAYER4,FLAG0,1)
		ENDIF
		IF_SLAB_OWNER(32,40,PLAYER_GOOD)
			NEXT_COMMAND_REUSABLE
			ADD_TO_FLAG(PLAYER4,FLAG0,1)
		ENDIF
		IF_SLAB_OWNER(33,40,PLAYER_GOOD)
			NEXT_COMMAND_REUSABLE
			ADD_TO_FLAG(PLAYER4,FLAG0,1)
		ENDIF
	ENDIF
	
	IF(PLAYER_GOOD,FLAG3 == 0)
		IF(PLAYER_GOOD,FLAG7 == 0)
			NEXT_COMMAND_REUSABLE
			ADD_TO_FLAG(PLAYER_GOOD,FLAG7,1)
		ENDIF
	ENDIF
ENDIF



	REM -- CENTRAL-EAST FLY LAIR, AP2

IF(PLAYER_GOOD,FLAG7 == 1)
	IF(PLAYER4,FLAG1 != 50)
		IF_SLAB_OWNER(77,42,PLAYER_GOOD)
			NEXT_COMMAND_REUSABLE
			ADD_TO_FLAG(PLAYER4,FLAG1,1)
		ENDIF
		IF_SLAB_OWNER(77,43,PLAYER_GOOD)
			NEXT_COMMAND_REUSABLE
			ADD_TO_FLAG(PLAYER4,FLAG1,1)
		ENDIF
		IF_SLAB_OWNER(78,43,PLAYER_GOOD)
			NEXT_COMMAND_REUSABLE
			ADD_TO_FLAG(PLAYER4,FLAG1,1)
		ENDIF
		IF_SLAB_OWNER(76,44,PLAYER_GOOD)
			NEXT_COMMAND_REUSABLE
			ADD_TO_FLAG(PLAYER4,FLAG1,1)
		ENDIF
		IF_SLAB_OWNER(77,44,PLAYER_GOOD)
			NEXT_COMMAND_REUSABLE
			ADD_TO_FLAG(PLAYER4,FLAG1,1)
		ENDIF
		IF_SLAB_OWNER(78,44,PLAYER_GOOD)
			NEXT_COMMAND_REUSABLE
			ADD_TO_FLAG(PLAYER4,FLAG1,1)
		ENDIF
		IF_SLAB_OWNER(79,44,PLAYER_GOOD)
			NEXT_COMMAND_REUSABLE
			ADD_TO_FLAG(PLAYER4,FLAG1,1)
		ENDIF
		IF_SLAB_OWNER(75,45,PLAYER_GOOD)
			NEXT_COMMAND_REUSABLE
			ADD_TO_FLAG(PLAYER4,FLAG1,1)
		ENDIF
		IF_SLAB_OWNER(76,45,PLAYER_GOOD)
			NEXT_COMMAND_REUSABLE
			ADD_TO_FLAG(PLAYER4,FLAG1,1)
		ENDIF
		IF_SLAB_OWNER(77,45,PLAYER_GOOD)
			NEXT_COMMAND_REUSABLE
			ADD_TO_FLAG(PLAYER4,FLAG1,1)
		ENDIF
		IF_SLAB_OWNER(75,46,PLAYER_GOOD)
			NEXT_COMMAND_REUSABLE
			ADD_TO_FLAG(PLAYER4,FLAG1,1)
		ENDIF
		IF_SLAB_OWNER(76,46,PLAYER_GOOD)
			NEXT_COMMAND_REUSABLE
			ADD_TO_FLAG(PLAYER4,FLAG1,1)
		ENDIF
		IF_SLAB_OWNER(76,47,PLAYER_GOOD)
			NEXT_COMMAND_REUSABLE
			ADD_TO_FLAG(PLAYER4,FLAG1,1)
		ENDIF
		IF_SLAB_OWNER(77,47,PLAYER_GOOD)
			NEXT_COMMAND_REUSABLE
			ADD_TO_FLAG(PLAYER4,FLAG1,1)
		ENDIF
	ENDIF
	
	IF(PLAYER_GOOD,FLAG3 == 0)
		IF(PLAYER_GOOD,FLAG7 == 1)
			NEXT_COMMAND_REUSABLE
			ADD_TO_FLAG(PLAYER_GOOD,FLAG7,1)
		ENDIF
	ENDIF
ENDIF



	REM -- CENTRAL-SOUTH FLY LAIR, AP3

IF(PLAYER_GOOD,FLAG7 == 2)
	IF(PLAYER4,FLAG2 != 50)
		IF_SLAB_OWNER(49,78,PLAYER_GOOD)
			NEXT_COMMAND_REUSABLE
			ADD_TO_FLAG(PLAYER4,FLAG2,1)
		ENDIF
		IF_SLAB_OWNER(50,78,PLAYER_GOOD)
			NEXT_COMMAND_REUSABLE
			ADD_TO_FLAG(PLAYER4,FLAG2,1)
		ENDIF
		IF_SLAB_OWNER(47,79,PLAYER_GOOD)
			NEXT_COMMAND_REUSABLE
			ADD_TO_FLAG(PLAYER4,FLAG2,1)
		ENDIF
		IF_SLAB_OWNER(48,79,PLAYER_GOOD)
			NEXT_COMMAND_REUSABLE
			ADD_TO_FLAG(PLAYER4,FLAG2,1)
		ENDIF
		IF_SLAB_OWNER(49,79,PLAYER_GOOD)
			NEXT_COMMAND_REUSABLE
			ADD_TO_FLAG(PLAYER4,FLAG2,1)
		ENDIF
		IF_SLAB_OWNER(50,79,PLAYER_GOOD)
			NEXT_COMMAND_REUSABLE
			ADD_TO_FLAG(PLAYER4,FLAG2,1)
		ENDIF
		IF_SLAB_OWNER(51,79,PLAYER_GOOD)
			NEXT_COMMAND_REUSABLE
			ADD_TO_FLAG(PLAYER4,FLAG2,1)
		ENDIF
		IF_SLAB_OWNER(48,80,PLAYER_GOOD)
			NEXT_COMMAND_REUSABLE
			ADD_TO_FLAG(PLAYER4,FLAG2,1)
		ENDIF
		IF_SLAB_OWNER(49,80,PLAYER_GOOD)
			NEXT_COMMAND_REUSABLE
			ADD_TO_FLAG(PLAYER4,FLAG2,1)
		ENDIF
		IF_SLAB_OWNER(50,80,PLAYER_GOOD)
			NEXT_COMMAND_REUSABLE
			ADD_TO_FLAG(PLAYER4,FLAG2,1)
		ENDIF
		IF_SLAB_OWNER(51,80,PLAYER_GOOD)
			NEXT_COMMAND_REUSABLE
			ADD_TO_FLAG(PLAYER4,FLAG2,1)
		ENDIF
		IF_SLAB_OWNER(52,80,PLAYER_GOOD)
			NEXT_COMMAND_REUSABLE
			ADD_TO_FLAG(PLAYER4,FLAG2,1)
		ENDIF
		IF_SLAB_OWNER(50,81,PLAYER_GOOD)
			NEXT_COMMAND_REUSABLE
			ADD_TO_FLAG(PLAYER4,FLAG2,1)
		ENDIF
	ENDIF
	
	IF(PLAYER_GOOD,FLAG3 == 0)
		IF(PLAYER_GOOD,FLAG7 == 2)
			NEXT_COMMAND_REUSABLE
			ADD_TO_FLAG(PLAYER_GOOD,FLAG7,1)
		ENDIF
	ENDIF
ENDIF



	REM -- SOUTH-EAST FLY LAIR, AP4

IF(PLAYER_GOOD,FLAG7 == 3)
	IF(PLAYER4,FLAG3 != 50)
		IF_SLAB_OWNER(84,54,PLAYER_GOOD)
			NEXT_COMMAND_REUSABLE
			ADD_TO_FLAG(PLAYER4,FLAG3,1)
		ENDIF
		IF_SLAB_OWNER(85,54,PLAYER_GOOD)
			NEXT_COMMAND_REUSABLE
			ADD_TO_FLAG(PLAYER4,FLAG3,1)
		ENDIF
		IF_SLAB_OWNER(83,55,PLAYER_GOOD)
			NEXT_COMMAND_REUSABLE
			ADD_TO_FLAG(PLAYER4,FLAG3,1)
		ENDIF
		IF_SLAB_OWNER(84,55,PLAYER_GOOD)
			NEXT_COMMAND_REUSABLE
			ADD_TO_FLAG(PLAYER4,FLAG3,1)
		ENDIF
		IF_SLAB_OWNER(85,55,PLAYER_GOOD)
			NEXT_COMMAND_REUSABLE
			ADD_TO_FLAG(PLAYER4,FLAG3,1)
		ENDIF
		IF_SLAB_OWNER(86,55,PLAYER_GOOD)
			NEXT_COMMAND_REUSABLE
			ADD_TO_FLAG(PLAYER4,FLAG3,1)
		ENDIF
		IF_SLAB_OWNER(82,56,PLAYER_GOOD)
			NEXT_COMMAND_REUSABLE
			ADD_TO_FLAG(PLAYER4,FLAG3,1)
		ENDIF
		IF_SLAB_OWNER(83,56,PLAYER_GOOD)
			NEXT_COMMAND_REUSABLE
			ADD_TO_FLAG(PLAYER4,FLAG3,1)
		ENDIF
		IF_SLAB_OWNER(84,56,PLAYER_GOOD)
			NEXT_COMMAND_REUSABLE
			ADD_TO_FLAG(PLAYER4,FLAG3,1)
		ENDIF
		IF_SLAB_OWNER(85,56,PLAYER_GOOD)
			NEXT_COMMAND_REUSABLE
			ADD_TO_FLAG(PLAYER4,FLAG3,1)
		ENDIF
		IF_SLAB_OWNER(86,56,PLAYER_GOOD)
			NEXT_COMMAND_REUSABLE
			ADD_TO_FLAG(PLAYER4,FLAG3,1)
		ENDIF
		IF_SLAB_OWNER(82,57,PLAYER_GOOD)
			NEXT_COMMAND_REUSABLE
			ADD_TO_FLAG(PLAYER4,FLAG3,1)
		ENDIF
		IF_SLAB_OWNER(83,57,PLAYER_GOOD)
			NEXT_COMMAND_REUSABLE
			ADD_TO_FLAG(PLAYER4,FLAG3,1)
		ENDIF
		IF_SLAB_OWNER(84,57,PLAYER_GOOD)
			NEXT_COMMAND_REUSABLE
			ADD_TO_FLAG(PLAYER4,FLAG3,1)
		ENDIF
		IF_SLAB_OWNER(85,57,PLAYER_GOOD)
			NEXT_COMMAND_REUSABLE
			ADD_TO_FLAG(PLAYER4,FLAG3,1)
		ENDIF
		IF_SLAB_OWNER(83,58,PLAYER_GOOD)
			NEXT_COMMAND_REUSABLE
			ADD_TO_FLAG(PLAYER4,FLAG3,1)
		ENDIF
		IF_SLAB_OWNER(84,58,PLAYER_GOOD)
			NEXT_COMMAND_REUSABLE
			ADD_TO_FLAG(PLAYER4,FLAG3,1)
		ENDIF
	ENDIF
	
	IF(PLAYER_GOOD,FLAG3 == 0)
		IF(PLAYER_GOOD,FLAG7 == 3)
			NEXT_COMMAND_REUSABLE
			ADD_TO_FLAG(PLAYER_GOOD,FLAG7,1)
		ENDIF
	ENDIF
ENDIF



	REM -- CENTRAL FLY LAIR, AP5

IF(PLAYER_GOOD,FLAG7 == 4)
	IF(PLAYER4,FLAG4 != 50)
		IF_SLAB_OWNER(54,52,PLAYER_GOOD)
			NEXT_COMMAND_REUSABLE
			ADD_TO_FLAG(PLAYER4,FLAG4,1)
		ENDIF
		IF_SLAB_OWNER(55,52,PLAYER_GOOD)
			NEXT_COMMAND_REUSABLE
			ADD_TO_FLAG(PLAYER4,FLAG4,1)
		ENDIF
		IF_SLAB_OWNER(53,53,PLAYER_GOOD)
			NEXT_COMMAND_REUSABLE
			ADD_TO_FLAG(PLAYER4,FLAG4,1)
		ENDIF
		IF_SLAB_OWNER(54,53,PLAYER_GOOD)
			NEXT_COMMAND_REUSABLE
			ADD_TO_FLAG(PLAYER4,FLAG4,1)
		ENDIF
		IF_SLAB_OWNER(55,53,PLAYER_GOOD)
			NEXT_COMMAND_REUSABLE
			ADD_TO_FLAG(PLAYER4,FLAG4,1)
		ENDIF
		IF_SLAB_OWNER(56,53,PLAYER_GOOD)
			NEXT_COMMAND_REUSABLE
			ADD_TO_FLAG(PLAYER4,FLAG4,1)
		ENDIF
		IF_SLAB_OWNER(53,54,PLAYER_GOOD)
			NEXT_COMMAND_REUSABLE
			ADD_TO_FLAG(PLAYER4,FLAG4,1)
		ENDIF
		IF_SLAB_OWNER(54,54,PLAYER_GOOD)
			NEXT_COMMAND_REUSABLE
			ADD_TO_FLAG(PLAYER4,FLAG4,1)
		ENDIF
		IF_SLAB_OWNER(55,54,PLAYER_GOOD)
			NEXT_COMMAND_REUSABLE
			ADD_TO_FLAG(PLAYER4,FLAG4,1)
		ENDIF
		IF_SLAB_OWNER(54,55,PLAYER_GOOD)
			NEXT_COMMAND_REUSABLE
			ADD_TO_FLAG(PLAYER4,FLAG4,1)
		ENDIF
	ENDIF
	
	IF(PLAYER_GOOD,FLAG3 == 0)
		IF(PLAYER_GOOD,FLAG7 == 4)
			NEXT_COMMAND_REUSABLE
			ADD_TO_FLAG(PLAYER_GOOD,FLAG7,1)
		ENDIF
	ENDIF
ENDIF



	REM -- CENTRAL TENTACLE LAIR, AP6

IF(PLAYER_GOOD,FLAG7 == 5)
	IF(PLAYER4,FLAG5 != 50)
		IF_SLAB_OWNER(54,45,PLAYER_GOOD)
			NEXT_COMMAND_REUSABLE
			ADD_TO_FLAG(PLAYER4,FLAG5,1)
		ENDIF
		IF_SLAB_OWNER(55,45,PLAYER_GOOD)
			NEXT_COMMAND_REUSABLE
			ADD_TO_FLAG(PLAYER4,FLAG5,1)
		ENDIF
		IF_SLAB_OWNER(52,46,PLAYER_GOOD)
			NEXT_COMMAND_REUSABLE
			ADD_TO_FLAG(PLAYER4,FLAG5,1)
		ENDIF
		IF_SLAB_OWNER(53,46,PLAYER_GOOD)
			NEXT_COMMAND_REUSABLE
			ADD_TO_FLAG(PLAYER4,FLAG5,1)
		ENDIF
		IF_SLAB_OWNER(54,46,PLAYER_GOOD)
			NEXT_COMMAND_REUSABLE
			ADD_TO_FLAG(PLAYER4,FLAG5,1)
		ENDIF
		IF_SLAB_OWNER(55,46,PLAYER_GOOD)
			NEXT_COMMAND_REUSABLE
			ADD_TO_FLAG(PLAYER4,FLAG5,1)
		ENDIF
		IF_SLAB_OWNER(56,46,PLAYER_GOOD)
			NEXT_COMMAND_REUSABLE
			ADD_TO_FLAG(PLAYER4,FLAG5,1)
		ENDIF
		IF_SLAB_OWNER(51,47,PLAYER_GOOD)
			NEXT_COMMAND_REUSABLE
			ADD_TO_FLAG(PLAYER4,FLAG5,1)
		ENDIF
		IF_SLAB_OWNER(52,47,PLAYER_GOOD)
			NEXT_COMMAND_REUSABLE
			ADD_TO_FLAG(PLAYER4,FLAG5,1)
		ENDIF
		IF_SLAB_OWNER(53,47,PLAYER_GOOD)
			NEXT_COMMAND_REUSABLE
			ADD_TO_FLAG(PLAYER4,FLAG5,1)
		ENDIF
		IF_SLAB_OWNER(54,47,PLAYER_GOOD)
			NEXT_COMMAND_REUSABLE
			ADD_TO_FLAG(PLAYER4,FLAG5,1)
		ENDIF
		IF_SLAB_OWNER(52,48,PLAYER_GOOD)
			NEXT_COMMAND_REUSABLE
			ADD_TO_FLAG(PLAYER4,FLAG5,1)
		ENDIF
		IF_SLAB_OWNER(53,48,PLAYER_GOOD)
			NEXT_COMMAND_REUSABLE
			ADD_TO_FLAG(PLAYER4,FLAG5,1)
		ENDIF
	ENDIF
	
	IF(PLAYER_GOOD,FLAG3 == 0)
		IF(PLAYER_GOOD,FLAG7 == 5)
			NEXT_COMMAND_REUSABLE
			ADD_TO_FLAG(PLAYER_GOOD,FLAG7,1)
		ENDIF
	ENDIF
ENDIF



	REM -- CENTRAL-NORTH TENTACLE LAIR, AP7

IF(PLAYER_GOOD,FLAG7 == 6)
	IF(PLAYER4,FLAG6 != 50)
		IF_SLAB_OWNER(67,25,PLAYER_GOOD)
			NEXT_COMMAND_REUSABLE
			ADD_TO_FLAG(PLAYER4,FLAG6,1)
		ENDIF
		IF_SLAB_OWNER(68,25,PLAYER_GOOD)
			NEXT_COMMAND_REUSABLE
			ADD_TO_FLAG(PLAYER4,FLAG6,1)
		ENDIF
		IF_SLAB_OWNER(66,26,PLAYER_GOOD)
			NEXT_COMMAND_REUSABLE
			ADD_TO_FLAG(PLAYER4,FLAG6,1)
		ENDIF
		IF_SLAB_OWNER(67,26,PLAYER_GOOD)
			NEXT_COMMAND_REUSABLE
			ADD_TO_FLAG(PLAYER4,FLAG6,1)
		ENDIF
		IF_SLAB_OWNER(68,26,PLAYER_GOOD)
			NEXT_COMMAND_REUSABLE
			ADD_TO_FLAG(PLAYER4,FLAG6,1)
		ENDIF
		IF_SLAB_OWNER(69,26,PLAYER_GOOD)
			NEXT_COMMAND_REUSABLE
			ADD_TO_FLAG(PLAYER4,FLAG6,1)
		ENDIF
		IF_SLAB_OWNER(66,27,PLAYER_GOOD)
			NEXT_COMMAND_REUSABLE
			ADD_TO_FLAG(PLAYER4,FLAG6,1)
		ENDIF
		IF_SLAB_OWNER(67,27,PLAYER_GOOD)
			NEXT_COMMAND_REUSABLE
			ADD_TO_FLAG(PLAYER4,FLAG6,1)
		ENDIF
		IF_SLAB_OWNER(68,27,PLAYER_GOOD)
			NEXT_COMMAND_REUSABLE
			ADD_TO_FLAG(PLAYER4,FLAG6,1)
		ENDIF
		IF_SLAB_OWNER(69,27,PLAYER_GOOD)
			NEXT_COMMAND_REUSABLE
			ADD_TO_FLAG(PLAYER4,FLAG6,1)
		ENDIF
		IF_SLAB_OWNER(67,28,PLAYER_GOOD)
			NEXT_COMMAND_REUSABLE
			ADD_TO_FLAG(PLAYER4,FLAG6,1)
		ENDIF
	ENDIF
	
	IF(PLAYER_GOOD,FLAG3 == 0)
		IF(PLAYER_GOOD,FLAG7 == 6)
			NEXT_COMMAND_REUSABLE
			ADD_TO_FLAG(PLAYER_GOOD,FLAG7,1)
		ENDIF
	ENDIF
ENDIF



	REM -- NORTH-EAST TENTACLE LAIR, AP8

IF(PLAYER_GOOD,FLAG7 == 7)
	IF(PLAYER4,FLAG7 != 50)
		IF_SLAB_OWNER(76,15,PLAYER_GOOD)
			NEXT_COMMAND_REUSABLE
			ADD_TO_FLAG(PLAYER4,FLAG7,1)
		ENDIF
		IF_SLAB_OWNER(75,16,PLAYER_GOOD)
			NEXT_COMMAND_REUSABLE
			ADD_TO_FLAG(PLAYER4,FLAG7,1)
		ENDIF
		IF_SLAB_OWNER(76,16,PLAYER_GOOD)
			NEXT_COMMAND_REUSABLE
			ADD_TO_FLAG(PLAYER4,FLAG7,1)
		ENDIF
		IF_SLAB_OWNER(77,16,PLAYER_GOOD)
			NEXT_COMMAND_REUSABLE
			ADD_TO_FLAG(PLAYER4,FLAG7,1)
		ENDIF
		IF_SLAB_OWNER(76,17,PLAYER_GOOD)
			NEXT_COMMAND_REUSABLE
			ADD_TO_FLAG(PLAYER4,FLAG7,1)
		ENDIF
		IF_SLAB_OWNER(77,17,PLAYER_GOOD)
			NEXT_COMMAND_REUSABLE
			ADD_TO_FLAG(PLAYER4,FLAG7,1)
		ENDIF
		IF_SLAB_OWNER(78,17,PLAYER_GOOD)
			NEXT_COMMAND_REUSABLE
			ADD_TO_FLAG(PLAYER4,FLAG7,1)
		ENDIF
		IF_SLAB_OWNER(75,18,PLAYER_GOOD)
			NEXT_COMMAND_REUSABLE
			ADD_TO_FLAG(PLAYER4,FLAG7,1)
		ENDIF
		IF_SLAB_OWNER(76,18,PLAYER_GOOD)
			NEXT_COMMAND_REUSABLE
			ADD_TO_FLAG(PLAYER4,FLAG7,1)
		ENDIF
		IF_SLAB_OWNER(77,18,PLAYER_GOOD)
			NEXT_COMMAND_REUSABLE
			ADD_TO_FLAG(PLAYER4,FLAG7,1)
		ENDIF
		IF_SLAB_OWNER(78,18,PLAYER_GOOD)
			NEXT_COMMAND_REUSABLE
			ADD_TO_FLAG(PLAYER4,FLAG7,1)
		ENDIF
		IF_SLAB_OWNER(76,19,PLAYER_GOOD)
			NEXT_COMMAND_REUSABLE
			ADD_TO_FLAG(PLAYER4,FLAG7,1)
		ENDIF
		IF_SLAB_OWNER(77,19,PLAYER_GOOD)
			NEXT_COMMAND_REUSABLE
			ADD_TO_FLAG(PLAYER4,FLAG7,1)
		ENDIF
		IF_SLAB_OWNER(78,19,PLAYER_GOOD)
			NEXT_COMMAND_REUSABLE
			ADD_TO_FLAG(PLAYER4,FLAG7,1)
		ENDIF
		IF_SLAB_OWNER(77,20,PLAYER_GOOD)
			NEXT_COMMAND_REUSABLE
			ADD_TO_FLAG(PLAYER4,FLAG7,1)
		ENDIF
	ENDIF
	
	IF(PLAYER_GOOD,FLAG3 == 0)
		IF(PLAYER_GOOD,FLAG7 == 7)
			NEXT_COMMAND_REUSABLE
			ADD_TO_FLAG(PLAYER_GOOD,FLAG7,1)
		ENDIF
	ENDIF
ENDIF



	REM -- Wildlife creature spawning.

HIDE_HERO_GATE(-4,1)
HIDE_HERO_GATE(-5,1)
HIDE_HERO_GATE(-6,1)
HIDE_HERO_GATE(-7,1)
HIDE_HERO_GATE(-8,1)
HIDE_HERO_GATE(-9,1)
HIDE_HERO_GATE(-10,1)
HIDE_HERO_GATE(-11,1)
	
CREATE_PARTY(FLY4)
	ADD_TO_PARTY(FLY4,FLY,4,0,DEFEND_LOCATION,0)
CREATE_PARTY(TEN2)
	ADD_TO_PARTY(TEN2,TENTACLE,2,0,DEFEND_LOCATION,0)

ADD_PARTY_TO_LEVEL(PLAYER5,FLY4,-4,DRAWFROM(3~7))
ADD_PARTY_TO_LEVEL(PLAYER5,FLY4,-5,DRAWFROM(3~7))
ADD_PARTY_TO_LEVEL(PLAYER5,FLY4,-6,DRAWFROM(3~7))
ADD_PARTY_TO_LEVEL(PLAYER5,FLY4,-7,DRAWFROM(3~7))
ADD_PARTY_TO_LEVEL(PLAYER5,FLY4,-8,DRAWFROM(3~7))
ADD_PARTY_TO_LEVEL(PLAYER5,TEN2,-9,DRAWFROM(3~7))
ADD_PARTY_TO_LEVEL(PLAYER5,TEN2,-10,DRAWFROM(3~5))
ADD_PARTY_TO_LEVEL(PLAYER5,TEN2,-11,DRAWFROM(3~5))

SET_TIMER(PLAYER_GOOD,TIMER0)
SET_TIMER(PLAYER_GOOD,TIMER1)

IF(PLAYER_GOOD,TIMER0 > 3000)
	IF(PLAYER4,FLAG0 != 50)
		NEXT_COMMAND_REUSABLE
		ADD_PARTY_TO_LEVEL(PLAYER5,FLY4,-4,1)
	ENDIF
	IF(PLAYER4,FLAG1 != 50)
		NEXT_COMMAND_REUSABLE
		ADD_PARTY_TO_LEVEL(PLAYER5,FLY4,-5,1)
	ENDIF
	IF(PLAYER4,FLAG2 != 50)
		NEXT_COMMAND_REUSABLE
		ADD_PARTY_TO_LEVEL(PLAYER5,FLY4,-6,1)
	ENDIF
	IF(PLAYER4,FLAG3 != 50)
		NEXT_COMMAND_REUSABLE
		ADD_PARTY_TO_LEVEL(PLAYER5,FLY4,-7,1)
	ENDIF
	IF(PLAYER4,FLAG4 != 50)
		NEXT_COMMAND_REUSABLE
		ADD_PARTY_TO_LEVEL(PLAYER5,FLY4,-8,1)
	ENDIF
	IF(PLAYER4,FLAG5 != 50)
		NEXT_COMMAND_REUSABLE
		ADD_PARTY_TO_LEVEL(PLAYER5,TEN2,-9,1)
	ENDIF
	IF(PLAYER4,FLAG6 != 50)
		NEXT_COMMAND_REUSABLE
		ADD_PARTY_TO_LEVEL(PLAYER5,TEN2,-10,1)
	ENDIF
	IF(PLAYER4,FLAG7 != 50)
		NEXT_COMMAND_REUSABLE
		ADD_PARTY_TO_LEVEL(PLAYER5,TEN2,-11,1)
	ENDIF
	IF(PLAYER_GOOD,FLAG6 == 0)
		NEXT_COMMAND_REUSABLE
		SET_TIMER(PLAYER_GOOD,TIMER0)
	ENDIF
ENDIF



	REM -- Wildlife creature levelling.

IF(PLAYER_GOOD,TIMER1 > 1000)
	IF(PLAYER5,TOTAL_CREATURES > 12)
		NEXT_COMMAND_REUSABLE
		LEVEL_UP_CREATURE(PLAYER5,FLY,ANYWHERE,2)
		NEXT_COMMAND_REUSABLE
		LEVEL_UP_CREATURE(PLAYER5,FLY,ANYWHERE,1)
		NEXT_COMMAND_REUSABLE
		LEVEL_UP_CREATURE(PLAYER5,TENTACLE,ANYWHERE,1)
	ENDIF
	IF(PLAYER5,TOTAL_CREATURES > 24)
		NEXT_COMMAND_REUSABLE
		LEVEL_UP_CREATURE(PLAYER5,FLY,ANYWHERE,2)
		NEXT_COMMAND_REUSABLE
		LEVEL_UP_CREATURE(PLAYER5,FLY,ANYWHERE,1)
		NEXT_COMMAND_REUSABLE
		LEVEL_UP_CREATURE(PLAYER5,TENTACLE,ANYWHERE,1)
	ENDIF
	IF(PLAYER5,TOTAL_CREATURES > 36)
		NEXT_COMMAND_REUSABLE
		LEVEL_UP_CREATURE(PLAYER5,FLY,ANYWHERE,2)
		NEXT_COMMAND_REUSABLE
		LEVEL_UP_CREATURE(PLAYER5,FLY,ANYWHERE,1)
		NEXT_COMMAND_REUSABLE
		LEVEL_UP_CREATURE(PLAYER5,TENTACLE,ANYWHERE,1)
	ENDIF
	IF(PLAYER5,TOTAL_CREATURES > 50)
		NEXT_COMMAND_REUSABLE
		LEVEL_UP_CREATURE(PLAYER5,FLY,ANYWHERE,2)
		NEXT_COMMAND_REUSABLE
		LEVEL_UP_CREATURE(PLAYER5,FLY,ANYWHERE,1)
		NEXT_COMMAND_REUSABLE
		LEVEL_UP_CREATURE(PLAYER5,TENTACLE,ANYWHERE,1)
	ENDIF
	IF(PLAYER_GOOD,FLAG6 == 0)
		NEXT_COMMAND_REUSABLE
		SET_TIMER(PLAYER_GOOD,TIMER1)
	ENDIF
ENDIF



	REM -- An over abundance of wildlife turns into periodic harass parties.
	REM -- Once a quantity near a lair grows large enough, convert to player_good and attack.

NEXT_COMMAND_REUSABLE
COUNT_CREATURES_AT_ACTION_POINT(17,PLAYER5,ANY_CREATURE,PLAYER5,FLAG0)
IF(PLAYER5,FLAG0 >= 16)
	NEXT_COMMAND_REUSABLE
	CHANGE_CREATURE_OWNER(PLAYER5,ANY_CREATURE,AT_ACTION_POINT[17],PLAYER_GOOD)
ENDIF

NEXT_COMMAND_REUSABLE
COUNT_CREATURES_AT_ACTION_POINT(18,PLAYER5,ANY_CREATURE,PLAYER5,FLAG1)
IF(PLAYER5,FLAG1 >= 16)
	NEXT_COMMAND_REUSABLE
	CHANGE_CREATURE_OWNER(PLAYER5,ANY_CREATURE,AT_ACTION_POINT[18],PLAYER_GOOD)
ENDIF
	
NEXT_COMMAND_REUSABLE
COUNT_CREATURES_AT_ACTION_POINT(19,PLAYER5,ANY_CREATURE,PLAYER5,FLAG2)
IF(PLAYER5,FLAG2 >= 16)
	NEXT_COMMAND_REUSABLE
	CHANGE_CREATURE_OWNER(PLAYER5,ANY_CREATURE,AT_ACTION_POINT[19],PLAYER_GOOD)
ENDIF
	
NEXT_COMMAND_REUSABLE
COUNT_CREATURES_AT_ACTION_POINT(20,PLAYER5,ANY_CREATURE,PLAYER5,FLAG3)
IF(PLAYER5,FLAG3 >= 16)
	NEXT_COMMAND_REUSABLE
	CHANGE_CREATURE_OWNER(PLAYER5,ANY_CREATURE,AT_ACTION_POINT[20],PLAYER_GOOD)
ENDIF

NEXT_COMMAND_REUSABLE
COUNT_CREATURES_AT_ACTION_POINT(21,PLAYER5,ANY_CREATURE,PLAYER5,FLAG4)
IF(PLAYER5,FLAG4 >= 16)
	NEXT_COMMAND_REUSABLE
	CHANGE_CREATURE_OWNER(PLAYER5,ANY_CREATURE,AT_ACTION_POINT[21],PLAYER_GOOD)
ENDIF



	REM -- Wildlife may move out of their respective action point ranges, so if overall wildlife quantity grows too much, convert.

IF(PLAYER5,TOTAL_CREATURES >= 60)
	IF(PLAYER5,TOTAL_CREATURES >= 50)
		NEXT_COMMAND_REUSABLE
		CHANGE_CREATURE_OWNER(PLAYER5,ANY_CREATURE,ANYWHERE,PLAYER_GOOD)
	ENDIF
ENDIF
	
	

	REM -- Somehow yellow ran out of fuckin' money after only 60k gameturns, so I guess I need to change their proverbial nappy!?
	
IF(PLAYER1,MONEY < 10000)
	NEXT_COMMAND_REUSABLE
	ADD_GOLD_TO_PLAYER(PLAYER1,10000)
ENDIF
IF(PLAYER2,MONEY < 10000)
	NEXT_COMMAND_REUSABLE
	ADD_GOLD_TO_PLAYER(PLAYER2,10000)
ENDIF
IF(PLAYER3,MONEY < 10000)
	NEXT_COMMAND_REUSABLE
	ADD_GOLD_TO_PLAYER(PLAYER3,10000)
ENDIF



	REM -- Notify player that they now have bridge, and hide nearby hero gate.
	
IF_AVAILABLE(PLAYER0,BRIDGE == 1)
	TUTORIAL_FLASH_BUTTON(18,750)
	HIDE_HERO_GATE(-3,1)
ENDIF


