REM ********************************************
REM Fairy Nuff
REM Script for Level 213
REM Steve Tupper
REM ********************************************


REM ************************************
REM ********** SETUP COMMANDS **********
REM ************************************


REM ********** Set up player information **********

REM *** Number of turns wait for new creature (max 12 turns per second depending on computer speed) ***
SET_GENERATE_SPEED(100)

REM *** agressiveness = 0 everything on, 1 small aggressive, 3 small defensive, 4 large defensive, 5 large aggressive, 10 medium all rounder ***
COMPUTER_PLAYER(PLAYER1,10)

REM *** money sart with - duh ***
START_MONEY(PLAYER0,6666)
START_MONEY(PLAYER1,10000)

REM *** remember max of 255 in all dungeons on level at any time ***
MAX_CREATURES(PLAYER0,50)
MAX_CREATURES(PLAYER1,25)


REM ********** Set up rooms, traps, doors and magic **********

REM *** rooms available to players also ENTRANCE but don't need here ***
ROOM_AVAILABLE(ALL_PLAYERS,TREASURE,1,1)
ROOM_AVAILABLE(ALL_PLAYERS,RESEARCH,1,1)
ROOM_AVAILABLE(ALL_PLAYERS,PRISON,1,0)
ROOM_AVAILABLE(PLAYER1,TORTURE,1,0)
ROOM_AVAILABLE(ALL_PLAYERS,TRAINING,1,0)
ROOM_AVAILABLE(ALL_PLAYERS,WORKSHOP,1,0)
ROOM_AVAILABLE(ALL_PLAYERS,SCAVENGER,1,0)
ROOM_AVAILABLE(PLAYER1,TEMPLE,1,0)
ROOM_AVAILABLE(PLAYER1,GRAVEYARD,1,0)
ROOM_AVAILABLE(ALL_PLAYERS,BARRACKS,1,0)
ROOM_AVAILABLE(ALL_PLAYERS,GARDEN,1,1)
ROOM_AVAILABLE(ALL_PLAYERS,LAIR,1,1)
ROOM_AVAILABLE(ALL_PLAYERS,BRIDGE,1,0)
ROOM_AVAILABLE(ALL_PLAYERS,GUARD_POST,1,0)

