REM *** 
REM *** 
REM ***      PLAYER0,FLAG0       =>     Quest-Progress
REM ***      PLAYER0,FLAG1       =>     Revive-Trigger
REM ***      PLAYER0,FLAG2       =>     Teleporter-Sound-Trigger, 0 = Off, 1 = For PLAYER0, 2 = For PLAYER1
REM *** 
REM ***      PLAYER0,TIMER0      =>     Quest Delay
REM ***      PLAYER0,TIMER1      =>     Revive Delay
REM *** 
REM ***      PLAYER0,FLAG3       =>     Hint-Message-Trigger
REM ***      PLAYER0,FLAG4       =>     Player0 took Red Mushrooms
REM ***      PLAYER0,FLAG5       =>     Player1 took Red Mushrooms
REM *** 
REM ***      PLAYER_GOOD,FLAG0   =>     Quest-Related Variable
REM ***           .                            .
REM ***           .                            .
REM ***      PLAYER_GOOD,FLAG7   =>     Quest-Related Variable
REM *** 
REM ***      PLAYER0,FLAG6       =>     Platform 1: Current Imp-Amount 
REM ***      PLAYER0,FLAG7       =>     Platform 1: Last Imp-Amount, if Tower: Current Layer
REM ***      PLAYER0,TIMER7      =>     Platform 1, Only for Towers: Layer-Change-Delay
REM ***           .
REM ***           .    Same for PLAYER1 to PLAYER6 & PLAYER_NEUTRAL, 
REM ***           .   so there are 8 Platforms possible at same time.
REM ***           .
REM *** 
REM *** 
REM ***      Unused are PLAYER1 to PLAYER6 & PLAYER_NEUTRAL: FLAG0  to FLAG5
REM ***          and    PLAYER1 to PLAYER6 & PLAYER_NEUTRAL: TIMER0 to TIMER6
REM *** 
REM *** 

LEVEL_VERSION(1)

REM *** Only for testing! ***
REM SET_FLAG(PLAYER0,FLAG0,0) REM Quest Progress
REM SET_CREATURE_CONFIGURATION(IMP0,HurtByLava,0)
REM SET_CREATURE_CONFIGURATION(IMP0,SpellImmunity,POISON_CLOUD)
REM SET_CREATURE_PROPERTY(IMP0,IMMUNE_TO_BOULDER,1)
REM COMPUTER_PLAYER(PLAYER1,ROAMING)

SET_GAME_RULE(BodyRemainsFor,0)
SET_GAME_RULE(PayDaySpeed,0)

COMPUTER_PLAYER(PLAYER4,ROAMING)
COMPUTER_PLAYER(PLAYER5,ROAMING)

SET_PLAYER_COLOR(PLAYER0,PURPLE)
SET_PLAYER_COLOR(PLAYER4,WHITE)
SET_PLAYER_COLOR(PLAYER6,RED)

MAGIC_AVAILABLE(ALL_PLAYERS,POWER_HAND,0,0)
MAGIC_AVAILABLE(ALL_PLAYERS,POWER_SLAP,0,0)
MAGIC_AVAILABLE(ALL_PLAYERS,POWER_IMP,0,0)

ALLY_PLAYERS(PLAYER0,PLAYER1,3)

REM *** 'Neutral' doors open for players ***
ALLY_PLAYERS(PLAYER5,PLAYER0,3)
ALLY_PLAYERS(PLAYER5,PLAYER1,3)

REM *** Secret Hero Door opens for players ***
ALLY_PLAYERS(PLAYER4,PLAYER0,3)
ALLY_PLAYERS(PLAYER4,PLAYER1,3)

SET_CREATURE_CONFIGURATION(AVATAR,HurtByLava,80) REM 2
SET_CREATURE_INSTANCE(WITCH,2,NULL,0) REM Priestesses unlearn Fly
SET_CREATURE_INSTANCE(FAIRY,3,NULL,0) REM Fairies unlearn Drain
SET_CREATURE_INSTANCE(FAIRY,6,NULL,0) REM Fairies unlearn Invisiblity
SET_CREATURE_INSTANCE(FAIRY,7,NULL,0) REM Fairies unlearn Navigating Missile
SET_CREATURE_INSTANCE(FAIRY,8,NULL,0) REM Fairies unlearn Rebound
SET_CREATURE_INSTANCE(FAIRY,9,NULL,0) REM Fairies unlearn Meteor
SET_CREATURE_INSTANCE(FAIRY,10,NULL,0) REM Fairies unlearn Freeze

REM *** For gold chests ***
SET_OBJECT_CONFIGURATION(POTION_GREEN,AnimationID,936)
SET_OBJECT_CONFIGURATION(POTION_RED,AnimationID,937)
SET_OBJECT_CONFIGURATION(POTION_BROWN,AnimationID,938)
SET_OBJECT_CONFIGURATION(POTION_YELLOW,AnimationID,939)
SET_OBJECT_CONFIGURATION(POTION_WHITE,AnimationID,940)

REM *** Nature looks bigger ***
SET_OBJECT_CONFIGURATION(MUSHROOM_GREEN,MaximumSize,350) REM 200
SET_OBJECT_CONFIGURATION(MUSHROOM_GREEN,LightIntensity,50) REM 30
SET_OBJECT_CONFIGURATION(MUSHROOM_GREEN,LightRadius,8) REM 3
SET_OBJECT_CONFIGURATION(MUSHROOM_YELLOW,MaximumSize,500) REM 200
SET_OBJECT_CONFIGURATION(MUSHROOM_YELLOW,LightIntensity,50) REM 30
SET_OBJECT_CONFIGURATION(MUSHROOM_YELLOW,LightRadius,12) REM 3
SET_OBJECT_CONFIGURATION(MUSHROOM_RED,MaximumSize,500) REM 200
SET_OBJECT_CONFIGURATION(MUSHROOM_RED,LightIntensity,50) REM 30
SET_OBJECT_CONFIGURATION(MUSHROOM_RED,LightRadius,8) REM 3
SET_OBJECT_CONFIGURATION(FERN,MaximumSize,400) REM 200
SET_OBJECT_CONFIGURATION(FERN_SMALL,MaximumSize,400) REM 200
SET_OBJECT_CONFIGURATION(FERN_BROWN,MaximumSize,400) REM 200
SET_OBJECT_CONFIGURATION(FERN_SMALL_BROWN,MaximumSize,400) REM 200
SET_OBJECT_CONFIGURATION(GRAVE_STONE,MaximumSize,150) REM 200

REM *** Torches light more area ***
SET_OBJECT_CONFIGURATION(TORCH,LightRadius,15) REM 3

REM *** Statues disappear if Hero Heart is destroyed ***
SET_OBJECT_CONFIGURATION(TEMPLE_STATUE,Persistence,2) REM 0

CONCEAL_MAP_RECT(ALL_PLAYERS,127,127,255,255) REM Whole map
REVEAL_MAP_RECT(ALL_PLAYERS,16,226,30,46) REM Start area 1
REVEAL_MAP_RECT(ALL_PLAYERS,31,223,15,15) REM Start area 2


REM ***                       ***
REM ***        QUEST 1        ***
REM ***     - Tutorial -      ***
REM ***                       ***

IF(PLAYER0,TIMER1>49) REM Revive Delay
	QUICK_MESSAGE(1, "NOTE: To open the menu, press Shift + Esc",NONE)
ENDIF

IF(PLAYER0,FLAG0==0) REM Quest-Progress
	
	REM *** Pressure Plate 1 ***
	NEXT_COMMAND_REUSABLE
	COUNT_CREATURES_AT_ACTION_POINT(3,ALL_PLAYERS,ANY_CREATURE,PLAYER0,FLAG6)
	IF(PLAYER0,FLAG7<PLAYER0,FLAG6) REM More Imps than last frame
		IF(PLAYER0,FLAG6==1)
			NEXT_COMMAND_REUSABLE
			CHANGE_SLAB_TYPE(12,68,PRESS_PLATE_0)
			NEXT_COMMAND_REUSABLE
			PLAY_MESSAGE(ALL_PLAYERS,SOUND,91) REM "doorup2.wav"
			NEXT_COMMAND_REUSABLE
			COMPUTE_FLAG(PLAYER0,FLAG7,SET,PLAYER0,FLAG6,0) REM Last Imp now 1 or 2
		ENDIF
	ENDIF
	IF(PLAYER0,FLAG7>PLAYER0,FLAG6) REM Less Imps than last frame
		IF(PLAYER0,FLAG6==0)
			NEXT_COMMAND_REUSABLE
			CHANGE_SLAB_TYPE(12,68,PRESS_PLATE_1)
			NEXT_COMMAND_REUSABLE
			PLAY_MESSAGE(ALL_PLAYERS,SOUND,92) REM "doordown.wav"
			NEXT_COMMAND_REUSABLE
			SET_FLAG(PLAYER0,FLAG7,0) REM Last Imp now 0
		ENDIF
	ENDIF
	
	REM *** Pressure Plate 2 ***
	NEXT_COMMAND_REUSABLE
	COUNT_CREATURES_AT_ACTION_POINT(4,ALL_PLAYERS,ANY_CREATURE,PLAYER1,FLAG6)
	IF(PLAYER1,FLAG7<PLAYER1,FLAG6) REM More Imps than last frame
		IF(PLAYER1,FLAG6==1)
			NEXT_COMMAND_REUSABLE
			CHANGE_SLAB_TYPE(14,68,PRESS_PLATE_0)
			NEXT_COMMAND_REUSABLE
			PLAY_MESSAGE(ALL_PLAYERS,SOUND,91) REM "doorup2.wav"
			NEXT_COMMAND_REUSABLE
			COMPUTE_FLAG(PLAYER1,FLAG7,SET,PLAYER1,FLAG6,0) REM Last Imp now 1 or 2
		ENDIF
	ENDIF
	IF(PLAYER1,FLAG7>PLAYER1,FLAG6) REM Less Imps than last frame
		IF(PLAYER1,FLAG6==0)
			NEXT_COMMAND_REUSABLE
			CHANGE_SLAB_TYPE(14,68,PRESS_PLATE_1)
			NEXT_COMMAND_REUSABLE
			PLAY_MESSAGE(ALL_PLAYERS,SOUND,92) REM "doordown.wav"
			NEXT_COMMAND_REUSABLE
			SET_FLAG(PLAYER1,FLAG7,0) REM Last Imp now 0
		ENDIF
	ENDIF
	
	REM *** Both Pressure Plates ***
	IF(PLAYER0,FLAG6==0) REM No Imp at Platform 1
		NEXT_COMMAND_REUSABLE
		SET_TIMER(PLAYER0,TIMER0)
	ENDIF
	IF(PLAYER1,FLAG6==0) REM No Imp at Platform 2
		NEXT_COMMAND_REUSABLE
		SET_TIMER(PLAYER0,TIMER0)
	ENDIF
	IF(PLAYER0,TIMER0>35)
		PLAY_MESSAGE(ALL_PLAYERS,SOUND,60) REM "button1.wav"
		PLAY_MESSAGE(ALL_PLAYERS,SOUND,76) REM "stars3.wav"
		SET_DOOR(LOCKED,10,70)
		CHANGE_SLAB_TYPE(13,66,DOOR_2_OPEN)
		REM *** Reset Quest-related Flags and Timers ***
		SET_FLAG(PLAYER0,FLAG6,0)
		SET_FLAG(PLAYER0,FLAG7,0)
		SET_FLAG(PLAYER1,FLAG6,0)
		SET_FLAG(PLAYER1,FLAG7,0)
		SET_TIMER(PLAYER0,TIMER0)
		REM *** Next Quest ***
		ADD_TO_FLAG(PLAYER0,FLAG0,1) REM Quest-Progress
	ENDIF
ENDIF

REM ***                       ***
REM ***        QUEST 2        ***
REM ***    - Lava-Doors -     ***
REM ***                       ***

IF(PLAYER0,FLAG0==1) REM Quest-Progress
	
	REM *** Pressure Plate 1 - Door 1 ***
	NEXT_COMMAND_REUSABLE
	COUNT_CREATURES_AT_ACTION_POINT(6,ALL_PLAYERS,ANY_CREATURE,PLAYER0,FLAG6)
	IF(PLAYER0,FLAG7<PLAYER0,FLAG6) REM More Imps than last frame
		IF(PLAYER0,FLAG6==1)
			NEXT_COMMAND_REUSABLE
			CHANGE_SLAB_TYPE(18,61,PRESS_PLATE_0)
			NEXT_COMMAND_REUSABLE
			PLAY_MESSAGE(ALL_PLAYERS,SOUND,91) REM "doorup2.wav"
			NEXT_COMMAND_REUSABLE
			SET_DOOR(UNLOCKED,18,64)
			NEXT_COMMAND_REUSABLE
			COMPUTE_FLAG(PLAYER0,FLAG7,SET,PLAYER0,FLAG6,0) REM Last Imp now 1 or 2
		ENDIF
	ENDIF
	IF(PLAYER0,FLAG7>PLAYER0,FLAG6) REM Less Imps than last frame
		IF(PLAYER0,FLAG6==0)
			NEXT_COMMAND_REUSABLE
			CHANGE_SLAB_TYPE(18,61,PRESS_PLATE_1)
			NEXT_COMMAND_REUSABLE
			PLAY_MESSAGE(ALL_PLAYERS,SOUND,92) REM "doordown.wav"
			NEXT_COMMAND_REUSABLE
			SET_DOOR(LOCKED,18,64)
			NEXT_COMMAND_REUSABLE
			SET_FLAG(PLAYER0,FLAG7,0) REM Last Imp now 0
		ENDIF
	ENDIF
	
	REM *** Pressure Plate 2 - Door 2 ***
	NEXT_COMMAND_REUSABLE
	COUNT_CREATURES_AT_ACTION_POINT(7,ALL_PLAYERS,ANY_CREATURE,PLAYER1,FLAG6)
	IF(PLAYER1,FLAG7<PLAYER1,FLAG6) REM More Imps than last frame
		IF(PLAYER1,FLAG6==1)
			NEXT_COMMAND_REUSABLE
			CHANGE_SLAB_TYPE(21,63,PRESS_PLATE_0)
			NEXT_COMMAND_REUSABLE
			PLAY_MESSAGE(ALL_PLAYERS,SOUND,91) REM "doorup2.wav"
			NEXT_COMMAND_REUSABLE
			SET_DOOR(UNLOCKED,21,60)
			NEXT_COMMAND_REUSABLE
			COMPUTE_FLAG(PLAYER1,FLAG7,SET,PLAYER1,FLAG6,0) REM Last Imp now 1 or 2
		ENDIF
	ENDIF
	IF(PLAYER1,FLAG7>PLAYER1,FLAG6) REM Less Imps than last frame
		IF(PLAYER1,FLAG6==0)
			NEXT_COMMAND_REUSABLE
			CHANGE_SLAB_TYPE(21,63,PRESS_PLATE_1)
			NEXT_COMMAND_REUSABLE
			PLAY_MESSAGE(ALL_PLAYERS,SOUND,92) REM "doordown.wav"
			NEXT_COMMAND_REUSABLE
			SET_DOOR(LOCKED,21,60)
			NEXT_COMMAND_REUSABLE
			SET_FLAG(PLAYER1,FLAG7,0) REM Last Imp now 0
		ENDIF
	ENDIF
	
	REM *** Pressure Plate 3 - Door 3 ***
	NEXT_COMMAND_REUSABLE
	COUNT_CREATURES_AT_ACTION_POINT(8,ALL_PLAYERS,ANY_CREATURE,PLAYER2,FLAG6)
	IF(PLAYER2,FLAG7<PLAYER2,FLAG6) REM More Imps than last frame
		IF(PLAYER2,FLAG6==1)
			NEXT_COMMAND_REUSABLE
			CHANGE_SLAB_TYPE(24,61,PRESS_PLATE_0)
			NEXT_COMMAND_REUSABLE
			PLAY_MESSAGE(ALL_PLAYERS,SOUND,91) REM "doorup2.wav"
			NEXT_COMMAND_REUSABLE
			SET_DOOR(UNLOCKED,24,64)
			NEXT_COMMAND_REUSABLE
			COMPUTE_FLAG(PLAYER2,FLAG7,SET,PLAYER2,FLAG6,0) REM Last Imp now 1 or 2
		ENDIF
	ENDIF
	IF(PLAYER2,FLAG7>PLAYER2,FLAG6) REM Less Imps than last frame
		IF(PLAYER2,FLAG6==0)
			NEXT_COMMAND_REUSABLE
			CHANGE_SLAB_TYPE(24,61,PRESS_PLATE_1)
			NEXT_COMMAND_REUSABLE
			PLAY_MESSAGE(ALL_PLAYERS,SOUND,92) REM "doordown.wav"
			NEXT_COMMAND_REUSABLE
			SET_DOOR(LOCKED,24,64)
			NEXT_COMMAND_REUSABLE
			SET_FLAG(PLAYER2,FLAG7,0) REM Last Imp now 0
		ENDIF
	ENDIF
	
	REM *** Pressure Plate 4 - End-Door 1 ***
	NEXT_COMMAND_REUSABLE
	COUNT_CREATURES_AT_ACTION_POINT(9,ALL_PLAYERS,ANY_CREATURE,PLAYER3,FLAG6)
	IF(PLAYER3,FLAG7<PLAYER3,FLAG6) REM More Imps than last frame
		IF(PLAYER3,FLAG6==1)
			NEXT_COMMAND_REUSABLE
			CHANGE_SLAB_TYPE(28,61,PRESS_PLATE_0)
			NEXT_COMMAND_REUSABLE
			PLAY_MESSAGE(ALL_PLAYERS,SOUND,91) REM "doorup2.wav"
			NEXT_COMMAND_REUSABLE
			COMPUTE_FLAG(PLAYER3,FLAG7,SET,PLAYER3,FLAG6,0) REM Last Imp now 1 or 2
		ENDIF
	ENDIF
	IF(PLAYER3,FLAG7>PLAYER3,FLAG6) REM Less Imps than last frame
		IF(PLAYER3,FLAG6==0)
			NEXT_COMMAND_REUSABLE
			CHANGE_SLAB_TYPE(28,61,PRESS_PLATE_1)
			NEXT_COMMAND_REUSABLE
			PLAY_MESSAGE(ALL_PLAYERS,SOUND,92) REM "doordown.wav"
			NEXT_COMMAND_REUSABLE
			SET_FLAG(PLAYER3,FLAG7,0) REM Last Imp now 0
		ENDIF
	ENDIF
	
	REM *** Pressure Plate 5 - End-Door 2 ***
	NEXT_COMMAND_REUSABLE
	COUNT_CREATURES_AT_ACTION_POINT(10,ALL_PLAYERS,ANY_CREATURE,PLAYER4,FLAG6)
	IF(PLAYER4,FLAG7<PLAYER4,FLAG6) REM More Imps than last frame
		IF(PLAYER4,FLAG6==1)
			NEXT_COMMAND_REUSABLE
			CHANGE_SLAB_TYPE(28,63,PRESS_PLATE_0)
			NEXT_COMMAND_REUSABLE
			PLAY_MESSAGE(ALL_PLAYERS,SOUND,91) REM "doorup2.wav"
			NEXT_COMMAND_REUSABLE
			COMPUTE_FLAG(PLAYER4,FLAG7,SET,PLAYER4,FLAG6,0) REM Last Imp now 1 or 2
		ENDIF
	ENDIF
	IF(PLAYER4,FLAG7>PLAYER4,FLAG6) REM Less Imps than last frame
		IF(PLAYER4,FLAG6==0)
			NEXT_COMMAND_REUSABLE
			CHANGE_SLAB_TYPE(28,63,PRESS_PLATE_1)
			NEXT_COMMAND_REUSABLE
			PLAY_MESSAGE(ALL_PLAYERS,SOUND,92) REM "doordown.wav"
			NEXT_COMMAND_REUSABLE
			SET_FLAG(PLAYER4,FLAG7,0) REM Last Imp now 0
		ENDIF
	ENDIF
	
	REM *** Both End Pressure Plates ***
	IF(PLAYER3,FLAG6==0) REM No Imp at End-Platform 1
		NEXT_COMMAND_REUSABLE
		SET_TIMER(PLAYER0,TIMER0)
	ENDIF
	IF(PLAYER4,FLAG6==0) REM No Imp at End-Platform 2
		NEXT_COMMAND_REUSABLE
		SET_TIMER(PLAYER0,TIMER0)
	ENDIF
	IF(PLAYER0,TIMER0>35)
		PLAY_MESSAGE(ALL_PLAYERS,SOUND,60) REM "button1.wav"
		PLAY_MESSAGE(ALL_PLAYERS,SOUND,76) REM "stars3.wav"
		CHANGE_SLAB_TYPE(30,62,DOOR_1_OPEN)
		REM *** Reset Quest-related Flags and Timers ***
		SET_TIMER(PLAYER0,TIMER0)
		REM *** Next Quest ***
		SET_FLAG(PLAYER0,FLAG0,2) REM Quest-Progress
	ENDIF
