REM PLAY Level 34

SET_GENERATE_SPEED(700)

MAX_CREATURES(PLAYER0,25)
MAX_CREATURES(PLAYER1,35)

START_MONEY(PLAYER0,20000)
START_MONEY(PLAYER1,60000)

COMPUTER_PLAYER(PLAYER1,6)


REM ALL PLAYERS

ADD_CREATURE_TO_POOL(FLY,20)
ADD_CREATURE_TO_POOL(SPIDER,25)
ADD_CREATURE_TO_POOL(DEMONSPAWN,45)
ADD_CREATURE_TO_POOL(TROLL,30)
ADD_CREATURE_TO_POOL(SORCEROR,17)
ADD_CREATURE_TO_POOL(BILE_DEMON,25)
ADD_CREATURE_TO_POOL(DARK_MISTRESS,20)
ADD_CREATURE_TO_POOL(VAMPIRE,11)
ADD_CREATURE_TO_POOL(DRAGON,11)
ADD_CREATURE_TO_POOL(HELL_HOUND,30)
ADD_CREATURE_TO_POOL(ORC,30)


	REM Creature_Availability

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


	REM Room_Availability

		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,WORKSHOP,1,0)
		ROOM_AVAILABLE(ALL_PLAYERS,BARRACKS,1,0)
		ROOM_AVAILABLE(ALL_PLAYERS,GUARD_POST,1,0)
		ROOM_AVAILABLE(ALL_PLAYERS,BRIDGE,1,0)
		ROOM_AVAILABLE(ALL_PLAYERS,PRISON,1,0)
		ROOM_AVAILABLE(ALL_PLAYERS,TORTURE,1,0)
		ROOM_AVAILABLE(ALL_PLAYERS,SCAVENGER,1,0)
		ROOM_AVAILABLE(ALL_PLAYERS,TEMPLE,1,0)
		ROOM_AVAILABLE(ALL_PLAYERS,GRAVEYARD,1,0)
		

	REM Spells
		
		MAGIC_AVAILABLE(ALL_PLAYERS,POWER_HAND,1,1)
		MAGIC_AVAILABLE(ALL_PLAYERS,POWER_IMP,1,1)
		MAGIC_AVAILABLE(ALL_PLAYERS,POWER_SLAP,1,1)
		MAGIC_AVAILABLE(ALL_PLAYERS,POWER_SIGHT,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_SPEED,1,0)
		MAGIC_AVAILABLE(ALL_PLAYERS,POWER_LIGHTNING,1,0)
		MAGIC_AVAILABLE(ALL_PLAYERS,POWER_PROTECT,1,0)
		MAGIC_AVAILABLE(ALL_PLAYERS,POWER_CONCEAL,1,0)
		MAGIC_AVAILABLE(ALL_PLAYERS,POWER_DISEASE,1,0)
		MAGIC_AVAILABLE(ALL_PLAYERS,POWER_CAVE_IN,1,0)
		MAGIC_AVAILABLE(ALL_PLAYERS,POWER_CHICKEN,1,0)
		MAGIC_AVAILABLE(ALL_PLAYERS,POWER_HOLD_AUDIENCE,1,0)


	REM  doors & traps

		DOOR_AVAILABLE(ALL_PLAYERS,WOOD,1,0)
		TRAP_AVAILABLE(ALL_PLAYERS,ALARM,1,0)
		DOOR_AVAILABLE(ALL_PLAYERS,BRACED,1,0)
		TRAP_AVAILABLE(ALL_PLAYERS,POISON_GAS,1,0)
		DOOR_AVAILABLE(ALL_PLAYERS,STEEL,1,0)
		TRAP_AVAILABLE(ALL_PLAYERS,BOULDER,1,0)
		DOOR_AVAILABLE(ALL_PLAYERS,MAGIC,1,0)
		TRAP_AVAILABLE(ALL_PLAYERS,LIGHTNING,1,0)
		TRAP_AVAILABLE(ALL_PLAYERS,WORD_OF_POWER,1,0)
		

	REM  research order	

rem CREATE_TEXT(0,134"YOUR MISSION HERE IS TO CAPTURE THE AVATAR AND TURN THIS WHOLE WORLD EVIL. A RIVAL KEEPER CHALLENGES YOU FOR THE CROWN OF THE MOST EVIL.")
rem CREATE_TEXT(1,135"WELL DONE,YOU HAVE DESTROYED THE AVATAR'S CASTLE, BUT YOUR RIVAL HAS ALREADY MADE OFF WITH THE CAPTURED AVATAR.ONLY THE MOST EVIL OF DUNGEON KEEPER'S CAN KILL THE AVATAR. PROVE YOUR WORTH, RAMSACK YOUR RIVALS CASTLE AND KILL THE AVATAR")
rem CREATE_TEXT(2,136"THE AVATAR IS DEAD BUT NOT BURIED, HE HAS RESSURECTED HIMSELF IN A HIDDEN HERO STRONGHOLD AND IS ENTHUSING HIS ARMIES TO DESTROY YOUR DUNGEON. THIS NOW IS THE ULTIMATE BATTLE BETWEEN GOOD AND EVIL, THERE CAN ONLY BE ONE SURVIVOR.")

