REM play level  84
SET_GENERATE_SPEED(500)
MAX_CREATURES(PLAYER0,12)
START_MONEY(PLAYER0,6000)

ADD_CREATURE_TO_POOL(SORCEROR,43)
ADD_CREATURE_TO_POOL(BILE_DEMON,66)
ADD_CREATURE_TO_POOL(DARK_MISTRESS,121)
ADD_CREATURE_TO_POOL(TROLL,102)
ADD_CREATURE_TO_POOL(BUG,72)
ADD_CREATURE_TO_POOL(SPIDER,105)
ADD_CREATURE_TO_POOL(TENTACLE,45)
ADD_CREATURE_TO_POOL(ORC,63)
ADD_CREATURE_TO_POOL(DEMONSPAWN,43)

CREATURE_AVAILABLE(ALL_PLAYERS,TROLL,1,1)
CREATURE_AVAILABLE(ALL_PLAYERS,SORCEROR,1,1)
CREATURE_AVAILABLE(ALL_PLAYERS,BILE_DEMON,1,1)
CREATURE_AVAILABLE(ALL_PLAYERS,DARK_MISTRESS,1,1)
CREATURE_AVAILABLE(ALL_PLAYERS,ORC,1,1)
CREATURE_AVAILABLE(ALL_PLAYERS,DEMONSPAWN,1,1)
CREATURE_AVAILABLE(ALL_PLAYERS,SPIDER,1,1)
CREATURE_AVAILABLE(ALL_PLAYERS,TENTACLE,1,1)
CREATURE_AVAILABLE(ALL_PLAYERS,BUG,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,BARRACKS,1,0)
ROOM_AVAILABLE(ALL_PLAYERS,GUARD_POST,1,0)
ROOM_AVAILABLE(ALL_PLAYERS,TORTURE,1,0)
ROOM_AVAILABLE(ALL_PLAYERS,TEMPLE,1,0)
ROOM_AVAILABLE(ALL_PLAYERS,BRIDGE,1,0)
ROOM_AVAILABLE(ALL_PLAYERS,WORKSHOP,1,0)
ROOM_AVAILABLE(ALL_PLAYERS,GRAVEYARD,1,0)
ROOM_AVAILABLE(ALL_PLAYERS,PRISON,1,0)

MAGIC_AVAILABLE(ALL_PLAYERS,POWER_HAND,1,1)
MAGIC_AVAILABLE(ALL_PLAYERS,POWER_IMP,1,1)
MAGIC_AVAILABLE(ALL_PLAYERS,POWER_SLAP,1,1)

MAGIC_AVAILABLE(ALL_PLAYERS,POWER_OBEY,1,0)
MAGIC_AVAILABLE(ALL_PLAYERS,POWER_CALL_TO_ARMS,1,0)
MAGIC_AVAILABLE(ALL_PLAYERS,POWER_HEAL_CREATURE,1,0)
MAGIC_AVAILABLE(ALL_PLAYERS,POWER_SPEED,1,0)
MAGIC_AVAILABLE(ALL_PLAYERS,POWER_PROTECT,1,0)
MAGIC_AVAILABLE(ALL_PLAYERS,POWER_CONCEAL,1,0)
MAGIC_AVAILABLE(ALL_PLAYERS,POWER_CHICKEN,1,0)
MAGIC_AVAILABLE(ALL_PLAYERS,POWER_DISEASE,1,0)

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

TRAP_AVAILABLE(ALL_PLAYERS,ALARM,1,0)
TRAP_AVAILABLE(ALL_PLAYERS,POISON_GAS,1,0)
TRAP_AVAILABLE(ALL_PLAYERS,LIGHTNING,1,0)
TRAP_AVAILABLE(ALL_PLAYERS,LAVA,1,0)

QUICK_OBJECTIVE(1,"It is not a shock that no other keeper would dare step foot here. The Valley of Guardians is home to Heroes whom live by the saying, 'Fight and you'll be respected'. Build-up your forces, and take-out this Hero-infested realm!",PLAYER0)