ENDIF

REM ***                       ***
REM ***        QUEST 3        ***
REM ***    - The Portals -    ***
REM ***                       ***

REM *** Teleporter Sound ***
IF(PLAYER0,FLAG2==1) REM Teleporter-Sound-Trigger for PLAYER0
	NEXT_COMMAND_REUSABLE
	PLAY_MESSAGE(PLAYER0,SOUND,158) REM "makebed.wav"
	NEXT_COMMAND_REUSABLE
	PLAY_MESSAGE(PLAYER0,SOUND,874) REM "flare1.wav"
	NEXT_COMMAND_REUSABLE
	PLAY_MESSAGE(PLAYER0,SOUND,925) REM "power4.wav"
	NEXT_COMMAND_REUSABLE
	SET_FLAG(PLAYER0,FLAG2,0) REM Teleporter-Sound-Trigger
ENDIF
IF(PLAYER0,FLAG2==2) REM Teleporter-Sound-Trigger for PLAYER1
	NEXT_COMMAND_REUSABLE
	PLAY_MESSAGE(PLAYER1,SOUND,158) REM "makebed.wav"
	NEXT_COMMAND_REUSABLE
	PLAY_MESSAGE(PLAYER1,SOUND,874) REM "flare1.wav"
	NEXT_COMMAND_REUSABLE
	PLAY_MESSAGE(PLAYER1,SOUND,925) REM "power4.wav"
	NEXT_COMMAND_REUSABLE
	SET_FLAG(PLAYER0,FLAG2,0) REM Teleporter-Sound-Trigger
ENDIF

REM *** First Portal ***
IF_ACTION_POINT(11,PLAYER0)
	CREATE_EFFECT(54,11) REM 54: EFFECT_COLFOUNTN_1
	MOVE_CREATURE(PLAYER0,ANY_CREATURE,ANYWHERE,1,16,54) REM 54: EFFECT_COLFOUNTN_1
	SET_FLAG(PLAYER0,FLAG2,1) REM Teleport-Sound for PLAYER0
	SET_FLAG(PLAYER0,FLAG0,3) REM Quest-Progress: New Reset-Points
	RESET_ACTION_POINT(11)
ENDIF
IF_ACTION_POINT(11,PLAYER1)
	CREATE_EFFECT(54,11) REM 54: EFFECT_COLFOUNTN_1
	MOVE_CREATURE(PLAYER1,ANY_CREATURE,ANYWHERE,1,16,54) REM 54: EFFECT_COLFOUNTN_1
	SET_FLAG(PLAYER1,FLAG2,2) REM Teleport-Sound for PLAYER1
	SET_FLAG(PLAYER0,FLAG0,3) REM Quest-Progress: New Reset-Points
	RESET_ACTION_POINT(11)
ENDIF
IF(PLAYER0,FLAG0==3) 
	NEXT_COMMAND_REUSABLE
	COUNT_CREATURES_AT_ACTION_POINT(20,ALL_PLAYERS,ANY_CREATURE,PLAYER0,FLAG7)
	IF(PLAYER0,FLAG7==2)
		REM *** Reset Quest-related Flags and Timers ***
		SET_FLAG(PLAYER0,FLAG6,0)
		SET_FLAG(PLAYER0,FLAG7,0)
		SET_FLAG(PLAYER1,FLAG6,0)
		SET_FLAG(PLAYER1,FLAG7,0)
		SET_FLAG(PLAYER2,FLAG6,0)
		SET_FLAG(PLAYER2,FLAG7,0)
		SET_FLAG(PLAYER3,FLAG6,0)
		SET_FLAG(PLAYER3,FLAG7,0)
		SET_FLAG(PLAYER4,FLAG6,0)
		SET_FLAG(PLAYER4,FLAG7,0)
		SET_TIMER(PLAYER0,TIMER0)
		REM *** Next Quest ***
		ADD_TO_FLAG(PLAYER0,FLAG0,1) REM Quest-Progress
	ENDIF
ENDIF

