REM PLAY Level Dojo

REM ******* Basic settings *******
DISPLAY_OBJECTIVE(156,PLAYER0)
SET_GENERATE_SPEED(377)

COMPUTER_PLAYER(PLAYER_GOOD,1)
COMPUTER_PLAYER(PLAYER3,0)

SET_COMPUTER_PROCESS(PLAYER3,"DIG TO CLOSE GOLD",0,1250,50000,5,20)

MAX_CREATURES(PLAYER0,21)
MAX_CREATURES(PLAYER3,34)

START_MONEY(PLAYER0,100000)
START_MONEY(PLAYER3,100000)
START_MONEY(PLAYER_GOOD,9999999)


ADD_CREATURE_TO_POOL(FLY,8)
ADD_CREATURE_TO_POOL(BUG,13)
ADD_CREATURE_TO_POOL(SPIDER,13)
ADD_CREATURE_TO_POOL(DEMONSPAWN,13)
ADD_CREATURE_TO_POOL(SORCEROR,13)
ADD_CREATURE_TO_POOL(BILE_DEMON,13)
ADD_CREATURE_TO_POOL(DRAGON,8)
ADD_CREATURE_TO_POOL(TROLL,8)
ADD_CREATURE_TO_POOL(ORC,13)
ADD_CREATURE_TO_POOL(DARK_MISTRESS,21)
ADD_CREATURE_TO_POOL(SKELETON,13)
ADD_CREATURE_TO_POOL(HELL_HOUND,21)
ADD_CREATURE_TO_POOL(VAMPIRE,8)
ADD_CREATURE_TO_POOL(SAMURAI,34)


REM ********** Available creatures **********

CREATURE_AVAILABLE(PLAYER0,SAMURAI,1,1)

CREATURE_AVAILABLE(PLAYER3,ORC,1,1)
CREATURE_AVAILABLE(PLAYER3,FLY,1,1)
CREATURE_AVAILABLE(PLAYER3,BUG,1,1)
CREATURE_AVAILABLE(PLAYER3,SPIDER,1,1)
CREATURE_AVAILABLE(PLAYER3,DEMONSPAWN,1,1)
CREATURE_AVAILABLE(PLAYER3,SORCEROR,1,1)
CREATURE_AVAILABLE(PLAYER3,BILE_DEMON,1,1)
CREATURE_AVAILABLE(PLAYER3,DRAGON,1,1)
CREATURE_AVAILABLE(PLAYER3,DARK_MISTRESS,1,1)
CREATURE_AVAILABLE(PLAYER3,HELL_HOUND,1,1)
CREATURE_AVAILABLE(PLAYER3,VAMPIRE,1,1)
CREATURE_AVAILABLE(PLAYER3,SKELETON,1,1)
CREATURE_AVAILABLE(PLAYER3,TROLL,1,1)


REM ********** Available rooms **********

ROOM_AVAILABLE(PLAYER3,TREASURE,1,1)
ROOM_AVAILABLE(PLAYER3,LAIR,1,1)
ROOM_AVAILABLE(PLAYER3,GARDEN,1,1)
ROOM_AVAILABLE(PLAYER3,TRAINING,1,1)
ROOM_AVAILABLE(PLAYER3,RESEARCH,1,1)

ROOM_AVAILABLE(PLAYER0,TREASURE,1,0)
ROOM_AVAILABLE(PLAYER0,LAIR,1,0)
ROOM_AVAILABLE(PLAYER0,GARDEN,1,0)
ROOM_AVAILABLE(PLAYER0,TRAINING,1,0)
ROOM_AVAILABLE(PLAYER0,RESEARCH,1,0)

ROOM_AVAILABLE(ALL_PLAYERS,BRIDGE,1,0)
ROOM_AVAILABLE(ALL_PLAYERS,GUARD_POST,1,0)
ROOM_AVAILABLE(ALL_PLAYERS,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,GRAVEYARD,1,0)
ROOM_AVAILABLE(ALL_PLAYERS,SCAVENGER,1,0)

REM ********** Available spells **********


MAGIC_AVAILABLE(PLAYER0,POWER_SIGHT,1,0)
MAGIC_AVAILABLE(PLAYER0,POWER_SPEED,1,0)
MAGIC_AVAILABLE(PLAYER0,POWER_LIGHTNING,1,0)

MAGIC_AVAILABLE(PLAYER_GOOD,POWER_SIGHT,1,1)
MAGIC_AVAILABLE(PLAYER_GOOD,POWER_SPEED,1,1)
MAGIC_AVAILABLE(PLAYER_GOOD,POWER_LIGHTNING,1,1)

MAGIC_AVAILABLE(PLAYER3,POWER_SIGHT,1,0)
MAGIC_AVAILABLE(PLAYER3,POWER_SPEED,1,0)
MAGIC_AVAILABLE(PLAYER3,POWER_LIGHTNING,1,0)
MAGIC_AVAILABLE(PLAYER3,POWER_IMP,1,1)
MAGIC_AVAILABLE(PLAYER3,POWER_CHICKEN,1,0)
MAGIC_AVAILABLE(PLAYER3,POWER_CALL_TO_ARMS,1,0)

