
REM ### HERO GATE 1 - N LAKE
REM ### HERO GATE 2 - S LAKE
REM ### HERO GATE 3 - S/E HERO FORTRESS

REM ### ACTION POINT 1 - N/W HERO ROOM, CUSTOM SPECIAL BOX SPAWN

REM ### P0 FLAG0 - HERO PARTY SPAWN LOOP
REM ### P0 FLAG1 - CUSTOM SPECIAL SPAWN
REM ### P0 FLAG2 - LOBOTIMIZED CUSTOM SPECIAL, IF AI ACTIVATES
REM ### P0 FLAG3 - BANISH CUSTOM SPECIAL, IF AI ACTIVATES

REM ### P0 TIMER0 - HERO PARTY SPAWN LOOP
REM ### P0 TIMER1 - IMP RESPAWNER
REM ### P0 TIMER2 - GAME VICTORY CHECK
REM ### P0 TIMER3 - CUSTOM SPECIAL - LOBOTOMIZED

REM ### P1 TIMER1 - IMP RESPAWNER
REM ### P2 TIMER1 - IMP RESPAWNER
REM ### P3 TIMER1 - IMP RESPAWNER

REM ### INFO 1 - AI BOX USE NOTIFICATION
REM ### INFO 2 - AI BOX USE NOTIFICATION
REM ### INFO 3 - AVATAR SPAWN


REM ######################################################
REM ######################################################

LEVEL_VERSION(1)

SET_GENERATE_SPEED(600)

COMPUTER_PLAYER(PLAYER1,0)
COMPUTER_PLAYER(PLAYER2,0)
COMPUTER_PLAYER(PLAYER3,0)

START_MONEY(PLAYER0,5000)
START_MONEY(PLAYER1,5000)
START_MONEY(PLAYER2,5000)
START_MONEY(PLAYER3,5000)

ALLY_PLAYERS(PLAYER1,PLAYER2,1)
ALLY_PLAYERS(PLAYER1,PLAYER3,1)
ALLY_PLAYERS(PLAYER2,PLAYER3,1)

MAX_CREATURES(PLAYER0,18)
MAX_CREATURES(PLAYER1,25)
MAX_CREATURES(PLAYER2,25)
MAX_CREATURES(PLAYER3,25)


REM ######################################################
REM ######################################################

ADD_CREATURE_TO_POOL(FLY,15)
ADD_CREATURE_TO_POOL(BUG,15)
ADD_CREATURE_TO_POOL(SPIDER,15)
ADD_CREATURE_TO_POOL(SORCEROR,15)
ADD_CREATURE_TO_POOL(TROLL,15)
ADD_CREATURE_TO_POOL(DEMONSPAWN,15)
ADD_CREATURE_TO_POOL(DRAGON,8)
ADD_CREATURE_TO_POOL(BILE_DEMON,10)
ADD_CREATURE_TO_POOL(ORC,15)
ADD_CREATURE_TO_POOL(TENTACLE,15)
ADD_CREATURE_TO_POOL(DARK_MISTRESS,8)
ADD_CREATURE_TO_POOL(HELL_HOUND,15)
ADD_CREATURE_TO_POOL(HORNY,15)
ADD_CREATURE_TO_POOL(VAMPIRE,5)
ADD_CREATURE_TO_POOL(DRUID,10)


REM ######################################################
REM ######################################################

CREATURE_AVAILABLE(ALL_PLAYERS,FLY,1,0)
CREATURE_AVAILABLE(ALL_PLAYERS,BUG,1,0)
CREATURE_AVAILABLE(ALL_PLAYERS,SPIDER,1,0)
CREATURE_AVAILABLE(ALL_PLAYERS,TROLL,1,0)
CREATURE_AVAILABLE(ALL_PLAYERS,SORCEROR,1,0)
CREATURE_AVAILABLE(ALL_PLAYERS,BILE_DEMON,1,0)
CREATURE_AVAILABLE(ALL_PLAYERS,DARK_MISTRESS,1,0)
CREATURE_AVAILABLE(ALL_PLAYERS,ORC,1,0)
CREATURE_AVAILABLE(ALL_PLAYERS,TENTACLE,1,2)
CREATURE_AVAILABLE(ALL_PLAYERS,DRAGON,1,0)
CREATURE_AVAILABLE(ALL_PLAYERS,DEMONSPAWN,1,0)
CREATURE_AVAILABLE(ALL_PLAYERS,HELL_HOUND,1,2)
CREATURE_AVAILABLE(ALL_PLAYERS,DRUID,1,2)
CREATURE_AVAILABLE(ALL_PLAYERS,HORNY,1,0)
CREATURE_AVAILABLE(ALL_PLAYERS,VAMPIRE,1,0)


