LEVEL_VERSION(1)
SET_GENERATE_SPEED(450)
START_MONEY(ALL_PLAYERS,12500)
MAX_CREATURES(ALL_PLAYERS,20)

SET_GAME_RULE(AlliesShareVision,1)
SET_GAME_RULE(AlliesShareDrop,1)
SET_GAME_RULE(DisplayPortalLimit,1)
SET_GAME_RULE(DungeonHeartHealHealth,40)
SET_GAME_RULE(GhostConvertChance,70)
SET_GAME_RULE(TortureDeathChance,20)
SET_GAME_RULE(PrisonSkeletonChance,50)
SET_GAME_RULE(StunEvilEnemyChance,50)
SET_GAME_RULE(BodiesForVampire,16)

COMPUTER_PLAYER(PLAYER2,0)
COMPUTER_PLAYER(PLAYER3,0)
COMPUTER_PLAYER(PLAYER4,0)
COMPUTER_PLAYER(PLAYER6,0)

COMPUTER_PLAYER(PLAYER5,ROAMING)

ALLY_PLAYERS(PLAYER0,PLAYER1,3)

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

ADD_CREATURE_TO_POOL(FLY,2)
ADD_CREATURE_TO_POOL(DEMONSPAWN,20)
ADD_CREATURE_TO_POOL(TROLL,20)
ADD_CREATURE_TO_POOL(SPIDER,20)
ADD_CREATURE_TO_POOL(HELL_HOUND,20)
ADD_CREATURE_TO_POOL(TENTACLE,20)
ADD_CREATURE_TO_POOL(SORCEROR,20)
ADD_CREATURE_TO_POOL(ORC,20)
ADD_CREATURE_TO_POOL(BILE_DEMON,20)
ADD_CREATURE_TO_POOL(DRAGON,11)
ADD_CREATURE_TO_POOL(DARK_MISTRESS,20)
ADD_CREATURE_TO_POOL(MAIDEN,20)
ADD_CREATURE_TO_POOL(DRUID,20)

CREATURE_AVAILABLE(ALL_PLAYERS,FLY,1,0)
CREATURE_AVAILABLE(ALL_PLAYERS,DEMONSPAWN,1,0)
CREATURE_AVAILABLE(ALL_PLAYERS,TROLL,1,0)
CREATURE_AVAILABLE(ALL_PLAYERS,SPIDER,1,0)
CREATURE_AVAILABLE(ALL_PLAYERS,HELL_HOUND,1,0)
CREATURE_AVAILABLE(ALL_PLAYERS,TENTACLE,1,0)
CREATURE_AVAILABLE(ALL_PLAYERS,SORCEROR,1,0)
CREATURE_AVAILABLE(ALL_PLAYERS,ORC,1,0)
CREATURE_AVAILABLE(ALL_PLAYERS,BILE_DEMON,1,0)
CREATURE_AVAILABLE(ALL_PLAYERS,DRAGON,1,0)
CREATURE_AVAILABLE(ALL_PLAYERS,DARK_MISTRESS,1,0)
CREATURE_AVAILABLE(ALL_PLAYERS,MAIDEN,1,0)
CREATURE_AVAILABLE(PLAYER0,DRUID,1,0)
CREATURE_AVAILABLE(PLAYER1,DRUID,1,0)
CREATURE_AVAILABLE(PLAYER2,DRUID,1,2)
CREATURE_AVAILABLE(PLAYER3,DRUID,1,2)
CREATURE_AVAILABLE(PLAYER4,DRUID,1,1)
CREATURE_AVAILABLE(PLAYER5,DRUID,1,1)
CREATURE_AVAILABLE(PLAYER6,DRUID,1,1)

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

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(ALL_PLAYERS,POWER_SIGHT,1,0)
MAGIC_AVAILABLE(ALL_PLAYERS,POWER_SPEED,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_FREEZE,1,0)
MAGIC_AVAILABLE(ALL_PLAYERS,POWER_TIME_BOMB,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,LIGHTNING,1,0)
TRAP_AVAILABLE(ALL_PLAYERS,SENTRY,1,0)
TRAP_AVAILABLE(ALL_PLAYERS,BOULDER,1,0)
TRAP_AVAILABLE(ALL_PLAYERS,WORD_OF_POWER,1,0)

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

CREATE_PARTY(party0)
    ADD_TO_PARTY(party0,GHOST,4,0,STEAL_SPELLS[PLAYER0],0)
CREATE_PARTY(party1)
    ADD_TO_PARTY(party1,GHOST,4,0,STEAL_SPELLS[PLAYER1],0)
CREATE_PARTY(party2)
    ADD_TO_PARTY(party2,GHOST,4,0,STEAL_SPELLS[PLAYER2],0)