REM ********** Available doors & traps **********

DOOR_AVAILABLE(ALL_PLAYERS,STEEL,1,0)
TRAP_AVAILABLE(ALL_PLAYERS,LIGHTNING,1,0)
TRAP_AVAILABLE(PLAYER3,BOULDER,1,0)

REM ********** Party's **********

CREATE_PARTY(DRAGONS)
    ADD_TO_PARTY(DRAGONS,DRAGON,10,1597,ATTACK_DUNGEON_HEART,0)
    ADD_TO_PARTY(DRAGONS,DRAGON,9,1597,ATTACK_ENEMIES,0)
    ADD_TO_PARTY(DRAGONS,DRAGON,8,1597,ATTACK_ENEMIES,0)
    ADD_TO_PARTY(DRAGONS,DARK_MISTRESS,6,610,DEFEND_PARTY,0)
    ADD_TO_PARTY(DRAGONS,DRAGON,7,1597,ATTACK_ENEMIES,0)
    ADD_TO_PARTY(DRAGONS,DRAGON,4,1597,ATTACK_ENEMIES,0)
    ADD_TO_PARTY(DRAGONS,DARK_MISTRESS,6,610,DEFEND_PARTY,0)

CREATE_PARTY(ORCS)
    ADD_TO_PARTY(ORCS,TROLL,8,89,ATTACK_ROOMS,0)
    ADD_TO_PARTY(ORCS,ORC,10,233,ATTACK_ENEMIES,0)
    ADD_TO_PARTY(ORCS,ORC,10,233,DEFEND_PARTY,0)
    ADD_TO_PARTY(ORCS,ORC,10,233,DEFEND_PARTY,0)
    ADD_TO_PARTY(ORCS,TROLL,8,89,ATTACK_ENEMIES,0)
    ADD_TO_PARTY(ORCS,ORC,10,233,DEFEND_PARTY,0)

CREATE_PARTY(VAMPIRES)
    ADD_TO_PARTY(VAMPIRES,VAMPIRE,8,1597,ATTACK_DUNGEON_HEART,0)
    ADD_TO_PARTY(VAMPIRES,VAMPIRE,8,1597,ATTACK_DUNGEON_HEART,0)
    ADD_TO_PARTY(VAMPIRES,VAMPIRE,8,1597,ATTACK_DUNGEON_HEART,0)
    ADD_TO_PARTY(VAMPIRES,VAMPIRE,8,1597,ATTACK_DUNGEON_HEART,0)
    ADD_TO_PARTY(VAMPIRES,VAMPIRE,8,1597,ATTACK_DUNGEON_HEART,0)
    ADD_TO_PARTY(VAMPIRES,VAMPIRE,8,1597,ATTACK_DUNGEON_HEART,0)

REM ********** settings **********

IF(PLAYER0,DUNGEON_DESTROYED == 1)
    DISPLAY_OBJECTIVE(142,PLAYER0)
    LOSE_GAME
ENDIF


IF(PLAYER_GOOD,DUNGEON_DESTROYED == 1)
    DISPLAY_OBJECTIVE(123,PLAYER0)
    ADD_PARTY_TO_LEVEL(PLAYER_GOOD,DRAGONS,-4,1)
    ADD_PARTY_TO_LEVEL(PLAYER_GOOD,DRAGONS,-4,1)
    ADD_PARTY_TO_LEVEL(PLAYER_GOOD,DRAGONS,-4,1)
    ADD_CREATURE_TO_LEVEL(PLAYER_GOOD,BILE_DEMON,-4,4,10,987)
    ADD_CREATURE_TO_LEVEL(PLAYER_GOOD,AVATAR,-4,1,10,46368)
    IF(PLAYER_GOOD,DRAGON == 0)
        IF(PLAYER_GOOD,DARK_MISTRESS == 0)
            IF(PLAYER_GOOD,WIZARD == 0)
                IF(PLAYER_GOOD,AVATAR == 0)
                    IF(PLAYER3,DUNGEON_DESTROYED == 1)
                        WIN_GAME
                    ENDIF
                ENDIF
            ENDIF
        ENDIF
    ENDIF
ENDIF

IF(PLAYER3,DUNGEON_DESTROYED == 1)
    DISPLAY_OBJECTIVE(58,PLAYER0)
ENDIF