IF(PLAYER0,FLAG0>=4)
	IF(PLAYER0,FLAG0<=7) REM Quest-Progress
		
		REM ***                         ***
		REM ***         PORTALS         ***
		REM ***                         ***
		
		NEXT_COMMAND_REUSABLE
		RESET_ACTION_POINT(5)
		NEXT_COMMAND_REUSABLE
		RESET_ACTION_POINT(17)
		NEXT_COMMAND_REUSABLE
		RESET_ACTION_POINT(19)
		NEXT_COMMAND_REUSABLE
		RESET_ACTION_POINT(21)
		NEXT_COMMAND_REUSABLE
		RESET_ACTION_POINT(23)
		NEXT_COMMAND_REUSABLE
		RESET_ACTION_POINT(24)
		NEXT_COMMAND_REUSABLE
		RESET_ACTION_POINT(26)
		NEXT_COMMAND_REUSABLE
		RESET_ACTION_POINT(27)
		NEXT_COMMAND_REUSABLE
		RESET_ACTION_POINT(28)
		NEXT_COMMAND_REUSABLE
		RESET_ACTION_POINT(29)
		
		REM *** Boulder Portal - Entrance ***
		IF(PLAYER_GOOD,FLAG0==0) REM Sub-Quest 1 (Boulder) not done
			IF_ACTION_POINT(17,PLAYER0)
				NEXT_COMMAND_REUSABLE
				CREATE_EFFECT(54,17) REM 54: EFFECT_COLFOUNTN_1
				NEXT_COMMAND_REUSABLE
				MOVE_CREATURE(PLAYER0,ANY_CREATURE,ANYWHERE,1,18,54) REM 54: EFFECT_COLFOUNTN_1
				NEXT_COMMAND_REUSABLE
				SET_FLAG(PLAYER0,FLAG2,1) REM Teleport-Sound for PLAYER1
			ENDIF
			IF_ACTION_POINT(17,PLAYER1)
				NEXT_COMMAND_REUSABLE
				CREATE_EFFECT(54,17) REM 54: EFFECT_COLFOUNTN_1
				NEXT_COMMAND_REUSABLE
				MOVE_CREATURE(PLAYER1,ANY_CREATURE,ANYWHERE,1,18,54) REM 54: EFFECT_COLFOUNTN_1
				NEXT_COMMAND_REUSABLE
				SET_FLAG(PLAYER0,FLAG2,2) REM Teleport-Sound for PLAYER1
			ENDIF
		ENDIF
		REM *** Boulder Portal - Exit ***
		IF_ACTION_POINT(19,PLAYER0)
			NEXT_COMMAND_REUSABLE
			CREATE_EFFECT(54,19) REM 54: EFFECT_COLFOUNTN_1
			NEXT_COMMAND_REUSABLE
			MOVE_CREATURE(PLAYER0,ANY_CREATURE,ANYWHERE,1,16,54) REM 54: EFFECT_COLFOUNTN_1
			NEXT_COMMAND_REUSABLE
			SET_FLAG(PLAYER0,FLAG2,1) REM Teleport-Sound for PLAYER0
		ENDIF
		IF_ACTION_POINT(19,PLAYER1)
			NEXT_COMMAND_REUSABLE
			CREATE_EFFECT(54,19) REM 54: EFFECT_COLFOUNTN_1
			NEXT_COMMAND_REUSABLE
			MOVE_CREATURE(PLAYER1,ANY_CREATURE,ANYWHERE,1,16,54) REM 54: EFFECT_COLFOUNTN_1
			NEXT_COMMAND_REUSABLE
			SET_FLAG(PLAYER0,FLAG2,2) REM Teleport-Sound for PLAYER1
		ENDIF
		REM *** Boulder Portal - Final ***
		IF_ACTION_POINT(27,PLAYER0)
			NEXT_COMMAND_REUSABLE
			CREATE_EFFECT(54,27) REM 54: EFFECT_COLFOUNTN_1
			NEXT_COMMAND_REUSABLE
			MOVE_CREATURE(PLAYER0,ANY_CREATURE,ANYWHERE,1,16,54) REM 54: EFFECT_COLFOUNTN_1
			NEXT_COMMAND_REUSABLE
			SET_FLAG(PLAYER0,FLAG2,1) REM Teleport-Sound for PLAYER0
		ENDIF
		IF_ACTION_POINT(27,PLAYER1)
			NEXT_COMMAND_REUSABLE
			CREATE_EFFECT(54,27) REM 54: EFFECT_COLFOUNTN_1
			NEXT_COMMAND_REUSABLE
			MOVE_CREATURE(PLAYER1,ANY_CREATURE,ANYWHERE,1,16,54) REM 54: EFFECT_COLFOUNTN_1
			NEXT_COMMAND_REUSABLE
			SET_FLAG(PLAYER0,FLAG2,2) REM Teleport-Sound for PLAYER1
		ENDIF
		REM *** Mushroom Portal - Entrance ***
		IF(PLAYER_GOOD,FLAG1==0) REM Sub-Quest 2 (Mushrooms) not done
			IF_ACTION_POINT(21,PLAYER0)
				NEXT_COMMAND_REUSABLE
				CREATE_EFFECT(54,21) REM 54: EFFECT_COLFOUNTN_1
				NEXT_COMMAND_REUSABLE
				MOVE_CREATURE(PLAYER0,ANY_CREATURE,ANYWHERE,1,22,54) REM 54: EFFECT_COLFOUNTN_1
				NEXT_COMMAND_REUSABLE
				SET_FLAG(PLAYER0,FLAG2,1) REM Teleport-Sound for PLAYER0
			ENDIF
			IF_ACTION_POINT(21,PLAYER1)
				NEXT_COMMAND_REUSABLE
				CREATE_EFFECT(54,21) REM 54: EFFECT_COLFOUNTN_1
				NEXT_COMMAND_REUSABLE
				MOVE_CREATURE(PLAYER1,ANY_CREATURE,ANYWHERE,1,22,54) REM 54: EFFECT_COLFOUNTN_1
				NEXT_COMMAND_REUSABLE
				SET_FLAG(PLAYER0,FLAG2,2) REM Teleport-Sound for PLAYER1
			ENDIF
		ENDIF
		REM *** Mushroom Portal - Exit ***
		IF_ACTION_POINT(23,PLAYER0)
			NEXT_COMMAND_REUSABLE
			CREATE_EFFECT(54,23) REM 54: EFFECT_COLFOUNTN_1
			NEXT_COMMAND_REUSABLE
			MOVE_CREATURE(PLAYER0,ANY_CREATURE,ANYWHERE,1,16,54) REM 54: EFFECT_COLFOUNTN_1
			NEXT_COMMAND_REUSABLE
			SET_FLAG(PLAYER0,FLAG2,1) REM Teleport-Sound for PLAYER0
		ENDIF
		IF_ACTION_POINT(23,PLAYER1)
			NEXT_COMMAND_REUSABLE
			CREATE_EFFECT(54,23) REM 54: EFFECT_COLFOUNTN_1
			NEXT_COMMAND_REUSABLE
			MOVE_CREATURE(PLAYER1,ANY_CREATURE,ANYWHERE,1,16,54) REM 54: EFFECT_COLFOUNTN_1
			NEXT_COMMAND_REUSABLE
			SET_FLAG(PLAYER0,FLAG2,2) REM Teleport-Sound for PLAYER1
		ENDIF
		REM *** Mushroom Portal - Final ***
		IF_ACTION_POINT(28,PLAYER0)
			NEXT_COMMAND_REUSABLE
			CREATE_EFFECT(54,28) REM 54: EFFECT_COLFOUNTN_1
			NEXT_COMMAND_REUSABLE
			MOVE_CREATURE(PLAYER0,ANY_CREATURE,ANYWHERE,1,16,54) REM 54: EFFECT_COLFOUNTN_1
			NEXT_COMMAND_REUSABLE
			SET_FLAG(PLAYER0,FLAG2,1) REM Teleport-Sound for PLAYER0
		ENDIF
		IF_ACTION_POINT(28,PLAYER1)
			NEXT_COMMAND_REUSABLE
			CREATE_EFFECT(54,28) REM 54: EFFECT_COLFOUNTN_1
			NEXT_COMMAND_REUSABLE
			MOVE_CREATURE(PLAYER1,ANY_CREATURE,ANYWHERE,1,16,54) REM 54: EFFECT_COLFOUNTN_1
			NEXT_COMMAND_REUSABLE
			SET_FLAG(PLAYER0,FLAG2,2) REM Teleport-Sound for PLAYER1
		ENDIF
		REM *** Time Plates Portal - Entrance ***
		IF(PLAYER_GOOD,FLAG2==0) REM Sub-Quest 3 (Time Plates) not done
			IF_ACTION_POINT(24,PLAYER0)
				NEXT_COMMAND_REUSABLE
				CREATE_EFFECT(54,24) REM 54: EFFECT_COLFOUNTN_1
				NEXT_COMMAND_REUSABLE
				MOVE_CREATURE(PLAYER0,ANY_CREATURE,ANYWHERE,1,25,54) REM 54: EFFECT_COLFOUNTN_1
				NEXT_COMMAND_REUSABLE
				SET_FLAG(PLAYER0,FLAG2,1) REM Teleport-Sound for PLAYER0
			ENDIF
			IF_ACTION_POINT(24,PLAYER1)
				NEXT_COMMAND_REUSABLE
				CREATE_EFFECT(54,24) REM 54: EFFECT_COLFOUNTN_1
				NEXT_COMMAND_REUSABLE
				MOVE_CREATURE(PLAYER1,ANY_CREATURE,ANYWHERE,1,25,54) REM 54: EFFECT_COLFOUNTN_1
				NEXT_COMMAND_REUSABLE
				SET_FLAG(PLAYER0,FLAG2,2) REM Teleport-Sound for PLAYER1
			ENDIF
		ENDIF
		REM *** Time Plates Portal - Exit ***
		IF_ACTION_POINT(26,PLAYER0)
			NEXT_COMMAND_REUSABLE
			CREATE_EFFECT(54,26) REM 54: EFFECT_COLFOUNTN_1
			NEXT_COMMAND_REUSABLE
			MOVE_CREATURE(PLAYER0,ANY_CREATURE,ANYWHERE,1,16,54) REM 54: EFFECT_COLFOUNTN_1
			NEXT_COMMAND_REUSABLE
			SET_FLAG(PLAYER0,FLAG2,1) REM Teleport-Sound for PLAYER0
		ENDIF
		IF_ACTION_POINT(26,PLAYER1)
			NEXT_COMMAND_REUSABLE
			CREATE_EFFECT(54,26) REM 54: EFFECT_COLFOUNTN_1
			NEXT_COMMAND_REUSABLE
			MOVE_CREATURE(PLAYER1,ANY_CREATURE,ANYWHERE,1,16,54) REM 54: EFFECT_COLFOUNTN_1
			NEXT_COMMAND_REUSABLE
			SET_FLAG(PLAYER0,FLAG2,2) REM Teleport-Sound for PLAYER1
		ENDIF
		REM *** Time Plates Portal - Final ***
		IF_ACTION_POINT(29,PLAYER0)
			NEXT_COMMAND_REUSABLE
			CREATE_EFFECT(54,29) REM 54: EFFECT_COLFOUNTN_1
			NEXT_COMMAND_REUSABLE
			MOVE_CREATURE(PLAYER0,ANY_CREATURE,ANYWHERE,1,16,54) REM 54: EFFECT_COLFOUNTN_1
			NEXT_COMMAND_REUSABLE
			SET_FLAG(PLAYER0,FLAG2,1) REM Teleport-Sound for PLAYER0
			NEXT_COMMAND_REUSABLE
			RESET_ACTION_POINT(29)
		ENDIF
		IF_ACTION_POINT(29,PLAYER1)
			NEXT_COMMAND_REUSABLE
			CREATE_EFFECT(54,29) REM 54: EFFECT_COLFOUNTN_1
			NEXT_COMMAND_REUSABLE
			MOVE_CREATURE(PLAYER1,ANY_CREATURE,ANYWHERE,1,16,54) REM 54: EFFECT_COLFOUNTN_1
			NEXT_COMMAND_REUSABLE
			SET_FLAG(PLAYER0,FLAG2,2) REM Teleport-Sound for PLAYER1
			NEXT_COMMAND_REUSABLE
			RESET_ACTION_POINT(29)
		ENDIF
		
		REM *** Final Exit ***
		IF_ACTION_POINT(5,PLAYER0)
			NEXT_COMMAND_REUSABLE
			CREATE_EFFECT(54,5) REM 54: EFFECT_COLFOUNTN_1
			NEXT_COMMAND_REUSABLE
			MOVE_CREATURE(PLAYER0,ANY_CREATURE,ANYWHERE,1,41,54) REM 54: EFFECT_COLFOUNTN_1
			NEXT_COMMAND_REUSABLE
			SET_FLAG(PLAYER0,FLAG2,1) REM Teleport-Sound for PLAYER0
			NEXT_COMMAND_REUSABLE
			RESET_ACTION_POINT(29)
		ENDIF
		IF_ACTION_POINT(5,PLAYER1)
			NEXT_COMMAND_REUSABLE
			CREATE_EFFECT(54,5) REM 54: EFFECT_COLFOUNTN_1
			NEXT_COMMAND_REUSABLE
			MOVE_CREATURE(PLAYER1,ANY_CREATURE,ANYWHERE,1,41,54) REM 54: EFFECT_COLFOUNTN_1
			NEXT_COMMAND_REUSABLE
			SET_FLAG(PLAYER0,FLAG2,2) REM Teleport-Sound for PLAYER1
			NEXT_COMMAND_REUSABLE
			RESET_ACTION_POINT(29)
		ENDIF
		
		REM ***                         ***
		REM ***     PRESSURE PLATES     ***
		REM ***                         ***
		
		IF(PLAYER_GOOD,FLAG0==0)
			REM *** Boulder End Pressure Plate 1 : PLAYER0,FLAG6 ***
			NEXT_COMMAND_REUSABLE
			COUNT_CREATURES_AT_ACTION_POINT(30,ALL_PLAYERS,ANY_CREATURE,PLAYER0,FLAG6)
			IF(PLAYER0,FLAG7<PLAYER0,FLAG6) REM More Imps than last frame
				IF(PLAYER0,FLAG6==1)
					NEXT_COMMAND_REUSABLE
					CHANGE_SLAB_TYPE(80,78,PRESS_PLATE_0)
					NEXT_COMMAND_REUSABLE
					PLAY_MESSAGE(ALL_PLAYERS,SOUND,91) REM "doorup2.wav"
					NEXT_COMMAND_REUSABLE
					COMPUTE_FLAG(PLAYER0,FLAG7,SET,PLAYER0,FLAG6,0) REM Last Imp now 1 or 2
				ENDIF
			ENDIF
			IF(PLAYER0,FLAG7>PLAYER0,FLAG6) REM Less Imps than last frame
				IF(PLAYER0,FLAG6==0)
					NEXT_COMMAND_REUSABLE
					CHANGE_SLAB_TYPE(80,78,PRESS_PLATE_1)
					NEXT_COMMAND_REUSABLE
					PLAY_MESSAGE(ALL_PLAYERS,SOUND,92) REM "doordown.wav"
					NEXT_COMMAND_REUSABLE
					SET_FLAG(PLAYER0,FLAG7,0) REM Last Imp now 0
				ENDIF
			ENDIF
			
			REM *** Boulder End Pressure Plate 2 : PLAYER1,FLAG6 ***
			NEXT_COMMAND_REUSABLE
			COUNT_CREATURES_AT_ACTION_POINT(31,ALL_PLAYERS,ANY_CREATURE,PLAYER1,FLAG6)
			IF(PLAYER1,FLAG7<PLAYER1,FLAG6) REM More Imps than last frame
				IF(PLAYER1,FLAG6==1)
					NEXT_COMMAND_REUSABLE
					CHANGE_SLAB_TYPE(82,78,PRESS_PLATE_0)
					NEXT_COMMAND_REUSABLE
					PLAY_MESSAGE(ALL_PLAYERS,SOUND,91) REM "doorup2.wav"
					NEXT_COMMAND_REUSABLE
					COMPUTE_FLAG(PLAYER1,FLAG7,SET,PLAYER1,FLAG6,0) REM Last Imp now 1 or 2
				ENDIF
			ENDIF
			IF(PLAYER1,FLAG7>PLAYER1,FLAG6) REM Less Imps than last frame
				IF(PLAYER1,FLAG6==0)
					NEXT_COMMAND_REUSABLE
					CHANGE_SLAB_TYPE(82,78,PRESS_PLATE_1)
					NEXT_COMMAND_REUSABLE
					PLAY_MESSAGE(ALL_PLAYERS,SOUND,92) REM "doordown.wav"
					NEXT_COMMAND_REUSABLE
					SET_FLAG(PLAYER1,FLAG7,0) REM Last Imp now 0
				ENDIF
			ENDIF
		ENDIF
		IF(PLAYER_GOOD,FLAG1==0)
			REM *** Mushroom End Pressure Plate 1 : PLAYER2,FLAG6 ***
			NEXT_COMMAND_REUSABLE
			COUNT_CREATURES_AT_ACTION_POINT(32,ALL_PLAYERS,ANY_CREATURE,PLAYER2,FLAG6)
			IF(PLAYER2,FLAG7<PLAYER2,FLAG6) REM More Imps than last frame
				IF(PLAYER2,FLAG6==1)
					NEXT_COMMAND_REUSABLE
					CHANGE_SLAB_TYPE(70,75,PRESS_PLATE_0)
					NEXT_COMMAND_REUSABLE
					PLAY_MESSAGE(ALL_PLAYERS,SOUND,91) REM "doorup2.wav"
					NEXT_COMMAND_REUSABLE
					COMPUTE_FLAG(PLAYER2,FLAG7,SET,PLAYER2,FLAG6,0) REM Last Imp now 1 or 2
				ENDIF
			ENDIF
			IF(PLAYER2,FLAG7>PLAYER2,FLAG6) REM Less Imps than last frame
				IF(PLAYER2,FLAG6==0)
					NEXT_COMMAND_REUSABLE
					CHANGE_SLAB_TYPE(70,75,PRESS_PLATE_1)
					NEXT_COMMAND_REUSABLE
					PLAY_MESSAGE(ALL_PLAYERS,SOUND,92) REM "doordown.wav"
					NEXT_COMMAND_REUSABLE
					SET_FLAG(PLAYER2,FLAG7,0) REM Last Imp now 0
				ENDIF
			ENDIF
			
			REM *** Mushroom End Pressure Plate 2 : PLAYER3,FLAG6 ***
			NEXT_COMMAND_REUSABLE
			COUNT_CREATURES_AT_ACTION_POINT(33,ALL_PLAYERS,ANY_CREATURE,PLAYER3,FLAG6)
			IF(PLAYER3,FLAG7<PLAYER3,FLAG6) REM More Imps than last frame
				IF(PLAYER3,FLAG6==1)
					NEXT_COMMAND_REUSABLE
					CHANGE_SLAB_TYPE(70,77,PRESS_PLATE_0)
					NEXT_COMMAND_REUSABLE
					PLAY_MESSAGE(ALL_PLAYERS,SOUND,91) REM "doorup2.wav"
					NEXT_COMMAND_REUSABLE
					COMPUTE_FLAG(PLAYER3,FLAG7,SET,PLAYER3,FLAG6,0) REM Last Imp now 1 or 2
				ENDIF
			ENDIF
			IF(PLAYER3,FLAG7>PLAYER3,FLAG6) REM Less Imps than last frame
				IF(PLAYER3,FLAG6==0)
					NEXT_COMMAND_REUSABLE
					CHANGE_SLAB_TYPE(70,77,PRESS_PLATE_1)
					NEXT_COMMAND_REUSABLE
					PLAY_MESSAGE(ALL_PLAYERS,SOUND,92) REM "doordown.wav"
					NEXT_COMMAND_REUSABLE
					SET_FLAG(PLAYER3,FLAG7,0) REM Last Imp now 0
				ENDIF
			ENDIF
		ENDIF
		
		REM *** Time Plates End Pressure Plate 1 : PLAYER4,FLAG6 ***
		IF(PLAYER_GOOD,FLAG2==0)
			NEXT_COMMAND_REUSABLE
			COUNT_CREATURES_AT_ACTION_POINT(35,ALL_PLAYERS,ANY_CREATURE,PLAYER4,FLAG6)
			IF(PLAYER4,FLAG7<PLAYER4,FLAG6) REM More Imps than last frame
				IF(PLAYER4,FLAG6==1)
					NEXT_COMMAND_REUSABLE
					CHANGE_SLAB_TYPE(34,73,PRESS_PLATE_0)
					NEXT_COMMAND_REUSABLE
					PLAY_MESSAGE(ALL_PLAYERS,SOUND,91) REM "doorup2.wav"
					NEXT_COMMAND_REUSABLE
					COMPUTE_FLAG(PLAYER4,FLAG7,SET,PLAYER4,FLAG6,0) REM Last Imp now 1 or 2
				ENDIF
			ENDIF
			IF(PLAYER4,FLAG7>PLAYER4,FLAG6) REM Less Imps than last frame
				IF(PLAYER4,FLAG6==0)
					NEXT_COMMAND_REUSABLE
					CHANGE_SLAB_TYPE(34,73,PRESS_PLATE_1)
					NEXT_COMMAND_REUSABLE
					PLAY_MESSAGE(ALL_PLAYERS,SOUND,92) REM "doordown.wav"
					NEXT_COMMAND_REUSABLE
					SET_FLAG(PLAYER4,FLAG7,0) REM Last Imp now 0
				ENDIF
			ENDIF
			
			REM *** Time Plates End Pressure Plate 2 : PLAYER5,FLAG6 ***
			NEXT_COMMAND_REUSABLE
			COUNT_CREATURES_AT_ACTION_POINT(36,ALL_PLAYERS,ANY_CREATURE,PLAYER5,FLAG6)
			IF(PLAYER5,FLAG7<PLAYER5,FLAG6) REM More Imps than last frame
				IF(PLAYER5,FLAG6==1)
					NEXT_COMMAND_REUSABLE
					CHANGE_SLAB_TYPE(36,73,PRESS_PLATE_0)
					NEXT_COMMAND_REUSABLE
					PLAY_MESSAGE(ALL_PLAYERS,SOUND,91) REM "doorup2.wav"
					NEXT_COMMAND_REUSABLE
					COMPUTE_FLAG(PLAYER5,FLAG7,SET,PLAYER5,FLAG6,0) REM Last Imp now 1 or 2
				ENDIF
			ENDIF
			IF(PLAYER5,FLAG7>PLAYER5,FLAG6) REM Less Imps than last frame
				IF(PLAYER5,FLAG6==0)
					NEXT_COMMAND_REUSABLE
					CHANGE_SLAB_TYPE(36,73,PRESS_PLATE_1)
					NEXT_COMMAND_REUSABLE
					PLAY_MESSAGE(ALL_PLAYERS,SOUND,92) REM "doordown.wav"
					NEXT_COMMAND_REUSABLE
					SET_FLAG(PLAYER5,FLAG7,0) REM Last Imp now 0
				ENDIF
			ENDIF
		ENDIF
		
		REM *** Time Plate 1 : PLAYER6,FLAG6 ***
		SET_TIMER(PLAYER6,TIMER7)
		SET_FLAG(PLAYER6,FLAG7,3) REM Platform-Level 3
		NEXT_COMMAND_REUSABLE
		COUNT_CREATURES_AT_ACTION_POINT(37,ALL_PLAYERS,ANY_CREATURE,PLAYER6,FLAG6)
		IF(PLAYER6,FLAG6>0) REM Imp on Platform
			IF(PLAYER6,TIMER7>20) REM Platform-Change-Delay
				IF(PLAYER6,FLAG7==3) REM Platform-Level 3
					NEXT_COMMAND_REUSABLE
					CHANGE_SLAB_TYPE(29,68,PRESS_PLATE_2)
					NEXT_COMMAND_REUSABLE
					PLAY_MESSAGE(ALL_PLAYERS,SOUND,42) REM "quake.wav"
					NEXT_COMMAND_REUSABLE
					SET_TIMER(PLAYER6,TIMER7) REM Platform-Change-Delay
					NEXT_COMMAND_REUSABLE
					SET_FLAG(PLAYER6,FLAG7,2) REM Now Platform-Level 2
				ENDIF
				IF(PLAYER6,FLAG7==2) REM Platform-Level 2
					NEXT_COMMAND_REUSABLE
					CHANGE_SLAB_TYPE(29,68,PRESS_PLATE_1)
					NEXT_COMMAND_REUSABLE
					PLAY_MESSAGE(ALL_PLAYERS,SOUND,42) REM "quake.wav"
					NEXT_COMMAND_REUSABLE
					SET_TIMER(PLAYER6,TIMER7) REM Platform-Change-Delay
					NEXT_COMMAND_REUSABLE
					SET_FLAG(PLAYER6,FLAG7,1) REM Now Platform-Level 1
				ENDIF
				IF(PLAYER6,FLAG7==1) REM Platform-Level 1
					NEXT_COMMAND_REUSABLE
					CHANGE_SLAB_TYPE(29,68,PRESS_PLATE_0)
					NEXT_COMMAND_REUSABLE
					PLAY_MESSAGE(ALL_PLAYERS,SOUND,91) REM "doorup2.wav"
					NEXT_COMMAND_REUSABLE
					SET_TIMER(PLAYER6,TIMER7) REM Platform-Change-Delay
					NEXT_COMMAND_REUSABLE
					SET_FLAG(PLAYER6,FLAG7,0) REM Now Platform-Level 0
				ENDIF
			ENDIF
		ENDIF
		IF(PLAYER6,FLAG6==0) REM No Imp on Platform
			IF(PLAYER6,TIMER7>21)
				IF(PLAYER6,FLAG7==0) REM Platform-Level 0
					NEXT_COMMAND_REUSABLE
					CHANGE_SLAB_TYPE(29,68,PRESS_PLATE_1)
					NEXT_COMMAND_REUSABLE
					PLAY_MESSAGE(ALL_PLAYERS,SOUND,42) REM "quake.wav"
					NEXT_COMMAND_REUSABLE
					SET_TIMER(PLAYER6,TIMER7) REM Platform-Change-Delay
					NEXT_COMMAND_REUSABLE
					SET_FLAG(PLAYER6,FLAG7,1) REM Now Platform-Level 1
				ENDIF
				IF(PLAYER6,FLAG7==1) REM Platform-Level 1
					NEXT_COMMAND_REUSABLE
					CHANGE_SLAB_TYPE(29,68,PRESS_PLATE_2)
					NEXT_COMMAND_REUSABLE
					PLAY_MESSAGE(ALL_PLAYERS,SOUND,42) REM "quake.wav"
					NEXT_COMMAND_REUSABLE
					SET_TIMER(PLAYER6,TIMER7) REM Platform-Change-Delay
					NEXT_COMMAND_REUSABLE
					SET_FLAG(PLAYER6,FLAG7,2) REM Now Platform-Level 2
				ENDIF
				IF(PLAYER6,FLAG7==2) REM Platform-Level 2
					NEXT_COMMAND_REUSABLE
					CHANGE_SLAB_TYPE(29,68,PRESS_PLATE_3)
					NEXT_COMMAND_REUSABLE
					PLAY_MESSAGE(ALL_PLAYERS,SOUND,92) REM "doordown.wav"
					NEXT_COMMAND_REUSABLE
					SET_TIMER(PLAYER6,TIMER7) REM Platform-Change-Delay
					NEXT_COMMAND_REUSABLE
					SET_FLAG(PLAYER6,FLAG7,3) REM Now Platform-Level 3
					NEXT_COMMAND_REUSABLE
					CHANGE_SLAB_TYPE(32,72,DOOR_1_CLOSED)
				ENDIF
			ENDIF
		ENDIF
		
		REM *** Time Plate 2 : PLAYER_NEUTRAL,FLAG6 ***
		SET_TIMER(PLAYER_NEUTRAL,TIMER7)
		SET_FLAG(PLAYER_NEUTRAL,FLAG7,3) REM Platform-Level 3
		NEXT_COMMAND_REUSABLE
		COUNT_CREATURES_AT_ACTION_POINT(38,ALL_PLAYERS,ANY_CREATURE,PLAYER_NEUTRAL,FLAG6)
		IF(PLAYER_NEUTRAL,FLAG6>0) REM Imp on Platform
			IF(PLAYER_NEUTRAL,TIMER7>20) REM Platform-Change-Delay
				IF(PLAYER_NEUTRAL,FLAG7==3) REM Platform-Level 3
					NEXT_COMMAND_REUSABLE
					CHANGE_SLAB_TYPE(29,76,PRESS_PLATE_2)
					NEXT_COMMAND_REUSABLE
					PLAY_MESSAGE(ALL_PLAYERS,SOUND,42) REM "quake.wav"
					NEXT_COMMAND_REUSABLE
					SET_TIMER(PLAYER_NEUTRAL,TIMER7) REM Platform-Change-Delay
					NEXT_COMMAND_REUSABLE
					SET_FLAG(PLAYER_NEUTRAL,FLAG7,2) REM Now Platform-Level 2
				ENDIF
				IF(PLAYER_NEUTRAL,FLAG7==2) REM Platform-Level 2
					NEXT_COMMAND_REUSABLE
					CHANGE_SLAB_TYPE(29,76,PRESS_PLATE_1)
					NEXT_COMMAND_REUSABLE
					PLAY_MESSAGE(ALL_PLAYERS,SOUND,42) REM "quake.wav"
					NEXT_COMMAND_REUSABLE
					SET_TIMER(PLAYER_NEUTRAL,TIMER7) REM Platform-Change-Delay
					NEXT_COMMAND_REUSABLE
					SET_FLAG(PLAYER_NEUTRAL,FLAG7,1) REM Now Platform-Level 1
				ENDIF
				IF(PLAYER_NEUTRAL,FLAG7==1) REM Platform-Level 1
					NEXT_COMMAND_REUSABLE
					CHANGE_SLAB_TYPE(29,76,PRESS_PLATE_0)
					NEXT_COMMAND_REUSABLE
					PLAY_MESSAGE(ALL_PLAYERS,SOUND,91) REM "doorup2.wav"
					NEXT_COMMAND_REUSABLE
					SET_TIMER(PLAYER_NEUTRAL,TIMER7) REM Platform-Change-Delay
					NEXT_COMMAND_REUSABLE
					SET_FLAG(PLAYER_NEUTRAL,FLAG7,0) REM Now Platform-Level 0
				ENDIF
			ENDIF
		ENDIF
		IF(PLAYER_NEUTRAL,FLAG6==0) REM No Imp on Platform
			IF(PLAYER_NEUTRAL,TIMER7>21)
				IF(PLAYER_NEUTRAL,FLAG7==0) REM Platform-Level 0
					NEXT_COMMAND_REUSABLE
					CHANGE_SLAB_TYPE(29,76,PRESS_PLATE_1)
					NEXT_COMMAND_REUSABLE
					PLAY_MESSAGE(ALL_PLAYERS,SOUND,42) REM "quake.wav"
					NEXT_COMMAND_REUSABLE
					SET_TIMER(PLAYER_NEUTRAL,TIMER7) REM Platform-Change-Delay
					NEXT_COMMAND_REUSABLE
					SET_FLAG(PLAYER_NEUTRAL,FLAG7,1) REM Now Platform-Level 1
				ENDIF
				IF(PLAYER_NEUTRAL,FLAG7==1) REM Platform-Level 1
					NEXT_COMMAND_REUSABLE
					CHANGE_SLAB_TYPE(29,76,PRESS_PLATE_2)
					NEXT_COMMAND_REUSABLE
					PLAY_MESSAGE(ALL_PLAYERS,SOUND,42) REM "quake.wav"
					NEXT_COMMAND_REUSABLE
					SET_TIMER(PLAYER_NEUTRAL,TIMER7) REM Platform-Change-Delay
					NEXT_COMMAND_REUSABLE
					SET_FLAG(PLAYER_NEUTRAL,FLAG7,2) REM Now Platform-Level 2
				ENDIF
				IF(PLAYER_NEUTRAL,FLAG7==2) REM Platform-Level 2
					NEXT_COMMAND_REUSABLE
					CHANGE_SLAB_TYPE(29,76,PRESS_PLATE_3)
					NEXT_COMMAND_REUSABLE
					PLAY_MESSAGE(ALL_PLAYERS,SOUND,92) REM "doordown.wav"
					NEXT_COMMAND_REUSABLE
					SET_TIMER(PLAYER_NEUTRAL,TIMER7) REM Platform-Change-Delay
					NEXT_COMMAND_REUSABLE
					SET_FLAG(PLAYER_NEUTRAL,FLAG7,3) REM Now Platform-Level 3
					NEXT_COMMAND_REUSABLE
					CHANGE_SLAB_TYPE(32,72,DOOR_1_CLOSED)
				ENDIF
			ENDIF
		ENDIF
		
		REM ***                         ***
		REM ***      QUEST-PROGRESS     ***
		REM ***                         ***
		
		IF_ACTION_POINT(80,PLAYER0) REM Dry mushroom hint
			IF(PLAYER0,FLAG3==0)
				QUICK_MESSAGE(2, "It seems that dry mushrooms are harmless...",NONE)
				PLAY_MESSAGE(ALL_PLAYERS,SOUND,41) REM "wall.wav"
				SET_FLAG(PLAYER0,FLAG3,1)
			ENDIF
		ENDIF
		IF_ACTION_POINT(80,PLAYER1) REM Close to Big Temple
			IF(PLAYER0,FLAG3==0)
				QUICK_MESSAGE(2, "It seems that dry mushrooms are harmless...",NONE)
				PLAY_MESSAGE(ALL_PLAYERS,SOUND,41) REM "wall.wav"
				SET_FLAG(PLAYER0,FLAG3,1)
			ENDIF
		ENDIF
		
		REM *** Both 'Boulder' End Pressure Plates ***
		IF(PLAYER0,FLAG6==0) REM No Imp at Platform 1
			NEXT_COMMAND_REUSABLE
			SET_TIMER(PLAYER0,TIMER6)
		ENDIF
		IF(PLAYER1,FLAG6==0) REM No Imp at Platform 2
			NEXT_COMMAND_REUSABLE
			SET_TIMER(PLAYER0,TIMER6)
		ENDIF
		IF(PLAYER0,TIMER6>35)
			PLAY_MESSAGE(ALL_PLAYERS,SOUND,37) REM "heal.wav"
			PLAY_MESSAGE(ALL_PLAYERS,SOUND,158) REM "makebed.wav"
			PLAY_MESSAGE(ALL_PLAYERS,SOUND,60) REM "button1.wav"
			PLAY_MESSAGE(ALL_PLAYERS,SOUND,76) REM "stars3.wav"
			ADD_OBJECT_TO_LEVEL_AT_POS(STATUEWO,244,229,0)
			ADD_OBJECT_TO_LEVEL_AT_POS(TEMPLE_STATUE,244,229,0)
			ADD_OBJECT_TO_LEVEL_AT_POS(STATUEWO,46,229,0)
			ADD_OBJECT_TO_LEVEL_AT_POS(TEMPLE_STATUE,46,229,0)
			CHANGE_SLAB_OWNER(16,76,PLAYER6)
			ADD_OBJECT_TO_LEVEL_AT_POS(LAIR_WIZRD,49,229,0)
			ADD_OBJECT_TO_LEVEL_AT_POS(HEARTFLAME_RED,49,229,0)
			CHANGE_SLAB_TYPE(81,74,DOOR_2_OPEN)
			SET_FLAG(PLAYER_GOOD,FLAG0,1) REM Sub-Quest 1 'Boulder' done
			ADD_TO_FLAG(PLAYER0,FLAG0,1) REM Quest-Progress
		ENDIF
		
		REM *** Both 'Mushroom' End Pressure Plates ***
		IF(PLAYER2,FLAG6==0) REM No Imp at Platform 1
			NEXT_COMMAND_REUSABLE
			SET_TIMER(PLAYER2,TIMER6)
		ENDIF
		IF(PLAYER3,FLAG6==0) REM No Imp at Platform 2
			NEXT_COMMAND_REUSABLE
			SET_TIMER(PLAYER2,TIMER6)
		ENDIF
		IF(PLAYER2,TIMER6>35)
			PLAY_MESSAGE(ALL_PLAYERS,SOUND,37) REM "heal.wav"
			PLAY_MESSAGE(ALL_PLAYERS,SOUND,158) REM "makebed.wav"
			PLAY_MESSAGE(ALL_PLAYERS,SOUND,60) REM "button1.wav"
			PLAY_MESSAGE(ALL_PLAYERS,SOUND,76) REM "stars3.wav"
			ADD_OBJECT_TO_LEVEL_AT_POS(STATUEWO,217,229,0)
			ADD_OBJECT_TO_LEVEL_AT_POS(TEMPLE_STATUE,217,229,0)
			ADD_OBJECT_TO_LEVEL_AT_POS(STATUEWO,70,229,0)
			ADD_OBJECT_TO_LEVEL_AT_POS(TEMPLE_STATUE,70,229,0)
			CHANGE_SLAB_OWNER(22,76,PLAYER6)
			ADD_OBJECT_TO_LEVEL_AT_POS(LAIR_WIZRD,67,229,0)
			ADD_OBJECT_TO_LEVEL_AT_POS(HEARTFLAME_RED,67,229,0)
			CHANGE_SLAB_TYPE(74,76,DOOR_1_OPEN)
			SET_FLAG(PLAYER_GOOD,FLAG1,1) REM Sub-Quest 2 'Mushroom' done
			ADD_TO_FLAG(PLAYER0,FLAG0,1) REM Quest-Progress
		ENDIF
		
		
		REM *** Both Time Plates: Open Door ***
		IF(PLAYER6,FLAG7==0) REM Second Platform-Level now 0
			IF(PLAYER_NEUTRAL,FLAG7==0) REM Second Platform-Level now 0
				NEXT_COMMAND_REUSABLE
				CHANGE_SLAB_TYPE(32,72,DOOR_1_OPEN)
			ENDIF
		ENDIF
		
		REM *** Both 'Time Plates' End Pressure Plates ***
		IF(PLAYER4,FLAG6==0) REM No Imp at Platform 1
			NEXT_COMMAND_REUSABLE
			SET_TIMER(PLAYER4,TIMER6)
		ENDIF
		IF(PLAYER5,FLAG6==0) REM No Imp at Platform 2
			NEXT_COMMAND_REUSABLE
			SET_TIMER(PLAYER4,TIMER6)
		ENDIF
		IF(PLAYER4,TIMER6>35)
			PLAY_MESSAGE(ALL_PLAYERS,SOUND,37) REM "heal.wav"
			PLAY_MESSAGE(ALL_PLAYERS,SOUND,158) REM "makebed.wav"
			PLAY_MESSAGE(ALL_PLAYERS,SOUND,76) REM "stars3.wav"
			ADD_OBJECT_TO_LEVEL_AT_POS(STATUEWO,106,226,0)
			ADD_OBJECT_TO_LEVEL_AT_POS(TEMPLE_STATUE,106,226,0)
			ADD_OBJECT_TO_LEVEL_AT_POS(STATUEWO,58,217,0)
			ADD_OBJECT_TO_LEVEL_AT_POS(TEMPLE_STATUE,58,217,0)
			CHANGE_SLAB_OWNER(19,73,PLAYER6)
			ADD_OBJECT_TO_LEVEL_AT_POS(LAIR_WIZRD,58,220,0)
			ADD_OBJECT_TO_LEVEL_AT_POS(HEARTFLAME_RED,58,220,0)
			SET_FLAG(PLAYER_GOOD,FLAG2,1) REM Sub-Quest 3 'Time Plates' done
			ADD_TO_FLAG(PLAYER0,FLAG0,1) REM Quest-Progress
		ENDIF
		
		IF(PLAYER_GOOD,FLAG0==1)
			IF(PLAYER_GOOD,FLAG1==1)
				IF(PLAYER_GOOD,FLAG2==1)
					NEXT_COMMAND_REUSABLE
					COUNT_CREATURES_AT_ACTION_POINT(20,ALL_PLAYERS,ANY_CREATURE,PLAYER_GOOD,FLAG6)
					IF(PLAYER_GOOD,FLAG6<2)
						NEXT_COMMAND_REUSABLE
						SET_TIMER(PLAYER_GOOD,TIMER5) REM Platform-Change-Delay
						NEXT_COMMAND_REUSABLE
						SET_FLAG(PLAYER_GOOD,FLAG7,3) REM Now Platform-Level 3
					ENDIF
					IF(PLAYER_GOOD,FLAG6==2)
						IF(PLAYER_GOOD,TIMER5>20) REM Platform-Change-Delay
							IF(PLAYER_GOOD,FLAG7==3) REM Platform-Level 3
								NEXT_COMMAND_REUSABLE
								CHANGE_SLAB_TYPE(19,71,PRESS_PLATE_2)
								NEXT_COMMAND_REUSABLE
								PLAY_MESSAGE(ALL_PLAYERS,SOUND,42) REM "quake.wav"
								NEXT_COMMAND_REUSABLE
								SET_TIMER(PLAYER_GOOD,TIMER5) REM Platform-Change-Delay
								NEXT_COMMAND_REUSABLE
								SET_FLAG(PLAYER_GOOD,FLAG7,2) REM Now Platform-Level 2
							ENDIF
							IF(PLAYER_GOOD,FLAG7==2) REM Platform-Level 2
								NEXT_COMMAND_REUSABLE
								CHANGE_SLAB_TYPE(19,71,PRESS_PLATE_1)
								NEXT_COMMAND_REUSABLE
								PLAY_MESSAGE(ALL_PLAYERS,SOUND,42) REM "quake.wav"
								NEXT_COMMAND_REUSABLE
								SET_TIMER(PLAYER_GOOD,TIMER5) REM Platform-Change-Delay
								NEXT_COMMAND_REUSABLE
								SET_FLAG(PLAYER_GOOD,FLAG7,1) REM Now Platform-Level 1
							ENDIF
							IF(PLAYER_GOOD,FLAG7==1) REM Platform-Level 1
								NEXT_COMMAND_REUSABLE
								CHANGE_SLAB_TYPE(19,71,PRESS_PLATE_0)
								NEXT_COMMAND_REUSABLE
								PLAY_MESSAGE(ALL_PLAYERS,SOUND,91) REM "doorup2.wav"
								NEXT_COMMAND_REUSABLE
								SET_TIMER(PLAYER_GOOD,TIMER5) REM Platform-Change-Delay
								NEXT_COMMAND_REUSABLE
								SET_FLAG(PLAYER_GOOD,FLAG7,0) REM Now Platform-Level 0
							ENDIF
						ENDIF
					ENDIF
					NEXT_COMMAND_REUSABLE
					COUNT_CREATURES_AT_ACTION_POINT(42,ALL_PLAYERS,ANY_CREATURE,PLAYER_GOOD,FLAG3)
					IF(PLAYER_GOOD,FLAG3==2)
						REM *** Next Quest ***
						ADD_TO_FLAG(PLAYER0,FLAG0,1) REM Quest-Progress
					ENDIF
				ENDIF
			ENDIF
		ENDIF
	ENDIF
