REM # General Settings.
LEVEL_VERSION(1)
RUN_AFTER_VICTORY(1)

REM # Custom special for testing, to REM # before release.
REM # ADD_OBJECT_TO_LEVEL(SPECBOX_CUSTOM,PLAYER0,249)
REM # ADD_OBJECT_TO_LEVEL(SPECBOX_CUSTOM,103,201)
REM # ADD_OBJECT_TO_LEVEL(SPECBOX_CUSTOM,104,202)
REM # ADD_OBJECT_TO_LEVEL(SPECBOX_CUSTOM,105,203)
REM # ADD_OBJECT_TO_LEVEL(SPECBOX_CUSTOM,106,204)
REM # ADD_OBJECT_TO_LEVEL(SPECBOX_CUSTOM,107,205)
REM # ADD_OBJECT_TO_LEVEL(SPECBOX_CUSTOM,108,206)
REM # ADD_OBJECT_TO_LEVEL(SPECBOX_CUSTOM,109,207)
REM # ADD_OBJECT_TO_LEVEL(SPECBOX_CUSTOM,110,208)

REM # Map Settings.
SET_GENERATE_SPEED(1200)
SET_FLAG(PLAYER0,BOX111_ACTIVATED,25)
SET_FLAG(PLAYER0,BOX112_ACTIVATED,50)
SET_FLAG(PLAYER0,BOX113_ACTIVATED,75)
SET_FLAG(PLAYER0,BOX114_ACTIVATED,100)
SET_FLAG(PLAYER0,BOX115_ACTIVATED,125)
SET_FLAG(PLAYER0,BOX116_ACTIVATED,150)
SET_FLAG(PLAYER0,BOX117_ACTIVATED,175)
SET_FLAG(PLAYER0,BOX118_ACTIVATED,200)
SET_FLAG(PLAYER0,BOX119_ACTIVATED,225)
SET_FLAG(PLAYER0,BOX120_ACTIVATED,250)
SET_FLAG(PLAYER0,BOX100_ACTIVATED,10)
SET_TIMER(PLAYER_GOOD,TIMER0)

REM # Setup Game Rule.
SET_GAME_RULE(RoomSellGoldBackPercent,0)
SET_GAME_RULE(DoorSellValuePercent,0)
SET_GAME_RULE(TrapSellValuePercent,0)
SET_GAME_RULE(PlaceTrapsOnSubtiles,0)
SET_GAME_RULE(HungerHealthLoss,32767)
SET_GAME_RULE(GameTurnsPerHungerHealthLoss,1)

REM # Setup Object Configuration.
SET_OBJECT_CONFIGURATION(HERO_GATE,AnimationSpeed,128)
SET_OBJECT_CONFIGURATION(HERO_GATE,MaximumSize,150)

REM # Null All Instance.
SET_CREATURE_INSTANCE(IMP,3,NULL,0)
SET_CREATURE_INSTANCE(IMP,10,NULL,0)
SET_CREATURE_INSTANCE(HORNY,5,NULL,0)
SET_CREATURE_INSTANCE(HORNY,10,NULL,0)

REM # IMP Configuration.
SET_CREATURE_CONFIGURATION(IMP,Health,150)
SET_CREATURE_CONFIGURATION(IMP,HealThreshold,255)
SET_CREATURE_CONFIGURATION(IMP,HealRequirement,17)
SET_CREATURE_CONFIGURATION(IMP,Strength,0)
SET_CREATURE_CONFIGURATION(IMP,Armour,0)
SET_CREATURE_CONFIGURATION(IMP,Dexterity,0)
SET_CREATURE_CONFIGURATION(IMP,Defence,0)
SET_CREATURE_CONFIGURATION(IMP,Luck,0)
SET_CREATURE_CONFIGURATION(IMP,BaseSpeed,0)
SET_CREATURE_CONFIGURATION(IMP,GoldHold,0)
SET_CREATURE_CONFIGURATION(IMP,SlapsToKill,1)
SET_CREATURE_CONFIGURATION(IMP,DamageToBoulder,8)

REM # HORNY Configuration.
SET_CREATURE_CONFIGURATION(HORNY,HungerRate,1200)
SET_CREATURE_CONFIGURATION(HORNY,HungerFill,8)
SET_CREATURE_CONFIGURATION(HORNY,BaseSpeed,128)
SET_CREATURE_CONFIGURATION(HORNY,AttackPreference,MELEE)
SET_CREATURE_CONFIGURATION(HORNY,SlapsToKill,0)
SET_CREATURE_CONFIGURATION(HORNY,DamageToBoulder,128)
SET_CREATURE_INSTANCE(HORNY,1,SWING_WEAPON_SWORD,1)
SET_CREATURE_INSTANCE(HORNY,2,SWING_WEAPON_FIST,1)
SET_CREATURE_INSTANCE(HORNY,5,SPEED,5)
SET_CREATURE_INSTANCE(HORNY,10,TELEPORT,10)

REM # Room Configuration.
SET_ROOM_CONFIGURATION(DUNGEON_HEART,SymbolSprites,356,414)

REM # Boulder Trap Configuration.
SET_TRAP_CONFIGURATION(BOULDER,Shots,1)
SET_TRAP_CONFIGURATION(BOULDER,TimeBetweenShots,0)
SET_TRAP_CONFIGURATION(BOULDER,SellingValue,0)
SET_TRAP_CONFIGURATION(BOULDER,TriggerType,3)
SET_TRAP_CONFIGURATION(BOULDER,ActivationType,5)
SET_TRAP_CONFIGURATION(BOULDER,Hidden,0)
SET_TRAP_CONFIGURATION(BOULDER,Slappable,1)
SET_TRAP_CONFIGURATION(BOULDER,Destructible,0)
SET_TRAP_CONFIGURATION(BOULDER,Unstable,0)
SET_TRAP_CONFIGURATION(BOULDER,Health,256)

REM # Keeper's Powers Availablity.
MAGIC_AVAILABLE(PLAYER0,POWER_POSSESS,0,0)
MAGIC_AVAILABLE(PLAYER0,POWER_HAND,0,0)
MAGIC_AVAILABLE(PLAYER0,POWER_SLAP,1,1)

REM # Keeper's Traps Availablity.
TRAP_AVAILABLE(PLAYER0,BOULDER,1,1)

REM # Set tooltip for Ready!...
SET_BOX_TOOLTIP(0,"Ready!")
SET_BOX_TOOLTIP(201,"Auto-Slap: Automatically slaps for you, last 5 seconds. Stackable.")
SET_BOX_TOOLTIP(202,"Killing Spree: Kills one Imp every game turn, last 5 seconds. Stackable.")
SET_BOX_TOOLTIP(203,"Boulder Fan: Gives 3 Boulder Trap.")
SET_BOX_TOOLTIP(204,"Mad Psycho: Spawns a Horned Reaper to help you kill Imps.")
SET_BOX_TOOLTIP(205,"Move Saver: Moves all Imps backwards.")
SET_BOX_TOOLTIP(206,"Mass Murderer: Kills all Imps. You do not receive points.")
SET_BOX_TOOLTIP(207,"Time Saver: Increases the required time for moving Imps.")
SET_BOX_TOOLTIP(208,"Score Up: Increases score gain by 1.")
SET_BOX_TOOLTIP(249,"Debug Mode: Automatically slap for you.")

REM # "Auto-Slap: Automatically slaps for you, last 5 seconds. Stackable."
IF(PLAYER0,BOX201_ACTIVATED > 0)
	NEXT_COMMAND_REUSABLE
	ADD_TO_FLAG(PLAYER0,FLAG1,100)
	NEXT_COMMAND_REUSABLE
	SET_FLAG(PLAYER0,BOX201_ACTIVATED,0)
