REM            Script for Level 29 - Mystica
REM
REM ********************************************
REM Generated using Dungeon Scripter V0.84.
REM Created by Stubbjax.
REM ********************************************

REM ************** SETUP - GENERAL *************

SET_GENERATE_SPEED(400)
MAX_CREATURES(PLAYER0,1)
START_MONEY(PLAYER0,500000)

REM ************* SETUP - CREATURES ************

ADD_CREATURE_TO_POOL(DWARFA,20)
ADD_CREATURE_TO_POOL(BARBARIAN,20)
ADD_CREATURE_TO_POOL(GIANT,20)
ADD_CREATURE_TO_POOL(THIEF,10)
ADD_CREATURE_TO_POOL(ARCHER,20)
ADD_CREATURE_TO_POOL(SAMURAI,10)
ADD_CREATURE_TO_POOL(WIZARD,10)
ADD_CREATURE_TO_POOL(FAIRY,20)

CREATURE_AVAILABLE(PLAYER0,DWARFA,1,1)
CREATURE_AVAILABLE(PLAYER0,BARBARIAN,1,1)
CREATURE_AVAILABLE(PLAYER0,GIANT,1,1)
CREATURE_AVAILABLE(PLAYER0,THIEF,1,1)
CREATURE_AVAILABLE(PLAYER0,ARCHER,1,1)
CREATURE_AVAILABLE(PLAYER0,SAMURAI,1,1)
CREATURE_AVAILABLE(PLAYER0,WIZARD,1,1)
CREATURE_AVAILABLE(PLAYER0,FAIRY,1,1)

REM *************** SETUP - ROOMS **************

ROOM_AVAILABLE(PLAYER0,GUARD_POST,1,0)

REM ************** SETUP - SPELLS **************

MAGIC_AVAILABLE(PLAYER0,POWER_SIGHT,1,0)
MAGIC_AVAILABLE(PLAYER0,POWER_SPEED,1,0)
MAGIC_AVAILABLE(PLAYER0,POWER_OBEY,1,1)
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_CAVE_IN,1,0)
MAGIC_AVAILABLE(PLAYER0,POWER_HEAL_CREATURE,1,0)
MAGIC_AVAILABLE(PLAYER0,POWER_PROTECT,1,0)
MAGIC_AVAILABLE(PLAYER0,POWER_DISEASE,1,0)
MAGIC_AVAILABLE(PLAYER0,POWER_DESTROY_WALLS,1,1)

REM *********** SETUP - TRAPS & DOORS **********

DOOR_AVAILABLE(PLAYER0,MAGIC,1,0)
TRAP_AVAILABLE(PLAYER0,POISON_GAS,1,0)
TRAP_AVAILABLE(PLAYER0,LIGHTNING,1,0)

CREATE_PARTY(ONE)
    ADD_TO_PARTY(ONE,FAIRY,4,300,ATTACK_ENEMIES,0)
    ADD_TO_PARTY(ONE,BARBARIAN,5,300,ATTACK_ENEMIES,0)
    ADD_TO_PARTY(ONE,GIANT,4,300,ATTACK_ENEMIES,0)
    ADD_TO_PARTY(ONE,BARBARIAN,5,300,ATTACK_ENEMIES,0)
    ADD_TO_PARTY(ONE,SAMURAI,3,300,ATTACK_ENEMIES,0)

CREATE_PARTY(TWO)
    ADD_TO_PARTY(TWO,FAIRY,6,300,ATTACK_ENEMIES,0)
    ADD_TO_PARTY(TWO,BARBARIAN,3,300,ATTACK_ENEMIES,0)
    ADD_TO_PARTY(TWO,GIANT,4,300,ATTACK_ENEMIES,0)
    ADD_TO_PARTY(TWO,DWARFA,5,300,ATTACK_ENEMIES,0)
    ADD_TO_PARTY(TWO,DWARFA,5,300,ATTACK_ENEMIES,0)

CREATE_PARTY(THREE)
    ADD_TO_PARTY(THREE,FAIRY,6,300,ATTACK_ENEMIES,0)
    ADD_TO_PARTY(THREE,BARBARIAN,3,300,ATTACK_ENEMIES,0)
    ADD_TO_PARTY(THREE,GIANT,4,300,ATTACK_ENEMIES,0)
    ADD_TO_PARTY(THREE,DWARFA,5,300,ATTACK_ENEMIES,0)
    ADD_TO_PARTY(THREE,DWARFA,5,300,ATTACK_ENEMIES,0)