ENDIF

REM ***                       ***
REM ***        QUEST 4        ***
REM ***    (Invisiblility)    ***
REM ***                       ***

IF(PLAYER0,FLAG0==8)
	
	REM *** Reset Quest-related Flags and Timers ***
	SET_FLAG(PLAYER0,FLAG6,0)
	SET_FLAG(PLAYER0,FLAG7,0)
	SET_FLAG(PLAYER1,FLAG6,0)
	SET_FLAG(PLAYER1,FLAG7,0)
	SET_FLAG(PLAYER2,FLAG6,0)
	SET_FLAG(PLAYER2,FLAG7,0)
	SET_FLAG(PLAYER3,FLAG6,0)
	SET_FLAG(PLAYER3,FLAG7,0)
	SET_FLAG(PLAYER4,FLAG6,0)
	SET_FLAG(PLAYER4,FLAG7,0)
	SET_FLAG(PLAYER5,FLAG6,0)
	SET_FLAG(PLAYER5,FLAG7,0)
	SET_FLAG(PLAYER6,FLAG6,0)
	SET_FLAG(PLAYER6,FLAG7,0)
	SET_FLAG(PLAYER_NEUTRAL,FLAG6,0)
	SET_FLAG(PLAYER_NEUTRAL,FLAG7,0)
	SET_FLAG(PLAYER_GOOD,FLAG6,0)
	SET_FLAG(PLAYER_GOOD,FLAG7,0)
	SET_FLAG(PLAYER_GOOD,FLAG0,0)
	SET_FLAG(PLAYER0,FLAG3,0)
	SET_FLAG(PLAYER0,FLAG4,0)
	SET_FLAG(PLAYER0,FLAG5,0)
	SET_FLAG(PLAYER1,FLAG3,0)
	SET_FLAG(PLAYER_GOOD,FLAG1,0)
	SET_FLAG(PLAYER_GOOD,FLAG2,0)
	SET_FLAG(PLAYER_GOOD,FLAG3,0)
	
	REM ***                         ***
	REM ***     PRESSURE PLATES     ***
	REM ***                         ***
	
	REM *** Invisibility Pressure Plate 1: PLAYER0,FLAG6 ***
	NEXT_COMMAND_REUSABLE
	COUNT_CREATURES_AT_ACTION_POINT(45,ALL_PLAYERS,ANY_CREATURE,PLAYER0,FLAG6)
	IF(PLAYER0,FLAG7<PLAYER0,FLAG6) REM More Imps than last frame
		IF(PLAYER0,FLAG6==1)
			NEXT_COMMAND_REUSABLE
			CHANGE_SLAB_TYPE(49,56,PRESS_PLATE_0)
			NEXT_COMMAND_REUSABLE
			PLAY_MESSAGE(ALL_PLAYERS,SOUND,91) REM "doorup2.wav"
			NEXT_COMMAND_REUSABLE
			COMPUTE_FLAG(PLAYER0,FLAG7,SET,PLAYER0,FLAG6,0) REM Last Imp now 1 or 2
		ENDIF
	ENDIF
	IF(PLAYER0,FLAG7>PLAYER0,FLAG6) REM Less Imps than last frame
		IF(PLAYER0,FLAG6==0)
			NEXT_COMMAND_REUSABLE
			CHANGE_SLAB_TYPE(49,56,PRESS_PLATE_1)
			NEXT_COMMAND_REUSABLE
			PLAY_MESSAGE(ALL_PLAYERS,SOUND,92) REM "doordown.wav"
			NEXT_COMMAND_REUSABLE
			SET_FLAG(PLAYER0,FLAG7,0) REM Last Imp now 0
		ENDIF
	ENDIF
	
	REM *** Invisibility Pressure Plate 2: PLAYER1,FLAG6 ***
	NEXT_COMMAND_REUSABLE
	COUNT_CREATURES_AT_ACTION_POINT(46,ALL_PLAYERS,ANY_CREATURE,PLAYER1,FLAG6)
	IF(PLAYER1,FLAG7<PLAYER1,FLAG6) REM More Imps than last frame
		IF(PLAYER1,FLAG6==1)
			NEXT_COMMAND_REUSABLE
			CHANGE_SLAB_TYPE(46,41,PRESS_PLATE_0)
			NEXT_COMMAND_REUSABLE
			PLAY_MESSAGE(ALL_PLAYERS,SOUND,91) REM "doorup2.wav"
			NEXT_COMMAND_REUSABLE
			COMPUTE_FLAG(PLAYER1,FLAG7,SET,PLAYER1,FLAG6,0) REM Last Imp now 1 or 2
		ENDIF
	ENDIF
	IF(PLAYER1,FLAG7>PLAYER1,FLAG6) REM Less Imps than last frame
		IF(PLAYER1,FLAG6==0)
			NEXT_COMMAND_REUSABLE
			CHANGE_SLAB_TYPE(46,41,PRESS_PLATE_1)
			NEXT_COMMAND_REUSABLE
			PLAY_MESSAGE(ALL_PLAYERS,SOUND,92) REM "doordown.wav"
			NEXT_COMMAND_REUSABLE
			SET_FLAG(PLAYER1,FLAG7,0) REM Last Imp now 0
		ENDIF
	ENDIF
	
	REM *** End Pressure Plate 1: PLAYER2,FLAG6 ***
	NEXT_COMMAND_REUSABLE
	COUNT_CREATURES_AT_ACTION_POINT(39,ALL_PLAYERS,ANY_CREATURE,PLAYER2,FLAG6)
	IF(PLAYER2,FLAG7<PLAYER2,FLAG6) REM More Imps than last frame
		IF(PLAYER2,FLAG6==1)
			NEXT_COMMAND_REUSABLE
			CHANGE_SLAB_TYPE(40,50,PRESS_PLATE_0)
			NEXT_COMMAND_REUSABLE
			PLAY_MESSAGE(ALL_PLAYERS,SOUND,91) REM "doorup2.wav"
			NEXT_COMMAND_REUSABLE
			COMPUTE_FLAG(PLAYER2,FLAG7,SET,PLAYER2,FLAG6,0) REM Last Imp now 1 or 2
		ENDIF
	ENDIF
	IF(PLAYER2,FLAG7>PLAYER2,FLAG6) REM Less Imps than last frame
		IF(PLAYER2,FLAG6==0)
			NEXT_COMMAND_REUSABLE
			CHANGE_SLAB_TYPE(40,50,PRESS_PLATE_1)
			NEXT_COMMAND_REUSABLE
			PLAY_MESSAGE(ALL_PLAYERS,SOUND,92) REM "doordown.wav"
			NEXT_COMMAND_REUSABLE
			SET_FLAG(PLAYER2,FLAG7,0) REM Last Imp now 0
		ENDIF
	ENDIF
	
	REM *** End Pressure Plate 2: PLAYER3,FLAG6 ***
	NEXT_COMMAND_REUSABLE
	COUNT_CREATURES_AT_ACTION_POINT(40,ALL_PLAYERS,ANY_CREATURE,PLAYER3,FLAG6)
	IF(PLAYER3,FLAG7<PLAYER3,FLAG6) REM More Imps than last frame
		IF(PLAYER3,FLAG6==1)
			NEXT_COMMAND_REUSABLE
			CHANGE_SLAB_TYPE(40,52,PRESS_PLATE_0)
			NEXT_COMMAND_REUSABLE
			PLAY_MESSAGE(ALL_PLAYERS,SOUND,91) REM "doorup2.wav"
			NEXT_COMMAND_REUSABLE
			COMPUTE_FLAG(PLAYER3,FLAG7,SET,PLAYER3,FLAG6,0) REM Last Imp now 1 or 2
		ENDIF
	ENDIF
	IF(PLAYER3,FLAG7>PLAYER3,FLAG6) REM Less Imps than last frame
		IF(PLAYER3,FLAG6==0)
			NEXT_COMMAND_REUSABLE
			CHANGE_SLAB_TYPE(40,52,PRESS_PLATE_1)
			NEXT_COMMAND_REUSABLE
			PLAY_MESSAGE(ALL_PLAYERS,SOUND,92) REM "doordown.wav"
			NEXT_COMMAND_REUSABLE
			SET_FLAG(PLAYER3,FLAG7,0) REM Last Imp now 0
		ENDIF
	ENDIF
	
	REM ***                         ***
	REM ***      QUEST-PROGRESS     ***
	REM ***                         ***
	
	REM *** Golden Druid Warning ***
	
	IF_ACTION_POINT(82,PLAYER0) REM Close to first Red Mushroom
		IF(PLAYER1,FLAG3==0)
			REVEAL_MAP_LOCATION(PLAYER0,79,15)
			QUICK_MESSAGE(3, "* ... This Purple Mushroom smells delicious! ... *",IMP)
			PLAY_MESSAGE(ALL_PLAYERS,SOUND,41) REM "wall.wav"
			SET_FLAG(PLAYER1,FLAG3,1)
		ENDIF
	ENDIF
	IF_ACTION_POINT(82,PLAYER1) REM Close to first Red Mushroom
		IF(PLAYER1,FLAG3==0)
			REVEAL_MAP_LOCATION(PLAYER0,79,15)
			QUICK_MESSAGE(3, "* ... This Purple Mushroom smells delicious! ... *",IMP)
			PLAY_MESSAGE(ALL_PLAYERS,SOUND,41) REM "wall.wav"
			SET_FLAG(PLAYER1,FLAG3,1)
		ENDIF
	ENDIF
	
	REM *** Golden Druid Warning ***
	
	IF_ACTION_POINT(76,PLAYER0) REM Close to Big Temple
		IF(PLAYER0,FLAG3==0)
			REVEAL_MAP_LOCATION(PLAYER0,79,15)
			QUICK_MESSAGE(4, "            He sees even invisible...",NONE)
			QUICK_MESSAGE(5, "         Beware for the GOLDEN DRUID!",NONE)
			PLAY_MESSAGE(ALL_PLAYERS,SOUND,41) REM "wall.wav"
			SET_FLAG(PLAYER0,FLAG3,1)
		ENDIF
	ENDIF
	IF_ACTION_POINT(76,PLAYER1) REM Close to Big Temple
		IF(PLAYER0,FLAG3==0)
			REVEAL_MAP_LOCATION(PLAYER0,79,15)
			QUICK_MESSAGE(4, "            He sees even invisible...",NONE)
			QUICK_MESSAGE(5, "         Beware for the GOLDEN DRUID!",NONE)
			PLAY_MESSAGE(ALL_PLAYERS,SOUND,41) REM "wall.wav"
			SET_FLAG(PLAYER0,FLAG3,1)
		ENDIF
	ENDIF
	
	REM *** Red Mushroom Buff ***
	
	NEXT_COMMAND_REUSABLE
	RESET_ACTION_POINT(73)
	NEXT_COMMAND_REUSABLE
	RESET_ACTION_POINT(74)
	NEXT_COMMAND_REUSABLE
	RESET_ACTION_POINT(75)
	
	REM *** Player0 ***
	
	IF_ACTION_POINT(73,PLAYER0) REM Red Mushrooms 1
		IF(PLAYER0,FLAG4==0) REM Player0 has not taken Mushrooms
			NEXT_COMMAND_REUSABLE
			SET_FLAG(PLAYER0,FLAG4,1) REM Player0 took Mushrooms
			NEXT_COMMAND_REUSABLE
			SET_TIMER(PLAYER0,TIMER4) REM Start Player0's Mushroom-Eat-Sequence
		ENDIF
	ENDIF
	IF_ACTION_POINT(74,PLAYER0) REM Red Mushrooms 2
		IF(PLAYER0,FLAG4==0) REM Player0 has not taken Mushrooms
			NEXT_COMMAND_REUSABLE
			SET_FLAG(PLAYER0,FLAG4,1) REM Player0 took Mushrooms
			NEXT_COMMAND_REUSABLE
			SET_TIMER(PLAYER0,TIMER4) REM Start Player0's Mushroom-Eat-Sequence
		ENDIF
	ENDIF
	IF_ACTION_POINT(75,PLAYER0) REM Red Mushrooms 3
		IF(PLAYER0,FLAG4==0) REM Player0 has not taken Mushrooms
			NEXT_COMMAND_REUSABLE
			SET_FLAG(PLAYER0,FLAG4,1) REM Player0 took Mushrooms
			NEXT_COMMAND_REUSABLE
			SET_TIMER(PLAYER0,TIMER4) REM Start Player0's Mushroom-Eat-Sequence
		ENDIF
	ENDIF
	
	REM *** Player1 ***
	
	IF_ACTION_POINT(73,PLAYER1) REM Red Mushrooms 1
		IF(PLAYER0,FLAG5==0) REM PLAYER1 has not taken Mushrooms
			NEXT_COMMAND_REUSABLE
			SET_FLAG(PLAYER0,FLAG5,1) REM PLAYER1 took Mushrooms
			NEXT_COMMAND_REUSABLE
			SET_TIMER(PLAYER0,TIMER5) REM Start PLAYER1's Mushroom-Eat-Sequence
		ENDIF
	ENDIF
	IF_ACTION_POINT(74,PLAYER1) REM Red Mushrooms 2
		IF(PLAYER0,FLAG5==0) REM PLAYER1 has not taken Mushrooms
			NEXT_COMMAND_REUSABLE
			SET_FLAG(PLAYER0,FLAG5,1) REM PLAYER1 took Mushrooms
			NEXT_COMMAND_REUSABLE
			SET_TIMER(PLAYER0,TIMER5) REM Start PLAYER1's Mushroom-Eat-Sequence
		ENDIF
	ENDIF
	IF_ACTION_POINT(75,PLAYER1) REM Red Mushrooms 3
		IF(PLAYER0,FLAG5==0) REM PLAYER1 has not taken Mushrooms
			NEXT_COMMAND_REUSABLE
			SET_FLAG(PLAYER0,FLAG5,1) REM PLAYER1 took Mushrooms
			NEXT_COMMAND_REUSABLE
			SET_TIMER(PLAYER0,TIMER5) REM Start PLAYER1's Mushroom-Eat-Sequence
		ENDIF
	ENDIF
	
	REM *** Count: Invisibility Pressure Plate 1 ***
	NEXT_COMMAND_REUSABLE
	COUNT_CREATURES_AT_ACTION_POINT(45,PLAYER0,ANY_CREATURE,PLAYER_GOOD,FLAG0)
	NEXT_COMMAND_REUSABLE
	COUNT_CREATURES_AT_ACTION_POINT(45,PLAYER1,ANY_CREATURE,PLAYER_GOOD,FLAG1)
	
	REM *** Count: Invisibility Pressure Plate 2 ***
	NEXT_COMMAND_REUSABLE
	COUNT_CREATURES_AT_ACTION_POINT(46,PLAYER0,ANY_CREATURE,PLAYER_GOOD,FLAG2)
	NEXT_COMMAND_REUSABLE
	COUNT_CREATURES_AT_ACTION_POINT(46,PLAYER1,ANY_CREATURE,PLAYER_GOOD,FLAG3)
	
	REM *** Count: Eye 1 ***
	NEXT_COMMAND_REUSABLE
	COUNT_CREATURES_AT_ACTION_POINT(47,PLAYER0,ANY_CREATURE,PLAYER_GOOD,FLAG4)
	NEXT_COMMAND_REUSABLE
	COUNT_CREATURES_AT_ACTION_POINT(47,PLAYER1,ANY_CREATURE,PLAYER_GOOD,FLAG5)
	
	REM *** Count: Eye 2 ***
	NEXT_COMMAND_REUSABLE
	COUNT_CREATURES_AT_ACTION_POINT(49,PLAYER0,ANY_CREATURE,PLAYER_GOOD,FLAG6)
	NEXT_COMMAND_REUSABLE
	COUNT_CREATURES_AT_ACTION_POINT(49,PLAYER1,ANY_CREATURE,PLAYER_GOOD,FLAG7)
	
	IF(PLAYER_GOOD,FLAG4==0) REM Imp0 is not near Eye 1
		IF(PLAYER_GOOD,FLAG6==0) REM Imp0 is not near Eye 2
			IF(PLAYER_GOOD,FLAG1!=PLAYER_GOOD,FLAG3) REM Imp1 is on Pressure Plate 1 or 2 => Imp0 gets invisibility
				NEXT_COMMAND_REUSABLE
				USE_POWER_ON_CREATURE(PLAYER0,IMP0,ANYWHERE,PLAYER0,POWER_CONCEAL,9,1)
			ENDIF
		ENDIF
	ENDIF
	IF(PLAYER_GOOD,FLAG5==0) REM Imp1 is not near Eye 1
		IF(PLAYER_GOOD,FLAG7==0) REM Imp1 is not near Eye 2
			IF(PLAYER_GOOD,FLAG0!=PLAYER_GOOD,FLAG2) REM Imp0 is on Pressure Plate 1 or 2 => Imp1 gets invisibility
				NEXT_COMMAND_REUSABLE
				USE_POWER_ON_CREATURE(PLAYER1,IMP1,ANYWHERE,PLAYER1,POWER_CONCEAL,9,1)
			ENDIF
		ENDIF
	ENDIF
	
	IF(PLAYER_GOOD,FLAG4!=PLAYER_GOOD,FLAG6) REM Imp0 is near either Eye 1 or 2
		NEXT_COMMAND_REUSABLE
		USE_POWER_ON_CREATURE(PLAYER0,IMP0,ANYWHERE,PLAYER0,POWER_CLEANSE,1,1)
		NEXT_COMMAND_REUSABLE
		CREATE_EFFECT(54,47) REM 54: EFFECT_COLFOUNTN_1
		NEXT_COMMAND_REUSABLE
		CREATE_EFFECT(54,49) REM 54: EFFECT_COLFOUNTN_1
	ENDIF
	
	IF(PLAYER_GOOD,FLAG5!=PLAYER_GOOD,FLAG7) REM Imp1 is near either Eye 1 or 2
		NEXT_COMMAND_REUSABLE
		USE_POWER_ON_CREATURE(PLAYER1,IMP1,ANYWHERE,PLAYER1,POWER_CLEANSE,1,1)
		NEXT_COMMAND_REUSABLE
		CREATE_EFFECT(54,47) REM 54: EFFECT_COLFOUNTN_1
		NEXT_COMMAND_REUSABLE
		CREATE_EFFECT(54,49) REM 54: EFFECT_COLFOUNTN_1
	ENDIF
	
	IF(PLAYER_GOOD,FLAG0==PLAYER_GOOD,FLAG2) REM Imp0 is on no Pressure Plate => Cleanse Imp1
		NEXT_COMMAND_REUSABLE
		USE_POWER_ON_CREATURE(PLAYER1,IMP1,ANYWHERE,PLAYER1,POWER_CLEANSE,1,1)
	ENDIF
	
	IF(PLAYER_GOOD,FLAG1==PLAYER_GOOD,FLAG3) REM Imp1 is on no Pressure Plate => Cleanse Imp0
		NEXT_COMMAND_REUSABLE
		USE_POWER_ON_CREATURE(PLAYER0,IMP0,ANYWHERE,PLAYER0,POWER_CLEANSE,1,1)
	ENDIF
	
	REM *** Both End Pressure Plates ***
	IF(PLAYER2,FLAG6==0) REM No Imp at Platform 1
		NEXT_COMMAND_REUSABLE
		SET_TIMER(PLAYER3,TIMER6)
	ENDIF
	IF(PLAYER3,FLAG6==0) REM No Imp at Platform 2
		NEXT_COMMAND_REUSABLE
		SET_TIMER(PLAYER3,TIMER6)
	ENDIF
	IF(PLAYER3,TIMER6>35)
		PLAY_MESSAGE(ALL_PLAYERS,SOUND,60) REM "button1.wav"
		PLAY_MESSAGE(ALL_PLAYERS,SOUND,76) REM "stars3.wav"
		SET_DOOR(LOCKED,41,48)
		CHANGE_SLAB_TYPE(38,51,DOOR_1_OPEN)
		REM *** Reset Quest-related Flags and Timers ***
		SET_FLAG(PLAYER0,FLAG3,0)
		SET_FLAG(PLAYER0,FLAG4,0)
		SET_FLAG(PLAYER0,FLAG5,0)
		SET_FLAG(PLAYER0,FLAG6,0)
		SET_FLAG(PLAYER0,FLAG7,0)
		SET_FLAG(PLAYER1,FLAG6,0)
		SET_FLAG(PLAYER1,FLAG7,0)
		SET_FLAG(PLAYER2,FLAG6,0)
		SET_FLAG(PLAYER2,FLAG7,0)
		SET_FLAG(PLAYER3,FLAG6,0)
		SET_FLAG(PLAYER3,FLAG7,0)
		SET_FLAG(PLAYER_GOOD,FLAG0,0)
		SET_FLAG(PLAYER_GOOD,FLAG1,0)
		SET_FLAG(PLAYER_GOOD,FLAG2,0)
		SET_FLAG(PLAYER_GOOD,FLAG3,0)
		SET_FLAG(PLAYER_GOOD,FLAG4,0)
		SET_FLAG(PLAYER_GOOD,FLAG5,0)
		SET_FLAG(PLAYER_GOOD,FLAG6,0)
		SET_FLAG(PLAYER_GOOD,FLAG7,0)
		SET_TIMER(PLAYER0,TIMER6)
		REM *** Next Quest ***
		ADD_TO_FLAG(PLAYER0,FLAG0,1) REM Quest-Progress
	ENDIF
