
SET_GENERATE_SPEED(500)
MAX_CREATURES(PLAYER0,0)
MAX_CREATURES(PLAYER1,25)
MAX_CREATURES(PLAYER2,15)
MAX_CREATURES(PLAYER3,15)
START_MONEY(PLAYER0,0)
START_MONEY(PLAYER1,25000)
START_MONEY(PLAYER2,25000)
START_MONEY(PLAYER3,25000)

COMPUTER_PLAYER(PLAYER1,7)
COMPUTER_PLAYER(PLAYER2,7)
COMPUTER_PLAYER(PLAYER3,7)


REM DEAD_CREATURES_RETURN_TO_POOL(1)

ADD_CREATURE_TO_POOL(FLY,5)
ADD_CREATURE_TO_POOL(BUG,5)
ADD_CREATURE_TO_POOL(DEMONSPAWN,20)
ADD_CREATURE_TO_POOL(SPIDER,20)
ADD_CREATURE_TO_POOL(SORCEROR,20)
ADD_CREATURE_TO_POOL(TROLL,20)
ADD_CREATURE_TO_POOL(BILE_DEMON,20)
ADD_CREATURE_TO_POOL(ORC,20)
ADD_CREATURE_TO_POOL(DARK_MISTRESS,20)
ADD_CREATURE_TO_POOL(DRAGON,20)
ADD_CREATURE_TO_POOL(HELL_HOUND,0)
ADD_CREATURE_TO_POOL(TENTACLE,5)
ADD_CREATURE_TO_POOL(SKELETON,0)
ADD_CREATURE_TO_POOL(GHOST,0)
ADD_CREATURE_TO_POOL(VAMPIRE,0)

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

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

TRAP_AVAILABLE(PLAYER1,ALARM,1,0)
TRAP_AVAILABLE(ALL_PLAYERS,POISON_GAS,1,0)
TRAP_AVAILABLE(ALL_PLAYERS,LIGHTNING,1,0)
TRAP_AVAILABLE(ALL_PLAYERS,LAVA,1,0)
TRAP_AVAILABLE(PLAYER0,BOULDER,0,0)
TRAP_AVAILABLE(ALL_PLAYERS,WORD_OF_POWER,1,0)
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)

MAGIC_AVAILABLE(PLAYER1,POWER_IMP,1,1)
MAGIC_AVAILABLE(PLAYER1,POWER_OBEY,1,1)
MAGIC_AVAILABLE(PLAYER1,POWER_SIGHT,0,0)
MAGIC_AVAILABLE(PLAYER1,POWER_CALL_TO_ARMS,1,1)
MAGIC_AVAILABLE(PLAYER1,POWER_CAVE_IN,0,0)
MAGIC_AVAILABLE(PLAYER1,POWER_HEAL_CREATURE,1,0)
MAGIC_AVAILABLE(PLAYER1,POWER_HOLD_AUDIENCE,0,0)
MAGIC_AVAILABLE(PLAYER1,POWER_LIGHTNING,1,0)
MAGIC_AVAILABLE(PLAYER1,POWER_SPEED,1,0)
MAGIC_AVAILABLE(PLAYER1,POWER_PROTECT,1,0)
MAGIC_AVAILABLE(PLAYER1,POWER_CONCEAL,0,0)
MAGIC_AVAILABLE(PLAYER1,POWER_DISEASE,0,0)
MAGIC_AVAILABLE(PLAYER1,POWER_CHICKEN,0,0)
MAGIC_AVAILABLE(PLAYER1,POWER_DESTROY_WALLS,0,0)
MAGIC_AVAILABLE(PLAYER1,POWER_ARMAGEDDON,0,0)

