REM ********************************************
REM		 ӭʹػ
REM  ͼAI<<³ػIͼAI༭>>
REM		ߣ֮
REM		      QQ3262900
REM ********************************************
REM		ͼߣ
REM		   QQ
REM ********************************************
REM	            PLAYER1=-1
REM	            PLAYER2=-1
REM	            PLAYER3=-1
REM ********************************************



REM ************ʼǮ**************

START_MONEY(PLAYER0,10000)
MAX_CREATURES(PLAYER0,30)
START_MONEY(PLAYER1,35000)
MAX_CREATURES(PLAYER1,45)
COMPUTER_PLAYER(PLAYER1,1)
START_MONEY(PLAYER2,35000)
MAX_CREATURES(PLAYER2,45)
COMPUTER_PLAYER(PLAYER2,1)
START_MONEY(PLAYER3,35000)
MAX_CREATURES(PLAYER3,45)
COMPUTER_PLAYER(PLAYER3,4)

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

SET_GENERATE_SPEED(50)
ADD_CREATURE_TO_POOL(TROLL,20)
ADD_CREATURE_TO_POOL(DRAGON,20)
ADD_CREATURE_TO_POOL(DEMONSPAWN,20)
ADD_CREATURE_TO_POOL(FLY,20)
ADD_CREATURE_TO_POOL(DARK_MISTRESS,40)
ADD_CREATURE_TO_POOL(SORCEROR,20)
ADD_CREATURE_TO_POOL(BILE_DEMON,20)
ADD_CREATURE_TO_POOL(BUG,20)
ADD_CREATURE_TO_POOL(VAMPIRE,1)
ADD_CREATURE_TO_POOL(SPIDER,20)
ADD_CREATURE_TO_POOL(ORC,20)

REM **********ħ**********

CREATURE_AVAILABLE(ALL_PLAYERS,TROLL,1,1)
CREATURE_AVAILABLE(ALL_PLAYERS,DRAGON,1,1)
CREATURE_AVAILABLE(ALL_PLAYERS,FLY,1,1)
CREATURE_AVAILABLE(ALL_PLAYERS,DARK_MISTRESS,1,1)
CREATURE_AVAILABLE(ALL_PLAYERS,SORCEROR,1,1)
CREATURE_AVAILABLE(ALL_PLAYERS,BILE_DEMON,1,1)
CREATURE_AVAILABLE(ALL_PLAYERS,BUG,1,1)
CREATURE_AVAILABLE(ALL_PLAYERS,VAMPIRE,1,1)
CREATURE_AVAILABLE(ALL_PLAYERS,SPIDER,1,1)
CREATURE_AVAILABLE(ALL_PLAYERS,ORC,1,1)
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,0)
ROOM_AVAILABLE(ALL_PLAYERS,RESEARCH,1,1)
ROOM_AVAILABLE(ALL_PLAYERS,WORKSHOP,1,0)
ROOM_AVAILABLE(ALL_PLAYERS,TORTURE,1,0)
ROOM_AVAILABLE(ALL_PLAYERS,BARRACKS,1,0)
ROOM_AVAILABLE(ALL_PLAYERS,TEMPLE,1,0)
ROOM_AVAILABLE(ALL_PLAYERS,GRAVEYARD,1,0)
ROOM_AVAILABLE(PLAYER1,GUARD_POST,1,0)
ROOM_AVAILABLE(PLAYER2,GUARD_POST,1,0)
ROOM_AVAILABLE(PLAYER3,GUARD_POST,1,0)
MAGIC_AVAILABLE(ALL_PLAYERS,POWER_IMP,1,1)
TRAP_AVAILABLE(ALL_PLAYERS,ALARM,1,0)
TRAP_AVAILABLE(ALL_PLAYERS,LIGHTNING,1,0)
TRAP_AVAILABLE(ALL_PLAYERS,BOULDER,1,0)
DOOR_AVAILABLE(ALL_PLAYERS,WOOD,1,0)
DOOR_AVAILABLE(ALL_PLAYERS,MAGIC,1,0)

REM ****************ͬ********************

ALLY_PLAYERS(PLAYER1,PLAYER2)
ALLY_PLAYERS(PLAYER1,PLAYER3)
ALLY_PLAYERS(PLAYER1,PLAYER_GOOD)
ALLY_PLAYERS(PLAYER2,PLAYER_GOOD)
ALLY_PLAYERS(PLAYER3,PLAYER_GOOD)
ALLY_PLAYERS(PLAYER2,PLAYER3)

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



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



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

