LEVEL_VERSION(1)
SET_GENERATE_SPEED(400)
START_MONEY(ALL_PLAYERS,2500)
MAX_CREATURES(ALL_PLAYERS,15)

ADD_CREATURE_TO_POOL(FLY,5)
ADD_CREATURE_TO_POOL(BUG,5)
ADD_CREATURE_TO_POOL(DEMONSPAWN,10)
ADD_CREATURE_TO_POOL(TROLL,20)
ADD_CREATURE_TO_POOL(SPIDER,5)
ADD_CREATURE_TO_POOL(HELL_HOUND,10)
ADD_CREATURE_TO_POOL(BILE_DEMON,5)
ADD_CREATURE_TO_POOL(DRAGON,5)

CREATURE_AVAILABLE(ALL_PLAYERS,FLY,1,0)
CREATURE_AVAILABLE(ALL_PLAYERS,BUG,1,0)
CREATURE_AVAILABLE(ALL_PLAYERS,DEMONSPAWN,1,0)
CREATURE_AVAILABLE(ALL_PLAYERS,SPIDER,1,0)
CREATURE_AVAILABLE(ALL_PLAYERS,HELL_HOUND,1,0)
CREATURE_AVAILABLE(ALL_PLAYERS,BILE_DEMON,1,0)
CREATURE_AVAILABLE(ALL_PLAYERS,DRAGON,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,BRIDGE,1,0)
ROOM_AVAILABLE(ALL_PLAYERS,GUARD_POST,1,0)
ROOM_AVAILABLE(ALL_PLAYERS,WORKSHOP,1,0)
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,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_HOLD_AUDIENCE,1,0)
MAGIC_AVAILABLE(ALL_PLAYERS,POWER_PROTECT,1,0)


TRAP_AVAILABLE(ALL_PLAYERS,POISON_GAS,1,0)
TRAP_AVAILABLE(ALL_PLAYERS,WORD_OF_POWER,1,0)

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


QUICK_OBJECTIVE(1," Swamp is already yours, Keeper. But you still deserve a better Dungeon, better lands. Vanish people from this desert, take all the water this kingdom has to you. ",PLAYER0)

QUICK_INFORMATION(1 "If you want to take this land faster,you need to use right sacrifices into temple. ", PLAYER0)

rem

CREATE_PARTY(ONE)
	ADD_TO_PARTY(ONE,THIEF,2,300,ATTACK_ENEMIES,0)
	ADD_TO_PARTY(ONE,THIEF,2,300,ATTACK_ENEMIES,0)
	ADD_TO_PARTY(ONE,THIEF,2,300,ATTACK_ENEMIES,0)
	ADD_TO_PARTY(ONE,ARCHER,4,400,ATTACK_ENEMIES,0)

CREATE_PARTY(TWO)
	ADD_TO_PARTY(TWO,ARCHER,3,400,ATTACK_ENEMIES,0)
	ADD_TO_PARTY(TWO,ARCHER,3,400,ATTACK_ENEMIES,0)
	ADD_TO_PARTY(TWO,ARCHER,3,400,ATTACK_ENEMIES,0)
	ADD_TO_PARTY(TWO,BARBARIAN,4,500,ATTACK_ENEMIES,0)

CREATE_PARTY(THREE)
	ADD_TO_PARTY(THREE,DWARFA,4,300,ATTACK_ROOMS,0)
	ADD_TO_PARTY(THREE,DWARFA,4,300,ATTACK_ROOMS,0)
	ADD_TO_PARTY(THREE,DWARFA,4,300,ATTACK_ROOMS,0)
	ADD_TO_PARTY(THREE,DWARFA,4,300,ATTACK_ROOMS,0)
	ADD_TO_PARTY(THREE,DWARFA,4,300,ATTACK_ROOMS,0)

CREATE_PARTY(FOUR)
	ADD_TO_PARTY(FOUR,WITCH,5,750,STEAL_SPELLS,0)
	ADD_TO_PARTY(FOUR,WITCH,5,750,STEAL_SPELLS,0)
	ADD_TO_PARTY(FOUR,WITCH,5,750,STEAL_SPELLS,0)
	ADD_TO_PARTY(FOUR,THIEF,5,500,STEAL_GOLD,0)

