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

REM 1ͼ˽һ֪ʶըʯ,ħͬɫͼݴ
REM     
REM 2ͷƣǽ÷֣һֻͷ
REM
REM 3ʱˢü̳

REM 4ټ

REM 5bossǳ

REM ****************************************************************************

LEVEL_VERSION(1)
START_MONEY(PLAYER0,0)
START_MONEY(PLAYER3,100000)
COMPUTER_PLAYER(PLAYER1,1)
COMPUTER_PLAYER(PLAYER2,1)
COMPUTER_PLAYER(PLAYER3,1)
SET_CREATURE_STRENGTH(HORNY,150)
SET_CREATURE_HEALTH(KNIGHT,6120)
SET_CREATURE_STRENGTH(KNIGHT,255)
SET_CREATURE_ARMOUR(KNIGHT,255)
SET_CREATURE_STRENGTH(ARCHER,255)
SET_CREATURE_HEALTH(ARCHER,50)

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

ROOM_AVAILABLE(PLAYER0,LAIR,1,1)
ROOM_AVAILABLE(PLAYER0,BRIDGE,1,1)

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

MAGIC_AVAILABLE(PLAYER0,POWER_SLAP,1,1)
MAGIC_AVAILABLE(PLAYER0,POWER_HAND,1,1)
MAGIC_AVAILABLE(PLAYER0,POWER_POSSESS,1,1)
MAGIC_AVAILABLE(PLAYER3,POWER_SIGHT,1,1)
MAGIC_AVAILABLE(PLAYER3,POWER_SPEED,1,1)
MAGIC_AVAILABLE(PLAYER0,POWER_HEAL_CREATURE,1,0)

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

DOOR_AVAILABLE(ALL_PLAYERS,MAGIC,1,0)

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

TRAP_AVAILABLE(ALL_PLAYERS,LIGHTNING,1,0)

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

CREATE_PARTY(GIANT)
	ADD_TO_PARTY(GIANT,GIANT,10,0,ATTACK_DUNGEON_HEART,0)
	ADD_TO_PARTY(GIANT,GIANT,10,0,ATTACK_DUNGEON_HEART,0)
	ADD_TO_PARTY(GIANT,GIANT,10,0,ATTACK_DUNGEON_HEART,0)
	ADD_TO_PARTY(GIANT,GIANT,10,0,ATTACK_DUNGEON_HEART,0)
        ADD_TO_PARTY(GIANT,GIANT,10,0,ATTACK_DUNGEON_HEART,0)

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

CREATE_PARTY(HOUND)
    	ADD_TO_PARTY(HOUND,HELL_HOUND,10,1000,ATTACK_DUNGEON_HEART,0)
    	ADD_TO_PARTY(HOUND,HELL_HOUND,10,1000,ATTACK_DUNGEON_HEART,0)
    	ADD_TO_PARTY(HOUND,HELL_HOUND,10,1000,ATTACK_DUNGEON_HEART,0)
    	ADD_TO_PARTY(HOUND,HELL_HOUND,10,1000,ATTACK_DUNGEON_HEART,0)
    	ADD_TO_PARTY(HOUND,HELL_HOUND,10,1000,ATTACK_DUNGEON_HEART,0)

CREATE_PARTY(FAIRY)
	ADD_TO_PARTY(FAIRY,FAIRY,10,750,ATTACK_ENEMIES,0)
	ADD_TO_PARTY(FAIRY,FAIRY,10,750,ATTACK_ENEMIES,0)
        ADD_TO_PARTY(FAIRY,FAIRY,10,750,ATTACK_ENEMIES,0)
        ADD_TO_PARTY(FAIRY,FAIRY,10,750,ATTACK_ENEMIES,0)
        ADD_TO_PARTY(FAIRY,FAIRY,10,750,ATTACK_ENEMIES,0)