ENDIF
IF(PLAYER0,FLAG1 > 0)
	NEXT_COMMAND_REUSABLE
	USE_POWER_ON_CREATURE(PLAYER0,IMP,ANYWHERE,PLAYER0,POWER_SLAP,1,0)
	NEXT_COMMAND_REUSABLE
	ADD_TO_FLAG(PLAYER0,FLAG1,-1)
ENDIF

REM # "Killing Spree: Kills one Imp every game turn, last 5 seconds. Stackable."
IF(PLAYER0,BOX202_ACTIVATED > 0)
	NEXT_COMMAND_REUSABLE
	ADD_TO_FLAG(PLAYER0,FLAG2,100)
	NEXT_COMMAND_REUSABLE
	SET_FLAG(PLAYER0,BOX202_ACTIVATED,0)
ENDIF
IF(PLAYER0,FLAG2 > 0)
	NEXT_COMMAND_REUSABLE
	KILL_CREATURE(PLAYER0,IMP,ANYWHERE,1)
	NEXT_COMMAND_REUSABLE
	ADD_TO_FLAG(PLAYER0,FLAG0,1)
	NEXT_COMMAND_REUSABLE
	COMPUTE_FLAG(PLAYER0,FLAG0,INCREASE,PLAYER0,BOX253_ACTIVATED,0)
	NEXT_COMMAND_REUSABLE
	COMPUTE_FLAG(PLAYER0,BOX255_ACTIVATED,SET,PLAYER0,IMP,0)
	NEXT_COMMAND_REUSABLE
	SET_FLAG(PLAYER_GOOD,FLAG0,100)
	NEXT_COMMAND_REUSABLE
	COMPUTE_FLAG(PLAYER_GOOD,FLAG0,INCREASE,PLAYER0,IMP,0)
	NEXT_COMMAND_REUSABLE
	COMPUTE_FLAG(PLAYER_GOOD,FLAG0,MULTIPLY,PLAYER0,IMP,0)
	NEXT_COMMAND_REUSABLE
	COMPUTE_FLAG(PLAYER_GOOD,FLAG0,MULTIPLY,PLAYER0,IMP,0)
	NEXT_COMMAND_REUSABLE
	COMPUTE_FLAG(PLAYER_GOOD,FLAG0,DECREASE,PLAYER0,FLAG7,0)
	NEXT_COMMAND_REUSABLE
	ADD_TO_FLAG(PLAYER0,FLAG2,-1)
ENDIF

REM # "Boulder Fan: Gives 3 Boulder Trap."
IF(PLAYER0,BOX203_ACTIVATED > 0)
	NEXT_COMMAND_REUSABLE
	TRAP_AVAILABLE(PLAYER0,BOULDER,1,3)
	NEXT_COMMAND_REUSABLE
	SET_FLAG(PLAYER0,BOX203_ACTIVATED,0)
ENDIF

REM # "Mad Psycho: Spawn a Horned Reaper to help you kill Imps."
IF(PLAYER0,BOX204_ACTIVATED > 0)
	NEXT_COMMAND_REUSABLE
	ADD_CREATURE_TO_LEVEL(PLAYER0,HORNY,LAST_EVENT,1,10,0)
	NEXT_COMMAND_REUSABLE
	CHANGE_CREATURES_ANNOYANCE(PLAYER0,HORNY,SET,32767)
	NEXT_COMMAND_REUSABLE
	USE_POWER_ON_CREATURE(PLAYER0,HORNY,ANYWHERE,PLAYER0,POWER_SLAP,1,0)
	NEXT_COMMAND_REUSABLE
	SET_FLAG(PLAYER0,BOX204_ACTIVATED,0)
ENDIF

REM # "Move Saver: Moves all Imps backwards."
IF(PLAYER0,BOX205_ACTIVATED > 0)
	NEXT_COMMAND_REUSABLE
	MOVE_CREATURE(PLAYER0,IMP,AT_ACTION_POINT[12],255,10,0)
	NEXT_COMMAND_REUSABLE
	MOVE_CREATURE(PLAYER0,IMP,AT_ACTION_POINT[32],255,30,0)
	NEXT_COMMAND_REUSABLE
	MOVE_CREATURE(PLAYER0,IMP,AT_ACTION_POINT[52],255,50,0)
	NEXT_COMMAND_REUSABLE
	MOVE_CREATURE(PLAYER0,IMP,AT_ACTION_POINT[72],255,70,0)
	NEXT_COMMAND_REUSABLE
	MOVE_CREATURE(PLAYER0,IMP,AT_ACTION_POINT[92],255,90,0)
	NEXT_COMMAND_REUSABLE
	MOVE_CREATURE(PLAYER0,IMP,AT_ACTION_POINT[13],255,1,0)
	NEXT_COMMAND_REUSABLE
	MOVE_CREATURE(PLAYER0,IMP,AT_ACTION_POINT[33],255,21,0)
	NEXT_COMMAND_REUSABLE
	MOVE_CREATURE(PLAYER0,IMP,AT_ACTION_POINT[53],255,41,0)
	NEXT_COMMAND_REUSABLE
	MOVE_CREATURE(PLAYER0,IMP,AT_ACTION_POINT[73],255,61,0)
	NEXT_COMMAND_REUSABLE
	MOVE_CREATURE(PLAYER0,IMP,AT_ACTION_POINT[93],255,81,0)
	NEXT_COMMAND_REUSABLE
	MOVE_CREATURE(PLAYER0,IMP,AT_ACTION_POINT[14],255,2,0)
	NEXT_COMMAND_REUSABLE
	MOVE_CREATURE(PLAYER0,IMP,AT_ACTION_POINT[34],255,22,0)
	NEXT_COMMAND_REUSABLE
	MOVE_CREATURE(PLAYER0,IMP,AT_ACTION_POINT[54],255,42,0)
	NEXT_COMMAND_REUSABLE
	MOVE_CREATURE(PLAYER0,IMP,AT_ACTION_POINT[74],255,62,0)
	NEXT_COMMAND_REUSABLE
	MOVE_CREATURE(PLAYER0,IMP,AT_ACTION_POINT[94],255,82,0)
	NEXT_COMMAND_REUSABLE
	MOVE_CREATURE(PLAYER0,IMP,AT_ACTION_POINT[15],255,3,0)
	NEXT_COMMAND_REUSABLE
	MOVE_CREATURE(PLAYER0,IMP,AT_ACTION_POINT[35],255,23,0)
	NEXT_COMMAND_REUSABLE
	MOVE_CREATURE(PLAYER0,IMP,AT_ACTION_POINT[55],255,43,0)
	NEXT_COMMAND_REUSABLE
	MOVE_CREATURE(PLAYER0,IMP,AT_ACTION_POINT[75],255,63,0)
	NEXT_COMMAND_REUSABLE
	MOVE_CREATURE(PLAYER0,IMP,AT_ACTION_POINT[95],255,83,0)
	NEXT_COMMAND_REUSABLE
	MOVE_CREATURE(PLAYER0,IMP,AT_ACTION_POINT[16],255,4,0)
	NEXT_COMMAND_REUSABLE
	MOVE_CREATURE(PLAYER0,IMP,AT_ACTION_POINT[36],255,24,0)
	NEXT_COMMAND_REUSABLE
	MOVE_CREATURE(PLAYER0,IMP,AT_ACTION_POINT[56],255,44,0)
	NEXT_COMMAND_REUSABLE
	MOVE_CREATURE(PLAYER0,IMP,AT_ACTION_POINT[76],255,64,0)
	NEXT_COMMAND_REUSABLE
	MOVE_CREATURE(PLAYER0,IMP,AT_ACTION_POINT[96],255,84,0)
	NEXT_COMMAND_REUSABLE
	MOVE_CREATURE(PLAYER0,IMP,AT_ACTION_POINT[17],255,5,0)
	NEXT_COMMAND_REUSABLE
	MOVE_CREATURE(PLAYER0,IMP,AT_ACTION_POINT[37],255,25,0)
	NEXT_COMMAND_REUSABLE
	MOVE_CREATURE(PLAYER0,IMP,AT_ACTION_POINT[57],255,45,0)
	NEXT_COMMAND_REUSABLE
	MOVE_CREATURE(PLAYER0,IMP,AT_ACTION_POINT[77],255,65,0)
	NEXT_COMMAND_REUSABLE
	MOVE_CREATURE(PLAYER0,IMP,AT_ACTION_POINT[97],255,85,0)
	NEXT_COMMAND_REUSABLE
	MOVE_CREATURE(PLAYER0,IMP,AT_ACTION_POINT[18],255,6,0)
	NEXT_COMMAND_REUSABLE
	MOVE_CREATURE(PLAYER0,IMP,AT_ACTION_POINT[38],255,26,0)
	NEXT_COMMAND_REUSABLE
	MOVE_CREATURE(PLAYER0,IMP,AT_ACTION_POINT[58],255,46,0)
	NEXT_COMMAND_REUSABLE
	MOVE_CREATURE(PLAYER0,IMP,AT_ACTION_POINT[78],255,66,0)
	NEXT_COMMAND_REUSABLE
	MOVE_CREATURE(PLAYER0,IMP,AT_ACTION_POINT[98],255,86,0)
	NEXT_COMMAND_REUSABLE
	MOVE_CREATURE(PLAYER0,IMP,AT_ACTION_POINT[19],255,7,0)
	NEXT_COMMAND_REUSABLE
	MOVE_CREATURE(PLAYER0,IMP,AT_ACTION_POINT[39],255,27,0)
	NEXT_COMMAND_REUSABLE
	MOVE_CREATURE(PLAYER0,IMP,AT_ACTION_POINT[59],255,47,0)
	NEXT_COMMAND_REUSABLE
	MOVE_CREATURE(PLAYER0,IMP,AT_ACTION_POINT[79],255,67,0)
	NEXT_COMMAND_REUSABLE
	MOVE_CREATURE(PLAYER0,IMP,AT_ACTION_POINT[99],255,87,0)
	NEXT_COMMAND_REUSABLE
	MOVE_CREATURE(PLAYER0,IMP,AT_ACTION_POINT[20],255,8,0)
	NEXT_COMMAND_REUSABLE
	MOVE_CREATURE(PLAYER0,IMP,AT_ACTION_POINT[40],255,28,0)
	NEXT_COMMAND_REUSABLE
	MOVE_CREATURE(PLAYER0,IMP,AT_ACTION_POINT[60],255,48,0)
	NEXT_COMMAND_REUSABLE
	MOVE_CREATURE(PLAYER0,IMP,AT_ACTION_POINT[80],255,68,0)
	NEXT_COMMAND_REUSABLE
	MOVE_CREATURE(PLAYER0,IMP,AT_ACTION_POINT[100],255,88,0)
	NEXT_COMMAND_REUSABLE
	SET_FLAG(PLAYER0,BOX205_ACTIVATED,0)
