LEVEL_VERSION(1)
SET_GENERATE_SPEED(600)
START_MONEY(PLAYER0,22500)
START_MONEY(PLAYER2,999999)
MAX_CREATURES(PLAYER2,40)
MAX_CREATURES(PLAYER0,15)

COMPUTER_PLAYER(PLAYER2,2)

SET_PLAYER_COLOR(PLAYER0,GREEN)
SET_PLAYER_COLOR(PLAYER2,RED)

SET_GAME_RULE(ImpWorkExperience,250)
SET_CREATURE_PROPERTY(KNIGHT,LORD,0)
SET_CREATURE_PROPERTY(AVATAR,LORD,1)
SET_GAME_RULE(PrisonSkeletonChance,0)
SET_GAME_RULE(StunEvilEnemyChance,0)
SET_GAME_RULE(StunGoodEnemyChance,0)
SET_GAME_RULE(BodiesForVampire,10)

QUICK_OBJECTIVE(3,"Welcome to this Long lost Realm Keeper. This Evil Industrialised Keeper destroys the whole Nature with all its Beauty and Glory. Move West and find a way to Ally the Angered Heroes to give this Realm back its Peace...")


ADD_CREATURE_TO_POOL(TROLL,25)
ADD_CREATURE_TO_POOL(ORC,25)
ADD_CREATURE_TO_POOL(BILE_DEMON,25)
ADD_CREATURE_TO_POOL(DARK_MISTRESS,25)
ADD_CREATURE_TO_POOL(DRUID,25)

