REM ********************************************
REM
REM Script for Level Hidden Soldier
REM
REM ********************************************

SET_GENERATE_SPEED(500)

COMPUTER_PLAYER(PLAYER1,0)


MAX_CREATURES(PLAYER0,21)
MAX_CREATURES(PLAYER1,21)

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

ADD_CREATURE_TO_POOL(BUG,13)
ADD_CREATURE_TO_POOL(FLY,21)
ADD_CREATURE_TO_POOL(SPIDER,13)
ADD_CREATURE_TO_POOL(SORCEROR,21)
ADD_CREATURE_TO_POOL(DEMONSPAWN,21)
ADD_CREATURE_TO_POOL(DRAGON,34)
ADD_CREATURE_TO_POOL(TROLL,21)
ADD_CREATURE_TO_POOL(ORC,21)
ADD_CREATURE_TO_POOL(HELL_HOUND,21)
ADD_CREATURE_TO_POOL(DARK_MISTRESS,21)
ADD_CREATURE_TO_POOL(BILE_DEMON,13)
ADD_CREATURE_TO_POOL(TENTACLE,21)


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


ROOM_AVAILABLE(ALL_PLAYERS,TREASURE,1,1)
ROOM_AVAILABLE(PLAYER0,BRIDGE,0,0)
ROOM_AVAILABLE(PLAYER1,BRIDGE,0,0)
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)

ROOM_AVAILABLE(ALL_PLAYERS,GUARD_POST,1,0)
ROOM_AVAILABLE(PLAYER0,WORKSHOP,0,0)
ROOM_AVAILABLE(PLAYER1,WORKSHOP,1,0)
ROOM_AVAILABLE(ALL_PLAYERS,BARRACKS,1,0)
ROOM_AVAILABLE(ALL_PLAYERS,PRISON,1,0)
ROOM_AVAILABLE(ALL_PLAYERS,TORTURE,1,0)
ROOM_AVAILABLE(ALL_PLAYERS,TEMPLE,1,0)
ROOM_AVAILABLE(ALL_PLAYERS,SCAVENGER,1,0)
ROOM_AVAILABLE(ALL_PLAYERS,GRAVEYARD,1,0)
REM Player		Door type		Can be available	Is available

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 ***** Set the traps available to each  *****
REM ***** player                           *****

REM Player		Trap type		Can be available	Is available

TRAP_AVAILABLE(PLAYER0,BOULDER,1,0)
TRAP_AVAILABLE(PLAYER1,BOULDER,1,0)
TRAP_AVAILABLE(ALL_PLAYERS,ALARM,1,0)
TRAP_AVAILABLE(ALL_PLAYERS,POISON_GAS,0,0)
TRAP_AVAILABLE(ALL_PLAYERS,LIGHTNING,1,0)
TRAP_AVAILABLE(ALL_PLAYERS,WORD_OF_POWER,0,0)
TRAP_AVAILABLE(ALL_PLAYERS,LAVA,0,0)

REM Player		Spell type		Can be available	Is available

MAGIC_AVAILABLE(ALL_PLAYERS,POWER_IMP,1,1)
MAGIC_AVAILABLE(ALL_PLAYERS,POWER_OBEY,1,1)
MAGIC_AVAILABLE(ALL_PLAYERS,POWER_SIGHT,0,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_SPEED,1,0)
MAGIC_AVAILABLE(ALL_PLAYERS,POWER_PROTECT,1,0)
MAGIC_AVAILABLE(ALL_PLAYERS,POWER_CONCEAL,1,0)
MAGIC_AVAILABLE(ALL_PLAYERS,POWER_DISEASE,1,0)
MAGIC_AVAILABLE(ALL_PLAYERS,POWER_CHICKEN,1,0)
MAGIC_AVAILABLE(ALL_PLAYERS,POWER_DESTROY_WALLS,0,0)
MAGIC_AVAILABLE(ALL_PLAYERS,POWER_ARMAGEDDON,1,0)


CREATE_PARTY(KNIGHTS)
    ADD_TO_PARTY(KNIGHTS,KNIGHT,4,1000,ATTACK_ENEMIES,0)
    ADD_TO_PARTY(KNIGHTS,KNIGHT,5,1000,ATTACK_ENEMIES,0)
    ADD_TO_PARTY(KNIGHTS,KNIGHT,6,1000,ATTACK_ENEMIES,0)
    ADD_TO_PARTY(KNIGHTS,KNIGHT,7,1000,DEFEND_PARTY,0)
    ADD_TO_PARTY(KNIGHTS,KNIGHT,8,1000,DEFEND_PARTY,0)
    ADD_TO_PARTY(KNIGHTS,KNIGHT,9,1000,ATTACK_DUNGEON_HEART,0)

IF_ACTION_POINT(1,PLAYER0)

    ADD_PARTY_TO_LEVEL(PLAYER_GOOD,KNIGHTS,-1,3)
    ADD_CREATURE_TO_LEVEL(PLAYER_GOOD,AVATAR,-1,1,8,12000)
    IF(PLAYER0,ALL_DUNGEONS_DESTROYED == 1)
        IF(PLAYER_GOOD,KNIGHT == 0)
            IF(PLAYER_GOOD,AVATAR == 0)
                WIN_GAME
            ENDIF
        ENDIF
    ENDIF
ENDIF

IF(PLAYER0,SCAVENGER >= 1)
    ROOM_AVAILABLE(PLAYER0,SCAVENGER,1,1)
ENDIF

IF(PLAYER0,GRAVEYARD >= 1)
    ROOM_AVAILABLE(PLAYER0,GRAVEYARD,1,1)
ENDIF
IF(PLAYER0,BRIDGE >= 1)
    ROOM_AVAILABLE(PLAYER0,BRIDGE,1,1)
ENDIF


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

IF(PLAYER0,TEMPLE >= 1)
    ROOM_AVAILABLE(PLAYER0,TEMPLE,1,1)
ENDIF
IF(PLAYER1,BRIDGE >= 1)
    ROOM_AVAILABLE(PLAYER1,BRIDGE,1,1)
ENDIF
IF(PLAYER1,WORKSHOP >= 1)
    ROOM_AVAILABLE(PLAYER1,WORKSHOP,1,1)
ENDIF
IF(PLAYER1,SCAVENGER >= 1)
    ROOM_AVAILABLE(PLAYER1,SCAVENGER,1,1)
ENDIF