CREATE_PARTY(FIVE)
	ADD_TO_PARTY(FIVE,BARBARIAN,5,1000,DEFEND_PARTY,0)
	ADD_TO_PARTY(FIVE,FAIRY,5,1000,STEAL_SPELLS,0)
	ADD_TO_PARTY(FIVE,BARBARIAN,5,1000,DEFEND_PARTY,0)
	ADD_TO_PARTY(FIVE,FAIRY,5,1000,STEAL_SPELLS,0)
	ADD_TO_PARTY(FIVE,BARBARIAN,5,1000,DEFEND_PARTY,0)
	ADD_TO_PARTY(FIVE,FAIRY,7,1000,STEAL_SPELLS,0)

CREATE_PARTY(SIX)
	ADD_TO_PARTY(SIX,ARCHER,5,1250,ATTACK_ENEMIES,0)
	ADD_TO_PARTY(SIX,ARCHER,5,1250,ATTACK_ENEMIES,0)
	ADD_TO_PARTY(SIX,ARCHER,5,1250,ATTACK_ENEMIES,0)
	ADD_TO_PARTY(SIX,ARCHER,5,1250,ATTACK_ENEMIES,0)

CREATE_PARTY(SEVEN)
	ADD_TO_PARTY(SEVEN,BARBARIAN,7,2000,ATTACK_ENEMIES,0)
	ADD_TO_PARTY(SEVEN,BARBARIAN,7,2000,ATTACK_ENEMIES,0)
	ADD_TO_PARTY(SEVEN,BARBARIAN,7,2000,ATTACK_ENEMIES,0)

CREATE_PARTY(TROOPA)
	ADD_TO_PARTY(TROOPA,ARCHER,3,200,ATTACK_ENEMIES,0)
	ADD_TO_PARTY(TROOPA,ARCHER,3,200,ATTACK_ENEMIES,0)
	ADD_TO_PARTY(TROOPA,ARCHER,3,200,ATTACK_ENEMIES,0)
	ADD_TO_PARTY(TROOPA,ARCHER,3,200,ATTACK_ENEMIES,0)
	ADD_TO_PARTY(TROOPA,ARCHER,3,200,ATTACK_ENEMIES,0)

CREATE_PARTY(TROOPB)
	ADD_TO_PARTY(TROOPB,THIEF,4,300,ATTACK_ENEMIES,0)
	ADD_TO_PARTY(TROOPB,THIEF,4,300,ATTACK_ENEMIES,0)
	ADD_TO_PARTY(TROOPB,THIEF,4,300,ATTACK_ENEMIES,0)
	ADD_TO_PARTY(TROOPB,THIEF,4,300,ATTACK_ENEMIES,0)
	ADD_TO_PARTY(TROOPB,ARCHER,4,300,ATTACK_ENEMIES,0)
	ADD_TO_PARTY(TROOPB,ARCHER,4,300,ATTACK_ENEMIES,0)

CREATE_PARTY(CASTERS)
	ADD_TO_PARTY(CASTERS,WIZARD,4,500,ATTACK_ENEMIES,0)
	ADD_TO_PARTY(CASTERS,WIZARD,4,500,ATTACK_ENEMIES,0)
	ADD_TO_PARTY(CASTERS,WIZARD,4,500,ATTACK_ENEMIES,0)
	ADD_TO_PARTY(CASTERS,WITCH,4,500,ATTACK_ENEMIES,0)
	ADD_TO_PARTY(CASTERS,WITCH,4,500,ATTACK_ENEMIES,0)
	ADD_TO_PARTY(CASTERS,WITCH,4,500,ATTACK_ENEMIES,0)

CREATE_PARTY(BARBIES)
	ADD_TO_PARTY(BARBIES,BARBARIAN,5,750,ATTACK_ENEMIES,0)
	ADD_TO_PARTY(BARBIES,BARBARIAN,5,750,ATTACK_ENEMIES,0)
	ADD_TO_PARTY(BARBIES,BARBARIAN,5,750,ATTACK_ENEMIES,0)
	ADD_TO_PARTY(BARBIES,BARBARIAN,5,750,ATTACK_ENEMIES,0)
	ADD_TO_PARTY(BARBIES,BARBARIAN,5,750,ATTACK_ENEMIES,0)