ENDIF

REM ***                         ***
REM ***    Red Mushroom Buff    ***
REM ***                         ***

REM *** Player0 took Mushrooms ***
IF(PLAYER0,FLAG4==1)
	IF(PLAYER0,TIMER4==2)
		NEXT_COMMAND_REUSABLE
		PLAY_MESSAGE(PLAYER0,SOUND,998) REM "gulp1.wav"
	ENDIF
	IF(PLAYER0,TIMER4==13)
		NEXT_COMMAND_REUSABLE
		PLAY_MESSAGE(PLAYER0,SOUND,998) REM "gulp1.wav"
	ENDIF
	IF(PLAYER0,TIMER4==24)
		NEXT_COMMAND_REUSABLE
		PLAY_MESSAGE(PLAYER0,SOUND,999) REM "gulp2.wav"
	ENDIF
	IF(PLAYER0,TIMER4==35)
		NEXT_COMMAND_REUSABLE
		PLAY_MESSAGE(PLAYER0,SOUND,496) REM "impdrop.wav"
		NEXT_COMMAND_REUSABLE
		USE_POWER_ON_CREATURE(PLAYER0,IMP0,ANYWHERE,PLAYER0,POWER_SPEED,4,1)
	ENDIF
	IF(PLAYER0,TIMER4>635) REM POWER_SPEED Level 4 lasts 600 frames
		NEXT_COMMAND_REUSABLE
		SET_FLAG(PLAYER0,FLAG4,0) REM Reset Sequence
	ENDIF
ENDIF

REM *** Player1 took Mushrooms ***
IF(PLAYER0,FLAG5==1)
	IF(PLAYER0,TIMER5==2)
		NEXT_COMMAND_REUSABLE
		PLAY_MESSAGE(PLAYER1,SOUND,998) REM "gulp1.wav"
	ENDIF
	IF(PLAYER0,TIMER5==13)
		NEXT_COMMAND_REUSABLE
		PLAY_MESSAGE(PLAYER1,SOUND,999) REM "gulp2.wav"
	ENDIF
	IF(PLAYER0,TIMER5==23)
		NEXT_COMMAND_REUSABLE
		PLAY_MESSAGE(PLAYER1,SOUND,998) REM "gulp1.wav"
	ENDIF
	IF(PLAYER0,TIMER5==35)
		NEXT_COMMAND_REUSABLE
		PLAY_MESSAGE(PLAYER1,SOUND,496) REM "impdrop.wav"
		NEXT_COMMAND_REUSABLE
		USE_POWER_ON_CREATURE(PLAYER1,IMP1,ANYWHERE,PLAYER1,POWER_SPEED,4,1)
	ENDIF
	IF(PLAYER0,TIMER5>635) REM POWER_SPEED Level 4 lasts 600 frames
		NEXT_COMMAND_REUSABLE
		SET_FLAG(PLAYER0,FLAG5,0) REM Reset Sequence
	ENDIF
ENDIF

REM ***                       ***
REM ***        QUEST 5        ***
REM ***   (Boulder-Parkour)   ***
REM ***                       ***

IF(PLAYER0,FLAG0==9)
	
	REM *** Secret Mushrooms ***
	
	NEXT_COMMAND_REUSABLE
	RESET_ACTION_POINT(81)
	
	IF_ACTION_POINT(81,PLAYER0) REM Red Mushrooms 1
		IF(PLAYER0,FLAG4==0) REM Player0 has not taken Mushrooms
			NEXT_COMMAND_REUSABLE
			SET_FLAG(PLAYER0,FLAG4,1) REM Player0 took Mushrooms
			NEXT_COMMAND_REUSABLE
			SET_TIMER(PLAYER0,TIMER4) REM Start Player0's Mushroom-Eat-Sequence
		ENDIF
	ENDIF
	IF_ACTION_POINT(81,PLAYER1) REM Red Mushrooms 1
		IF(PLAYER0,FLAG5==0) REM PLAYER1 has not taken Mushrooms
			NEXT_COMMAND_REUSABLE
			SET_FLAG(PLAYER0,FLAG5,1) REM PLAYER1 took Mushrooms
			NEXT_COMMAND_REUSABLE
			SET_TIMER(PLAYER0,TIMER5) REM Start PLAYER1's Mushroom-Eat-Sequence
		ENDIF
	ENDIF
	
	
	REM ***                         ***
	REM ***     PRESSURE PLATES     ***
	REM ***                         ***
	
	REM *** End Pressure Plate 1: PLAYER0,FLAG6 ***
	NEXT_COMMAND_REUSABLE
	COUNT_CREATURES_AT_ACTION_POINT(52,ALL_PLAYERS,ANY_CREATURE,PLAYER0,FLAG6)
	IF(PLAYER0,FLAG7<PLAYER0,FLAG6) REM More Imps than last frame
		IF(PLAYER0,FLAG6==1)
			NEXT_COMMAND_REUSABLE
			CHANGE_SLAB_TYPE(10,39,PRESS_PLATE_0)
			NEXT_COMMAND_REUSABLE
			PLAY_MESSAGE(ALL_PLAYERS,SOUND,91) REM "doorup2.wav"
			NEXT_COMMAND_REUSABLE
			COMPUTE_FLAG(PLAYER0,FLAG7,SET,PLAYER0,FLAG6,0) REM Last Imp now 1 or 2
		ENDIF
	ENDIF
	IF(PLAYER0,FLAG7>PLAYER0,FLAG6) REM Less Imps than last frame
		IF(PLAYER0,FLAG6==0)
			NEXT_COMMAND_REUSABLE
			CHANGE_SLAB_TYPE(10,39,PRESS_PLATE_1)
			NEXT_COMMAND_REUSABLE
			PLAY_MESSAGE(ALL_PLAYERS,SOUND,92) REM "doordown.wav"
			NEXT_COMMAND_REUSABLE
			SET_FLAG(PLAYER0,FLAG7,0) REM Last Imp now 0
		ENDIF
	ENDIF
	
	REM *** End Pressure Plate 2: PLAYER1,FLAG6 ***
	NEXT_COMMAND_REUSABLE
	COUNT_CREATURES_AT_ACTION_POINT(53,ALL_PLAYERS,ANY_CREATURE,PLAYER1,FLAG6)
	IF(PLAYER1,FLAG7<PLAYER1,FLAG6) REM More Imps than last frame
		IF(PLAYER1,FLAG6==1)
			NEXT_COMMAND_REUSABLE
			CHANGE_SLAB_TYPE(10,41,PRESS_PLATE_0)
			NEXT_COMMAND_REUSABLE
			PLAY_MESSAGE(ALL_PLAYERS,SOUND,91) REM "doorup2.wav"
			NEXT_COMMAND_REUSABLE
			COMPUTE_FLAG(PLAYER1,FLAG7,SET,PLAYER1,FLAG6,0) REM Last Imp now 1 or 2
		ENDIF
	ENDIF
	IF(PLAYER1,FLAG7>PLAYER1,FLAG6) REM Less Imps than last frame
		IF(PLAYER1,FLAG6==0)
			NEXT_COMMAND_REUSABLE
			CHANGE_SLAB_TYPE(10,41,PRESS_PLATE_1)
			NEXT_COMMAND_REUSABLE
			PLAY_MESSAGE(ALL_PLAYERS,SOUND,92) REM "doordown.wav"
			NEXT_COMMAND_REUSABLE
			SET_FLAG(PLAYER1,FLAG7,0) REM Last Imp now 0
		ENDIF
	ENDIF
	
	REM *** Both End Pressure Plates ***
	IF(PLAYER0,FLAG6==0) REM No Imp at Platform 1
		NEXT_COMMAND_REUSABLE
		SET_TIMER(PLAYER0,TIMER6)
	ENDIF
	IF(PLAYER1,FLAG6==0) REM No Imp at Platform 2
		NEXT_COMMAND_REUSABLE
		SET_TIMER(PLAYER0,TIMER6)
	ENDIF
	IF(PLAYER0,TIMER6>35)
		PLAY_MESSAGE(ALL_PLAYERS,SOUND,60) REM "button1.wav"
		PLAY_MESSAGE(ALL_PLAYERS,SOUND,76) REM "stars3.wav"
		SET_DOOR(LOCKED,8,40)
		CHANGE_SLAB_TYPE(12,40,DOOR_1_OPEN)
		REM *** Reset Quest-related Flags and Timers ***
		SET_FLAG(PLAYER0,FLAG6,0)
		SET_FLAG(PLAYER0,FLAG7,0)
		SET_FLAG(PLAYER1,FLAG6,0)
		SET_FLAG(PLAYER1,FLAG7,0)
		SET_TIMER(PLAYER0,TIMER6)
		REM *** Next Quest ***
		ADD_TO_FLAG(PLAYER0,FLAG0,1) REM Quest-Progress
	ENDIF