REM ######################################################
REM ######################################################

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

ROOM_AVAILABLE(PLAYER0,BRIDGE,1,0)

REM ######################################################
REM ######################################################
REM ### NO WOODEN DOORS

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


REM ######################################################
REM ######################################################
REM ### NO LAVA TRAPS

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(ALL_PLAYERS,BOULDER,1,0)


REM ######################################################
REM ######################################################
REM ### NO ARMAGEDDON

MAGIC_AVAILABLE(ALL_PLAYERS,POWER_IMP,1,1)
MAGIC_AVAILABLE(ALL_PLAYERS,POWER_SIGHT,1,1)
MAGIC_AVAILABLE(ALL_PLAYERS,POWER_SPEED,1,0)
MAGIC_AVAILABLE(ALL_PLAYERS,POWER_OBEY,1,1)
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_PROTECT,1,0)
MAGIC_AVAILABLE(ALL_PLAYERS,POWER_HEAL_CREATURE,1,0)
MAGIC_AVAILABLE(ALL_PLAYERS,POWER_LIGHTNING,1,0)
MAGIC_AVAILABLE(ALL_PLAYERS,POWER_CAVE_IN,1,0)
MAGIC_AVAILABLE(ALL_PLAYERS,POWER_CHICKEN,1,0)
MAGIC_AVAILABLE(ALL_PLAYERS,POWER_DISEASE,1,0)
MAGIC_AVAILABLE(ALL_PLAYERS,POWER_DESTROY_WALLS,1,0)


REM ######################################################
REM ######################################################
REM ### PARTY SETUP


CREATE_PARTY(ONEA)
ADD_TO_PARTY(ONEA,SAMURAI,DRAWFROM(8,9),600,ATTACK_ENEMIES,150)
ADD_TO_PARTY(ONEA,DRAWFROM(SAMURAI,FAIRY),DRAWFROM(7,8,9),200,ATTACK_ENEMIES,150)
ADD_TO_PARTY(ONEA,DRAWFROM(SAMURAI,FAIRY),7,200,ATTACK_ENEMIES,150)
ADD_TO_PARTY(ONEA,DRAWFROM(ARCHER,THIEF),DRAWFROM,(6,7),0,STEAL_GOLD,150)


CREATE_PARTY(ONEB)
ADD_TO_PARTY(ONEB,HORNY,DRAWFROM(7,8,9),800,ATTACK_ENEMIES,150)
ADD_TO_PARTY(ONEB,DRAWFROM(HORNY,HELL_HOUND),DRAWFROM(7,8),0,ATTACK_ENEMIES,150)
ADD_TO_PARTY(ONEB,HELL_HOUND,7,0,STEAL_GOLD,150)
ADD_TO_PARTY(ONEB,HELL_HOUND,DRAWFROM,(6,7),0,STEAL_GOLD,150)


CREATE_PARTY(TWO)
ADD_TO_PARTY(TWO,DRAWFROM(WIZARD,TIME_MAGE),DRAWFROM(7,8,9),400,STEAL_SPELLS,150)
ADD_TO_PARTY(TWO,DRAWFROM(FAIRY,WITCH),DRAWFROM(7,8,9),400,STEAL_SPELLS,150)
ADD_TO_PARTY(TWO,DRAWFROM(SORCEROR,DRUID),DRAWFROM(7,8,9),400,STEAL_SPELLS,150)
ADD_TO_PARTY(TWO,DRAWFROM(SORCEROR,DRUID,FAIRY,WITCH,TIME_MAGE,WIZARD),DRAWFROM(5,6),0,STEAL_SPELLS,150)
ADD_TO_PARTY(TWO,DRAWFROM(SORCEROR,DRUID,FAIRY,WITCH,TIME_MAGE,WIZARD),DRAWFROM(5,6),0,STEAL_SPELLS,150)