IF(PLAYER0,SCAVENGER > 8)
    DISPLAY_OBJECTIVE(92,PLAYER0)
    MAX_CREATURES(PLAYER0,34)
    CREATURE_AVAILABLE(PLAYER0,ORC,1,1)
    CREATURE_AVAILABLE(PLAYER0,FLY,1,1)
    CREATURE_AVAILABLE(PLAYER0,BUG,1,1)
    CREATURE_AVAILABLE(PLAYER0,SPIDER,1,1)
    CREATURE_AVAILABLE(PLAYER0,DEMONSPAWN,1,1)
    CREATURE_AVAILABLE(PLAYER0,SORCEROR,1,1)
    CREATURE_AVAILABLE(PLAYER0,BILE_DEMON,1,1)
    CREATURE_AVAILABLE(PLAYER0,DRAGON,1,1)
    CREATURE_AVAILABLE(PLAYER0,DARK_MISTRESS,1,1)
    CREATURE_AVAILABLE(PLAYER0,HELL_HOUND,1,1)
    CREATURE_AVAILABLE(PLAYER0,VAMPIRE,1,1)
    CREATURE_AVAILABLE(PLAYER0,TROLL,1,1)
    
ENDIF
IF(PLAYER0,WORKSHOP > 49)
    TRAP_AVAILABLE(PLAYER0,BOULDER,1,1)
    DISPLAY_OBJECTIVE(90,PLAYER0)
ENDIF

REM ********** Action points **********

IF_ACTION_POINT(5,PLAYER0)
    DISPLAY_OBJECTIVE(137,PLAYER0)
    ADD_PARTY_TO_LEVEL(PLAYER_GOOD,DRAGONS,1,1)
    ADD_CREATURE_TO_LEVEL(PLAYER_GOOD,BILE_DEMON,1,1,10,987)
ENDIF
IF_ACTION_POINT(1,PLAYER0)
    DISPLAY_OBJECTIVE(32,PLAYER0)
    ADD_PARTY_TO_LEVEL(PLAYER_GOOD,DRAGONS,2,1)
    ADD_PARTY_TO_LEVEL(PLAYER_GOOD,DRAGONS,3,1)
    ADD_PARTY_TO_LEVEL(PLAYER_GOOD,DRAGONS,4,1)
    ADD_CREATURE_TO_LEVEL(PLAYER_GOOD,BILE_DEMON,2,1,9,987)
    ADD_CREATURE_TO_LEVEL(PLAYER_GOOD,BILE_DEMON,3,1,7,987)
    ADD_CREATURE_TO_LEVEL(PLAYER_GOOD,BILE_DEMON,4,1,8,987)
    ADD_TUNNELLER_PARTY_TO_LEVEL(PLAYER_GOOD,ORCS,-2,DUNGEON,0,10,987)
ENDIF
IF_ACTION_POINT(2,PLAYER0)
    DISPLAY_OBJECTIVE(72,PLAYER0)
    ADD_PARTY_TO_LEVEL(PLAYER_GOOD,ORCS,2,2)
    ADD_CREATURE_TO_LEVEL(PLAYER_GOOD,IMP,-1,1,9,987)
    ADD_TUNNELLER_PARTY_TO_LEVEL(PLAYER_GOOD,ORCS,-2,DUNGEON,0,10,987)
ENDIF
IF_ACTION_POINT(3,PLAYER0)
    DISPLAY_OBJECTIVE(128,PLAYER0)
    ADD_CREATURE_TO_LEVEL(PLAYER_GOOD,WIZARD,6,5,8,987)
    ADD_TUNNELLER_PARTY_TO_LEVEL(PLAYER_GOOD,ORCS,-2,DUNGEON,0,10,987)
ENDIF
IF_ACTION_POINT(6,PLAYER0)
    ADD_CREATURE_TO_LEVEL(PLAYER_GOOD,WIZARD,-3,4,8,987)
    ADD_PARTY_TO_LEVEL(PLAYER_GOOD,DRAGONS,-3,1)
    ADD_PARTY_TO_LEVEL(PLAYER_GOOD,ORCS,-3,1)
    ADD_TUNNELLER_PARTY_TO_LEVEL(PLAYER_GOOD,ORCS,-2,DUNGEON,0,10,987)
ENDIF
IF_ACTION_POINT(7,PLAYER0)
    MAGIC_AVAILABLE(PLAYER_GOOD,POWER_CALL_TO_ARMS,1,1)
    ADD_TUNNELLER_PARTY_TO_LEVEL(PLAYER_GOOD,ORCS,-2,DUNGEON,0,10,987)
    ADD_PARTY_TO_LEVEL(PLAYER_GOOD,DRAGONS,-4,3)
    ADD_PARTY_TO_LEVEL(PLAYER_GOOD,VAMPIRES,-4,1)
    ADD_CREATURE_TO_LEVEL(PLAYER_GOOD,WIZARD,-4,4,8,987)
    ADD_CREATURE_TO_LEVEL(PLAYER_GOOD,FAIRY,-4,6,8,987)
    ADD_CREATURE_TO_LEVEL(PLAYER_GOOD,KNIGHT,-4,1,10,46368)
ENDIF
IF(PLAYER3,DUNGEON_DESTROYED == 0)
    IF_ACTION_POINT(8,PLAYER0)
        ADD_TUNNELLER_PARTY_TO_LEVEL(PLAYER_GOOD,ORCS,-5,DUNGEON,0,10,987)
        ADD_PARTY_TO_LEVEL(PLAYER3,VAMPIRES,8,2)
    ENDIF
ENDIF
