REM ********************************************
REM
REM Script for Level 247 : Dan's Level
REM
REM ********************************************

DISPLAY_OBJECTIVE(161,PLAYER0)

SET_GENERATE_SPEED(400)

REM determines how fast the game turns go
REM the lower the number the faster it is

COMPUTER_PLAYER(PLAYER3,10)

REM lets the game know that the computer needs to
REM run player 3. the 10 is a 'normal' opponent
REM PLAYER3 is yellow

MAX_CREATURES(PLAYER0,25)
MAX_CREATURES(PLAYER3,35)

REM self explanatory - doesn't include creatures from
REM sacrifices, skeletons from prison, tortured conversions

START_MONEY(PLAYER1,100000)
START_MONEY(PLAYER3,40000)

REM THIS DECIDES WHAT CREATURES ARE AVILABLE TO EACH
REM PLAYER. THESE CREATURES ARE TAKEN FROM A 'POOL'

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

ADD_CREATURE_TO_POOL(DRAGON,10)
ADD_CREATURE_TO_POOL(TROLL,10)
ADD_CREATURE_TO_POOL(DARK_MISTRESS,10)
ADD_CREATURE_TO_POOL(SORCEROR,10)
ADD_CREATURE_TO_POOL(BILE_DEMON,10)
ADD_CREATURE_TO_POOL(FLY,10)
ADD_CREATURE_TO_POOL(ORC,10)
ADD_CREATURE_TO_POOL(TENTACLE,10)
ADD_CREATURE_TO_POOL(HELL_HOUND,10)
ADD_CREATURE_TO_POOL(SPIDER,10)
ADD_CREATURE_TO_POOL(BUG,10)
ADD_CREATURE_TO_POOL(DEMONSPAWN,10)
ADD_CREATURE_TO_POOL(DRAGON,10)
ADD_CREATURE_TO_POOL(GIANT,5)

REM THESE ARE SELF EXPLANATORY. THE FIRST 1 MEANS
REM IS AVAILABLE. THE SECOND 1 MEANS AVAILABLE FROM
REM THE START (IF ZERO THEN NEEDS TO BE RESEARCHED)
REM IF A ROOM/SPELL ISN'T MENTIONED IT'S NOT AVAILABLE

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

REM SO GRAVEYARD & SCAVENGER CAN ONLY BE RESEARCHED BY
REM THE YELLOW KEEPER

MAGIC_AVAILABLE(ALL_PLAYERS,POWER_HAND,1,1)
MAGIC_AVAILABLE(ALL_PLAYERS,POWER_IMP,1,1)
MAGIC_AVAILABLE(ALL_PLAYERS,POWER_SLAP,1,1)
MAGIC_AVAILABLE(ALL_PLAYERS,POWER_OBEY,1,0)
MAGIC_AVAILABLE(ALL_PLAYERS,POWER_SPEED,1,0)
MAGIC_AVAILABLE(ALL_PLAYERS,POWER_PROTECT,1,0)
MAGIC_AVAILABLE(ALL_PLAYERS,POWER_CAVE_IN,1,0)
MAGIC_AVAILABLE(ALL_PLAYERS,POWER_OBEY,1,0)
MAGIC_AVAILABLE(ALL_PLAYERS,POWER_SPEED,1,0)
MAGIC_AVAILABLE(ALL_PLAYERS,POWER_CAVE_IN,1,0)
MAGIC_AVAILABLE(ALL_PLAYERS,POWER_DISEASE,1,0)
MAGIC_AVAILABLE(ALL_PLAYERS,POWER_CHICKEN,1,0)

MAGIC_AVAILABLE(PLAYER0,POWER_HEAL_CREATURE,1,0)
MAGIC_AVAILABLE(PLAYER0,POWER_CALL_TO_ARMS,1,0)
MAGIC_AVAILABLE(PLAYER0,POWER_DESTROY_WALLS,1,0)

MAGIC_AVAILABLE(PLAYER3,POWER_SIGHT,1,0)
MAGIC_AVAILABLE(PLAYER3,POWER_HEAL_CREATURE,1,1)
MAGIC_AVAILABLE(PLAYER3,POWER_CALL_TO_ARMS,1,1)
MAGIC_AVAILABLE(PLAYER3,POWER_LIGHTNING,1,0)
MAGIC_AVAILABLE(PLAYER3,POWER_CONCEAL,1,0)

DOOR_AVAILABLE(ALL_PLAYERS,MAGIC,1,0)
DOOR_AVAILABLE(ALL_PLAYERS,BRACED,1,5)

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

REM HERE'S THE FIRST 'IF' STATEMENT

IF(PLAYER3,DUNGEON_DESTROYED == 1)
    TRAP_AVAILABLE(PLAYER0,BOULDER,1,0)
ENDIF

REM WHEN THE YELLOW KEEPER IS DEFEATED, PLAYER0 WILL
REM HAVE BOULDER TRAPS AVAILABLE TO BE MANUFACTURED

REM HERE'S A HERO PARTY TO BE ADDED LATER

CREATE_PARTY(HERO1)
    ADD_TO_PARTY(HERO1,ARCHER,7,1000,ATTACK_ENEMIES,0)
    ADD_TO_PARTY(HERO1,ARCHER,7,1000,ATTACK_ENEMIES,0)
    ADD_TO_PARTY(HERO1,THIEF,8,1000,ATTACK_ENEMIES,0)
    ADD_TO_PARTY(HERO1,BARBARIAN,9,1000,ATTACK_ENEMIES,0)

CREATE_PARTY(HERO2)
    ADD_TO_PARTY(HERO2,DRAGON,7,1000,ATTACK_ENEMIES,0)
    ADD_TO_PARTY(HERO2,DRAGON,7,1000,ATTACK_ENEMIES,0)
    ADD_TO_PARTY(HERO2,FAIRY,8,1000,ATTACK_ENEMIES,0)
    ADD_TO_PARTY(HERO2,SAMURAI,10,1000,ATTACK_ENEMIES,0)

REM PARTY_NAME, CREATURE, LEVEL_OF_CREATURE, GOLD_CARRIED
REM PRIORITY, NULL

IF(PLAYER3,TOTAL_CREATURES > 16)
    ADD_TUNNELLER_PARTY_TO_LEVEL(PLAYER_GOOD,HERO1,1,DUNGEON,0,10,2000)
ENDIF

IF_ACTION_POINT(2,PLAYER0)
    SET_FLAG(PLAYER0,FLAG1,1)
    ADD_PARTY_TO_LEVEL(PLAYER_GOOD,HERO2,2,2)
ENDIF

IF(PLAYER0,TOTAL_GOLD_MINED < 200)
    DISPLAY_OBJECTIVE(148,PLAYER0)
ENDIF

IF(PLAYER3,DUNGEON_DESTROYED == 1)
    IF(PLAYER_GOOD,TOTAL_CREATURES < 1)
        IF(PLAYER0,FLAG1 > 0)
            WIN_GAME
            DISPLAY_OBJECTIVE(162,PLAYER0)
            ADD_CREATURE_TO_LEVEL(PLAYER0,WITCH,1,10,10,300)
        ENDIF
    ENDIF
ENDIF
