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

REM 1ͼÿȡʽʹøغϴʹõԶ
REM     
REM 2ʾһȫͼ
REM
REM 3ս׶ѡÿֹطʽѶȲͬ

REM 4׶λ˵ͬʱһֳﱦУֱӻȡ

REM 5һǿڤʹ

REM 6ֻƣ͹ﵽͼͻʧ
REM ***********************************************************************

LEVEL_VERSION(1)
SET_GENERATE_SPEED(100)
MAX_CREATURES(PLAYER0,50)
MAX_CREATURES(PLAYER3,25)
START_MONEY(PLAYER0,5000)
START_MONEY(PLAYER3,900000)
COMPUTER_PLAYER(PLAYER3,0)
SET_CREATURE_HEALTH(ARCHER,30)

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



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



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

ROOM_AVAILABLE(ALL_PLAYERS,LAIR,1,0)
ROOM_AVAILABLE(ALL_PLAYERS,GARDEN,1,0)
ROOM_AVAILABLE(ALL_PLAYERS,TRAINING,1,0)
ROOM_AVAILABLE(ALL_PLAYERS,GUARD_POST,1,1)

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

MAGIC_AVAILABLE(ALL_PLAYERS,POWER_IMP,1,0)
MAGIC_AVAILABLE(ALL_PLAYERS,POWER_HAND,1,1)
MAGIC_AVAILABLE(ALL_PLAYERS,POWER_SLAP,1,1)
MAGIC_AVAILABLE(ALL_PLAYERS,POWER_SPEED,1,1)
MAGIC_AVAILABLE(ALL_PLAYERS,POWER_PROTECT,1,0)
MAGIC_AVAILABLE(ALL_PLAYERS,POWER_DISEASE,1,0)
MAGIC_AVAILABLE(ALL_PLAYERS,POWER_OBEY,1,1)

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

DOOR_AVAILABLE(PLAYER1,MAGIC,1,0)
DOOR_AVAILABLE(PLAYER2,MAGIC,1,0)
DOOR_AVAILABLE(PLAYER3,MAGIC,1,0)

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

TRAP_AVAILABLE(ALL_PLAYERS,LIGHTNING,1,0)
TRAP_AVAILABLE(ALL_PLAYERS,LAVA,1,0)

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

CREATE_PARTY(PARTY1)
    ADD_TO_PARTY(PARTY1,BARBARIAN,3,0,ATTACK_DUNGEON_HEART,0)
    ADD_TO_PARTY(PARTY1,BARBARIAN,3,0,ATTACK_DUNGEON_HEART,0)
    ADD_TO_PARTY(PARTY1,DWARFA,3,0,ATTACK_DUNGEON_HEART,0)
    ADD_TO_PARTY(PARTY1,DWARFA,3,0,ATTACK_DUNGEON_HEART,0)
CREATE_PARTY(PARTY2)
    ADD_TO_PARTY(PARTY2,SAMURAI,3,0,ATTACK_DUNGEON_HEART,0)
    ADD_TO_PARTY(PARTY2,SAMURAI,3,0,ATTACK_DUNGEON_HEART,0)
    ADD_TO_PARTY(PARTY2,BARBARIAN,3,0,ATTACK_DUNGEON_HEART,0)
    ADD_TO_PARTY(PARTY2,BARBARIAN,3,0,ATTACK_DUNGEON_HEART,0)
    ADD_TO_PARTY(PARTY2,DWARFA,3,0,ATTACK_DUNGEON_HEART,0)
    ADD_TO_PARTY(PARTY2,DWARFA,3,0,ATTACK_DUNGEON_HEART,0)
CREATE_PARTY(PARTY3)
    ADD_TO_PARTY(PARTY3,SAMURAI,10,0,ATTACK_DUNGEON_HEART,0)
    ADD_TO_PARTY(PARTY3,SAMURAI,10,0,ATTACK_DUNGEON_HEART,0)
    ADD_TO_PARTY(PARTY3,SAMURAI,10,0,ATTACK_DUNGEON_HEART,0)
    ADD_TO_PARTY(PARTY3,SAMURAI,10,0,ATTACK_DUNGEON_HEART,0)
    ADD_TO_PARTY(PARTY3,SAMURAI,10,0,ATTACK_DUNGEON_HEART,0)