MAGIC_AVAILABLE(PLAYER2,POWER_IMP,1,1)
MAGIC_AVAILABLE(PLAYER2,POWER_OBEY,1,1)
MAGIC_AVAILABLE(PLAYER2,POWER_SIGHT,0,0)
MAGIC_AVAILABLE(PLAYER2,POWER_CALL_TO_ARMS,1,1)
MAGIC_AVAILABLE(PLAYER2,POWER_CAVE_IN,0,0)
MAGIC_AVAILABLE(PLAYER2,POWER_HEAL_CREATURE,1,0)
MAGIC_AVAILABLE(PLAYER2,POWER_HOLD_AUDIENCE,0,0)
MAGIC_AVAILABLE(PLAYER2,POWER_LIGHTNING,1,0)
MAGIC_AVAILABLE(PLAYER2,POWER_SPEED,1,0)
MAGIC_AVAILABLE(PLAYER2,POWER_PROTECT,1,0)
MAGIC_AVAILABLE(PLAYER2,POWER_CONCEAL,0,0)
MAGIC_AVAILABLE(PLAYER2,POWER_DISEASE,0,0)
MAGIC_AVAILABLE(PLAYER2,POWER_CHICKEN,0,0)
MAGIC_AVAILABLE(PLAYER2,POWER_DESTROY_WALLS,0,0)
MAGIC_AVAILABLE(PLAYER2,POWER_ARMAGEDDON,0,0)

MAGIC_AVAILABLE(PLAYER3,POWER_IMP,1,1)
MAGIC_AVAILABLE(PLAYER3,POWER_OBEY,1,1)
MAGIC_AVAILABLE(PLAYER3,POWER_SIGHT,0,0)
MAGIC_AVAILABLE(PLAYER3,POWER_CALL_TO_ARMS,1,1)
MAGIC_AVAILABLE(PLAYER3,POWER_CAVE_IN,0,0)
MAGIC_AVAILABLE(PLAYER3,POWER_HEAL_CREATURE,1,0)
MAGIC_AVAILABLE(PLAYER3,POWER_HOLD_AUDIENCE,0,0)
MAGIC_AVAILABLE(PLAYER3,POWER_LIGHTNING,1,0)
MAGIC_AVAILABLE(PLAYER3,POWER_SPEED,1,0)
MAGIC_AVAILABLE(PLAYER3,POWER_PROTECT,1,0)
MAGIC_AVAILABLE(PLAYER3,POWER_CONCEAL,0,0)
MAGIC_AVAILABLE(PLAYER3,POWER_DISEASE,0,0)
MAGIC_AVAILABLE(PLAYER3,POWER_CHICKEN,0,0)
MAGIC_AVAILABLE(PLAYER3,POWER_DESTROY_WALLS,0,0)
MAGIC_AVAILABLE(PLAYER3,POWER_ARMAGEDDON,0,0)

MAGIC_AVAILABLE(PLAYER0,POWER_IMP,0,0)
MAGIC_AVAILABLE(PLAYER0,POWER_OBEY,1,1)
MAGIC_AVAILABLE(PLAYER0,POWER_SIGHT,0,0)
MAGIC_AVAILABLE(PLAYER0,POWER_CALL_TO_ARMS,1,0)
MAGIC_AVAILABLE(PLAYER0,POWER_CAVE_IN,0,0)
MAGIC_AVAILABLE(PLAYER0,POWER_HEAL_CREATURE,1,0)
MAGIC_AVAILABLE(PLAYER0,POWER_HOLD_AUDIENCE,0,0)
MAGIC_AVAILABLE(PLAYER0,POWER_LIGHTNING,1,0)
MAGIC_AVAILABLE(PLAYER0,POWER_SPEED,1,0)
MAGIC_AVAILABLE(PLAYER0,POWER_PROTECT,1,0)
MAGIC_AVAILABLE(PLAYER0,POWER_CONCEAL,0,0)
MAGIC_AVAILABLE(PLAYER0,POWER_DISEASE,0,0)
MAGIC_AVAILABLE(PLAYER0,POWER_CHICKEN,0,0)
MAGIC_AVAILABLE(PLAYER0,POWER_DESTROY_WALLS,0,0)
MAGIC_AVAILABLE(PLAYER0,POWER_ARMAGEDDON,0,0)