CREATE_PARTY(FOUR)
    ADD_TO_PARTY(FOUR,SAMURAI,6,300,ATTACK_ENEMIES,0)
    ADD_TO_PARTY(FOUR,SAMURAI,6,300,ATTACK_ENEMIES,0)
    ADD_TO_PARTY(FOUR,ARCHER,5,300,ATTACK_ENEMIES,0)
    ADD_TO_PARTY(FOUR,THIEF,4,300,ATTACK_ENEMIES,0)
    ADD_TO_PARTY(FOUR,BARBARIAN,6,300,ATTACK_ENEMIES,0)

CREATE_PARTY(FAIRIES)
    ADD_TO_PARTY(FAIRIES,FAIRY,4,1000,ATTACK_ENEMIES,0)
    ADD_TO_PARTY(FAIRIES,FAIRY,4,1000,ATTACK_ENEMIES,0)
    ADD_TO_PARTY(FAIRIES,FAIRY,4,1000,ATTACK_ENEMIES,0)
    ADD_TO_PARTY(FAIRIES,FAIRY,4,1000,ATTACK_ENEMIES,0)

CREATE_PARTY(FIVE)
    ADD_TO_PARTY(FIVE,SAMURAI,9,500,ATTACK_ENEMIES,0)
    ADD_TO_PARTY(FIVE,SAMURAI,9,500,ATTACK_ENEMIES,0)
    ADD_TO_PARTY(FIVE,ARCHER,8,500,ATTACK_ENEMIES,0)
    ADD_TO_PARTY(FIVE,NARBARIAN,7,500,ATTACK_ENEMIES,0)
    ADD_TO_PARTY(FIVE,BARBARIAN,7,500,ATTACK_ENEMIES,0)

CREATE_PARTY(SIX)
    ADD_TO_PARTY(SIX,BARBARIAN,8,500,ATTACK_ENEMIES,0)
    ADD_TO_PARTY(SIX,BARBARIAN,8,500,ATTACK_ENEMIES,0)
    ADD_TO_PARTY(SIX,BARBARIAN,8,500,ATTACK_ENEMIES,0)
    ADD_TO_PARTY(SIX,GIANT,7,500,ATTACK_ENEMIES,0)
    ADD_TO_PARTY(SIX,DWARFA,9,500,ATTACK_ENEMIES,0)


CREATE_PARTY(SEVEN)
    ADD_TO_PARTY(SEVEN,ARCHER,9,500,ATTACK_ENEMIES,0)
    ADD_TO_PARTY(SEVEN,GIANT,8,500,ATTACK_ENEMIES,0)
    ADD_TO_PARTY(SEVEN,GIANT,8,500,ATTACK_ENEMIES,0)
    ADD_TO_PARTY(SEVEN,GIANT,8,500,ATTACK_ENEMIES,0)
    ADD_TO_PARTY(SEVEN,THIEF,7,500,ATTACK_ENEMIES,0)

CREATE_PARTY(EIGHT)
    ADD_TO_PARTY(EIGHT,FAIRY,9,500,ATTACK_ENEMIES,0)
    ADD_TO_PARTY(EIGHT,FAIRY,9,500,ATTACK_ENEMIES,0)
    ADD_TO_PARTY(EIGHT,GIANT,8,500,ATTACK_ENEMIES,0)
    ADD_TO_PARTY(EIGHT,BARBARIAN,7,500,ATTACK_ENEMIES,0)
    ADD_TO_PARTY(EIGHT,BARBARAIN,7,500,ATTACK_ENEMIES,0)

CREATE_PARTY(WIZARDS)
    ADD_TO_PARTY(WIZARDS,WIZARD,8,1000,ATTACK_ENEMIES,0)
    ADD_TO_PARTY(WIZARDS,WIZARD,8,1000,ATTACK_ENEMIES,0)
    ADD_TO_PARTY(WIZARDS,WIZARD,8,1000,ATTACK_ENEMIES,0)
    ADD_TO_PARTY(WIZARDS,WIZARD,8,1000,ATTACK_ENEMIES,0)

CREATE_PARTY(LANDLORD)
    ADD_TO_PARTY(LANDLORD,KNIGHT,7,1500,ATTACK_ENEMIES,0)
    ADD_TO_PARTY(LANDLORD,KNIGHT,7,1500,ATTACK_ENEMIES,0)
    ADD_TO_PARTY(LANDLORD,KNIGHT,7,1500,ATTACK_ENEMIES,0)
    ADD_TO_PARTY(LANDLORD,KNIGHT,7,1500,ATTACK_ENEMIES,0)