ENDIF


REM ***                       ***
REM ***        QUEST 6        ***
REM ***   (Secret Sand-Way)   ***
REM ***                       ***

IF(PLAYER0,FLAG0==10)
	
	NEXT_COMMAND_REUSABLE
	USE_POWER_ON_CREATURE(PLAYER0,IMP0,ANYWHERE,PLAYER0,POWER_SPEED,9,1)
	NEXT_COMMAND_REUSABLE
	USE_POWER_ON_CREATURE(PLAYER1,IMP1,ANYWHERE,PLAYER1,POWER_SPEED,9,1)
	
	REM ***                         ***
	REM ***     PRESSURE PLATES     ***
	REM ***                         ***
	
	REM *** End Pressure Plate 1: PLAYER0,FLAG6 ***
	NEXT_COMMAND_REUSABLE
	COUNT_CREATURES_AT_ACTION_POINT(56,ALL_PLAYERS,ANY_CREATURE,PLAYER0,FLAG6)
	IF(PLAYER0,FLAG7<PLAYER0,FLAG6) REM More Imps than last frame
		IF(PLAYER0,FLAG6==1)
			NEXT_COMMAND_REUSABLE
			CHANGE_SLAB_TYPE(41,34,PRESS_PLATE_0)
			NEXT_COMMAND_REUSABLE
			PLAY_MESSAGE(ALL_PLAYERS,SOUND,91) REM "doorup2.wav"
			NEXT_COMMAND_REUSABLE
			COMPUTE_FLAG(PLAYER0,FLAG7,SET,PLAYER0,FLAG6,0) REM Last Imp now 1 or 2
		ENDIF
	ENDIF
	IF(PLAYER0,FLAG7>PLAYER0,FLAG6) REM Less Imps than last frame
		IF(PLAYER0,FLAG6==0)
			NEXT_COMMAND_REUSABLE
			CHANGE_SLAB_TYPE(41,34,PRESS_PLATE_1)
			NEXT_COMMAND_REUSABLE
			PLAY_MESSAGE(ALL_PLAYERS,SOUND,92) REM "doordown.wav"
			NEXT_COMMAND_REUSABLE
			SET_FLAG(PLAYER0,FLAG7,0) REM Last Imp now 0
		ENDIF
	ENDIF
	
	REM *** End Pressure Plate 2: PLAYER1,FLAG6 ***
	NEXT_COMMAND_REUSABLE
	COUNT_CREATURES_AT_ACTION_POINT(57,ALL_PLAYERS,ANY_CREATURE,PLAYER1,FLAG6)
	IF(PLAYER1,FLAG7<PLAYER1,FLAG6) REM More Imps than last frame
		IF(PLAYER1,FLAG6==1)
			NEXT_COMMAND_REUSABLE
			CHANGE_SLAB_TYPE(43,34,PRESS_PLATE_0)
			NEXT_COMMAND_REUSABLE
			PLAY_MESSAGE(ALL_PLAYERS,SOUND,91) REM "doorup2.wav"
			NEXT_COMMAND_REUSABLE
			COMPUTE_FLAG(PLAYER1,FLAG7,SET,PLAYER1,FLAG6,0) REM Last Imp now 1 or 2
		ENDIF
	ENDIF
	IF(PLAYER1,FLAG7>PLAYER1,FLAG6) REM Less Imps than last frame
		IF(PLAYER1,FLAG6==0)
			NEXT_COMMAND_REUSABLE
			CHANGE_SLAB_TYPE(43,34,PRESS_PLATE_1)
			NEXT_COMMAND_REUSABLE
			PLAY_MESSAGE(ALL_PLAYERS,SOUND,92) REM "doordown.wav"
			NEXT_COMMAND_REUSABLE
			SET_FLAG(PLAYER1,FLAG7,0) REM Last Imp now 0
		ENDIF
	ENDIF
	
	REM *** Both End Pressure Plates ***
	IF(PLAYER0,FLAG6==0) REM No Imp at Platform 1
		NEXT_COMMAND_REUSABLE
		SET_TIMER(PLAYER0,TIMER6)
	ENDIF
	IF(PLAYER1,FLAG6==0) REM No Imp at Platform 2
		NEXT_COMMAND_REUSABLE
		SET_TIMER(PLAYER0,TIMER6)
	ENDIF
	IF(PLAYER0,TIMER6>35)
		PLAY_MESSAGE(ALL_PLAYERS,SOUND,60) REM "button1.wav"
		PLAY_MESSAGE(ALL_PLAYERS,SOUND,76) REM "stars3.wav"
		SET_DOOR(LOCKED,39,35)
		CHANGE_SLAB_TYPE(42,32,DOOR_2_OPEN)
		REM *** Reset Quest-related Flags and Timers ***
		SET_FLAG(PLAYER0,FLAG6,0)
		SET_FLAG(PLAYER0,FLAG7,0)
		SET_FLAG(PLAYER1,FLAG6,0)
		SET_FLAG(PLAYER1,FLAG7,0)
		SET_TIMER(PLAYER0,TIMER6)
		REM *** Next Quest ***
		ADD_TO_FLAG(PLAYER0,FLAG0,1) REM Quest-Progress
	ENDIF
ENDIF

REM ***                       ***
REM ***        QUEST 7        ***
REM ***     (Lava-Fields)     ***
REM ***                       ***

IF(PLAYER0,FLAG0==11)
	
	REM ***                         ***
	REM ***     PRESSURE PLATES     ***
	REM ***                         ***
	
	REM *** End Pressure Plate 1: PLAYER0,FLAG6 ***
	NEXT_COMMAND_REUSABLE
	COUNT_CREATURES_AT_ACTION_POINT(48,ALL_PLAYERS,ANY_CREATURE,PLAYER0,FLAG6)
	IF(PLAYER0,FLAG7<PLAYER0,FLAG6) REM More Imps than last frame
		IF(PLAYER0,FLAG6==1)
			NEXT_COMMAND_REUSABLE
			CHANGE_SLAB_TYPE(22,20,PRESS_PLATE_0)
			NEXT_COMMAND_REUSABLE
			PLAY_MESSAGE(ALL_PLAYERS,SOUND,91) REM "doorup2.wav"
			NEXT_COMMAND_REUSABLE
			COMPUTE_FLAG(PLAYER0,FLAG7,SET,PLAYER0,FLAG6,0) REM Last Imp now 1 or 2
		ENDIF
	ENDIF
	IF(PLAYER0,FLAG7>PLAYER0,FLAG6) REM Less Imps than last frame
		IF(PLAYER0,FLAG6==0)
			NEXT_COMMAND_REUSABLE
			CHANGE_SLAB_TYPE(22,20,PRESS_PLATE_1)
			NEXT_COMMAND_REUSABLE
			PLAY_MESSAGE(ALL_PLAYERS,SOUND,92) REM "doordown.wav"
			NEXT_COMMAND_REUSABLE
			SET_FLAG(PLAYER0,FLAG7,0) REM Last Imp now 0
		ENDIF
	ENDIF
	
	REM *** End Pressure Plate 2: PLAYER1,FLAG6 ***
	NEXT_COMMAND_REUSABLE
	COUNT_CREATURES_AT_ACTION_POINT(63,ALL_PLAYERS,ANY_CREATURE,PLAYER1,FLAG6)
	IF(PLAYER1,FLAG7<PLAYER1,FLAG6) REM More Imps than last frame
		IF(PLAYER1,FLAG6==1)
			NEXT_COMMAND_REUSABLE
			CHANGE_SLAB_TYPE(22,22,PRESS_PLATE_0)
			NEXT_COMMAND_REUSABLE
			PLAY_MESSAGE(ALL_PLAYERS,SOUND,91) REM "doorup2.wav"
			NEXT_COMMAND_REUSABLE
			COMPUTE_FLAG(PLAYER1,FLAG7,SET,PLAYER1,FLAG6,0) REM Last Imp now 1 or 2
		ENDIF
	ENDIF
	IF(PLAYER1,FLAG7>PLAYER1,FLAG6) REM Less Imps than last frame
		IF(PLAYER1,FLAG6==0)
			NEXT_COMMAND_REUSABLE
			CHANGE_SLAB_TYPE(22,22,PRESS_PLATE_1)
			NEXT_COMMAND_REUSABLE
			PLAY_MESSAGE(ALL_PLAYERS,SOUND,92) REM "doordown.wav"
			NEXT_COMMAND_REUSABLE
			SET_FLAG(PLAYER1,FLAG7,0) REM Last Imp now 0
		ENDIF
	ENDIF
	
	REM *** Time Plate 1: PLAYER2,FLAG6 ***
	SET_TIMER(PLAYER2,TIMER7)
	SET_FLAG(PLAYER2,FLAG7,3) REM Platform-Level 3
	NEXT_COMMAND_REUSABLE
	COUNT_CREATURES_AT_ACTION_POINT(58,ALL_PLAYERS,ANY_CREATURE,PLAYER2,FLAG6)
	IF(PLAYER2,FLAG6>0) REM Imp on Platform
		IF(PLAYER2,TIMER7>20) REM Platform-Change-Delay
			IF(PLAYER2,FLAG7==3) REM Platform-Level 3
				NEXT_COMMAND_REUSABLE
				CHANGE_SLAB_TYPE(39,26,PRESS_PLATE_2)
				NEXT_COMMAND_REUSABLE
				PLAY_MESSAGE(ALL_PLAYERS,SOUND,42) REM "quake.wav"
				NEXT_COMMAND_REUSABLE
				SET_TIMER(PLAYER2,TIMER7) REM Platform-Change-Delay
				NEXT_COMMAND_REUSABLE
				SET_FLAG(PLAYER2,FLAG7,2) REM Now Platform-Level 2
				NEXT_COMMAND_REUSABLE
				CHANGE_SLAB_TYPE(37,26,PRETTY_PATH)
				NEXT_COMMAND_REUSABLE
				CHANGE_SLAB_OWNER(37,26,PLAYER_GOOD)
				NEXT_COMMAND_REUSABLE
				CHANGE_SLAB_TYPE(37,26,BRIDGE_FRAME)
			ENDIF
			IF(PLAYER2,FLAG7==2) REM Platform-Level 2
				NEXT_COMMAND_REUSABLE
				CHANGE_SLAB_TYPE(39,26,PRESS_PLATE_1)
				NEXT_COMMAND_REUSABLE
				PLAY_MESSAGE(ALL_PLAYERS,SOUND,42) REM "quake.wav"
				NEXT_COMMAND_REUSABLE
				SET_TIMER(PLAYER2,TIMER7) REM Platform-Change-Delay
				NEXT_COMMAND_REUSABLE
				SET_FLAG(PLAYER2,FLAG7,1) REM Now Platform-Level 1
				NEXT_COMMAND_REUSABLE
				CHANGE_SLAB_TYPE(36,26,PRETTY_PATH)
				NEXT_COMMAND_REUSABLE
				CHANGE_SLAB_OWNER(36,26,PLAYER_GOOD)
				NEXT_COMMAND_REUSABLE
				CHANGE_SLAB_TYPE(36,26,BRIDGE_FRAME)
			ENDIF
			IF(PLAYER2,FLAG7==1) REM Platform-Level 1
				NEXT_COMMAND_REUSABLE
				CHANGE_SLAB_TYPE(39,26,PRESS_PLATE_0)
				NEXT_COMMAND_REUSABLE
				PLAY_MESSAGE(ALL_PLAYERS,SOUND,91) REM "doorup2.wav"
				NEXT_COMMAND_REUSABLE
				SET_TIMER(PLAYER2,TIMER7) REM Platform-Change-Delay
				NEXT_COMMAND_REUSABLE
				SET_FLAG(PLAYER2,FLAG7,0) REM Now Platform-Level 0
				NEXT_COMMAND_REUSABLE
				CHANGE_SLAB_TYPE(35,26,PRETTY_PATH)
				NEXT_COMMAND_REUSABLE
				CHANGE_SLAB_OWNER(35,26,PLAYER_GOOD)
				NEXT_COMMAND_REUSABLE
				CHANGE_SLAB_TYPE(35,26,BRIDGE_FRAME)
			ENDIF
		ENDIF
	ENDIF
	IF(PLAYER2,FLAG6==0) REM No Imp on Platform
		IF(PLAYER2,TIMER7>21)
			IF(PLAYER2,FLAG7==0) REM Platform-Level 0
				NEXT_COMMAND_REUSABLE
				CHANGE_SLAB_TYPE(39,26,PRESS_PLATE_1)
				NEXT_COMMAND_REUSABLE
				PLAY_MESSAGE(ALL_PLAYERS,SOUND,42) REM "quake.wav"
				NEXT_COMMAND_REUSABLE
				SET_TIMER(PLAYER2,TIMER7) REM Platform-Change-Delay
				NEXT_COMMAND_REUSABLE
				SET_FLAG(PLAYER2,FLAG7,1) REM Now Platform-Level 1
				NEXT_COMMAND_REUSABLE
				CHANGE_SLAB_TYPE(35,26,LAVA)
			ENDIF
			IF(PLAYER2,FLAG7==1) REM Platform-Level 1
				NEXT_COMMAND_REUSABLE
				CHANGE_SLAB_TYPE(39,26,PRESS_PLATE_2)
				NEXT_COMMAND_REUSABLE
				PLAY_MESSAGE(ALL_PLAYERS,SOUND,42) REM "quake.wav"
				NEXT_COMMAND_REUSABLE
				SET_TIMER(PLAYER2,TIMER7) REM Platform-Change-Delay
				NEXT_COMMAND_REUSABLE
				SET_FLAG(PLAYER2,FLAG7,2) REM Now Platform-Level 2
				NEXT_COMMAND_REUSABLE
				CHANGE_SLAB_TYPE(36,26,LAVA)
			ENDIF
			IF(PLAYER2,FLAG7==2) REM Platform-Level 2
				NEXT_COMMAND_REUSABLE
				CHANGE_SLAB_TYPE(39,26,PRESS_PLATE_3)
				NEXT_COMMAND_REUSABLE
				PLAY_MESSAGE(ALL_PLAYERS,SOUND,92) REM "doordown.wav"
				NEXT_COMMAND_REUSABLE
				SET_TIMER(PLAYER2,TIMER7) REM Platform-Change-Delay
				NEXT_COMMAND_REUSABLE
				SET_FLAG(PLAYER2,FLAG7,3) REM Now Platform-Level 3
				NEXT_COMMAND_REUSABLE
				CHANGE_SLAB_TYPE(37,26,LAVA)
			ENDIF
		ENDIF
	ENDIF
	
	REM *** Time Plate 2: PLAYER3,FLAG6 ***
	SET_TIMER(PLAYER3,TIMER7)
	SET_FLAG(PLAYER3,FLAG7,3) REM Platform-Level 3
	NEXT_COMMAND_REUSABLE
	COUNT_CREATURES_AT_ACTION_POINT(59,ALL_PLAYERS,ANY_CREATURE,PLAYER3,FLAG6)
	IF(PLAYER3,FLAG6>0) REM Imp on Platform
		IF(PLAYER3,TIMER7>20) REM Platform-Change-Delay
			IF(PLAYER3,FLAG7==3) REM Platform-Level 3
				NEXT_COMMAND_REUSABLE
				CHANGE_SLAB_TYPE(35,24,PRESS_PLATE_2)
				NEXT_COMMAND_REUSABLE
				PLAY_MESSAGE(ALL_PLAYERS,SOUND,42) REM "quake.wav"
				NEXT_COMMAND_REUSABLE
				SET_TIMER(PLAYER3,TIMER7) REM Platform-Change-Delay
				NEXT_COMMAND_REUSABLE
				SET_FLAG(PLAYER3,FLAG7,2) REM Now Platform-Level 2
				NEXT_COMMAND_REUSABLE
				CHANGE_SLAB_TYPE(39,24,PRETTY_PATH)
				NEXT_COMMAND_REUSABLE
				CHANGE_SLAB_OWNER(39,24,PLAYER_GOOD)
				NEXT_COMMAND_REUSABLE
				CHANGE_SLAB_TYPE(39,24,BRIDGE_FRAME)
			ENDIF
			IF(PLAYER3,FLAG7==2) REM Platform-Level 2
				NEXT_COMMAND_REUSABLE
				CHANGE_SLAB_TYPE(35,24,PRESS_PLATE_1)
				NEXT_COMMAND_REUSABLE
				PLAY_MESSAGE(ALL_PLAYERS,SOUND,42) REM "quake.wav"
				NEXT_COMMAND_REUSABLE
				SET_TIMER(PLAYER3,TIMER7) REM Platform-Change-Delay
				NEXT_COMMAND_REUSABLE
				SET_FLAG(PLAYER3,FLAG7,1) REM Now Platform-Level 1
				NEXT_COMMAND_REUSABLE
				CHANGE_SLAB_TYPE(39,23,PRETTY_PATH)
				NEXT_COMMAND_REUSABLE
				CHANGE_SLAB_OWNER(39,23,PLAYER_GOOD)
				NEXT_COMMAND_REUSABLE
				CHANGE_SLAB_TYPE(39,23,BRIDGE_FRAME)
			ENDIF
			IF(PLAYER3,FLAG7==1) REM Platform-Level 1
				NEXT_COMMAND_REUSABLE
				CHANGE_SLAB_TYPE(35,24,PRESS_PLATE_0)
				NEXT_COMMAND_REUSABLE
				PLAY_MESSAGE(ALL_PLAYERS,SOUND,91) REM "doorup2.wav"
				NEXT_COMMAND_REUSABLE
				SET_TIMER(PLAYER3,TIMER7) REM Platform-Change-Delay
				NEXT_COMMAND_REUSABLE
				SET_FLAG(PLAYER3,FLAG7,0) REM Now Platform-Level 0
				NEXT_COMMAND_REUSABLE
				CHANGE_SLAB_TYPE(39,22,PRETTY_PATH)
				NEXT_COMMAND_REUSABLE
				CHANGE_SLAB_OWNER(39,22,PLAYER_GOOD)
				NEXT_COMMAND_REUSABLE
				CHANGE_SLAB_TYPE(39,22,BRIDGE_FRAME)
			ENDIF
		ENDIF
	ENDIF
	IF(PLAYER3,FLAG6==0) REM No Imp on Platform
		IF(PLAYER3,TIMER7>21)
			IF(PLAYER3,FLAG7==0) REM Platform-Level 0
				NEXT_COMMAND_REUSABLE
				CHANGE_SLAB_TYPE(35,24,PRESS_PLATE_1)
				NEXT_COMMAND_REUSABLE
				PLAY_MESSAGE(ALL_PLAYERS,SOUND,42) REM "quake.wav"
				NEXT_COMMAND_REUSABLE
				SET_TIMER(PLAYER3,TIMER7) REM Platform-Change-Delay
				NEXT_COMMAND_REUSABLE
				SET_FLAG(PLAYER3,FLAG7,1) REM Now Platform-Level 1
				NEXT_COMMAND_REUSABLE
				CHANGE_SLAB_TYPE(39,22,LAVA)
			ENDIF
			IF(PLAYER3,FLAG7==1) REM Platform-Level 1
				NEXT_COMMAND_REUSABLE
				CHANGE_SLAB_TYPE(35,24,PRESS_PLATE_2)
				NEXT_COMMAND_REUSABLE
				PLAY_MESSAGE(ALL_PLAYERS,SOUND,42) REM "quake.wav"
				NEXT_COMMAND_REUSABLE
				SET_TIMER(PLAYER3,TIMER7) REM Platform-Change-Delay
				NEXT_COMMAND_REUSABLE
				SET_FLAG(PLAYER3,FLAG7,2) REM Now Platform-Level 2
				NEXT_COMMAND_REUSABLE
				CHANGE_SLAB_TYPE(39,23,LAVA)
			ENDIF
			IF(PLAYER3,FLAG7==2) REM Platform-Level 2
				NEXT_COMMAND_REUSABLE
				CHANGE_SLAB_TYPE(35,24,PRESS_PLATE_3)
				NEXT_COMMAND_REUSABLE
				PLAY_MESSAGE(ALL_PLAYERS,SOUND,92) REM "doordown.wav"
				NEXT_COMMAND_REUSABLE
				SET_TIMER(PLAYER3,TIMER7) REM Platform-Change-Delay
				NEXT_COMMAND_REUSABLE
				SET_FLAG(PLAYER3,FLAG7,3) REM Now Platform-Level 3
				NEXT_COMMAND_REUSABLE
				CHANGE_SLAB_TYPE(39,24,LAVA)
			ENDIF
		ENDIF
	ENDIF
	
	REM *** Time Plate 3: PLAYER4,FLAG6 ***
	SET_TIMER(PLAYER4,TIMER7)
	SET_FLAG(PLAYER4,FLAG7,3) REM Platform-Level 3
	NEXT_COMMAND_REUSABLE
	COUNT_CREATURES_AT_ACTION_POINT(60,ALL_PLAYERS,ANY_CREATURE,PLAYER4,FLAG6)
	IF(PLAYER4,FLAG6>0) REM Imp on Platform
		IF(PLAYER4,TIMER7>20) REM Platform-Change-Delay
			IF(PLAYER4,FLAG7==3) REM Platform-Level 3
				NEXT_COMMAND_REUSABLE
				CHANGE_SLAB_TYPE(30,20,PRESS_PLATE_2)
				NEXT_COMMAND_REUSABLE
				PLAY_MESSAGE(ALL_PLAYERS,SOUND,42) REM "quake.wav"
				NEXT_COMMAND_REUSABLE
				SET_TIMER(PLAYER4,TIMER7) REM Platform-Change-Delay
				NEXT_COMMAND_REUSABLE
				SET_FLAG(PLAYER4,FLAG7,2) REM Now Platform-Level 2
				NEXT_COMMAND_REUSABLE
				CHANGE_SLAB_TYPE(30,24,PRETTY_PATH)
				NEXT_COMMAND_REUSABLE
				CHANGE_SLAB_OWNER(30,24,PLAYER_GOOD)
				NEXT_COMMAND_REUSABLE
				CHANGE_SLAB_TYPE(30,24,BRIDGE_FRAME)
			ENDIF
			IF(PLAYER4,FLAG7==2) REM Platform-Level 2
				NEXT_COMMAND_REUSABLE
				CHANGE_SLAB_TYPE(30,20,PRESS_PLATE_1)
				NEXT_COMMAND_REUSABLE
				PLAY_MESSAGE(ALL_PLAYERS,SOUND,42) REM "quake.wav"
				NEXT_COMMAND_REUSABLE
				SET_TIMER(PLAYER4,TIMER7) REM Platform-Change-Delay
				NEXT_COMMAND_REUSABLE
				SET_FLAG(PLAYER4,FLAG7,1) REM Now Platform-Level 1
				NEXT_COMMAND_REUSABLE
				CHANGE_SLAB_TYPE(29,24,PRETTY_PATH)
				NEXT_COMMAND_REUSABLE
				CHANGE_SLAB_OWNER(29,24,PLAYER_GOOD)
				NEXT_COMMAND_REUSABLE
				CHANGE_SLAB_TYPE(29,24,BRIDGE_FRAME)
			ENDIF
			IF(PLAYER4,FLAG7==1) REM Platform-Level 1
				NEXT_COMMAND_REUSABLE
				CHANGE_SLAB_TYPE(30,20,PRESS_PLATE_0)
				NEXT_COMMAND_REUSABLE
				PLAY_MESSAGE(ALL_PLAYERS,SOUND,91) REM "doorup2.wav"
				NEXT_COMMAND_REUSABLE
				SET_TIMER(PLAYER4,TIMER7) REM Platform-Change-Delay
				NEXT_COMMAND_REUSABLE
				SET_FLAG(PLAYER4,FLAG7,0) REM Now Platform-Level 0
				NEXT_COMMAND_REUSABLE
				CHANGE_SLAB_TYPE(28,24,PRETTY_PATH)
				NEXT_COMMAND_REUSABLE
				CHANGE_SLAB_OWNER(28,24,PLAYER_GOOD)
				NEXT_COMMAND_REUSABLE
				CHANGE_SLAB_TYPE(28,24,BRIDGE_FRAME)
			ENDIF
		ENDIF
	ENDIF
	IF(PLAYER4,FLAG6==0) REM No Imp on Platform
		IF(PLAYER4,TIMER7>21)
			IF(PLAYER4,FLAG7==0) REM Platform-Level 0
				NEXT_COMMAND_REUSABLE
				CHANGE_SLAB_TYPE(30,20,PRESS_PLATE_1)
				NEXT_COMMAND_REUSABLE
				PLAY_MESSAGE(ALL_PLAYERS,SOUND,42) REM "quake.wav"
				NEXT_COMMAND_REUSABLE
				SET_TIMER(PLAYER4,TIMER7) REM Platform-Change-Delay
				NEXT_COMMAND_REUSABLE
				SET_FLAG(PLAYER4,FLAG7,1) REM Now Platform-Level 1
				NEXT_COMMAND_REUSABLE
				CHANGE_SLAB_TYPE(28,24,LAVA)
			ENDIF
			IF(PLAYER4,FLAG7==1) REM Platform-Level 1
				NEXT_COMMAND_REUSABLE
				CHANGE_SLAB_TYPE(30,20,PRESS_PLATE_2)
				NEXT_COMMAND_REUSABLE
				PLAY_MESSAGE(ALL_PLAYERS,SOUND,42) REM "quake.wav"
				NEXT_COMMAND_REUSABLE
				SET_TIMER(PLAYER4,TIMER7) REM Platform-Change-Delay
				NEXT_COMMAND_REUSABLE
				SET_FLAG(PLAYER4,FLAG7,2) REM Now Platform-Level 2
				NEXT_COMMAND_REUSABLE
				CHANGE_SLAB_TYPE(29,24,LAVA)
			ENDIF
			IF(PLAYER4,FLAG7==2) REM Platform-Level 2
				NEXT_COMMAND_REUSABLE
				CHANGE_SLAB_TYPE(30,20,PRESS_PLATE_3)
				NEXT_COMMAND_REUSABLE
				PLAY_MESSAGE(ALL_PLAYERS,SOUND,92) REM "doordown.wav"
				NEXT_COMMAND_REUSABLE
				SET_TIMER(PLAYER4,TIMER7) REM Platform-Change-Delay
				NEXT_COMMAND_REUSABLE
				SET_FLAG(PLAYER4,FLAG7,3) REM Now Platform-Level 3
				NEXT_COMMAND_REUSABLE
				CHANGE_SLAB_TYPE(30,24,LAVA)
			ENDIF
		ENDIF
	ENDIF
	
	REM *** Both End Pressure Plates ***
	IF(PLAYER0,FLAG6==0) REM No Imp at Platform 1
		NEXT_COMMAND_REUSABLE
		SET_TIMER(PLAYER0,TIMER6)
	ENDIF
	IF(PLAYER1,FLAG6==0) REM No Imp at Platform 2
		NEXT_COMMAND_REUSABLE
		SET_TIMER(PLAYER0,TIMER6)
	ENDIF
	IF(PLAYER0,TIMER6>35)
		PLAY_MESSAGE(ALL_PLAYERS,SOUND,60) REM "button1.wav"
		PLAY_MESSAGE(ALL_PLAYERS,SOUND,76) REM "stars3.wav"
		SET_DOOR(LOCKED,25,21)
		CHANGE_SLAB_TYPE(20,21,DOOR_1_OPEN)
		REM *** Reset Quest-related Flags and Timers ***
		SET_FLAG(PLAYER0,FLAG6,0)
		SET_FLAG(PLAYER0,FLAG7,0)
		SET_FLAG(PLAYER1,FLAG6,0)
		SET_FLAG(PLAYER1,FLAG7,0)
		SET_TIMER(PLAYER0,TIMER6)
		REM *** Next Quest ***
		ADD_TO_FLAG(PLAYER0,FLAG0,1) REM Quest-Progress
	ENDIF
