REM ANOTHER DUNGEON LEVEL13
REM otB[I[N`ꂽ΂݁`

REM *** SETUP_SECTION ***

SET_GENERATE_SPEED(260)

START_MONEY(PLAYER0, 10000)

MAX_CREATURES(PLAYER0, 32)

ADD_CREATURE_TO_POOL(ARCHER, 20)
ADD_CREATURE_TO_POOL(DWARFA, 20)
ADD_CREATURE_TO_POOL(BARBARIAN, 20)
ADD_CREATURE_TO_POOL(FAIRY, 15)
ADD_CREATURE_TO_POOL(THIEF, 15)
ADD_CREATURE_TO_POOL(GIANT, 20)
ADD_CREATURE_TO_POOL(MONK, 20)
ADD_CREATURE_TO_POOL(WIZARD, 15)
ADD_CREATURE_TO_POOL(WITCH, 20)
ADD_CREATURE_TO_POOL(SAMURAI, 15)

MAGIC_AVAILABLE(ALL_PLAYERS, POWER_IMP, 1, 1)

ROOM_AVAILABLE(ALL_PLAYERS, TREASURE, 1, 1)
ROOM_AVAILABLE(ALL_PLAYERS, LAIR, 1, 1)
ROOM_AVAILABLE(ALL_PLAYERS, GARDEN, 1, 1)

DOOR_AVAILABLE(ALL_PLAYERS, WOOD, 1, 0)

SET_CREATURE_HEALTH(FLY, 1000)
SET_CREATURE_ARMOUR(FLY, 70)

REM *** MONSTERS PARTY ***

CREATE_PARTY(AT_ROOM)
ADD_TO_PARTY(AT_ROOM, TROLL, 4, 400, ATTACK_ROOMS, 0)

CREATE_PARTY(ST_GOLD)
ADD_TO_PARTY(ST_GOLD, HELL_HOUND, 5, 0, STEAL_GOLD, 0)

CREATE_PARTY(ATTACK1)
ADD_TO_PARTY(ATTACK1, TROLL, 4, 300, ATTACK_ROOMS, 0)
ADD_TO_PARTY(ATTACK1, ORC, 6, 800, ATTACK_DUNGEON_HEART, 0)
ADD_TO_PARTY(ATTACK1, TROLL, 4, 300, ATTACK_ROOMS, 0)
ADD_TO_PARTY(ATTACK1, TROLL, 4, 300, ATTACK_ROOMS, 0)
ADD_TO_PARTY(ATTACK1, TROLL, 4, 300, ATTACK_ROOMS, 0)
ADD_TO_PARTY(ATTACK1, TROLL, 4, 300, ATTACK_ROOMS, 0)

CREATE_PARTY(ATTACK2)
ADD_TO_PARTY(ATTACK2, DRAGON, 10, 1200, ATTACK_DUNGEON_HEART, 0)
ADD_TO_PARTY(ATTACK2, SORCEROR, 10, 1200, ATTACK_DUNGEON_HEART, 0)
ADD_TO_PARTY(ATTACK2, DRAGON, 10, 1200, ATTACK_DUNGEON_HEART, 0)

CREATE_PARTY(GUARD1)
ADD_TO_PARTY(GUARD1, SKELETON, 10, 800, ATTACK_DUNGEON_HEART, 0)
ADD_TO_PARTY(GUARD1, SKELETON, 10, 800, ATTACK_DUNGEON_HEART, 0)
ADD_TO_PARTY(GUARD1, VAMPIRE, 8, 1200, ATTACK_ENEMIES, 0)
ADD_TO_PARTY(GUARD1, VAMPIRE, 8, 1200, ATTACK_ENEMIES, 0)
ADD_TO_PARTY(GUARD1, HELL_HOUND, 6, 600, ATTACK_ROOMS, 0)
ADD_TO_PARTY(GUARD1, HELL_HOUND, 6, 600, ATTACK_ROOMS, 0)

CREATE_PARTY(GUARD2)
ADD_TO_PARTY(GUARD2, DRAGON, 6, 400, ATTACK_DUNGEON_HEART, 0)
ADD_TO_PARTY(GUARD2, SORCEROR, 7, 800, ATTACK_DUNGEON_HEART, 0)
ADD_TO_PARTY(GUARD2, DRAGON, 6, 400, ATTACK_DUNGEON_HEART, 0)
ADD_TO_PARTY(GUARD2, DRAGON, 6, 400, ATTACK_DUNGEON_HEART, 0)
ADD_TO_PARTY(GUARD2, DRAGON, 6, 400, ATTACK_DUNGEON_HEART, 0)

CREATE_PARTY(BOSS1)
ADD_TO_PARTY(BOSS1, BILE_DEMON, 5, 2000, ATTACK_ENEMIES, 0)
ADD_TO_PARTY(BOSS1, BILE_DEMON, 10, 10000, ATTACK_ENEMIES, 0)
ADD_TO_PARTY(BOSS1, BILE_DEMON, 5, 2000, ATTACK_ENEMIES, 0)
ADD_TO_PARTY(BOSS1, BILE_DEMON, 5, 2000, ATTACK_ENEMIES, 0)
ADD_TO_PARTY(BOSS1, BILE_DEMON, 5, 2000, ATTACK_ENEMIES, 0)
ADD_TO_PARTY(BOSS1, BILE_DEMON, 5, 2000, ATTACK_ENEMIES, 0)

CREATE_PARTY(BOSS2)
ADD_TO_PARTY(BOSS2, GHOST, 7, 500, DEFEND_PARTY, 0)
ADD_TO_PARTY(BOSS2, FLY, 10, 2000, ATTACK_ENEMIES, 0)
ADD_TO_PARTY(BOSS2, GHOST, 7, 500, DEFEND_PARTY, 0)

CREATE_PARTY(BOSS3)
ADD_TO_PARTY(BOSS3, VAMPIRE, 7, 1000, DEFEND_PARTY, 0)
ADD_TO_PARTY(BOSS3, DARK_MISTRESS, 10, 2000, ATTACK_ENEMIES, 0)
ADD_TO_PARTY(BOSS3, VAMPIRE, 7, 1000, DEFEND_PARTY, 0)

CREATE_PARTY(BOSS4)
ADD_TO_PARTY(BOSS4, MONK, 10, 1000, DEFEND_PARTY, 0)
ADD_TO_PARTY(BOSS4, KNIGHT, 10, 4000, ATTACK_DUNGEON_HEART, 0)
ADD_TO_PARTY(BOSS4, MONK, 10, 1000, DEFEND_PARTY, 0)
ADD_TO_PARTY(BOSS4, WITCH, 9, 1000, DEFEND_PARTY, 0)
ADD_TO_PARTY(BOSS4, WITCH, 9, 1000, DEFEND_PARTY, 0)

CREATE_PARTY(HERO1)
ADD_TO_PARTY(HERO1, SAMURAI, 9, 1000, DEFEND_PARTY, 0)
ADD_TO_PARTY(HERO1, WIZARD, 10, 2000, ATTACK_DUNGEON_HEART, 0)
ADD_TO_PARTY(HERO1, SAMURAI, 9, 1000, DEFEND_PARTY, 0)
ADD_TO_PARTY(HERO1, ARCHER, 8, 1000, DEFEND_PARTY, 0)
ADD_TO_PARTY(HERO1, ARCHER, 8, 1000, DEFEND_PARTY, 0)

REM *** MAIN ***

IF_ACTION_POINT(6, PLAYER0)
	DISPLAY_OBJECTIVE(103, PLAYER0)
	ADD_PARTY_TO_LEVEL(PLAYER_GOOD, BOSS2, 5, 9)
	SET_FLAG(PLAYER_GOOD, FLAG0, 1)
	IF(PLAYER_GOOD, FLY == 0)
		DISPLAY_OBJECTIVE(104, PLAYER0)
		MAGIC_AVAILABLE(ALL_PLAYERS, POWER_SPEED, 1, 1)
		TUTORIAL_FLASH_BUTTON(27, -1)
		SET_FLAG(PLAYER_GOOD, FLAG0, 2)
		IF(PLAYER_GOOD, FLAG1 == 2)
			IF(PLAYER_GOOD, FLAG2 == 2)
				DISPLAY_INFORMATION(108, PLAYER0)
				ADD_PARTY_TO_LEVEL(PLAYER_GOOD, BOSS4, 20, 1)
				ADD_PARTY_TO_LEVEL(PLAYER_GOOD, HERO1, 20, 2)
				IF(PLAYER_GOOD, KNIGHT == 0)
					DISPLAY_OBJECTIVE(109, PLAYER0)
					WIN_GAME
				ENDIF
			ENDIF
		ENDIF
	ENDIF
ENDIF

IF_ACTION_POINT(10, PLAYER0)
	DISPLAY_OBJECTIVE(100, PLAYER0)
	SET_CREATURE_STRENGTH(BILE_DEMON, 255)
	SET_CREATURE_ARMOUR(BILE_DEMON, 255)
	SET_CREATURE_FEAR(BILE_DEMON, 0)
	ADD_PARTY_TO_LEVEL(PLAYER_GOOD, BOSS1, 11, 1)
	SET_FLAG(PLAYER_GOOD, FLAG1, 1)
	IF(PLAYER_GOOD, BILE_DEMON == 0)
		DISPLAY_OBJECTIVE(101, PLAYER0)
		MAGIC_AVAILABLE(ALL_PLAYERS, POWER_HEAL_CREATURE, 1, 1)
		TUTORIAL_FLASH_BUTTON(26, -1)
		SET_FLAG(PLAYER_GOOD, FLAG1, 2)
	ENDIF
ENDIF

IF_ACTION_POINT(18, PLAYER0)
	DISPLAY_OBJECTIVE(106, PLAYER0)
	SET_CREATURE_ARMOUR(DARK_MISTRESS, 200)
	ADD_PARTY_TO_LEVEL(PLAYER_GOOD, BOSS3, 19, 4)
	SET_FLAG(PLAYER_GOOD, FLAG2, 1)
	IF(PLAYER_GOOD, FLAG2 == 1)
		SET_TIMER(PLAYER_GOOD, TIMER2)
		IF(PLAYER_GOOD, TIMER2 > 2500)
			ADD_CREATURE_TO_LEVEL(PLAYER_GOOD, DARK_MISTRESS, 19, 4, 7, 1000)
		ENDIF
		IF(PLAYER_GOOD, TIMER2 > 6000)
			ADD_CREATURE_TO_LEVEL(PLAYER_GOOD, DARK_MISTRESS, 19, 4, 4, 1000)
		ENDIF
	ENDIF
	IF(PLAYER_GOOD, DARK_MISTRESS == 0)
		DISPLAY_OBJECTIVE(107, PLAYER0)
		MAGIC_AVAILABLE(ALL_PLAYERS, POWER_LIGHTNING, 1, 1)
		TUTORIAL_FLASH_BUTTON(25, -1)
		SET_FLAG(PLAYER_GOOD, FLAG2, 2)
	ENDIF
ENDIF

rem tCLO
IF(PLAYER_GOOD, FLAG0 == 0)
	IF_ACTION_POINT(1, PLAYER0)
		ADD_CREATURE_TO_LEVEL(PLAYER_GOOD, BUG, 3, 2, 6, 200)
		ADD_CREATURE_TO_LEVEL(PLAYER_GOOD, SPIDER, 4, 3, 4, 200)
	ENDIF
	IF_ACTION_POINT(2, PLAYER0)
		ADD_CREATURE_TO_LEVEL(PLAYER_GOOD, BUG, 4, 5, 4, 200)
		ADD_CREATURE_TO_LEVEL(PLAYER_GOOD, SPIDER, 4, 6, 3, 200)
		SET_TIMER(PLAYER_GOOD, TIMER0)
		IF(PLAYER_GOOD, TIMER0 > 5000)
			ADD_CREATURE_TO_LEVEL(PLAYER_GOOD, BUG, 3, 4, 5, 200)
			ADD_CREATURE_TO_LEVEL(PLAYER_GOOD, SPIDER, 3, 5, 6, 200)
		ENDIF
	ENDIF
	IF_ACTION_POINT(3, PLAYER0)
		ADD_CREATURE_TO_LEVEL(PLAYER_GOOD, BUG, 3, 6, 3, 200)
		ADD_CREATURE_TO_LEVEL(PLAYER_GOOD, SPIDER, 3, 4, 4, 200)
		ADD_CREATURE_TO_LEVEL(PLAYER_GOOD, BUG, 4, 3, 7, 200)
		ADD_CREATURE_TO_LEVEL(PLAYER_GOOD, SPIDER, 4, 1, 9, 200)
	ENDIF
	IF_ACTION_POINT(23, PLAYER0)
		DISPLAY_INFORMATION(102, PLAYER0)
		ADD_CREATURE_TO_LEVEL(PLAYER_GOOD, BUG, 4, 4, 5, 200)
		ADD_CREATURE_TO_LEVEL(PLAYER_GOOD, SPIDER, 4, 2, 8, 200)
		ADD_CREATURE_TO_LEVEL(PLAYER_GOOD, TENTACLE, 5, 6, 10, 0)
		SET_TIMER(PLAYER_GOOD, TIMER5)
		IF(PLAYER_GOOD, TIMER5 > 3200)
			ADD_CREATURE_TO_LEVEL(PLAYER_GOOD, BUG, 3, 2, 7, 200)
			ADD_CREATURE_TO_LEVEL(PLAYER_GOOD, SPIDER, 3, 6, 4, 200)
		ENDIF
	ENDIF
ENDIF

rem oCf[[h
IF(PLAYER_GOOD, FLAG1 == 0)
	IF_ACTION_POINT(7, PLAYER0)
		ADD_PARTY_TO_LEVEL(PLAYER_GOOD, AT_ROOM, 9, 4)
		SET_TIMER(PLAYER_GOOD, TIMER3)
	ENDIF
	IF_ACTION_POINT(8, PLAYER0)
		ADD_CREATURE_TO_LEVEL(PLAYER_GOOD, TROLL, 8, 4, 4, 200)
		SET_TIMER(PLAYER_GOOD, TIMER3)
	ENDIF
	IF_ACTION_POINT(9, PLAYER0)
		DISPLAY_INFORMATION(99, PLAYER0)
		ADD_CREATURE_TO_LEVEL(PLAYER_GOOD, ORC, 9, 4, 7, 500)
		ADD_CREATURE_TO_LEVEL(PLAYER_GOOD, BILE_DEMON, 12, 4, 8, 500)
		SET_TIMER(PLAYER_GOOD, TIMER4)
		IF(PLAYER_GOOD, TIMER4 >= 7500)
			ADD_PARTY_TO_LEVEL(PLAYER_GOOD, ATTACK1, 9, 2)
		ENDIF
	ENDIF
	IF_ACTION_POINT(12, PLAYER0)
		ADD_CREATURE_TO_LEVEL(PLAYER_GOOD, BILE_DEMON, 12, 3, 9, 600)
		ADD_CREATURE_TO_LEVEL(PLAYER_GOOD, TROLL, 13, 5, 7, 300)
	ENDIF
	IF_ACTION_POINT(13, PLAYER0)
		ADD_CREATURE_TO_LEVEL(PLAYER_GOOD, DEMONSPAWN, 12, 4, 10, 200)
		ADD_CREATURE_TO_LEVEL(PLAYER_GOOD, ORC, 13, 2, 8, 400)
	ENDIF
	IF_ACTION_POINT(25, PLAYER0)
		ADD_CREATURE_TO_LEVEL(PLAYER_GOOD, ORC, 9, 8, 5, 300)
	ENDIF
	IF(PLAYER_GOOD, TIMER3 >= 6500)
		ADD_PARTY_TO_LEVEL(PLAYER_GOOD, AT_ROOM, 9, 4)
		ADD_PARTY_TO_LEVEL(PLAYER_GOOD, ATTACK1, 9, 1)
	ENDIF
	IF(PLAYER_GOOD, TIMER3 >= 14000)
		ADD_CREATURE_TO_LEVEL(PLAYER_GOOD, DRAGON, 9, 3, 6, 400)
		ADD_CREATURE_TO_LEVEL(PLAYER_GOOD, TROLL, 9, 8, 4, 200)
	ENDIF
ENDIF

rem w~XgX
IF(PLAYER_GOOD, FLAG2 == 0)
	IF_ACTION_POINT(14, PLAYER0)
		ADD_CREATURE_TO_LEVEL(PLAYER_GOOD, VAMPIRE, 17, 2, 4, 800)
	ENDIF
	IF_ACTION_POINT(15, PLAYER0)
		ADD_CREATURE_TO_LEVEL(PLAYER_GOOD, VAMPIRE, 17, 4, 2, 800)
	ENDIF
	IF_ACTION_POINT(16, PLAYER0)
		ADD_CREATURE_TO_LEVEL(PLAYER_GOOD, DARK_MISTRESS, 17, 4, 6, 800)
		ADD_CREATURE_TO_LEVEL(PLAYER_GOOD, VAMPIRE, 17, 3, 5, 800)
		SET_FLAG(PLAYER_GOOD, FLAG3, 1)
	ENDIF
	IF_ACTION_POINT(24, PLAYER0)
		ADD_PARTY_TO_LEVEL(PLAYER_GOOD, ATTACK2, 17, 1)
		ADD_CREATURE_TO_LEVEL(PLAYER_GOOD, VAMPIRE, 17, 3, 5, 800)
		SET_FLAG(PLAYER_GOOD, FLAG3, 1)
	ENDIF
	IF_ACTION_POINT(26, PLAYER0)
		SET_TIMER(PLAYER_GOOD, TIMER1)
		IF(PLAYER_GOOD, TIMER1 > 4000)
			ADD_PARTY_TO_LEVEL(PLAYER_GOOD, ST_GOLD, 17, 4)
			ADD_CREATURE_TO_LEVEL(PLAYER_GOOD, DARK_MISTRESS, 17, 1, 9, 800)
			ADD_CREATURE_TO_LEVEL(PLAYER_GOOD, VAMPIRE, 17, 2, 6, 800)
		ENDIF
	ENDIF
	IF(PLAYER_GOOD, FLAG3 == 1)
		DISPLAY_INFORMATION(105, PLAYER0)
		ADD_PARTY_TO_LEVEL(PLAYER_GOOD, GUARD1, 21, 1)
		ADD_PARTY_TO_LEVEL(PLAYER_GOOD, GUARD2, 22, 2)
	ENDIF
ENDIF

IF(PLAYER0, TREASURE >= 25)
	NEXT_COMMAND_REUSABLE
	CREATURE_AVAILABLE(PLAYER0, THIEF, 1, 1)
ENDIF

IF(PLAYER0, GARDEN >= 25)
	DISPLAY_INFORMATION(98, PLAYER0)
	NEXT_COMMAND_REUSABLE
	CREATURE_AVAILABLE(PLAYER0, GIANT, 1, 1)
ENDIF

IF(PLAYER0, TRAINING >= 9)
	NEXT_COMMAND_REUSABLE
	CREATURE_AVAILABLE(PLAYER0, BARBARIAN, 1, 1)
ENDIF

IF(PLAYER0, WORKSHOP >= 9)
	NEXT_COMMAND_REUSABLE
	CREATURE_AVAILABLE(PLAYER0, DWARFA, 1, 1)
ENDIF

IF(PLAYER0, RESEARCH >= 9)
	NEXT_COMMAND_REUSABLE
	CREATURE_AVAILABLE(PLAYER0, WITCH, 1, 1)
ENDIF

IF(PLAYER0, BARRACKS >= 1)
	NEXT_COMMAND_REUSABLE
	CREATURE_AVAILABLE(PLAYER0, ARCHER, 1, 1)
ENDIF

IF(PLAYER0, TEMPLE >= 9)
	NEXT_COMMAND_REUSABLE
	CREATURE_AVAILABLE(PLAYER0, MONK, 1, 1)
ENDIF

rem IF(PLAYER0, SCAVENGER >= 9)
rem	NEXT_COMMAND_REUSABLE
rem	CREATURE_AVAILABLE(PLAYER0, FAIRY, 1, 1)
rem ENDIF

IF(PLAYER0, ENTRANCE >= 10)
	IF(PLAYER0, RESEARCH >= 25)
		NEXT_COMMAND_REUSABLE
		CREATURE_AVAILABLE(PLAYER0, WIZARD, 1, 1)
	ENDIF
	IF(PLAYER0, BARRACKS >= 25)
		NEXT_COMMAND_REUSABLE
		CREATURE_AVAILABLE(PLAYER0, SAMURAI, 1, 1)
	ENDIF
ENDIF

SET_TIMER(PLAYER0, TIMER0)
IF(PLAYER0, TIMER0 > 41)
	NEXT_COMMAND_REUSABLE
	CREATURE_AVAILABLE(PLAYER0, THIEF, 1, 0)
	NEXT_COMMAND_REUSABLE
	CREATURE_AVAILABLE(PLAYER0, BARBARIAN, 1, 0)
	NEXT_COMMAND_REUSABLE
	CREATURE_AVAILABLE(PLAYER0, GIANT, 1, 0)
	NEXT_COMMAND_REUSABLE
	CREATURE_AVAILABLE(PLAYER0, DWARFA, 1, 0)
	NEXT_COMMAND_REUSABLE
	CREATURE_AVAILABLE(PLAYER0, MONK, 1, 0)
	NEXT_COMMAND_REUSABLE
	CREATURE_AVAILABLE(PLAYER0, WITCH, 1, 0)
rem	NEXT_COMMAND_REUSABLE
rem	CREATURE_AVAILABLE(PLAYER0, FAIRY, 1, 0)
	NEXT_COMMAND_REUSABLE
	CREATURE_AVAILABLE(PLAYER0, ARCHER, 1, 0)
	NEXT_COMMAND_REUSABLE
	CREATURE_AVAILABLE(PLAYER0, WIZARD, 1, 0)
	NEXT_COMMAND_REUSABLE
	CREATURE_AVAILABLE(PLAYER0, SAMURAI, 1, 0)
	NEXT_COMMAND_REUSABLE
	SET_TIMER(PLAYER0, TIMER0)
ENDIF

DISPLAY_OBJECTIVE(97, PLAYER0)
