LEVEL_VERSION(1)
SET_GENERATE_SPEED(400)
START_MONEY(ALL_PLAYERS,45000)
MAX_CREATURES(ALL_PLAYERS,25)

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)

ROOM_AVAILABLE(ALL_PLAYERS,TREASURE,0,0)
ROOM_AVAILABLE(ALL_PLAYERS,LAIR,0,0)
ROOM_AVAILABLE(ALL_PLAYERS,GARDEN,0,0)
ROOM_AVAILABLE(ALL_PLAYERS,TRAINING,0,0)
ROOM_AVAILABLE(ALL_PLAYERS,RESEARCH,0,0)
ROOM_AVAILABLE(ALL_PLAYERS,BRIDGE,0,0)
ROOM_AVAILABLE(ALL_PLAYERS,GUARD_POST,0,0)
ROOM_AVAILABLE(ALL_PLAYERS,WORKSHOP,0,0)
ROOM_AVAILABLE(ALL_PLAYERS,PRISON,0,0)
ROOM_AVAILABLE(ALL_PLAYERS,TORTURE,0,0)
ROOM_AVAILABLE(ALL_PLAYERS,BARRACKS,0,0)
ROOM_AVAILABLE(ALL_PLAYERS,TEMPLE,0,0)
ROOM_AVAILABLE(ALL_PLAYERS,GRAVEYARD,0,0)
ROOM_AVAILABLE(ALL_PLAYERS,SCAVENGER,0,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,0,0)
MAGIC_AVAILABLE(ALL_PLAYERS,POWER_SIGHT,0,0)
MAGIC_AVAILABLE(ALL_PLAYERS,POWER_SPEED,1,1)
MAGIC_AVAILABLE(ALL_PLAYERS,POWER_OBEY,0,0)
MAGIC_AVAILABLE(ALL_PLAYERS,POWER_CALL_TO_ARMS,1,1)
MAGIC_AVAILABLE(ALL_PLAYERS,POWER_CONCEAL,1,1)
MAGIC_AVAILABLE(ALL_PLAYERS,POWER_HOLD_AUDIENCE,0,0)
MAGIC_AVAILABLE(ALL_PLAYERS,POWER_CAVE_IN,0,0)
MAGIC_AVAILABLE(ALL_PLAYERS,POWER_HEAL_CREATURE,1,1)
MAGIC_AVAILABLE(ALL_PLAYERS,POWER_LIGHTNING,1,1)
MAGIC_AVAILABLE(ALL_PLAYERS,POWER_PROTECT,1,1)
MAGIC_AVAILABLE(ALL_PLAYERS,POWER_CHICKEN,1,1)
MAGIC_AVAILABLE(ALL_PLAYERS,POWER_DISEASE,0,0)
MAGIC_AVAILABLE(ALL_PLAYERS,POWER_ARMAGEDDON,0,0)
MAGIC_AVAILABLE(ALL_PLAYERS,POWER_DESTROY_WALLS,0,0)

TRAP_AVAILABLE(ALL_PLAYERS,ALARM,0,0)
TRAP_AVAILABLE(ALL_PLAYERS,POISON_GAS,0,0)
TRAP_AVAILABLE(ALL_PLAYERS,LIGHTNING,0,0)
TRAP_AVAILABLE(ALL_PLAYERS,LAVA,0,0)
TRAP_AVAILABLE(ALL_PLAYERS,BOULDER,0,0)
TRAP_AVAILABLE(ALL_PLAYERS,WORD_OF_POWER,0,0)
TRAP_AVAILABLE(ALL_PLAYERS,TRAP_HEART,0,0)

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

QUICK_OBJECTIVE(1, "tricks and Traps, Secrets Abound!!,, as does Death.", PLAYER0)