CREATE_PARTY(THREEA)
ADD_TO_PARTY(THREEA,DRAWFROM(DWARFA,BARBARIAN,THIEF),DRAWFROM(6,7,8),100,ATTACK_ROOMS,150)
ADD_TO_PARTY(THREEA,DRAWFROM(DWARFA,BARBARIAN,THIEF),DRAWFROM(6,7,8),100,ATTACK_ROOMS,150)
ADD_TO_PARTY(THREEA,DRAWFROM(DWARFA,BARBARIAN,THIEF),DRAWFROM(6,7,8),100,ATTACK_ROOMS,150)
ADD_TO_PARTY(THREEA,DRAWFROM(DWARFA,BARBARIAN,THIEF),DRAWFROM(6,7,8),100,ATTACK_ROOMS,150)
ADD_TO_PARTY(THREEA,DRAWFROM(DWARFA,THIEF),DRAWFROM(6,7),100,ATTACK_ROOMS,150)
ADD_TO_PARTY(THREEA,DRAWFROM(DWARFA,THIEF),DRAWFROM(5,6),100,ATTACK_ROOMS,150)
ADD_TO_PARTY(THREEA,DRAWFROM(DWARFA,THIEF),DRAWFROM(5,6),100,ATTACK_ROOMS,150)


CREATE_PARTY(THREEB)
ADD_TO_PARTY(THREEB,DRAWFROM(TROLL,ORC),DRAWFROM(6,7,8,9,10),150,ATTACK_ROOMS,150)
ADD_TO_PARTY(THREEB,DRAWFROM(TROLL,ORC),DRAWFROM(6,7,8,9),100,ATTACK_ROOMS,150)
ADD_TO_PARTY(THREEB,DRAWFROM(TROLL,ORC),DRAWFROM(6,7,8,9),100,ATTACK_ROOMS,150)
ADD_TO_PARTY(THREEB,DRAWFROM(TROLL,ORC),DRAWFROM(6,7,8),100,ATTACK_ROOMS,150)
ADD_TO_PARTY(THREEB,TROLL,DRAWFROM(6,7,8),100,ATTACK_ROOMS,150)
ADD_TO_PARTY(THREEB,TROLL,DRAWFROM(6,7),0,ATTACK_ROOMS,150)
ADD_TO_PARTY(THREEB,TROLL,DRAWFROM(6,7),0,ATTACK_ROOMS,150)


CREATE_PARTY(FOUR)
ADD_TO_PARTY(FOUR,DRAWFROM(GIANT,MONK),DRAWFROM(9,10),400,ATTACK_ENEMIES,150)
ADD_TO_PARTY(FOUR,DRAWFROM(BARBARIAN,GIANT,MONK),DRAWFROM(9,10),400,ATTACK_ENEMIES,150)
ADD_TO_PARTY(FOUR,DRAWFROM(BARBARIAN,GIANT,MONK),DRAWFROM(7,8),300,ATTACK_ENEMIES,150)
ADD_TO_PARTY(FOUR,DRAWFROM(BARBARIAN,GIANT,MONK),DRAWFROM(5,6),200,ATTACK_ENEMIES,150)


CREATE_PARTY(END)
ADD_TO_PARTY(END,AVATAR,10,10000,ATTACK_DUNGEON_HEART,500)
ADD_TO_PARTY(END,KNIGHT,10,5000,ATTACK_DUNGEON_HEART,500)
ADD_TO_PARTY(END,KNIGHT,10,5000,ATTACK_DUNGEON_HEART,500)
ADD_TO_PARTY(END,TIME_MAGE,10,2000,ATTACK_DUNGEON_HEART,500)
ADD_TO_PARTY(END,WIZARD,10,2000,ATTACK_DUNGEON_HEART,500)



REM ######################################################
REM ######################################################
REM ### SPAWN 4x TUNNELLERS AT BOTH LAKE HERO GATES, ONE TARGETING EACH PLAYER, AND ENABLE THE HERO PARTY SPAWN LOOP