CREATE_PARTY(AVATARS)
    ADD_TO_PARTY(AVATARS,AVATAR,4,1500,ATTACK_ENEMIES,0)
    ADD_TO_PARTY(AVATARS,AVATAR,6,1500,ATTACK_ENEMIES,0)
    ADD_TO_PARTY(AVATARS,AVATAR,8,1500,ATTACK_ENEMIES,0)
    ADD_TO_PARTY(AVATARS,AVATAR,10,1500,ATTACK_ENEMIES,0)

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

QUICK_OBJECTIVE(1,"This realm is currently ruled by a group of Avatars. A devious Wizard has robbed you of your plans disallowing you to contruct bridges. The wizard has also cast a barrier on our portal limit. Find and slay him before venturing any futher so you break the barrier and gain the ability to build bridges.",ALL_PLAYERS)

IF(PLAYER_GOOD,WIZARD == 0)
	ROOM_AVAILABLE(PLAYER0,BRIDGE,1,1)
	MAX_CREATURES(PLAYER0,50)
	SET_FLAG(PLAYER0,FLAG0,1)
	SET_FLAG(PLAYER0,FLAG1,1)
ENDIF

IF(PLAYER0,FLAG1 == 1)
	QUICK_INFORMATION(2,"Well done, Master. You've succeeded in gaining your plans for building bridges back, and we can now attract some loyal minions through our portal. Now, let's train up our remaining forces and defeat the grand Avatars of this realm.")
ENDIF

SET_TIMER(PLAYER_GOOD,TIMER1)

IF(PLAYER_GOOD,TIMER1 >= 35000)
	ADD_PARTY_TO_LEVEL(PLAYER_GOOD,ONE,-1,1)
	SET_FLAG(PLAYER0,FLAG0,1)
	QUICK_INFORMATION(5,"Be warned, Keeper. A party of heroes have left the keep to the west and are about to attack your dungeon. Remember, You should convert them.")
ENDIF

IF(PLAYER_GOOD,TIMER1 >= 50000)
	ADD_PARTY_TO_LEVEL(PLAYER_GOOD,TWO,-1,1)
	SET_FLAG(PLAYER0,FLAG0,1)
	QUICK_INFORMATION(6,"Keeper! You're not half asleep are you... another party of heroes are about to attack your dungeon. Oh, good! I've caught your attention.")
ENDIF

IF(PLAYER_GOOD,TIMER1 >= 70000)
	ADD_PARTY_TO_LEVEL(PLAYER_GOOD,THREE,-1,1)
	SET_FLAG(PLAYER0,FLAG0,1)
	QUICK_INFORMATION(7,"More heroes have left the keep to the west to launch a third frantic attack on your dungeon.")
ENDIF

IF(PLAYER_GOOD,TIMER1 >= 80000)
	ADD_PARTY_TO_LEVEL(PLAYER_GOOD,FOUR,-1,1)
	ADD_PARTY_TO_LEVEL(PLAYER_GOOD,FAIRIES,-2,2)
	SET_FLAG(PLAYER0,FLAG0,1)
	QUICK_INFORMATION(8,"Master, One last and final, desperate attempt to destroy you has been made by the heroes from the keep to the west. Along with some Fairies from a second hero gate to the north of the ravine. Don't forget, you need to convert them all, unless you've already broken the Wizard's spell.")
ENDIF

IF(PLAYER0,TREASURE >= 1)
	ROOM_AVAILABLE(PLAYER0,TREASURE,1,1)
ENDIF

IF(PLAYER0,LAIR >= 1)
	ROOM_AVAILABLE(PLAYER0,LAIR,1,1)
ENDIF

IF(PLAYER0,GARDEN >= 1)
	ROOM_AVAILABLE(PLAYER0,GARDEN,1,1)
ENDIF

IF(PLAYER0,TRAINING >= 1)
	ROOM_AVAILABLE(PLAYER0,TRAINING,1,1)
ENDIF

IF(PLAYER0,RESEARCH >= 1)
	ROOM_AVAILABLE(PLAYER0,RESEARCH,1,1)
ENDIF

IF(PLAYER0,PRISON >= 1)
	ROOM_AVAILABLE(PLAYER0,PRISON,1,1)