CREATE_PARTY(SNIPE_PARTY)
ADD_TO_PARTY(SNIPE_PARTY,WIZARD,8,1000,ATTACK_ENEMIES,0)
ADD_TO_PARTY(SNIPE_PARTY,WIZARD,8,1000,ATTACK_ENEMIES,0)
ADD_TO_PARTY(SNIPE_PARTY,WIZARD,6,1000,ATTACK_ENEMIES,0)
ADD_TO_PARTY(SNIPE_PARTY,ARCHER,10,1000,ATTACK_ENEMIES,0)
ADD_TO_PARTY(SNIPE_PARTY,ARCHER,10,1000,ATTACK_ENEMIES,0)
ADD_TO_PARTY(SNIPE_PARTY,SAMURAI,6,1000,ATTACK_ENEMIES,0)


CREATE_PARTY(TUNNEL_PARTY)
ADD_TO_PARTY(TUNNEL_PARTY,DWARFA,2,2500,ATTACK_ROOMS,0)
ADD_TO_PARTY(TUNNEL_PARTY,DWARFA,2,2500,ATTACK_ROOMS,0)
ADD_TO_PARTY(TUNNEL_PARTY,TUNNELLER,2,2500,ATTACK_ROOMS,0)
ADD_TO_PARTY(TUNNEL_PARTY,THIEF,1,2500,ATTACK_ROOMS,0)
ADD_TO_PARTY(TUNNEL_PARTY,THIEF,1,2500,ATTACK_ROOMS,0)

CREATE_PARTY(MISSKILL_PARTY)
ADD_TO_PARTY(MISSKILL_PARTY,SAMURAI,5,2500,ATTACK_ENEMIES,0)
ADD_TO_PARTY(MISSKILL_PARTY,SAMURAI,5,2500,ATTACK_ENEMIES,0)

CREATE_PARTY(FINAL_PARTY)
ADD_TO_PARTY(FINAL_PARTY,SAMURAI,10,2500,ATTACK_ENEMIES,0)
ADD_TO_PARTY(FINAL_PARTY,SAMURAI,10,2500,ATTACK_ENEMIES,0)
ADD_TO_PARTY(FINAL_PARTY,MONK,10,2500,ATTACK_ENEMIES,0)
ADD_TO_PARTY(FINAL_PARTY,WITCH,10,2500,ATTACK_ENEMIES,0)
ADD_TO_PARTY(FINAL_PARTY,KNIGHT,10,2500,ATTACK_ENEMIES,0)
ADD_TO_PARTY(FINAL_PARTY,AVATAR,10,2500,ATTACK_ENEMIES,0)
ADD_TO_PARTY(FINAL_PARTY,GIANT,10,2500,ATTACK_ENEMIES,0)


REM IF REACHED, HEROES WILL SPAWN TO DESTRoy LAIR, AFTER TIME
IF_ACTION_POINT(1,PLAYER0)
	SET_TIMER(PLAYER0,TIMER1)
		IF(PLAYER0,TIMER1 >= 4800)
			ADD_PARTY_TO_LEVEL(PLAYER_GOOD,TUNNEL_PARTY,1,1)
		ENDIF
ENDIF

IF_ACTION_POINT(2,PLAYER0)
	QUICK_INFORMATION(2,"Which is the real Dungeon Heart? Choose Wisely.",2,1)
ENDIF

REM IF MISTRESS CREATED IN TEMPLE, HERO PARTY SPAWN TO KILL HER
IF(PLAYER0,REWARDED[DARK_MISTRESS] == 1)
    ADD_PARTY_TO_LEVEL(PLAYER_GOOD,MISSKILL_PARTY,3,1)
ENDIF
IF(PLAYER0,REWARDED[DARK_MISTRESS] == 2)
    ADD_PARTY_TO_LEVEL(PLAYER_GOOD,MISSKILL_PARTY,3,1)
ENDIF
IF(PLAYER0,REWARDED[DARK_MISTRESS] == 3)
    ADD_PARTY_TO_LEVEL(PLAYER_GOOD,MISSKILL_PARTY,3,1)
ENDIF
IF(PLAYER0,REWARDED[DARK_MISTRESS] == 4)
    ADD_PARTY_TO_LEVEL(PLAYER_GOOD,MISSKILL_PARTY,3,1)
ENDIF
IF(PLAYER0,REWARDED[DARK_MISTRESS] == 5)
    ADD_PARTY_TO_LEVEL(PLAYER_GOOD,MISSKILL_PARTY,3,1)
ENDIF