IF(PLAYER0,WIZARD >= 1)
QUICK_INFORMATION(2,"This Wizard seemed to have been hiding from the Heroes. He seemed to have also spent his hiding time researching the Destroy Walls spell. Now you can enter the Hero Fort and kill every Hero inside!")
ENDIF

IF(PLAYER0,WIZARD >= 1)
    MAGIC_AVAILABLE(PLAYER0,POWER_DESTROY_WALLS,1,1)
ENDIF

IF(PLAYER_GOOD,AVATAR >= 1)
QUICK_INFORMATION(3,"Unbelievable! These Heroes are not as dumb as they look. They had magical beings actually resurrect the Avatar! Hope you're prepared to kill this being again, keeper. He looks like he wants vengance!")
ENDIF

IF(PLAYER_GOOD,DUNGEON_DESTROYED == 1)
    QUICK_INFORMATION(4,"The great Hero Fort of The Valley of Guardians is in ruins, as it should be. Nicely done.")
ENDIF

CREATE_PARTY(AVATAR1)
    ADD_TO_PARTY(AVATAR1,SORCEROR,7,86,DEFEND_PARTY,0)
    ADD_TO_PARTY(AVATAR1,SORCEROR,8,23,DEFEND_PARTY,0)
    ADD_TO_PARTY(AVATAR1,SORCEROR,9,35,DEFEND_PARTY,0)
    ADD_TO_PARTY(AVATAR1,SORCEROR,6,73,DEFEND_PARTY,0)
    ADD_TO_PARTY(AVATAR1,SORCEROR,7,102,DEFEND_PARTY,0)
    ADD_TO_PARTY(AVATAR1,SORCEROR,5,65,DEFEND_PARTY,0)
    ADD_TO_PARTY(AVATAR1,AVATAR,10,0,ATTACK_ENEMIES,0)
IF_ACTION_POINT(1,PLAYER0)
    ADD_PARTY_TO_LEVEL(PLAYER_GOOD,AVATAR1,1,1)
ENDIF

CREATE_PARTY(KEEPERKILLERS)
    ADD_TO_PARTY(KEEPERKILLERS,TUNNELLER,10,0,ATTACK_DUNGEON_HEART,0)
    ADD_TO_PARTY(KEEPERKILLERS,TUNNELLER,10,0,ATTACK_DUNGEON_HEART,0)
    ADD_TO_PARTY(KEEPERKILLERS,TUNNELLER,10,0,ATTACK_DUNGEON_HEART,0)
    ADD_TO_PARTY(KEEPERKILLERS,TUNNELLER,10,0,ATTACK_DUNGEON_HEART,0)
    ADD_TO_PARTY(KEEPERKILLERS,TUNNELLER,10,0,ATTACK_DUNGEON_HEART,0)
    ADD_TO_PARTY(KEEPERKILLERS,TUNNELLER,10,0,ATTACK_DUNGEON_HEART,0)
    ADD_TO_PARTY(KEEPERKILLERS,TUNNELLER,10,0,ATTACK_DUNGEON_HEART,0)
IF_ACTION_POINT(2,PLAYER0)
    ADD_PARTY_TO_LEVEL(PLAYER_GOOD,KEEPERKILLERS,2,1)
ENDIF

CREATE_PARTY(JUVENILE)
    ADD_TO_PARTY(JUVENILE,DARK_MISTRESS,1,33,ATTACK_ENEMIES,0)
    ADD_TO_PARTY(JUVENILE,DARK_MISTRESS,4,25,ATTACK_ENEMIES,0)
    ADD_TO_PARTY(JUVENILE,DARK_MISTRESS,9,23,ATTACK_ENEMIES,0)
    ADD_TO_PARTY(JUVENILE,SKELETON,6,900,DEFEND_PARTY,0)
    ADD_TO_PARTY(JUVENILE,SKELETON,3,105,DEFEND_PARTY,0)
    ADD_TO_PARTY(JUVENILE,GHOST,8,32,ATTACK_ENEMIES,0)