IF(PLAYER0,BRIDGE >= 1)
    ROOM_AVAILABLE(PLAYER0,BRIDGE,1,1)
ENDIF
IF(PLAYER0,WORKSHOP >= 1)
    ROOM_AVAILABLE(PLAYER0,WORKSHOP,1,1)
ENDIF
IF(PLAYER0,BARRACKS >= 1)
    ROOM_AVAILABLE(PLAYER0,BARRACKS,1,1)
ENDIF
IF(PLAYER0,GUARD_POST >= 1)
    ROOM_AVAILABLE(PLAYER0,GUARD_POST,1,1)
ENDIF
IF(PLAYER0,PRISON >= 1)
    ROOM_AVAILABLE(PLAYER0,PRISON,1,1)
ENDIF
IF(PLAYER0,TORTURE >= 1)
    ROOM_AVAILABLE(PLAYER0,TORTURE,1,1)
ENDIF
IF(PLAYER0,TEMPLE >= 1)
    ROOM_AVAILABLE(PLAYER0,TEMPLE,1,1)
ENDIF
IF(PLAYER0,GRAVEYARD >= 1)
    ROOM_AVAILABLE(PLAYER0,GRAVEYARD,1,1)
ENDIF
IF(PLAYER0,SCAVENGER >= 1)
    ROOM_AVAILABLE(PLAYER0,SCAVENGER,1,1)
ENDIF

IF(PLAYER0,IMP == 0)
    IF(PLAYER0,TOTAL_CREATURES == 0)
        IF(PLAYER0,ENTRANCE == 0)
            QUICK_OBJECTIVE(6,"I see you let your creatures all die off, not very promising keeper.",PLAYER0)
            LOSE_GAME
        ENDIF
    ENDIF
ENDIF

IF(PLAYER_GOOD,TOTAL_CREATURES == 27)
    QUICK_OBJECTIVE(2,"Well done, i bet they didn't see that one coming!",PLAYER0)
ENDIF

IF(PLAYER0,IMP == 0)
    IF_AVAILABLE(PLAYER0,POWER_IMP == 0)
        QUICK_OBJECTIVE(5,"You have failed to protect the sacred imps, for in this level, you need them more than they need you, you are now nothing.",PLAYER0)
        LOSE_GAME
    ENDIF
ENDIF

IF(PLAYER1,DUNGEON_DESTROYED == 1)
    QUICK_OBJECTIVE(3,"Fantastic, you have truly outdone yourself, in future, keepers will never underestimate you.",PLAYER0)
    WIN_GAME
ENDIF

QUICK_OBJECTIVE(0,"Left for dead, you have with you only your most faithful servants, and those willing to stay behind and help. Pass the series of challenges, and destroy all 3 enemy keepers who left you like this.",PLAYER0)


IF(PLAYER0,TOTAL_CREATURES == 4)
QUICK_OBJECTIVE(1,"These are the only creatures you are going to have for a long time, do not let them fall. To the south are two keepers, who are in a constant feud, because they have to share a gem. For now, they are happy, because 1 piece of impenetrable wall separates them, maybe if you could...err...get rid of it? To the north is the most powerful keeper, supposedly the south keepers hold the key to his downfall in their libraries.",PLAYER0)
ENDIF

IF_ACTION_POINT(1,PLAYER0)
    QUICK_OBJECTIVE(4,"You have found the conceal creature spell, this will be very useful when taking over an enemy dungeon, as force is obviously not an option.",PLAYER0)
ENDIF

IF_ACTION_POINT(2,PLAYER0)
    QUICK_OBJECTIVE(7,"You have located a prison, by using this, and the recently taken torture rooms, you should be able to find out whats inside the blue keeper's dungeon.",PLAYER0)
ENDIF

IF_ACTION_POINT(3,PLAYER0)
    QUICK_OBJECTIVE(8,"Congratulations, you now have the power to remove the wall that seperates yellow and green, have fun!",PLAYER0)
ENDIF
