REM *********************************************************
REM             Script for Level 2009.Siege
REM *********************************************************             
REM             ͼߣ ʼٸ
REM                  QQ331672578
REM  ӭ1128460424³ػ - Dungeon KeeperȺ
REM *********************************************************
REM ͼĴο飺

REM 1ҵħ
REM     
REM 2ڵ2ʱΪʧ
REM
REM 3дôӲ̵׼15Ժʼ
REM ***********************************************************************

SET_GENERATE_SPEED(500)
MAX_CREATURES(PLAYER0,25)
START_MONEY(PLAYER0,20000)

REM *******************************ӹﵽ *********************************
REM   (ӵڵ,)

ADD_CREATURE_TO_POOL(ARCHER,10)
ADD_CREATURE_TO_POOL(DWARFA,10)
ADD_CREATURE_TO_POOL(SAMURAI,30)
ADD_CREATURE_TO_POOL(BARBARIAN,10)
ADD_CREATURE_TO_POOL(FAIRY,15)
ADD_CREATURE_TO_POOL(KNIGHT,20)
ADD_CREATURE_TO_POOL(WIZARD,15)
ADD_CREATURE_TO_POOL(BILE_DEMON,20)
ADD_CREATURE_TO_POOL(DARK_MISTRESS,20)

REM *******************************ָӪң/ֹڣأָ*********************************
REM  (,,1ֻ1,[1ļ/0ֹļ])

CREATURE_AVAILABLE(ALL_PLAYERS,ARCHER,1,1)
CREATURE_AVAILABLE(ALL_PLAYERS,DWARFA,1,1)
CREATURE_AVAILABLE(ALL_PLAYERS,SAMURAI,1,1)
CREATURE_AVAILABLE(ALL_PLAYERS,BARBARIAN,1,1)
CREATURE_AVAILABLE(ALL_PLAYERS,FAIRY,1,1)
CREATURE_AVAILABLE(ALL_PLAYERS,KNIGHT,1,1)
CREATURE_AVAILABLE(ALL_PLAYERS,WIZARD,1,1)

REM ********************ָӪң/ֹоͽָӣ**********************************
REM  (,,Ƿо[10ǽֹ],ǷѾɽ[1Ѿɽ/0о])

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(ALL_PLAYERS,WORKSHOP,1,0)
ROOM_AVAILABLE(ALL_PLAYERS,BARRACKS,1,0)
ROOM_AVAILABLE(ALL_PLAYERS,TORTURE,1,0)
ROOM_AVAILABLE(ALL_PLAYERS,PRISON,1,0)

REM ********************ָӪң/ֹоʹָħ**********************************
REM  (,ħ,Ƿоʹ[10ǽֹ],ǷѾʹ[1Ѿɽ/0о])

MAGIC_AVAILABLE(ALL_PLAYERS,POWER_HAND,1,1)
MAGIC_AVAILABLE(ALL_PLAYERS,POWER_SLAP,1,1)
MAGIC_AVAILABLE(ALL_PLAYERS,POWER_IMP,1,1)

