LEVEL_VERSION(1)
SET_GENERATE_SPEED(400)
START_MONEY(ALL_PLAYERS,5000)
MAX_CREATURES(ALL_PLAYERS,50)

ADD_CREATURE_TO_POOL(BUG,20)
ADD_CREATURE_TO_POOL(DEMONSPAWN,20)
ADD_CREATURE_TO_POOL(TROLL,20)
ADD_CREATURE_TO_POOL(SPIDER,20)
ADD_CREATURE_TO_POOL(HELL_HOUND,20)
ADD_CREATURE_TO_POOL(TENTACLE,20)
ADD_CREATURE_TO_POOL(SORCEROR,20)
ADD_CREATURE_TO_POOL(ORC,20)
ADD_CREATURE_TO_POOL(BILE_DEMON,20)
ADD_CREATURE_TO_POOL(DRAGON,20)
ADD_CREATURE_TO_POOL(DARK_MISTRESS,20)

CREATURE_AVAILABLE(ALL_PLAYERS,FLY,0,0)
CREATURE_AVAILABLE(ALL_PLAYERS,BUG,1,0)
CREATURE_AVAILABLE(ALL_PLAYERS,DEMONSPAWN,1,0)
CREATURE_AVAILABLE(ALL_PLAYERS,TROLL,1,0)
CREATURE_AVAILABLE(ALL_PLAYERS,SPIDER,1,0)
CREATURE_AVAILABLE(ALL_PLAYERS,HELL_HOUND,1,0)
CREATURE_AVAILABLE(ALL_PLAYERS,TENTACLE,1,0)
CREATURE_AVAILABLE(ALL_PLAYERS,SORCEROR,1,0)
CREATURE_AVAILABLE(ALL_PLAYERS,ORC,1,0)
CREATURE_AVAILABLE(ALL_PLAYERS,BILE_DEMON,1,0)
CREATURE_AVAILABLE(ALL_PLAYERS,DRAGON,1,0)
CREATURE_AVAILABLE(ALL_PLAYERS,DARK_MISTRESS,1,0)

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,1)
ROOM_AVAILABLE(ALL_PLAYERS,GUARD_POST,1,0)
ROOM_AVAILABLE(ALL_PLAYERS,WORKSHOP,1,0)
ROOM_AVAILABLE(ALL_PLAYERS,PRISON,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(ALL_PLAYERS,SCAVENGER,1,0)

MAGIC_AVAILABLE(ALL_PLAYERS,POWER_HAND,1,1)
MAGIC_AVAILABLE(ALL_PLAYERS,POWER_SLAP,1,1)
MAGIC_AVAILABLE(ALL_PLAYERS,POWER_POSSESS,1,1)
MAGIC_AVAILABLE(ALL_PLAYERS,POWER_IMP,1,1)
MAGIC_AVAILABLE(ALL_PLAYERS,POWER_SIGHT,1,0)
MAGIC_AVAILABLE(ALL_PLAYERS,POWER_SPEED,1,0)
MAGIC_AVAILABLE(ALL_PLAYERS,POWER_OBEY,1,0)
MAGIC_AVAILABLE(ALL_PLAYERS,POWER_CALL_TO_ARMS,1,0)
MAGIC_AVAILABLE(ALL_PLAYERS,POWER_CONCEAL,1,0)
MAGIC_AVAILABLE(ALL_PLAYERS,POWER_HOLD_AUDIENCE,1,0)
MAGIC_AVAILABLE(ALL_PLAYERS,POWER_CAVE_IN,1,0)
MAGIC_AVAILABLE(ALL_PLAYERS,POWER_HEAL_CREATURE,1,0)
MAGIC_AVAILABLE(ALL_PLAYERS,POWER_LIGHTNING,1,0)
MAGIC_AVAILABLE(ALL_PLAYERS,POWER_PROTECT,1,0)
MAGIC_AVAILABLE(ALL_PLAYERS,POWER_CHICKEN,1,0)
MAGIC_AVAILABLE(ALL_PLAYERS,POWER_DISEASE,1,0)
MAGIC_AVAILABLE(ALL_PLAYERS,POWER_ARMAGEDDON,1,0)
MAGIC_AVAILABLE(ALL_PLAYERS,POWER_DESTROY_WALLS,1,0)

TRAP_AVAILABLE(ALL_PLAYERS,ALARM,1,0)
TRAP_AVAILABLE(ALL_PLAYERS,POISON_GAS,1,0)
TRAP_AVAILABLE(ALL_PLAYERS,LIGHTNING,1,0)
TRAP_AVAILABLE(ALL_PLAYERS,LAVA,1,0)
TRAP_AVAILABLE(ALL_PLAYERS,BOULDER,1,0)
TRAP_AVAILABLE(ALL_PLAYERS,WORD_OF_POWER,1,0)

DOOR_AVAILABLE(ALL_PLAYERS,WOOD,1,0)
DOOR_AVAILABLE(ALL_PLAYERS,BRACED,1,0)
DOOR_AVAILABLE(ALL_PLAYERS,STEEL,1,0)
DOOR_AVAILABLE(ALL_PLAYERS,MAGIC,1,0)

CREATE_PARTY(ADVENTURE_A)
	ADD_TO_PARTY(ADVENTURE_A,THIEF,2,200,STEAL_GOLD,500)
	ADD_TO_PARTY(ADVENTURE_A,THIEF,2,200,STEAL_GOLD,500)
	ADD_TO_PARTY(ADVENTURE_A,ARCHER,2,200,STEAL_GOLD,500)
	ADD_TO_PARTY(ADVENTURE_A,ARCHER,2,200,STEAL_GOLD,500)
	ADD_TO_PARTY(ADVENTURE_A,DWARFA,2,200,STEAL_GOLD,500)
	ADD_TO_PARTY(ADVENTURE_A,DWARFA,2,200,STEAL_GOLD,500)
	
CREATE_PARTY(ADVENTURE_B)
	ADD_TO_PARTY(ADVENTURE_B,THIEF,4,200,STEAL_GOLD,500)
	ADD_TO_PARTY(ADVENTURE_B,THIEF,4,200,STEAL_GOLD,500)
	ADD_TO_PARTY(ADVENTURE_B,ARCHER,4,200,STEAL_GOLD,500)
	ADD_TO_PARTY(ADVENTURE_B,ARCHER,4,200,STEAL_GOLD,500)
	ADD_TO_PARTY(ADVENTURE_B,DWARFA,4,200,STEAL_GOLD,500)
	ADD_TO_PARTY(ADVENTURE_B,WIZARD,4,200,STEAL_GOLD,500)
	
CREATE_PARTY(ADVENTURE_C)
	ADD_TO_PARTY(ADVENTURE_C,BARBARIAN,6,200,STEAL_GOLD,500)
	ADD_TO_PARTY(ADVENTURE_C,ARCHER,6,200,STEAL_GOLD,500)
	ADD_TO_PARTY(ADVENTURE_C,MONK,6,200,STEAL_GOLD,500)
	ADD_TO_PARTY(ADVENTURE_C,SAMURAI,6,200,STEAL_GOLD,500)
	ADD_TO_PARTY(ADVENTURE_C,WIZARD,6,200,STEAL_GOLD,500)
	ADD_TO_PARTY(ADVENTURE_C,WITCH,6,200,STEAL_GOLD,500)
	
CREATE_PARTY(ADVENTURE_D)
	ADD_TO_PARTY(ADVENTURE_D,SAMURAI,8,200,STEAL_GOLD,500)
	ADD_TO_PARTY(ADVENTURE_D,ARCHER,8,200,STEAL_GOLD,500)
	ADD_TO_PARTY(ADVENTURE_D,WITCH,8,200,STEAL_GOLD,500)
	ADD_TO_PARTY(ADVENTURE_D,BARBARIAN,8,200,STEAL_GOLD,500)
	ADD_TO_PARTY(ADVENTURE_D,MONK,8,200,STEAL_GOLD,500)
	ADD_TO_PARTY(ADVENTURE_D,GIANT,8,200,STEAL_GOLD,500)
	
CREATE_PARTY(ELITE)
	ADD_TO_PARTY(ELITE,SAMURAI,8,200,ATTACK_ENEMIES,500)
	ADD_TO_PARTY(ELITE,SAMURAI,8,200,ATTACK_ENEMIES,500)
	ADD_TO_PARTY(ELITE,SAMURAI,8,200,ATTACK_ENEMIES,500)
	ADD_TO_PARTY(ELITE,ARCHER,8,200,ATTACK_ENEMIES,500)
	ADD_TO_PARTY(ELITE,ARCHER,8,200,ATTACK_ENEMIES,500)
	ADD_TO_PARTY(ELITE,WIZARD,10,200,ATTACK_ENEMIES,500)
	
CREATE_PARTY(LANDLORD)
	ADD_TO_PARTY(LANDLORD,DRUID,8,200,ATTACK_ENEMIES,500)
	ADD_TO_PARTY(LANDLORD,WITCH,8,200,ATTACK_ENEMIES,500)
	ADD_TO_PARTY(LANDLORD,BARBARIAN,8,200,DEFEND_PARTY,500)
	ADD_TO_PARTY(LANDLORD,WIZARD,8,200,DEFEND_PARTY,500)
	ADD_TO_PARTY(LANDLORD,ARCHER,8,200,DEFEND_PARTY,500)
	ADD_TO_PARTY(LANDLORD,KNIGHT,10,2000,ATTACK_ENEMIES,500)
	
CREATE_PARTY(AVATAR)
	ADD_TO_PARTY(AVATAR,TIME_MAGE,10,200,DEFEND_PARTY,500)
	ADD_TO_PARTY(AVATAR,TIME_MAGE,10,200,DEFEND_PARTY,500)
	ADD_TO_PARTY(AVATAR,DRUID,10,200,DEFEND_PARTY,500)
	ADD_TO_PARTY(AVATAR,DRUID,10,200,DEFEND_PARTY,500)
	ADD_TO_PARTY(AVATAR,KNIGHT,10,200,DEFEND_PARTY,500)
	ADD_TO_PARTY(AVATAR,KNIGHT,10,200,DEFEND_PARTY,500)
	ADD_TO_PARTY(AVATAR,KNIGHT,10,200,DEFEND_PARTY,500)
	ADD_TO_PARTY(AVATAR,KNIGHT,10,200,DEFEND_PARTY,500)
	ADD_TO_PARTY(AVATAR,AVATAR,10,2000,ATTACK_ENEMIES,500)
	
	QUICK_OBJECTIVE(1,"Welcome to this realm, my Lord. It's nothing special, just a remote area of the Kingdom. It seems to have a lot of gold, and the heroes have a long way to arrive here. ",PLAYER0)
ENDIF

REM check for entrance	
IF(PLAYER0,ENTRANCE > 0)
	SET_FLAG(PLAYER0,FLAG0,1)
	QUICK_INFORMATION(1,"You have claimed an entrance. Usually, this is the moment when the Humans will notice our presence. But it will take a while for them, to reach out for heroes.  ",-1)
ENDIF

REM after claiming the portal the play is given some time bevor the first adventureres arrive.
IF(PLAYER0,FLAG0 >= 1)
	SET_TIMER(PLAYER0,TIMER0)
		IF(PLAYER0,TIMER0 >= 7000)
		SET_FLAG(PLAYER_GOOD,FLAG0,1)
	ENDIF
ENDIF

REM First adventurer party arrives
IF(PLAYER_GOOD,FLAG0 >= 1)
	ADD_TUNNELLER_PARTY_TO_LEVEL(PLAYER_GOOD,ADVENTURE_A,-1,DUNGEON,0,2,500)
	SET_TIMER(PLAYER0,TIMER1)
	QUICK_INFORMATION(2,"The first heroes have arrived, let's make sure they get a warm welcome.",-1)
	TUTORIAL_FLASH_BUTTON(37,-1)
ENDIF

REM Second adventurer party arrives
IF(PLAYER0,TIMER1 > 6000)
	ADD_TUNNELLER_PARTY_TO_LEVEL(PLAYER_GOOD,ADVENTURE_B,-1,DUNGEON,0,4,500)
	QUICK_INFORMATION(3,"A stronger Party of self-declared heroes came.",-1)
	SET_TIMER(PLAYER0,TIMER2)
ENDIF

REM Third adventurer party arrives
IF(PLAYER0,TIMER2 > 6000)
	ADD_TUNNELLER_PARTY_TO_LEVEL(PLAYER_GOOD,ADVENTURE_C,-2,DUNGEON,0,6,500)
	QUICK_INFORMATION(4,"Another party entered the underground. They seem better equipped and trained.",-1)
	SET_TIMER(PLAYER0,TIMER3)
ENDIF

REM Forth Party arrives
IF(PLAYER0,TIMER3 > 6000)
	ADD_TUNNELLER_PARTY_TO_LEVEL(PLAYER_GOOD,ADVENTURE_D,-1,DUNGEON,0,8,500)
	QUICK_INFORMATION(5,"A group of heroes famous for their strength and loyalty came to challenge our monsters.",-1)
	SET_TIMER(PLAYER_GOOD,TIMER4)
ENDIF

REM The Elite arrives, after the Forth party
IF(PLAYER0,TIMER4 > 8000)
	ADD_TUNNELLER_PARTY_TO_LEVEL(PLAYER_GOOD,ELITE,-2,DUNGEON,0,9,500)
	QUICK_INFORMATION(17,"You have successfully defeatet all nosy adventures, but they have already sent for help. The troops of the nearest garrison will soon be here.",PLAYER0)
	SET_TIMER(PLAYER1,TIMER0)
ENDIF

REM Lord of the Land arrives, after all other heros are dead
IF(PLAYER1,TIMER0 > 1000)
	IF_CONTROLS(PLAYER_GOOD,TOTAL_CREATURES <= 0)
		ADD_TUNNELLER_PARTY_TO_LEVEL(PLAYER_GOOD,LANDLORD,-1,DUNGEON,0,10,500)
		QUICK_INFORMATION(18,"The garrison's henchmen lay down to your feed, but the villagers reached out to the Lord of the Land for help. He is here to challenge you.",4)
		SET_TIMER(PLAYER1,TIMER1)
	ENDIF
ENDIF

REM Check if the Landlord is dead
IF(PLAYER1,TIMER1 > 1000)
	IF_CONTROLS(PLAYER_GOOD,TOTAL_CREATURES <= 0)
		DISPLAY_OBJECTIVE(40,PLAYER0)
		QUICK_INFORMATION(19,"The Lord is utterly defeated .. But there are rumors that a new hero has arisen from the fires .. Maybe we should leave as long as we still can.",4)
		SET_TIMER(PLAYER1,TIMER2)
	ENDIF
ENDIF

REM send Avatar
IF(PLAYER1,TIMER2 > 500)
	IF_CONTROLS(PLAYER_GOOD,TOTAL_CREATURES <= 0)
		ADD_TUNNELLER_PARTY_TO_LEVEL(PLAYER_GOOD,AVATAR,-2,DUNGEON,0,10,500)
		QUICK_INFORMATION(20,"The legendary Hero is here .. if you plan to face him that's fine .. but I better run. ",8)
		WIN_GAME
	ENDIF
ENDIF