IF_ACTION_POINT(3,PLAYER0)
    ADD_PARTY_TO_LEVEL(PLAYER_GOOD,JUVENILE,3,1)
ENDIF

CREATE_PARTY(MORBID)
    ADD_TO_PARTY(MORBID,SPIDER,9,0,ATTACK_ENEMIES,0)
    ADD_TO_PARTY(MORBID,SPIDER,8,0,ATTACK_ENEMIES,0)
    ADD_TO_PARTY(MORBID,SPIDER,8,0,DEFEND_PARTY,0)
    ADD_TO_PARTY(MORBID,SPIDER,7,0,DEFEND_PARTY,0)
    ADD_TO_PARTY(MORBID,FLY,8,0,ATTACK_ENEMIES,0)
    ADD_TO_PARTY(MORBID,FLY,10,0,DEFEND_PARTY,0)
    ADD_TO_PARTY(MORBID,IMP,4,32,STEAL_GOLD,0)
IF_ACTION_POINT(4,PLAYER0)
    ADD_PARTY_TO_LEVEL(PLAYER_GOOD,MORBID,4,1)
ENDIF

CREATE_PARTY(IMPERFECTS)
    ADD_TO_PARTY(IMPERFECTS,THIEF,7,44,STEAL_GOLD,0)
    ADD_TO_PARTY(IMPERFECTS,DWARFA,9,18,ATTACK_ENEMIES,0)
    ADD_TO_PARTY(IMPERFECTS,THIEF,2,89,STEAL_GOLD,0)
    ADD_TO_PARTY(IMPERFECTS,BARBARIAN,7,0,DEFEND_PARTY,0)
    ADD_TO_PARTY(IMPERFECTS,BARBARIAN,6,0,DEFEND_PARTY,0)
    ADD_TO_PARTY(IMPERFECTS,GIANT,10,0,ATTACK_ENEMIES,0)
    ADD_TO_PARTY(IMPERFECTS,THIEF,6,123,STEAL_GOLD,0)
IF_ACTION_POINT(5,PLAYER0)
    ADD_PARTY_TO_LEVEL(PLAYER_GOOD,IMPERFECTS,5,1)
ENDIF

CREATE_PARTY(QUANTITY)
    ADD_TO_PARTY(QUANTITY,THIEF,5,13,DEFEND_PARTY,0)
    ADD_TO_PARTY(QUANTITY,DARK_MISTRESS,9,51,ATTACK_ENEMIES,0)
    ADD_TO_PARTY(QUANTITY,DARK_MISTRESS,8,102,ATTACK_ENEMIES,0)
    ADD_TO_PARTY(QUANTITY,DARK_MISTRESS,8,113,ATTACK_ENEMIES,0)
    ADD_TO_PARTY(QUANTITY,DRAGON,10,8025,DEFEND_PARTY,0)
    ADD_TO_PARTY(QUANTITY,GIANT,6,31,ATTACK_ENEMIES,0)
    ADD_TO_PARTY(QUANTITY,FAIRY,8,82,ATTACK_ENEMIES,0)
IF_ACTION_POINT(6,PLAYER0)
    ADD_PARTY_TO_LEVEL(PLAYER_GOOD,QUANTITY,6,1)
ENDIF

CREATE_PARTY(AVATARBODYGUARDS)
    ADD_TO_PARTY(AVATARBODYGUARDS,GIANT,1,0,ATTACK_ENEMIES,0)
    ADD_TO_PARTY(AVATARBODYGUARDS,KNIGHT,9,1207,DEFEND_PARTY,0)
    ADD_TO_PARTY(AVATARBODYGUARDS,WITCH,9,13,ATTACK_ENEMIES,0)
    ADD_TO_PARTY(AVATARBODYGUARDS,FAIRY,9,93,ATTACK_ENEMIES,0)
    ADD_TO_PARTY(AVATARBODYGUARDS,TUNNELLER,2,0,ATTACK_ROOMS,0)
    ADD_TO_PARTY(AVATARBODYGUARDS,DWARFA,7,0,ATTACK_ENEMIES,0)
    ADD_TO_PARTY(AVATARBODYGUARDS,DWARFA,7,0,ATTACK_ENEMIES,0)
