REM ********************************************
REM
REM Script for Level 209
REM
REM ********************************************

SET_GENERATE_SPEED(400)

MAX_CREATURES(PLAYER0,20)

COMPUTER_PLAYER(PLAYER1,1)
COMPUTER_PLAYER(PLAYER2,1)


START_MONEY(PLAYER0,15000)
START_MONEY(PLAYER1,0)
START_MONEY(PLAYER2,0)


ADD_CREATURE_TO_POOL(TUNNELLER,20)
ADD_CREATURE_TO_POOL(WIZARD,20)
ADD_CREATURE_TO_POOL(BARBARIAN,20)
ADD_CREATURE_TO_POOL(ARCHER,20)
ADD_CREATURE_TO_POOL(MONK,20)
ADD_CREATURE_TO_POOL(DWARFA,20)
ADD_CREATURE_TO_POOL(KNIGHT,20)
ADD_CREATURE_TO_POOL(GIANT,20)
ADD_CREATURE_TO_POOL(FAIRY,20)
ADD_CREATURE_TO_POOL(THIEF,20)
ADD_CREATURE_TO_POOL(SAMURAI,20)

CREATURE_AVAILABLE(PLAYER0,THIEF,1,1)
CREATURE_AVAILABLE(PLAYER0,DWARFA,1,1)
CREATURE_AVAILABLE(PLAYER0,TUNNELLER,1,1)

ROOM_AVAILABLE(ALL_PLAYERS,GUARD_POST,1,0)
ROOM_AVAILABLE(ALL_PLAYERS,TREASURE,1,1)
ROOM_AVAILABLE(ALL_PLAYERS,RESEARCH,1,1)
ROOM_AVAILABLE(ALL_PLAYERS,WORKSHOP,1,0)
ROOM_AVAILABLE(ALL_PLAYERS,GARDEN,1,1)
ROOM_AVAILABLE(ALL_PLAYERS,LAIR,1,1)
ROOM_AVAILABLE(ALL_PLAYERS,GRAVEYARD,1,0)
ROOM_AVAILABLE(ALL_PLAYERS,PRISON,1,0)
ROOM_AVAILABLE(ALL_PLAYERS,TORTURE,1,0)
ROOM_AVAILABLE(ALL_PLAYERS,TRAINING,1,1)
ROOM_AVAILABLE(ALL_PLAYERS,BARRACKS,1,0)
ROOM_AVAILABLE(ALL_PLAYERS,TEMPLE,1,0)
ROOM_AVAILABLE(ALL_PLAYERS,BRIDGE,1,0)


MAGIC_AVAILABLE(ALL_PLAYERS,POWER_HAND,1,1)
MAGIC_AVAILABLE(ALL_PLAYERS,POWER_OBEY,1,1)
MAGIC_AVAILABLE(ALL_PLAYERS,POWER_IMP,1,1)
MAGIC_AVAILABLE(ALL_PLAYERS,POWER_SLAP,1,1)
MAGIC_AVAILABLE(ALL_PLAYERS,POWER_SIGHT,1,0)
MAGIC_AVAILABLE(ALL_PLAYERS,POWER_CALL_TO_ARMS,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_HOLD_AUDIENCE,1,0)
MAGIC_AVAILABLE(ALL_PLAYERS,POWER_CHICKEN,0,0)
MAGIC_AVAILABLE(ALL_PLAYERS,POWER_SPEED,1,0)
MAGIC_AVAILABLE(ALL_PLAYERS,POWER_LIGHTNING,1,0)
MAGIC_AVAILABLE(ALL_PLAYERS,POWER_CONCEAL,1,0)
MAGIC_AVAILABLE(ALL_PLAYERS,POWER_PROTECT,1,0)
MAGIC_AVAILABLE(ALL_PLAYERS,POWER_DISEASE,0,0)


