REM Ben Campaign lvl 4

LEVEL_VERSION(1)


SET_GENERATE_SPEED(700)
MAX_CREATURES(PLAYER0,20)
MAX_CREATURES(PLAYER1,25)

START_MONEY(PLAYER0,3000)
START_MONEY(PLAYER1,3000)

COMPUTER_PLAYER(PLAYER1, 0)

ADD_CREATURE_TO_POOL(TROLL,6)
ADD_CREATURE_TO_POOL(DEMONSPAWN,6)
ADD_CREATURE_TO_POOL(SORCEROR,6)
ADD_CREATURE_TO_POOL(BILE_DEMON,6)
ADD_CREATURE_TO_POOL(BUG,10)
ADD_CREATURE_TO_POOL(VAMPIRE,4)
ADD_CREATURE_TO_POOL(SPIDER,10)
ADD_CREATURE_TO_POOL(HELL_HOUND,6)
ADD_CREATURE_TO_POOL(DRAGON,6)
ADD_CREATURE_TO_POOL(	TAURUS,	6)
ADD_CREATURE_TO_POOL(	DARK_PRIEST,	6)
ADD_CREATURE_TO_POOL(	BLACK_KNIGHT,	6)

REM Player Properties

REM Player 0



	REM Creature_Availability

		CREATURE_AVAILABLE(ALL_PLAYERS,TROLL,1,0)
		CREATURE_AVAILABLE(ALL_PLAYERS,DEMONSPAWN,1,0)
		CREATURE_AVAILABLE(ALL_PLAYERS,FLY,1,0)
		CREATURE_AVAILABLE(ALL_PLAYERS,SORCEROR,1,0)
		CREATURE_AVAILABLE(ALL_PLAYERS,BILE_DEMON,1,0)
		CREATURE_AVAILABLE(PLAYER0,BUG,1,0)
		CREATURE_AVAILABLE(ALL_PLAYERS,VAMPIRE,1,0)
		CREATURE_AVAILABLE(ALL_PLAYERS,SPIDER,1,0)
		CREATURE_AVAILABLE(ALL_PLAYERS,HELL_HOUND,1,0)
		CREATURE_AVAILABLE(ALL_PLAYERS,DRAGON,1,0)
		CREATURE_AVAILABLE(ALL_PLAYERS,TAURUS,1,0)
		CREATURE_AVAILABLE(ALL_PLAYERS,DARK_PRIEST,1,0)
		CREATURE_AVAILABLE(ALL_PLAYERS,BLACK_KNIGHT,1,0)

	REM Room_Availability

		ROOM_AVAILABLE(ALL_PLAYERS,TREASURE,1,1)
		ROOM_AVAILABLE(ALL_PLAYERS,RESEARCH,1,1)
		ROOM_AVAILABLE(ALL_PLAYERS,TORTURE,1,0)
		ROOM_AVAILABLE(ALL_PLAYERS,TRAINING,1,1)
		ROOM_AVAILABLE(ALL_PLAYERS,WORKSHOP,1,0)
		ROOM_AVAILABLE(ALL_PLAYERS,BARRACKS,1,0)
		ROOM_AVAILABLE(ALL_PLAYERS,GARDEN,1,1)
		ROOM_AVAILABLE(ALL_PLAYERS,LAIR,1,1)
		ROOM_AVAILABLE(ALL_PLAYERS,TEMPLE,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,1)
		MAGIC_AVAILABLE(ALL_PLAYERS,POWER_CALL_TO_ARMS,1,0)
		MAGIC_AVAILABLE(ALL_PLAYERS,POWER_HEAL_CREATURE,1,0)
		MAGIC_AVAILABLE(ALL_PLAYERS,POWER_CONCEAL,1,0)
		MAGIC_AVAILABLE(ALL_PLAYERS,POWER_PROTECT,1,0)
		MAGIC_AVAILABLE(ALL_PLAYERS,POWER_SPEED,1,0)
		MAGIC_AVAILABLE(ALL_PLAYERS,POWER_POSSESS,0,0)
		MAGIC_AVAILABLE(PLAYER0,POWER_SIGHT,1,0)
		MAGIC_AVAILABLE(PLAYER0,POWER_REBOUND,1,0)

	REM  doors & traps

		DOOR_AVAILABLE(PLAYER0,STEEL,1,0)
		DOOR_AVAILABLE(PLAYER0,MAGIC,1,0)



		DOOR_AVAILABLE(PLAYER1,WOOD,1,3)
		DOOR_AVAILABLE(PLAYER1,BRACED,1,3)
		DOOR_AVAILABLE(PLAYER1,STEEL,1,3)
		DOOR_AVAILABLE(PLAYER1,MAGIC,1,1)
		TRAP_AVAILABLE(PLAYER1,POISON_GAS,1,1)

