LEVEL_VERSION(1)

SET_GENERATE_SPEED(750)

START_MONEY(ALL_PLAYERS, 5000)

MAX_CREATURES(PLAYER0, 17)
MAX_CREATURES(PLAYER1, 25)

COMPUTER_PLAYER(PLAYER1,10)

ALLY_PLAYERS(PLAYER1, PLAYER_GOOD,1)

SET_CREATURE_MAX_LEVEL(PLAYER0,FLY,5)
SET_CREATURE_MAX_LEVEL(PLAYER0,SPIDER,5)
SET_CREATURE_MAX_LEVEL(PLAYER0,BUG,5)
SET_CREATURE_MAX_LEVEL(PLAYER0,DRAGON,5)
SET_CREATURE_MAX_LEVEL(PLAYER0,TROLL,5)
SET_CREATURE_MAX_LEVEL(PLAYER0,ORC,5)
SET_CREATURE_MAX_LEVEL(PLAYER0,TENTACLE,5)
SET_CREATURE_MAX_LEVEL(PLAYER0,DARK_MISTRESS,5)
SET_CREATURE_MAX_LEVEL(PLAYER0,BILE_DEMON,5)
SET_CREATURE_MAX_LEVEL(PLAYER0,HORNY,5)
SET_CREATURE_MAX_LEVEL(PLAYER1,FAIRY,5)
SET_CREATURE_MAX_LEVEL(PLAYER1,TUNNELLER,5)
SET_CREATURE_MAX_LEVEL(PLAYER1,BARBARIAN,5)
SET_CREATURE_MAX_LEVEL(PLAYER1,DWARFA,5)
SET_CREATURE_MAX_LEVEL(PLAYER1,WIZARD,5)

ADD_CREATURE_TO_POOL(FLY, 1)
ADD_CREATURE_TO_POOL(SPIDER, 2)
ADD_CREATURE_TO_POOL(BUG,2)
ADD_CREATURE_TO_POOL(DRAGON, 3)
ADD_CREATURE_TO_POOL(ORC, 2)
ADD_CREATURE_TO_POOL(TROLL, 2)
ADD_CREATURE_TO_POOL(TENTACLE, 2)
ADD_CREATURE_TO_POOL(BILE_DEMON, 3)

ADD_CREATURE_TO_POOL(FAIRY, 5)
ADD_CREATURE_TO_POOL(BARBARIAN, 6)
ADD_CREATURE_TO_POOL(DWARFA, 4)
ADD_CREATURE_TO_POOL(WIZARD, 5)

CREATURE_AVAILABLE(PLAYER0, FLY, 1, 0)
CREATURE_AVAILABLE(PLAYER0, SPIDER, 1, 0)
CREATURE_AVAILABLE(PLAYER0, BUG, 1, 0)
CREATURE_AVAILABLE(PLAYER0, TROLL ,1,0)
CREATURE_AVAILABLE(PLAYER0, DRAGON ,1,0)
CREATURE_AVAILABLE(PLAYER0, ORC ,1,0)
CREATURE_AVAILABLE(PLAYER0, BILE_DEMON ,1,0)
CREATURE_AVAILABLE(PLAYER0, TENTACLE ,1,0)

CREATURE_AVAILABLE(PLAYER1, FAIRY ,1,1)
CREATURE_AVAILABLE(PLAYER1, BARBARIAN ,1,1)
CREATURE_AVAILABLE(PLAYER1, DWARFA ,1,1)
CREATURE_AVAILABLE(PLAYER1, WIZARD ,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, 1)
ROOM_AVAILABLE(ALL_PLAYERS, RESEARCH, 1, 0)
ROOM_AVAILABLE(ALL_PLAYERS, BRIDGE, 1, 0)
ROOM_AVAILABLE(ALL_PLAYERS, WORKSHOP, 1, 0)
ROOM_AVAILABLE(ALL_PLAYERS, BARRACKS, 1, 0)
ROOM_AVAILABLE(ALL_PLAYERS, TEMPLE, 1, 0)