REM ATTACK PRISON IF SKELETONS GET TOO MANY
IF(PLAYER0,SKELETON >= 10)
	USE_POWER_AT_LOCATION(PLAYER_GOOD,6,POWER_CAVE_IN,9,1)
ENDIF
IF(PLAYER0,SKELETON >= 12)
	USE_POWER_AT_LOCATION(PLAYER_GOOD,6,POWER_CAVE_IN,9,1)
ENDIF
IF(PLAYER0,SKELETON >= 14)
	USE_POWER_AT_LOCATION(PLAYER_GOOD,6,POWER_CAVE_IN,9,1)
ENDIF
IF(PLAYER0,SKELETON >= 16)
	USE_POWER_AT_LOCATION(PLAYER_GOOD,6,POWER_CAVE_IN,9,1)
ENDIF
IF(PLAYER0,SKELETON >= 18)
	USE_POWER_AT_LOCATION(PLAYER_GOOD,6,POWER_CAVE_IN,9,1)
ENDIF

REM KEEP SKELETONS TO 20 MAX
IF(PLAYER0,SKELETON >= 20)
	NEXT_COMMAND_REUSABLE
	KILL_CREATURE(PLAYER0,SKELETON,ANYWHERE,1)
ENDIF	


REM CREATES IMP IF PLAYER RUNS OUT, LOCATED AT DUNGEON HEART,1,1 POWERLEVEL, COST 1=FREE
IF(PLAYER0,IMP == 0)
	NEXT_COMMAND_REUSABLE
	USE_POWER_AT_LOCATION(PLAYER0,4,POWER_IMP,3,1)
ENDIF

REM -- activation ROOM after finding
IF(PLAYER0,BRIDGE > 0)
	ROOM_AVAILABLE(PLAYER0,BRIDGE,1,1)
ENDIF

REM CHICKEN IMPS RAMDOMLY
SET_TIMER(PLAYER0,TIMER2)

IF(PLAYER0,TIMER2 >= DRAWFROM(3000~5000))
	NEXT_COMMAND_REUSABLE
	USE_POWER_ON_CREATURE(PLAYER0,IMP,ANYWHERE,PLAYER_GOOD,POWER_CHICKEN,9,1)
	NEXT_COMMAND_REUSABLE
	SET_TIMER(PLAYER0,TIMER2)
ENDIF

IF_ACTION_POINT(7,PLAYER0)
	ADD_PARTY_TO_LEVEL(PLAYER_GOOD,SNIPE_PARTY,8,1)
ENDIF

IF_ACTION_POINT(8,PLAYER0)
	ADD_PARTY_TO_LEVEL(PLAYER_GOOD,SNIPE_PARTY,9,1)
ENDIF

IF_ACTION_POINT(9,PLAYER0)
	ADD_PARTY_TO_LEVEL(PLAYER_GOOD,SNIPE_PARTY,10,2)
ENDIF

IF_ACTION_POINT(10,PLAYER0)
	ADD_PARTY_TO_LEVEL(PLAYER_GOOD,SNIPE_PARTY,11,2)
ENDIF

IF_ACTION_POINT(11,PLAYER0)
	ADD_PARTY_TO_LEVEL(PLAYER_GOOD,SNIPE_PARTY,12,3)
ENDIF

IF_ACTION_POINT(13,PLAYER0)
	ADD_PARTY_TO_LEVEL(PLAYER_GOOD,FINAL_PARTY,13,3)
ENDIF