ENDIF

REM ***                       ***
REM ***        QUEST 8        ***
REM ***       (Avatar)        ***
REM ***                       ***

IF(PLAYER0,FLAG0==12) REM Quest-Progress
	
	REM *** Reset previous Quest values ***
	SET_FLAG(PLAYER0,FLAG6,0)
	SET_FLAG(PLAYER0,FLAG7,0)
	SET_FLAG(PLAYER1,FLAG6,0)
	SET_FLAG(PLAYER1,FLAG7,0)
	SET_FLAG(PLAYER2,FLAG6,0)
	SET_FLAG(PLAYER2,FLAG7,0)
	SET_FLAG(PLAYER3,FLAG6,0)
	SET_FLAG(PLAYER3,FLAG7,0)
	SET_FLAG(PLAYER4,FLAG6,0)
	SET_FLAG(PLAYER4,FLAG7,0)
	SET_FLAG(PLAYER5,FLAG6,0)
	SET_FLAG(PLAYER5,FLAG7,0)
	SET_FLAG(PLAYER_GOOD,FLAG0,0)
	SET_FLAG(PLAYER_GOOD,FLAG1,0)
	SET_TIMER(PLAYER2,TIMER7)
	SET_TIMER(PLAYER4,TIMER7)
	
	NEXT_COMMAND_REUSABLE
	RESET_ACTION_POINT(77)
	
	REM *** Boulder Portal - Entrance ***
	IF(PLAYER_GOOD,FLAG0==0) REM Sub-Quest 1 (Boulder) not done
		IF_ACTION_POINT(77,PLAYER0)
			NEXT_COMMAND_REUSABLE
			CREATE_EFFECT(54,77) REM 54: EFFECT_COLFOUNTN_1
			NEXT_COMMAND_REUSABLE
			MOVE_CREATURE(PLAYER0,ANY_CREATURE,ANYWHERE,1,78,54) REM 54: EFFECT_COLFOUNTN_1
			NEXT_COMMAND_REUSABLE
			SET_FLAG(PLAYER0,FLAG2,1) REM Teleport-Sound for PLAYER1
		ENDIF
		IF_ACTION_POINT(77,PLAYER1)
			NEXT_COMMAND_REUSABLE
			CREATE_EFFECT(54,77) REM 54: EFFECT_COLFOUNTN_1
			NEXT_COMMAND_REUSABLE
			MOVE_CREATURE(PLAYER1,ANY_CREATURE,ANYWHERE,1,78,54) REM 54: EFFECT_COLFOUNTN_1
			NEXT_COMMAND_REUSABLE
			SET_FLAG(PLAYER0,FLAG2,2) REM Teleport-Sound for PLAYER1
		ENDIF
	ENDIF
	
	
	
	
	REM *** Pressure Plate 1 - Freeze 1 ***
	NEXT_COMMAND_REUSABLE
	COUNT_CREATURES_AT_ACTION_POINT(66,ALL_PLAYERS,ANY_CREATURE,PLAYER0,FLAG6)
	IF(PLAYER0,FLAG7<PLAYER0,FLAG6) REM More Imps than last frame
		IF(PLAYER0,FLAG6==1)
			NEXT_COMMAND_REUSABLE
			CHANGE_SLAB_TYPE(12,16,PRESS_PLATE_0)
			NEXT_COMMAND_REUSABLE
			PLAY_MESSAGE(ALL_PLAYERS,SOUND,91) REM "doorup2.wav"
			NEXT_COMMAND_REUSABLE
			COMPUTE_FLAG(PLAYER0,FLAG7,SET,PLAYER0,FLAG6,0) REM Last Imp now 1 or 2
		ENDIF
	ENDIF
	IF(PLAYER0,FLAG7>PLAYER0,FLAG6) REM Less Imps than last frame
		IF(PLAYER0,FLAG6==0)
			NEXT_COMMAND_REUSABLE
			CHANGE_SLAB_TYPE(12,16,PRESS_PLATE_1)
			NEXT_COMMAND_REUSABLE
			PLAY_MESSAGE(ALL_PLAYERS,SOUND,92) REM "doordown.wav"
			NEXT_COMMAND_REUSABLE
			SET_FLAG(PLAYER0,FLAG7,0) REM Last Imp now 0
		ENDIF
	ENDIF
	
	REM *** Pressure Plate 2 - Freeze 2 ***
	NEXT_COMMAND_REUSABLE
	COUNT_CREATURES_AT_ACTION_POINT(67,ALL_PLAYERS,ANY_CREATURE,PLAYER1,FLAG6)
	IF(PLAYER1,FLAG7<PLAYER1,FLAG6) REM More Imps than last frame
		IF(PLAYER1,FLAG6==1)
			NEXT_COMMAND_REUSABLE
			CHANGE_SLAB_TYPE(16,16,PRESS_PLATE_0)
			NEXT_COMMAND_REUSABLE
			PLAY_MESSAGE(ALL_PLAYERS,SOUND,91) REM "doorup2.wav"
			NEXT_COMMAND_REUSABLE
			COMPUTE_FLAG(PLAYER1,FLAG7,SET,PLAYER1,FLAG6,0) REM Last Imp now 1 or 2
		ENDIF
	ENDIF
	IF(PLAYER1,FLAG7>PLAYER1,FLAG6) REM Less Imps than last frame
		IF(PLAYER1,FLAG6==0)
			NEXT_COMMAND_REUSABLE
			CHANGE_SLAB_TYPE(16,16,PRESS_PLATE_1)
			NEXT_COMMAND_REUSABLE
			PLAY_MESSAGE(ALL_PLAYERS,SOUND,92) REM "doordown.wav"
			NEXT_COMMAND_REUSABLE
			SET_FLAG(PLAYER1,FLAG7,0) REM Last Imp now 0
		ENDIF
	ENDIF
	
	IF(PLAYER_GOOD,FLAG0==0) REM Ability 1 (Speed) not yet gained
		REM *** Pressure Plate 3 - Speed 1 ***
		NEXT_COMMAND_REUSABLE
		COUNT_CREATURES_AT_ACTION_POINT(68,ALL_PLAYERS,ANY_CREATURE,PLAYER2,FLAG6)
		IF(PLAYER2,FLAG7<PLAYER2,FLAG6) REM More Imps than last frame
			IF(PLAYER2,FLAG6==1)
				NEXT_COMMAND_REUSABLE
				CHANGE_SLAB_TYPE(6,7,PRESS_PLATE_0)
				NEXT_COMMAND_REUSABLE
				PLAY_MESSAGE(ALL_PLAYERS,SOUND,91) REM "doorup2.wav"
				NEXT_COMMAND_REUSABLE
				COMPUTE_FLAG(PLAYER2,FLAG7,SET,PLAYER2,FLAG6,0) REM Last Imp now 1 or 2
			ENDIF
		ENDIF
		IF(PLAYER2,FLAG7>PLAYER2,FLAG6) REM Less Imps than last frame
			IF(PLAYER2,FLAG6==0)
				NEXT_COMMAND_REUSABLE
				CHANGE_SLAB_TYPE(6,7,PRESS_PLATE_1)
				NEXT_COMMAND_REUSABLE
				PLAY_MESSAGE(ALL_PLAYERS,SOUND,92) REM "doordown.wav"
				NEXT_COMMAND_REUSABLE
				SET_FLAG(PLAYER2,FLAG7,0) REM Last Imp now 0
			ENDIF
		ENDIF
		
		REM *** Pressure Plate 4 - Speed 2 ***
		NEXT_COMMAND_REUSABLE
		COUNT_CREATURES_AT_ACTION_POINT(69,ALL_PLAYERS,ANY_CREATURE,PLAYER3,FLAG6)
		IF(PLAYER3,FLAG7<PLAYER3,FLAG6) REM More Imps than last frame
			IF(PLAYER3,FLAG6==1)
				NEXT_COMMAND_REUSABLE
				CHANGE_SLAB_TYPE(6,5,PRESS_PLATE_0)
				NEXT_COMMAND_REUSABLE
				PLAY_MESSAGE(ALL_PLAYERS,SOUND,91) REM "doorup2.wav"
				NEXT_COMMAND_REUSABLE
				COMPUTE_FLAG(PLAYER3,FLAG7,SET,PLAYER3,FLAG6,0) REM Last Imp now 1 or 2
			ENDIF
		ENDIF
		IF(PLAYER3,FLAG7>PLAYER3,FLAG6) REM Less Imps than last frame
			IF(PLAYER3,FLAG6==0)
				NEXT_COMMAND_REUSABLE
				CHANGE_SLAB_TYPE(6,5,PRESS_PLATE_1)
				NEXT_COMMAND_REUSABLE
				PLAY_MESSAGE(ALL_PLAYERS,SOUND,92) REM "doordown.wav"
				NEXT_COMMAND_REUSABLE
				SET_FLAG(PLAYER3,FLAG7,0) REM Last Imp now 0
			ENDIF
		ENDIF
	ENDIF
	
	IF(PLAYER_GOOD,FLAG1==0) REM Ability 2 (WoP) not yet gained
		REM *** Pressure Plate 5 - WoP 1 ***
		NEXT_COMMAND_REUSABLE
		COUNT_CREATURES_AT_ACTION_POINT(70,ALL_PLAYERS,ANY_CREATURE,PLAYER4,FLAG6)
		IF(PLAYER4,FLAG7<PLAYER4,FLAG6) REM More Imps than last frame
			IF(PLAYER4,FLAG6==1)
				NEXT_COMMAND_REUSABLE
				CHANGE_SLAB_TYPE(22,7,PRESS_PLATE_0)
				NEXT_COMMAND_REUSABLE
				PLAY_MESSAGE(ALL_PLAYERS,SOUND,91) REM "doorup2.wav"
				NEXT_COMMAND_REUSABLE
				COMPUTE_FLAG(PLAYER4,FLAG7,SET,PLAYER4,FLAG6,0) REM Last Imp now 1 or 2
			ENDIF
		ENDIF
		IF(PLAYER4,FLAG7>PLAYER4,FLAG6) REM Less Imps than last frame
			IF(PLAYER4,FLAG6==0)
				NEXT_COMMAND_REUSABLE
				CHANGE_SLAB_TYPE(22,7,PRESS_PLATE_1)
				NEXT_COMMAND_REUSABLE
				PLAY_MESSAGE(ALL_PLAYERS,SOUND,92) REM "doordown.wav"
				NEXT_COMMAND_REUSABLE
				SET_FLAG(PLAYER4,FLAG7,0) REM Last Imp now 0
			ENDIF
		ENDIF
		
		REM *** Pressure Plate 5 - WoP 1 ***
		NEXT_COMMAND_REUSABLE
		COUNT_CREATURES_AT_ACTION_POINT(71,ALL_PLAYERS,ANY_CREATURE,PLAYER5,FLAG6)
		IF(PLAYER5,FLAG7<PLAYER5,FLAG6) REM More Imps than last frame
			IF(PLAYER5,FLAG6==1)
				NEXT_COMMAND_REUSABLE
				CHANGE_SLAB_TYPE(22,5,PRESS_PLATE_0)
				NEXT_COMMAND_REUSABLE
				PLAY_MESSAGE(ALL_PLAYERS,SOUND,91) REM "doorup2.wav"
				NEXT_COMMAND_REUSABLE
				COMPUTE_FLAG(PLAYER5,FLAG7,SET,PLAYER5,FLAG6,0) REM Last Imp now 1 or 2
			ENDIF
		ENDIF
		IF(PLAYER5,FLAG7>PLAYER5,FLAG6) REM Less Imps than last frame
			IF(PLAYER5,FLAG6==0)
				NEXT_COMMAND_REUSABLE
				CHANGE_SLAB_TYPE(22,5,PRESS_PLATE_1)
				NEXT_COMMAND_REUSABLE
				PLAY_MESSAGE(ALL_PLAYERS,SOUND,92) REM "doordown.wav"
				NEXT_COMMAND_REUSABLE
				SET_FLAG(PLAYER5,FLAG7,0) REM Last Imp now 0
			ENDIF
		ENDIF
	ENDIF
	
	REM *** Both Freeze Pressure Plates ***
	IF(PLAYER0,FLAG6>0) REM Imp at End-Platform 1
		IF(PLAYER1,FLAG6>0) REM Imp at End-Platform 2
			NEXT_COMMAND_REUSABLE
			USE_POWER_ON_CREATURE(PLAYER_GOOD,AVATAR,ANYWHERE,PLAYER0,POWER_FREEZE,1,1)
		ENDIF
	ENDIF
	
	REM *** Both Speed Pressure Plates ***
	IF(PLAYER2,FLAG6==0) REM No Imp at Platform 3
		NEXT_COMMAND_REUSABLE
		SET_TIMER(PLAYER2,TIMER7)
	ENDIF
	IF(PLAYER3,FLAG6==0) REM No Imp at Platform 4
		NEXT_COMMAND_REUSABLE
		SET_TIMER(PLAYER2,TIMER7)
	ENDIF
	IF(PLAYER2,TIMER7>35)
		PLAY_MESSAGE(ALL_PLAYERS,SPEECH,83) REM "Your creatures have been blessed with experience"
		PLAY_MESSAGE(ALL_PLAYERS,SOUND,76) REM "stars3.wav"
		PLAY_MESSAGE(ALL_PLAYERS,SOUND,37) REM "heal.wav"
		PLAY_MESSAGE(ALL_PLAYERS,SOUND,488) REM "imphapy.wav"
		SET_CREATURE_INSTANCE(IMP0,1,SPEED,1)
		SET_CREATURE_INSTANCE(IMP1,1,SPEED,1)
		CREATE_EFFECT_AT_POS(EFFECT_RESEARCH_COMPLETE,28,18)
		CREATE_EFFECT_AT_POS(EFFECT_RESEARCH_COMPLETE,28,20)
		SET_FLAG(PLAYER_GOOD,FLAG0,1) REM Ability 1 (Speed) gained
	ENDIF
	
	REM *** Both WoP Pressure Plates ***
	IF(PLAYER4,FLAG6==0) REM No Imp at Platform 3
		NEXT_COMMAND_REUSABLE
		SET_TIMER(PLAYER4,TIMER7)
	ENDIF
	IF(PLAYER5,FLAG6==0) REM No Imp at Platform 4
		NEXT_COMMAND_REUSABLE
		SET_TIMER(PLAYER4,TIMER7)
	ENDIF
	IF(PLAYER4,TIMER7>35)
		PLAY_MESSAGE(ALL_PLAYERS,SPEECH,83) REM "Your creatures have been blessed with experience"
		PLAY_MESSAGE(ALL_PLAYERS,SOUND,76) REM "stars3.wav"
		PLAY_MESSAGE(ALL_PLAYERS,SOUND,37) REM "heal.wav"
		PLAY_MESSAGE(ALL_PLAYERS,SOUND,488) REM "imphapy.wav"
		SET_CREATURE_INSTANCE(IMP0,2,WORD_OF_POWER,1)
		SET_CREATURE_INSTANCE(IMP1,2,WORD_OF_POWER,1)
		CREATE_EFFECT_AT_POS(EFFECT_RESEARCH_COMPLETE,58,18)
		CREATE_EFFECT_AT_POS(EFFECT_RESEARCH_COMPLETE,58,20)
		SET_FLAG(PLAYER_GOOD,FLAG1,1) REM Ability 2 (WoP) gained
	ENDIF