ENDIF

REM # "Mass Murderer: Kills all Imps. You do not receive score."
IF(PLAYER0,BOX206_ACTIVATED > 0)
	NEXT_COMMAND_REUSABLE
	KILL_CREATURE(PLAYER0,IMP,ANYWHERE,255)
	NEXT_COMMAND_REUSABLE
	COMPUTE_FLAG(PLAYER0,BOX255_ACTIVATED,SET,PLAYER0,IMP,0)
	NEXT_COMMAND_REUSABLE
	SET_FLAG(PLAYER_GOOD,FLAG0,100)
	NEXT_COMMAND_REUSABLE
	COMPUTE_FLAG(PLAYER_GOOD,FLAG0,INCREASE,PLAYER0,IMP,0)
	NEXT_COMMAND_REUSABLE
	COMPUTE_FLAG(PLAYER_GOOD,FLAG0,MULTIPLY,PLAYER0,IMP,0)
	NEXT_COMMAND_REUSABLE
	COMPUTE_FLAG(PLAYER_GOOD,FLAG0,MULTIPLY,PLAYER0,IMP,0)
	NEXT_COMMAND_REUSABLE
	COMPUTE_FLAG(PLAYER_GOOD,FLAG0,DECREASE,PLAYER0,FLAG7,0)
	NEXT_COMMAND_REUSABLE
	SET_FLAG(PLAYER0,BOX206_ACTIVATED,0)
ENDIF

REM # "Time Saver: Increase the required time for moving Imps."
IF(PLAYER0,BOX207_ACTIVATED > 0)
	NEXT_COMMAND_REUSABLE
	ADD_TO_FLAG(PLAYER0,BOX100_ACTIVATED,-10)
	NEXT_COMMAND_REUSABLE
	ADD_TO_FLAG(PLAYER0,BOX111_ACTIVATED,1)
	NEXT_COMMAND_REUSABLE
	ADD_TO_FLAG(PLAYER0,BOX112_ACTIVATED,2)
	NEXT_COMMAND_REUSABLE
	ADD_TO_FLAG(PLAYER0,BOX113_ACTIVATED,3)
	NEXT_COMMAND_REUSABLE
	ADD_TO_FLAG(PLAYER0,BOX114_ACTIVATED,4)
	NEXT_COMMAND_REUSABLE
	ADD_TO_FLAG(PLAYER0,BOX115_ACTIVATED,5)
	NEXT_COMMAND_REUSABLE
	ADD_TO_FLAG(PLAYER0,BOX116_ACTIVATED,6)
	NEXT_COMMAND_REUSABLE
	ADD_TO_FLAG(PLAYER0,BOX117_ACTIVATED,7)
	NEXT_COMMAND_REUSABLE
	ADD_TO_FLAG(PLAYER0,BOX118_ACTIVATED,8)
	NEXT_COMMAND_REUSABLE
	ADD_TO_FLAG(PLAYER0,BOX119_ACTIVATED,9)
	NEXT_COMMAND_REUSABLE
	ADD_TO_FLAG(PLAYER0,BOX120_ACTIVATED,10)
	NEXT_COMMAND_REUSABLE
	SET_FLAG(PLAYER0,BOX200_ACTIVATED,0)
	NEXT_COMMAND_REUSABLE
	SET_FLAG(PLAYER0,BOX207_ACTIVATED,0)
ENDIF
IF(PLAYER0,BOX111_ACTIVATED > 25)
	NEXT_COMMAND_REUSABLE
	SET_FLAG(PLAYER0,BOX111_ACTIVATED,25)
ENDIF
IF(PLAYER0,BOX112_ACTIVATED > 50)
	NEXT_COMMAND_REUSABLE
	SET_FLAG(PLAYER0,BOX112_ACTIVATED,50)
ENDIF
IF(PLAYER0,BOX113_ACTIVATED > 75)
	NEXT_COMMAND_REUSABLE
	SET_FLAG(PLAYER0,BOX113_ACTIVATED,75)
ENDIF
IF(PLAYER0,BOX114_ACTIVATED > 100)
	NEXT_COMMAND_REUSABLE
	SET_FLAG(PLAYER0,BOX114_ACTIVATED,100)
