COMPUTER_PLAYER(PLAYER3,0)

SET_COMPUTER_GLOBALS(PLAYER3,50,500,1,3,5500,1)

REM UNKNOWN, UNKNOWN, PROCESTIME, PROCESSEN, SLEEPTIME, UNKNOWN

SET_COMPUTER_CHECKS(PLAYER3,"CHECK FOR NEUTRAL PLACES",15000,0,0,0,195000)
SET_COMPUTER_CHECKS(PLAYER3,"CHECK FOR QUICK ATTACK",1500,45,3000,8,30000)
SET_COMPUTER_PROCESS(PLAYER3,"ATTACK SAFE ATTACK",-1,100,335,100,0)
SET_COMPUTER_PROCESS(PLAYER3,"ATTACK PLAN 1",-1,100,335,100,0)

IF(PLAYER0,GAME_TURN >= 5500)
QUICK_OBJECTIVE(1,"Something is amiss; whispers echo through the caverns of an ancient evil gaining in strength. Monks have also gone missing and this seem be enough cause for the Heroes to retreat to their stronghold. Typical, fleeing at the first signs of possible danger that is obviously unfounded... right?",PLAYER_GOOD)
    CREATURE_AVAILABLE(PLAYER3,SPIDER,1,1)
    CREATURE_AVAILABLE(PLAYER3,SKELETON,1,1)
    CREATURE_AVAILABLE(PLAYER3,MONK,1,1)
    CREATURE_AVAILABLE(PLAYER3,GHOST,1,1)
    ADD_CREATURE_TO_LEVEL(PLAYER3,VAMPIRE,2,1,10,0)
    ADD_CREATURE_TO_LEVEL(PLAYER3,MONK,2,1,10,0)
ENDIF

IF(PLAYER0,GAME_TURN >= 17500)
    CREATURE_AVAILABLE(PLAYER3,VAMPIRE,1,1)
    ADD_CREATURE_TO_LEVEL(PLAYER3,MONK,2,1,10,0)
ENDIF

IF(PLAYER0,GAME_TURN >= 150000)
    MAX_CREATURES(PLAYER3,30)
ENDIF

SET_GENERATE_SPEED(600)
MAX_CREATURES(PLAYER0,20)
MAX_CREATURES(PLAYER3,25)

START_MONEY(PLAYER0,5000)
START_MONEY(PLAYER3,4800000)

ADD_CREATURE_TO_POOL(SORCEROR,25)
ADD_CREATURE_TO_POOL(BILE_DEMON,25)
ADD_CREATURE_TO_POOL(DARK_MISTRESS,15)
ADD_CREATURE_TO_POOL(TROLL,20)
ADD_CREATURE_TO_POOL(BUG,15)
ADD_CREATURE_TO_POOL(SPIDER,5)
ADD_CREATURE_TO_POOL(FLY,15)
ADD_CREATURE_TO_POOL(ORC,30)
ADD_CREATURE_TO_POOL(DEMONSPAWN,15)
ADD_CREATURE_TO_POOL(TENTACLE,20)
ADD_CREATURE_TO_POOL(MONK,30)
ADD_CREATURE_TO_POOL(VAMPIRE,10)
ADD_CREATURE_TO_POOL(GHOST,6)
ADD_CREATURE_TO_POOL(SKELETON,10)

SET_CREATURE_HEALTH(GHOST,700)

CREATURE_AVAILABLE(PLAYER0,TROLL,1,1)
CREATURE_AVAILABLE(PLAYER0,SORCEROR,1,1)
CREATURE_AVAILABLE(PLAYER0,BILE_DEMON,1,1)
CREATURE_AVAILABLE(PLAYER0,DARK_MISTRESS,1,1)
CREATURE_AVAILABLE(PLAYER0,ORC,1,1)
CREATURE_AVAILABLE(PLAYER0,SPIDER,1,1)
CREATURE_AVAILABLE(PLAYER0,FLY,1,1)
CREATURE_AVAILABLE(PLAYER0,BUG,1,1)
CREATURE_AVAILABLE(PLAYER0,DEMONSPAWN,1,1)
CREATURE_AVAILABLE(PLAYER0,TENTACLE,1,1)