REM lightning spell at multiply creatures
IF_ACTION_POINT(14,PLAYER0)
	SET_TIMER(PLAYER0,TIMER3)
	IF(PLAYER0,TIMER3 >= 10)
	USE_POWER_AT_LOCATION(PLAYER_GOOD,14,POWER_LIGHTNING,9,1)
	IF(PLAYER0,TIMER3 >= 35)
	USE_POWER_AT_LOCATION(PLAYER_GOOD,14,POWER_LIGHTNING,9,1)
	IF(PLAYER0,TIMER3 >= 60)
	USE_POWER_AT_LOCATION(PLAYER_GOOD,14,POWER_LIGHTNING,9,1)
	IF(PLAYER0,TIMER3 >= 85)
	USE_POWER_AT_LOCATION(PLAYER_GOOD,14,POWER_LIGHTNING,9,1)
	IF(PLAYER0,TIMER3 >= 110)
	USE_POWER_AT_LOCATION(PLAYER_GOOD,14,POWER_LIGHTNING,9,1)
	IF(PLAYER0,TIMER3 >= 135)
	USE_POWER_AT_LOCATION(PLAYER_GOOD,14,POWER_LIGHTNING,9,1)
	IF(PLAYER0,TIMER3 >= 160)
	USE_POWER_AT_LOCATION(PLAYER_GOOD,14,POWER_LIGHTNING,9,1)
	IF(PLAYER0,TIMER3 >= 185)
	USE_POWER_AT_LOCATION(PLAYER_GOOD,14,POWER_LIGHTNING,9,1)
	IF(PLAYER0,TIMER3 >= 210)
	USE_POWER_AT_LOCATION(PLAYER_GOOD,14,POWER_LIGHTNING,9,1)
	IF(PLAYER0,TIMER3 >= 235)
	USE_POWER_AT_LOCATION(PLAYER_GOOD,14,POWER_LIGHTNING,9,1)
	IF(PLAYER0,TIMER3 >= 260)
	USE_POWER_AT_LOCATION(PLAYER_GOOD,14,POWER_LIGHTNING,9,1)
	IF(PLAYER0,TIMER3 >= 285)
	USE_POWER_AT_LOCATION(PLAYER_GOOD,14,POWER_LIGHTNING,9,1)
	IF(PLAYER0,TIMER3 >= 310)
	USE_POWER_AT_LOCATION(PLAYER_GOOD,14,POWER_LIGHTNING,9,1)
	IF(PLAYER0,TIMER3 >= 335)
	USE_POWER_AT_LOCATION(PLAYER_GOOD,14,POWER_LIGHTNING,9,1)
	IF(PLAYER0,TIMER3 >= 360)
	USE_POWER_AT_LOCATION(PLAYER_GOOD,14,POWER_LIGHTNING,9,1)
	IF(PLAYER0,TIMER3 >= 385)
	USE_POWER_AT_LOCATION(PLAYER_GOOD,14,POWER_LIGHTNING,9,1)
	IF(PLAYER0,TIMER3 >= 410)
	USE_POWER_AT_LOCATION(PLAYER_GOOD,14,POWER_LIGHTNING,9,1)
	IF(PLAYER0,TIMER3 >= 435)
	USE_POWER_AT_LOCATION(PLAYER_GOOD,14,POWER_LIGHTNING,9,1)
ENDIF
ENDIF
ENDIF
ENDIF
ENDIF
ENDIF
ENDIF
ENDIF
ENDIF
ENDIF
ENDIF
ENDIF
ENDIF
ENDIF
ENDIF
ENDIF
ENDIF
ENDIF
ENDIF

IF_ACTION_POINT(15,PLAYER0)
	ADD_PARTY_TO_LEVEL(PLAYER_GOOD,FINAL_PARTY,5,1)
ENDIF

IF_SLAB_TYPE(152,10,LAVA)
REM NEXT_COMMAND_REUSABLE
	USE_POWER_AT_POS(PLAYER_GOOD,457,34,POWER_CAVE_IN,9,1)
ENDIF

IF_SLAB_TYPE(154,12,LAVA)
REM NEXT_COMMAND_REUSABLE
	USE_POWER_AT_POS(PLAYER_GOOD,460,37,POWER_CAVE_IN,9,1)
ENDIF

IF_SLAB_TYPE(150,12,LAVA)
REM NEXT_COMMAND_REUSABLE
	USE_POWER_AT_POS(PLAYER_GOOD,454,37,POWER_CAVE_IN,9,1)
ENDIF

IF_SLAB_TYPE(152,14,LAVA)
REM NEXT_COMMAND_REUSABLE
	USE_POWER_AT_POS(PLAYER_GOOD,457,40,POWER_CAVE_IN,9,1)
ENDIF

IF_SLAB_TYPE(152,12,PATH)
	WIN_GAME
ENDIF