ENDIF
IF(PLAYER0,BOX115_ACTIVATED > 125)
	NEXT_COMMAND_REUSABLE
	SET_FLAG(PLAYER0,BOX115_ACTIVATED,125)
ENDIF
IF(PLAYER0,BOX116_ACTIVATED > 150)
	NEXT_COMMAND_REUSABLE
	SET_FLAG(PLAYER0,BOX116_ACTIVATED,150)
ENDIF
IF(PLAYER0,BOX117_ACTIVATED > 175)
	NEXT_COMMAND_REUSABLE
	SET_FLAG(PLAYER0,BOX117_ACTIVATED,175)
ENDIF
IF(PLAYER0,BOX118_ACTIVATED > 200)
	NEXT_COMMAND_REUSABLE
	SET_FLAG(PLAYER0,BOX118_ACTIVATED,200)
ENDIF
IF(PLAYER0,BOX119_ACTIVATED > 225)
	NEXT_COMMAND_REUSABLE
	SET_FLAG(PLAYER0,BOX119_ACTIVATED,225)
ENDIF
IF(PLAYER0,BOX120_ACTIVATED > 250)
	NEXT_COMMAND_REUSABLE
	SET_FLAG(PLAYER0,BOX120_ACTIVATED,250)
ENDIF

REM # "Score Up: Increases score gain by 1."
IF(PLAYER0,BOX208_ACTIVATED > 0)
	NEXT_COMMAND_REUSABLE
	ADD_TO_FLAG(PLAYER0,BOX253_ACTIVATED,1)
	NEXT_COMMAND_REUSABLE
	SET_FLAG(PLAYER0,BOX208_ACTIVATED,0)
ENDIF

REM # "Debug Mode: Automatically slap for you."
IF(PLAYER0,BOX249_ACTIVATED > 0)
	NEXT_COMMAND_REUSABLE
	USE_POWER_ON_CREATURE(PLAYER0,IMP,ANYWHERE,PLAYER0,POWER_SLAP,1,0)
ENDIF

REM # Score Computation & Display.
IF(PLAYER0,IMP < PLAYER0,BOX255_ACTIVATED)
	NEXT_COMMAND_REUSABLE
	ADD_TO_FLAG(PLAYER0,FLAG0,1)
	NEXT_COMMAND_REUSABLE
	COMPUTE_FLAG(PLAYER0,FLAG0,INCREASE,PLAYER0,BOX253_ACTIVATED,0)
	NEXT_COMMAND_REUSABLE
	COMPUTE_FLAG(PLAYER0,BOX255_ACTIVATED,SET,PLAYER0,IMP,0)
	NEXT_COMMAND_REUSABLE
	SET_FLAG(PLAYER_GOOD,FLAG0,100)
	NEXT_COMMAND_REUSABLE
	COMPUTE_FLAG(PLAYER_GOOD,FLAG0,INCREASE,PLAYER0,IMP,0)
	NEXT_COMMAND_REUSABLE
	COMPUTE_FLAG(PLAYER_GOOD,FLAG0,MULTIPLY,PLAYER0,IMP,0)
	NEXT_COMMAND_REUSABLE
	COMPUTE_FLAG(PLAYER_GOOD,FLAG0,MULTIPLY,PLAYER0,IMP,0)
	NEXT_COMMAND_REUSABLE
	COMPUTE_FLAG(PLAYER_GOOD,FLAG0,DECREASE,PLAYER0,FLAG7,0)
ENDIF
IF(PLAYER0,MONEY < PLAYER0,FLAG0)
	NEXT_COMMAND_REUSABLE
	ADD_GOLD_TO_PLAYER(PLAYER0,1)
	NEXT_COMMAND_REUSABLE
	ADD_TO_FLAG(PLAYER0,BOX200_ACTIVATED,1)
	NEXT_COMMAND_REUSABLE
	COMPUTE_FLAG(PLAYER0,FLAG7,SET,PLAYER0,MONEY,0)
	NEXT_COMMAND_REUSABLE
	COMPUTE_FLAG(PLAYER0,FLAG7,MULTIPLY,PLAYER0,MONEY,0)
ENDIF

REM # Moving Timer Reduction & Minimum.
IF(PLAYER0,BOX200_ACTIVATED > PLAYER0,BOX100_ACTIVATED)
	NEXT_COMMAND_REUSABLE
	ADD_TO_FLAG(PLAYER0,BOX100_ACTIVATED,10)
	NEXT_COMMAND_REUSABLE
	TRAP_AVAILABLE(PLAYER0,BOULDER,1,1)
	NEXT_COMMAND_REUSABLE
	ADD_TO_FLAG(PLAYER0,BOX111_ACTIVATED,-1)
	NEXT_COMMAND_REUSABLE
	ADD_TO_FLAG(PLAYER0,BOX112_ACTIVATED,-2)
	NEXT_COMMAND_REUSABLE
	ADD_TO_FLAG(PLAYER0,BOX113_ACTIVATED,-3)
	NEXT_COMMAND_REUSABLE
	ADD_TO_FLAG(PLAYER0,BOX114_ACTIVATED,-4)
	NEXT_COMMAND_REUSABLE
	ADD_TO_FLAG(PLAYER0,BOX115_ACTIVATED,-5)
	NEXT_COMMAND_REUSABLE
	ADD_TO_FLAG(PLAYER0,BOX116_ACTIVATED,-6)
	NEXT_COMMAND_REUSABLE
	ADD_TO_FLAG(PLAYER0,BOX117_ACTIVATED,-7)
	NEXT_COMMAND_REUSABLE
	ADD_TO_FLAG(PLAYER0,BOX118_ACTIVATED,-8)
	NEXT_COMMAND_REUSABLE
	ADD_TO_FLAG(PLAYER0,BOX119_ACTIVATED,-9)
	NEXT_COMMAND_REUSABLE
	ADD_TO_FLAG(PLAYER0,BOX120_ACTIVATED,-10)
	NEXT_COMMAND_REUSABLE
	SET_FLAG(PLAYER0,BOX200_ACTIVATED,0)
ENDIF
IF(PLAYER0,BOX111_ACTIVATED < 1)
	NEXT_COMMAND_REUSABLE
	SET_FLAG(PLAYER0,BOX111_ACTIVATED,1)
ENDIF
IF(PLAYER0,BOX112_ACTIVATED < 2)
	NEXT_COMMAND_REUSABLE
	SET_FLAG(PLAYER0,BOX112_ACTIVATED,2)
ENDIF
IF(PLAYER0,BOX113_ACTIVATED < 3)
	NEXT_COMMAND_REUSABLE
	SET_FLAG(PLAYER0,BOX113_ACTIVATED,3)
ENDIF
IF(PLAYER0,BOX114_ACTIVATED < 4)
	NEXT_COMMAND_REUSABLE
	SET_FLAG(PLAYER0,BOX114_ACTIVATED,4)
ENDIF
IF(PLAYER0,BOX115_ACTIVATED < 5)
	NEXT_COMMAND_REUSABLE
	SET_FLAG(PLAYER0,BOX115_ACTIVATED,5)
ENDIF
IF(PLAYER0,BOX116_ACTIVATED < 6)
	NEXT_COMMAND_REUSABLE
	SET_FLAG(PLAYER0,BOX116_ACTIVATED,6)
ENDIF
IF(PLAYER0,BOX117_ACTIVATED < 7)
	NEXT_COMMAND_REUSABLE
	SET_FLAG(PLAYER0,BOX117_ACTIVATED,7)
ENDIF
IF(PLAYER0,BOX118_ACTIVATED < 8)
	NEXT_COMMAND_REUSABLE
	SET_FLAG(PLAYER0,BOX118_ACTIVATED,8)
