SET_GENERATE_SPEED(400)

COMPUTER_PLAYER(PLAYER1,3)

MAX_CREATURES(PLAYER0,30)
MAX_CREATURES(PLAYER1,30)

QUICK_OBJECTIVE(1,"Oh no - lord Butthead is on his way. Lord help me.",PLAYER0)
START_MONEY(PLAYER0,10000)
START_MONEY(PLAYER1,50000)


CREATURE_AVAILABLE(PLAYER0,BILE_DEMON,1,1)
CREATURE_AVAILABLE(PLAYER0,DEMONSPAWN,1,1)

DOOR_AVAILABLE(PLAYER0,WOOD,1,0)
DOOR_AVAILABLE(PLAYER1,WOOD,1,0)
DOOR_AVAILABLE(PLAYER2,WOOD,1,0)
DOOR_AVAILABLE(PLAYER3,WOOD,1,0)
DOOR_AVAILABLE(PLAYER0,BRACED,1,0)
DOOR_AVAILABLE(PLAYER1,BRACED,1,0)
DOOR_AVAILABLE(PLAYER2,BRACED,1,0)
DOOR_AVAILABLE(PLAYER3,BRACED,1,0)
DOOR_AVAILABLE(PLAYER0,STEEL,1,0)
DOOR_AVAILABLE(PLAYER1,STEEL,1,0)
DOOR_AVAILABLE(PLAYER2,STEEL,1,0)
DOOR_AVAILABLE(PLAYER3,STEEL,1,0)
DOOR_AVAILABLE(PLAYER0,MAGIC,1,0)
DOOR_AVAILABLE(PLAYER1,MAGIC,1,0)
DOOR_AVAILABLE(PLAYER2,MAGIC,1,0)
DOOR_AVAILABLE(PLAYER3,MAGIC,1,0)
TRAP_AVAILABLE(PLAYER0,ALARM,1,0)
TRAP_AVAILABLE(PLAYER1,ALARM,1,0)
TRAP_AVAILABLE(PLAYER2,ALARM,1,0)
TRAP_AVAILABLE(PLAYER3,ALARM,1,0)
TRAP_AVAILABLE(PLAYER0,POISON_GAS,1,0)
TRAP_AVAILABLE(PLAYER1,POISON_GAS,1,0)
TRAP_AVAILABLE(PLAYER2,POISON_GAS,1,0)
TRAP_AVAILABLE(PLAYER3,POISON_GAS,1,0)
TRAP_AVAILABLE(PLAYER0,LIGHTNING,1,0)
TRAP_AVAILABLE(PLAYER1,LIGHTNING,1,0)
TRAP_AVAILABLE(PLAYER2,LIGHTNING,1,0)
TRAP_AVAILABLE(PLAYER3,LIGHTNING,1,0)
TRAP_AVAILABLE(PLAYER0,LAVA,1,0)
TRAP_AVAILABLE(PLAYER1,LAVA,1,0)
TRAP_AVAILABLE(PLAYER2,LAVA,1,0)
TRAP_AVAILABLE(PLAYER3,LAVA,1,0)
TRAP_AVAILABLE(PLAYER0,BOULDER,1,0)
TRAP_AVAILABLE(PLAYER1,BOULDER,1,0)
TRAP_AVAILABLE(PLAYER2,BOULDER,1,0)
TRAP_AVAILABLE(PLAYER3,BOULDER,1,0)
TRAP_AVAILABLE(PLAYER0,WORD_OF_POWER,1,0)
TRAP_AVAILABLE(PLAYER1,WORD_OF_POWER,1,0)
TRAP_AVAILABLE(PLAYER2,WORD_OF_POWER,1,0)
TRAP_AVAILABLE(PLAYER3,WORD_OF_POWER,1,0)
MAGIC_AVAILABLE(PLAYER0,POWER_HAND,1,1)
MAGIC_AVAILABLE(PLAYER1,POWER_HAND,1,1)
MAGIC_AVAILABLE(PLAYER2,POWER_HAND,1,1)
MAGIC_AVAILABLE(PLAYER3,POWER_HAND,1,1)
MAGIC_AVAILABLE(PLAYER0,POWER_OBEY,1,1)
MAGIC_AVAILABLE(PLAYER1,POWER_OBEY,1,1)
MAGIC_AVAILABLE(PLAYER2,POWER_OBEY,1,1)
MAGIC_AVAILABLE(PLAYER3,POWER_OBEY,1,1)
MAGIC_AVAILABLE(PLAYER0,POWER_IMP,1,1)
MAGIC_AVAILABLE(PLAYER1,POWER_IMP,1,1)
MAGIC_AVAILABLE(PLAYER2,POWER_IMP,1,1)
MAGIC_AVAILABLE(PLAYER3,POWER_IMP,1,1)
MAGIC_AVAILABLE(PLAYER0,POWER_SLAP,1,1)
MAGIC_AVAILABLE(PLAYER1,POWER_SLAP,1,1)
MAGIC_AVAILABLE(PLAYER2,POWER_SLAP,1,1)
MAGIC_AVAILABLE(PLAYER3,POWER_SLAP,1,1)
MAGIC_AVAILABLE(PLAYER0,POWER_SIGHT,1,0)
MAGIC_AVAILABLE(PLAYER1,POWER_SIGHT,1,1)
MAGIC_AVAILABLE(PLAYER2,POWER_SIGHT,1,1)
MAGIC_AVAILABLE(PLAYER3,POWER_SIGHT,1,1)
MAGIC_AVAILABLE(PLAYER0,POWER_CALL_TO_ARMS,1,0)
MAGIC_AVAILABLE(PLAYER1,POWER_CALL_TO_ARMS,1,0)
MAGIC_AVAILABLE(PLAYER2,POWER_CALL_TO_ARMS,1,0)
MAGIC_AVAILABLE(PLAYER3,POWER_CALL_TO_ARMS,1,0)
MAGIC_AVAILABLE(PLAYER0,POWER_CAVE_IN,1,0)
MAGIC_AVAILABLE(PLAYER1,POWER_CAVE_IN,1,0)
MAGIC_AVAILABLE(PLAYER2,POWER_CAVE_IN,1,0)
MAGIC_AVAILABLE(PLAYER3,POWER_CAVE_IN,1,0)
MAGIC_AVAILABLE(PLAYER0,POWER_HEAL_CREATURE,1,1)
MAGIC_AVAILABLE(PLAYER1,POWER_HEAL_CREATURE,1,1)
MAGIC_AVAILABLE(PLAYER2,POWER_HEAL_CREATURE,1,1)
MAGIC_AVAILABLE(PLAYER3,POWER_HEAL_CREATURE,1,1)
MAGIC_AVAILABLE(PLAYER0,POWER_HOLD_AUDIENCE,1,1)
MAGIC_AVAILABLE(PLAYER1,POWER_HOLD_AUDIENCE,1,1)
MAGIC_AVAILABLE(PLAYER2,POWER_HOLD_AUDIENCE,1,1)
MAGIC_AVAILABLE(PLAYER3,POWER_HOLD_AUDIENCE,1,1)
MAGIC_AVAILABLE(PLAYER0,POWER_CHICKEN,1,0)
MAGIC_AVAILABLE(PLAYER1,POWER_CHICKEN,1,0)
MAGIC_AVAILABLE(PLAYER2,POWER_CHICKEN,1,0)
MAGIC_AVAILABLE(PLAYER3,POWER_CHICKEN,1,0)
MAGIC_AVAILABLE(PLAYER0,POWER_SPEED,1,1)
MAGIC_AVAILABLE(PLAYER1,POWER_SPEED,1,1)
MAGIC_AVAILABLE(PLAYER2,POWER_SPEED,1,1)
MAGIC_AVAILABLE(PLAYER3,POWER_SPEED,1,1)
MAGIC_AVAILABLE(PLAYER0,POWER_LIGHTNING,1,0)
MAGIC_AVAILABLE(PLAYER1,POWER_LIGHTNING,1,0)
MAGIC_AVAILABLE(PLAYER2,POWER_LIGHTNING,1,0)
MAGIC_AVAILABLE(PLAYER3,POWER_LIGHTNING,1,0)
MAGIC_AVAILABLE(PLAYER0,POWER_CONCEAL,1,0)
MAGIC_AVAILABLE(PLAYER1,POWER_CONCEAL,1,0)
MAGIC_AVAILABLE(PLAYER2,POWER_CONCEAL,1,0)
MAGIC_AVAILABLE(PLAYER3,POWER_CONCEAL,1,0)
MAGIC_AVAILABLE(PLAYER0,POWER_PROTECT,1,0)
MAGIC_AVAILABLE(PLAYER1,POWER_PROTECT,1,0)
MAGIC_AVAILABLE(PLAYER2,POWER_PROTECT,1,0)
MAGIC_AVAILABLE(PLAYER3,POWER_PROTECT,1,0)
MAGIC_AVAILABLE(PLAYER0,POWER_DISEASE,1,0)
MAGIC_AVAILABLE(PLAYER1,POWER_DISEASE,1,0)
MAGIC_AVAILABLE(PLAYER2,POWER_DISEASE,1,0)
MAGIC_AVAILABLE(PLAYER3,POWER_DISEASE,1,0)

