LEVEL_VERSION(1)

SET_GENERATE_SPEED(600)

START_MONEY(PLAYER0, 1500)

MAX_CREATURES(PLAYER0, 24)

ADD_CREATURE_TO_POOL(HELL_HOUND, 2)
ADD_CREATURE_TO_POOL(DEMONSPAWN, 2)

CREATURE_AVAILABLE(PLAYER0, DRAGON ,1,10)
CREATURE_AVAILABLE(PLAYER0, HELL_HOUND ,1,10)
CREATURE_AVAILABLE(PLAYER0, DEMONSPAWN,1,10)

ROOM_AVAILABLE(PLAYER0, BRIDGE, 1, 1)

MAGIC_AVAILABLE(ALL_PLAYERS, POWER_IMP, 1, 1)
MAGIC_AVAILABLE(ALL_PLAYERS, POWER_SPEED, 1, 0)
MAGIC_AVAILABLE(ALL_PLAYERS, POWER_CALL_TO_ARMS, 1, 0)
MAGIC_AVAILABLE(ALL_PLAYERS, POWER_HOLD_AUDIENCE, 1, 0)
MAGIC_AVAILABLE(ALL_PLAYERS, POWER_HEAL_CREATURE, 1, 0)
MAGIC_AVAILABLE(ALL_PLAYERS, POWER_PROTECT, 1, 0)

CREATE_PARTY(WAVE1)
	ADD_TO_PARTY(WAVE1,FLY,5,0,ATTACK_ENEMIES,0)
	ADD_TO_PARTY(WAVE1,FLY,5,0,ATTACK_ENEMIES,0)
	ADD_TO_PARTY(WAVE1,FLY,5,0,ATTACK_ENEMIES,0)
	ADD_TO_PARTY(WAVE1,FLY,5,0,ATTACK_ENEMIES,0)
	ADD_TO_PARTY(WAVE1,FLY,5,0,ATTACK_ENEMIES,0)

CREATE_PARTY(WAVE2)
	ADD_TO_PARTY(WAVE2,GHOST,8,0,ATTACK_ENEMIES,0)
	ADD_TO_PARTY(WAVE2,GHOST,8,0,ATTACK_ENEMIES,0)
	ADD_TO_PARTY(WAVE2,GHOST,8,0,ATTACK_ENEMIES,0)

CREATE_PARTY(WAVE3)
	ADD_TO_PARTY(WAVE3,FAIRY,6,0,ATTACK_ENEMIES,0)
	ADD_TO_PARTY(WAVE3,FAIRY,6,0,ATTACK_ENEMIES,0)
	ADD_TO_PARTY(WAVE3,FAIRY,6,0,ATTACK_ENEMIES,0)

CREATE_PARTY(WAVE4)
	ADD_TO_PARTY(WAVE4,FAIRY,10,0,ATTACK_ENEMIES,0)
	ADD_TO_PARTY(WAVE4,WITCH,10,0,ATTACK_ENEMIES,0)
	ADD_TO_PARTY(WAVE4,VAMPIRE,9,0,ATTACK_ENEMIES,0)

CREATE_PARTY(SURPRISE1)
	ADD_TO_PARTY(SURPRISE1,GIANT,10,0,ATTACK_ENEMIES,0)
	ADD_TO_PARTY(SURPRISE1,GIANT,10,0,ATTACK_ENEMIES,0)
	ADD_TO_PARTY(SURPRISE1,GIANT,10,0,ATTACK_ENEMIES,0)
	ADD_TO_PARTY(SURPRISE1,GIANT,10,0,ATTACK_ENEMIES,0)

CREATE_PARTY(SURPRISE2)
	ADD_TO_PARTY(SURPRISE2,MONK,8,0,ATTACK_ENEMIES,0)
	ADD_TO_PARTY(SURPRISE2,MONK,8,0,ATTACK_ENEMIES,0)
	ADD_TO_PARTY(SURPRISE2,MONK,8,0,ATTACK_ENEMIES,0)

CREATE_PARTY(LORD)
	ADD_TO_PARTY(LORD,KNIGHT,10,3000,ATTACK_DUNGEON_HEART,0)


QUICK_OBJECTIVE(1,"The lava river stops you from going forward. And heroes plan to use this advantage to defend you. What can you do, Keeper?",PLAYER0)

IF(PLAYER0, LAIR>0)
	QUICK_INFORMATION(2,"The more lairs you have, the more creatures you can attract.(So don't sell any of them!)",PLAYER0)
ENDIF

IF(PLAYER0, LAIR>16)
ADD_CREATURE_TO_POOL(HELL_HOUND, 2)
ADD_CREATURE_TO_POOL(DEMONSPAWN, 2)
ENDIF

IF(PLAYER0, LAIR>41)
ADD_CREATURE_TO_POOL(HELL_HOUND, 2)
ADD_CREATURE_TO_POOL(DEMONSPAWN, 2)
ENDIF

IF(PLAYER0, GARDEN>0)
QUICK_INFORMATION(3,"The more hatcheries you have, the higher level creatures you can attract.",PLAYER0)
ENDIF

IF(PLAYER0, GARDEN>9)
CREATURE_ENTRANCE_LEVEL(PLAYER0,4)
ENDIF

IF(PLAYER0, GARDEN>25)
CREATURE_ENTRANCE_LEVEL(PLAYER0,6)
ENDIF