ENDIF
IF(PLAYER0,BOX119_ACTIVATED < 9)
	NEXT_COMMAND_REUSABLE
	SET_FLAG(PLAYER0,BOX119_ACTIVATED,9)
ENDIF
IF(PLAYER0,BOX120_ACTIVATED < 10)
	NEXT_COMMAND_REUSABLE
	SET_FLAG(PLAYER0,BOX120_ACTIVATED,10)
ENDIF

REM # Main Loop.
IF(PLAYER0,DUNGEON_DESTROYED == 0)
	IF(PLAYER0,BOX0_ACTIVATED > 0)
		SET_FLAG(PLAYER_GOOD,FLAG0,100)
		DISPLAY_VARIABLE(PLAYER0,FLAG7)
		NEXT_COMMAND_REUSABLE
		ADD_TO_FLAG(PLAYER0,BOX101_ACTIVATED,1)
		NEXT_COMMAND_REUSABLE
		ADD_TO_FLAG(PLAYER0,BOX102_ACTIVATED,1)
		NEXT_COMMAND_REUSABLE
		ADD_TO_FLAG(PLAYER0,BOX103_ACTIVATED,1)
		NEXT_COMMAND_REUSABLE
		ADD_TO_FLAG(PLAYER0,BOX104_ACTIVATED,1)
		NEXT_COMMAND_REUSABLE
		ADD_TO_FLAG(PLAYER0,BOX105_ACTIVATED,1)
		NEXT_COMMAND_REUSABLE
		ADD_TO_FLAG(PLAYER0,BOX106_ACTIVATED,1)
		NEXT_COMMAND_REUSABLE
		ADD_TO_FLAG(PLAYER0,BOX107_ACTIVATED,1)
		NEXT_COMMAND_REUSABLE
		ADD_TO_FLAG(PLAYER0,BOX108_ACTIVATED,1)
		NEXT_COMMAND_REUSABLE
		ADD_TO_FLAG(PLAYER0,BOX109_ACTIVATED,1)
		NEXT_COMMAND_REUSABLE
		ADD_TO_FLAG(PLAYER0,BOX110_ACTIVATED,1)
		NEXT_COMMAND_REUSABLE
		ADD_TO_FLAG(PLAYER_GOOD,FLAG0,-1)
		IF(PLAYER_GOOD,FLAG0 <= 0)
			NEXT_COMMAND_REUSABLE
			RANDOMISE_FLAG(PLAYER_GOOD,BOX255_ACTIVATED,5)
			IF(PLAYER_GOOD,BOX255_ACTIVATED == 1)
				NEXT_COMMAND_REUSABLE
				ADD_CREATURE_TO_LEVEL(PLAYER0,IMP,10,1,10,0)
				NEXT_COMMAND_REUSABLE
				USE_SPELL_ON_PLAYERS_CREATURES(PLAYER0,IMP,SPELL_FREEZE)
				NEXT_COMMAND_REUSABLE
				COMPUTE_FLAG(PLAYER0,BOX255_ACTIVATED,SET,PLAYER0,IMP,0)
				NEXT_COMMAND_REUSABLE
				SET_FLAG(PLAYER_GOOD,FLAG0,100)
				NEXT_COMMAND_REUSABLE
				COMPUTE_FLAG(PLAYER_GOOD,FLAG0,INCREASE,PLAYER0,IMP,0)
				NEXT_COMMAND_REUSABLE
				COMPUTE_FLAG(PLAYER_GOOD,FLAG0,MULTIPLY,PLAYER0,IMP,0)
				NEXT_COMMAND_REUSABLE
				COMPUTE_FLAG(PLAYER_GOOD,FLAG0,MULTIPLY,PLAYER0,IMP,0)
				NEXT_COMMAND_REUSABLE
				COMPUTE_FLAG(PLAYER_GOOD,FLAG0,DECREASE,PLAYER0,FLAG7,0)
			ENDIF
			IF(PLAYER_GOOD,BOX255_ACTIVATED == 2)
				NEXT_COMMAND_REUSABLE
				ADD_CREATURE_TO_LEVEL(PLAYER0,IMP,30,1,10,0)
				NEXT_COMMAND_REUSABLE
				USE_SPELL_ON_PLAYERS_CREATURES(PLAYER0,IMP,SPELL_FREEZE)
				NEXT_COMMAND_REUSABLE
				COMPUTE_FLAG(PLAYER0,BOX255_ACTIVATED,SET,PLAYER0,IMP,0)
				NEXT_COMMAND_REUSABLE
				SET_FLAG(PLAYER_GOOD,FLAG0,100)
				NEXT_COMMAND_REUSABLE
				COMPUTE_FLAG(PLAYER_GOOD,FLAG0,INCREASE,PLAYER0,IMP,0)
				NEXT_COMMAND_REUSABLE
				COMPUTE_FLAG(PLAYER_GOOD,FLAG0,MULTIPLY,PLAYER0,IMP,0)
				NEXT_COMMAND_REUSABLE
				COMPUTE_FLAG(PLAYER_GOOD,FLAG0,MULTIPLY,PLAYER0,IMP,0)
				NEXT_COMMAND_REUSABLE
				COMPUTE_FLAG(PLAYER_GOOD,FLAG0,DECREASE,PLAYER0,FLAG7,0)
			ENDIF
			IF(PLAYER_GOOD,BOX255_ACTIVATED == 3)
				NEXT_COMMAND_REUSABLE
				ADD_CREATURE_TO_LEVEL(PLAYER0,IMP,50,1,10,0)
				NEXT_COMMAND_REUSABLE
				USE_SPELL_ON_PLAYERS_CREATURES(PLAYER0,IMP,SPELL_FREEZE)
				NEXT_COMMAND_REUSABLE
				COMPUTE_FLAG(PLAYER0,BOX255_ACTIVATED,SET,PLAYER0,IMP,0)
				NEXT_COMMAND_REUSABLE
				SET_FLAG(PLAYER_GOOD,FLAG0,100)
				NEXT_COMMAND_REUSABLE
				COMPUTE_FLAG(PLAYER_GOOD,FLAG0,INCREASE,PLAYER0,IMP,0)
				NEXT_COMMAND_REUSABLE
				COMPUTE_FLAG(PLAYER_GOOD,FLAG0,MULTIPLY,PLAYER0,IMP,0)
				NEXT_COMMAND_REUSABLE
				COMPUTE_FLAG(PLAYER_GOOD,FLAG0,MULTIPLY,PLAYER0,IMP,0)
				NEXT_COMMAND_REUSABLE
				COMPUTE_FLAG(PLAYER_GOOD,FLAG0,DECREASE,PLAYER0,FLAG7,0)
			ENDIF
			IF(PLAYER_GOOD,BOX255_ACTIVATED == 4)
				NEXT_COMMAND_REUSABLE
				ADD_CREATURE_TO_LEVEL(PLAYER0,IMP,70,1,10,0)
				NEXT_COMMAND_REUSABLE
				USE_SPELL_ON_PLAYERS_CREATURES(PLAYER0,IMP,SPELL_FREEZE)
				NEXT_COMMAND_REUSABLE
				COMPUTE_FLAG(PLAYER0,BOX255_ACTIVATED,SET,PLAYER0,IMP,0)
				NEXT_COMMAND_REUSABLE
				SET_FLAG(PLAYER_GOOD,FLAG0,100)
				NEXT_COMMAND_REUSABLE
				COMPUTE_FLAG(PLAYER_GOOD,FLAG0,INCREASE,PLAYER0,IMP,0)
				NEXT_COMMAND_REUSABLE
				COMPUTE_FLAG(PLAYER_GOOD,FLAG0,MULTIPLY,PLAYER0,IMP,0)
				NEXT_COMMAND_REUSABLE
				COMPUTE_FLAG(PLAYER_GOOD,FLAG0,MULTIPLY,PLAYER0,IMP,0)
				NEXT_COMMAND_REUSABLE
				COMPUTE_FLAG(PLAYER_GOOD,FLAG0,DECREASE,PLAYER0,FLAG7,0)
			ENDIF
			IF(PLAYER_GOOD,BOX255_ACTIVATED == 5)
				NEXT_COMMAND_REUSABLE
				ADD_CREATURE_TO_LEVEL(PLAYER0,IMP,90,1,10,0)
				NEXT_COMMAND_REUSABLE
				USE_SPELL_ON_PLAYERS_CREATURES(PLAYER0,IMP,SPELL_FREEZE)
				NEXT_COMMAND_REUSABLE
				COMPUTE_FLAG(PLAYER0,BOX255_ACTIVATED,SET,PLAYER0,IMP,0)
				NEXT_COMMAND_REUSABLE
				SET_FLAG(PLAYER_GOOD,FLAG0,100)
				NEXT_COMMAND_REUSABLE
				COMPUTE_FLAG(PLAYER_GOOD,FLAG0,INCREASE,PLAYER0,IMP,0)
				NEXT_COMMAND_REUSABLE
				COMPUTE_FLAG(PLAYER_GOOD,FLAG0,MULTIPLY,PLAYER0,IMP,0)
				NEXT_COMMAND_REUSABLE
				COMPUTE_FLAG(PLAYER_GOOD,FLAG0,MULTIPLY,PLAYER0,IMP,0)
				NEXT_COMMAND_REUSABLE
				COMPUTE_FLAG(PLAYER_GOOD,FLAG0,DECREASE,PLAYER0,FLAG7,0)
			ENDIF
		ENDIF
		SET_TIMER(PLAYER0,TIMER0)
		IF(PLAYER0,TIMER0 >= 1200)
			NEXT_COMMAND_REUSABLE
			RANDOMISE_FLAG(PLAYER_GOOD,BOX249_ACTIVATED,8)
			IF(PLAYER_GOOD,BOX249_ACTIVATED == 1)
				NEXT_COMMAND_REUSABLE
				ADD_OBJECT_TO_LEVEL(SPECBOX_CUSTOM,103,201)
				NEXT_COMMAND_REUSABLE
				SET_TIMER(PLAYER0,TIMER0)
			ENDIF
			IF(PLAYER_GOOD,BOX249_ACTIVATED == 2)
				NEXT_COMMAND_REUSABLE
				ADD_OBJECT_TO_LEVEL(SPECBOX_CUSTOM,104,202)
				NEXT_COMMAND_REUSABLE
				SET_TIMER(PLAYER0,TIMER0)
			ENDIF
			IF(PLAYER_GOOD,BOX249_ACTIVATED == 3)
				NEXT_COMMAND_REUSABLE
				ADD_OBJECT_TO_LEVEL(SPECBOX_CUSTOM,105,203)
				NEXT_COMMAND_REUSABLE
				SET_TIMER(PLAYER0,TIMER0)
			ENDIF
			IF(PLAYER_GOOD,BOX249_ACTIVATED == 4)
				NEXT_COMMAND_REUSABLE
				ADD_OBJECT_TO_LEVEL(SPECBOX_CUSTOM,106,204)
				NEXT_COMMAND_REUSABLE
				SET_TIMER(PLAYER0,TIMER0)
			ENDIF
			IF(PLAYER_GOOD,BOX249_ACTIVATED == 5)
				NEXT_COMMAND_REUSABLE
				ADD_OBJECT_TO_LEVEL(SPECBOX_CUSTOM,107,205)
				NEXT_COMMAND_REUSABLE
				SET_TIMER(PLAYER0,TIMER0)
			ENDIF
			IF(PLAYER_GOOD,BOX249_ACTIVATED == 6)
				NEXT_COMMAND_REUSABLE
				ADD_OBJECT_TO_LEVEL(SPECBOX_CUSTOM,108,206)
				NEXT_COMMAND_REUSABLE
				SET_TIMER(PLAYER0,TIMER0)
			ENDIF
			IF(PLAYER_GOOD,BOX249_ACTIVATED == 7)
				NEXT_COMMAND_REUSABLE
				ADD_OBJECT_TO_LEVEL(SPECBOX_CUSTOM,109,207)
				NEXT_COMMAND_REUSABLE
				SET_TIMER(PLAYER0,TIMER0)
			ENDIF
			IF(PLAYER_GOOD,BOX249_ACTIVATED == 8)
				NEXT_COMMAND_REUSABLE
				ADD_OBJECT_TO_LEVEL(SPECBOX_CUSTOM,110,208)
				NEXT_COMMAND_REUSABLE
				SET_TIMER(PLAYER0,TIMER0)
			ENDIF
		ENDIF
	ENDIF