ADD_CREATURE_TO_POOL(BILE_DEMON,40)
ADD_CREATURE_TO_POOL(FLY,40)
ADD_CREATURE_TO_POOL(SPIDER,40)
ADD_CREATURE_TO_POOL(BUG,40)
ADD_CREATURE_TO_POOL(DEMONSPAWN,40)
ADD_CREATURE_TO_POOL(ORC,40)
ADD_CREATURE_TO_POOL(TROLL,40)
ADD_CREATURE_TO_POOL(DARK_MISTRESS,40)
ADD_CREATURE_TO_POOL(SORCEROR,40)
ADD_CREATURE_TO_POOL(DRAGON,40)
ADD_CREATURE_TO_POOL(ARCHER,40)
ADD_CREATURE_TO_POOL(DWARFA,40)
ADD_CREATURE_TO_POOL(GIANT,40)
ADD_CREATURE_TO_POOL(FAIRY,40)
ADD_CREATURE_TO_POOL(TUNNELLER,40)
ADD_CREATURE_TO_POOL(THIEF,40)
ADD_CREATURE_TO_POOL(BARBARIAN,40)
ADD_CREATURE_TO_POOL(WIZARD,40)
ADD_CREATURE_TO_POOL(WITCH,40)
ADD_CREATURE_TO_POOL(SAMURAI,40)
ADD_CREATURE_TO_POOL(MONK,40)
ADD_CREATURE_TO_POOL(AVATAR,40)
ADD_CREATURE_TO_POOL(KNIGHT,40)
ADD_CREATURE_TO_POOL(HORNY,40)
ADD_CREATURE_TO_POOL(VAMPIRE,40)
ADD_CREATURE_TO_POOL(TENTACLE,40)
ADD_CREATURE_TO_POOL(SKELETON,40)

