REM ANOTHER DUNGEON LEVEL8
REM eBN`Â`

REM *** SETUP SECTION ***

SET_GENERATE_SPEED(220)

START_MONEY(PLAYER0, 4000)
START_MONEY(PLAYER1, 15000)

COMPUTER_PLAYER(PLAYER1, 0)
SET_COMPUTER_PROCESS(PLAYER1, "DIG TO CLOSE GOLD", 0, 8000, 500, 10, 300)

ADD_CREATURE_TO_POOL(BUG, 8)
ADD_CREATURE_TO_POOL(SPIDER, 15)
ADD_CREATURE_TO_POOL(DEMONSPAWN, 15)
ADD_CREATURE_TO_POOL(DRAGON, 20)
ADD_CREATURE_TO_POOL(SORCEROR, 20)
ADD_CREATURE_TO_POOL(TROLL, 20)
ADD_CREATURE_TO_POOL(BILE_DEMON, 20)
ADD_CREATURE_TO_POOL(ORC, 10)
ADD_CREATURE_TO_POOL(DARK_MISTRESS, 15)
ADD_CREATURE_TO_POOL(HELL_HOUND, 15)

CREATURE_AVAILABLE(ALL_PLAYERS, SORCEROR, 1, 1)
CREATURE_AVAILABLE(ALL_PLAYERS, TROLL, 1, 1)
CREATURE_AVAILABLE(ALL_PLAYERS, BILE_DEMON, 1, 1)
CREATURE_AVAILABLE(ALL_PLAYERS, DRAGON, 1, 1)
CREATURE_AVAILABLE(ALL_PLAYERS, ORC, 1, 1)
CREATURE_AVAILABLE(ALL_PLAYERS, DARK_MISTRESS, 1, 1)
CREATURE_AVAILABLE(PLAYER0, BUG, 1, 1)
CREATURE_AVAILABLE(PLAYER0, SPIDER, 1, 1)
CREATURE_AVAILABLE(PLAYER0, HELL_HOUND, 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, RESEARCH, 1, 1)
ROOM_AVAILABLE(ALL_PLAYERS, TRAINING, 1, 1)
ROOM_AVAILABLE(ALL_PLAYERS, GUARD_POST, 1, 0)
ROOM_AVAILABLE(ALL_PLAYERS, WORKSHOP, 1, 0)
ROOM_AVAILABLE(ALL_PLAYERS, TORTURE, 1, 0)
ROOM_AVAILABLE(PLAYER0, TEMPLE, 1, 0)
ROOM_AVAILABLE(PLAYER0, GRAVEYARD, 1, 0)
ROOM_AVAILABLE(PLAYER0, SCAVENGER, 1, 0)
ROOM_AVAILABLE(PLAYER1, BARRACKS, 1, 0)
ROOM_AVAILABLE(PLAYER1, BRIDGE, 1, 0)

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(PLAYER0, POWER_CONCEAL, 1, 0)
MAGIC_AVAILABLE(PLAYER0, POWER_PROTECT, 1, 0)
MAGIC_AVAILABLE(PLAYER0, POWER_CHICKEN, 1, 0)
MAGIC_AVAILABLE(PLAYER1, POWER_LIGHTNING, 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(PLAYER1, BOULDER, 1, 0)

DOOR_AVAILABLE(ALL_PLAYERS, WOOD, 1, 0)
DOOR_AVAILABLE(PLAYER0, MAGIC, 1, 0)
DOOR_AVAILABLE(PLAYER1, STEEL, 1, 0)

SET_CREATURE_HEALTH(KNIGHT, 1000)

REM *** MAIN ***

DISPLAY_OBJECTIVE(52, PLAYER0)

SET_TIMER(PLAYER1, TIMER0)

IF(PLAYER1, DUNGEON_DESTROYED == 1)
	SET_FLAG(PLAYER_GOOD, FLAG0, 1)
ENDIF

IF(PLAYER1, TOTAL_CREATURES >= 16)
	SET_FLAG(PLAYER1, FLAG0, 1)
ENDIF

IF(PLAYER_GOOD, GAME_TURN >= 5000)
	DISPLAY_INFORMATION(53, PLAYER0)
	IF(PLAYER1, FLAG0 == 1)
		IF(PLAYER1, TOTAL_CREATURES <= 5)
			SET_FLAG(PLAYER_GOOD, FLAG0, 1)
		ENDIF
	ENDIF
ENDIF

IF(PLAYER_GOOD, GAME_TURN >= 10000)
	DISPLAY_OBJECTIVE(54, PLAYER0)
	IF(PLAYER0, BATTLES_LOST >= 10)
		SET_FLAG(PLAYER0, FLAG0, 1)
	ENDIF
	IF(PLAYER1, BATTLES_LOST >= 10)
		SET_FLAG(PLAYER0, FLAG0, 1)
	ENDIF
ENDIF

IF(PLAYER0, BATTLES_LOST >= 25)
	SET_FLAG(PLAYER0, FLAG1, 1)
ENDIF

IF(PLAYER0, BATTLES_LOST >= 40)
	SET_FLAG(PLAYER0, FLAG2, 1)
ENDIF

IF(PLAYER0, BATTLES_LOST >= 50)
	DISPLAY_OBJECTIVE(60, PLAYER0)
	LOSE_GAME
ENDIF

IF(PLAYER1, BATTLES_LOST >= 50)
	SET_FLAG(PLAYER0, FLAG1, 1)
ENDIF

IF(PLAYER1, BATTLES_LOST >= 90)
	SET_FLAG(PLAYER0, FLAG2, 1)
ENDIF

IF(PLAYER1, BATTLES_LOST >= 100)
	DISPLAY_OBJECTIVE(60, PLAYER0)
	LOSE_GAME
ENDIF

IF(PLAYER0, FLAG0 == 1)
	DISPLAY_INFORMATION(55, PLAYER0)
ENDIF

IF(PLAYER0, FLAG1 == 1)
	DISPLAY_INFORMATION(56, PLAYER0)
ENDIF

IF(PLAYER0, FLAG2 == 1)
	DISPLAY_INFORMATION(57, PLAYER0)
ENDIF

IF(PLAYER0, ENTRANCE <= 8)
	NEXT_COMMAND_REUSABLE
	MAX_CREATURES(PLAYER0, 10)
ENDIF

IF(PLAYER0, ENTRANCE >= 9)
	IF(PLAYER0, ENTRANCE <= 17)
		NEXT_COMMAND_REUSABLE
		MAX_CREATURES(PLAYER0, 15)
	ENDIF
ENDIF

IF(PLAYER0, ENTRANCE >= 18)
	IF(PLAYER0, ENTRANCE <= 26)
		NEXT_COMMAND_REUSABLE
		MAX_CREATURES(PLAYER0, 20)
		SET_FLAG(PLAYER0, FLAG3, 1)
	ENDIF
ENDIF

IF(PLAYER0, ENTRANCE >= 27)
	IF(PLAYER0, ENTRANCE <= 35)
		NEXT_COMMAND_REUSABLE
		MAX_CREATURES(PLAYER0, 25)
	ENDIF
ENDIF

IF(PLAYER0, ENTRANCE >= 36)
	NEXT_COMMAND_REUSABLE
	MAX_CREATURES(PLAYER0, 30)
ENDIF

IF(PLAYER1, ENTRANCE <= 8)
	NEXT_COMMAND_REUSABLE
	MAX_CREATURES(PLAYER1, 20)
ENDIF

IF(PLAYER1, ENTRANCE >= 9)
	IF(PLAYER1, ENTRANCE <= 17)
		NEXT_COMMAND_REUSABLE
		MAX_CREATURES(PLAYER1, 25)
	ENDIF
ENDIF

IF(PLAYER1, ENTRANCE >= 18)
	IF(PLAYER1, ENTRANCE <= 26)
		NEXT_COMMAND_REUSABLE
		MAX_CREATURES(PLAYER1, 30)
	ENDIF
ENDIF

IF(PLAYER1, ENTRANCE >= 27)
	IF(PLAYER1, ENTRANCE <= 35)
		NEXT_COMMAND_REUSABLE
		MAX_CREATURES(PLAYER1, 35)
	ENDIF
ENDIF

IF(PLAYER1, ENTRANCE >= 36)
	NEXT_COMMAND_REUSABLE
	MAX_CREATURES(PLAYER1, 40)
ENDIF

IF(PLAYER_GOOD, GAME_TURN >= 15000)
	ADD_CREATURE_TO_LEVEL(PLAYER_GOOD, ARCHER, 1, 3, 4, 500)
	ADD_CREATURE_TO_LEVEL(PLAYER_GOOD, GIANT, 1, 3, 4, 500)
	IF(PLAYER0, FLAG3 == 0)
		DISPLAY_INFORMATION(58, PLAYER0)
	ENDIF
ENDIF

IF(PLAYER_GOOD, GAME_TURN >= 25000)
	ADD_CREATURE_TO_LEVEL(PLAYER_GOOD, ARCHER, 2, 3, 7, 500)
	ADD_CREATURE_TO_LEVEL(PLAYER_GOOD, GIANT, 2, 3, 7, 500)
ENDIF

IF(PLAYER_GOOD, GAME_TURN >= 35000)
	SET_FLAG(PLAYER_GOOD, FLAG0, 1)
ENDIF

IF(PLAYER_GOOD, FLAG0 == 1)
	DISPLAY_OBJECTIVE(59, PLAYER0)
	ADD_CREATURE_TO_LEVEL(PLAYER_GOOD, KNIGHT, 3, 1, 10, 3000)
	ADD_CREATURE_TO_LEVEL(PLAYER_GOOD, WIZARD, 3, 3, 10, 500)
	ADD_CREATURE_TO_LEVEL(PLAYER_GOOD, BARBARIAN, 3, 4, 10, 500)
	IF(PLAYER_GOOD, KNIGHT == 0)
		IF(PLAYER1, DUNGEON_DESTROYED == 1)
			DISPLAY_OBJECTIVE(61, PLAYER0)
			WIN_GAME
		ENDIF
	ENDIF
ENDIF

IF(PLAYER1, DUNGEON_DESTROYED == 0)
	IF(PLAYER1, TIMER0 >= 1000)
		IF(PLAYER1, IMP < 15)
			NEXT_COMMAND_REUSABLE
			ADD_CREATURE_TO_LEVEL(PLAYER1, IMP, PLAYER1, 1, 1, 0)
			NEXT_COMMAND_REUSABLE
			SET_TIMER(PLAYER1, TIMER0)
		ENDIF
	ENDIF
ENDIF