ENDIF

REM # Freeze Loop.
IF(PLAYER_GOOD,TIMER0 >= 20)
	NEXT_COMMAND_REUSABLE
	USE_SPELL_ON_PLAYERS_CREATURES(PLAYER0,IMP,SPELL_FREEZE)
	NEXT_COMMAND_REUSABLE
	SET_TIMER(PLAYER_GOOD,TIMER0)
ENDIF

REM # Moving Loop.
IF(PLAYER0,BOX101_ACTIVATED >= PLAYER0,BOX111_ACTIVATED)
	NEXT_COMMAND_REUSABLE
	MOVE_CREATURE(PLAYER0,IMP,AT_ACTION_POINT[11],1,1,0)
	NEXT_COMMAND_REUSABLE
	MOVE_CREATURE(PLAYER0,IMP,AT_ACTION_POINT[31],1,21,0)
	NEXT_COMMAND_REUSABLE
	MOVE_CREATURE(PLAYER0,IMP,AT_ACTION_POINT[51],1,41,0)
	NEXT_COMMAND_REUSABLE
	MOVE_CREATURE(PLAYER0,IMP,AT_ACTION_POINT[71],1,61,0)
	NEXT_COMMAND_REUSABLE
	MOVE_CREATURE(PLAYER0,IMP,AT_ACTION_POINT[91],1,81,0)
	NEXT_COMMAND_REUSABLE
	USE_SPELL_ON_PLAYERS_CREATURES(PLAYER0,IMP,SPELL_FREEZE)
	NEXT_COMMAND_REUSABLE
	SET_FLAG(PLAYER0,BOX101_ACTIVATED,0)
ENDIF
IF(PLAYER0,BOX102_ACTIVATED >= PLAYER0,BOX112_ACTIVATED)
	NEXT_COMMAND_REUSABLE
	MOVE_CREATURE(PLAYER0,IMP,AT_ACTION_POINT[12],1,2,0)
	NEXT_COMMAND_REUSABLE
	MOVE_CREATURE(PLAYER0,IMP,AT_ACTION_POINT[32],1,22,0)
	NEXT_COMMAND_REUSABLE
	MOVE_CREATURE(PLAYER0,IMP,AT_ACTION_POINT[52],1,42,0)
	NEXT_COMMAND_REUSABLE
	MOVE_CREATURE(PLAYER0,IMP,AT_ACTION_POINT[72],1,62,0)
	NEXT_COMMAND_REUSABLE
	MOVE_CREATURE(PLAYER0,IMP,AT_ACTION_POINT[92],1,82,0)
	NEXT_COMMAND_REUSABLE
	USE_SPELL_ON_PLAYERS_CREATURES(PLAYER0,IMP,SPELL_FREEZE)
	NEXT_COMMAND_REUSABLE
	SET_FLAG(PLAYER0,BOX102_ACTIVATED,0)