CREATE_PARTY(Z1)
ADD_TO_PARTY(Z1,WIZARD,10,500,ATTACK_DUNGEON_HEART,0)
ADD_TO_PARTY(Z1,FAIRY,10,500,ATTACK_DUNGEON_HEART,0)
ADD_TO_PARTY(Z1,FAIRY,10,500,ATTACK_DUNGEON_HEART,0)
ADD_TO_PARTY(Z1,SAMURAI,10,500,ATTACK_DUNGEON_HEART,0)
ADD_TO_PARTY(Z1,SAMURAI,10,500,ATTACK_DUNGEON_HEART,0)
ADD_TO_PARTY(Z1,GIANT,10,500,ATTACK_DUNGEON_HEART,0)
ADD_TO_PARTY(Z1,GIANT,10,500,ATTACK_DUNGEON_HEART,0)
CREATE_PARTY(Y1)
ADD_TO_PARTY(Y1,TUNNELLER,10,500,ATTACK_DUNGEON_HEART,0)
ADD_TO_PARTY(Y1,THIEF,10,500,ATTACK_DUNGEON_HEART,0)
ADD_TO_PARTY(Y1,FLY,10,500,ATTACK_DUNGEON_HEART,0)
ADD_TO_PARTY(Y1,SPIDER,10,500,ATTACK_DUNGEON_HEART,0)
ADD_TO_PARTY(Y1,BUG,10,500,ATTACK_DUNGEON_HEART,0)
ADD_TO_PARTY(Y1,ARCHER,10,500,ATTACK_DUNGEON_HEART,0)
CREATE_PARTY(M37)
ADD_TO_PARTY(M37,DARK_MISTRESS,10,500,ATTACK_DUNGEON_HEART,0)
ADD_TO_PARTY(M37,SORCEROR,10,500,ATTACK_DUNGEON_HEART,0)
ADD_TO_PARTY(M37,SAMURAI,10,500,ATTACK_DUNGEON_HEART,0)
ADD_TO_PARTY(M37,ORC,10,500,ATTACK_DUNGEON_HEART,0)
CREATE_PARTY(M45)
ADD_TO_PARTY(M45,HORNY,10,500,ATTACK_DUNGEON_HEART,0)
ADD_TO_PARTY(M45,DARK_MISTRESS,10,500,ATTACK_DUNGEON_HEART,0)
ADD_TO_PARTY(M45,DARK_MISTRESS,10,500,ATTACK_DUNGEON_HEART,0)
CREATE_PARTY(M1)
ADD_TO_PARTY(M1,HELL_HOUND,10,500,ATTACK_DUNGEON_HEART,0)
ADD_TO_PARTY(M1,HORNY,10,500,ATTACK_DUNGEON_HEART,0)
ADD_TO_PARTY(M1,DARK_MISTRESS,10,500,ATTACK_DUNGEON_HEART,0)
ADD_TO_PARTY(M1,AVATAR,10,500,ATTACK_DUNGEON_HEART,0)
ADD_TO_PARTY(M1,KNIGHT,10,500,ATTACK_DUNGEON_HEART,0)
ADD_TO_PARTY(M1,MONK,10,500,ATTACK_DUNGEON_HEART,0)
ADD_TO_PARTY(M1,WITCH,10,500,ATTACK_DUNGEON_HEART,0)
CREATE_PARTY(M2)
ADD_TO_PARTY(M2,AVATAR,10,500,ATTACK_DUNGEON_HEART,0)
ADD_TO_PARTY(M2,AVATAR,10,500,ATTACK_DUNGEON_HEART,0)
ADD_TO_PARTY(M2,AVATAR,10,500,ATTACK_DUNGEON_HEART,0)
ADD_TO_PARTY(M2,KNIGHT,10,500,ATTACK_DUNGEON_HEART,0)
ADD_TO_PARTY(M2,KNIGHT,10,500,ATTACK_DUNGEON_HEART,0)
CREATE_PARTY(M22)
ADD_TO_PARTY(M22,WITCH,10,500,ATTACK_DUNGEON_HEART,0)
ADD_TO_PARTY(M22,FAIRY,10,500,ATTACK_DUNGEON_HEART,0)
ADD_TO_PARTY(M22,GHOST,10,500,ATTACK_DUNGEON_HEART,0)
ADD_TO_PARTY(M22,VAMPIRE,10,500,ATTACK_DUNGEON_HEART,0)
CREATE_PARTY(M23)
ADD_TO_PARTY(M23,HELL_HOUND,10,500,ATTACK_DUNGEON_HEART,0)
ADD_TO_PARTY(M23,WIZARD,10,500,ATTACK_DUNGEON_HEART,0)
ADD_TO_PARTY(M23,WIZARD,10,500,ATTACK_DUNGEON_HEART,0)
ADD_TO_PARTY(M23,SAMURAI,10,500,ATTACK_DUNGEON_HEART,0)
ADD_TO_PARTY(M23,SAMURAI,10,500,ATTACK_DUNGEON_HEART,0)
ADD_TO_PARTY(M23,DARK_MISTRESS,10,500,ATTACK_DUNGEON_HEART,0)
ADD_TO_PARTY(M23,DARK_MISTRESS,10,500,ATTACK_DUNGEON_HEART,0)
CREATE_PARTY(MFW)
ADD_TO_PARTY(MFW,WIZARD,10,1111,ATTACK_DUNGEON_HEART,0)
ADD_TO_PARTY(MFW,FAIRY,10,1111,ATTACK_DUNGEON_HEART,0)
ADD_TO_PARTY(MFW,FAIRY,10,1111,ATTACK_DUNGEON_HEART,0)
ADD_TO_PARTY(MFW,FAIRY,10,1111,DEFEND_PARTY,0)
ADD_TO_PARTY(MFW,FAIRY,10,1111,DEFEND_PARTY,0)
ADD_TO_PARTY(MFW,FAIRY,10,1111,ATTACK_DUNGEON_HEART,0)
ADD_TO_PARTY(MFW,FAIRY,10,1111,ATTACK_ENEMIES,0)
CREATE_PARTY(M16)
ADD_TO_PARTY(M16,WIZARD,10,1111,ATTACK_ENEMIES,0)
ADD_TO_PARTY(M16,KNIGHT,10,1111,ATTACK_ENEMIES,0)
ADD_TO_PARTY(M16,GIANT,10,1111,ATTACK_ENEMIES,0)
ADD_TO_PARTY(M16,SAMURAI,10,1111,DEFEND_PARTY,0)
ADD_TO_PARTY(M16,SAMURAI,10,1111,DEFEND_PARTY,0)
ADD_TO_PARTY(M16,MONK,10,1111,DEFEND_PARTY,0)
CREATE_PARTY(YK)
ADD_TO_PARTY(YK,HORNY,10,1111,ATTACK_DUNGEON_HEART,0)
ADD_TO_PARTY(YK,DRAGON,10,1111,ATTACK_DUNGEON_HEART,0)
ADD_TO_PARTY(YK,FLY,10,1111,ATTACK_ENEMIES,0)
ADD_TO_PARTY(YK,FLY,10,1111,ATTACK_ENEMIES,0)
ADD_TO_PARTY(YK,FLY,10,1111,ATTACK_ENEMIES,0)
ADD_TO_PARTY(YK,VAMPIRE,10,1111,ATTACK_DUNGEON_HEART,0)