ENDIF

REM ***                      ***
REM ***     WIN-SEQUENCE     ***
REM ***                      ***

IF(PLAYER_GOOD,AVATAR==0)
	PLAY_MESSAGE(ALL_PLAYERS,SOUND,49) REM "freeze.wav"
	CREATE_EFFECT(EFFECT_WORD_OF_POWER,PLAYER_GOOD)
	SET_HEART_HEALTH(PLAYER_GOOD,10000)
	IF(PLAYER_GOOD,AVATAR==0)
		CREATE_EFFECT(EFFECT_WORD_OF_POWER,PLAYER_GOOD)
		SET_HEART_HEALTH(PLAYER_GOOD,5000)
		IF(PLAYER_GOOD,AVATAR==0)
			CREATE_EFFECT(EFFECT_WORD_OF_POWER,PLAYER_GOOD)
			SET_HEART_HEALTH(PLAYER_GOOD,100)
			IF(PLAYER_GOOD,AVATAR==0)
				SET_HEART_HEALTH(PLAYER_GOOD,0)
			ENDIF
		ENDIF
	ENDIF
ENDIF

IF(PLAYER0,ALL_DUNGEONS_DESTROYED==1)
	PLAY_MESSAGE(ALL_PLAYERS,SOUND,76) REM "stars3.wav"
	WIN_GAME
ENDIF

REM ***                       ***
REM ***    REVIVE-SEQUENCE    ***
REM ***                       ***

SET_TIMER(PLAYER0,TIMER1)
IF(PLAYER0,TIMER1>60) REM Revive Sequence is done
	REM *** Player0 died ***
	IF(PLAYER0,IMP0==0)
		NEXT_COMMAND_REUSABLE
		SET_TIMER(PLAYER0,TIMER1) REM Revive Sequence
	ENDIF
	REM *** Player1 died ***
	IF(PLAYER1,IMP1==0)
		NEXT_COMMAND_REUSABLE
		SET_TIMER(PLAYER0,TIMER1) REM Revive Sequence
	ENDIF
ENDIF
IF(PLAYER0,TIMER1>25) REM Revive Sequence
	IF(PLAYER0,TIMER1<45) REM Revive Sequence
	
		REM *** Kill any imp left ***
		NEXT_COMMAND_REUSABLE
		KILL_CREATURE(PLAYER0,IMP0,ANYWHERE,1)
		NEXT_COMMAND_REUSABLE
		KILL_CREATURE(PLAYER1,IMP1,ANYWHERE,1)
		
		REM *** Lock Camera on Respawn Temples ***
		IF(PLAYER0,FLAG0==0) REM Quest Progress
			NEXT_COMMAND_REUSABLE
			ZOOM_TO_LOCATION(PLAYER0,1)
			NEXT_COMMAND_REUSABLE
			ZOOM_TO_LOCATION(PLAYER1,2)
			NEXT_COMMAND_REUSABLE
			SET_FLAG(PLAYER0,FLAG1,0) REM Revive-Trigger
		ENDIF
		IF(PLAYER0,FLAG0>=1) REM Quest Progress
			IF(PLAYER0,FLAG0<=2) REM Quest Progress
				NEXT_COMMAND_REUSABLE
				ZOOM_TO_LOCATION(PLAYER0,12)
				NEXT_COMMAND_REUSABLE
				ZOOM_TO_LOCATION(PLAYER1,13)
				NEXT_COMMAND_REUSABLE
				SET_FLAG(PLAYER0,FLAG1,0) REM Revive-Trigger
			ENDIF
		ENDIF
		IF(PLAYER0,FLAG0>=3) REM Quest Progress
			IF(PLAYER0,FLAG0<=7) REM Quest Progress
				NEXT_COMMAND_REUSABLE
				ZOOM_TO_LOCATION(PLAYER0,14)
				NEXT_COMMAND_REUSABLE
				ZOOM_TO_LOCATION(PLAYER1,15)
				NEXT_COMMAND_REUSABLE
				SET_FLAG(PLAYER0,FLAG1,0) REM Revive-Trigger
			ENDIF
		ENDIF
		IF(PLAYER0,FLAG0==8) REM Quest Progress
			NEXT_COMMAND_REUSABLE
			ZOOM_TO_LOCATION(PLAYER0,43)
			NEXT_COMMAND_REUSABLE
			ZOOM_TO_LOCATION(PLAYER1,44)
			NEXT_COMMAND_REUSABLE
			SET_FLAG(PLAYER0,FLAG1,0) REM Revive-Trigger
		ENDIF
		IF(PLAYER0,FLAG0==9) REM Quest Progress
			NEXT_COMMAND_REUSABLE
			ZOOM_TO_LOCATION(PLAYER0,50)
			NEXT_COMMAND_REUSABLE
			ZOOM_TO_LOCATION(PLAYER1,51)
			NEXT_COMMAND_REUSABLE
			SET_FLAG(PLAYER0,FLAG1,0) REM Revive-Trigger
		ENDIF
		IF(PLAYER0,FLAG0==10) REM Quest Progress
			NEXT_COMMAND_REUSABLE
			ZOOM_TO_LOCATION(PLAYER0,54)
			NEXT_COMMAND_REUSABLE
			ZOOM_TO_LOCATION(PLAYER1,55)
			NEXT_COMMAND_REUSABLE
			SET_FLAG(PLAYER0,FLAG1,0) REM Revive-Trigger
		ENDIF
		IF(PLAYER0,FLAG0==11) REM Quest Progress
			NEXT_COMMAND_REUSABLE
			ZOOM_TO_LOCATION(PLAYER0,61)
			NEXT_COMMAND_REUSABLE
			ZOOM_TO_LOCATION(PLAYER1,62)
			NEXT_COMMAND_REUSABLE
			SET_FLAG(PLAYER0,FLAG1,0) REM Revive-Trigger
		ENDIF
		IF(PLAYER0,FLAG0==12) REM Quest Progress
			NEXT_COMMAND_REUSABLE
			ZOOM_TO_LOCATION(PLAYER0,64)
			NEXT_COMMAND_REUSABLE
			ZOOM_TO_LOCATION(PLAYER1,65)
			NEXT_COMMAND_REUSABLE
			SET_FLAG(PLAYER0,FLAG1,0) REM Revive-Trigger
		ENDIF
	ENDIF
ENDIF

REM *** Initiate Revive Process ***

IF(PLAYER0,TIMER1==45) REM Revive Sequence
	NEXT_COMMAND_REUSABLE
	LOCK_POSSESSION(ALL_PLAYERS,DISABLED)
	NEXT_COMMAND_REUSABLE
	SET_FLAG(PLAYER_NEUTRAL,FLAG0,0) REM Player0 is not in possession anymore
	NEXT_COMMAND_REUSABLE
	SET_FLAG(PLAYER_NEUTRAL,FLAG1,0) REM Player1 is not in possession anymore
	NEXT_COMMAND_REUSABLE
	SET_FLAG(PLAYER0,FLAG4,0) REM Reset Player0 Red Mushroom Cooldown
	NEXT_COMMAND_REUSABLE
	SET_FLAG(PLAYER0,FLAG5,0) REM Reset Player1 Red Mushroom Cooldown
	NEXT_COMMAND_REUSABLE
	SET_FLAG(PLAYER0,FLAG1,1) REM Revive-Trigger
ENDIF

REM *** Revive on current Respawn-Temple ***

IF(PLAYER0,FLAG1==1)
	IF(PLAYER0,FLAG0==0) REM Quest Progress
		NEXT_COMMAND_REUSABLE
		ADD_CREATURE_TO_LEVEL(PLAYER0,IMP0,1,1,1,0)
		NEXT_COMMAND_REUSABLE
		ADD_CREATURE_TO_LEVEL(PLAYER1,IMP1,2,1,1,0)
		NEXT_COMMAND_REUSABLE
		SET_FLAG(PLAYER0,FLAG1,0) REM Revive-Trigger
	ENDIF
	IF(PLAYER0,FLAG0>=1) REM Quest Progress
		IF(PLAYER0,FLAG0<=2) REM Quest Progress
			NEXT_COMMAND_REUSABLE
			ADD_CREATURE_TO_LEVEL(PLAYER0,IMP0,12,1,1,0)
			NEXT_COMMAND_REUSABLE
			ADD_CREATURE_TO_LEVEL(PLAYER1,IMP1,13,1,1,0)
			NEXT_COMMAND_REUSABLE
			SET_FLAG(PLAYER0,FLAG1,0) REM Revive-Trigger
		ENDIF
	ENDIF
	IF(PLAYER0,FLAG0>=3) REM Quest Progress
		IF(PLAYER0,FLAG0<=7) REM Quest Progress
			NEXT_COMMAND_REUSABLE
			ADD_CREATURE_TO_LEVEL(PLAYER0,IMP0,14,1,1,0)
			NEXT_COMMAND_REUSABLE
			ADD_CREATURE_TO_LEVEL(PLAYER1,IMP1,15,1,1,0)
			NEXT_COMMAND_REUSABLE
			SET_FLAG(PLAYER0,FLAG1,0) REM Revive-Trigger
		ENDIF
	ENDIF
	IF(PLAYER0,FLAG0==8) REM Quest Progress
		NEXT_COMMAND_REUSABLE
		ADD_CREATURE_TO_LEVEL(PLAYER0,IMP0,43,1,1,0)
		NEXT_COMMAND_REUSABLE
		ADD_CREATURE_TO_LEVEL(PLAYER1,IMP1,44,1,1,0)
		NEXT_COMMAND_REUSABLE
		SET_FLAG(PLAYER0,FLAG1,0) REM Revive-Trigger
	ENDIF
	IF(PLAYER0,FLAG0==9) REM Quest Progress
		NEXT_COMMAND_REUSABLE
		ADD_CREATURE_TO_LEVEL(PLAYER0,IMP0,50,1,1,0)
		NEXT_COMMAND_REUSABLE
		ADD_CREATURE_TO_LEVEL(PLAYER1,IMP1,51,1,1,0)
		NEXT_COMMAND_REUSABLE
		SET_FLAG(PLAYER0,FLAG1,0) REM Revive-Trigger
	ENDIF
	IF(PLAYER0,FLAG0==10) REM Quest Progress
		NEXT_COMMAND_REUSABLE
		ADD_CREATURE_TO_LEVEL(PLAYER0,IMP0,54,1,1,0)
		NEXT_COMMAND_REUSABLE
		ADD_CREATURE_TO_LEVEL(PLAYER1,IMP1,55,1,1,0)
		NEXT_COMMAND_REUSABLE
		SET_FLAG(PLAYER0,FLAG1,0) REM Revive-Trigger
	ENDIF
	IF(PLAYER0,FLAG0==11) REM Quest Progress
		NEXT_COMMAND_REUSABLE
		ADD_CREATURE_TO_LEVEL(PLAYER0,IMP0,61,1,1,0)
		NEXT_COMMAND_REUSABLE
		ADD_CREATURE_TO_LEVEL(PLAYER1,IMP1,62,1,1,0)
		NEXT_COMMAND_REUSABLE
		SET_FLAG(PLAYER0,FLAG1,0) REM Revive-Trigger
	ENDIF
	IF(PLAYER0,FLAG0==12) REM Quest Progress
		NEXT_COMMAND_REUSABLE
		ADD_CREATURE_TO_LEVEL(PLAYER0,IMP0,64,1,1,0)
		NEXT_COMMAND_REUSABLE
		ADD_CREATURE_TO_LEVEL(PLAYER1,IMP1,65,1,1,0)
		NEXT_COMMAND_REUSABLE
		SET_FLAG(PLAYER0,FLAG1,0) REM Revive-Trigger
	ENDIF
ENDIF

REM *** Auto-Possession ***

IF(PLAYER_NEUTRAL,FLAG0==0) REM Player0 is not in possession
	IF(PLAYER0,IMP0>0)
		NEXT_COMMAND_REUSABLE
		USE_POWER_ON_CREATURE(PLAYER0,IMP0,ANYWHERE,PLAYER0,POWER_POSSESS,1,1)
		NEXT_COMMAND_REUSABLE
		LOCK_POSSESSION(PLAYER0,ENABLED)
		NEXT_COMMAND_REUSABLE
		SET_FLAG(PLAYER_NEUTRAL,FLAG0,1) REM Player0 is in possession
	ENDIF
ENDIF
IF(PLAYER_NEUTRAL,FLAG1==0) REM Player1 is not in possession
	IF(PLAYER1,IMP1>0)
		NEXT_COMMAND_REUSABLE
		USE_POWER_ON_CREATURE(PLAYER1,IMP1,ANYWHERE,PLAYER1,POWER_POSSESS,1,1)
		NEXT_COMMAND_REUSABLE
		LOCK_POSSESSION(PLAYER1,ENABLED)
		NEXT_COMMAND_REUSABLE
		SET_FLAG(PLAYER_NEUTRAL,FLAG1,1) REM Player1 is in possession
	ENDIF
ENDIF