CREATE_PARTY(PARTY4)
    ADD_TO_PARTY(PARTY4,HORNY,10,0,ATTACK_DUNGEON_HEART,0)
    ADD_TO_PARTY(PARTY4,HORNY,10,0,ATTACK_DUNGEON_HEART,0)
    ADD_TO_PARTY(PARTY4,HORNY,10,0,ATTACK_DUNGEON_HEART,0)
    ADD_TO_PARTY(PARTY4,HORNY,10,0,ATTACK_DUNGEON_HEART,0)
    ADD_TO_PARTY(PARTY4,HORNY,10,0,ATTACK_DUNGEON_HEART,0)
    ADD_TO_PARTY(PARTY4,HORNY,10,0,ATTACK_DUNGEON_HEART,0)
CREATE_PARTY(PARTY5)
    ADD_TO_PARTY(PARTY5,BILE_DEMON,10,0,ATTACK_DUNGEON_HEART,0)
    ADD_TO_PARTY(PARTY5,BILE_DEMON,10,0,ATTACK_DUNGEON_HEART,0)
    ADD_TO_PARTY(PARTY5,BILE_DEMON,10,0,ATTACK_DUNGEON_HEART,0)
    ADD_TO_PARTY(PARTY5,BILE_DEMON,10,0,ATTACK_DUNGEON_HEART,0)
    ADD_TO_PARTY(PARTY5,BILE_DEMON,10,0,ATTACK_DUNGEON_HEART,0)
    ADD_TO_PARTY(PARTY5,BILE_DEMON,10,0,ATTACK_DUNGEON_HEART,0)
CREATE_PARTY(PARTY6)
    ADD_TO_PARTY(PARTY6,WIZARD,10,0,ATTACK_DUNGEON_HEART,0)
    ADD_TO_PARTY(PARTY6,SPIDER,10,0,ATTACK_DUNGEON_HEART,0)
    ADD_TO_PARTY(PARTY6,BUG,10,0,ATTACK_DUNGEON_HEART,0)
    ADD_TO_PARTY(PARTY6,FAIRY,10,0,ATTACK_DUNGEON_HEART,0)
    ADD_TO_PARTY(PARTY6,SAMURAI,10,0,ATTACK_DUNGEON_HEART,0)
    