CREATE_PARTY(party3)
    ADD_TO_PARTY(party3,GHOST,4,0,STEAL_SPELLS[PLAYER3],0)
CREATE_PARTY(party4)
    ADD_TO_PARTY(party4,GHOST,4,0,STEAL_SPELLS[PLAYER4],0)
CREATE_PARTY(party6)
    ADD_TO_PARTY(party6,GHOST,4,0,STEAL_SPELLS[PLAYER6],0)
CREATE_PARTY(partyx)
    ADD_TO_PARTY(partyx,GHOST,4,0,STEAL_SPELLS,0)

QUICK_OBJECTIVE(1,"Destroy all enemy keeper because they destroy your worthless ally.")

IF(PLAYER0,BATTLES_WON > 0)
	ADD_TUNNELLER_TO_LEVEL(PLAYER5,-1,DUNGEON,1,3,100)
ENDIF
IF(PLAYER1,BATTLES_WON > 0)
	ADD_TUNNELLER_TO_LEVEL(PLAYER5,-1,DUNGEON,2,3,100)
ENDIF
IF(PLAYER2,BATTLES_WON > 0)
	ADD_TUNNELLER_TO_LEVEL(PLAYER5,-1,DUNGEON,3,3,100)
ENDIF
IF(PLAYER3,BATTLES_WON > 0)
	ADD_TUNNELLER_TO_LEVEL(PLAYER5,-1,DUNGEON,5,3,100)
ENDIF
IF(PLAYER4,BATTLES_WON > 0)
	ADD_TUNNELLER_TO_LEVEL(PLAYER5,-1,DUNGEON,6,3,100)
ENDIF
IF(PLAYER6,BATTLES_WON > 0)
	ADD_TUNNELLER_TO_LEVEL(PLAYER5,-1,DUNGEON,0,3,100)
ENDIF


IF(PLAYER0,BATTLES_WON > 5)
	ADD_PARTY_TO_LEVEL(PLAYER5,PARTY0,-1,5)
ENDIF
IF(PLAYER1,BATTLES_WON > 5)
	ADD_PARTY_TO_LEVEL(PLAYER5,PARTY1,-1,5)
ENDIF
IF(PLAYER2,BATTLES_WON > 5)
	ADD_PARTY_TO_LEVEL(PLAYER5,PARTY2,-1,5)
ENDIF
IF(PLAYER3,BATTLES_WON > 5)
	ADD_PARTY_TO_LEVEL(PLAYER5,PARTY3,-1,5)
ENDIF
IF(PLAYER4,BATTLES_WON > 5)
	ADD_PARTY_TO_LEVEL(PLAYER5,PARTY4,-1,5)
ENDIF
IF(PLAYER6,BATTLES_WON > 5)
	ADD_PARTY_TO_LEVEL(PLAYER5,PARTY6,-1,5)
ENDIF

IF(PLAYER5,GHOST > 0)
	SET_TIMER(PLAYER0,TIMER1)
ENDIF
IF(PLAYER5,GHOST <= 0)
	IF(PLAYER0,TIMER1 > 1200)
		NEXT_COMMAND_REUSABLE
		ADD_PARTY_TO_LEVEL(PLAYER5,PARTYX,-1,5)
		NEXT_COMMAND_REUSABLE
		SET_TIMER(PLAYER0,TIMER1)
	ENDIF
ENDIF

IF(PLAYER2,DUNGEON_DESTROYED == 1)
	ADD_TO_FLAG(PLAYER0,FLAG1,1)
ENDIF
IF(PLAYER3,DUNGEON_DESTROYED == 1)
	ADD_TO_FLAG(PLAYER0,FLAG1,1)
ENDIF
IF(PLAYER4,DUNGEON_DESTROYED == 1)
	ADD_TO_FLAG(PLAYER0,FLAG1,1)
ENDIF
IF(PLAYER6,DUNGEON_DESTROYED == 1)
	ADD_TO_FLAG(PLAYER0,FLAG1,1)
ENDIF
IF(PLAYER0,FLAG1 >= 4)
	WIN_GAME
ENDIF

IF(PLAYER0,FLAG1 >= 1)
	MAX_CREATURES(ALL_PLAYERS,24)
ENDIF
IF(PLAYER0,FLAG1 >= 3)
	MAX_CREATURES(ALL_PLAYERS,28)
ENDIF

IF(PLAYER0,DUNGEON_DESTROYED == 1)
	LOSE_GAME
ENDIF
IF(PLAYER1,DUNGEON_DESTROYED == 1)
	LOSE_GAME
ENDIF

HEART_LOST_QUICK_OBJECTIVE(2,"Expected, yet somehow still disappointing.")