CREATE_PARTY(ONE)
	ADD_TO_PARTY(ONE,THIEF,3,500,ATTACK_DUNGEON_HEART,0)
	ADD_TO_PARTY(ONE,THIEF,3,500,ATTACK_DUNGEON_HEART,0)
	ADD_TO_PARTY(ONE,ARCHER,3,500,ATTACK_DUNGEON_HEART,0)

create_party(TWO)
        add_to_party(TWO,SKELEMAGE,4,600,attack_enemies,0)
        add_to_party(TWO,SKELE,4,400,attack_enemies,0)
        add_to_party(TWO,THIEF,3,400,attack_enemies,0)
        add_to_party(TWO,TAURUS,3,800,attack_enemies,0)

create_party(THREE)
        add_to_party(THREE,TAURUS,4,1000,attack_enemies,0)
        add_to_party(THREE,DARK_PRIEST,4,1000,attack_enemies,0)
        add_to_party(THREE,TIME_MAGE,4,800,attack_enemies,0)
        add_to_party(THREE,WIZARD,4,800,attack_enemies,0)

create_party(FOUR)
        add_to_party(FOUR,BILE_DEMON,5,1000,attack_enemies,0)
        add_to_party(FOUR,BILE_DEMON,5,1000,attack_enemies,0)
        add_to_party(FOUR,DARK_PRIEST,4,1000,attack_enemies,0)
        add_to_party(FOUR,TIME_MAGE,4,800,attack_enemies,0)
        add_to_party(FOUR,WIZARD,5,800,attack_enemies,0)

REM "The Sons of the Lord have taken the Prince hostage in this sacred location and have tasked their Fairies with guarding him. Despite their efforts, they have not succeeded in converting him. We must rescue him before it's too late."
DISPLAY_OBJECTIVE(15,)

SET_GAME_RULE(ImpWorkExperience,254)
ALLY_PLAYERS(PLAYER1,PLAYER_GOOD,3)

REVEAL_MAP_LOCATION(PLAYER0,14,20)
REVEAL_MAP_LOCATION(PLAYER0,30,20)

IF(PLAYER0,KNIGHT == 1)
	IF(PLAYER_GOOD,DUNGEON_DESTROYED == 1)
		WIN_GAME
	ENDIF
ENDIF


IF(PLAYER0, ENTRANCE == 9)
	SET_TIMER(PLAYER3,TIMER3)
ENDIF

IF(PLAYER3,TIMER3 >= 2000)
		ADD_PARTY_TO_LEVEL(PLAYER_GOOD,ONE,-4,1)
ENDIF

IF(PLAYER3,TIMER3 >= 5000)
		ADD_PARTY_TO_LEVEL(PLAYER_GOOD,TWO,-5,1)
ENDIF

IF(PLAYER3,TIMER3 >= 8000)
		ADD_PARTY_TO_LEVEL(PLAYER_GOOD,THREE,-4,1)
ENDIF