ENDIF
IF(PLAYER0,BOX103_ACTIVATED >= PLAYER0,BOX113_ACTIVATED)
	NEXT_COMMAND_REUSABLE
	MOVE_CREATURE(PLAYER0,IMP,AT_ACTION_POINT[13],1,3,0)
	NEXT_COMMAND_REUSABLE
	MOVE_CREATURE(PLAYER0,IMP,AT_ACTION_POINT[33],1,23,0)
	NEXT_COMMAND_REUSABLE
	MOVE_CREATURE(PLAYER0,IMP,AT_ACTION_POINT[53],1,43,0)
	NEXT_COMMAND_REUSABLE
	MOVE_CREATURE(PLAYER0,IMP,AT_ACTION_POINT[73],1,63,0)
	NEXT_COMMAND_REUSABLE
	MOVE_CREATURE(PLAYER0,IMP,AT_ACTION_POINT[93],1,83,0)
	NEXT_COMMAND_REUSABLE
	USE_SPELL_ON_PLAYERS_CREATURES(PLAYER0,IMP,SPELL_FREEZE)
	NEXT_COMMAND_REUSABLE
	SET_FLAG(PLAYER0,BOX103_ACTIVATED,0)
ENDIF
IF(PLAYER0,BOX104_ACTIVATED >= PLAYER0,BOX114_ACTIVATED)
	NEXT_COMMAND_REUSABLE
	MOVE_CREATURE(PLAYER0,IMP,AT_ACTION_POINT[14],1,4,0)
	NEXT_COMMAND_REUSABLE
	MOVE_CREATURE(PLAYER0,IMP,AT_ACTION_POINT[34],1,24,0)
	NEXT_COMMAND_REUSABLE
	MOVE_CREATURE(PLAYER0,IMP,AT_ACTION_POINT[54],1,44,0)
	NEXT_COMMAND_REUSABLE
	MOVE_CREATURE(PLAYER0,IMP,AT_ACTION_POINT[74],1,64,0)
	NEXT_COMMAND_REUSABLE
	MOVE_CREATURE(PLAYER0,IMP,AT_ACTION_POINT[94],1,84,0)
	NEXT_COMMAND_REUSABLE
	USE_SPELL_ON_PLAYERS_CREATURES(PLAYER0,IMP,SPELL_FREEZE)
	NEXT_COMMAND_REUSABLE
	SET_FLAG(PLAYER0,BOX104_ACTIVATED,0)
ENDIF
IF(PLAYER0,BOX105_ACTIVATED >= PLAYER0,BOX115_ACTIVATED)
	NEXT_COMMAND_REUSABLE
	MOVE_CREATURE(PLAYER0,IMP,AT_ACTION_POINT[15],1,5,0)
	NEXT_COMMAND_REUSABLE
	MOVE_CREATURE(PLAYER0,IMP,AT_ACTION_POINT[35],1,25,0)
	NEXT_COMMAND_REUSABLE
	MOVE_CREATURE(PLAYER0,IMP,AT_ACTION_POINT[55],1,45,0)
	NEXT_COMMAND_REUSABLE
	MOVE_CREATURE(PLAYER0,IMP,AT_ACTION_POINT[75],1,65,0)
	NEXT_COMMAND_REUSABLE
	MOVE_CREATURE(PLAYER0,IMP,AT_ACTION_POINT[95],1,85,0)
	NEXT_COMMAND_REUSABLE
	USE_SPELL_ON_PLAYERS_CREATURES(PLAYER0,IMP,SPELL_FREEZE)
	NEXT_COMMAND_REUSABLE
	SET_FLAG(PLAYER0,BOX105_ACTIVATED,0)
ENDIF
IF(PLAYER0,BOX106_ACTIVATED >= PLAYER0,BOX116_ACTIVATED)
	NEXT_COMMAND_REUSABLE
	MOVE_CREATURE(PLAYER0,IMP,AT_ACTION_POINT[16],1,6,0)
	NEXT_COMMAND_REUSABLE
	MOVE_CREATURE(PLAYER0,IMP,AT_ACTION_POINT[36],1,26,0)
	NEXT_COMMAND_REUSABLE
	MOVE_CREATURE(PLAYER0,IMP,AT_ACTION_POINT[56],1,46,0)
	NEXT_COMMAND_REUSABLE
	MOVE_CREATURE(PLAYER0,IMP,AT_ACTION_POINT[76],1,66,0)
	NEXT_COMMAND_REUSABLE
	MOVE_CREATURE(PLAYER0,IMP,AT_ACTION_POINT[96],1,86,0)
	NEXT_COMMAND_REUSABLE
	USE_SPELL_ON_PLAYERS_CREATURES(PLAYER0,IMP,SPELL_FREEZE)
	NEXT_COMMAND_REUSABLE
	SET_FLAG(PLAYER0,BOX106_ACTIVATED,0)
ENDIF
IF(PLAYER0,BOX107_ACTIVATED >= PLAYER0,BOX117_ACTIVATED)
	NEXT_COMMAND_REUSABLE
	MOVE_CREATURE(PLAYER0,IMP,AT_ACTION_POINT[17],1,7,0)
	NEXT_COMMAND_REUSABLE
	MOVE_CREATURE(PLAYER0,IMP,AT_ACTION_POINT[37],1,27,0)
	NEXT_COMMAND_REUSABLE
	MOVE_CREATURE(PLAYER0,IMP,AT_ACTION_POINT[57],1,47,0)
	NEXT_COMMAND_REUSABLE
	MOVE_CREATURE(PLAYER0,IMP,AT_ACTION_POINT[77],1,67,0)
	NEXT_COMMAND_REUSABLE
	MOVE_CREATURE(PLAYER0,IMP,AT_ACTION_POINT[97],1,87,0)
	NEXT_COMMAND_REUSABLE
	USE_SPELL_ON_PLAYERS_CREATURES(PLAYER0,IMP,SPELL_FREEZE)
	NEXT_COMMAND_REUSABLE
	SET_FLAG(PLAYER0,BOX107_ACTIVATED,0)
ENDIF
IF(PLAYER0,BOX108_ACTIVATED >= PLAYER0,BOX118_ACTIVATED)
	NEXT_COMMAND_REUSABLE
	MOVE_CREATURE(PLAYER0,IMP,AT_ACTION_POINT[18],1,8,0)
	NEXT_COMMAND_REUSABLE
	MOVE_CREATURE(PLAYER0,IMP,AT_ACTION_POINT[38],1,28,0)
	NEXT_COMMAND_REUSABLE
	MOVE_CREATURE(PLAYER0,IMP,AT_ACTION_POINT[58],1,48,0)
	NEXT_COMMAND_REUSABLE
	MOVE_CREATURE(PLAYER0,IMP,AT_ACTION_POINT[78],1,68,0)
	NEXT_COMMAND_REUSABLE
	MOVE_CREATURE(PLAYER0,IMP,AT_ACTION_POINT[98],1,88,0)
	NEXT_COMMAND_REUSABLE
	USE_SPELL_ON_PLAYERS_CREATURES(PLAYER0,IMP,SPELL_FREEZE)
	NEXT_COMMAND_REUSABLE
	SET_FLAG(PLAYER0,BOX108_ACTIVATED,0)