IF_ACTION_POINT(7,PLAYER0)
    ADD_PARTY_TO_LEVEL(PLAYER_GOOD,AVATARBODYGUARDS,7,1)
ENDIF

CREATE_PARTY(NERDS)
    ADD_TO_PARTY(NERDS,SORCEROR,6,65,ATTACK_ENEMIES,0)
    ADD_TO_PARTY(NERDS,SORCEROR,9,115,DEFEND_PARTY,0)
    ADD_TO_PARTY(NERDS,SORCEROR,9,74,ATTACK_ENEMIES,0)
    ADD_TO_PARTY(NERDS,GHOST,10,45,ATTACK_ENEMIES,0)
    ADD_TO_PARTY(NERDS,GHOST,9,23,ATTACK_ENEMIES,0)
    ADD_TO_PARTY(NERDS,WITCH,5,41,ATTACK_ENEMIES,0)
    ADD_TO_PARTY(NERDS,WITCH,7,72,ATTACK_ENEMIES,0)
IF_ACTION_POINT(8,PLAYER0)
    ADD_PARTY_TO_LEVEL(PLAYER_GOOD,NERDS,8,1)
ENDIF

CREATE_PARTY(QUALITY)
    ADD_TO_PARTY(QUALITY,SAMURAI,5,12,ATTACK_ENEMIES,0)
    ADD_TO_PARTY(QUALITY,WITCH,4,101,ATTACK_ENEMIES,0)
    ADD_TO_PARTY(QUALITY,SKELETON,6,5,DEFEND_PARTY,0)
    ADD_TO_PARTY(QUALITY,GHOST,6,7,ATTACK_ENEMIES,0)
    ADD_TO_PARTY(QUALITY,FAIRY,7,52,DEFEND_PARTY,0)
    ADD_TO_PARTY(QUALITY,WITCH,2,6,DEFEND_PARTY,0)
    ADD_TO_PARTY(QUALITY,THIEF,10,24,STEAL_GOLD,0)
IF_ACTION_POINT(9,PLAYER0)
    ADD_PARTY_TO_LEVEL(PLAYER_GOOD,QUALITY,9,1)
ENDIF

CREATE_PARTY(DERANGED)
    ADD_TO_PARTY(DERANGED,SKELETON,8,0,ATTACK_ENEMIES,0)
    ADD_TO_PARTY(DERANGED,SKELETON,7,0,ATTACK_ENEMIES,0)
    ADD_TO_PARTY(DERANGED,GIANT,8,6,ATTACK_ENEMIES,0)
    ADD_TO_PARTY(DERANGED,GIANT,10,0,ATTACK_ENEMIES,0)
    ADD_TO_PARTY(DERANGED,GIANT,8,110,ATTACK_ENEMIES,0)
    ADD_TO_PARTY(DERANGED,GIANT,4,2,ATTACK_ENEMIES,0)
    ADD_TO_PARTY(DERANGED,GIANT,10,0,ATTACK_ENEMIES,0)
IF_ACTION_POINT(10,PLAYER0)
    ADD_PARTY_TO_LEVEL(PLAYER_GOOD,DERANGED,10,1)
ENDIF

IF(PLAYER_GOOD,DUNGEON_DESTROYED == 1)
    IF(PLAYER_GOOD,AVATAR == 0)
        WIN_GAME
    ENDIF
ENDIF


IF(PLAYER0,DUNGEON_DESTROYED == 1)
    LOSE_GAME
ENDIF