REM ****************************ű(Ҫݡݣ**********************************

SET_FLAG(PLAYER0,FLAG1,0)

IF(PLAYER_GOOD,HORNY < 1)
    IF(PLAYER_GOOD,KNIGHT < 5)
        IF(PLAYER_GOOD,GIANT < 3) 
            KILL_CREATURE(PLAYER0,DARK_MISTRESS,MOST_EXPERIENCED,10)
            QUICK_INFORMATION(17,"You did a great job, but I'm sorry that your Mistresses can't be with you anymore.",PLAYER0)
        ENDIF
    ENDIF
ENDIF

IF_ACTION_POINT(1,PLAYER0)
    ADD_PARTY_TO_LEVEL(PLAYER_GOOD,PARTY1,1,1)
ENDIF

IF_ACTION_POINT(3,PLAYER0)
    ADD_PARTY_TO_LEVEL(PLAYER_GOOD,PARTY2,3,1)
ENDIF

IF(PLAYER0,SORCEROR > 0)
    KILL_CREATURE(PLAYER0,FLY,MOST_EXPERIENCED,5)
    QUICK_INFORMATION(2,"The Sorceror did not like the Fly and he killed it.",PLAYER0)
ENDIF

IF(PLAYER0,WORKSHOP > 60)
    SET_TIMER(PLAYER0,TIMER0)
    QUICK_OBJECTIVE(3,"You have captured a new workshop. Make some traps as soon as possible. After a short time, the demon's magic will be weakened and the Hell Hounds will disappear! At that time, the hero gate will open, and traps are the key to survive!",PLAYER0)
ENDIF

IF(PLAYER0,TIMER0 >= 4000)
    KILL_CREATURE(PLAYER_GOOD,HELL_HOUND,MOST_EXPERIENCED,50)
    QUICK_INFORMATION(19,"These damn dogs finally disappeared.",PLAYER0)
    BONUS_LEVEL_TIME(2000)
    QUICK_INFORMATION(4,"From now, the hero gate is open and a large number of enemies will come,you must quickly deploy your traps, your time is limited!",PLAYER0)
ENDIF

IF(PLAYER0,TIMER0 >= 6000)
    ADD_PARTY_TO_LEVEL(PLAYER_GOOD,PARTY3,-1,2)
ENDIF

IF(PLAYER0,DRAGON > 0)
    KILL_CREATURE(PLAYER0,TROLL,MOST_EXPERIENCED,5)
    KILL_CREATURE(PLAYER0,SORCEROR,MOST_EXPERIENCED,5)
    QUICK_INFORMATION(5,"Your workers and researchers has been killed by an unknown force!",PLAYER0)
ENDIF

IF(PLAYER0,PRISON > 0)
    QUICK_INFORMATION(6,"The prisoner reminds you that you should capture those filthy creatures below, throw them into the temple and the God will give you some reinforcements and magical powers! But remember that these reinforcements will all disappear after a while!",PLAYER0)
    MAGIC_AVAILABLE(ALL_PLAYERS,POWER_CALL_TO_ARMS,1,1)
    TUTORIAL_FLASH_BUTTON(36,-1)
    MAGIC_AVAILABLE(ALL_PLAYERS,POWER_HEAL_CREATURE,1,1)
    TUTORIAL_FLASH_BUTTON(26,-1)
ENDIF     
       
IF(PLAYER0,TEMPLE > 0)
    QUICK_OBJECTIVE(7,"You have to kill a proud lord who is seated in the east to open up a passage to the south, but you must find a way to get past the lava river that blocks your way. The rumor says that sacrificing something to the temple, and the God will give you a spell to let you fly...",PLAYER0)
ENDIF

IF(PLAYER_GOOD,AVATAR < 2)
    ADD_TUNNELLER_TO_LEVEL(PLAYER_GOOD,-2,DUNGEON_HEART,0,10,400)
    QUICK_INFORMATION(8,"You have killed the lord. The road to the south is now open!",PLAYER0)
ENDIF

IF(PLAYER0,KNIGHT > 0)
    KILL_CREATURE(PLAYER0,DARK_MISTRESS,MOST_EXPERIENCED,10)
    KILL_CREATURE(PLAYER0,SKELETON,MOST_EXPERIENCED,10)
    KILL_CREATURE(PLAYER0,DRAGON,MOST_EXPERIENCED,5)
    QUICK_INFORMATION(9,"After much efforts, you finally find the Knight, however the God has cancelled his spell, and your former minions have all disappeared......",PLAYER0)
    QUICK_OBJECTIVE(10,"The Knight must go for an adventure alone, pass through the Archers, find a training room and strengthen his power to destroy the Yellow Keeper.",PLAYER0)
ENDIF

IF(PLAYER3,DUNGEON_DESTROYED == 1)
    KILL_CREATURE(PLAYER0,SKELETON,MOST_EXPERIENCED,50)
    QUICK_OBJECTIVE(11,"You have successfully eliminated a major enemy. There are several libraries lie ahead. You need to think carefully to find a way to get the Destroy Walls spell to reach the final domain.",PLAYER0) 
ENDIF

IF(PLAYER0,RESEARCH > 80)
    QUICK_INFORMATION(12,"Destroy Walls spell is stored in the library which you can't claim. How can you get it? Why is the library on the north empty? Can you transfer the spellbook into it?",PLAYER0)
    ADD_TUNNELLER_TO_LEVEL(PLAYER_GOOD,6,DUNGEON_HEART,0,10,400)
ENDIF

IF_ACTION_POINT(13,PLAYER0)
    QUICK_INFORMATION(13,"You have three choices in front of you, your choice will determine the final stage of the game, you only have ONE chance to make a choice, there is no way of turning back. Good luck! ",PLAYER0) 
ENDIF

IF_ACTION_POINT(4,PLAYER0)
    MAGIC_AVAILABLE(PLAYER0,POWER_DESTROY_WALLS,0,0)
ENDIF

IF(PLAYER0,FLAG1 == 0)
    IF(PLAYER0,KNIGHT > 0)
        IF(PLAYER0,HORNY > 0)
            KILL_CREATURE(PLAYER0,KNIGHT,MOST_EXPERIENCED,5)
            SET_FLAG(PLAYER0,FLAG1,1)
            QUICK_OBJECTIVE(14,"Your Knight has been turned into a Horned Reaper, a powerful force grows in his body, let him wield his sickle and butcher all the enemies at this moment, only to eradicate them all to obtain eternal life!",PLAYER0)
        ENDIF 
    ENDIF
ENDIF

IF(PLAYER0,FLAG1 == 1)
    SET_CREATURE_HEALTH(HORNY,6120)
    SET_CREATURE_STRENGTH(HORNY,255
    SET_CREATURE_ARMOUR(HORNY,255 
    ADD_PARTY_TO_LEVEL(PLAYER_GOOD,PARTY6,7,1)
    ADD_PARTY_TO_LEVEL(PLAYER_GOOD,PARTY6,8,1)
    ADD_PARTY_TO_LEVEL(PLAYER_GOOD,PARTY6,9,1)
    ADD_PARTY_TO_LEVEL(PLAYER_GOOD,PARTY6,10,1)
    ADD_PARTY_TO_LEVEL(PLAYER_GOOD,PARTY6,11,2)
    ADD_PARTY_TO_LEVEL(PLAYER_GOOD,PARTY6,12,2)
        IF(PLAYER0,SAMURAI > 0)
            KILL_CREATURE(PLAYER0,SAMURAI,MOST_EXPERIENCED,10)
            QUICK_INFORMATION(21,"Go die, weak creatures!",PLAYER0)
        ENDIF
        IF(PLAYER0,ORC > 0)
            KILL_CREATURE(PLAYER0,ORC,MOST_EXPERIENCED,5)
            QUICK_INFORMATION(22,"Go die, weak creatures!",PLAYER0)
        ENDIF
ENDIF

IF_ACTION_POINT(5,PLAYER0)
    ADD_CREATURE_TO_LEVEL(PLAYER_GOOD,SAMURAI,-3,3,10,100)
    ADD_CREATURE_TO_LEVEL(PLAYER_GOOD,SAMURAI,-4,3,10,100)
    SET_FLAG(PLAYER0,FLAG1,4)
ENDIF

IF(PLAYER0,FLAG1 == 0)
    IF(PLAYER0,SAMURAI > 0)
        SET_FLAG(PLAYER0,FLAG1,2)
        SET_CREATURE_HEALTH(AVATAR,6120)
        SET_CREATURE_STRENGTH(AVATAR,255)
        QUICK_OBJECTIVE(15,"Good choice, go to the scavenger room, scavenge all the Samurai to your course, and victory will be yours!",PLAYER0)
    ENDIF
ENDIF

IF(PLAYER0,FLAG1 == 2)
    IF(PLAYER0,SCAVENGER > 0)
        ADD_CREATURE_TO_LEVEL(PLAYER0,SAMURAI,2,10,10,100)
        ADD_CREATURE_TO_LEVEL(PLAYER0,SAMURAI,2,10,10,100)
    ENDIF
    IF_ACTION_POINT(5,PLAYER0)
        SET_FLAG(PLAYER0,FLAG1,4)
        ADD_PARTY_TO_LEVEL(PLAYER_GOOD,PARTY4,-3,1)
        ADD_PARTY_TO_LEVEL(PLAYER_GOOD,PARTY4,-4,1)
        ADD_CREATURE_TO_LEVEL(PLAYER_GOOD,SAMURAI,-3,2,10,100)
        ADD_CREATURE_TO_LEVEL(PLAYER_GOOD,SAMURAI,-4,2,10,100)
    ENDIF
ENDIF

IF(PLAYER0,FLAG1 == 0)
    IF(PLAYER0,ORC > 0)
        SET_FLAG(PLAYER0,FLAG1,3)
        SET_CREATURE_HEALTH(AVATAR,4500)
        SET_CREATURE_STRENGTH(AVATAR,200)
        QUICK_OBJECTIVE(16,"In front of you are groups of Tentacles and Bile Demons. Go to the scavenger room, scavenge all the Orcs to your course,and destroy all these Bile Demons!",PLAYER0) 
    ENDIF
ENDIF

IF(PLAYER0,FLAG1 == 3)
    IF(PLAYER0,SCAVENGER > 0)
        ADD_CREATURE_TO_LEVEL(PLAYER0,ORC,2,10,10,100)
        ADD_CREATURE_TO_LEVEL(PLAYER0,ORC,2,10,10,100)
    ENDIF
    IF_ACTION_POINT(5,PLAYER0)
        SET_FLAG(PLAYER0,FLAG1,4)
        ADD_PARTY_TO_LEVEL(PLAYER_GOOD,PARTY5,5,5)
    ENDIF
ENDIF

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

IF(PLAYER_GOOD,TOTAL_CREATURES == 0)
    IF(PLAYER0,ALL_DUNGEONS_DESTROYED == 1) 
        IF(PLAYER0,FLAG1 == 4)
             PLAY_MESSAGE(PLAYER0,SPEECH,109)
             QUICK_OBJECTIVE(18,"You have successfully achieved the extraordinary achievement-----ending the eternal war, stopping the four-sided conflict, and on the hilltop of the corpse, you have pierced through the heart of demons!",PLAYER0)
             WIN_GAME
        ENDIF
    ENDIF
ENDIF

IF(PLAYER0,GAME_TURN <= 30)
    IF(PLAYER0,TOTAL_CREATURES>=5)
        QUICK_OBJECTIVE(20,"You are not allowed to transfer creatures into this map!",PLAYER0)
        LOSE_GAME
    ENDIF
ENDIF

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

QUICK_OBJECTIVE(0,"In this bewitched place, demons have claimed your territory,and your Kinght is imprisoned in the south. You must go through the territory of enemies, defeat the lord in the east, and free your Knight. This is the only thing you can do.",PLAYER0)

