IF(PLAYER3,TIMER3 >= 12500)
		ADD_PARTY_TO_LEVEL(PLAYER_GOOD,FOUR,-5,1)
ENDIF

IF_ACTION_POINT(17,PLAYER0)
	ADD_CREATURE_TO_LEVEL(PLAYER_GOOD,AVATAR,-1,1,10,1000)
	ADD_CREATURE_TO_LEVEL(PLAYER_GOOD,KNIGHT,-2,1,10,1000)
	ADD_CREATURE_TO_LEVEL(PLAYER_GOOD,KNIGHT,-3,1,10,1000)
	ADD_CREATURE_TO_LEVEL(PLAYER1,TIME_MAGE,18,1,10,1000)
	ADD_CREATURE_TO_LEVEL(PLAYER1,TIME_MAGE,19,1,10,1000)
	ADD_CREATURE_TO_LEVEL(PLAYER1,WIZARD,20,1,10,1000)
	ADD_CREATURE_TO_LEVEL(PLAYER1,WIZARD,21,1,10,1000)
	ADD_CREATURE_TO_LEVEL(PLAYER1,WIZARD,22,1,10,1000)
	ADD_CREATURE_TO_LEVEL(PLAYER1,WIZARD,23,1,10,1000)
	ADD_CREATURE_TO_LEVEL(PLAYER1,WIZARD,24,1,10,1000)
	ADD_CREATURE_TO_LEVEL(PLAYER1,WIZARD,25,1,10,1000)
	SET_OBJECT_CONFIGURATION(TIME_MAGE_STATUE,MaximumSize,0)
	SET_OBJECT_CONFIGURATION(WIZARD_STATUE_PRAY,MaximumSize,0)
	SET_OBJECT_CONFIGURATION(DEAD_GUARD_STATUE,MaximumSize,0)
	CHANGE_CREATURE_OWNER(PLAYER1,TIME_MAGE,ANYWHERE,PLAYER_GOOD)
	CHANGE_CREATURE_OWNER(PLAYER1,TIME_MAGE,ANYWHERE,PLAYER_GOOD)
	CHANGE_CREATURE_OWNER(PLAYER1,WIZARD,ANYWHERE,PLAYER_GOOD)
	CHANGE_CREATURE_OWNER(PLAYER1,WIZARD,ANYWHERE,PLAYER_GOOD)
	CHANGE_CREATURE_OWNER(PLAYER1,WIZARD,ANYWHERE,PLAYER_GOOD)
	CHANGE_CREATURE_OWNER(PLAYER1,WIZARD,ANYWHERE,PLAYER_GOOD)
	CHANGE_CREATURE_OWNER(PLAYER1,WIZARD,ANYWHERE,PLAYER_GOOD)
	CHANGE_CREATURE_OWNER(PLAYER1,WIZARD,ANYWHERE,PLAYER_GOOD)
	ADD_CREATURE_TO_LEVEL(PLAYER1,DARK_KNIGHT,26,1,10,1000)
	ADD_CREATURE_TO_LEVEL(PLAYER1,DARK_KNIGHT,27,1,10,1000)
	ADD_CREATURE_TO_LEVEL(PLAYER1,DARK_KNIGHT,28,1,10,1000)
	ADD_CREATURE_TO_LEVEL(PLAYER1,DARK_KNIGHT,29,1,10,1000)
	SET_OBJECT_CONFIGURATION(DARK_KNIGHT_STATUE,MaximumSize,0)
	CHANGE_CREATURE_OWNER(PLAYER1,DARK_KNIGHT,ANYWHERE,PLAYER_GOOD)
	CHANGE_CREATURE_OWNER(PLAYER1,DARK_KNIGHT,ANYWHERE,PLAYER_GOOD)
	CHANGE_CREATURE_OWNER(PLAYER1,DARK_KNIGHT,ANYWHERE,PLAYER_GOOD)
	CHANGE_CREATURE_OWNER(PLAYER1,DARK_KNIGHT,ANYWHERE,PLAYER_GOOD)
	REM "You have been detected, although the Wizards' endeavors have not succeeded, they have successfully teleported the corpse to safety with Tyrael's Brothers. Be vigilant in your next moves."
	DISPLAY_OBJECTIVE(16,ALL_PLAYERS)
	PLAY_MESSAGE(PLAYER0,SPEECH,"revive.mp3")
