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

COMPUTER_PLAYER(PLAYER5,ROAMING)
COMPUTER_PLAYER(PLAYER6,ROAMING)
SET_PLAYER_COLOR(PLAYER2,BLACK)
SET_PLAYER_COLOR(PLAYER6,YELLOW)
SET_GAME_RULE(TrainingRoomMaxLevel,3)
SET_FLAG(PLAYER_GOOD,FLAG1,1)

ALLY_PLAYERS(PLAYER1, PLAYER_GOOD, 1)
ALLY_PLAYERS(PLAYER2, PLAYER_GOOD, 1)
ALLY_PLAYERS(PLAYER3, PLAYER_GOOD, 1)
ALLY_PLAYERS(PLAYER5, PLAYER_GOOD, 1)
ALLY_PLAYERS(PLAYER5, PLAYER1, 1)
ALLY_PLAYERS(PLAYER5, PLAYER2, 1)
ALLY_PLAYERS(PLAYER5, PLAYER3, 1)
ALLY_PLAYERS(PLAYER3, PLAYER6, 1)

ROOM_AVAILABLE(PLAYER0,TREASURE,3,0)
ROOM_AVAILABLE(PLAYER0,LAIR,3,0)
ROOM_AVAILABLE(PLAYER0,GARDEN,3,0)
ROOM_AVAILABLE(PLAYER0,TRAINING,3,0)
ROOM_AVAILABLE(PLAYER0,GUARD_POST,3,0)
ROOM_AVAILABLE(PLAYER0,PRISON,3,0)
ROOM_AVAILABLE(PLAYER0,TORTURE,3,0)
ROOM_AVAILABLE(PLAYER0,BARRACKS,3,0)
ROOM_AVAILABLE(PLAYER0,GRAVEYARD,3,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(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_CONCEAL,1,0)
MAGIC_AVAILABLE(ALL_PLAYERS,POWER_HOLD_AUDIENCE,1,0)
MAGIC_AVAILABLE(ALL_PLAYERS,POWER_HEAL_CREATURE,1,0)

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

DOOR_AVAILABLE(ALL_PLAYERS,WOOD,1,0)
DOOR_AVAILABLE(ALL_PLAYERS,BRACED,1,0)


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

IF(PLAYER0,WORKSHOP >= 50)
	ROOM_AVAILABLE(PLAYER0,WORKSHOP,1,1)
	DOOR_AVAILABLE(PLAYER0,STEEL,1,0)
	DOOR_AVAILABLE(PLAYER0,MAGIC,1,0)
ENDIF

IF(PLAYER0,TEMPLE >= 30)
	ROOM_AVAILABLE(PLAYER0,TEMPLE,1,1)
ENDIF

QUICK_OBJECTIVE(1,"By the will of fate you once again arrived at an oddly familiar place, altough something isn't quite right here.",ALL_PLAYERS)

IF_SLAB_OWNER(59, 46, PLAYER0)
	ADD_TO_FLAG(PLAYER0,BOX100_ACTIVATED,1)
	QUICK_MESSAGE(70,"Maximum bridge length 1",BRIDGE)
	QUICK_OBJECTIVE(2,"Trashy mistle bolts will only hold one independant bridge room together, you have to get rid of all previously build bridges before being able to build new ones.",ALL_PLAYERS)
ENDIF

IF_SLAB_OWNER(72, 87, PLAYER0)
	ADD_TO_FLAG(PLAYER0,BOX100_ACTIVATED,1)
	QUICK_MESSAGE(71,"Maximum bridge length 2",BRIDGE)
ENDIF

IF_SLAB_OWNER(2, 10, PLAYER0)
	ADD_TO_FLAG(PLAYER0,BOX100_ACTIVATED,1)
	QUICK_MESSAGE(72,"Maximum bridge length 3",BRIDGE)
ENDIF

IF_SLAB_OWNER(55, 166, PLAYER0)
	ADD_TO_FLAG(PLAYER0,BOX100_ACTIVATED,10)
	QUICK_MESSAGE(73,"Full bridge unlocked",BRIDGE)
	QUICK_OBJECTIVE(3,"Now you busted the local bolt mafia and gained the ability to bridge stuff without restriction.",ALL_PLAYERS)
ENDIF

IF(PLAYER0,BOX100_ACTIVATED == 1)
	IF(PLAYER0,BRIDGE == 0)
		NEXT_COMMAND_REUSABLE
		ROOM_AVAILABLE(PLAYER0,BRIDGE,1,1)
	ENDIF
	IF(PLAYER0,BRIDGE >= 1)
		NEXT_COMMAND_REUSABLE
		ROOM_AVAILABLE(PLAYER0,BRIDGE,0,0)
	ENDIF
ENDIF

IF(PLAYER0,BOX100_ACTIVATED == 2)
	IF(PLAYER0,BRIDGE == 0)
		NEXT_COMMAND_REUSABLE
		ROOM_AVAILABLE(PLAYER0,BRIDGE,1,1)
	ENDIF
	IF(PLAYER0,BRIDGE >= 2)
		NEXT_COMMAND_REUSABLE
		ROOM_AVAILABLE(PLAYER0,BRIDGE,0,0)
	ENDIF
ENDIF

IF(PLAYER0,BOX100_ACTIVATED == 3)
	IF(PLAYER0,BRIDGE >= 3)
		NEXT_COMMAND_REUSABLE
		ROOM_AVAILABLE(PLAYER0,BRIDGE,0,0)
		NEXT_COMMAND_REUSABLE
		SET_FLAG(PLAYER0,FLAG7,3)
	ENDIF
	IF(PLAYER0,FLAG7 >= 3)
		NEXT_COMMAND_REUSABLE
		ROOM_AVAILABLE(PLAYER0,BRIDGE,0,0)
	ENDIF
	IF(PLAYER0,BRIDGE == 0)
		NEXT_COMMAND_REUSABLE
		SET_FLAG(PLAYER0,FLAG7,0)
	ENDIF
	IF(PLAYER0,FLAG7 == 0)
		NEXT_COMMAND_REUSABLE
		ROOM_AVAILABLE(PLAYER0,BRIDGE,1,1)
	ENDIF
	IF(PLAYER0,BRIDGE == 1)
		IF(PLAYER0,BOX121_ACTIVATED == 0)
			NEXT_COMMAND_REUSABLE
			ADD_TO_FLAG(PLAYER0,FLAG7,1)
			NEXT_COMMAND_REUSABLE
			ADD_TO_FLAG(PLAYER0,BOX121_ACTIVATED,1)
			NEXT_COMMAND_REUSABLE
			SET_FLAG(PLAYER0,BOX122_ACTIVATED,0)
		ENDIF
	ENDIF
	IF(PLAYER0,BRIDGE == 2)
		IF(PLAYER0,BOX122_ACTIVATED == 0)
			NEXT_COMMAND_REUSABLE
			ADD_TO_FLAG(PLAYER0,FLAG7,1)
			NEXT_COMMAND_REUSABLE
			ADD_TO_FLAG(PLAYER0,BOX122_ACTIVATED,1)
			NEXT_COMMAND_REUSABLE
			SET_FLAG(PLAYER0,BOX121_ACTIVATED,0)
		ENDIF
	ENDIF
ENDIF

IF(PLAYER0,BOX100_ACTIVATED >= 4)
	ROOM_AVAILABLE(PLAYER0,BRIDGE,1,1)
ENDIF

CONCEAL_MAP_RECT(Player0, 255, 255, 510, 510, 1)
REVEAL_MAP_RECT(Player0, 60, 200, 120, 280)
CONCEAL_MAP_RECT(Player0, 60, 200, 120, 280, 0)
REVEAL_MAP_RECT(Player0, 190, 28, 40, 40)
CONCEAL_MAP_RECT(Player0, 190, 28, 40, 40, 0)
REVEAL_MAP_RECT(Player0, 214, 97, 50, 40)
CONCEAL_MAP_RECT(Player0, 214, 97, 50, 40, 0)
REVEAL_MAP_RECT(Player0, 292, 43, 50, 50)
CONCEAL_MAP_RECT(Player0, 292, 43, 50, 50, 0)
REVEAL_MAP_RECT(Player0, 271, 100, 50, 50)
CONCEAL_MAP_RECT(Player0, 271, 100, 50, 50, 0)
REVEAL_MAP_RECT(Player0, 385, 58, 50, 50)
CONCEAL_MAP_RECT(Player0, 385, 58, 50, 50, 0)


IF_SLAB_TYPE(38, 53, LAVA)
	CHANGE_SLAB_TYPE(38, 53, PATH)
	USE_POWER_AT_POS(PLAYER_GOOD,112,160,POWER_DESTROY_WALLS,3,1)
	USE_POWER_AT_POS(PLAYER_GOOD,112,163,POWER_DESTROY_WALLS,3,1)
	CREATE_EFFECT_AT_POS(14,112,160,100)
	CREATE_EFFECT_AT_POS(14,112,163,100)
ENDIF

IF_SLAB_TYPE(42, 44, LAVA)
	CHANGE_SLAB_TYPE(42, 44, PATH)
	USE_POWER_AT_POS(PLAYER_GOOD,127,136,POWER_DESTROY_WALLS,3,1)
	CREATE_EFFECT_AT_POS(14,127,136,100)
ENDIF

IF_SLAB_OWNER(32, 50, PLAYER0)
	CHANGE_SLAB_TYPE(33, 50, PATH)
	CHANGE_SLAB_TYPE(33, 51, PATH)
	CHANGE_SLAB_TYPE(34, 50, PATH)
	CHANGE_SLAB_TYPE(34, 51, PATH)
	CREATE_EFFECT_AT_POS(5,100,154,100)
	CREATE_EFFECT_AT_POS(5,103,154,100)
ENDIF

IF_SLAB_OWNER(5, 50, PLAYER0)
	CHANGE_SLAB_TYPE(5, 48, PATH)
	CHANGE_SLAB_TYPE(5, 49, PATH)
	CHANGE_SLAB_TYPE(5, 50, PATH)
	CHANGE_SLAB_TYPE(5, 51, PATH)
	CHANGE_SLAB_TYPE(6, 50, PATH)
	CHANGE_SLAB_TYPE(6, 51, PATH)
	CREATE_EFFECT_AT_POS(5,16,154,100)
	CREATE_EFFECT_AT_POS(5,19,154,100)
ENDIF

IF_SLAB_OWNER(5, 44, PLAYER0)
	CHANGE_SLAB_TYPE(5, 44, PATH)
	CHANGE_SLAB_TYPE(5, 45, PATH)
	CHANGE_SLAB_TYPE(5, 46, PATH)
	CHANGE_SLAB_TYPE(6, 44, PATH)
	CHANGE_SLAB_TYPE(6, 45, PATH)
	CHANGE_SLAB_TYPE(6, 46, PATH)
	CREATE_EFFECT_AT_POS(5,16,136,100)
	CREATE_EFFECT_AT_POS(5,19,136,100)
ENDIF

IF_SLAB_OWNER(32, 44, PLAYER0)
	CHANGE_SLAB_TYPE(32, 44, PATH)
	CHANGE_SLAB_TYPE(32, 45, PATH)
	CHANGE_SLAB_TYPE(32, 46, PATH)
	CHANGE_SLAB_TYPE(33, 44, PATH)
	CHANGE_SLAB_TYPE(33, 45, PATH)
	CHANGE_SLAB_TYPE(33, 46, PATH)
	CHANGE_SLAB_TYPE(34, 44, PATH)
	CHANGE_SLAB_TYPE(34, 45, PATH)
	CHANGE_SLAB_TYPE(34, 46, PATH)
	CHANGE_SLAB_TYPE(35, 44, PATH)
	CHANGE_SLAB_TYPE(35, 45, PATH)
	CHANGE_SLAB_TYPE(35, 46, PATH)
	CHANGE_SLAB_TYPE(36, 45, DIRT)
	CHANGE_SLAB_TYPE(36, 46, DIRT)
	CREATE_EFFECT_AT_POS(5,97,136,100)
	CREATE_EFFECT_AT_POS(5,103,136,100)
	CREATE_EFFECT_AT_POS(5,100,139,100)
	CREATE_EFFECT_AT_POS(5,106,139,100)
ENDIF

IF_SLAB_OWNER(12, 38, PLAYER0)
	CHANGE_SLAB_TYPE(12, 38, PATH)
	CHANGE_SLAB_TYPE(13, 38, PATH)
	CHANGE_SLAB_TYPE(14, 38, PATH)
	CHANGE_SLAB_TYPE(12, 37, DIRT)
	CREATE_EFFECT_AT_POS(5,40,115,100)
	CREATE_EFFECT_AT_POS(5,43,115,100)
ENDIF

IF_SLAB_OWNER(26, 38, PLAYER0)
	CHANGE_SLAB_TYPE(24, 38, PATH)
	CHANGE_SLAB_TYPE(25, 38, PATH)
	CHANGE_SLAB_TYPE(26, 38, PATH)
	CHANGE_SLAB_TYPE(26, 37, DIRT)
	CREATE_EFFECT_AT_POS(5,73,115,100)
	CREATE_EFFECT_AT_POS(5,76,115,100)
ENDIF

IF_SLAB_OWNER(25, 88, PLAYER0)
	CHANGE_SLAB_TYPE(24, 85, PATH)
	CHANGE_SLAB_TYPE(24, 86, PATH)
	CHANGE_SLAB_TYPE(24, 87, PATH)
	CHANGE_SLAB_TYPE(24, 88, PATH)
	CHANGE_SLAB_TYPE(25, 85, PATH)
	CHANGE_SLAB_TYPE(25, 86, PATH)
	CHANGE_SLAB_TYPE(25, 87, PATH)
	CHANGE_SLAB_TYPE(25, 88, PATH)
	CREATE_EFFECT_AT_POS(5,76,256,100)
	CREATE_EFFECT_AT_POS(5,73,256,100)
	CREATE_EFFECT_AT_POS(5,76,262,100)
	CREATE_EFFECT_AT_POS(5,73,262,100)
ENDIF

IF_SLAB_OWNER(35, 88, PLAYER0)
	CHANGE_SLAB_TYPE(34, 85, PATH)
	CHANGE_SLAB_TYPE(34, 86, PATH)
	CHANGE_SLAB_TYPE(34, 87, PATH)
	CHANGE_SLAB_TYPE(34, 88, PATH)
	CHANGE_SLAB_TYPE(35, 85, PATH)
	CHANGE_SLAB_TYPE(35, 86, PATH)
	CHANGE_SLAB_TYPE(35, 87, PATH)
	CHANGE_SLAB_TYPE(35, 88, PATH)
	CHANGE_SLAB_TYPE(36, 85, DIRT)
	CHANGE_SLAB_TYPE(36, 86, DIRT)
	CHANGE_SLAB_TYPE(36, 87, DIRT)
	CREATE_EFFECT_AT_POS(5,106,256,100)
	CREATE_EFFECT_AT_POS(5,103,256,100)
	CREATE_EFFECT_AT_POS(5,106,262,100)
	CREATE_EFFECT_AT_POS(5,103,262,100)
ENDIF


IF_SLAB_OWNER(42, 118, PLAYER0)
	CHANGE_SLAB_TYPE(42, 118, PATH)
	CHANGE_SLAB_TYPE(43, 118, PATH)
	CHANGE_SLAB_TYPE(44, 118, PATH)
	CHANGE_SLAB_TYPE(45, 118, PATH)
	CHANGE_SLAB_TYPE(46, 118, PATH)
	CHANGE_SLAB_TYPE(47, 118, PATH)
	CHANGE_SLAB_TYPE(48, 118, PATH)
	CREATE_EFFECT_AT_POS(5,130,355,100)
	CREATE_EFFECT_AT_POS(5,135,355,100)
	CREATE_EFFECT_AT_POS(5,140,355,100)
	CREATE_EFFECT_AT_POS(5,145,355,100)
ENDIF

IF_SLAB_OWNER(52, 111, PLAYER0)
	CHANGE_SLAB_TYPE(52, 111, PATH)
	CHANGE_SLAB_TYPE(52, 110, PATH)
	CHANGE_SLAB_TYPE(52, 109, PATH)
	CHANGE_SLAB_TYPE(52, 108, PATH)
	CHANGE_SLAB_TYPE(52, 107, PATH)
	CHANGE_SLAB_TYPE(52, 106, PATH)
	CREATE_EFFECT_AT_POS(5,157,331,100)
	CREATE_EFFECT_AT_POS(5,157,326,100)
	CREATE_EFFECT_AT_POS(5,157,321,100)
ENDIF

IF_SLAB_OWNER(52, 99, PLAYER0)
	CHANGE_SLAB_TYPE(52, 99, PATH)
	CHANGE_SLAB_TYPE(52, 98, PATH)
	CHANGE_SLAB_TYPE(52, 97, PATH)
	CHANGE_SLAB_TYPE(52, 96, PATH)
	CHANGE_SLAB_TYPE(52, 95, PATH)
	CHANGE_SLAB_TYPE(52, 94, PATH)
	CREATE_EFFECT_AT_POS(5,157,295,100)
	CREATE_EFFECT_AT_POS(5,157,290,100)
	CREATE_EFFECT_AT_POS(5,157,285,100)
ENDIF



REM-ACTIONPOINTS
IF_ACTION_POINT(1,PLAYER0)
	COMPUTER_PLAYER(PLAYER1,0)
	ROOM_AVAILABLE(PLAYER1,TREASURE,1,1)
	ROOM_AVAILABLE(PLAYER1,LAIR,1,1)
	ROOM_AVAILABLE(PLAYER1,GARDEN,1,1)
	ROOM_AVAILABLE(PLAYER1,TRAINING,1,1)
	ROOM_AVAILABLE(PLAYER1,RESEARCH,1,1)
	ROOM_AVAILABLE(PLAYER1,WORKSHOP,1,1)
	ROOM_AVAILABLE(PLAYER1,GUARD_POST,1,1)
	ROOM_AVAILABLE(PLAYER1,PRISON,1,1)
	ROOM_AVAILABLE(PLAYER1,TORTURE,1,1)
	ROOM_AVAILABLE(PLAYER1,BARRACKS,1,1)
	ROOM_AVAILABLE(PLAYER1,GRAVEYARD,1,1)
	ADD_CREATURE_TO_LEVEL(PLAYER1,IMP,13,8,1,0)
	ADD_CREATURE_TO_LEVEL(PLAYER1,GHOST,13,30,2,0)
	ADD_CREATURE_TO_LEVEL(PLAYER1,SKELETON,13,30,2,0)
	QUICK_INFORMATION(10,"Just to let you know, you are not alone here...",ALL_PLAYERS)
ENDIF

IF_ACTION_POINT(2,PLAYER0)
	COMPUTER_PLAYER(PLAYER3,0)
	ROOM_AVAILABLE(PLAYER3,TREASURE,1,1)
	ROOM_AVAILABLE(PLAYER3,LAIR,1,1)
	ROOM_AVAILABLE(PLAYER3,GARDEN,1,1)
	ROOM_AVAILABLE(PLAYER3,TRAINING,1,1)
	ROOM_AVAILABLE(PLAYER3,RESEARCH,1,1)
	ROOM_AVAILABLE(PLAYER3,WORKSHOP,1,1)
	ROOM_AVAILABLE(PLAYER3,GUARD_POST,1,1)
	ROOM_AVAILABLE(PLAYER3,BARRACKS,1,1)
	ROOM_AVAILABLE(PLAYER3,TEMPLE,1,1)
	ADD_CREATURE_TO_LEVEL(PLAYER3,IMP,12,8,1,0)
	ADD_CREATURE_TO_LEVEL(PLAYER3,SORCEROR,12,20,4,0)
	ADD_CREATURE_TO_LEVEL(PLAYER3,BILE_DEMON,12,20,4,0)
ENDIF

IF_ACTION_POINT(4,PLAYER0)
	ADD_CREATURE_TO_LEVEL(PLAYER_GOOD,FAIRY,3,5,2,110)
	ADD_CREATURE_TO_LEVEL(PLAYER_GOOD,BARBARIAN,3,5,2,110)
ENDIF

IF_ACTION_POINT(29,PLAYER0)
	ADD_CREATURE_TO_LEVEL(PLAYER_GOOD,MONK,5,3,2,120)
	ADD_CREATURE_TO_LEVEL(PLAYER_GOOD,DRUID,5,3,2,120)
ENDIF

IF_ACTION_POINT(30,PLAYER0)
	ADD_CREATURE_TO_LEVEL(PLAYER_GOOD,ARCHER,6,4,3,130)
	ADD_CREATURE_TO_LEVEL(PLAYER_GOOD,THIEF,6,4,3,130)
ENDIF

IF_ACTION_POINT(31,PLAYER0)
	ADD_CREATURE_TO_LEVEL(PLAYER_GOOD,FAIRY,7,5,4,140)
ENDIF

IF_ACTION_POINT(32,PLAYER0)
	ADD_CREATURE_TO_LEVEL(PLAYER_GOOD,DWARFA,8,5,4,150)
ENDIF

IF_ACTION_POINT(33,PLAYER0)
	ADD_CREATURE_TO_LEVEL(PLAYER_GOOD,GIANT,9,4,4,160)
	ADD_CREATURE_TO_LEVEL(PLAYER_GOOD,BARBARIAN,9,4,4,170)
ENDIF

IF_ACTION_POINT(34,PLAYER0)
	ADD_CREATURE_TO_LEVEL(PLAYER_GOOD,SAMURAI,10,8,3,180)
ENDIF

IF_ACTION_POINT(35,PLAYER0)
	ADD_CREATURE_TO_LEVEL(PLAYER_GOOD,SAMURAI,11,6,9,190)
	ADD_CREATURE_TO_LEVEL(PLAYER_GOOD,KNIGHT,11,1,10,2000)
ENDIF

IF_SLAB_OWNER(59, 108, PLAYER0)
	ADD_CREATURE_TO_LEVEL(PLAYER_GOOD,GIANT,16,5,3,200)
ENDIF

IF_SLAB_OWNER(59, 112, PLAYER0)
	ADD_CREATURE_TO_LEVEL(PLAYER_GOOD,ARCHER,17,5,3,210)
ENDIF

IF_SLAB_OWNER(57, 131, PLAYER0)
	ADD_CREATURE_TO_LEVEL(PLAYER_GOOD,MONK,18,5,3,220)
ENDIF

IF_SLAB_OWNER(47, 130, PLAYER0)
	ADD_CREATURE_TO_LEVEL(PLAYER_GOOD,WITCH,19,5,3,230)
	ADD_CREATURE_TO_LEVEL(PLAYER_GOOD,DRUID,20,5,3,240)
ENDIF

IF_SLAB_OWNER(51, 137, PLAYER0)
	ADD_CREATURE_TO_LEVEL(PLAYER_GOOD,DWARFA,21,5,3,250)
ENDIF

IF_SLAB_OWNER(56, 140, PLAYER0)
	ADD_CREATURE_TO_LEVEL(PLAYER_GOOD,TIME_MAGE,22,5,3,250)
ENDIF

IF_ACTION_POINT(37,PLAYER0)
	ADD_CREATURE_TO_LEVEL(PLAYER5,BILE_DEMON,27,5,3,0)
	ADD_CREATURE_TO_LEVEL(PLAYER5,FLY,27,15,2,0)
ENDIF

IF_ACTION_POINT(38,PLAYER0)
	QUICK_INFORMATION(11,"Something big seem to have died here...",ALL_PLAYERS)
	ADD_CREATURE_TO_LEVEL(PLAYER5,BILE_DEMON,36,3,2,0)
	ADD_CREATURE_TO_LEVEL(PLAYER5,BILE_DEMON,36,3,5,0)
	ADD_CREATURE_TO_LEVEL(PLAYER5,FLY,36,10,4,0)
	ADD_CREATURE_TO_LEVEL(PLAYER5,BUG,36,10,4,0)
ENDIF

IF_ACTION_POINT(39,PLAYER0)
	ADD_CREATURE_TO_LEVEL(PLAYER5,BILE_DEMON,23,3,1,0)
	ADD_CREATURE_TO_LEVEL(PLAYER5,BILE_DEMON,23,3,7,0)
	ADD_CREATURE_TO_LEVEL(PLAYER5,FLY,23,10,6,0)
	ADD_CREATURE_TO_LEVEL(PLAYER5,BUG,23,10,6,0)
ENDIF

IF_ACTION_POINT(40,PLAYER0)
	ADD_CREATURE_TO_LEVEL(PLAYER5,BILE_DEMON,24,4,10,0)
	ADD_CREATURE_TO_LEVEL(PLAYER5,FLY,24,15,10,0)
ENDIF

IF_ACTION_POINT(41,PLAYER0)
	ADD_CREATURE_TO_LEVEL(PLAYER5,BILE_DEMON,25,3,3,0)
	ADD_CREATURE_TO_LEVEL(PLAYER5,BILE_DEMON,25,2,8,0)
	ADD_CREATURE_TO_LEVEL(PLAYER5,FLY,25,10,7,0)
	ADD_CREATURE_TO_LEVEL(PLAYER5,BUG,25,10,7,0)
ENDIF

IF_SLAB_OWNER(55, 160, PLAYER0)
	ADD_CREATURE_TO_LEVEL(PLAYER5,VAMPIRE,28,5,5,0)
	ADD_CREATURE_TO_LEVEL(PLAYER5,VAMPIRE,28,5,10,0)
ENDIF

IF(PLAYER1,DUNGEON_DESTROYED==1)
	ADD_CREATURE_TO_LEVEL(PLAYER5,MAIDEN,14,3,10,0)
ENDIF

IF(PLAYER3,DUNGEON_DESTROYED==1)
	ADD_CREATURE_TO_LEVEL(PLAYER5,MAIDEN,15,3,10,0)
ENDIF

SET_BOX_TOOLTIP(1,"Rise Training Room Max Level")

IF(PLAYER0,BOX1_ACTIVATED > 0)
	QUICK_MESSAGE(80,"Training room level cap 4",TRAINING)
	SET_GAME_RULE(TrainingRoomMaxLevel,4)
ENDIF

IF(PLAYER0,BOX1_ACTIVATED > 1)
	QUICK_MESSAGE(81,"Training room level cap 5",TRAINING)
	SET_GAME_RULE(TrainingRoomMaxLevel,5)
ENDIF

IF(PLAYER0,BOX1_ACTIVATED > 2)
	QUICK_MESSAGE(82,"Training room level cap 6",TRAINING)
	SET_GAME_RULE(TrainingRoomMaxLevel,6)
ENDIF

IF(PLAYER0,BOX1_ACTIVATED > 3)
	QUICK_MESSAGE(83,"Training room level cap 7",TRAINING)
	SET_GAME_RULE(TrainingRoomMaxLevel,7)
ENDIF

IF(PLAYER0,BOX1_ACTIVATED > 4)
	QUICK_MESSAGE(84,"Training room level cap 8",TRAINING)
	SET_GAME_RULE(TrainingRoomMaxLevel,8)
ENDIF

IF(PLAYER0,BOX1_ACTIVATED > 5)
	QUICK_MESSAGE(85,"Training room level cap 9",TRAINING)
	SET_GAME_RULE(TrainingRoomMaxLevel,9)
ENDIF

IF(PLAYER0,BOX1_ACTIVATED > 6)
	QUICK_MESSAGE(86,"Training room level cap 10",TRAINING)
	SET_GAME_RULE(TrainingRoomMaxLevel,10)
ENDIF

IF_ACTION_POINT(45,PLAYER0)
	QUICK_INFORMATION(12,"The old evil sealed behind this gate is leaking, slowly corrupting this realm. Of course it ends up being your problem to clean things up before you can call yourself the sole ruler of this land. Good luck finding a way to open it.",26)
ENDIF

IF_ACTION_POINT(48,PLAYER0)
	QUICK_INFORMATION(15,"Wierd sounds seep through the rocks, look out for hidden doors.",48)
ENDIF

IF(PLAYER_GOOD,FLAG1 == 1)
	IF_ACTION_POINT(42,PLAYER0)
		NEXT_COMMAND_REUSABLE
		CHANGE_CREATURE_OWNER(PLAYER0,GHOST,AT_ACTION_POINT[42],PLAYER5)
		NEXT_COMMAND_REUSABLE
		RESET_ACTION_POINT(42)
	ENDIF
ENDIF


IF_SLAB_OWNER(105, 84, PLAYER0)
	CHANGE_SLAB_TYPE(105, 87, PURPLE_PATH)
	CHANGE_SLAB_TYPE(105, 88, PURPLE_PATH)
	CHANGE_SLAB_TYPE(105, 89, PURPLE_PATH)
	CHANGE_SLAB_TYPE(105, 90, PURPLE_PATH)
	CHANGE_SLAB_TYPE(105, 91, PURPLE_PATH)
	CREATE_EFFECTS_LINE(14, 26, 0, 12, 16, 14)
	ADD_TO_FLAG(PLAYER0,BOX250_ACTIVATED,1)
ENDIF

IF_SLAB_OWNER(105, 100, PLAYER0)
	CHANGE_SLAB_TYPE(105, 97, PURPLE_PATH)
	CHANGE_SLAB_TYPE(105, 96, PURPLE_PATH)
	CHANGE_SLAB_TYPE(105, 95, PURPLE_PATH)
	CHANGE_SLAB_TYPE(105, 94, PURPLE_PATH)
	CHANGE_SLAB_TYPE(105, 93, PURPLE_PATH)
	CREATE_EFFECTS_LINE(15, 26, 0, 12, 16, 14)
	ADD_TO_FLAG(PLAYER0,BOX250_ACTIVATED,1)
ENDIF

SET_BOX_TOOLTIP(3,"OPEN TOMB")

IF(PLAYER0,BOX250_ACTIVATED == 1)
	QUICK_MESSAGE(90,"SEAL 1 BREACHED",SCAVENGER)
ENDIF

IF(PLAYER0,BOX250_ACTIVATED == 2)
	QUICK_MESSAGE(91,"SEAL 2 BREACHED",SCAVENGER)
	ADD_OBJECT_TO_LEVEL(SPECBOX_CUSTOM,26,3,PLAYER0)
	IF(PLAYER0,VIEW_TYPE == 1)
		ZOOM_TO_LOCATION(PLAYER0,26)
	ENDIF
ENDIF

IF(PLAYER0,BOX3_ACTIVATED > 0)
	COMPUTER_PLAYER(PLAYER2,0)
	ADD_GOLD_TO_PLAYER(PLAYER2,5000000)
	MAGIC_AVAILABLE(PLAYER2,POWER_IMP,0,0)
	MAGIC_AVAILABLE(PLAYER2,POWER_CALL_TO_ARMS,0,0)
	ROOM_AVAILABLE(PLAYER2,TREASURE,1,1)
	ROOM_AVAILABLE(PLAYER2,LAIR,1,1)
	ROOM_AVAILABLE(PLAYER2,GARDEN,1,1)
	ROOM_AVAILABLE(PLAYER2,TRAINING,1,1)
	ROOM_AVAILABLE(PLAYER2,RESEARCH,1,1)
	ROOM_AVAILABLE(PLAYER2,WORKSHOP,1,1)
	ROOM_AVAILABLE(PLAYER2,GUARD_POST,1,1)
	ROOM_AVAILABLE(PLAYER2,PRISON,1,1)
	ROOM_AVAILABLE(PLAYER2,TORTURE,1,1)
	ROOM_AVAILABLE(PLAYER2,BARRACKS,1,1)
	ROOM_AVAILABLE(PLAYER2,GRAVEYARD,1,1)
	ROOM_AVAILABLE(PLAYER2,TEMPLE,1,1)
	ADD_CREATURE_TO_LEVEL(PLAYER2,VAMPIRE,43,20,5,0)
	ADD_CREATURE_TO_LEVEL(PLAYER2,HORNY,43,20,5,0)
	ADD_CREATURE_TO_LEVEL(PLAYER2,DARK_MISTRESS,44,20,5,0)
	ADD_CREATURE_TO_LEVEL(PLAYER2,MAIDEN,44,20,5,0)
	ADD_CREATURE_TO_LEVEL(PLAYER2,SKELETON,44,20,5,0)
	SET_CREATURE_CONFIGURATION(HORNY,HurtByLava,2)
	SET_TIMER(PLAYER_GOOD,TIMER1)
	SET_TIMER(PLAYER_GOOD,TIMER2)
	SET_FLAG(PLAYER_GOOD,FLAG1,2)
	QUICK_OBJECTIVE(4,"The last battle awaits, are you prepared keeper?",ALL_PLAYERS)
	IF(PLAYER0,VIEW_TYPE == 1)
		ZOOM_TO_LOCATION(PLAYER0,26)
	ENDIF
ENDIF

IF_ACTION_POINT(47,PLAYER0)
	ADD_CREATURE_TO_LEVEL(PLAYER2,IMP,43,16,3,0)
	MAGIC_AVAILABLE(PLAYER2,POWER_IMP,1,1)
	MAGIC_AVAILABLE(PLAYER2,POWER_CALL_TO_ARMS,1,1)
ENDIF

IF(PLAYER_GOOD,TIMER1 >= 10)
	CREATE_EFFECTS_LINE(45, 42, 0, 48, 2, 53)
ENDIF

IF(PLAYER_GOOD,TIMER1 >= 20)
	CREATE_EFFECTS_LINE(26, 42, 0, 12, 16, 14)
ENDIF

IF(PLAYER_GOOD,TIMER1 >= 30)
	CREATE_EFFECTS_LINE(45, 42, 0, 12, 16, 14)
	CREATE_EFFECTS_LINE(14, 26, 0, 12, 16, 14)
	CREATE_EFFECTS_LINE(15, 26, 0, 12, 16, 14)
	CHANGE_SLAB_TYPE(110, 92, PATH)
ENDIF

IF(PLAYER_GOOD,TIMER1 >= 40)
	CREATE_EFFECTS_LINE(42, 45, 0, 48, 2, 53)
	CREATE_EFFECTS_LINE(26, 14, 0, 12, 16, 14)
	CREATE_EFFECTS_LINE(26, 15, 0, 12, 16, 14)
	CREATE_EFFECT(48,26)
	PLAY_MESSAGE(PLAYER0,SOUND,824)
	ADD_CREATURE_TO_LEVEL(PLAYER5,HORNY,46,5,5,0)
	ADD_CREATURE_TO_LEVEL(PLAYER5,HORNY,46,5,10,0)
ENDIF

IF(PLAYER_GOOD,TIMER1 >= 1000)
	IF_CONTROLS(PLAYER2,TOTAL_CREATURES <= 20)
		ADD_CREATURE_TO_LEVEL(PLAYER2,HORNY,43,10,10,0)
		ADD_CREATURE_TO_LEVEL(PLAYER2,MAIDEN,44,10,10,0)
	ENDIF
ENDIF

IF(PLAYER_GOOD,TIMER2 >= 1000)
 	NEXT_COMMAND_REUSABLE
	CHANGE_CREATURES_ANNOYANCE(PLAYER2,HORNY,SET,0)
	NEXT_COMMAND_REUSABLE
	SET_TIMER(PLAYER_GOOD,TIMER2)
ENDIF

IF(PLAYER_GOOD,FLAG1 == 2)
	IF(PLAYER2,DUNGEON_DESTROYED==1)
		WIN_GAME
	ENDIF
ENDIF