ROOM_AVAILABLE(ALL_PLAYERS,TREASURE,1,1)
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(PLAYER3,GUARD_POST,1,0)
ROOM_AVAILABLE(PLAYER3,TORTURE,1,0)
ROOM_AVAILABLE(PLAYER0,TEMPLE,1,0)
ROOM_AVAILABLE(PLAYER3,PRISON,1,0)
ROOM_AVAILABLE(PLAYER3,WORKSHOP,1,0)
ROOM_AVAILABLE(PLAYER3,BRIDGE,1,0)

IF(PLAYER0,BRIDGE > 0)
    ROOM_AVAILABLE(ALL_PLAYERS,BRIDGE,1,1)
    TUTORIAL_FLASH_BUTTON(18,1000)
ENDIF

IF(PLAYER0,BARRACKS > 0)
    ROOM_AVAILABLE(ALL_PLAYERS,BARRACKS,1,1)
    TUTORIAL_FLASH_BUTTON(16,1000)
ENDIF

IF(PLAYER0,GUARD_POST > 0)
    ROOM_AVAILABLE(ALL_PLAYERS,GUARD_POST,1,1)
ENDIF

IF(PLAYER0,TORTURE > 0)
    ROOM_AVAILABLE(ALL_PLAYERS,TORTURE,1,1)
    TUTORIAL_FLASH_BUTTON(17,1000)
ENDIF

IF(PLAYER3,WORKSHOP >= 75)
    ROOM_AVAILABLE(PLAYER1,WORKSHOP,0,0)
ENDIF

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(PLAYER3,POWER_SIGHT,1,0)
MAGIC_AVAILABLE(ALL_PLAYERS,POWER_CALL_TO_ARMS,1,0)
MAGIC_AVAILABLE(ALL_PLAYERS,POWER_HEAL_CREATURE,1,0)
MAGIC_AVAILABLE(ALL_PLAYERS,POWER_PROTECT,1,0)
MAGIC_AVAILABLE(ALL_PLAYERS,POWER_CONCEAL,1,0)
MAGIC_AVAILABLE(PLAYER3,POWER_CHICKEN,1,0)
MAGIC_AVAILABLE(PLAYER3,POWER_CAVE_IN,1,0)
MAGIC_AVAILABLE(ALL_PLAYERS,POWER_SPEED,1,0)
MAGIC_AVAILABLE(ALL_PLAYERS,POWER_HOLD_AUDIENCE,1,0)
MAGIC_AVAILABLE(PLAYER3,POWER_LIGHTNING,1,0)
MAGIC_AVAILABLE(PLAYER3,POWER_DISEASE,1,0)
MAGIC_AVAILABLE(PLAYER3,POWER_ARMAGEDDON,1,0)
MAGIC_AVAILABLE(PLAYER3,POWER_DESTROY_WALLS,1,0)

SET_COMPUTER_PROCESS(PLAYER3,"BUILD A TORTURE ROOM",-5,5,6,5,0)
SET_COMPUTER_PROCESS(PLAYER3,"BUILD A PRISON ROOM",-5,5,5,4,0)
SET_COMPUTER_PROCESS(PLAYER3,"BUILD A WORKSHOP ROOM",-5,5,5,8,0)
SET_COMPUTER_PROCESS(PLAYER3,"BUILD A TRAINING ROOM",-1,5,5,6,0)
SET_COMPUTER_PROCESS(PLAYER3,"BUILD A RESEARCH ROOM",0,6,6,3,0)
SET_COMPUTER_PROCESS(PLAYER3,"BUILD A TREASURE ROOM",0,6,6,2,0)

DOOR_AVAILABLE(PLAYER0,WOOD,1,0)
TRAP_AVAILABLE(PLAYER0,ALARM,1,0)
DOOR_AVAILABLE(PLAYER0,BRACED,1,0)
TRAP_AVAILABLE(ALL_PLAYERS,POISON_GAS,1,0)
DOOR_AVAILABLE(PLAYER3,MAGIC,1,0)

CREATE_PARTY(GUARDS)
    ADD_TO_PARTY(GUARDS,SAMURAI,5,500,DEFEND_PARTY,0)
    ADD_TO_PARTY(GUARDS,SAMURAI,6,750,ATTACK_DUNGEON_HEART,0)
    ADD_TO_PARTY(GUARDS,SAMURAI,5,500,ATTACK_ENEMIES,0)
    ADD_TO_PARTY(GUARDS,SAMURAI,5,500,STEAL_SPELLS,0)
    ADD_TO_PARTY(GUARDS,SAMURAI,5,500,DEFEND_PARTY,0)