IF(PLAYER0,GAME_TURN >= 24000)
	ADD_TUNNELLER_TO_LEVEL(​PLAYER_GOOD,-1,DUNGEON_HEART,0,6,250)
	ADD_TUNNELLER_TO_LEVEL(​PLAYER_GOOD,-1,​DUNGEON_HEART,1,6,250)
	ADD_TUNNELLER_TO_LEVEL(​PLAYER_GOOD,-1,​DUNGEON_HEART,2,6,250)
	ADD_TUNNELLER_TO_LEVEL(​PLAYER_GOOD,-1,​DUNGEON_HEART,3,6,250)
	ADD_TUNNELLER_TO_LEVEL(​PLAYER_GOOD,-2,​DUNGEON_HEART,0,6,250)
	ADD_TUNNELLER_TO_LEVEL(​PLAYER_GOOD,-2,​DUNGEON_HEART,1,6,250)
	ADD_TUNNELLER_TO_LEVEL(​PLAYER_GOOD,-2,​DUNGEON_HEART,2,6,250)
	ADD_TUNNELLER_TO_LEVEL(​PLAYER_GOOD,-2,DUNGEON_HEART,3,6,250)
	SET_TIMER(PLAYER0,TIMER0)
ENDIF


REM ######################################################
REM ######################################################
REM ### RANDOMLY PICK BETWEEN FOUR PARTIES, SPAWN ONE COPY AT BOTH NORTH AND SOUTH, THEN START A TIMER WHICH RESTARTS THE LOOP.

IF(PLAYER0,TIMER0 >= 9600)
	NEXT_COMMAND_REUSABLE
	RANDOMISE_FLAG(PLAYER0,FLAG0,4)
ENDIF


IF(PLAYER0,FLAG0 == 1)
	NEXT_COMMAND_REUSABLE
	ADD_PARTY_TO_LEVEL(PLAYER_GOOD,DRAWFROM(ONEA,ONEB),-1,1)
	NEXT_COMMAND_REUSABLE
	ADD_PARTY_TO_LEVEL(PLAYER_GOOD,DRAWFROM(ONEA,ONEB),-2,1)
	NEXT_COMMAND_REUSABLE
	SET_FLAG(PLAYER0,FLAG0,0)
	NEXT_COMMAND_REUSABLE
	SET_TIMER(PLAYER0,TIMER0)
ENDIF


IF(PLAYER0,FLAG0 == 2)
	NEXT_COMMAND_REUSABLE
	ADD_PARTY_TO_LEVEL(PLAYER_GOOD,TWO,-1,1)
	NEXT_COMMAND_REUSABLE
	ADD_PARTY_TO_LEVEL(PLAYER_GOOD,TWO,-2,1)
	NEXT_COMMAND_REUSABLE
	SET_FLAG(PLAYER0,FLAG0,0)
	NEXT_COMMAND_REUSABLE
	SET_TIMER(PLAYER0,TIMER0)
ENDIF


IF(PLAYER0,FLAG0 == 3)
	NEXT_COMMAND_REUSABLE
	ADD_PARTY_TO_LEVEL(PLAYER_GOOD,DRAWFROM(THREEA,THREEB),-1,1)
	NEXT_COMMAND_REUSABLE
	ADD_PARTY_TO_LEVEL(PLAYER_GOOD,DRAWFROM(THREEA,THREEB),-2,1)
	NEXT_COMMAND_REUSABLE
	SET_FLAG(PLAYER0,FLAG0,0)
	NEXT_COMMAND_REUSABLE
	SET_TIMER(PLAYER0,TIMER0)
ENDIF


IF(PLAYER0,FLAG0 == 4)
	NEXT_COMMAND_REUSABLE
	ADD_PARTY_TO_LEVEL(PLAYER_GOOD,FOUR,-1,1)
	NEXT_COMMAND_REUSABLE
	ADD_PARTY_TO_LEVEL(PLAYER_GOOD,FOUR,-2,1)
	NEXT_COMMAND_REUSABLE
	SET_FLAG(PLAYER0,FLAG0,0)
	NEXT_COMMAND_REUSABLE
	SET_TIMER(PLAYER0,TIMER0)
ENDIF


REM ######################################################
REM ######################################################
REM ### IMP RESPAWNER.

SET_TIMER(PLAYER0,TIMER1)
IF(PLAYER0,TIMER1 >= 500)
	IF_CONTROLS(PLAYER0,IMP <= 3)
		NEXT_COMMAND_REUSABLE
		USE_POWER_AT_LOCATION(PLAYER0,PLAYER0,POWER_IMP,1,1)
		NEXT_COMMAND_REUSABLE
		SET_TIMER(PLAYER0,TIMER1)
	ENDIF
ENDIF


