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

LEVEL_VERSION(1)
SET_GENERATE_SPEED(400)

SET_PLAYER_COLOR(PLAYER0,WHITE)
SET_PLAYER_COLOR(PLAYER_GOOD,RED)

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)
ADD_CREATURE_TO_POOL(TIME_MAGE,20)

CREATURE_AVAILABLE(PLAYER0,THIEF,1,0)
CREATURE_AVAILABLE(PLAYER0,DWARFA,1,0)
CREATURE_AVAILABLE(PLAYER0,TUNNELLER,1,0)
CREATURE_AVAILABLE(PLAYER0,ARCHER,1,0)
CREATURE_AVAILABLE(PLAYER0,BARBARIAN,1,0)
CREATURE_AVAILABLE(PLAYER0,FAIRY,1,0)
CREATURE_AVAILABLE(PLAYER0,GIANT,1,0)
CREATURE_AVAILABLE(PLAYER0,KNIGHT,1,0)
CREATURE_AVAILABLE(PLAYER0,WIZARD,1,0)
CREATURE_AVAILABLE(PLAYER0,MONK,1,0)
CREATURE_AVAILABLE(PLAYER0,SAMURAI,1,0)
CREATURE_AVAILABLE(PLAYER0,WITCH,1,0)
CREATURE_AVAILABLE(PLAYER0,TIME_MAGE,1,0)

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,GAME_TURN > 20)
    REM "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"
    DISPLAY_OBJECTIVE(50,1)
ENDIF

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

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

IF(PLAYER1,DUNGEON_DESTROYED == 0)
    IF(PLAYER0,GAME_TURN > 10)
        IF(PLAYER0,TIMER0 >= 100)
            IF_CONTROLS(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_CONTROLS(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

SET_COMPUTER_CHECKS(PLAYER1,"COMPUTER CHECK IMPRISONMENT",400,1,2,10,1000)
SET_COMPUTER_CHECKS(PLAYER2,"COMPUTER CHECK IMPRISONMENT",400,1,2,10,1000)

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(PLAYER1,DUNGEON_DESTROYED == 0)
    ADD_CREATURE_TO_LEVEL(PLAYER2,IMP,6,5,8,100)
ENDIF

IF(PLAYER0,ALL_DUNGEONS_DESTROYED == 1)
    WIN_GAME
ENDIF