CREATURE_AVAILABLE(PLAYER1,ARCHER,1,1)
CREATURE_AVAILABLE(PLAYER3,ARCHER,1,1)
CREATURE_AVAILABLE(PLAYER1,GIANT,1,1)
CREATURE_AVAILABLE(PLAYER3,GIANT,1,1)
CREATURE_AVAILABLE(PLAYER1,FAIRY,1,1)
CREATURE_AVAILABLE(PLAYER3,FAIRY,1,1)
CREATURE_AVAILABLE(PLAYER1,BARBARIAN,1,1)
CREATURE_AVAILABLE(PLAYER3,BARBARIAN,1,1)
CREATURE_AVAILABLE(PLAYER1,WIZARD,1,1)
CREATURE_AVAILABLE(PLAYER3,WIZARD,1,1)
CREATURE_AVAILABLE(PLAYER1,WITCH,1,1)
CREATURE_AVAILABLE(PLAYER3,WITCH,1,1)
CREATURE_AVAILABLE(PLAYER1,SAMURAI,1,1)
CREATURE_AVAILABLE(PLAYER3,SAMURAI,1,1)
CREATURE_AVAILABLE(PLAYER1,MONK,1,1)
CREATURE_AVAILABLE(PLAYER3,MONK,1,1)
CREATURE_AVAILABLE(PLAYER1,KNIGHT,1,1)
CREATURE_AVAILABLE(PLAYER3,KNIGHT,1,1)
ROOM_AVAILABLE(PLAYER0,GUARD_POST,1,0)
ROOM_AVAILABLE(PLAYER1,GUARD_POST,1,0)
ROOM_AVAILABLE(PLAYER2,GUARD_POST,1,0)
ROOM_AVAILABLE(PLAYER3,GUARD_POST,1,0)
ROOM_AVAILABLE(PLAYER0,TREASURE,1,1)
ROOM_AVAILABLE(PLAYER1,TREASURE,1,1)
ROOM_AVAILABLE(PLAYER2,TREASURE,1,1)
ROOM_AVAILABLE(PLAYER3,TREASURE,1,1)
ROOM_AVAILABLE(PLAYER0,RESEARCH,1,1)
ROOM_AVAILABLE(PLAYER1,RESEARCH,1,1)
ROOM_AVAILABLE(PLAYER2,RESEARCH,1,1)
ROOM_AVAILABLE(PLAYER3,RESEARCH,1,1)
ROOM_AVAILABLE(PLAYER0,WORKSHOP,1,0)
ROOM_AVAILABLE(PLAYER1,WORKSHOP,1,0)
ROOM_AVAILABLE(PLAYER2,WORKSHOP,1,0)
ROOM_AVAILABLE(PLAYER3,WORKSHOP,1,0)
ROOM_AVAILABLE(PLAYER0,GARDEN,1,1)
ROOM_AVAILABLE(PLAYER1,GARDEN,1,1)
ROOM_AVAILABLE(PLAYER2,GARDEN,1,1)
ROOM_AVAILABLE(PLAYER3,GARDEN,1,1)
ROOM_AVAILABLE(PLAYER0,LAIR,1,1)
ROOM_AVAILABLE(PLAYER1,LAIR,1,1)
ROOM_AVAILABLE(PLAYER2,LAIR,1,1)
ROOM_AVAILABLE(PLAYER3,LAIR,1,1)
ROOM_AVAILABLE(PLAYER0,PRISON,1,0)
ROOM_AVAILABLE(PLAYER1,PRISON,1,0)
ROOM_AVAILABLE(PLAYER2,PRISON,1,0)
ROOM_AVAILABLE(PLAYER3,PRISON,1,0)
ROOM_AVAILABLE(PLAYER0,TORTURE,1,0)
ROOM_AVAILABLE(PLAYER1,TORTURE,1,0)
ROOM_AVAILABLE(PLAYER2,TORTURE,1,0)
ROOM_AVAILABLE(PLAYER3,TORTURE,1,0)
ROOM_AVAILABLE(PLAYER0,TRAINING,1,1)
ROOM_AVAILABLE(PLAYER1,TRAINING,1,1)
ROOM_AVAILABLE(PLAYER2,TRAINING,1,1)
ROOM_AVAILABLE(PLAYER3,TRAINING,1,1)
ROOM_AVAILABLE(PLAYER0,BARRACKS,1,0)
ROOM_AVAILABLE(PLAYER1,BARRACKS,1,0)
ROOM_AVAILABLE(PLAYER2,BARRACKS,1,0)
ROOM_AVAILABLE(PLAYER3,BARRACKS,1,0)
ROOM_AVAILABLE(PLAYER0,TEMPLE,1,0)
ROOM_AVAILABLE(PLAYER1,TEMPLE,1,0)
ROOM_AVAILABLE(PLAYER2,TEMPLE,1,0)
ROOM_AVAILABLE(PLAYER3,TEMPLE,1,0)
ROOM_AVAILABLE(ALL_PLAYERS,BRIDGE,1,1)

