
REM ************************************
REM SCRIPT FOR LEVEL209 MIDDLEGROUND
REM BY K. BENNETT
REM ************************************

SET_GENERATE_SPEED(400)

COMPUTER_PLAYER(PLAYER1,0)

MAX_CREATURES(PLAYER0,25)
MAX_CREATURES(PLAYER1,35)

START_MONEY(PLAYER0,2000)
START_MONEY(PLAYER1,15000)

ADD_CREATURE_TO_POOL(DARK_MISTRESS,30)
ADD_CREATURE_TO_POOL(ORC,20)
ADD_CREATURE_TO_POOL(TROLL,15)
ADD_CREATURE_TO_POOL(BILE_DEMON,15)
ADD_CREATURE_TO_POOL(SORCEROR,20)
ADD_CREATURE_TO_POOL(DRAGON,30)
ADD_CREATURE_TO_POOL(HELL_HOUND,10)

CREATURE_AVAILABLE(ALL_PLAYERS,DARK_MISTRESS,1,1)
CREATURE_AVAILABLE(ALL_PLAYERS,ORC,1,1)
CREATURE_AVAILABLE(ALL_PLAYERS,TROLL,1,1)
CREATURE_AVAILABLE(ALL_PLAYERS,BILE_DEMON,1,1)
CREATURE_AVAILABLE(ALL_PLAYERS,DRAGON,1,1)
CREATURE_AVAILABLE(ALL_PLAYERS,SORCEROR,1,1)
CREATURE_AVAILABLE(ALL_PLAYERS,HELL_HOUND,1,1)

ROOM_AVAILABLE(ALL_PLAYERS,GUARD_POST,1,0)
ROOM_AVAILABLE(ALL_PLAYERS,LAIR,1,1)

ROOM_AVAILABLE(PLAYER1,TREASURE,1,0)
ROOM_AVAILABLE(PLAYER1,GARDEN,1,0)
ROOM_AVAILABLE(PLAYER1,RESEARCH,1,0)
ROOM_AVAILABLE(PLAYER1,TRAINING,1,0)
ROOM_AVAILABLE(PLAYER1,WORKSHOP,1,0)
ROOM_AVAILABLE(PLAYER1,TEMPLE,1,0)
ROOM_AVAILABLE(PLAYER1,BARRACKS,1,0)
ROOM_AVAILABLE(PLAYER1,TORTURE,1,0)

ROOM_AVAILABLE(PLAYER0,BRIDGE,1,0)
ROOM_AVAILABLE(PLAYER0,TREASURE,1,1)

MAGIC_AVAILABLE(ALL_PLAYERS,POWER_HAND,1,1)
MAGIC_AVAILABLE(ALL_PLAYERS,POWER_OBEY,1,1)
MAGIC_AVAILABLE(ALL_PLAYERS,POWER_SLAP,1,1)
MAGIC_AVAILABLE(ALL_PLAYERS,POWER_SPEED,1,0)
MAGIC_AVAILABLE(ALL_PLAYERS,POWER_CONCEAL,1,0)

MAGIC_AVAILABLE(PLAYER1,POWER_IMP,1,1)
MAGIC_AVAILABLE(PLAYER1,POWER_SIGHT,1,0)
MAGIC_AVAILABLE(PLAYER1,POWER_CALL_TO_ARMS,1,0)
MAGIC_AVAILABLE(PLAYER1,POWER_HEAL_CREATURE,1,0)
MAGIC_AVAILABLE(PLAYER1,POWER_SPEED,1,0)
MAGIC_AVAILABLE(PLAYER1,POWER_PROTECT,1,0)


DOOR_AVAILABLE(PLAYER0,STEEL,1,4)
DOOR_AVAILABLE(PLAYER1,STEEL,1,0)
TRAP_AVAILABLE(ALL_PLAYERS,LIGHTNING,1,0)
TRAP_AVAILABLE(PLAYER1,BOULDER,1,0)
TRAP_AVAILABLE(ALL_PLAYERS,WORD_OF_POWER,1,0)
DOOR_AVAILABLE(ALL_PLAYERS,MAGIC,1,0)


CREATE_PARTY(GOOD)
    ADD_TO_PARTY(GOOD,GIANT,10,500,ATTACK_DUNGEON_HEART,0)
    ADD_TO_PARTY(GOOD,WIZARD,10,1000,ATTACK_DUNGEON_HEART,0)
    ADD_TO_PARTY(GOOD,WIZARD,10,1000,ATTACK_DUNGEON_HEART,0)
    ADD_TO_PARTY(GOOD,SAMURAI,10,500,ATTACK_DUNGEON_HEART,0)
    ADD_TO_PARTY(GOOD,SAMURAI,10,500,ATTACK_DUNGEON_HEART,0)
    ADD_TO_PARTY(GOOD,VAMPIRE,8,1000,ATTACK_DUNGEON_HEART,0)
    ADD_TO_PARTY(GOOD,VAMPIRE,8,1000,ATTACK_DUNGEON_HEART,0)

SET_FLAG(PLAYER1,FLAG1,0)


SET_TIMER(PLAYER1,TIMER1)
SET_TIMER(PLAYER1,TIMER4)
SET_TIMER(PLAYER1,TIMER6)