IF(PLAYER0, RESEARCH>0)
ADD_CREATURE_TO_POOL(DRAGON, 2)
QUICK_INFORMATION(4,"The wisdom of library will attract some dragons.",PLAYER0)
ENDIF

IF(PLAYER0, RESEARCH>20)
ADD_CREATURE_TO_POOL(DRAGON, 2)
ENDIF

IF(PLAYER0, RESEARCH>36)
ADD_CREATURE_TO_POOL(DRAGON, 1)
ENDIF

IF(PLAYER0, ENTRANCE>9)
ADD_CREATURE_TO_POOL(HORNY, 2)
CREATURE_AVAILABLE(PLAYER0, HORNY ,1,3)
QUICK_INFORMATION(5,"This new portal can attract a couple of hornies.",PLAYER0)
ENDIF

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

IF_ACTION_POINT(7,PLAYER0)
	ADD_PARTY_TO_LEVEL(PLAYER_GOOD,SURPRISE2,7,1)
ENDIF

IF(PLAYER0, DEMONSPAWN>0)
IF(PLAYER0, HELL_HOUND>0)
	QUICK_INFORMATION(7,"All the resources are very limited here. The lava-living creatures are very fierce and they often fight with each other. Are you good at managing, Keeper?",PLAYER0)
ENDIF
ENDIF

SET_FLAG(PLAYER0,FLAG0,0)

IF(PLAYER0, DRAGON>1)
	SET_TIMER(PLAYER0,TIMER0)
ENDIF

IF(PLAYER0, TIMER0>=5500)
IF(PLAYER0,FLAG0==0)
	NEXT_COMMAND_REUSABLE
	ADD_PARTY_TO_LEVEL(PLAYER_GOOD,WAVE1,-1,1)
	NEXT_COMMAND_REUSABLE
	ADD_PARTY_TO_LEVEL(PLAYER_GOOD,WAVE1,4,1)
	NEXT_COMMAND_REUSABLE
	ADD_PARTY_TO_LEVEL(PLAYER_GOOD,WAVE1,5,1)
	NEXT_COMMAND_REUSABLE
	SET_TIMER(PLAYER0,TIMER0)
ENDIF
IF(PLAYER0,FLAG0==1)
	NEXT_COMMAND_REUSABLE
	ADD_PARTY_TO_LEVEL(PLAYER_GOOD,WAVE2,-1,1)
	NEXT_COMMAND_REUSABLE
	ADD_PARTY_TO_LEVEL(PLAYER_GOOD,WAVE2,3,1)
	NEXT_COMMAND_REUSABLE
	ADD_PARTY_TO_LEVEL(PLAYER_GOOD,WAVE2,6,1)
	NEXT_COMMAND_REUSABLE
	SET_TIMER(PLAYER0,TIMER0)
ENDIF
IF(PLAYER0,FLAG0==2)
	NEXT_COMMAND_REUSABLE
	ADD_PARTY_TO_LEVEL(PLAYER_GOOD,WAVE3,-1,1)
	NEXT_COMMAND_REUSABLE
	ADD_PARTY_TO_LEVEL(PLAYER_GOOD,WAVE3,4,1)
	NEXT_COMMAND_REUSABLE
	ADD_PARTY_TO_LEVEL(PLAYER_GOOD,WAVE3,5,1)
	NEXT_COMMAND_REUSABLE
	SET_TIMER(PLAYER0,TIMER0)
ENDIF
ENDIF

IF(PLAYER0, FLAG0<3)
IF(PLAYER0, GAME_TURN>=25000)
		SET_FLAG(PLAYER0,FLAG0,1)
ENDIF
ENDIF

IF(PLAYER0, FLAG0<3)
IF(PLAYER0, GAME_TURN>=55000)
		SET_FLAG(PLAYER0,FLAG0,2)
ENDIF
ENDIF

IF(PLAYER_GOOD, TOTAL_CREATURES<=0)
	SET_TIMER(PLAYER_GOOD,TIMER1)
	BONUS_LEVEL_TIME(2500)
	QUICK_INFORMATION(6,"Beware, the lord of the land and his final army are coming...",PLAYER0)
	SET_FLAG(PLAYER0,FLAG0,3)
ENDIF

IF(PLAYER_GOOD, TIMER1>=2500)
SET_FLAG(PLAYER0,FLAG0,4)
	ADD_CREATURE_TO_LEVEL(PLAYER_GOOD,GHOST,-1,5,10,0)
	ADD_PARTY_TO_LEVEL(PLAYER_GOOD,WAVE4,3,1)
	ADD_PARTY_TO_LEVEL(PLAYER_GOOD,WAVE4,4,1) 
	ADD_PARTY_TO_LEVEL(PLAYER_GOOD,WAVE4,5,1)
	ADD_PARTY_TO_LEVEL(PLAYER_GOOD,WAVE4,6,1)
ENDIF

IF(PLAYER0,FLAG0==4)
IF(PLAYER_GOOD, TOTAL_CREATURES<=0)
	ADD_PARTY_TO_LEVEL(PLAYER_GOOD,LORD,3,1)
	SET_FLAG(PLAYER0,FLAG0,5)
ENDIF
ENDIF

IF(PLAYER0,FLAG0==5)
IF(PLAYER_GOOD, KNIGHT<=0)
	WIN_GAME
ENDIF
ENDIF