CREATE_PARTY(HORNY)
	ADD_TO_PARTY(HORNY,HORNY,10,1500,ATTACK_DUNGEON_HEART,0)
	ADD_TO_PARTY(HORNY,HORNY,10,1500,ATTACK_DUNGEON_HEART,0)
	ADD_TO_PARTY(HORNY,HORNY,10,1500,ATTACK_DUNGEON_HEART,0)
	ADD_TO_PARTY(HORNY,HORNY,10,1500,ATTACK_DUNGEON_HEART,0)
	ADD_TO_PARTY(HORNY,HORNY,10,1500,ATTACK_DUNGEON_HEART,0)
	
CREATE_PARTY(VAMPIRE)
	ADD_TO_PARTY(VAMPIRE,VAMPIRE,10,1500,ATTACK_DUNGEON_HEART,0)
	ADD_TO_PARTY(VAMPIRE,VAMPIRE,10,1500,ATTACK_DUNGEON_HEART,0)
	ADD_TO_PARTY(VAMPIRE,VAMPIRE,10,1500,ATTACK_DUNGEON_HEART,0)
	ADD_TO_PARTY(VAMPIRE,VAMPIRE,10,1500,ATTACK_DUNGEON_HEART,0)
	ADD_TO_PARTY(VAMPIRE,VAMPIRE,10,1500,ATTACK_DUNGEON_HEART,0)
        ADD_TO_PARTY(VAMPIRE,KNIGHT,10,1500,ATTACK_DUNGEON_HEART,0)

CREATE_PARTY(TENTACLE)
	ADD_TO_PARTY(TENTACLE,TENTACLE,10,1500,ATTACK_DUNGEON_HEART,0)
	ADD_TO_PARTY(TENTACLE,TENTACLE,10,1500,ATTACK_DUNGEON_HEART,0)
	ADD_TO_PARTY(TENTACLE,TENTACLE,10,1500,ATTACK_DUNGEON_HEART,0)
        ADD_TO_PARTY(TENTACLE,TENTACLE,10,1500,ATTACK_DUNGEON_HEART,0)
	ADD_TO_PARTY(TENTACLE,TENTACLE,10,1500,ATTACK_DUNGEON_HEART,0)
    