CREATE_PARTY(GIANTS)
	ADD_TO_PARTY(GIANTS,GIANT,8,1750,ATTACK_ENEMIES,0)
	ADD_TO_PARTY(GIANTS,GIANT,8,1750,ATTACK_ENEMIES,0)
	ADD_TO_PARTY(GIANTS,GIANT,8,1750,ATTACK_ENEMIES,0)
	ADD_TO_PARTY(GIANTS,GIANT,8,1750,ATTACK_ENEMIES,0)
	ADD_TO_PARTY(GIANTS,GIANT,8,1750,ATTACK_ENEMIES,0)

CREATE_PARTY(FAIRIES)
	ADD_TO_PARTY(FAIRIES,FAIRY,8,1750,ATTACK_ENEMIES,0)
	ADD_TO_PARTY(FAIRIES,FAIRY,8,1750,ATTACK_ENEMIES,0)
	ADD_TO_PARTY(FAIRIES,FAIRY,8,1750,ATTACK_ENEMIES,0)
	ADD_TO_PARTY(FAIRIES,FAIRY,8,1750,ATTACK_ENEMIES,0)
	ADD_TO_PARTY(FAIRIES,FAIRY,8,1750,ATTACK_ENEMIES,0)
	ADD_TO_PARTY(FAIRIES,FAIRY,8,1750,ATTACK_ENEMIES,0)

CREATE_PARTY(LORDGUARD)
	ADD_TO_PARTY(LORDGUARD,BARBARIAN,5,1000,DEFEND_PARTY,0)
	ADD_TO_PARTY(LORDGUARD,GIANT,7,1500,DEFEND_PARTY,0)
	ADD_TO_PARTY(LORDGUARD,BARBARIAN,5,1000,DEFEND_PARTY,0)
	ADD_TO_PARTY(LORDGUARD,GIANT,7,1500,DEFEND_PARTY,0)
	ADD_TO_PARTY(LORDGUARD,FAIRY,7,1500,DEFEND_PARTY,0)
	ADD_TO_PARTY(LORDGUARD,FAIRY,7,1500,DEFEND_PARTY,0)

CREATE_PARTY(LANDLORD)
	ADD_TO_PARTY(LANDLORD,AVATAR,10,1200,DEFEND_PARTY,0)
	ADD_TO_PARTY(LANDLORD,FAIRY,10,1200,DEFEND_PARTY,0)
	ADD_TO_PARTY(LANDLORD,FAIRY,10,1200,DEFEND_PARTY,0)
	ADD_TO_PARTY(LANDLORD,FAIRY,10,1200,DEFEND_PARTY,0)
	ADD_TO_PARTY(LANDLORD,FAIRY,10,1200,DEFEND_PARTY,0)
	ADD_TO_PARTY(LANDLORD,FAIRY,10,1200,DEFEND_PARTY,0)
	ADD_TO_PARTY(LANDLORD,KNIGHT,10,1200,DEFEND_PARTY,0)

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




REM Let's make a chain of events related to gold digging
IF(PLAYER0,TOTAL_GOLD_MINED >= 12000)
	REM "trouble epta."
ENDIF



REM Less important action points, away from enemy dungeon

IF_ACTION_POINT(6,PLAYER0)
	ADD_CREATURE_TO_LEVEL(PLAYER_GOOD,ARCHER,6,6,6,500)
ENDIF

IF_ACTION_POINT(7,PLAYER0)
	ADD_CREATURE_TO_LEVEL(PLAYER_GOOD,THIEF,7,6,8,500)
ENDIF

IF_ACTION_POINT(8,PLAYER0)
	ADD_CREATURE_TO_LEVEL(PLAYER_GOOD,GIANT,8,6,8,500)
ENDIF

REM Action point away from enemy dungeon, but important, central one
IF_ACTION_POINT(2,PLAYER0)
	ADD_PARTY_TO_LEVEL(PLAYER_GOOD,SIX,-3,1)
	ADD_PARTY_TO_LEVEL(PLAYER_GOOD,SEVEN,-4,1)
	ADD_CREATURE_TO_LEVEL(PLAYER_GOOD,ARCHER,2,4,4,500)
	ADD_CREATURE_TO_LEVEL(PLAYER_GOOD,ARCHER,2,4,6,500)
ENDIF