REM *********************ָӪң/ָֹ*********************************
REM  (,ŵ,[10ǽֹ],1[0Ѿ/͵]

DOOR_AVAILABLE(ALL_PLAYERS,WOOD,1,0)
DOOR_AVAILABLE(ALL_PLAYERS,BRACED,1,0)

REM *********************ָӪң/ָֹ*********************************
REM  (,,[10ǽֹ],1[0Ѿ/͵]

TRAP_AVAILABLE(ALL_PLAYERS,POISON_GAS,1,0)
TRAP_AVAILABLE(ALL_PLAYERS,ALARM,1,0)
TRAP_AVAILABLE(ALL_PLAYERS,LIGHTNING,1,0)
TRAP_AVAILABLE(ALL_PLAYERS,WORD_OF_POWER,1,0)

REM CREATE_PARTY =>齨                ()   
REM ADD_TO_PARTY=>ﵽ   (,,ȼ,ЯǮ,,ʱ)

CREATE_PARTY(PARTY1)
    ADD_TO_PARTY(PARTY1,FLY,10,0,ATTACK_DUNGEON_HEART,0)
    ADD_TO_PARTY(PARTY1,FLY,10,0,ATTACK_DUNGEON_HEART,0)
    ADD_TO_PARTY(PARTY1,FLY,10,0,ATTACK_DUNGEON_HEART,0)
    ADD_TO_PARTY(PARTY1,FLY,10,0,ATTACK_DUNGEON_HEART,0)
    ADD_TO_PARTY(PARTY1,FLY,10,0,ATTACK_DUNGEON_HEART,0)

CREATE_PARTY(PARTY2)
    ADD_TO_PARTY(PARTY2,BUG,10,0,ATTACK_DUNGEON_HEART,0)
    ADD_TO_PARTY(PARTY2,BUG,10,0,ATTACK_DUNGEON_HEART,0)
    ADD_TO_PARTY(PARTY2,BUG,10,0,ATTACK_DUNGEON_HEART,0)
    ADD_TO_PARTY(PARTY2,BUG,10,0,ATTACK_DUNGEON_HEART,0)
    ADD_TO_PARTY(PARTY2,BUG,10,0,ATTACK_DUNGEON_HEART,0)

CREATE_PARTY(PARTY3)
    ADD_TO_PARTY(PARTY3,SPIDER,10,0,ATTACK_DUNGEON_HEART,0)
    ADD_TO_PARTY(PARTY3,SPIDER,10,0,ATTACK_DUNGEON_HEART,0)
    ADD_TO_PARTY(PARTY3,SPIDER,10,0,ATTACK_DUNGEON_HEART,0)
    ADD_TO_PARTY(PARTY3,SPIDER,10,0,ATTACK_DUNGEON_HEART,0)
    ADD_TO_PARTY(PARTY3,SPIDER,10,0,ATTACK_DUNGEON_HEART,0)

CREATE_PARTY(PARTY4)
    ADD_TO_PARTY(PARTY4,TENTACLE,10,0,ATTACK_DUNGEON_HEART,0)
    ADD_TO_PARTY(PARTY4,TENTACLE,10,0,ATTACK_DUNGEON_HEART,0)
    ADD_TO_PARTY(PARTY4,TENTACLE,10,0,ATTACK_DUNGEON_HEART,0)
    ADD_TO_PARTY(PARTY4,TENTACLE,10,0,ATTACK_DUNGEON_HEART,0)
    ADD_TO_PARTY(PARTY4,TENTACLE,10,0,ATTACK_DUNGEON_HEART,0)

CREATE_PARTY(PARTY6)
    ADD_TO_PARTY(PARTY6,BILE_DEMON,10,0,ATTACK_DUNGEON_HEART,0)
    ADD_TO_PARTY(PARTY6,BILE_DEMON,10,0,ATTACK_DUNGEON_HEART,0)
    ADD_TO_PARTY(PARTY6,BILE_DEMON,10,0,ATTACK_DUNGEON_HEART,0)
    ADD_TO_PARTY(PARTY6,BILE_DEMON,10,0,ATTACK_DUNGEON_HEART,0)
    ADD_TO_PARTY(PARTY6,BILE_DEMON,10,0,ATTACK_DUNGEON_HEART,0)
    ADD_TO_PARTY(PARTY6,BILE_DEMON,10,0,ATTACK_DUNGEON_HEART,0)
    ADD_TO_PARTY(PARTY6,BILE_DEMON,10,0,ATTACK_DUNGEON_HEART,0)

CREATE_PARTY(PARTY7)
    ADD_TO_PARTY(PARTY7,VAMPIRE,10,0,ATTACK_DUNGEON_HEART,0)
    ADD_TO_PARTY(PARTY7,VAMPIRE,10,0,ATTACK_DUNGEON_HEART,0)
    ADD_TO_PARTY(PARTY7,VAMPIRE,10,0,ATTACK_DUNGEON_HEART,0)
    ADD_TO_PARTY(PARTY7,VAMPIRE,10,0,ATTACK_DUNGEON_HEART,0)
    ADD_TO_PARTY(PARTY7,VAMPIRE,10,0,ATTACK_DUNGEON_HEART,0)
    ADD_TO_PARTY(PARTY7,VAMPIRE,10,0,ATTACK_DUNGEON_HEART,0)

CREATE_PARTY(PARTY8)
    ADD_TO_PARTY(PARTY8,HORNY,10,0,ATTACK_DUNGEON_HEART,0)
    ADD_TO_PARTY(PARTY8,HORNY,10,0,ATTACK_DUNGEON_HEART,0)
    ADD_TO_PARTY(PARTY8,HORNY,10,0,ATTACK_DUNGEON_HEART,0)
    ADD_TO_PARTY(PARTY8,HORNY,10,0,ATTACK_DUNGEON_HEART,0)
    ADD_TO_PARTY(PARTY8,HORNY,10,0,ATTACK_DUNGEON_HEART,0)
    ADD_TO_PARTY(PARTY8,HORNY,10,0,ATTACK_DUNGEON_HEART,0)

CREATE_PARTY(PARTY9)
    ADD_TO_PARTY(PARTY9,HELL_HOUND,10,0,ATTACK_DUNGEON_HEART,0)
    ADD_TO_PARTY(PARTY9,HELL_HOUND,10,0,ATTACK_DUNGEON_HEART,0)
    ADD_TO_PARTY(PARTY9,HELL_HOUND,10,0,ATTACK_DUNGEON_HEART,0)
    ADD_TO_PARTY(PARTY9,HELL_HOUND,10,0,ATTACK_DUNGEON_HEART,0)
    ADD_TO_PARTY(PARTY9,HELL_HOUND,10,0,ATTACK_DUNGEON_HEART,0)
    ADD_TO_PARTY(PARTY9,HELL_HOUND,10,0,ATTACK_DUNGEON_HEART,0)
    
REM ****************************ű(Ҫݡݣ**********************************

QUICK_OBJECTIVE(1,"You are under siege. Defend the enemy attacks. How long can you survive?",PLAYER0)

SET_FLAG(PLAYER0,FLAG0,0)

IF(PLAYER_GOOD,RESEARCH == 0)
    ADD_CREATURE_TO_LEVEL(PLAYER0,AVATAR,6,1,1,1600)
    QUICK_INFORMATION(11,"You have found an amazing magic in the enemy library and summoned an Avatar!")
ENDIF

IF(PLAYER0,BILE_DEMON > 0)
    CREATURE_AVAILABLE(ALL_PLAYERS,BILE_DEMON,1,1)
    QUICK_INFORMATION(1,"You saved a Bile Demon and more Bile Demons are willing to join you!")
ENDIF

IF(PLAYER0,GAME_TURN >= 20000)
    QUICK_INFORMATION(5,"A huge wave of insects are approaching!")
    ADD_PARTY_TO_LEVEL(PLAYER_GOOD,PARTY1,-1,2)
    ADD_PARTY_TO_LEVEL(PLAYER_GOOD,PARTY1,-2,2)
    ADD_PARTY_TO_LEVEL(PLAYER_GOOD,PARTY1,-7,2)
    ADD_PARTY_TO_LEVEL(PLAYER_GOOD,PARTY1,-8,2)
ENDIF

IF(PLAYER0,GAME_TURN >= 20500)
    ADD_PARTY_TO_LEVEL(PLAYER_GOOD,PARTY1,-1,2)
    ADD_PARTY_TO_LEVEL(PLAYER_GOOD,PARTY1,-2,2)
    ADD_PARTY_TO_LEVEL(PLAYER_GOOD,PARTY3,-7,1)
    ADD_PARTY_TO_LEVEL(PLAYER_GOOD,PARTY2,-8,1)
    ADD_PARTY_TO_LEVEL(PLAYER_GOOD,PARTY1,-9,1)
    ADD_PARTY_TO_LEVEL(PLAYER_GOOD,PARTY1,-10,2)
ENDIF

IF(PLAYER0,GAME_TURN >= 20750)
    ADD_PARTY_TO_LEVEL(PLAYER_GOOD,PARTY2,-6,2)
    ADD_PARTY_TO_LEVEL(PLAYER_GOOD,PARTY4,-7,2)
ENDIF


IF(PLAYER0,GAME_TURN >= 23500)
    ROOM_AVAILABLE(ALL_PLAYERS,BRIDGE,1,1)
    QUICK_INFORMATION(6,"You survived the fierce enemy attacks, and you have figured out how to build a bridge to go across the lava!")
    QUICK_INFORMATION(12,"But don't relax, as the enemy will soon come again!")
ENDIF

IF(PLAYER0,GAME_TURN >= 40000)
    ADD_PARTY_TO_LEVEL(PLAYER_GOOD,PARTY9,-7,3)
    ADD_PARTY_TO_LEVEL(PLAYER_GOOD,PARTY9,-8,3)
    QUICK_INFORMATION(7,"Beware, the enemies are attacking again!")
ENDIF


IF(PLAYER0,GAME_TURN >= 43000)
    ROOM_AVAILABLE(ALL_PLAYERS,SCAVENGER,1,0)
    QUICK_INFORMATION(2,"Good job! Now you have figured out how to build a scanvenger room.")
ENDIF

IF(PLAYER_GOOD,DUNGEON_DESTROYED == 1)
    SET_TIMER(PLAYER_GOOD,TIMER0)
    QUICK_INFORMATION(8,"You have destroyed the enemy dungeon, but they will come again to revenge you!")
ENDIF

IF(PLAYER_GOOD,TIMER0 >= 500)
    ADD_PARTY_TO_LEVEL(PLAYER_GOOD,PARTY1,-1,3)
    ADD_PARTY_TO_LEVEL(PLAYER_GOOD,PARTY1,-2,3)
    ADD_PARTY_TO_LEVEL(PLAYER_GOOD,PARTY3,-8,2)
    ADD_PARTY_TO_LEVEL(PLAYER_GOOD,PARTY2,-4,2)
ENDIF

IF(PLAYER_GOOD,TIMER0 >= 1500)
    ADD_PARTY_TO_LEVEL(PLAYER_GOOD,PARTY1,-1,2)
    ADD_PARTY_TO_LEVEL(PLAYER_GOOD,PARTY1,-2,2)
    ADD_PARTY_TO_LEVEL(PLAYER_GOOD,PARTY4,-10,2)
    ADD_PARTY_TO_LEVEL(PLAYER_GOOD,PARTY3,-3,2)
    ADD_PARTY_TO_LEVEL(PLAYER_GOOD,PARTY2,-4,2)
ENDIF

IF(PLAYER_GOOD,TIMER0 >= 2500)
    ADD_PARTY_TO_LEVEL(PLAYER_GOOD,PARTY1,-2,2)
    ADD_PARTY_TO_LEVEL(PLAYER_GOOD,PARTY4,-9,1)
    ADD_PARTY_TO_LEVEL(PLAYER_GOOD,PARTY4,-10,1)
    ADD_PARTY_TO_LEVEL(PLAYER_GOOD,PARTY3,-5,1)
    ADD_PARTY_TO_LEVEL(PLAYER_GOOD,PARTY3,-6,2)
ENDIF

IF(PLAYER_GOOD,TIMER0 >= 3500)
    ADD_PARTY_TO_LEVEL(PLAYER_GOOD,PARTY1,-1,2)
    ADD_PARTY_TO_LEVEL(PLAYER_GOOD,PARTY1,-2,2)
    ADD_PARTY_TO_LEVEL(PLAYER_GOOD,PARTY4,-9,1)
    ADD_PARTY_TO_LEVEL(PLAYER_GOOD,PARTY4,-9,1)
    ADD_PARTY_TO_LEVEL(PLAYER_GOOD,PARTY4,-10,2)
    ADD_PARTY_TO_LEVEL(PLAYER_GOOD,PARTY3,-4,2)
ENDIF

IF(PLAYER_GOOD,TIMER0 >= 5000)
    ADD_PARTY_TO_LEVEL(PLAYER_GOOD,PARTY1,-1,2)
    ADD_PARTY_TO_LEVEL(PLAYER_GOOD,PARTY4,-3,2)
    ADD_PARTY_TO_LEVEL(PLAYER_GOOD,PARTY4,-4,1)
    ADD_PARTY_TO_LEVEL(PLAYER_GOOD,PARTY4,-5,1)
    ADD_PARTY_TO_LEVEL(PLAYER_GOOD,PARTY4,-6,1)
    ADD_PARTY_TO_LEVEL(PLAYER_GOOD,PARTY4,-7,1)
    SET_FLAG(PLAYER0,FLAG0,1)
    SET_TIMER(PLAYER0,TIMER1)
ENDIF

IF(PLAYER_GOOD, TOTAL_CREATURES == 0)
    IF(PLAYER0,FLAG0 == 1)
        IF(PLAYER0,TIMER1 >= 3500)
            ADD_PARTY_TO_LEVEL(PLAYER_GOOD,PARTY6,1,1)
            ADD_PARTY_TO_LEVEL(PLAYER_GOOD,PARTY6,2,1)
            ADD_PARTY_TO_LEVEL(PLAYER_GOOD,PARTY7,3,1)
            ADD_PARTY_TO_LEVEL(PLAYER_GOOD,PARTY6,4,1)
            ADD_PARTY_TO_LEVEL(PLAYER_GOOD,PARTY6,5,1)
            QUICK_INFORMATION(9,"You are ambushed!")
            SET_FLAG(PLAYER0,FLAG0,2)
            SET_TIMER(PLAYER0,TIMER2)
        ENDIF
    ENDIF
ENDIF

IF(PLAYER0,FLAG0 == 2)
    IF(PLAYER_GOOD,BILE_DEMON == 0)
        IF(PLAYER_GOOD,VAMPIRE == 0)
            IF(PLAYER0,TIMER2 >= 5000)
                ADD_PARTY_TO_LEVEL(PLAYER_GOOD,PARTY8,7,3)
                QUICK_INFORMATION(10,"Realize your fate, by the Holy Light!")
                SET_FLAG(PLAYER0,FLAG0,3)
            ENDIF
        ENDIF
    ENDIF
ENDIF

IF(PLAYER0,GHOST >= 2)
    ADD_PARTY_TO_LEVEL(PLAYER_GOOD,PARTY8,7,3)
    QUICK_INFORMATION(11,"The creatures that died miserably in torture have become spiteful souls! They want to revenge and they called the devils in the hell to launch a counterattack to you!")
ENDIF

REM ****************************ʤ/ʧ**********************************

IF(PLAYER0,FLAG0 == 3) 
    IF(PLAYER_GOOD,HORNY == 0) 
        WIN_GAME 
    ENDIF  
ENDIF

IF(PLAYER0,DUNGEON_DESTROYED == 1)
    LOSE_GAME
ENDIF

REM ****************************ʾϢ**********************************

IF(PLAYER0,GAME_TURN >= 300)
    QUICK_INFORMATION(3,"You have 15 minutes. Prepare yourself well, as the opponent is very formidable!")
ENDIF

IF(PLAYER0,GAME_TURN >= 600)
    QUICK_INFORMATION(13,"Treat your captives in the right way, or you will have to pay for it!")
ENDIF

IF(PLAYER0,GAME_TURN >= 1000)
    QUICK_INFORMATION(4,"You can have a look for spellbooks and Bile Demon scattered across this land. Use them wisely and you'll make much better progress.")
ENDIF