ENDIF
IF(PLAYER0,BOX109_ACTIVATED >= PLAYER0,BOX119_ACTIVATED)
	NEXT_COMMAND_REUSABLE
	MOVE_CREATURE(PLAYER0,IMP,AT_ACTION_POINT[19],1,9,0)
	NEXT_COMMAND_REUSABLE
	MOVE_CREATURE(PLAYER0,IMP,AT_ACTION_POINT[39],1,29,0)
	NEXT_COMMAND_REUSABLE
	MOVE_CREATURE(PLAYER0,IMP,AT_ACTION_POINT[59],1,49,0)
	NEXT_COMMAND_REUSABLE
	MOVE_CREATURE(PLAYER0,IMP,AT_ACTION_POINT[79],1,69,0)
	NEXT_COMMAND_REUSABLE
	MOVE_CREATURE(PLAYER0,IMP,AT_ACTION_POINT[99],1,89,0)
	NEXT_COMMAND_REUSABLE
	USE_SPELL_ON_PLAYERS_CREATURES(PLAYER0,IMP,SPELL_FREEZE)
	NEXT_COMMAND_REUSABLE
	SET_FLAG(PLAYER0,BOX109_ACTIVATED,0)
ENDIF
IF(PLAYER0,BOX110_ACTIVATED >= PLAYER0,BOX120_ACTIVATED)
	NEXT_COMMAND_REUSABLE
	MOVE_CREATURE(PLAYER0,IMP,AT_ACTION_POINT[20],1,101,0)
	NEXT_COMMAND_REUSABLE
	MOVE_CREATURE(PLAYER0,IMP,AT_ACTION_POINT[40],1,101,0)
	NEXT_COMMAND_REUSABLE
	MOVE_CREATURE(PLAYER0,IMP,AT_ACTION_POINT[60],1,101,0)
	NEXT_COMMAND_REUSABLE
	MOVE_CREATURE(PLAYER0,IMP,AT_ACTION_POINT[80],1,101,0)
	NEXT_COMMAND_REUSABLE
	MOVE_CREATURE(PLAYER0,IMP,AT_ACTION_POINT[100],1,101,0)
	NEXT_COMMAND_REUSABLE
	USE_SPELL_ON_PLAYERS_CREATURES(PLAYER0,IMP,SPELL_FREEZE)
	NEXT_COMMAND_REUSABLE
	COUNT_CREATURES_AT_ACTION_POINT(102,PLAYER0,IMP,PLAYER0,BOX250_ACTIVATED)
	NEXT_COMMAND_REUSABLE
	SET_FLAG(PLAYER0,BOX110_ACTIVATED,0)
ENDIF
IF(PLAYER0,BOX250_ACTIVATED > 0)
	NEXT_COMMAND_REUSABLE
	RANDOMISE_FLAG(PLAYER_GOOD,BOX250_ACTIVATED,5)
	IF(PLAYER_GOOD,BOX250_ACTIVATED == 1)
		NEXT_COMMAND_REUSABLE
		MOVE_CREATURE(PLAYER0,IMP,AT_ACTION_POINT[102],1,10,47)
		NEXT_COMMAND_REUSABLE
		USE_SPELL_ON_PLAYERS_CREATURES(PLAYER0,IMP,SPELL_FREEZE)
		NEXT_COMMAND_REUSABLE
		COUNT_CREATURES_AT_ACTION_POINT(102,PLAYER0,IMP,PLAYER0,BOX250_ACTIVATED)
		NEXT_COMMAND_REUSABLE
		CREATE_EFFECT(14,101,3)
		NEXT_COMMAND_REUSABLE
		ADD_HEART_HEALTH(PLAYER0,-3750,1)
	ENDIF
	IF(PLAYER_GOOD,BOX250_ACTIVATED == 2)
		NEXT_COMMAND_REUSABLE
		MOVE_CREATURE(PLAYER0,IMP,AT_ACTION_POINT[102],1,30,47)
		NEXT_COMMAND_REUSABLE
		USE_SPELL_ON_PLAYERS_CREATURES(PLAYER0,IMP,SPELL_FREEZE)
		NEXT_COMMAND_REUSABLE
		COUNT_CREATURES_AT_ACTION_POINT(102,PLAYER0,IMP,PLAYER0,BOX250_ACTIVATED)
		NEXT_COMMAND_REUSABLE
		CREATE_EFFECT(14,101,3)
		NEXT_COMMAND_REUSABLE
		ADD_HEART_HEALTH(PLAYER0,-3750,1)
	ENDIF
	IF(PLAYER_GOOD,BOX250_ACTIVATED == 3)
		NEXT_COMMAND_REUSABLE
		MOVE_CREATURE(PLAYER0,IMP,AT_ACTION_POINT[102],1,50,47)
		NEXT_COMMAND_REUSABLE
		USE_SPELL_ON_PLAYERS_CREATURES(PLAYER0,IMP,SPELL_FREEZE)
		NEXT_COMMAND_REUSABLE
		COUNT_CREATURES_AT_ACTION_POINT(102,PLAYER0,IMP,PLAYER0,BOX250_ACTIVATED)
		NEXT_COMMAND_REUSABLE
		CREATE_EFFECT(14,101,3)
		NEXT_COMMAND_REUSABLE
		ADD_HEART_HEALTH(PLAYER0,-3750,1)
	ENDIF
	IF(PLAYER_GOOD,BOX250_ACTIVATED == 4)
		NEXT_COMMAND_REUSABLE
		MOVE_CREATURE(PLAYER0,IMP,AT_ACTION_POINT[102],1,70,47)
		NEXT_COMMAND_REUSABLE
		USE_SPELL_ON_PLAYERS_CREATURES(PLAYER0,IMP,SPELL_FREEZE)
		NEXT_COMMAND_REUSABLE
		COUNT_CREATURES_AT_ACTION_POINT(102,PLAYER0,IMP,PLAYER0,BOX250_ACTIVATED)
		NEXT_COMMAND_REUSABLE
		CREATE_EFFECT(14,101,3)
		NEXT_COMMAND_REUSABLE
		ADD_HEART_HEALTH(PLAYER0,-3750,1)
	ENDIF
	IF(PLAYER_GOOD,BOX250_ACTIVATED == 5)
		NEXT_COMMAND_REUSABLE
		MOVE_CREATURE(PLAYER0,IMP,AT_ACTION_POINT[102],1,90,47)
		NEXT_COMMAND_REUSABLE
		USE_SPELL_ON_PLAYERS_CREATURES(PLAYER0,IMP,SPELL_FREEZE)
		NEXT_COMMAND_REUSABLE
		COUNT_CREATURES_AT_ACTION_POINT(102,PLAYER0,IMP,PLAYER0,BOX250_ACTIVATED)
		NEXT_COMMAND_REUSABLE
		CREATE_EFFECT(14,101,3)
		NEXT_COMMAND_REUSABLE
		ADD_HEART_HEALTH(PLAYER0,-3750,1)
	ENDIF
ENDIF

REM # Initial Objective.
QUICK_OBJECTIVE(0,"Ah, greetings, oh wicked Keeper! In this sinful realm, relish the twisted pleasure of mercilessly slapping your hapless minions, earning lucrative scores until your inevitable demise. Fret not, for you may flaunt your pitiful achievements among fellow Slap-Slap enthusiasts. Victory awaits by brutally thrashing your minions to get a minimum of 1,000,000 points. May malevolence befall you, and may your twisted journey be filled with devilish mirth and wicked fortune.",ALL_PLAYERS)

REM # Quick Information.
IF(PLAYER_GOOD,GAME_TURN >= 20)
	QUICK_INFORMATION(1,"To truly dominate, I suggest you zoom out and embrace an unholy perspective. When you feel truly wicked and prepared, give the 'Ready!' box a sinister tap to unleash hell upon the unsuspecting.",53)
ENDIF

REM # Win Condition.
IF(PLAYER0,MONEY >= 999)
	WIN_GAME
ENDIF