REM Action point at entrance to hero fortress
IF_ACTION_POINT(1,PLAYER0)
	REM "The heroes of this realm have all the water. We need it more."
	QUICK_INFORMATION(2, " The heroes of this realm have all the water. We need it more.", PLAYER0)
	REM Disable the gold mining events chain attack
	SET_FLAG(PLAYER0,FLAG4,1)
	REM Trigger the Lord of the Land and allow to win the game
	ADD_PARTY_TO_LEVEL(PLAYER_GOOD,LORDGUARD,5,1)
	ADD_PARTY_TO_LEVEL(PLAYER_GOOD,LANDLORD,PLAYER_GOOD,1)
	ADD_CREATURE_TO_LEVEL(PLAYER_GOOD,ARCHER,1,6,6,500)
	SET_TIMER(PLAYER_GOOD,TIMER0)
	REM Start continuous spawning of party TWO
	SET_TIMER(PLAYER0,TIMER2)
	SET_FLAG(PLAYER0,FLAG2,2)
ENDIF

REM Continuous spawning of party TWO
IF(PLAYER0,FLAG2 == 2)
	IF(PLAYER0,TIMER2 >= 2500)
		REM Spawn archers only to some limit
	    IF(PLAYER_GOOD,ARCHER < 32)
			NEXT_COMMAND_REUSABLE
			ADD_PARTY_TO_LEVEL(PLAYER_GOOD,TWO,PLAYER_GOOD,1)
		ENDIF
		NEXT_COMMAND_REUSABLE
		SET_TIMER(PLAYER0,TIMER2)
	ENDIF
ENDIF

REM Allow the player to take advantage of killing Lord of the Land quickly
IF(PLAYER_GOOD,TIMER0 >= 200)
	IF_CONTROLS(PLAYER_GOOD,KNIGHT <= 0)
IF_CONTROLS(PLAYER_GOOD,AVATAR <= 0)
		IF(PLAYER_GOOD,DUNGEON_DESTROYED == 1)
			REM Stop continuous spawning of party TWO (it will stop anyway with WIN_GAME)
			SET_FLAG(PLAYER0,FLAG2,3)
			REM "Another realm falls under your evil reign. Another cloud of misery and despair gathers. Lovely."
			QUICK_OBJECTIVE(2, " Finally we can drink a pure water. What a taste!", PLAYER0)

			WIN_GAME
		ENDIF
	ENDIF
ENDIF

REM If the player is too slow in killing Lord of the Land, bring some reinforcements
REM This isn't that unusual - if the player is torturing the lord, we will most likely get here
IF(PLAYER_GOOD,TIMER0 >= 10000)
	REM "Enemy reinforcements have arrived. So what? Let's hear it for more killing."
	ADD_PARTY_TO_LEVEL(PLAYER_GOOD,THREE,PLAYER_GOOD,1)
	ADD_PARTY_TO_LEVEL(PLAYER_GOOD,FOUR,PLAYER_GOOD,1)
ENDIF

REM Action points triggered if the player went left instead of through central entrance
REM (or rammed through entrance and moved to the left, but that's unlikely).
REM Make this route easier, but still challenging.


IF(PLAYER0,TIMER4 >= 200)
	ADD_PARTY_TO_LEVEL(PLAYER_GOOD,SEVEN,4,1)
ENDIF

IF_ACTION_POINT(5,PLAYER0)
	ADD_CREATURE_TO_LEVEL(PLAYER_GOOD,WIZARD,5,7,8,500)
ENDIF

IF_ACTION_POINT(11,PLAYER0)
	ADD_CREATURE_TO_LEVEL(PLAYER_GOOD,WIZARD,11,7,8,500)
ENDIF

REM Action points triggered if the player went right where there's no way in to hero fortress.
REM The player most likely does tourism; he can't enter the fortress from that side because
REM the DESTROY_WALLS is inside the fortress and he can't research it. So don't spawn too much.

IF_ACTION_POINT(9,PLAYER0)
	ADD_CREATURE_TO_LEVEL(PLAYER_GOOD,BARBARIAN,9,8,7,500)
ENDIF

IF_ACTION_POINT(10,PLAYER0)
	ADD_CREATURE_TO_LEVEL(PLAYER_GOOD,ARCHER,10,4,4,500)
	ADD_CREATURE_TO_LEVEL(PLAYER_GOOD,ARCHER,10,4,6,500)
ENDIF

IF(PLAYER_GOOD,TOTAL_CREATURES == 0)
  
    WIN_GAME
  ENDIF