REM ****************************ű(Ҫݡݣ**********************************

QUICK_OBJECTIVE(0,"At the edge of the gap between the world and the world beyond, there is a crack that is keep widening. At that time, the demons will flow in and the world will be destroyed. Only the Sacred Dragon knows how to close the crack, so you must find him!",PLAYER0)

QUICK_INFORMATION(1,"Your first task is to store some gold into your treasure room and then build a bridge to go west. However some Giants are guarding in there, you must find a way to defeat them and take the gold away!",PLAYER0)

IF(PLAYER0,SPIDER > 0)
    QUICK_INFORMATION(2,"The Orc was too badly injured in the fighting with the Giants and it died.",PLAYER0)
    KILL_CREATURE(PLAYER0,ORC,MOST_EXPERIENCED,1)
ENDIF

IF(PLAYER0,DRAGON > 0)
    SET_TIMER(PLAYER0,TIMER0)
    SET_FLAG(PLAYER0,FLAG1,0)
    BONUS_LEVEL_TIME(6000)
    QUICK_INFORMATION(3,"When you find the Sacred Dragon, you learn that there is also an Evil Dragon who is trying to open the crack completely, and you must kill it before it finished the job! Before that, you must go through the trap maze to find the Fly and then rescue the imp imprisoned in somewhere in the lava,who is the only one that knows where the Evil Dragon is!",PLAYER0)
ENDIF

IF(PLAYER0,FLY > 0)
    MAGIC_AVAILABLE(PLAYER0,POWER_CALL_TO_ARMS,1,1)
    MAGIC_AVAILABLE(PLAYER0,POWER_OBEY,1,1)
    QUICK_INFORMATION(4,"The Fly is trapped over there, you need a wind to blow it out!",PLAYER0)
    REVEAL_MAP_LOCATION(PLAYER0,14,5)
    TUTORIAL_FLASH_BUTTON(3,-1)
ENDIF

IF(PLAYER0,TIMER0 == 4000)
    IF(PLAYER0,FLAG1 == 0)
        QUICK_INFORMATION(5,"You don't have much time left!",PLAYER0)
    ENDIF
ENDIF


IF_CONTROLS(PLAYER0,IMP >= 1)
    ADD_CREATURE_TO_LEVEL(PLAYER_GOOD,DRAGON,-3,1,10,1000)
    QUICK_INFORMATION(6,"The Evil Dragon is in the room next to there!",PLAYER0)
        IF_CONTROLS(PLAYER_GOOD,DRAGON == 0)
            IF(PLAYER0,FLAG1 == 0)
	        SET_FLAG(PLAYER0,FLAG1,1)
	        QUICK_INFORMATION(7,"The Evil Dragon is successfully killed!",PLAYER0)
	        SET_TIMER(PLAYER0,TIMER1)
            ENDIF
       ENDIF
ENDIF

IF(PLAYER0,TIMER1 >= 400)
    QUICK_OBJECTIVE(9,"Although the expansion of the crack has been temporarily stopped, to completely close the crack you must find and destroy the enemy's Hexagram, but the evil fortress in the southeast is surrounded by reinfoced walls, whoever want to go into there must know how to destroy the walls!",PLAYER0)
ENDIF

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

SET_FLAG(PLAYER0,FLAG2,0)

IF(PLAYER0,FLAG2 == 0)
    IF(PLAYER0,BRIDGE == 0)
        NEXT_COMMAND_REUSABLE
        ROOM_AVAILABLE(PLAYER0,BRIDGE,1,1)
    ENDIF
ENDIF

IF(PLAYER0,FLAG2 == 0)
    IF(PLAYER0,BRIDGE == 1)
        REVEAL_MAP_LOCATION(PLAYER0,10,11)
        QUICK_INFORMATION(10,"Unfortunately, ther resources are not enough for building a longer bridge, and we need to take more resources from the enemy! There's a strong force in the west. We'll take our chances!",PLAYER0)
        NEXT_COMMAND_REUSABLE
        ROOM_AVAILABLE(PLAYER0,BRIDGE,0,0)
    ENDIF
ENDIF

IF(PLAYER0,FLAG2 == 1)
    ROOM_AVAILABLE(PLAYER0,BRIDGE,1,1)
ENDIF

IF_ACTION_POINT(9,PLAYER0)
    REVEAL_MAP_LOCATION(PLAYER0,11,11)
    REVEAL_MAP_LOCATION(PLAYER0,15,16)
    QUICK_INFORMATION(11,"Yellow is much stronger than you! Find a way to defeat him!",PLAYER0)
ENDIF

IF_ACTION_POINT(13,PLAYER0)
    REVEAL_MAP_LOCATION(PLAYER0,12,11)
    QUICK_INFORMATION(12,"It's said that the Disease spellbook is kept in the enemy fortress.",PLAYER0)
ENDIF


IF(PLAYER3,TOTAL_CREATURES == 0)
    SET_FLAG(PLAYER0,FLAG2,1)
    QUICK_INFORMATION(13,"Your strategy have succeeded!",PLAYER0)
    TUTORIAL_FLASH_BUTTON(18,-1)
    TUTORIAL_FLASH_BUTTON(2,-1)
ENDIF

IF(PLAYER3,DUNGEON_DESTROYED == 1)
    SET_TIMER(PLAYER0,TIMER2)
    ADD_CREATURE_TO_LEVEL(PLAYER0,SPIDER,2,15,4,100)
    QUICK_INFORMATION(14,"You got an army of Spiders. How would you like to use them? Does the God like them?",PLAYER0)
    BONUS_LEVEL_TIME(1200)
ENDIF

IF(PLAYER0,TIMER2 >= 1200)
    QUICK_INFORMATION(15,"You are ambushed!",PLAYER0)
    ADD_PARTY_TO_LEVEL(PLAYER_GOOD,FLY,-2,10)
    BONUS_LEVEL_TIME(1200)
ENDIF

IF(PLAYER0,TIMER2 >= 2400)
    ADD_CREATURE_TO_LEVEL(PLAYER0,SPIDER,2,9,4,100)
    BONUS_LEVEL_TIME(1200)
ENDIF

IF(PLAYER0,TIMER2 >= 3600)
    ADD_PARTY_TO_LEVEL(PLAYER_GOOD,HOUND,-2,2)
ENDIF

IF(PLAYER0,TIMER2 >= 4000)
    QUICK_INFORMATION(16,"The Demons have been depleted, enough resources are now available to build the bridges, and the secret of Destroy Walls spell has been discovered in the corpses of enemies! But how to get it?",PLAYER0)
    REVEAL_MAP_LOCATION(PLAYER0,7,11)
    REVEAL_MAP_LOCATION(PLAYER0,16,5)
ENDIF

IF_ACTION_POINT(16,PLAYER0)
    QUICK_INFORMATION(20,"The evil power of the spellbook has killed some of your minions!",PLAYER0)
    KILL_CREATURE(PLAYER0,DARK_MISTRESS,MOST_EXPERIENCED,4)
    KILL_CREATURE(PLAYER0,DRAGON,MOST_EXPERIENCED,1)
    KILL_CREATURE(PLAYER0,BILE_DEMON,MOST_EXPERIENCED,5)
ENDIF

IF_ACTION_POINT(8,PLAYER0)
    MAGIC_AVAILABLE(PLAYER0,POWER_DESTROY_WALLS,0,0) 
    QUICK_OBJECTIVE(17,"You enter the castle of evil, and the power of Destroy Walls is exhausted. Now find the Hexagram and seal it!",PLAYER0)
ENDIF

IF_ACTION_POINT(3,PLAYER0)
    ADD_PARTY_TO_LEVEL(PLAYER_GOOD,FAIRY,3,2) 
ENDIF

IF_ACTION_POINT(4,PLAYER0)
    ADD_PARTY_TO_LEVEL(PLAYER_GOOD,HORNY,4,2) 
    ADD_PARTY_TO_LEVEL(PLAYER_GOOD,HORNY,-4,2) 
    ADD_PARTY_TO_LEVEL(PLAYER_GOOD,HORNY,-5,2) 
ENDIF

IF_ACTION_POINT(5,PLAYER0)
    ADD_PARTY_TO_LEVEL(PLAYER_GOOD,FAIRY,5,2)
    MAGIC_AVAILABLE(PLAYER0,POWER_IMP,1,1)
    ROOM_AVAILABLE(ALL_PLAYERS,TREASURE,1,1)
    TUTORIAL_FLASH_BUTTON(2,-1) 
    TUTORIAL_FLASH_BUTTON(3,-1)
    TUTORIAL_FLASH_BUTTON(21,-1) 
    TUTORIAL_FLASH_BUTTON(6,-1) 
ENDIF

IF_CONTROLS(PLAYER_GOOD,KNIGHT == 0)
    MAGIC_AVAILABLE(ALL_PLAYERS,POWER_DISEASE,1,0)
ENDIF

IF(PLAYER0,ALL_DUNGEONS_DESTROYED == 1)
    QUICK_INFORMATION(18,"The enemies are flooding from the Hexagram!",PLAYER0)
    ADD_PARTY_TO_LEVEL(PLAYER_GOOD,HORNY,6,2)
    ADD_PARTY_TO_LEVEL(PLAYER_GOOD,VAMPIRE,6,2)
    ADD_PARTY_TO_LEVEL(PLAYER_GOOD,TENTACLE,-2,2)
    SET_TIMER(PLAYER0,TIMER3)
ENDIF

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

IF(PLAYER_GOOD,TOTAL_CREATURES == 0)
    IF(PLAYER0,TIMER3 >= 200)
    PLAY_MESSAGE(PLAYER0,SPEECH,109)
    QUICK_OBJECTIVE(19,"Victory! After a bloody battle, you sent the evil forces back into the shadows!",PLAYER0)
        WIN_GAME
    ENDIF 
ENDIF

IF(PLAYER0,DUNGEON_DESTROYED == 1)
    LOSE_GAME
ENDIF

IF(PLAYER0,TIMER0 >= 6000)
    IF(PLAYER0,FLAG1 == 0)
        QUICK_INFORMATION(8,"You failed to stop the Evil Dragon's plan. The crack has been opened and the world is about to be devastated!",PLAYER0)
	    LOSE_GAME 
    ENDIF
ENDIF