DOOR_AVAILABLE(ALL_PLAYERS,WOOD,1,0)
TRAP_AVAILABLE(ALL_PLAYERS,ALARM,1,0)
DOOR_AVAILABLE(ALL_PLAYERS,BRACED,1,0)
TRAP_AVAILABLE(ALL_PLAYERS,POISON_GAS,1,0)
TRAP_AVAILABLE(ALL_PLAYERS,LAVA,1,0)
DOOR_AVAILABLE(ALL_PLAYERS,STEEL,1,0)
TRAP_AVAILABLE(ALL_PLAYERS,BOULDER,1,0)
DOOR_AVAILABLE(ALL_PLAYERS,MAGIC,1,0)
TRAP_AVAILABLE(ALL_PLAYERS,LIGHTNING,1,0)
TRAP_AVAILABLE(ALL_PLAYERS,WORD_OF_POWER,1,0)


SET_TIMER(PLAYER0,TIMER0)
SET_TIMER(PLAYER0,TIMER1)

CREATE_PARTY(ATTACK)

    ADD_TO_PARTY(ATTACK,SORCEROR,2,0,ATTACK_ENEMIES,0)
    ADD_TO_PARTY(ATTACK,ORC,1,0,ATTACK_ENEMIES,0)
    ADD_TO_PARTY(ATTACK,BILE_DEMON,1,0,ATTACK_ENEMIES,0)
    ADD_TO_PARTY(ATTACK,DARK_MISTRESS,3,0,ATTACK_ENEMIES,0)



IF(PLAYER0,WORKSHOP >= 1)
    CREATURE_AVAILABLE(PLAYER0,ARCHER,1,1)
ENDIF

IF(PLAYER0,TRAINING >= 1)
    CREATURE_AVAILABLE(PLAYER0,BARBARIAN,1,1)
ENDIF

IF(PLAYER0,RESEARCH >= 9)
    CREATURE_AVAILABLE(PLAYER0,FAIRY,1,1)
ENDIF


IF(PLAYER0,LAIR >= 25)
    IF(PLAYER0,GARDEN >= 25)
        CREATURE_AVAILABLE(PLAYER0,GIANT,1,1)
    ENDIF
ENDIF


IF(PLAYER0,BARRACKS >= 1)
    IF(PLAYER0,TRAINING >= 25)
        CREATURE_AVAILABLE(PLAYER0,KNIGHT,1,1)
    ENDIF
ENDIF


IF(PLAYER0,TEMPLE >= 9)
    IF(PLAYER0,GRAVEYARD >= 1)
        CREATURE_AVAILABLE(PLAYER0,MONK,1,1)
    ENDIF
ENDIF

IF(PLAYER0,TORTURE >= 9)
    CREATURE_AVAILABLE(PLAYER0,SAMURAI,1,1)
ENDIF


IF(PLAYER0,SCAVENGER >= 9)
    CREATURE_AVAILABLE(PLAYER0,WITCH,1,1)
ENDIF


IF(PLAYER0,RESEARCH >= 25)
    CREATURE_AVAILABLE(PLAYER0,WIZARD,1,1)
ENDIF

IF(PLAYER0,WORKSHOP < 1)
    NEXT_COMMAND_REUSABLE
    CREATURE_AVAILABLE(PLAYER0,ARCHER,0,0)
ENDIF

IF(PLAYER0,TRAINING < 1)
    NEXT_COMMAND_REUSABLE
    CREATURE_AVAILABLE(PLAYER0,BARBARIAN,0,0)
ENDIF

IF(PLAYER0,RESEARCH < 9)
    NEXT_COMMAND_REUSABLE
    CREATURE_AVAILABLE(PLAYER0,FAIRY,0,0)
ENDIF


IF(PLAYER0,LAIR < 25)
    IF(PLAYER0,GARDEN < 25)
        NEXT_COMMAND_REUSABLE
        CREATURE_AVAILABLE(PLAYER0,GIANT,0,0)
    ENDIF
ENDIF