DISPLAY_OBJECTIVE(134,PLAYER0)

CREATE_PARTY(ONE)
	ADD_TO_PARTY(ONE,ARCHER,2,300,ATTACK_ENEMIES,0)
	ADD_TO_PARTY(ONE,ARCHER,2,300,ATTACK_ENEMIES,0)
	ADD_TO_PARTY(ONE,ARCHER,2,300,ATTACK_ENEMIES,0)
	ADD_TO_PARTY(ONE,ARCHER,2,300,ATTACK_ENEMIES,0)
	ADD_TO_PARTY(ONE,ARCHER,2,300,ATTACK_ENEMIES,0)
	ADD_TO_PARTY(ONE,ARCHER,2,300,ATTACK_ENEMIES,0)

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

CREATE_PARTY(THREE)
	ADD_TO_PARTY(THREE,DWARFA,4,550,ATTACK_ENEMIES,0)
	ADD_TO_PARTY(THREE,DWARFA,4,550,ATTACK_ENEMIES,0)
	ADD_TO_PARTY(THREE,DWARFA,4,550,ATTACK_ENEMIES,0)
	ADD_TO_PARTY(THREE,DWARFA,4,550,ATTACK_ENEMIES,0)
	ADD_TO_PARTY(THREE,DWARFA,4,550,ATTACK_ENEMIES,0)
	ADD_TO_PARTY(THREE,WIZARD,5,650,ATTACK_ENEMIES,0)


CREATE_PARTY(FOUR)
	ADD_TO_PARTY(FOUR,WIZARD,5,650,ATTACK_ENEMIES,0)
	ADD_TO_PARTY(FOUR,WIZARD,5,650,ATTACK_ENEMIES,0)
	ADD_TO_PARTY(FOUR,WIZARD,5,650,ATTACK_ENEMIES,0)
	ADD_TO_PARTY(FOUR,WIZARD,5,650,ATTACK_ENEMIES,0)
	ADD_TO_PARTY(FOUR,DWARFA,5,650,ATTACK_ENEMIES,0)
	ADD_TO_PARTY(FOUR,DWARFA,5,650,ATTACK_ENEMIES,0)


CREATE_PARTY(FIVE)
	ADD_TO_PARTY(FIVE,BARBARIAN,5,750,ATTACK_ENEMIES,0)
	ADD_TO_PARTY(FIVE,BARBARIAN,5,750,ATTACK_ENEMIES,0)
	ADD_TO_PARTY(FIVE,BARBARIAN,5,750,ATTACK_ENEMIES,0)
	ADD_TO_PARTY(FIVE,FAIRY,5,750,ATTACK_ENEMIES,0)
	ADD_TO_PARTY(FIVE,FAIRY,5,750,ATTACK_ENEMIES,0)

CREATE_PARTY(THIEVES)
	ADD_TO_PARTY(THIEVES,THIEF,8,2000,STEAL_GOLD,0)
	ADD_TO_PARTY(THIEVES,THIEF,8,2000,STEAL_GOLD,0)