CREATURE_AVAILABLE(PLAYER2,TROLL,1,0)
CREATURE_AVAILABLE(PLAYER2,ORC,1,0)
CREATURE_AVAILABLE(PLAYER2,BILE_DEMON,1,0)
CREATURE_AVAILABLE(PLAYER2,DARK_MISTRESS,1,0)
CREATURE_AVAILABLE(PLAYER0,DRUID,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(PLAYER0,RESEARCH,1,1)

ROOM_AVAILABLE(ALL_PLAYERS,TEMPLE,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(PLAYER0,POWER_SPEED,1,0)
MAGIC_AVAILABLE(PLAYER0,POWER_OBEY,1,0)
MAGIC_AVAILABLE(PLAYER0,POWER_CALL_TO_ARMS,1,0)
MAGIC_AVAILABLE(PLAYER0,POWER_CONCEAL,1,0)
MAGIC_AVAILABLE(PLAYER0,POWER_HOLD_AUDIENCE,1,0)
MAGIC_AVAILABLE(PLAYER0,POWER_HEAL_CREATURE,1,0)
MAGIC_AVAILABLE(PLAYER0,POWER_PROTECT,1,0)
MAGIC_AVAILABLE(PLAYER2,POWER_SPEED,1,1)
MAGIC_AVAILABLE(PLAYER2,POWER_OBEY,1,1)
MAGIC_AVAILABLE(PLAYER2,POWER_CALL_TO_ARMS,1,1)
MAGIC_AVAILABLE(PLAYER2,POWER_CONCEAL,1,1)
MAGIC_AVAILABLE(PLAYER2,POWER_HOLD_AUDIENCE,1,1)
MAGIC_AVAILABLE(PLAYER2,POWER_HEAL_CREATURE,1,1)
MAGIC_AVAILABLE(PLAYER2,POWER_PROTECT,1,1)

TRAP_AVAILABLE(ALL_PLAYERS,LIGHTNING,1,0)
TRAP_AVAILABLE(ALL_PLAYERS,BOULDER,1,0)
TRAP_AVAILABLE(ALL_PLAYERS,WORD_OF_POWER,1,0)

DOOR_AVAILABLE(ALL_PLAYERS,MAGIC,1,0)


CREATE_PARTY(STRENGTHTEST)
	ADD_TO_PARTY(STRENGTHTEST,ARCHER,8,250,ATTACK_ENEMIES,0)
	ADD_TO_PARTY(STRENGTHTEST,FAIRY,9,250,ATTACK_ENEMIES,0)
	ADD_TO_PARTY(STRENGTHTEST,KNIGHT,8,250,ATTACK_ENEMIES,0)
	ADD_TO_PARTY(STRENGTHTEST,KNIGHT,8,250,ATTACK_ENEMIES,0)
	ADD_TO_PARTY(STRENGTHTEST,BARBARIAN,9,250,ATTACK_ENEMIES,0)
	ADD_TO_PARTY(STRENGTHTEST,BARBARIAN,9,250,ATTACK_ENEMIES,0)
	ADD_TO_PARTY(STRENGTHTEST,SAMURAI,9,250,ATTACK_ENEMIES,0)
	ADD_TO_PARTY(STRENGTHTEST,SAMURAI,9,250,ATTACK_ENEMIES,0)
	ADD_TO_PARTY(STRENGTHTEST,WITCH,10,250,ATTACK_ENEMIES,0)


CREATE_PARTY(ALLY1)
	ADD_TO_PARTY(ALLY1,AVATAR,10,250,ATTACK_DUNGEON_HEART,0)
	ADD_TO_PARTY(ALLY1,FAIRY,10,250,ATTACK_DUNGEON_HEART,0)
	ADD_TO_PARTY(ALLY1,FAIRY,10,250,ATTACK_DUNGEON_HEART,0)
	ADD_TO_PARTY(ALLY1,KNIGHT,10,250,ATTACK_DUNGEON_HEART,0)
	ADD_TO_PARTY(ALLY1,KNIGHT,10,250,ATTACK_DUNGEON_HEART,0)
	ADD_TO_PARTY(ALLY1,BARBARIAN,10,250,ATTACK_DUNGEON_HEART,0)
	ADD_TO_PARTY(ALLY1,BARBARIAN,10,250,ATTACK_DUNGEON_HEART,0)
	ADD_TO_PARTY(ALLY1,SAMURAI,10,250,ATTACK_DUNGEON_HEART,0)
	ADD_TO_PARTY(ALLY1,SAMURAI,10,250,ATTACK_DUNGEON_HEART,0)
	ADD_TO_PARTY(ALLY1,WITCH,10,250,ATTACK_DUNGEON_HEART,0)
	ADD_TO_PARTY(ALLY1,WITCH,10,250,ATTACK_DUNGEON_HEART,0)
	ADD_TO_PARTY(ALLY1,ARCHER,10,250,ATTACK_DUNGEON_HEART,0)
	ADD_TO_PARTY(ALLY1,ARCHER,10,250,ATTACK_DUNGEON_HEART,0)



CREATE_PARTY(EXPANSION1)
	ADD_TO_PARTY(EXPANSION1,BILE_DEMON,2,0,ATTACK_DUNGEON_HEART,0)
	ADD_TO_PARTY(EXPANSION1,BILE_DEMON,2,0,ATTACK_DUNGEON_HEART,0)
	ADD_TO_PARTY(EXPANSION1,ORC,3,0,ATTACK_DUNGEON_HEART,0)
	ADD_TO_PARTY(EXPANSION1,ORC,3,0,ATTACK_DUNGEON_HEART,0)

CREATE_PARTY(EXPANSION2)
	ADD_TO_PARTY(EXPANSION2,BILE_DEMON,4,0,ATTACK_DUNGEON_HEART,0)
	ADD_TO_PARTY(EXPANSION2,BILE_DEMON,4,0,ATTACK_DUNGEON_HEART,0)
	ADD_TO_PARTY(EXPANSION2,ORC,5,0,ATTACK_DUNGEON_HEART,0)
	ADD_TO_PARTY(EXPANSION2,ORC,5,0,ATTACK_DUNGEON_HEART,0)
	ADD_TO_PARTY(EXPANSION2,DARK_MISTRESS,5,0,ATTACK_DUNGEON_HEART,0)


CREATE_PARTY(EXPANSION3)
	ADD_TO_PARTY(EXPANSION3,BILE_DEMON,6,0,ATTACK_DUNGEON_HEART,0)
	ADD_TO_PARTY(EXPANSION3,BILE_DEMON,6,0,ATTACK_DUNGEON_HEART,0)
	ADD_TO_PARTY(EXPANSION3,ORC,7,0,ATTACK_DUNGEON_HEART,0)
	ADD_TO_PARTY(EXPANSION3,ORC,7,0,ATTACK_DUNGEON_HEART,0)
	ADD_TO_PARTY(EXPANSION3,DARK_MISTRESS,7,0,ATTACK_DUNGEON_HEART,0)
	ADD_TO_PARTY(EXPANSION3,DARK_MISTRESS,7,0,ATTACK_DUNGEON_HEART,0)

CREATE_PARTY(EXPANSION4)
	ADD_TO_PARTY(EXPANSION4,BILE_DEMON,9,0,ATTACK_DUNGEON_HEART,0)
	ADD_TO_PARTY(EXPANSION4,BILE_DEMON,9,0,ATTACK_DUNGEON_HEART,0)
	ADD_TO_PARTY(EXPANSION4,ORC,10,0,ATTACK_DUNGEON_HEART,0)
	ADD_TO_PARTY(EXPANSION4,ORC,10,0,ATTACK_DUNGEON_HEART,0)
	ADD_TO_PARTY(EXPANSION4,DARK_MISTRESS,10,0,ATTACK_DUNGEON_HEART,0)
	ADD_TO_PARTY(EXPANSION4,DARK_MISTRESS,10,0,ATTACK_DUNGEON_HEART,0)

CREATE_PARTY(EXPANSION5)
	ADD_TO_PARTY(EXPANSION5,BILE_DEMON,9,0,ATTACK_DUNGEON_HEART,0)
	ADD_TO_PARTY(EXPANSION5,BILE_DEMON,9,0,ATTACK_DUNGEON_HEART,0)
	ADD_TO_PARTY(EXPANSION5,ORC,10,0,ATTACK_DUNGEON_HEART,0)
	ADD_TO_PARTY(EXPANSION5,ORC,10,0,ATTACK_DUNGEON_HEART,0)
	ADD_TO_PARTY(EXPANSION5,DARK_MISTRESS,10,0,ATTACK_DUNGEON_HEART,0)
	ADD_TO_PARTY(EXPANSION5,DARK_MISTRESS,10,0,ATTACK_DUNGEON_HEART,0)


IF_CONTROLS(PLAYER2,IMP < 12)
	NEXT_COMMAND_REUSABLE
	MAGIC_AVAILABLE(PLAYER2,POWER_IMP,1,1)
ENDIF

IF_CONTROLS(PLAYER2,IMP >= 12)
	NEXT_COMMAND_REUSABLE
	MAGIC_AVAILABLE(PLAYER2,POWER_IMP,0,0)
ENDIF


IF_CONTROLS(PLAYER0,IMP < 16)
	NEXT_COMMAND_REUSABLE
	MAGIC_AVAILABLE(PLAYER0,POWER_IMP,1,1)
ENDIF

IF_CONTROLS(PLAYER0,IMP >= 16)
	NEXT_COMMAND_REUSABLE
	MAGIC_AVAILABLE(PLAYER0,POWER_IMP,0,0)
	QUICK_INFORMATION(7,"Well atleast as long as you have 12 LOL")
	QUICK_INFORMATION(5,"Since this is all about Nature, lets not Overpopulate it ;)... NO MORE IMPS!")
ENDIF

IF(PLAYER0,ENTRANCE >= 1)
	SET_TIMER(PLAYER0,TIMER0)
ENDIF

IF(PLAYER2,FLAG0 == 0)
	IF(PLAYER0,TIMER0 >= 6500)
		ADD_TUNNELLER_PARTY_TO_LEVEL(PLAYER_GOOD,EXPANSION1,20,DUNGEON_HEART,2,2,2500)
		SET_TIMER(PLAYER0,TIMER1)
		QUICK_INFORMATION(6,"It looks like Mr. Industry hired some Mercenaries to Clean up more Space for Expansion...")
	ENDIF

	IF(PLAYER0,TIMER1 >= 7500)
		ADD_TUNNELLER_PARTY_TO_LEVEL(PLAYER_GOOD,EXPANSION2,20,DUNGEON_HEART,2,4,2500)
		SET_TIMER(PLAYER0,TIMER2)
	ENDIF

	IF(PLAYER0,TIMER2 >= 7500)
		ADD_TUNNELLER_PARTY_TO_LEVEL(PLAYER_GOOD,EXPANSION3,20,DUNGEON_HEART,2,6,2500)
		SET_TIMER(PLAYER0,TIMER3)
	ENDIF

	IF(PLAYER0,TIMER3 >= 7500)
		ADD_TUNNELLER_PARTY_TO_LEVEL(PLAYER_GOOD,EXPANSION4,20,DUNGEON_HEART,2,6,2500)
		SET_TIMER(PLAYER0,TIMER4)
	ENDIF

	IF(PLAYER0,TIMER4 >= 7500)
		NEXT_COMMAND_REUSABLE
		ADD_TUNNELLER_PARTY_TO_LEVEL(PLAYER_GOOD,EXPANSION4,20,DUNGEON_HEART,2,6,2500)
		NEXT_COMMAND_REUSABLE
		ADD_PARTY_TO_LEVEL(PLAYER_GOOD,EXPANSION5,20,1)
		NEXT_COMMAND_REUSABLE
		SET_TIMER(PLAYER0,TIMER4)
	ENDIF
ENDIF

IF_ACTION_POINT(1,PLAYER0)
	QUICK_INFORMATION(4,"You did find the entrance to the Heroes. The other Keeper must have noticed it since now he wont send anymore Mercenaries to Expand his Industry...")
	SET_FLAG(PLAYER2,FLAG0,1)
ENDIF

IF(PLAYER_GOOD,HEART_HEALTH <= 29950)
	QUICK_INFORMATION(1,"You proved yourself worthy in Strength. The Heroes joined your Forces to Cleanse this Realm and shared their Wisdom with you. Now it is Time to get Nature back to its former Glory.")
	ALLY_PLAYERS(PLAYER0,PLAYER_GOOD,3)
	ALLY_PLAYERS(PLAYER_GOOD,PLAYER0,3)
	SET_GAME_RULE(AlliesShareVision,1)
	SET_GAME_RULE(AlliesShareDrop,1)
	ROOM_AVAILABLE(PLAYER0,BRIDGE,1,1)
	TUTORIAL_FLASH_BUTTON(18,-1)
	REVEAL_MAP_RECT(PLAYER0,242,95,555,68)
ENDIF


IF_SLAB_TYPE(8,70,PRETTY_PATH)
	ADD_PARTY_TO_LEVEL(PLAYER_GOOD,STRENGTHTEST,2,1)
ENDIF

IF(PLAYER0,BRIDGE >= 1)
	ADD_PARTY_TO_LEVEL(PLAYER_GOOD,ALLY1,2,1)
	ADD_PARTY_TO_LEVEL(PLAYER_GOOD,STRENGTHTEST,2,1)
	SET_MUSIC(7)
	QUICK_INFORMATION(2,"IT IS TIME GO AND GET HIM WITH THE FORCES OF YOUR ALLY!",PLAYER_GOOD)
ENDIF

IF(PLAYER0,ALL_DUNGEONS_DESTROYED == 1)
	WIN_GAME
ENDIF

REM LIGHTNING
SET_TIMER(PLAYER1,TIMER0)
SET_TIMER(PLAYER1,TIMER1)
SET_TIMER(PLAYER1,TIMER2)
SET_TIMER(PLAYER1,TIMER3)
SET_TIMER(PLAYER1,TIMER4)
SET_TIMER(PLAYER1,TIMER5)


IF(PLAYER1,TIMER0 >= 200)
	NEXT_COMMAND_REUSABLE
	USE_POWER_AT_LOCATION(PLAYER0,3,POWER_LIGHTNING,7,1)
	NEXT_COMMAND_REUSABLE
	USE_POWER_AT_LOCATION(PLAYER1,5,POWER_LIGHTNING,7,1)
	NEXT_COMMAND_REUSABLE
	USE_POWER_AT_LOCATION(PLAYER3,8,POWER_LIGHTNING,7,1)
	NEXT_COMMAND_REUSABLE
	USE_POWER_AT_LOCATION(PLAYER2,11,POWER_LIGHTNING,7,1)
	NEXT_COMMAND_REUSABLE
	SET_TIMER(PLAYER1,TIMER0)
ENDIF

IF(PLAYER1,TIMER1 >= 900)
	NEXT_COMMAND_REUSABLE
	USE_POWER_AT_LOCATION(PLAYER1,12,POWER_LIGHTNING,7,1)
	NEXT_COMMAND_REUSABLE
	USE_POWER_AT_LOCATION(PLAYER0,15,POWER_LIGHTNING,7,1)
	NEXT_COMMAND_REUSABLE
	USE_POWER_AT_LOCATION(PLAYER3,17,POWER_LIGHTNING,7,1)
	NEXT_COMMAND_REUSABLE
	SET_TIMER(PLAYER1,TIMER1)
ENDIF

IF(PLAYER1,TIMER2 >= 550)
	NEXT_COMMAND_REUSABLE
	USE_POWER_AT_LOCATION(PLAYER1,18,POWER_LIGHTNING,7,1)
	NEXT_COMMAND_REUSABLE
	USE_POWER_AT_LOCATION(PLAYER0,4,POWER_LIGHTNING,7,1)
	NEXT_COMMAND_REUSABLE
	USE_POWER_AT_LOCATION(PLAYER3,6,POWER_LIGHTNING,7,1)
	NEXT_COMMAND_REUSABLE
	SET_TIMER(PLAYER1,TIMER2)
ENDIF

IF(PLAYER1,TIMER3 >= 700)
	NEXT_COMMAND_REUSABLE
	USE_POWER_AT_LOCATION(PLAYER1,14,POWER_LIGHTNING,7,1)
	NEXT_COMMAND_REUSABLE
	USE_POWER_AT_LOCATION(PLAYER0,7,POWER_LIGHTNING,7,1)
	NEXT_COMMAND_REUSABLE
	USE_POWER_AT_LOCATION(PLAYER3,9,POWER_LIGHTNING,7,1)
	NEXT_COMMAND_REUSABLE
	SET_TIMER(PLAYER1,TIMER3)
ENDIF

IF(PLAYER1,TIMER4 >= 400)
	NEXT_COMMAND_REUSABLE
	USE_POWER_AT_LOCATION(PLAYER1,10,POWER_LIGHTNING,7,1)
	NEXT_COMMAND_REUSABLE
	USE_POWER_AT_LOCATION(PLAYER0,13,POWER_LIGHTNING,7,1)
	NEXT_COMMAND_REUSABLE
	USE_POWER_AT_LOCATION(PLAYER3,16,POWER_LIGHTNING,7,1)
	NEXT_COMMAND_REUSABLE
	USE_POWER_AT_LOCATION(PLAYER2,18,POWER_LIGHTNING,7,1)
	NEXT_COMMAND_REUSABLE
	SET_TIMER(PLAYER1,TIMER4)
ENDIF

IF(PLAYER1,TIMER5 >= 340)
	NEXT_COMMAND_REUSABLE
	USE_POWER_AT_LOCATION(PLAYER1,14,POWER_LIGHTNING,7,1)
	NEXT_COMMAND_REUSABLE
	USE_POWER_AT_LOCATION(PLAYER0,19,POWER_LIGHTNING,7,1)
	NEXT_COMMAND_REUSABLE
	SET_TIMER(PLAYER1,TIMER5)
ENDIF



REM MAX CREATURES

IF_CONTROLS(PLAYER0,VAMPIRE == 1)
	NEXT_COMMAND_REUSABLE
	SET_GAME_RULE(BodiesForVampire,12)
	NEXT_COMMAND_REUSABLE
	MAX_CREATURES(PLAYER0,16)
ENDIF

IF_CONTROLS(PLAYER0,VAMPIRE == 2)
	NEXT_COMMAND_REUSABLE
	SET_GAME_RULE(BodiesForVampire,14)
	NEXT_COMMAND_REUSABLE
	MAX_CREATURES(PLAYER0,17)
ENDIF

IF_CONTROLS(PLAYER0,VAMPIRE == 3)
	NEXT_COMMAND_REUSABLE
	SET_GAME_RULE(BodiesForVampire,16)
	NEXT_COMMAND_REUSABLE
	MAX_CREATURES(PLAYER0,18)
ENDIF

IF_CONTROLS(PLAYER0,VAMPIRE == 4)
	NEXT_COMMAND_REUSABLE
	SET_GAME_RULE(BodiesForVampire,118)
	NEXT_COMMAND_REUSABLE
	MAX_CREATURES(PLAYER0,19)
ENDIF

IF_CONTROLS(PLAYER0,VAMPIRE == 5)
	NEXT_COMMAND_REUSABLE
	SET_GAME_RULE(BodiesForVampire,50)
	NEXT_COMMAND_REUSABLE
	MAX_CREATURES(PLAYER0,20)
ENDIF


IF(PLAYER_GOOD,TOTAL_CREATURES == 0)
	NEXT_COMMAND_REUSABLE
	ADD_PARTY_TO_LEVEL(PLAYER_GOOD,STRENGTHTEST,2,1)
ENDIF

IF(PLAYER_GOOD,AVATAR == 1)
	NEXT_COMMAND_REUSABLE
	SET_TIMER(PLAYER_GOOD,TIMER5)
ENDIF

IF(PLAYER_GOOD,TIMER5 >= 20000)
	NEXT_COMMAND_REUSABLE
	ADD_PARTY_TO_LEVEL(PLAYER_GOOD,ALLY1,2,1)
	NEXT_COMMAND_REUSABLE
	ADD_PARTY_TO_LEVEL(PLAYER_GOOD,STRENGTHTEST,2,1)
	NEXT_COMMAND_REUSABLE
	SET_TIMER(PLAYER_GOOD,TIMER5)
ENDIF