SET_TIMER(PLAYER1,TIMER1)
IF(PLAYER1,TIMER1 >= 500)
	IF_CONTROLS(PLAYER1,IMP <= 3)
		NEXT_COMMAND_REUSABLE
		USE_POWER_AT_LOCATION(PLAYER1,PLAYER1,POWER_IMP,1,1)
		NEXT_COMMAND_REUSABLE
		SET_TIMER(PLAYER1,TIMER1)
	ENDIF
ENDIF


SET_TIMER(PLAYER2,TIMER1)
IF(PLAYER2,TIMER1 >= 500)
	IF_CONTROLS(PLAYER2,IMP <= 3)
		NEXT_COMMAND_REUSABLE
		USE_POWER_AT_LOCATION(PLAYER2,PLAYER2,POWER_IMP,1,1)
		NEXT_COMMAND_REUSABLE
		SET_TIMER(PLAYER2,TIMER1)
	ENDIF
ENDIF


SET_TIMER(PLAYER3,TIMER1)
IF(PLAYER3,TIMER1 >= 500)
	IF_CONTROLS(PLAYER3,IMP <= 3)
		NEXT_COMMAND_REUSABLE
		USE_POWER_AT_LOCATION(PLAYER3,PLAYER3,POWER_IMP,1,1)
		NEXT_COMMAND_REUSABLE
		SET_TIMER(PLAYER3,TIMER1)
	ENDIF
ENDIF

REM ######################################################
REM ######################################################
REM ### REDUCE AI TENDENCY TO COMMIT SUDOKU.

IF(PLAYER0,GAME_TURN > 6000)
	ROOM_AVAILABLE(PLAYER1,BRIDGE,1,1)
	ROOM_AVAILABLE(PLAYER2,BRIDGE,1,1)
	ROOM_AVAILABLE(PLAYER3,BRIDGE,1,1)
ENDIF


REM ######################################################
REM ######################################################
REM ###	CUSTOM SPECIAL SPAWN

IF(PLAYER0,GAME_TURN > 50)
	RANDOMISE_FLAG(PLAYER0,FLAG1,2)
ENDIF

IF(PLAYER0,FLAG1 == 1)
	ADD_OBJECT_TO_LEVEL(SPECBOX_CUSTOM,1,1,PLAYER_NEUTRAL)
ENDIF

IF(PLAYER0,FLAG1 == 2)
	ADD_OBJECT_TO_LEVEL(SPECBOX_CUSTOM,1,2,PLAYER_NEUTRAL)
ENDIF


REM ######################################################
REM ######################################################
REM ###	CUSTOM SPECIAL -- BOX 1 -- LOBOTOMIZED

SET_BOX_TOOLTIP(1,"LOBOTOMIZED: Enemy Keepers lose their wits for 45 seconds. Disables Keeper Hand, Call-to-Arms and Lightning.")

REM ######################################################
REM ######################################################
REM ### IF PLAYER0 ACTIVATES ###

IF(PLAYER0,BOX1_ACTIVATED == 1)
	SET_TIMER(PLAYER0,TIMER3)
	MAGIC_AVAILABLE(PLAYER1,POWER_HAND,0,0)
	MAGIC_AVAILABLE(PLAYER2,POWER_HAND,0,0)
	MAGIC_AVAILABLE(PLAYER3,POWER_HAND,0,0)
	MAGIC_AVAILABLE(PLAYER1,POWER_SLAP,0,0)
	MAGIC_AVAILABLE(PLAYER2,POWER_SLAP,0,0)
	MAGIC_AVAILABLE(PLAYER3,POWER_SLAP,0,0)
	MAGIC_AVAILABLE(PLAYER1,POWER_LIGHTNING,0,0)
	MAGIC_AVAILABLE(PLAYER2,POWER_LIGHTNING,0,0)
	MAGIC_AVAILABLE(PLAYER3,POWER_LIGHTNING,0,0)
	MAGIC_AVAILABLE(PLAYER1,POWER_CALL_TO_ARMS,0,0)
	MAGIC_AVAILABLE(PLAYER2,POWER_CALL_TO_ARMS,0,0)
	MAGIC_AVAILABLE(PLAYER3,POWER_CALL_TO_ARMS,0,0)
	PLAY_MESSAGE(PLAYER0,SOUND,115)
ENDIF
	