REM ***************¼*******************

SET_TIMER(PLAYER0,TIMER0)
SET_TIMER(PLAYER0,TIMER1)
SET_FLAG(PLAYER_GOOD,FLAG0,0)

REM ***************ϵʽ*******************

IF_ACTION_POINT(7,PLAYER0)
	ADD_PARTY_TO_LEVEL(PLAYER_GOOD,M1,-1,8)
ENDIF

IF_ACTION_POINT(6,PLAYER0)
	ADD_CREATURE_TO_LEVEL(PLAYER_GOOD,VAMPIRE,-9,10,10,10000)
	ADD_CREATURE_TO_LEVEL(PLAYER_GOOD,VAMPIRE,-10,10,10,10000)
	ADD_CREATURE_TO_LEVEL(PLAYER_GOOD,VAMPIRE,-11,10,10,10000)
ENDIF

IF_ACTION_POINT(4,PLAYER0)
	ADD_PARTY_TO_LEVEL(PLAYER_GOOD,M45,-4,3)
ENDIF

IF_ACTION_POINT(5,PLAYER0)
	ADD_PARTY_TO_LEVEL(PLAYER_GOOD,M45,-5,4)
ENDIF

IF_ACTION_POINT(2,PLAYER0)
	ADD_PARTY_TO_LEVEL(PLAYER_GOOD,Z1,-8,2)
	ADD_PARTY_TO_LEVEL(PLAYER_GOOD,Z1,-12,2)