CREATE_PARTY(SKELETON)
	ADD_TO_PARTY(SKELETON(SKELETON,6,300,ATTACK_ENEMIES,0)



CREATE_PARTY(DWARVEN)
	ADD_TO_PARTY(DWARVEN,DWARFA,5,2000,ATTACK_ENEMIES,0)
	ADD_TO_PARTY(DWARVEN,DWARFA,5,2000,ATTACK_ENEMIES,0)
	ADD_TO_PARTY(DWARVEN,DWARFA,5,2000,ATTACK_ENEMIES,0)
	ADD_TO_PARTY(DWARVEN,DWARFA,5,2000,ATTACK_ENEMIES,0)
	ADD_TO_PARTY(DWARVEN,DWARFA,5,2000,ATTACK_ENEMIES,0)
	ADD_TO_PARTY(DWARVEN,DWARFA,5,2000,ATTACK_ENEMIES,0)


CREATE_PARTY(TRAINERS)
	ADD_TO_PARTY(TRAINERS,BARBARIAN,4,1000,ATTACK_ENEMIES,0)
	ADD_TO_PARTY(TRAINERS,BARBARIAN,4,1000,ATTACK_ENEMIES,0)
	ADD_TO_PARTY(TRAINERS,WIZARD,5,1200,STEAL_SPELLS,0)
	ADD_TO_PARTY(TRAINERS,WIZARD,3,700,ATTACK_ENEMIES,0)
	ADD_TO_PARTY(TRAINERS,ARCHER,3,500,ATTACK_ENEMIES,0)
	ADD_TO_PARTY(TRAINERS,THIEF,7,3000,STEAL_GOLD,0)

CREATE_PARTY(SAMURAIII)
	ADD_TO_PARTY(SAMURAIII,SAMURAI,6,2500,ATTACK_ENEMIES,0)
	ADD_TO_PARTY(SAMURAIII,SAMURAI,6,2500,ATTACK_ENEMIES,0)
						  
IF_ACTION_POINT(1,PLAYER0)
	ADD_PARTY_TO_LEVEL(PLAYER_GOOD,ONE,2,1)
	SET_FLAG(PLAYER_GOOD,FLAG0,1)
	SET_TIMER(PLAYER_GOOD,TIMER0)
ENDIF


IF_ACTION_POINT(10,PLAYER0)						  
	SET_FLAG(PLAYER_GOOD,FLAG0,1)
ENDIF

IF_ACTION_POINT(17,PLAYER0)								  
	SET_FLAG(PLAYER_GOOD,FLAG0,1)
ENDIF

IF(PLAYER_GOOD,FLAG0 == 1)
	IF(PLAYER_GOOD,TIMER0 >= 500)
	ADD_PARTY_TO_LEVEL(PLAYER_GOOD,TWO,-4,1)
	SET_TIMER(PLAYER_GOOD,TIMER0)
	ENDIF
ENDIF

IF(PLAYER_GOOD,FLAG0 == 1)
	IF(PLAYER_GOOD,TIMER0 >= 1500)
		NEXT_COMMAND_REUSABLE
		ADD_PARTY_TO_LEVEL(PLAYER_GOOD,THREE,-4,1)
		SET_TIMER(PLAYER_GOOD,TIMER0)
	ENDIF
ENDIF

IF(PLAYER_GOOD,FLAG0 == 1)
	IF(PLAYER0,TORTURE >= 1)
	ADD_PARTY_TO_LEVEL(PLAYER_GOOD,THIEVES,-4,1)
	ENDIF
ENDIF

IF_ACTION_POINT(3,PLAYER0)
	IF(PLAYER_GOOD,FLAG0 == 1)
	ADD_PARTY_TO_LEVEL(PLAYER_GOOD,SKELETON,4,1)
	ADD_PARTY_TO_LEVEL(PLAYER_GOOD,SKELETON,5,1)
	ADD_PARTY_TO_LEVEL(PLAYER_GOOD,SKELETON,6,1)
	ADD_PARTY_TO_LEVEL(PLAYER_GOOD,SKELETON,7,1)
	ADD_PARTY_TO_LEVEL(PLAYER_GOOD,SKELETON,8,1)
	ADD_PARTY_TO_LEVEL(PLAYER_GOOD,SKELETON,9,1)
	SET_TIMER(PLAYER_GOOD,TIMER1)
	ENDIF
ENDIF

IF(PLAYER_GOOD,TIMER1 >= 250)
	ADD_CREATURE_TO_LEVEL(PLAYER_GOOD,GHOST,6,1,8,0)
ENDIF

IF(PLAYER_GOOD,TIMER1 >= 290)
	ADD_CREATURE_TO_LEVEL(PLAYER_GOOD,GHOST,9,1,8,0)
ENDIF

IF(PLAYER_GOOD,DUNGEON_DESTROYED == 1)
	SET_FLAG(PLAYER_GOOD,FLAG0,2)
	DISPLAY_OBJECTIVE(135,PLAYER_GOOD)
	ADD_CREATURE_TO_LEVEL(PLAYER1,HORNY,PLAYER1,1,10,0)
ENDIF

IF_ACTION_POINT(10,PLAYER0)
	IF(PLAYER_GOOD,FLAG0 == 1)
	ADD_PARTY_TO_LEVEL(PLAYER_GOOD,TRAINERS,11,1)
	ENDIF
ENDIF

IF_ACTION_POINT(12,PLAYER0)
	IF(PLAYER_GOOD,FLAG0 == 1)
	ADD_PARTY_TO_LEVEL(PLAYER_GOOD,FIVE,-5,1)
	ENDIF
ENDIF

IF_ACTION_POINT(13,PLAYER0)
	IF(PLAYER_GOOD,FLAG0 == 1)
	ADD_PARTY_TO_LEVEL(PLAYER_GOOD,SAMURAIII,14,1)
	ENDIF
ENDIF
						  
IF_ACTION_POINT(13,PLAYER0)
	IF(PLAYER_GOOD,FLAG0 == 1)
	ADD_PARTY_TO_LEVEL(PLAYER_GOOD,SAMURAIII,15,1)
	ENDIF
ENDIF

IF_ACTION_POINT(16,PLAYER0)
	IF(PLAYER_GOOD,FLAG0 == 1)
	ADD_PARTY_TO_LEVEL(PLAYER_GOOD,DWARVEN,-4,1)
	ENDIF
ENDIF
						  
						  
						  
						  
												  
	  						  
						  

CREATE_PARTY(TUNNELLER)
	ADD_TO_PARTY(TUNNELLER,TUNNELLER,6,200,ATTACK_ENEMIES,0)
	ADD_TO_PARTY(TUNNELLER,TUNNELLER,6,200,ATTACK_ENEMIES,0)
	ADD_TO_PARTY(TUNNELLER,TUNNELLER,6,200,ATTACK_ENEMIES,0)
	ADD_TO_PARTY(TUNNELLER,TUNNELLER,6,200,ATTACK_ENEMIES,0)

CREATE_PARTY(AVATAR_I)
	ADD_TO_PARTY(AVATAR_I,KNIGHT,7,3000,ATTACK_ENEMIES,0)
	ADD_TO_PARTY(AVATAR_I,BARBARIAN,5,750,ATTACK_ENEMIES,0)
	ADD_TO_PARTY(AVATAR_I,BARBARIAN,5,750,ATTACK_ENEMIES,0)
	ADD_TO_PARTY(AVATAR_I,ARCHER,3,550,ATTACK_ENEMIES,0)
	ADD_TO_PARTY(AVATAR_I,ARCHER,3,550,ATTACK_ENEMIES,0)

CREATE_PARTY(AVATAR_II)
	ADD_TO_PARTY(AVATAR_II,KNIGHT,8,3500,ATTACK_ENEMIES,0)
	ADD_TO_PARTY(AVATAR_II,SAMURAI,5,1750,ATTACK_ENEMIES,0)
	ADD_TO_PARTY(AVATAR_II,SAMURAI,5,1750,ATTACK_ENEMIES,0)
	ADD_TO_PARTY(AVATAR_II,SAMURAI,5,1750,ATTACK_ENEMIES,0)

CREATE_PARTY(AVATAR_III)
	ADD_TO_PARTY(AVATAR_III,KNIGHT,9,4000,ATTACK_ENEMIES,0)
	ADD_TO_PARTY(AVATAR_III,MONK,7,3000,ATTACK_ENEMIES,0)
	ADD_TO_PARTY(AVATAR_III,MONK,7,3000,ATTACK_ENEMIES,0)
	ADD_TO_PARTY(AVATAR_III,MONK,7,3000,ATTACK_ENEMIES,0)

CREATE_PARTY(AVATAR)
	ADD_TO_PARTY(AVATAR,KNIGHT,9,4000,ATTACK_ENEMIES,0)
	ADD_TO_PARTY(AVATAR,KNIGHT,9,4000,ATTACK_ENEMIES,0)
	ADD_TO_PARTY(AVATAR,KNIGHT,9,4000,ATTACK_ENEMIES,0)
	ADD_TO_PARTY(AVATAR,KNIGHT,9,4000,ATTACK_ENEMIES,0)
	ADD_TO_PARTY(AVATAR,AVATAR,10,20000,ATTACK_ENEMIES,0)

CREATE_PARTY(FAIRY)
	ADD_TO_PARTY(FAIRY,FAIRY,9,2000,ATTACK_ENEMIES,0)
	ADD_TO_PARTY(FAIRY,FAIRY,9,2000,ATTACK_ENEMIES,0)
	ADD_TO_PARTY(FAIRY,FAIRY,9,2000,ATTACK_ENEMIES,0)


						  
IF(PLAYER_GOOD,FLAG0 == 2)
	IF(PLAYER_GOOD,AVATAR == 0)
	DISPLAY_OBJECTIVE(136,PLAYER0)
	ADD_TUNNELLER_PARTY_TO_LEVEL(PLAYER_GOOD,TUNNELLER,18,DUNGEON,0,6,200)
	ADD_PARTY_TO_LEVEL(PLAYER_GOOD,AVATAR_I,-1,1)
	ADD_PARTY_TO_LEVEL(PLAYER_GOOD,AVATAR_II,-2,1)
	ADD_PARTY_TO_LEVEL(PLAYER_GOOD,AVATAR_III,-3,1)
	SET_TIMER(PLAYER_GOOD,TIMER3)
		IF(PLAYER_GOOD,TIMER3 >= 300)
		ADD_PARTY_TO_LEVEL(PLAYER_GOOD,AVATAR,-1,1)
		ADD_PARTY_TO_LEVEL(PLAYER_GOOD,FAIRY,-2,1)
			IF(PLAYER_GOOD,AVATAR == 0)
			WIN_GAME
			ENDIF
		ENDIF
	ENDIF
ENDIF

IF(PLAYER0,DUNGEON_DESTROYED == 1)
	LOSE_GAME
ENDIF
						  



						  
						  
