LEVEL_VERSION(1)
SET_GENERATE_SPEED(400)
START_MONEY(ALL_PLAYERS,5000)
MAX_CREATURES(PLAYER0,1)
MAX_CREATURES(PLAYER1,30)
MAX_CREATURES(PLAYER6,10)

COMPUTER_PLAYER(PLAYER1,0)
COMPUTER_PLAYER(PLAYER6,0)

SET_CREATURE_MAX_LEVEL(PLAYER0,SKELETON,6)
SET_CREATURE_MAX_LEVEL(PLAYER0,TROLL,6)
SET_CREATURE_MAX_LEVEL(PLAYER0,SORCEROR,6)
SET_CREATURE_MAX_LEVEL(PLAYER0,ORC,6)
SET_CREATURE_MAX_LEVEL(PLAYER0,KNIGHT,6)
SET_CREATURE_MAX_LEVEL(PLAYER0,HELL_HOUND,6)
SET_CREATURE_MAX_LEVEL(PLAYER0,IMP,6)

ADD_CREATURE_TO_POOL(FLY,20)
ADD_CREATURE_TO_POOL(BUG,20)
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,20)
ADD_CREATURE_TO_POOL(DARK_MISTRESS,20)

CREATURE_AVAILABLE(ALL_PLAYERS,FLY,1,0)
CREATURE_AVAILABLE(ALL_PLAYERS,BUG,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)

REM --------------------------- Room All Players

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,RESEARCH,1,1)
ROOM_AVAILABLE(ALL_PLAYERS,WORKSHOP,1,1)

REM --------------------------- Room 0 Player

ROOM_AVAILABLE(PLAYER0,WORKSHOP,1,1)
ROOM_AVAILABLE(PLAYER0,GUARD_POST,1,0)

REM --------------------------- Room 1 Player

ROOM_AVAILABLE(PLAYER1,WORKSHOP,1,0)
ROOM_AVAILABLE(PLAYER1,TRAINING,1,0)

REM --------------------------- Room 6 Player

ROOM_AVAILABLE(PLAYER6,WORKSHOP,1,0)

REM --------------------------- Room Magic

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_SPEED,1,0)
MAGIC_AVAILABLE(ALL_PLAYERS,POWER_CALL_TO_ARMS,1,0)
MAGIC_AVAILABLE(ALL_PLAYERS,POWER_CAVE_IN,1,0)
MAGIC_AVAILABLE(ALL_PLAYERS,POWER_HEAL_CREATURE,1,0)

TRAP_AVAILABLE(PLAYER0,BOULDER,1,0)

DOOR_AVAILABLE(PLAYER1,WOOD,1,0)
DOOR_AVAILABLE(PLAYER6,BRACED,1,0)
DOOR_AVAILABLE(PLAYER1,WOOD,1,0)
DOOR_AVAILABLE(PLAYER6,BRACED,1,0)
DOOR_AVAILABLE(ALL_PLAYERS,STEEL,1,0)

QUICK_OBJECTIVE(0,"LOGRAS: The Moth's foul arts deprives us of the opportunity to build bridges! No matter - we'll manage without!",PLAYER0)

SET_TIMER(PLAYER0,TIMER0)
IF(PLAYER0,TIMER0 >= 300)
	QUICK_OBJECTIVE(1,"AZAGLOTH: Enemy portals! We need to get moving!",PLAYER0)
ENDIF

REM --------------------------- Heroes from portal

SET_TIMER(PLAYER0,TIMER1)
	IF(PLAYER0,TIMER1 >= 1800)
		ADD_CREATURE_TO_LEVEL(PLAYER_GOOD,ARCHER,-1,10,5,150)
		ADD_CREATURE_TO_LEVEL(PLAYER_GOOD,GIANT,-2,10,5,150)
		ADD_CREATURE_TO_LEVEL(PLAYER_GOOD,THIEF,-3,10,5,150)
		ADD_CREATURE_TO_LEVEL(PLAYER_GOOD,MONK,-4,10,5,150)
	ENDIF

REM --------------------------- Yellow open

IF_ACTION_POINT(1,PLAYER0)
	QUICK_OBJECTIVE(2,"LOGRAS: Another of the Moth's lackeys crawls forth. Let's educate him on poor life choices.",PLAYER0)
	REVEAL_MAP_RECT(PLAYER0,121,364,27,27)
ENDIF

IF(PLAYER0,BRIDGE >= 1)
	ROOM_AVAILABLE(PLAYER0,BRIDGE,1,1)
	QUICK_OBJECTIVE(3,"LOGRAS: Rejoice, friends! The arcane threads weave once more - our bridge magic is restored!",PLAYER0)
ENDIF

REM --------------------------- Up

IF_ACTION_POINT(3,PLAYER0)
	CHANGE_SLAB_TYPE(76,41,PATH)
ENDIF

IF_ACTION_POINT(2,PLAYER0)
	CHANGE_SLAB_TYPE(77,36,PATH)
	REVEAL_MAP_RECT(PLAYER0,51,46,84,84)
	QUICK_OBJECTIVE(4,"LOGRAS: Spirits of the water have unveiled the upper realms... How intriguing.",PLAYER0)
ENDIF

REM --------------------------- Kill player 1

CREATE_PARTY(KILLERS_PLAYER1)

ADD_TO_PARTY(KILLERS_PLAYER1,KNIGHT,6,160,ATTACK_DUNGEON_HEART,0)