MAGIC_AVAILABLE(PLAYER0, POWER_IMP, 1, 1)
MAGIC_AVAILABLE(PLAYER1, POWER_SIGHT, 1, 0)
MAGIC_AVAILABLE(ALL_PLAYERS, POWER_SPEED, 1, 0)
MAGIC_AVAILABLE(ALL_PLAYERS, POWER_CONCEAL, 1, 0)
MAGIC_AVAILABLE(ALL_PLAYERS, POWER_CALL_TO_ARMS, 1, 0)
MAGIC_AVAILABLE(ALL_PLAYERS, POWER_HEAL_CREATURE, 1, 0)
MAGIC_AVAILABLE(ALL_PLAYERS, POWER_PROTECT, 1, 0)

DOOR_AVAILABLE(ALL_PLAYERS, BRACED, 1, 0)
TRAP_AVAILABLE(ALL_PLAYERS, POISON_GAS, 1, 0)

QUICK_OBJECTIVE(1,"Welcome, Keeper. This is the place where your evil career in this dungeon begins. Develop your dungeon and be careful of the local heroes.",PLAYER0)

CREATE_PARTY(WAVE1)
	ADD_TO_PARTY(WAVE1,THIEF,4,300,ATTACK_ENEMIES,0)
	ADD_TO_PARTY(WAVE1,DWARFA,4,100,ATTACK_ENEMIES,0)
	ADD_TO_PARTY(WAVE1,BARBARIAN,3,100,ATTACK_ENEMIES,0)
	ADD_TO_PARTY(WAVE1,GIANT,3,100,ATTACK_ENEMIES,0)

CREATE_PARTY(WAVE2)
	ADD_TO_PARTY(WAVE2,WITCH,5,300,ATTACK_ENEMIES,0)
	ADD_TO_PARTY(WAVE2,WIZARD,4,300,ATTACK_ENEMIES,0)
	ADD_TO_PARTY(WAVE2,FAIRY,5,300,ATTACK_ENEMIES,0)
	ADD_TO_PARTY(WAVE2,MONK,4,300,ATTACK_ENEMIES,0)

CREATE_PARTY(AMBUSH)
	ADD_TO_PARTY(AMBUSH,THIEF,8,500,ATTACK_ENEMIES,0)
	ADD_TO_PARTY(AMBUSH,THIEF,8,500,ATTACK_ENEMIES,0)
	ADD_TO_PARTY(AMBUSH,THIEF,8,500,ATTACK_ENEMIES,0)
	ADD_TO_PARTY(AMBUSH,THIEF,8,500,ATTACK_ENEMIES,0)
	ADD_TO_PARTY(AMBUSH,THIEF,8,500,ATTACK_ENEMIES,0)
	ADD_TO_PARTY(AMBUSH,THIEF,8,500,ATTACK_ENEMIES,0)

SET_FLAG(PLAYER_GOOD,FLAG0,0)
SET_TIMER(PLAYER1,TIMER1)

IF(PLAYER1, DUNGEON_DESTROYED==0)
IF(PLAYER1, TUNNELLER<5)
	IF(PLAYER1, TIMER1>=600)
	NEXT_COMMAND_REUSABLE
	ADD_CREATURE_TO_LEVEL(PLAYER1,TUNNELLER,1,1,1,0)
	NEXT_COMMAND_REUSABLE
	SET_TIMER(PLAYER1,TIMER1)
	ENDIF
ENDIF
ENDIF


IF(PLAYER0, TOTAL_CREATURES>=10)
	ADD_TUNNELLER_PARTY_TO_LEVEL(PLAYER_GOOD,WAVE1,-1,DUNGEON,0,3,500)
	QUICK_INFORMATION(2,"Your noisy creatures let the local heroes notice your arrival, and they are coming to get rid of you!",PLAYER0)
ENDIF

IF(PLAYER0, TOTAL_CREATURES>=13)
	ADD_TUNNELLER_PARTY_TO_LEVEL(PLAYER_GOOD,WAVE1,-2,DUNGEON,0,3,500)
ENDIF

IF(PLAYER1, TOTAL_CREATURES>=20)
SET_TIMER(PLAYER_GOOD, TIMER0)
SET_TIMER(PLAYER_GOOD, TIMER1)
ENDIF

IF(PLAYER1, TOTAL_CREATURES>=25)
SET_TIMER(PLAYER1, TIMER2)
ENDIF

