REM Play level 120

REM             *** Initializations ***
SET_GENERATE_SPEED(500)
MAX_CREATURES(PLAYER0, 15)
MAX_CREATURES(PLAYER1, 25)
START_MONEY(PLAYER0, 15000)
START_MONEY(PLAYER1, 40000)


REM             *** Creature Defines ***
ADD_CREATURE_TO_POOL(SORCEROR, 20)
ADD_CREATURE_TO_POOL(BILE_DEMON, 20)
ADD_CREATURE_TO_POOL(DRAGON, 20)
ADD_CREATURE_TO_POOL(DEMONSPAWN, 20)
ADD_CREATURE_TO_POOL(BUG, 20)
ADD_CREATURE_TO_POOL(SPIDER, 20)
ADD_CREATURE_TO_POOL(TROLL, 20)
ADD_CREATURE_TO_POOL(ORC, 20)
ADD_CREATURE_TO_POOL(DARK_MISTRESS, 20)

CREATURE_AVAILABLE(ALL_PLAYERS, SORCEROR, 1, 1)
CREATURE_AVAILABLE(ALL_PLAYERS, BILE_DEMON, 1, 1)
CREATURE_AVAILABLE(ALL_PLAYERS, DRAGON, 1, 1)
CREATURE_AVAILABLE(ALL_PLAYERS, DEMONSPAWN, 1, 1)
CREATURE_AVAILABLE(ALL_PLAYERS, BUG, 1, 1)
CREATURE_AVAILABLE(ALL_PLAYERS, SPIDER, 1, 1)
CREATURE_AVAILABLE(ALL_PLAYERS, TROLL, 1, 1)
CREATURE_AVAILABLE(ALL_PLAYERS, ORC, 1, 1)
CREATURE_AVAILABLE(ALL_PLAYERS, DARK_MISTRESS, 1, 1)


REM     *** Room Defines ***
REM             *** Available Straight Away ***
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)
REM             *** Reasearchable ***
ROOM_AVAILABLE(ALL_PLAYERS, WORKSHOP, 1, 0)
ROOM_AVAILABLE(ALL_PLAYERS, GUARD_POST, 1, 0)
ROOM_AVAILABLE(ALL_PLAYERS, TORTURE, 1, 0)
ROOM_AVAILABLE(ALL_PLAYERS, BARRACKS, 1, 0)
ROOM_AVAILABLE(ALL_PLAYERS, TEMPLE, 1, 0)


REM     *** Magic Defines ***
REM             *** Available Straight Away ***
MAGIC_AVAILABLE(ALL_PLAYERS, POWER_HAND, 1, 1)
MAGIC_AVAILABLE(ALL_PLAYERS, POWER_SLAP, 1, 1)
MAGIC_AVAILABLE(ALL_PLAYERS, POWER_IMP, 1, 1)
REM             *** Researchable ***
MAGIC_AVAILABLE(ALL_PLAYERS, POWER_SPEED, 1, 0)
MAGIC_AVAILABLE(ALL_PLAYERS, POWER_OBEY, 1, 0)
MAGIC_AVAILABLE(ALL_PLAYERS, POWER_CALL_TO_ARMS, 1, 0)
MAGIC_AVAILABLE(ALL_PLAYERS, POWER_CONCEAL, 1, 0)
MAGIC_AVAILABLE(ALL_PLAYERS, POWER_CAVE_IN, 1, 0)
MAGIC_AVAILABLE(ALL_PLAYERS, POWER_HEAL_CREATURE, 1, 0)
MAGIC_AVAILABLE(ALL_PLAYERS, POWER_CHICKEN, 1, 0)
MAGIC_AVAILABLE(ALL_PLAYERS, POWER_DESTROY_WALLS, 1, 0)


REM     *** Doors ***
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)


REM     *** Traps ***
Trap_available(all_players, Alarm, 1, 0)
Trap_available(all_players, Poison_Gas, 1, 0)
Trap_available(all_players, Boulder, 1, 0)
Trap_available(all_players, Lightning, 1, 0)


REM             *** Party 1 ***
CREATE_PARTY(PARTY1)
        ADD_to_PARTY(PARTY1, Witch, 9, 100, ATTACK_ENEMIES, 0)
        ADD_to_PARTY(PARTY1, Witch, 9, 100, ATTACK_ENEMIES, 0)
        ADD_to_PARTY(PARTY1, Giant, 10, 100, ATTACK_ENEMIES, 0)
        ADD_to_PARTY(PARTY1, Giant, 10, 100, ATTACK_ENEMIES, 0)
        ADD_to_PARTY(PARTY1, Samurai, 10, 100, ATTACK_ENEMIES, 0)
        ADD_to_PARTY(PARTY1, Samurai, 9, 100, ATTACK_ENEMIES, 0)
        ADD_to_PARTY(PARTY1, Knight, 10, 100, ATTACK_ENEMIES, 0)
IF_ACTION_POINT(1, PLAYER0)
        ADD_PARTY_TO_LEVEL(PLAYER_GOOD, PARTY1, 1, 1)
        SET_FLAG(PLAYER0, FLAG0, 1)
ENDIF


REM             *** Party 2 ***
CREATE_PARTY(PARTY2)
        ADD_to_PARTY(PARTY2, Witch, 7, 100, ATTACK_ENEMIES, 0)
        ADD_to_PARTY(PARTY2, Witch, 7, 100, ATTACK_ENEMIES, 0)
        ADD_to_PARTY(PARTY2, Giant, 7, 500, ATTACK_ENEMIES, 0)
        ADD_to_PARTY(PARTY2, Giant, 7, 500, ATTACK_ENEMIES, 0)
        ADD_to_PARTY(PARTY2, Samurai, 8, 250, ATTACK_ENEMIES, 01)
IF_ACTION_POINT(2, PLAYER0)
        ADD_PARTY_TO_LEVEL(PLAYER_GOOD, PARTY2, 2, 1)
ENDIF

REM     *** INFORM OF COMPUTER OPPONENT ***
COMPUTER_PLAYER(PLAYER1, 4)


REM     *** TEXT OBJECTIVE ***
DISPLAY_OBJECTIVE(917, PLAYER0)

REM             *** Win Conditions ***
IF(PLAYER0, FLAG0 == 1)
        IF(PLAYER0, ALL_DUNGEONS_DESTROYED==1)
                WIN_GAME
        ENDIF

        IF(PLAYER1, ALL_DUNGEONS_DESTROYED==1)
                WIN_GAME
        ENDIF

ENDIF