CREATE_PARTY(BRUTES)
    ADD_TO_PARTY(BRUTES,GIANT,6,500,ATTACK_ENEMIES,0)
    ADD_TO_PARTY(BRUTES,GIANT,6,500,ATTACK_ENEMIES,0)
    ADD_TO_PARTY(BRUTES,GIANT,6,500,ATTACK_ENEMIES,0)
    ADD_TO_PARTY(BRUTES,GIANT,6,600,ATTACK_ROOMS,0)
    ADD_TO_PARTY(BRUTES,GIANT,6,600,ATTACK_ROOMS,0)
    ADD_TO_PARTY(BRUTES,GIANT,6,500,DEFEND_PARTY,0)

CREATE_PARTY(SCOUTS)
    ADD_TO_PARTY(SCOUTS,DWARFA,10,750,STEAL_GOLD,0)
    ADD_TO_PARTY(SCOUTS,THIEF,9,700,ATTACK_ENEMIES,0)
    ADD_TO_PARTY(SCOUTS,THIEF,9,700,DEFEND_PARTY,0)
    ADD_TO_PARTY(SCOUTS,THIEF,8,700,ATTACK_ENEMIES,0)
    ADD_TO_PARTY(SCOUTS,ARCHER,9,500,DEFEND_PARTY,0)
    ADD_TO_PARTY(SCOUTS,ARCHER,8,500,DEFEND_PARTY,0)
    ADD_TO_PARTY(SCOUTS,ARCHER,8,500,DEFEND_PARTY,0)

CREATE_PARTY(MYSTIC)
    ADD_TO_PARTY(MYSTIC,MONK,8,750,DEFEND_PARTY,0)
    ADD_TO_PARTY(MYSTIC,WIZARD,9,800,ATTACK_ENEMIES,0)
    ADD_TO_PARTY(MYSTIC,FAIRY,9,1000,STEAL_SPELLS,0)
    ADD_TO_PARTY(MYSTIC,WITCH,8,500,STEAL_SPELLS,0)
    ADD_TO_PARTY(MYSTIC,MONK,8,750,DEFEND_PARTY,0)

CREATE_PARTY(HOLY)
    ADD_TO_PARTY(HOLY,MONK,7,500,ATTACK_ENEMIES,0)
    ADD_TO_PARTY(HOLY,MONK,8,500,STEAL_SPELLS,0)
    ADD_TO_PARTY(HOLY,MONK,7,500,ATTACK_ENEMIES,0)
    ADD_TO_PARTY(HOLY,MONK,6,500,DEFEND_PARTY,0)

CREATE_PARTY(ELITES)
    ADD_TO_PARTY(ELITES,SAMURAI,9,2000,ATTACK_ENEMIES,0)
    ADD_TO_PARTY(ELITES,WIZARD,8,2000,STEAL_SPELLS,0)
    ADD_TO_PARTY(ELITES,BARBARIAN,8,1500,DEFEND_PARTY,0)
    ADD_TO_PARTY(ELITES,GIANT,7,1500,ATTACK_ROOMS,0)
    ADD_TO_PARTY(ELITES,MONK,9,2000,ATTACK_ROOMS,0)

CREATE_PARTY(LORD)
    ADD_TO_PARTY(LORD,MONK,9,1500,DEFEND_PARTY,0)
    ADD_TO_PARTY(LORD,KNIGHT,10,5000,ATTACK_DUNGEON_HEART,0)
    ADD_TO_PARTY(LORD,WIZARD,8,1500,STEAL_SPELLS,0)
    ADD_TO_PARTY(LORD,MONK,8,1500,ATTACK_ENEMIES,0)
    ADD_TO_PARTY(LORD,MONK,8,1500,ATTACK_ROOMS,0)
    ADD_TO_PARTY(LORD,SAMURAI,8,1500,DEFEND_PARTY,0)
    ADD_TO_PARTY(LORD,SAMURAI,8,1500,DEFEND_PARTY,0)

IF_ACTION_POINT(1,PLAYER0)
    QUICK_OBJECTIVE(4,"Vuen: Nemo me impune lacessit!",PLAYER3)
    ADD_CREATURE_TO_LEVEL(PLAYER3,MONK,2,2,8,0)
    ADD_CREATURE_TO_LEVEL(PLAYER3,SKELETON,2,2,8,0)
    ADD_CREATURE_TO_LEVEL(PLAYER3,GHOST,2,2,8,0)
    ADD_CREATURE_TO_LEVEL(PLAYER3,VAMPIRE,2,1,10,0)