ENDIF


IF(PLAYER1,DUNGEON_DESTROYED == 1)
	PLAY_MESSAGE(PLAYER0,SPEECH,"free.mp3")
	RESET_ACTION_POINT(1)
	SET_FLAG(PLAYER1,FLAG7,1)
	ROOM_AVAILABLE(ALL_PLAYERS,BRIDGE,1,1)
	REM DISPLAY_OBJECTIVE(1)
	REVEAL_MAP_LOCATION(PLAYER0,4,25)
	REM "Our fallen adversary warned us in his final moments that while we may emerge victorious in this battle, the war is far from over, the Fairys are directing their wizards to revive King Arthur, and we must prevent them from succeeding.."
	DISPLAY_OBJECTIVE(17,4)
	ZOOM_TO_LOCATION(PLAYER0,4)
ENDIF

IF(PLAYER1,FLAG7 == 1)
	IF_ACTION_POINT(1,PLAYER0)
  		PLAY_MESSAGE(PLAYER0,SPEECH,"lvlspe10.mp3")
		CHANGE_SLAB_TYPE(30,52,PRETTY_PATH)
		CHANGE_SLAB_TYPE(30,53,PRETTY_PATH)
		ADD_CREATURE_TO_LEVEL(PLAYER_GOOD,MONK,2,50,5,500)
		ADD_CREATURE_TO_LEVEL(PLAYER_GOOD,MONK,3,50,5,500)
		ADD_CREATURE_TO_LEVEL(PLAYER_GOOD,MONK,9,50,5,500)
		SET_TIMER(PLAYER_GOOD,TIMER0)
	ENDIF
ENDIF

IF_ACTION_POINT(8,PLAYER0)
	ADD_CREATURE_TO_LEVEL(PLAYER_GOOD,MONK,13,56,5,500)
ENDIF

IF_ACTION_POINT(9,PLAYER0)
	IF(PLAYER1,FLAG7 == 1)
  		PLAY_MESSAGE(PLAYER0,SPEECH,"lvlspe18.mp3")
		ADD_CREATURE_TO_LEVEL(PLAYER_GOOD,MONK,5,56,5,500)
		ADD_CREATURE_TO_LEVEL(PLAYER_GOOD,MONK,11,50,5,500)
	ENDIF
ENDIF

IF_ACTION_POINT(6,PLAYER0)
	PLAY_MESSAGE(PLAYER0,SPEECH,"misc009.mp3")
		ADD_CREATURE_TO_LEVEL(PLAYER_GOOD,HORNY,10,3,10,500)
ENDIF

IF_ACTION_POINT(7,PLAYER0)
	PLAY_MESSAGE(PLAYER0,SPEECH,"silly030.mp3")
		ADD_CREATURE_TO_LEVEL(PLAYER_GOOD,KNIGHT,10,3,10,500)
		ADD_CREATURE_TO_LEVEL(PLAYER_GOOD,WIZARD,12,4,10,500)
		ADD_CREATURE_TO_LEVEL(PLAYER_GOOD,FAIRY,6,4,10,500)
ENDIF

IF(PLAYER0,KNIGHT == 1)
	PLAY_MESSAGE(PLAYER0,SPEECH,"sword.mp3")
ENDIF


IF_ACTION_POINT(15,PLAYER0)
	PLAY_MESSAGE(PLAYER0,SPEECH,"lvlspe09.mp3")
	ADD_CREATURE_TO_LEVEL(PLAYER_GOOD,MONK,16,30,8,500)
ENDIF