IF(PLAYER0,TIMER3 >= 900)
	MAGIC_AVAILABLE(PLAYER1,POWER_HAND,0,1)
	MAGIC_AVAILABLE(PLAYER2,POWER_HAND,0,1)
	MAGIC_AVAILABLE(PLAYER3,POWER_HAND,0,1)
	MAGIC_AVAILABLE(PLAYER1,POWER_SLAP,0,1)
	MAGIC_AVAILABLE(PLAYER2,POWER_SLAP,0,1)
	MAGIC_AVAILABLE(PLAYER3,POWER_SLAP,0,1)
	MAGIC_AVAILABLE(PLAYER1,POWER_LIGHTNING,1,1)
	MAGIC_AVAILABLE(PLAYER2,POWER_LIGHTNING,1,1)
	MAGIC_AVAILABLE(PLAYER3,POWER_LIGHTNING,1,1)
	MAGIC_AVAILABLE(PLAYER1,POWER_CALL_TO_ARMS,1,1)
	MAGIC_AVAILABLE(PLAYER2,POWER_CALL_TO_ARMS,1,1)
	MAGIC_AVAILABLE(PLAYER3,POWER_CALL_TO_ARMS,1,1)
ENDIF


REM ######################################################
REM ######################################################
REM ### IF ENEMY KEEPER ACTIVATES ###
REM ### CURRENTLY DOES NOT WORK -- AI DOES NOT USE DUNGEON SPECIALS ###

IF(PLAYER1,BOX1_ACTIVATED == 1)
	SET_FLAG(PLAYER0,FLAG2,1)
ENDIF


IF(PLAYER2,BOX1_ACTIVATED == 1)
	SET_FLAG(PLAYER0,FLAG2,1)
ENDIF


IF(PLAYER3,BOX1_ACTIVATED == 1)
	SET_FLAG(PLAYER0,FLAG2,1)
ENDIF


IF(PLAYER0,FLAG2 == 1)
	SET_TIMER(PLAYER0,TIMER3)
	PLAY_MESSAGE(PLAYER0,SOUND,115)
	QUICK_INFORMATION(​1,​"An enemy Keeper has activated a mysterious box. The powers within have bound you from action for 45 seconds.",PLAYER0)
	MAGIC_AVAILABLE(PLAYER0,POWER_POSSESS,0,1)
	MAGIC_AVAILABLE(PLAYER0,POWER_SLAP,0,1)
	MAGIC_AVAILABLE(PLAYER0,POWER_HAND,0,1)
	MAGIC_AVAILABLE(PLAYER0,POWER_IMP,1,0)
	MAGIC_AVAILABLE(PLAYER0,POWER_SIGHT,1,0)
	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_CONCEAL,1,0)
	MAGIC_AVAILABLE(PLAYER0,POWER_PROTECT,1,0)
	MAGIC_AVAILABLE(PLAYER0,POWER_HEAL_CREATURE,1,0)
	MAGIC_AVAILABLE(PLAYER0,POWER_LIGHTNING,1,0)
	MAGIC_AVAILABLE(PLAYER0,POWER_CAVE_IN,1,0)
	MAGIC_AVAILABLE(PLAYER0,POWER_CHICKEN,1,0)
	MAGIC_AVAILABLE(PLAYER0,POWER_DISEASE,1,0)
	MAGIC_AVAILABLE(PLAYER0,POWER_DESTROY_WALLS,1,0)
ENDIF
	

IF(PLAYER0,TIMER3 >= 900)
	MAGIC_AVAILABLE(PLAYER0,POWER_POSSESS,0,1)
	MAGIC_AVAILABLE(PLAYER0,POWER_SLAP,0,1)
	MAGIC_AVAILABLE(PLAYER0,POWER_HAND,0,1)
	MAGIC_AVAILABLE(PLAYER0,POWER_IMP,1,1)
	MAGIC_AVAILABLE(PLAYER0,POWER_SIGHT,1,1)
	MAGIC_AVAILABLE(PLAYER0,POWER_SPEED,1,1)
	MAGIC_AVAILABLE(PLAYER0,POWER_OBEY,1,1)
	MAGIC_AVAILABLE(PLAYER0,POWER_CALL_TO_ARMS,1,1)
	MAGIC_AVAILABLE(PLAYER0,POWER_CONCEAL,1,1)
	MAGIC_AVAILABLE(PLAYER0,POWER_PROTECT,1,1)
	MAGIC_AVAILABLE(PLAYER0,POWER_HEAL_CREATURE,1,1)
	MAGIC_AVAILABLE(PLAYER0,POWER_LIGHTNING,1,1)
	MAGIC_AVAILABLE(PLAYER0,POWER_CAVE_IN,1,1)
	MAGIC_AVAILABLE(PLAYER0,POWER_CHICKEN,1,1)
	MAGIC_AVAILABLE(PLAYER0,POWER_DISEASE,1,1)
	MAGIC_AVAILABLE(PLAYER0,POWER_DESTROY_WALLS,1,1)