ENDIF

IF_ACTION_POINT(3,PLAYER0)
    ADD_CREATURE_TO_LEVEL(PLAYER_GOOD,DWARFA,-1,6,5,250)
ENDIF

IF_ACTION_POINT(4,PLAYER0)
    ADD_PARTY_TO_LEVEL(PLAYER_GOOD,HOLY,-2,1)
ENDIF

IF_ACTION_POINT(5,PLAYER0)
    SET_TIMER(PLAYER_GOOD,TIMER0)
    ADD_PARTY_TO_LEVEL(PLAYER_GOOD,HOLY,-3,1)
ENDIF

IF_ACTION_POINT(7,PLAYER0)
    ADD_PARTY_TO_LEVEL(PLAYER_GOOD,MYSTIC,-4,1)
ENDIF

IF(PLAYER_GOOD,TIMER0 >= 3450)
    ADD_PARTY_TO_LEVEL(PLAYER_GOOD,GUARDS,-5,1)
ENDIF

IF(PLAYER_GOOD,TIMER0 >= 8000)
    ADD_PARTY_TO_LEVEL(PLAYER_GOOD,BRUTES,-5,1)
ENDIF

IF(PLAYER_GOOD,TIMER0 >= 18500)
    ADD_PARTY_TO_LEVEL(PLAYER_GOOD,MYSTIC,-4,1)
ENDIF

QUICK_OBJECTIVE(0,"Long ago a Keeper of legendary proportions, Vuen 'the Darkener', ravaged and terrorised the world before being vanquished in this realm. Though destroyed, the evil he inflicted lingered. Thus the Heroes build a fortified monastery to watch Vuen's final resting place. Lay siege to this place and lets see what relics we can uncover from this tomb.",PLAYER0)

IF(PLAYER0,GAME_TURN >= 25000)
    IF(PLAYER3,BATTLES_WON >= 1)
QUICK_OBJECTIVE(2,"It seems that Vuen was not killed, merely subdued and contained in this realm. He has been hiding in the shadows and has regained his strength by capturing Monks and converting them into Vampires. Now Vuen is looking outwards beyond this realm and looking at the world at large. Its somewhat sad that it falls upon you to somehow clean up this millennia old mess left by the weak-minded ancestors of the Heroes. Avoid confrontations with Vuen, for you will surely be crushed in a direct fight.",PLAYER3)
        ADD_CREATURE_TO_LEVEL(PLAYER3,MONK,2,1,10,0)
    ENDIF
ENDIF

IF_ACTION_POINT(6,PLAYER0)
    SET_TIMER(PLAYER_GOOD,TIMER1)
ENDIF

IF(PLAYER_GOOD,TIMER1 >= 500)
    ADD_PARTY_TO_LEVEL(PLAYER_GOOD,SCOUTS,-6,1)
ENDIF

IF(PLAYER_GOOD,TIMER1 >= 1080)
    ADD_PARTY_TO_LEVEL(PLAYER_GOOD,ELITES,-6,1)
ENDIF

IF(PLAYER_GOOD,TIMER1 >= 1420)
    ADD_PARTY_TO_LEVEL(PLAYER_GOOD,LORD,-6,1)
ENDIF

IF(PLAYER_GOOD,DUNGEON_DESTROYED == 1)
    DOOR_AVAILABLE(PLAYER0,STEEL,1,0)
    DOOR_AVAILABLE(PLAYER0,MAGIC,1,0)
    TRAP_AVAILABLE(PLAYER0,LIGHTNING,1,0)
    TRAP_AVAILABLE(PLAYER0,WORD_OF_POWER,1,0)
    TRAP_AVAILABLE(PLAYER0,BOULDER,1,0)
    ROOM_AVAILABLE(PLAYER0,WORKSHOP,1,1)
QUICK_OBJECTIVE(3,"Amidst the ruins of the monastery your imps have uncovered designs for advanced traps and doors. Summon your minions to the workshop and lets see if these items are the solution for turning the tide.",PLAYER_GOOD)
    TUTORIAL_FLASH_BUTTON(13,1000)
ENDIF

IF(PLAYER0,ALL_DUNGEONS_DESTROYED == 1)
    IF(PLAYER_GOOD,TOTAL_CREATURES == 0)
        QUICK_OBJECTIVE(5,"Congratulations, Vuen has been truly vanquished. Now this realm really lives up to its name.",PLAYER0)
        WIN_GAME
    ENDIF
ENDIF