IF(PLAYER_GOOD, FLAG0==0)
IF(PLAYER_GOOD, TIMER0>=6000)
	NEXT_COMMAND_REUSABLE
	ADD_TUNNELLER_PARTY_TO_LEVEL(PLAYER_GOOD,WAVE2,-2,DUNGEON,0,5,500)
	NEXT_COMMAND_REUSABLE
	SET_TIMER(PLAYER_GOOD, TIMER0)
ENDIF
ENDIF

IF(PLAYER_GOOD, TIMER1>=3000)
	SET_TIMER(PLAYER_GOOD, TIMER1)
ENDIF

IF(PLAYER_GOOD, FLAG0==0)
IF(PLAYER_GOOD, TIMER1>=6000)
	NEXT_COMMAND_REUSABLE
	ADD_TUNNELLER_PARTY_TO_LEVEL(PLAYER_GOOD,WAVE2,-1,DUNGEON,0,5,500)
	NEXT_COMMAND_REUSABLE
	SET_TIMER(PLAYER_GOOD, TIMER1)
ENDIF
ENDIF

IF(PLAYER1, TIMER2>=8000)
	SET_CREATURE_MAX_LEVEL(PLAYER1,FAIRY,7)
	SET_CREATURE_MAX_LEVEL(PLAYER1,BARBARIAN,7)
	SET_CREATURE_MAX_LEVEL(PLAYER1,DWARFA,7)
	SET_CREATURE_MAX_LEVEL(PLAYER1,WIZARD,7)
	LEVEL_UP_CREATURE(PLAYER_GOOD,KNIGHT,LEAST_EXPERIENCED,1)
	ADD_TO_PARTY(WAVE2,ARCHER,6,300,ATTACK_ENEMIES,0)
	QUICK_INFORMATION(7,"The hero army will gradually become stronger over time! It's better to attack them as soon as possible!",PLAYER0)
ENDIF

IF(PLAYER1, TIMER2>=17500)
	SET_CREATURE_MAX_LEVEL(PLAYER1,FAIRY,9)
	SET_CREATURE_MAX_LEVEL(PLAYER1,BARBARIAN,9)
	SET_CREATURE_MAX_LEVEL(PLAYER1,DWARFA,9)
	SET_CREATURE_MAX_LEVEL(PLAYER1,WIZARD,9)
	ADD_TO_PARTY(WAVE2,GIANT,7,300,ATTACK_ENEMIES,0)
	LEVEL_UP_CREATURE(PLAYER_GOOD,KNIGHT,LEAST_EXPERIENCED,1)
ENDIF

IF(PLAYER1, TIMER2>=25000)
	SET_CREATURE_MAX_LEVEL(PLAYER1,FAIRY,10)
	SET_CREATURE_MAX_LEVEL(PLAYER1,BARBARIAN,10)
	SET_CREATURE_MAX_LEVEL(PLAYER1,DWARFA,10)
	SET_CREATURE_MAX_LEVEL(PLAYER1,WIZARD,10)
	ADD_TO_PARTY(WAVE2,SAMURAI,8,300,ATTACK_ENEMIES,0)
	LEVEL_UP_CREATURE(PLAYER_GOOD,KNIGHT,LEAST_EXPERIENCED,2)
ENDIF

IF(PLAYER0, TRAINING>=9)
	QUICK_INFORMATION(4,"The lazy creatures in this realm are reluctant to obey to a newcome keeper like you, so they can only be trained to level 5. ",PLAYER0)
ENDIF

IF_ACTION_POINT(2,PLAYER0)
	ADD_PARTY_TO_LEVEL(PLAYER_GOOD,AMBUSH,2,1)
	QUICK_INFORMATION(3,"Some greedy thieves also noticed this gem block. Prove to them that it shall be yours!",PLAYER0)
ENDIF


IF_ACTION_POINT(1,PLAYER0)
	QUICK_INFORMATION(5,"Oh look, here is the pathetic Lord of this realm. He is armoured to the teeth, but that's not a problem for you, isn't it?",PLAYER0)
ENDIF

IF(PLAYER_GOOD, KNIGHT==0)
	SET_FLAG(PLAYER_GOOD,FLAG0,1)
ENDIF

IF(PLAYER_GOOD, FLAG0==1)
	IF(PLAYER1, DUNGEON_DESTROYED==1)
		QUICK_OBJECTIVE(6,"Now the first realm of this dungeon becomes yours. A good start, Keeper.",PLAYER0)
		WIN_GAME
	ENDIF
ENDIF