IF(PLAYER0,BARRACKS < 1)
    IF(PLAYER0,TRAINING < 25)
        NEXT_COMMAND_REUSABLE
        CREATURE_AVAILABLE(PLAYER0,KNIGHT,0,0)
    ENDIF
ENDIF


IF(PLAYER0,TEMPLE < 9)
    IF(PLAYER0,GRAVEYARD < 1)
        NEXT_COMMAND_REUSABLE
        CREATURE_AVAILABLE(PLAYER0,MONK,0,0)
    ENDIF
ENDIF

IF(PLAYER0,TORTURE < 9)
    NEXT_COMMAND_REUSABLE
    CREATURE_AVAILABLE(PLAYER0,SAMURAI,0,0)
ENDIF


IF(PLAYER0,RESEARCH < 25)
    NEXT_COMMAND_REUSABLE
    CREATURE_AVAILABLE(PLAYER0,WIZARD,0,0)
ENDIF

IF(PLAYER0,GAME_TURN > 20)
    DISPLAY_OBJECTIVE(50,ALL_PLAYERS)
REM QUICK_OBJECTIVE(1,"Oh noble one, you have stumbled across 2 rival keepers battling it out. You must destroy both. The good news is that they are very pre-ocupied. If i were you, i would concentrate on blue first, and rumour has it there is a weakness at the back of blue's fortress",PLAYER0)
ENDIF

IF(PLAYER0,GAME_TURN > 150)
    DISPLAY_INFORMATION(51,ALL_PLAYERS)
    REM QUICK_INFORMATION(2,"Graveyards and temples are available, which make monks also available, use them well.")
ENDIF

IF(PLAYER0,MONK == 1)
    DISPLAY_INFORMATION(52,ALL_PLAYERS)
    REM QUICK_INFORMATION(2,"A holy monk has come! They are very good at healing and preventing damage, making them a very good tank.")
ENDIF

IF(PLAYER1,DUNGEON_DESTROYED == 0)
    IF(PLAYER0,GAME_TURN > 10)
        IF(PLAYER0,TIMER0 >= 100)
            IF(PLAYER1,TOTAL_CREATURES < 15)
                NEXT_COMMAND_REUSABLE
                ADD_PARTY_TO_LEVEL(PLAYER1,ATTACK,2,1)
                NEXT_COMMAND_REUSABLE
                SET_TIMER(PLAYER0,TIMER0)
            ENDIF
        ENDIF
    ENDIF
ENDIF

IF(PLAYER2,DUNGEON_DESTROYED == 0)
    IF(PLAYER0,GAME_TURN > 10)
        IF(PLAYER0,TIMER1 >= 110)
            IF(PLAYER2,TOTAL_CREATURES < 15)
                NEXT_COMMAND_REUSABLE
                ADD_PARTY_TO_LEVEL(PLAYER2,ATTACK,2,1)
                NEXT_COMMAND_REUSABLE
                SET_TIMER(PLAYER0,TIMER1)
            ENDIF
        ENDIF
    ENDIF
ENDIF

IF_ACTION_POINT(3,PLAYER0)
    ADD_CREATURE_TO_LEVEL(PLAYER2,HORNY,3,1,10,1000)
ENDIF

IF_ACTION_POINT(4,PLAYER0)
    ADD_CREATURE_TO_LEVEL(PLAYER2,ORC,4,3,6,100)
ENDIF

IF_ACTION_POINT(5,PLAYER0)
    ADD_CREATURE_TO_LEVEL(PLAYER2,DRAGON,5,5,5,100)
ENDIF

IF_ACTION_POINT(6,PLAYER0)
    ADD_CREATURE_TO_LEVEL(PLAYER2,BILE_DEMON,6,5,8,100)
ENDIF

IF(PLAYER0,ALL_DUNGEONS_DESTROYED == 1)
    WIN_GAME
ENDIF

IF(PLAYER1,DUNGEON_DESTROYED == 0)
    ADD_CREATURE_TO_LEVEL(PLAYER2,IMP,6,5,8,100)
ENDIF