IF(PLAYER1,IMP <= 7)
    IF(PLAYER1,FLAG1 == 0)
        IF(PLAYER1,TIMER1 >= 2000)
            NEXT_COMMAND_REUSABLE
            ADD_CREATURE_TO_LEVEL(PLAYER1,IMP,1,6,3,500)
            NEXT_COMMAND_REUSABLE
            SET_TIMER(PLAYER1,TIMER1)
        ENDIF
    ENDIF
ENDIF

IF(PLAYER1,TOTAL_CREATURES <= 15)
    IF(PLAYER1,FLAG1 == 0)
        IF(PLAYER1,TIMER4 >= 2600)
            NEXT_COMMAND_REUSABLE
            ADD_CREATURE_TO_LEVEL(PLAYER1,DRAGON,2,2,8,400)
            NEXT_COMMAND_REUSABLE
            ADD_CREATURE_TO_LEVEL(PLAYER1,BILE_DEMON,2,2,7,0)
            NEXT_COMMAND_REUSABLE
            ADD_CREATURE_TO_LEVEL(PLAYER1,TROLL,2,2,8,0)
            NEXT_COMMAND_REUSABLE
            SET_TIMER(PLAYER1,TIMER4)
        ENDIF
    ENDIF
ENDIF


IF(PLAYER1,TOTAL_CREATURES <= 15)
    IF(PLAYER1,FLAG1 == 0)
        IF(PLAYER1,TIMER6 >= 3200)
            NEXT_COMMAND_REUSABLE
            ADD_CREATURE_TO_LEVEL(PLAYER1,DARK_MISTRESS,2,2,8,400)
            NEXT_COMMAND_REUSABLE
            ADD_CREATURE_TO_LEVEL(PLAYER1,ORC,2,2,7,0)
            NEXT_COMMAND_REUSABLE
            ADD_CREATURE_TO_LEVEL(PLAYER1,BILE_DEMON,2,3,7,0)
            NEXT_COMMAND_REUSABLE
            SET_TIMER(PLAYER1,TIMER6)
        ENDIF
    ENDIF
ENDIF

REM ***FIND BEFORE BUILDING***

IF(PLAYER0,GARDEN > 0)
    ROOM_AVAILABLE(PLAYER0,GARDEN,1,1)
ENDIF

IF(PLAYER0,TRAINING > 0)
    ROOM_AVAILABLE(PLAYER0,TRAINING,1,1)
ENDIF

IF(PLAYER0,RESEARCH > 0)
    ROOM_AVAILABLE(PLAYER0,RESEARCH,1,1)
ENDIF

IF(PLAYER0,BARRACKS > 0)
    ROOM_AVAILABLE(PLAYER0,BARRACKS,1,1)
ENDIF

IF(PLAYER0,WORKSHOP > 0)
    ROOM_AVAILABLE(PLAYER0,WORKSHOP,1,1)
ENDIF

IF(PLAYER0,TORTURE > 0)
    ROOM_AVAILABLE(PLAYER0,TORTURE,1,1)
ENDIF

IF(PLAYER0,PRISON > 0)
    ROOM_AVAILABLE(PLAYER0,PRISON,1,1)
ENDIF

IF(PLAYER0,TEMPLE > 0)
    ROOM_AVAILABLE(PLAYER0,TEMPLE,1,1)
ENDIF

IF(PLAYER0,GRAVEYARD > 0)
    ROOM_AVAILABLE(PLAYER0,GRAVEYARD,1,1)
ENDIF

REM ***OTHER CONDITIONS***

IF_ACTION_POINT(3,PLAYER0)
    ADD_PARTY_TO_LEVEL(PLAYER_GOOD,GOOD,3,1)
ENDIF

IF_ACTION_POINT(4,PLAYER0)
    ADD_CREATURE_TO_LEVEL(PLAYER1,ARCHER,2,4,8,100)
ENDIF

IF_ACTION_POINT(5,PLAYER0)
    IF(PLAYER0,TROLL <= 1)
        ADD_CREATURE_TO_LEVEL(PLAYER0,TROLL,5,1,6,100)
    ENDIF
ENDIF

IF(PLAYER0,AVATAR > 0)
    SET_TIMER(PLAYER1,TIMER7)
ENDIF

IF(PLAYER0,FLAG0 == 0)
    IF(PLAYER1,TIMER7 >= 3000)
        MAGIC_AVAILABLE(PLAYER1,POWER_LIGHTNING,1,0)
    ENDIF
ENDIF

IF(PLAYER0,SCAVENGER > 0)
    MAGIC_AVAILABLE(PLAYER0,POWER_CAVE_IN,1,0)
    MAGIC_AVAILABLE(PLAYER0,POWER_LIGHTNING,1,1)
    MAGIC_AVAILABLE(PLAYER0,POWER_HEAL_CREATURE,1,1)
    MAGIC_AVAILABLE(PLAYER0,POWER_PROTECT,1,1)
    MAGIC_AVAILABLE(PLAYER0,POWER_CONCEAL,1,1)
    MAGIC_AVAILABLE(PLAYER0,POWER_CALL_TO_ARMS,1,1)
    MAGIC_AVAILABLE(PLAYER0,POWER_IMP,1,1)
ENDIF

IF(PLAYER1,DUNGEON_DESTROYED == 1)
    SET_FLAG(PLAYER1,FLAG1,1)
ENDIF

IF(PLAYER0,ALL_DUNGEONS_DESTROYED == 1)
    WIN_GAME
ENDIF


QUICK_OBJECTIVE(1,"For the moment, your rival has all the advantages. It may be a long road to victory.",PLAYER0)