ENDIF


REM ######################################################
REM ######################################################
REM ###	CUSTOM SPECIAL -- BOX 2 -- BANISH

SET_BOX_TOOLTIP(2,"BANISH: Transfer three random creatures from each enemy Keeper to a liminal space between two separate realities, in which their bodies rapidly and violently transition between states of corporeal being, and pure energy.")

REM ######################################################
REM ######################################################
REM ### IF PLAYER0 ACTIVATES ###

IF(PLAYER0,BOX2_ACTIVATED == 1)
	TRANSFER_CREATURE(PLAYER1,ANY_CREATURE,ANYWHERE,3)
	TRANSFER_CREATURE(PLAYER2,ANY_CREATURE,ANYWHERE,3)
	TRANSFER_CREATURE(PLAYER3,ANY_CREATURE,ANYWHERE,3)
	PLAY_MESSAGE(PLAYER0,SOUND,1030)
ENDIF


REM ######################################################
REM ######################################################
REM ### IF ENEMY KEEPER ACTIVATES ###
REM ### CURRENTLY DOES NOT WORK -- AI DOES NOT USE DUNGEON SPECIALS ###

IF(PLAYER1,BOX2_ACTIVATED == 1)
	SET_FLAG(PLAYER0,FLAG3,1)
ENDIF

IF(PLAYER2,BOX2_ACTIVATED == 1)
	SET_FLAG(PLAYER0,FLAG3,1)
ENDIF

IF(PLAYER3,BOX2_ACTIVATED == 1)
	SET_FLAG(PLAYER0,FLAG3,1)
ENDIF


IF(PLAYER0,FLAG3 == 1)
	TRANSFER_CREATURE(PLAYER0,ANY_CREATURE,ANYWHERE,3)
	PLAY_MESSAGE(PLAYER0,SOUND,1030)
	QUICK_INFORMATION(​2,​"An enemy Keeper has activated a mysterious box. Three of your creatures don't feel so good, and have blinked out of existence.",PLAYER0)
ENDIF


REM ######################################################
REM ######################################################
REM ###	INVISIBLE TRAPS IS DOGSHIT GAME DESIGN

SET_TRAP_CONFIGURATION(ALARM,HIDDEN,0)
SET_TRAP_CONFIGURATION(LIGHTNING,HIDDEN,0)
SET_TRAP_CONFIGURATION(POISON_GAS,HIDDEN,0)
SET_TRAP_CONFIGURATION(WORD_OF_POWER,HIDDEN,0)


REM ######################################################
REM ######################################################
REM ###	AVATAR PARTY + WIN CONDITION

IF(PLAYER0,ALL_DUNGEONS_DESTROYED == 1)
	ADD_PARTY_TO_LEVEL(PLAYER_GOOD,END,-3,1)
	ADD_PARTY_TO_LEVEL(PLAYER_GOOD,THREEA,-1,1)
	ADD_PARTY_TO_LEVEL(PLAYER_GOOD,THREEA,-2,1)
	ADD_PARTY_TO_LEVEL(PLAYER_GOOD,THREEA,-3,1)
	SET_TIMER(PLAYER0,TIMER2)
	QUICK_INFORMATION(​3,​"Taking advantage of the opportunity, the local Lord and his mustered soldiers spring forth from the Hero Gates. Fell him in battle, and watch his forces rout.",PLAYER0)
ENDIF


IF(PLAYER0,ALL_DUNGEONS_DESTROYED == 1)
	IF(PLAYER0,TIMER2 >= 100)
		IF_CONTROLS(PLAYER_GOOD,AVATAR == 0)
			WIN_GAME
		ENDIF
	ENDIF
ENDIF


REM ######################################################
REM ######################################################


REM "This land is highly coveted amongst the evil and there are three enemy Dungeon Keepers you must battle with..."
DISPLAY_OBJECTIVE(894,PLAYER0)


REM ######################################################
REM ######################################################