CREATURE_AVAILABLE(PLAYER0,ORC,1,1)
CREATURE_AVAILABLE(PLAYER0,TROLL,1,1)
CREATURE_AVAILABLE(PLAYER0,DARK_MISTRESS,1,1)
CREATURE_AVAILABLE(PLAYER0,SORCEROR,1,1)
CREATURE_AVAILABLE(PLAYER0,DRAGON,1,1)


CREATE_PARTY(NEWPARTY1)
    ADD_TO_PARTY(NEWPARTY1,SAMURAI,3,500,ATTACK_ENEMIES,0)
    ADD_TO_PARTY(NEWPARTY1,GIANT,3,500,ATTACK_ENEMIES,0)
    ADD_TO_PARTY(NEWPARTY1,THIEF,3,500,ATTACK_ENEMIES,0)
    ADD_TO_PARTY(NEWPARTY1,BARBARIAN,3,500,ATTACK_ENEMIES,0)
    ADD_TO_PARTY(NEWPARTY1,TUNNELLER,3,500,ATTACK_ENEMIES,0)
ADD_PARTY_TO_LEVEL(PLAYER_GOOD,NEWPARTY1,1,1)
CREATE_PARTY(NEWPARTY1)
    ADD_TO_PARTY(NEWPARTY1,KNIGHT,3,500,ATTACK_ENEMIES,0)
    ADD_TO_PARTY(NEWPARTY1,WIZARD,3,500,ATTACK_ENEMIES,0)
    ADD_TO_PARTY(NEWPARTY1,BARBARIAN,3,500,ATTACK_ENEMIES,0)
    ADD_TO_PARTY(NEWPARTY1,TUNNELLER,3,500,ATTACK_ENEMIES,0)
ADD_PARTY_TO_LEVEL(PLAYER_GOOD,NEWPARTY1,1,1)

IF(PLAYER0,ALL_DUNGEONS_DESTROYED == 1)
    WIN_GAME
    DISPLAY_OBJECTIVE(0,PLAYER0)
ENDIF

IF(PLAYER1,ALL_DUNGEONS_DESTROYED == 1)
    WIN_GAME
    DISPLAY_OBJECTIVE(0,PLAYER1)
ENDIF

IF(PLAYER2,ALL_DUNGEONS_DESTROYED == 1)
    WIN_GAME
    DISPLAY_OBJECTIVE(0,PLAYER2)
ENDIF

IF(PLAYER3,ALL_DUNGEONS_DESTROYED == 1)
    WIN_GAME
    DISPLAY_OBJECTIVE(0,PLAYER3)
ENDIF