ENDIF

IF(PLAYER0,TORTURE >= 1)
	ROOM_AVAILABLE(PLAYER0,TORTURE,1,1)
ENDIF

IF(PLAYER0,BARRACKS >= 1)
	ROOM_AVAILABLE(PLAYER0,BARRACKS,1,1)
ENDIF

IF(PLAYER0,WORKSHOP >= 1)
	ROOM_AVAILABLE(PLAYER0,WORKSHOP,1,1)
ENDIF

IF(PLAYER0,SCAVENGER >= 1)
	ROOM_AVAILABLE(PLAYER0,SCAVENGER,1,1)
ENDIF

IF_ACTION_POINT(2,PLAYER0)
	ADD_PARTY_TO_LEVEL(PLAYER_GOOD,SIX,2,1)
	SET_FLAG(PLAYER0,FLAG0,1)
ENDIF

IF_ACTION_POINT(3,PLAYER0)
	ADD_PARTY_TO_LEVEL(PLAYER_GOOD,FIVE,3,1)
	SET_FLAG(PLAYER0,FLAG0,1)
ENDIF

IF_ACTION_POINT(4,PLAYER0)
	ADD_PARTY_TO_LEVEL(PLAYER_GOOD,EIGHT,4,1)
	SET_FLAG(PLAYER0,FLAG0,1)
ENDIF

IF_ACTION_POINT(5,PLAYER0)
	ADD_PARTY_TO_LEVEL(PLAYER_GOOD,SEVEN,5,1)
	SET_FLAG(PLAYER0,FLAG0,1)
ENDIF

IF_ACTION_POINT(6,PLAYER0)
	ADD_PARTY_TO_LEVEL(PLAYER_GOOD,FIVE,6,1)
	SET_FLAG(PLAYER0,FLAG0,1)
ENDIF

IF_ACTION_POINT(7,PLAYER0)
	ADD_PARTY_TO_LEVEL(PLAYER_GOOD,SIX,7,1)
	SET_FLAG(PLAYER0,FLAG0,1)
ENDIF

IF_ACTION_POINT(8,PLAYER0)
	ADD_PARTY_TO_LEVEL(PLAYER_GOOD,SEVEN,8,1)
	SET_FLAG(PLAYER0,FLAG0,1)
ENDIF

IF_ACTION_POINT(9,PLAYER0)
	ADD_PARTY_TO_LEVEL(PLAYER_GOOD,SEVEN,9,1)
	SET_FLAG(PLAYER0,FLAG0,1)
ENDIF

IF_ACTION_POINT(10,PLAYER0)
	ADD_PARTY_TO_LEVEL(PLAYER_GOOD,WIZARDS,10,2)
	SET_FLAG(PLAYER0,FLAG0,1)
ENDIF

IF_ACTION_POINT(11,PLAYER0)
	ADD_PARTY_TO_LEVEL(PLAYER_GOOD,WIZARDS,11,2)
	SET_FLAG(PLAYER0,FLAG0,1)
ENDIF

IF_ACTION_POINT(13,PLAYER0)
	ADD_PARTY_TO_LEVEL(PLAYER_GOOD,LANDLORD,1,2)
	ADD_PARTY_TO_LEVEL(PLAYER_GOOD,AVATARS,12,1)
	SET_FLAG(PLAYER0,FLAG0,1)
	QUICK_OBJECTIVE(3,"The Avatars already know that you are coming for them. So be it, defeat them and take what's rightfully yours.",12)
ENDIF

IF(PLAYER_GOOD,TIMER1 >= 500)
	QUICK_INFORMATION(4,"This abandoned fortress will  provide us with the suitable needs for an ideal dungeon. There doesn't seem to be a temple or graveyard available. However, there is a scavenger room, prison and torture chamber that could prove useful for subverting local do-gooders.")
ENDIF

IF(PLAYER0,FLAG0 == 1)
	IF(PLAYER_GOOD,DUNGEON_DESTROYED ==1)
		IF(PLAYER_GOOD,TOTAL_CREATURES == 0)
			QUICK_OBJECTIVE(9,"In my long and most evil existence, I have never heard of a Keeper who has managed to defeat a band of Avatars againt slim odds. This will no doubt send panic waves of shock throughout the underworld. I'm also sure Conan will be amazed of your achievement.",ALL_PLAYERS)
			WIN_GAME
		ENDIF
	ENDIF
ENDIF