REM ********************************************
REM  Grinics' KReign campaign for KeeperFX
REM  Script for Level 206
REM  Version 1.00
REM ********************************************

REM Briefing

REM ********************************************
REM After that display, it would seem that the future advarsaries
REM will be more challenging as we anticpated. Now that your
REM troops are in Sillimist, take over the latest ruined dungeon,
REM which was recently home to Hibachnach. His dungeon will have some things
REM worth salvaging.
REM Heroes are as pesky as ever here. There are a few gates around, but they guard
REM plenty of gold and possibly some survivors of Hibachnach's dungeon.
REM The fact that the hero activity is higher even though there is a deadlier Keeper here will
REM be looked into.

SET_GENERATE_SPEED(650)

MAX_CREATURES(PLAYER1,125)
MAX_CREATURES(PLAYER0,100)

START_MONEY(ALL_PLAYERS,50000)

COMPUTER_PLAYER(PLAYER1,10)

ADD_CREATURE_TO_POOL(BILE_DEMON,20)
ADD_CREATURE_TO_POOL(DARK_MISTRESS,20)
ADD_CREATURE_TO_POOL(HELL_HOUND,15)
ADD_CREATURE_TO_POOL(DEMONSPAWN,5)
ADD_CREATURE_TO_POOL(SORCEROR,15)
ADD_CREATURE_TO_POOL(TROLL,18)
ADD_CREATURE_TO_POOL(FLY,10)
ADD_CREATURE_TO_POOL(BUG,20)
ADD_CREATURE_TO_POOL(ORC,10)
ADD_CREATURE_TO_POOL(SPIDER,13)
ADD_CREATURE_TO_POOL(DRAGON,20)

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


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


MAGIC_AVAILABLE(ALL_PLAYERS,POWER_HAND,1,1)
MAGIC_AVAILABLE(ALL_PLAYERS,POWER_OBEY,1,1)
MAGIC_AVAILABLE(ALL_PLAYERS,POWER_IMP,1,1)
MAGIC_AVAILABLE(ALL_PLAYERS,POWER_SLAP,1,1)
MAGIC_AVAILABLE(ALL_PLAYERS,POWER_SIGHT,1,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_HOLD_AUDIENCE,1,0)
MAGIC_AVAILABLE(ALL_PLAYERS,POWER_CHICKEN,1,0)
MAGIC_AVAILABLE(ALL_PLAYERS,POWER_SPEED,1,0)
MAGIC_AVAILABLE(PLAYER1,POWER_LIGHTNING,1,0)
MAGIC_AVAILABLE(PLAYER1,POWER_CONCEAL,1,0)
MAGIC_AVAILABLE(ALL_PLAYERS,POWER_PROTECT,1,0)
MAGIC_AVAILABLE(PLAYER1,POWER_DISEASE,1,0)
MAGIC_AVAILABLE(PLAYER1,POWER_DESTROY_WALLS,1,0)

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

CREATE_PARTY(HERO1)
    ADD_TO_PARTY(HERO1,GIANT,8,1000,ATTACK_ENEMIES,0)
    ADD_TO_PARTY(HERO1,WITCH,10,5000,ATTACK_ENEMIES,0)
    ADD_TO_PARTY(HERO1,GIANT,8,1000,ATTACK_ENEMIES,0)
    ADD_TO_PARTY(HERO1,WIZARD,5,1000,ATTACK_ENEMIES,0)

CREATE_PARTY(HERO2)
    ADD_TO_PARTY(HERO2,GIANT,5,1000,ATTACK_ENEMIES,0)
    ADD_TO_PARTY(HERO2,THIEF,10,5000,ATTACK_ENEMIES,0)
    ADD_TO_PARTY(HERO2,GIANT,5,1000,ATTACK_ENEMIES,0)
    ADD_TO_PARTY(HERO2,WIZARD,8,1000,ATTACK_ENEMIES,0)

CREATE_PARTY(HERO3)
    ADD_TO_PARTY(HERO3,KNIGHT,2,1000,ATTACK_ENEMIES,0)
    ADD_TO_PARTY(HERO3,KNIGHT,5,3000,ATTACK_ENEMIES,0)
    ADD_TO_PARTY(HERO3,KNIGHT,2,1000,ATTACK_ENEMIES,0)
    ADD_TO_PARTY(HERO3,DWARFA,2,50,ATTACK_ENEMIES,0)

CREATE_PARTY(EXTRA0)
    ADD_TO_PARTY(EXTRA0,DRAGON,5,1000,ATTACK_ENEMIES,0)
    ADD_TO_PARTY(EXTRA0,DRAGON,5,1000,ATTACK_ENEMIES,0)
    ADD_TO_PARTY(EXTRA0,DARK_MISTRESS,7,1000,ATTACK_ENEMIES,0)
    ADD_TO_PARTY(EXTRA0,DARK_MISTRESS,7,1000,ATTACK_ENEMIES,0)

CREATE_PARTY(EXTRA1)
    ADD_TO_PARTY(EXTRA1,BILE_DEMON,5,1000,ATTACK_ENEMIES,0)
    ADD_TO_PARTY(EXTRA1,BILE_DEMON,5,1000,ATTACK_ENEMIES,0)
    ADD_TO_PARTY(EXTRA1,ORC,5,1000,ATTACK_ENEMIES,0)
    ADD_TO_PARTY(EXTRA1,ORC,5,1000,ATTACK_ENEMIES,0)

DISPLAY_OBJECTIVE(22,ALL_PLAYERS)

IF(PLAYER0,GAME_TURN > 400)
    DISPLAY_INFORMATION(23)
ENDIF

IF_ACTION_POINT(1,PLAYER0)
    ADD_PARTY_TO_LEVEL(PLAYER_GOOD,HERO1,-1,1)
ENDIF

IF_ACTION_POINT(2,PLAYER0)
    ADD_PARTY_TO_LEVEL(PLAYER_GOOD,HERO2,-2,1)
ENDIF

IF_ACTION_POINT(3,PLAYER0)
    ADD_PARTY_TO_LEVEL(PLAYER_GOOD,HERO3,-3,1)
ENDIF

IF_ACTION_POINT(4,PLAYER0)
    ADD_PARTY_TO_LEVEL(PLAYER0,EXTRA0,-4,1)
ENDIF

IF_ACTION_POINT(5,PLAYER1)
    ADD_PARTY_TO_LEVEL(PLAYER1,EXTRA1,-4,1)
ENDIF

IF(PLAYER1,DUNGEON_DESTROYED == 1)
    WIN_GAME
ENDIF

IF(PLAYER0,DUNGEON_DESTROYED == 1)
    LOSE_GAME
    
ENDIF