REM *** spells available to players ***
MAGIC_AVAILABLE(ALL_PLAYERS,POWER_IMP,1,1)
MAGIC_AVAILABLE(PLAYER1,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(PLAYER0,POWER_HEAL_CREATURE,1,0)
MAGIC_AVAILABLE(ALL_PLAYERS,POWER_HOLD_AUDIENCE,1,0)
MAGIC_AVAILABLE(PLAYER0,POWER_LIGHTNING,1,0)
MAGIC_AVAILABLE(ALL_PLAYERS,POWER_SPEED,1,0)
MAGIC_AVAILABLE(ALL_PLAYERS,POWER_PROTECT,1,0)
MAGIC_AVAILABLE(ALL_PLAYERS,POWER_CONCEAL,1,0)
MAGIC_AVAILABLE(ALL_PLAYERS,POWER_CHICKEN,1,0)
MAGIC_AVAILABLE(ALL_PLAYERS,POWER_DESTROY_WALLS,1,0)
MAGIC_AVAILABLE(PLAYER0,POWER_ARMAGEDDON,1,0)

REM *** doors available to players ***
DOOR_AVAILABLE(PLAYER0,WOOD,1,1)
DOOR_AVAILABLE(PLAYER0,BRACED,1,1)
DOOR_AVAILABLE(PLAYER0,STEEL,1,1)
DOOR_AVAILABLE(PLAYER0,MAGIC,1,1)
DOOR_AVAILABLE(PLAYER1,WOOD,1,0)
DOOR_AVAILABLE(PLAYER1,BRACED,1,0)
DOOR_AVAILABLE(PLAYER1,STEEL,1,0)
DOOR_AVAILABLE(PLAYER1,MAGIC,1,0)

REM *** traps available to players ***
TRAP_AVAILABLE(ALL_PLAYERS,BOULDER,1,0)
TRAP_AVAILABLE(ALL_PLAYERS,ALARM,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)
TRAP_AVAILABLE(ALL_PLAYERS,LAVA,1,0)

REM ********** Set up creature information **********

REM *** remember to have enough to cover all players ***
ADD_CREATURE_TO_POOL(TROLL,4)
ADD_CREATURE_TO_POOL(DEMONSPAWN,20)
ADD_CREATURE_TO_POOL(DARK_MISTRESS,10)
ADD_CREATURE_TO_POOL(SORCEROR,10)
ADD_CREATURE_TO_POOL(BILE_DEMON,10)
ADD_CREATURE_TO_POOL(ORC,10)
REM *** normally good creatures ***
ADD_CREATURE_TO_POOL(MONK,1)
ADD_CREATURE_TO_POOL(WITCH,1)
ADD_CREATURE_TO_POOL(GIANT,1)
ADD_CREATURE_TO_POOL(FAIRY,50)
ADD_CREATURE_TO_POOL(THIEF,5)


REM *** the 1 field must be in here ***
CREATURE_AVAILABLE(PLAYER1,TROLL,1,1)
CREATURE_AVAILABLE(PLAYER1,DEMONSPAWN,1,1)
CREATURE_AVAILABLE(PLAYER1,DARK_MISTRESS,1,1)
CREATURE_AVAILABLE(PLAYER1,SORCEROR,1,1)
CREATURE_AVAILABLE(PLAYER1,BILE_DEMON,1,1)
CREATURE_AVAILABLE(PLAYER1,ORC,1,1)
REM *** normally good creatures ***
CREATURE_AVAILABLE(PLAYER0,FAIRY,1,1)
CREATURE_AVAILABLE(PLAYER1,THIEF,1,1)
REM *** You may need these for prisons, torture, temples and graveyards also remember sorceror for temple ***
CREATURE_AVAILABLE(PLAYER1,SKELETON,1,1)
CREATURE_AVAILABLE(PLAYER1,VAMPIRE,1,1)
CREATURE_AVAILABLE(PLAYER1,GHOST,1,1)
CREATURE_AVAILABLE(PLAYER1,HORNY,1,1)


REM *** PARTY? can actually be any name in capitals as long as not one used elsewhere eg VAMPYRES but not VAMPIRE ***
CREATE_PARTY(WEAK_THIEVES)
CREATE_PARTY(MEDIUM_THIEVES)
CREATE_PARTY(STRONG_THIEVES)
CREATE_PARTY(RAIDERS)

REM *** objective = STEAL_GOLD, STEAL_SPELLS, ATTACK_ENEMIES, ATTACK_DUNGEON_HEART, ATTACK_ROOMS, DEFEND_PARTY ***
    ADD_TO_PARTY(WEAK_THIEVES,THIEF,1,100,STEAL_GOLD,0)
    ADD_TO_PARTY(WEAK_THIEVES,ARCHER,1,80,STEAL_GOLD,0)
    ADD_TO_PARTY(WEAK_THIEVES,DWARFA,1,110,STEAL_GOLD,0)

    ADD_TO_PARTY(MEDIUM_THIEVES,THIEF,2,5,STEAL_GOLD,0)
    ADD_TO_PARTY(MEDIUM_THIEVES,THIEF,5,150,STEAL_GOLD,0)
    ADD_TO_PARTY(MEDIUM_THIEVES,BARBARIAN,3,100,STEAL_GOLD,0)
    ADD_TO_PARTY(MEDIUM_THIEVES,ARCHER,4,110,STEAL_GOLD,0)

    ADD_TO_PARTY(STRONG_THIEVES,WIZARD,6,300,STEAL_SPELLS,0)
    ADD_TO_PARTY(STRONG_THIEVES,SORCEROR,7,400,STEAL_SPELLS,0)
    ADD_TO_PARTY(STRONG_THIEVES,VAMPIRE,5,500,STEAL_SPELLS,0)
    ADD_TO_PARTY(STRONG_THIEVES,ARCHER,6,100,STEAL_SPELLS,0)
    ADD_TO_PARTY(STRONG_THIEVES,THIEF,8,200,STEAL_SPELLS,0)

    ADD_TO_PARTY(RAIDERS,DARK_MISTRESS,9,500,ATTACK_DUNGEON_HEART,0)
    ADD_TO_PARTY(RAIDERS,DARK_MISTRESS,10,1000,ATTACK_DUNGEON_HEART,0)
    ADD_TO_PARTY(RAIDERS,BILE_DEMON,10,2000,ATTACK_DUNGEON_HEART,0)
    ADD_TO_PARTY(RAIDERS,KNIGHT,10,3000,ATTACK_DUNGEON_HEART,0)
    ADD_TO_PARTY(RAIDERS,BARBARIAN,10,2000,ATTACK_DUNGEON_HEART,0)


REM ************************************************
REM ********** CONDITIONS & GAME COMMANDS **********
REM ************************************************

IF(PLAYER0,GAME_TURN > 5000)
    ADD_TUNNELLER_TO_LEVEL(PLAYER_GOOD,1,DUNGEON_HEART,0,1,1)
    ADD_PARTY_TO_LEVEL(PLAYER_GOOD,WEAK_THIEVES,1,1)
ENDIF

IF(PLAYER0,GAME_TURN > 10000)
    ADD_TUNNELLER_TO_LEVEL(PLAYER_GOOD,1,DUNGEON_HEART,0,1,1)
    ADD_CREATURE_TO_LEVEL(PLAYER0,MONK,3,1,1,10)
    ADD_PARTY_TO_LEVEL(PLAYER_GOOD,WEAK_THIEVES,1,2)
ENDIF

IF(PLAYER0,GAME_TURN > 15000)
    ADD_TUNNELLER_TO_LEVEL(PLAYER_GOOD,1,DUNGEON_HEART,0,1,1)
    ADD_CREATURE_TO_LEVEL(PLAYER0,GIANT,3,1,3,100)
    ADD_PARTY_TO_LEVEL(PLAYER_GOOD,MEDIUM_THIEVES,1,2)
ENDIF

IF(PLAYER0,GAME_TURN > 20000)
    ADD_TUNNELLER_TO_LEVEL(PLAYER_GOOD,1,DUNGEON_HEART,0,1,1)
    ADD_CREATURE_TO_LEVEL(PLAYER0,WITCH,3,1,5,1000)
    ADD_PARTY_TO_LEVEL(PLAYER_GOOD,MEDIUM_THIEVES,1,4)
    ADD_PARTY_TO_LEVEL(PLAYER_GOOD,WEAK_THIEVES,1,2)
ENDIF

IF(PLAYER0,GAME_TURN > 25000)
    ADD_TUNNELLER_TO_LEVEL(PLAYER_GOOD,1,DUNGEON_HEART,0,1,1)
    ADD_PARTY_TO_LEVEL(PLAYER_GOOD,STRONG_THIEVES,1,2)
ENDIF

IF(PLAYER0,GAME_TURN > 30000)
    ADD_TUNNELLER_TO_LEVEL(PLAYER_GOOD,1,DUNGEON_HEART,0,1,1)
    ADD_PARTY_TO_LEVEL(PLAYER_GOOD,WEAK_THIEVES,1,5)
    ADD_PARTY_TO_LEVEL(PLAYER_GOOD,MEDIUM_THIEVES,1,4)
    ADD_PARTY_TO_LEVEL(PLAYER_GOOD,STRONG_THIEVES,1,3)
ENDIF

IF(PLAYER0,GAME_TURN > 40000)
    ADD_PARTY_TO_LEVEL(PLAYER_GOOD,RAIDERS,1,4)
    QUICK_INFORMATION(2,"Raiders come to stamp out your fairy friends forever!")
ENDIF

IF(PLAYER0,GAME_TURN > 60000)
    ADD_PARTY_TO_LEVEL(PLAYER_GOOD,WEAK_THIEVES,-1,3)
    ADD_PARTY_TO_LEVEL(PLAYER_GOOD,MEDIUM_THIEVES,-1,3)
    ADD_PARTY_TO_LEVEL(PLAYER_GOOD,STRONG_THIEVES,-1,3)
    ADD_PARTY_TO_LEVEL(PLAYER_GOOD,RAIDERS,-1,4)
    QUICK_INFORMATION(3,"They have found another entrance!")
ENDIF


REM *** Might require this to be in an IF statement, also needs to be less than certain number of characters to appear ? = 1 - 30. Cannot use ALL_PLAYERS ***
QUICK_OBJECTIVE(1,"The Fairy Godmother has retired to her home in the Fairy Gold Dust Mines of Parther. However, since she turned in her wand, the mines have been plagued by robbers and theives and just recently a Dungeon Keeper has moved into the vacinity.",PLAYER0)


REM *** if PLAYER? creature sets foot near action pt ***
IF_ACTION_POINT(2,PLAYER0)
    QUICK_INFORMATION(4,"A miserly old troll has hidden his fortune down here and gaurds it with his demonic pets")
ENDIF


IF(PLAYER0,GAME_TURN > 50)
    QUICK_INFORMATION(5,"You have decided, friendly Witch that you are, to help the Godmother defend her home and to rid the area of the evil that lurks near by.")
ENDIF

IF(PLAYER0,GAME_TURN > 100)
    QUICK_INFORMATION(6," Your task won't be easy, the mines will be under constant threat from the scum up above.")
ENDIF

IF(PLAYER0,GAME_TURN > 150)
QUICK_INFORMATION(7,"You may be able to befriend some animals you encounter, or perhaps some friends from up above may drop in to help. There is already a horde of fairies on their way!")
ENDIF

REM ************************************************
REM ********** WIN / LOSE GAME CONDITIONS **********
REM ************************************************

REM *** Win or lose condition ***
IF(PLAYER0,ALL_DUNGEONS_DESTROYED == 1)
    WIN_GAME
ENDIF