ADD_TO_PARTY(KILLERS_PLAYER1,FAIRY,5,150,ATTACK_DUNGEON_HEART,0)
ADD_TO_PARTY(KILLERS_PLAYER1,FAIRY,5,150,ATTACK_DUNGEON_HEART,0)
ADD_TO_PARTY(KILLERS_PLAYER1,FAIRY,5,150,ATTACK_DUNGEON_HEART,0)
ADD_TO_PARTY(KILLERS_PLAYER1,FAIRY,5,150,ATTACK_DUNGEON_HEART,0)
ADD_TO_PARTY(KILLERS_PLAYER1,FAIRY,5,150,ATTACK_DUNGEON_HEART,0)

ADD_TO_PARTY(KILLERS_PLAYER1,FAIRY,5,150,ATTACK_DUNGEON_HEART,0)
ADD_TO_PARTY(KILLERS_PLAYER1,FAIRY,5,150,ATTACK_DUNGEON_HEART,0)
ADD_TO_PARTY(KILLERS_PLAYER1,FAIRY,5,150,ATTACK_DUNGEON_HEART,0)
ADD_TO_PARTY(KILLERS_PLAYER1,FAIRY,5,150,ATTACK_DUNGEON_HEART,0)
ADD_TO_PARTY(KILLERS_PLAYER1,FAIRY,5,150,ATTACK_DUNGEON_HEART,0)

ADD_TO_PARTY(KILLERS_PLAYER1,FAIRY,5,150,ATTACK_DUNGEON_HEART,0)
ADD_TO_PARTY(KILLERS_PLAYER1,FAIRY,5,150,ATTACK_DUNGEON_HEART,0)
ADD_TO_PARTY(KILLERS_PLAYER1,FAIRY,5,150,ATTACK_DUNGEON_HEART,0)
ADD_TO_PARTY(KILLERS_PLAYER1,FAIRY,5,150,ATTACK_DUNGEON_HEART,0)
ADD_TO_PARTY(KILLERS_PLAYER1,FAIRY,5,150,ATTACK_DUNGEON_HEART,0)

ADD_TO_PARTY(KILLERS_PLAYER1,FAIRY,5,150,ATTACK_DUNGEON_HEART,0)
ADD_TO_PARTY(KILLERS_PLAYER1,FAIRY,5,150,ATTACK_DUNGEON_HEART,0)
ADD_TO_PARTY(KILLERS_PLAYER1,FAIRY,5,150,ATTACK_DUNGEON_HEART,0)
ADD_TO_PARTY(KILLERS_PLAYER1,FAIRY,5,150,ATTACK_DUNGEON_HEART,0)
ADD_TO_PARTY(KILLERS_PLAYER1,FAIRY,5,150,ATTACK_DUNGEON_HEART,0)

ADD_TO_PARTY(KILLERS_PLAYER1,FAIRY,5,150,ATTACK_DUNGEON_HEART,0)
ADD_TO_PARTY(KILLERS_PLAYER1,FAIRY,5,150,ATTACK_DUNGEON_HEART,0)
ADD_TO_PARTY(KILLERS_PLAYER1,FAIRY,5,150,ATTACK_DUNGEON_HEART,0)
ADD_TO_PARTY(KILLERS_PLAYER1,FAIRY,5,150,ATTACK_DUNGEON_HEART,0)
ADD_TO_PARTY(KILLERS_PLAYER1,FAIRY,5,150,ATTACK_DUNGEON_HEART,0)

IF_ACTION_POINT(5,PLAYER0)
	ADD_PARTY_TO_LEVEL(PLAYER_GOOD,KILLERS_PLAYER1,-5,1)
	REVEAL_MAP_RECT(PLAYER0,97,106,25,25)
	QUICK_OBJECTIVE(5,"AZAGLOTH: Another portal... What if we redirect its denizens toward more... constructive purposes?",PLAYER0)
ENDIF

IF(PLAYER1,DUNGEON_DESTROYED == 1)
	QUICK_OBJECTIVE(6,"LOGRAS: One less of the Moth's puppets. How many more fools has his honeyed venom ensnared?",PLAYER0)
	CHANGE_SLAB_TYPE(114,11,PATH)
ENDIF

IF_ACTION_POINT(6,PLAYER0)
	ADD_CREATURE_TO_LEVEL(PLAYER_GOOD,AVATAR,-6,1,5,150)
	QUICK_OBJECTIVE(7,"LOGRAS: What a delightful surprise - Dimon, the Moth's right-hand butcher! Let's correct that promotion.",PLAYER0)
	SET_TIMER(PLAYER0,TIMER2)
	IF(PLAYER0,TIMER2 >= 200)
		QUICK_OBJECTIVE(8,"DIMON: You're all going to die, you fools!",PLAYER0)
	ENDIF
ENDIF

REM --------------------------- Logras dead and win

IF(PLAYER0,SORCEROR < 1)
	QUICK_OBJECTIVE(100,"Oh no! My mission!..",PLAYER0)
	LOSE_GAME
ENDIF

IF(PLAYER_GOOD,DUNGEON_DESTROYED == 1)
	QUICK_OBJECTIVE(101,"LOGRAS: Almost all of the Moth's minions lee broken. Now comes the hour of the Necromancer himself... and his most wretched lieutenants.",PLAYER0)
	WIN_GAME
ENDIF