ENDIF

IF_ACTION_POINT(3,PLAYER0)
	ADD_PARTY_TO_LEVEL(PLAYER_GOOD,M37,-3,4)
	ADD_PARTY_TO_LEVEL(PLAYER_GOOD,M37,-7,5)
ENDIF

IF_ACTION_POINT(14,PLAYER0)
	ADD_CREATURE_TO_LEVEL(PLAYER_GOOD,WIZARD,-8,2,10,1200)
	ADD_CREATURE_TO_LEVEL(PLAYER_GOOD,DARK_MISTRESS,-8,2,10,1200)
	ADD_CREATURE_TO_LEVEL(PLAYER_GOOD,WIZARD,-9,2,10,1200)
	ADD_CREATURE_TO_LEVEL(PLAYER_GOOD,DARK_MISTRESS,-9,2,10,1200)
	ADD_CREATURE_TO_LEVEL(PLAYER_GOOD,WIZARD,-10,2,10,1200)
	ADD_CREATURE_TO_LEVEL(PLAYER_GOOD,DARK_MISTRESS,-10,2,10,1200)
	ADD_CREATURE_TO_LEVEL(PLAYER_GOOD,WIZARD,-11,2,10,1200)
	ADD_CREATURE_TO_LEVEL(PLAYER_GOOD,DARK_MISTRESS,-11,2,10,1200)
	ADD_CREATURE_TO_LEVEL(PLAYER_GOOD,WIZARD,-12,2,10,1200)
	ADD_CREATURE_TO_LEVEL(PLAYER_GOOD,DARK_MISTRESS,-12,2,10,1200)
	ADD_CREATURE_TO_LEVEL(PLAYER_GOOD,WIZARD,-13,2,10,1200)
	ADD_CREATURE_TO_LEVEL(PLAYER_GOOD,DARK_MISTRESS,-13,2,10,1200)
ENDIF

IF(PLAYER0,TIMER0>=10000)
	ADD_PARTY_TO_LEVEL(PLAYER_GOOD,Y1,-6,2)
ENDIF

IF(PLAYER0,TIMER1>=3000)
	NEXT_COMMAND_REUSABLE
	ADD_CREATURE_TO_LEVEL(PLAYER_GOOD,KNIGHT,15,2,1,100)
	NEXT_COMMAND_REUSABLE
	SET_TIMER(PLAYER0,TIMER1)
ENDIF

IF(PLAYER_GOOD,ALL_DUNGEONS_DESTROYED==1)
	ADD_PARTY_TO_LEVEL(PLAYER_GOOD,M22,-2,5)
	ADD_PARTY_TO_LEVEL(PLAYER_GOOD,M2,-2,5)
	ADD_PARTY_TO_LEVEL(PLAYER_GOOD,M23,-2,5)
	IF(PLAYER_GOOD,TOTAL_CREATURES==0)
		SET_FLAG(PLAYER_GOOD,FLAG0,1)
	ENDIF
ENDIF

IF(PLAYER_GOOD,FLAG0==1)
	WIN_GAME
ENDIF



IF_ACTION_POINT(16,PLAYER0)
	ADD_PARTY_TO_LEVEL(PLAYER_GOOD,MFW,-13,2)
	ADD_PARTY_TO_LEVEL(PLAYER_GOOD,MFW,-14,2)
	ADD_PARTY_TO_LEVEL(PLAYER_GOOD,MFW,-15,2)
ENDIF

IF_ACTION_POINT(17,PLAYER0)
	ADD_PARTY_TO_LEVEL(PLAYER_GOOD,M16,-16,3)
ENDIF

IF_ACTION_POINT(18,PLAYER0)
	ADD_PARTY_TO_LEVEL(PLAYER_GOOD,MFW,-18,2)
	ADD_PARTY_TO_LEVEL(PLAYER_GOOD,MFW,-17,2)
ENDIF

IF_ACTION_POINT(19,PLAYER0)
	ADD_PARTY_TO_LEVEL(PLAYER_GOOD,YK,19,2)
ENDIF