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

REM # Map Settings.
SET_GENERATE_SPEED(300)
HIDE_HERO_GATE(-1,1)
HIDE_HERO_GATE(-2,1)
HIDE_HERO_GATE(-3,1)
HIDE_HERO_GATE(-4,1)
HIDE_HERO_GATE(-5,1)
HIDE_HERO_GATE(-6,1)
HIDE_HERO_GATE(-7,1)
HIDE_HERO_GATE(-8,1)
SET_FLAG(PLAYER0,FLAG0,255)
SET_FLAG(PLAYER_GOOD,FLAG0,255)
SET_TIMER(PLAYER0,TIMER0)
SET_TIMER(PLAYER_GOOD,TIMER0)
SET_TIMER(PLAYER0,TIMER1)
SET_TIMER(PLAYER_GOOD,TIMER7)
SET_TIMER(PLAYER0,TIMER2)
SET_TIMER(PLAYER0,TIMER3)
DISPLAY_COUNTDOWN(PLAYER_GOOD,TIMER7,36000,1)

REM # Setup Game Rule.
SET_GAME_RULE(FoodGenerationSpeed,1200)
SET_GAME_RULE(DungeonHeartHealHealth,8)
SET_GAME_RULE(ImpWorkExperience,1024)
SET_GAME_RULE(RoomSellGoldBackPercent,100)
SET_GAME_RULE(HungerHealthLoss,8)
SET_GAME_RULE(GameTurnsPerHungerHealthLoss,20)
SET_GAME_RULE(FoodHealthGain,300)
SET_GAME_RULE(PlaceTrapsOnSubtiles,0)

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

REM # Door Configuration.
SET_DOOR_CONFIGURATION(SECRET,Crate,SPECBOX_CUSTOM)
SET_DOOR_CONFIGURATION(SECRET,ManufactureLevel,0)

REM # Alarm Trap Configuration (Spitfire Trap).
SET_TRAP_CONFIGURATION(ALARM,NameTextID,988)
SET_TRAP_CONFIGURATION(ALARM,TooltipTextID,988)
SET_TRAP_CONFIGURATION(ALARM,SymbolSprites,372,430)
SET_TRAP_CONFIGURATION(ALARM,PointerSprites,159)
SET_TRAP_CONFIGURATION(ALARM,Crate,SPECBOX_CUSTOM)
SET_TRAP_CONFIGURATION(ALARM,ManufactureLevel,0)
SET_TRAP_CONFIGURATION(ALARM,ManufactureRequired,18000)
SET_TRAP_CONFIGURATION(ALARM,Shots,1500)
SET_TRAP_CONFIGURATION(ALARM,TimeBetweenShots,8)
SET_TRAP_CONFIGURATION(ALARM,SellingValue,250)
SET_TRAP_CONFIGURATION(ALARM,Model,844)
SET_TRAP_CONFIGURATION(ALARM,TriggerType,3)
SET_TRAP_CONFIGURATION(ALARM,ActivationType,5)
SET_TRAP_CONFIGURATION(ALARM,EffectType,7)
SET_TRAP_CONFIGURATION(ALARM,Hidden,0)
SET_TRAP_CONFIGURATION(ALARM,Slappable,0)
SET_TRAP_CONFIGURATION(ALARM,Destructible,0)
SET_TRAP_CONFIGURATION(ALARM,PlaceOnBridge,1)
SET_TRAP_CONFIGURATION(ALARM,PlaceOnSubtile,0)
SET_TRAP_CONFIGURATION(ALARM,Health,128)
SET_TRAP_CONFIGURATION(ALARM,ThingSize,128,256)
SET_TRAP_CONFIGURATION(ALARM,HitType,4)

REM # Boulder Trap Configuration.
SET_TRAP_CONFIGURATION(BOULDER,Crate,SPECBOX_CUSTOM)
SET_TRAP_CONFIGURATION(BOULDER,ManufactureLevel,0)

REM # TNT Trap Configuration.
SET_TRAP_CONFIGURATION(TNT,Crate,SPECBOX_CUSTOM)
SET_TRAP_CONFIGURATION(TNT,ManufactureLevel,0)

REM # Keeper's Rooms Availablity.
ROOM_AVAILABLE(ALL_PLAYERS,LAIR,1,1)
ROOM_AVAILABLE(ALL_PLAYERS,GARDEN,1,1)
ROOM_AVAILABLE(ALL_PLAYERS,TREASURE,1,1)
ROOM_AVAILABLE(ALL_PLAYERS,WORKSHOP,1,1)

REM # Keeper's Powers Availablity.
MAGIC_AVAILABLE(ALL_PLAYERS,POWER_OBEY,1,1)
MAGIC_AVAILABLE(ALL_PLAYERS,POWER_HOLD_AUDIENCE,1,1)
MAGIC_AVAILABLE(ALL_PLAYERS,POWER_TIME_BOMB,1,1)
MAGIC_AVAILABLE(ALL_PLAYERS,POWER_SPEED,1,1)
MAGIC_AVAILABLE(ALL_PLAYERS,POWER_HEAL_CREATURE,1,1)
MAGIC_AVAILABLE(ALL_PLAYERS,POWER_PROTECT,1,1)
MAGIC_AVAILABLE(ALL_PLAYERS,POWER_REBOUND,1,1)

REM # Keeper's Doors Availablity.
DOOR_AVAILABLE(ALL_PLAYERS,SECRET,1,0)

REM # Keeper's Traps Availablity.
TRAP_AVAILABLE(ALL_PLAYERS,ALARM,1,30)
TRAP_AVAILABLE(ALL_PLAYERS,BOULDER,1,3)
TRAP_AVAILABLE(ALL_PLAYERS,TNT,1,10)

REM # Set tooltip for Unholy Gift.
SET_BOX_TOOLTIP(0,"Unholy Gift")
SET_BOX_TOOLTIP(201,"Fool Mode: Set random statistics to Imps and Prinnies every 5 seconds, bypass Easy Mode.")
SET_BOX_TOOLTIP(202,"Easy Mode: Imps are weaker, Prinnies are stronger.")
SET_BOX_TOOLTIP(203,"Hard Mode: Spawn for the heroes a Santa Claus that instantly revive when killed.")
SET_BOX_TOOLTIP(204,"Noob Mode: Set Speed, Protect and Rebound to your Prinnies. Cast every 5 seconds.")

REM # Fool Mode.
IF(PLAYER0,BOX201_ACTIVATED > 0)
	IF(PLAYER0,TIMER2 >= 100)
		NEXT_COMMAND_REUSABLE
		RANDOMISE_FLAG(PLAYER_GOOD,BOX251_ACTIVATED,8)
		IF(PLAYER_GOOD,BOX251_ACTIVATED == 1)
			NEXT_COMMAND_REUSABLE
			SET_CREATURE_CONFIGURATION(IMP,Strength,DRAWFROM(15,20,25,30,35,40,45,50))
			NEXT_COMMAND_REUSABLE
			SET_CREATURE_CONFIGURATION(IMP,Armour,DRAWFROM(10,15,20,25,30,35,40,45))
			NEXT_COMMAND_REUSABLE
			SET_CREATURE_CONFIGURATION(IMP,Dexterity,DRAWFROM(105,110,115,120,125,130,135,140))
			NEXT_COMMAND_REUSABLE
			SET_CREATURE_CONFIGURATION(IMP,Defence,DRAWFROM(5,10,15,20,25,30,35,40))
			NEXT_COMMAND_REUSABLE
			SET_CREATURE_CONFIGURATION(IMP,Luck,DRAWFROM(5,10,15,20,25,30,35,40))
			NEXT_COMMAND_REUSABLE
			SET_CREATURE_CONFIGURATION(DWARFA,Strength,DRAWFROM(35,40,45,50,55,60,65,70))
			NEXT_COMMAND_REUSABLE
			SET_CREATURE_CONFIGURATION(DWARFA,Armour,DRAWFROM(25,30,35,40,45,50,55,60))
			NEXT_COMMAND_REUSABLE
			SET_CREATURE_CONFIGURATION(DWARFA,Dexterity,DRAWFROM(145,150,155,160,165,170,175,180))
			NEXT_COMMAND_REUSABLE
			SET_CREATURE_CONFIGURATION(DWARFA,Defence,DRAWFROM(15,20,25,30,35,40,45,50))
			NEXT_COMMAND_REUSABLE
			SET_CREATURE_CONFIGURATION(DWARFA,Luck,DRAWFROM(5,10,15,20,25,30,35,40))
			NEXT_COMMAND_REUSABLE
			SET_TIMER(PLAYER0,TIMER2)
		ENDIF
		IF(PLAYER_GOOD,BOX251_ACTIVATED == 2)
			NEXT_COMMAND_REUSABLE
			SET_CREATURE_CONFIGURATION(IMP,Strength,DRAWFROM(20,25,30,35,40,45,50,55))
			NEXT_COMMAND_REUSABLE
			SET_CREATURE_CONFIGURATION(IMP,Armour,DRAWFROM(15,20,25,30,35,40,45,50))
			NEXT_COMMAND_REUSABLE
			SET_CREATURE_CONFIGURATION(IMP,Dexterity,DRAWFROM(110,115,120,125,130,135,140,145))
			NEXT_COMMAND_REUSABLE
			SET_CREATURE_CONFIGURATION(IMP,Defence,DRAWFROM(10,15,20,25,30,35,40,45))
			NEXT_COMMAND_REUSABLE
			SET_CREATURE_CONFIGURATION(IMP,Luck,DRAWFROM(10,15,20,25,30,35,40,45))
			NEXT_COMMAND_REUSABLE
			SET_CREATURE_CONFIGURATION(DWARFA,Strength,DRAWFROM(40,45,50,55,60,65,70,75))
			NEXT_COMMAND_REUSABLE
			SET_CREATURE_CONFIGURATION(DWARFA,Armour,DRAWFROM(30,35,40,45,50,55,60,65))
			NEXT_COMMAND_REUSABLE
			SET_CREATURE_CONFIGURATION(DWARFA,Dexterity,DRAWFROM(140,145,150,155,160,165,170,175))
			NEXT_COMMAND_REUSABLE
			SET_CREATURE_CONFIGURATION(DWARFA,Defence,DRAWFROM(20,25,30,35,40,45,50,55))
			NEXT_COMMAND_REUSABLE
			SET_CREATURE_CONFIGURATION(DWARFA,Luck,DRAWFROM(10,15,20,25,30,35,40,45))
			NEXT_COMMAND_REUSABLE
			SET_TIMER(PLAYER0,TIMER2)
		ENDIF
		IF(PLAYER_GOOD,BOX251_ACTIVATED == 3)
			NEXT_COMMAND_REUSABLE
			SET_CREATURE_CONFIGURATION(IMP,Strength,DRAWFROM(25,30,35,40,45,50,55,60))
			NEXT_COMMAND_REUSABLE
			SET_CREATURE_CONFIGURATION(IMP,Armour,DRAWFROM(20,25,30,35,40,45,50,55))
			NEXT_COMMAND_REUSABLE
			SET_CREATURE_CONFIGURATION(IMP,Dexterity,DRAWFROM(115,120,125,130,135,140,145,150))
			NEXT_COMMAND_REUSABLE
			SET_CREATURE_CONFIGURATION(IMP,Defence,DRAWFROM(15,20,25,30,35,40,45,50))
			NEXT_COMMAND_REUSABLE
			SET_CREATURE_CONFIGURATION(IMP,Luck,DRAWFROM(15,20,25,30,35,40,45,50))
			NEXT_COMMAND_REUSABLE
			SET_CREATURE_CONFIGURATION(DWARFA,Strength,DRAWFROM(45,50,55,60,65,70,75,80))
			NEXT_COMMAND_REUSABLE
			SET_CREATURE_CONFIGURATION(DWARFA,Armour,DRAWFROM(35,40,45,50,55,60,65,70))
			NEXT_COMMAND_REUSABLE
			SET_CREATURE_CONFIGURATION(DWARFA,Dexterity,DRAWFROM(135,140,145,150,155,160,165,170))
			NEXT_COMMAND_REUSABLE
			SET_CREATURE_CONFIGURATION(DWARFA,Defence,DRAWFROM(25,30,35,40,45,50,55,60))
			NEXT_COMMAND_REUSABLE
			SET_CREATURE_CONFIGURATION(DWARFA,Luck,DRAWFROM(15,20,25,30,35,40,45,50))
			NEXT_COMMAND_REUSABLE
			SET_TIMER(PLAYER0,TIMER2)
		ENDIF
		IF(PLAYER_GOOD,BOX251_ACTIVATED == 4)
			NEXT_COMMAND_REUSABLE
			SET_CREATURE_CONFIGURATION(IMP,Strength,DRAWFROM(30,35,40,45,50,55,60,65))
			NEXT_COMMAND_REUSABLE
			SET_CREATURE_CONFIGURATION(IMP,Armour,DRAWFROM(25,30,35,40,45,50,55,60))
			NEXT_COMMAND_REUSABLE
			SET_CREATURE_CONFIGURATION(IMP,Dexterity,DRAWFROM(120,125,130,135,140,145,150,155))
			NEXT_COMMAND_REUSABLE
			SET_CREATURE_CONFIGURATION(IMP,Defence,DRAWFROM(20,25,30,35,40,45,50,55))
			NEXT_COMMAND_REUSABLE
			SET_CREATURE_CONFIGURATION(IMP,Luck,DRAWFROM(20,25,30,35,40,45,50,55))
			NEXT_COMMAND_REUSABLE
			SET_CREATURE_CONFIGURATION(DWARFA,Strength,DRAWFROM(50,55,60,65,70,75,80,85))
			NEXT_COMMAND_REUSABLE
			SET_CREATURE_CONFIGURATION(DWARFA,Armour,DRAWFROM(40,45,50,55,60,65,70,75))
			NEXT_COMMAND_REUSABLE
			SET_CREATURE_CONFIGURATION(DWARFA,Dexterity,DRAWFROM(130,135,140,145,150,155,160,165))
			NEXT_COMMAND_REUSABLE
			SET_CREATURE_CONFIGURATION(DWARFA,Defence,DRAWFROM(30,35,40,45,50,55,60,65))
			NEXT_COMMAND_REUSABLE
			SET_CREATURE_CONFIGURATION(DWARFA,Luck,DRAWFROM(20,25,30,35,40,45,50,55))
			NEXT_COMMAND_REUSABLE
			SET_TIMER(PLAYER0,TIMER2)
		ENDIF
		IF(PLAYER_GOOD,BOX251_ACTIVATED == 5)
			NEXT_COMMAND_REUSABLE
			SET_CREATURE_CONFIGURATION(IMP,Strength,DRAWFROM(35,40,45,50,55,60,65,70))
			NEXT_COMMAND_REUSABLE
			SET_CREATURE_CONFIGURATION(IMP,Armour,DRAWFROM(30,35,40,45,50,55,60,65))
			NEXT_COMMAND_REUSABLE
			SET_CREATURE_CONFIGURATION(IMP,Dexterity,DRAWFROM(125,130,135,140,145,150,155,160))
			NEXT_COMMAND_REUSABLE
			SET_CREATURE_CONFIGURATION(IMP,Defence,DRAWFROM(25,30,35,40,45,50,55,60))
			NEXT_COMMAND_REUSABLE
			SET_CREATURE_CONFIGURATION(IMP,Luck,DRAWFROM(25,30,35,40,45,50,55,60))
			NEXT_COMMAND_REUSABLE
			SET_CREATURE_CONFIGURATION(DWARFA,Strength,DRAWFROM(55,60,65,70,75,80,85,90))
			NEXT_COMMAND_REUSABLE
			SET_CREATURE_CONFIGURATION(DWARFA,Armour,DRAWFROM(45,50,55,60,65,70,75,80))
			NEXT_COMMAND_REUSABLE
			SET_CREATURE_CONFIGURATION(DWARFA,Dexterity,DRAWFROM(125,130,135,140,145,150,155,160))
			NEXT_COMMAND_REUSABLE
			SET_CREATURE_CONFIGURATION(DWARFA,Defence,DRAWFROM(35,40,45,50,55,60,65,70))
			NEXT_COMMAND_REUSABLE
			SET_CREATURE_CONFIGURATION(DWARFA,Luck,DRAWFROM(25,30,35,40,45,50,55,60))
			NEXT_COMMAND_REUSABLE
			SET_TIMER(PLAYER0,TIMER2)
		ENDIF
		IF(PLAYER_GOOD,BOX251_ACTIVATED == 6)
			NEXT_COMMAND_REUSABLE
			SET_CREATURE_CONFIGURATION(IMP,Strength,DRAWFROM(40,45,50,55,60,65,70,75))
			NEXT_COMMAND_REUSABLE
			SET_CREATURE_CONFIGURATION(IMP,Armour,DRAWFROM(35,40,45,50,55,60,65,70))
			NEXT_COMMAND_REUSABLE
			SET_CREATURE_CONFIGURATION(IMP,Dexterity,DRAWFROM(130,135,140,145,150,155,160,165))
			NEXT_COMMAND_REUSABLE
			SET_CREATURE_CONFIGURATION(IMP,Defence,DRAWFROM(30,35,40,45,50,55,60,65))
			NEXT_COMMAND_REUSABLE
			SET_CREATURE_CONFIGURATION(IMP,Luck,DRAWFROM(30,35,40,45,50,55,60,65))
			NEXT_COMMAND_REUSABLE
			SET_CREATURE_CONFIGURATION(DWARFA,Strength,DRAWFROM(60,65,70,75,80,85,90,95))
			NEXT_COMMAND_REUSABLE
			SET_CREATURE_CONFIGURATION(DWARFA,Armour,DRAWFROM(50,55,60,65,70,75,80,85))
			NEXT_COMMAND_REUSABLE
			SET_CREATURE_CONFIGURATION(DWARFA,Dexterity,DRAWFROM(120,125,130,135,140,145,150,155))
			NEXT_COMMAND_REUSABLE
			SET_CREATURE_CONFIGURATION(DWARFA,Defence,DRAWFROM(40,45,50,55,60,65,70,75))
			NEXT_COMMAND_REUSABLE
			SET_CREATURE_CONFIGURATION(DWARFA,Luck,DRAWFROM(30,35,40,45,50,55,60,65))
			NEXT_COMMAND_REUSABLE
			SET_TIMER(PLAYER0,TIMER2)
		ENDIF
		IF(PLAYER_GOOD,BOX251_ACTIVATED == 7)
			NEXT_COMMAND_REUSABLE
			SET_CREATURE_CONFIGURATION(IMP,Strength,DRAWFROM(45,50,55,60,65,70,75,80))
			NEXT_COMMAND_REUSABLE
			SET_CREATURE_CONFIGURATION(IMP,Armour,DRAWFROM(40,45,50,55,60,65,70,75))
			NEXT_COMMAND_REUSABLE
			SET_CREATURE_CONFIGURATION(IMP,Dexterity,DRAWFROM(135,140,145,150,155,160,165,170))
			NEXT_COMMAND_REUSABLE
			SET_CREATURE_CONFIGURATION(IMP,Defence,DRAWFROM(35,40,45,50,55,60,65,70))
			NEXT_COMMAND_REUSABLE
			SET_CREATURE_CONFIGURATION(IMP,Luck,DRAWFROM(35,40,45,50,55,60,65,70))
			NEXT_COMMAND_REUSABLE
			SET_CREATURE_CONFIGURATION(DWARFA,Strength,DRAWFROM(65,70,75,80,85,90,95,100))
			NEXT_COMMAND_REUSABLE
			SET_CREATURE_CONFIGURATION(DWARFA,Armour,DRAWFROM(55,60,65,70,75,80,85,90))
			NEXT_COMMAND_REUSABLE
			SET_CREATURE_CONFIGURATION(DWARFA,Dexterity,DRAWFROM(115,120,125,130,135,140,145,150))
			NEXT_COMMAND_REUSABLE
			SET_CREATURE_CONFIGURATION(DWARFA,Defence,DRAWFROM(45,50,55,60,65,70,75,80))
			NEXT_COMMAND_REUSABLE
			SET_CREATURE_CONFIGURATION(DWARFA,Luck,DRAWFROM(35,40,45,50,55,60,65,70))
			NEXT_COMMAND_REUSABLE
			SET_TIMER(PLAYER0,TIMER2)
		ENDIF
		IF(PLAYER_GOOD,BOX251_ACTIVATED == 8)
			NEXT_COMMAND_REUSABLE
			SET_CREATURE_CONFIGURATION(IMP,Strength,DRAWFROM(50,55,60,65,70,75,80,85))
			NEXT_COMMAND_REUSABLE
			SET_CREATURE_CONFIGURATION(IMP,Armour,DRAWFROM(45,50,55,60,65,70,75,80))
			NEXT_COMMAND_REUSABLE
			SET_CREATURE_CONFIGURATION(IMP,Dexterity,DRAWFROM(140,145,150,155,160,165,170,175))
			NEXT_COMMAND_REUSABLE
			SET_CREATURE_CONFIGURATION(IMP,Defence,DRAWFROM(40,45,50,55,60,65,70,75))
			NEXT_COMMAND_REUSABLE
			SET_CREATURE_CONFIGURATION(IMP,Luck,DRAWFROM(40,45,50,55,60,65,70,75))
			NEXT_COMMAND_REUSABLE
			SET_CREATURE_CONFIGURATION(DWARFA,Strength,DRAWFROM(70,75,80,85,90,95,100,105))
			NEXT_COMMAND_REUSABLE
			SET_CREATURE_CONFIGURATION(DWARFA,Armour,DRAWFROM(60,65,70,75,80,85,90,95))
			NEXT_COMMAND_REUSABLE
			SET_CREATURE_CONFIGURATION(DWARFA,Dexterity,DRAWFROM(110,115,120,125,130,135,140,145))
			NEXT_COMMAND_REUSABLE
			SET_CREATURE_CONFIGURATION(DWARFA,Defence,DRAWFROM(50,55,60,65,70,75,80,85))
			NEXT_COMMAND_REUSABLE
			SET_CREATURE_CONFIGURATION(DWARFA,Luck,DRAWFROM(40,45,50,55,60,65,70,75))
			NEXT_COMMAND_REUSABLE
			SET_TIMER(PLAYER0,TIMER2)
		ENDIF
	ENDIF
ENDIF

REM # Easy Mode.
IF(PLAYER0,BOX202_ACTIVATED > 0)
	SET_CREATURE_CONFIGURATION(IMP,Strength,35)
	SET_CREATURE_CONFIGURATION(IMP,Armour,30)
	SET_CREATURE_CONFIGURATION(IMP,Dexterity,180)
	SET_CREATURE_CONFIGURATION(IMP,Defence,20)
	SET_CREATURE_CONFIGURATION(IMP,Luck,15)
	SET_CREATURE_CONFIGURATION(DWARFA,Strength,25)
	SET_CREATURE_CONFIGURATION(DWARFA,Armour,20)
	SET_CREATURE_CONFIGURATION(DWARFA,Dexterity,90)
	SET_CREATURE_CONFIGURATION(DWARFA,Defence,15)
	SET_CREATURE_CONFIGURATION(DWARFA,Luck,10)
ENDIF

REM # Hard Mode.
IF(PLAYER0,BOX203_ACTIVATED > 0)
	IF(PLAYER_GOOD,TIMER7 < 36000)
		IF(PLAYER_GOOD,TIME_MAGE < 1)
			NEXT_COMMAND_REUSABLE
			RANDOMISE_FLAG(PLAYER_GOOD,BOX253_ACTIVATED,8)
			IF(PLAYER_GOOD,BOX253_ACTIVATED == 1)
				NEXT_COMMAND_REUSABLE
				ADD_CREATURE_TO_LEVEL(PLAYER_GOOD,TIME_MAGE,-1,1,1,0)
			ENDIF
			IF(PLAYER_GOOD,BOX253_ACTIVATED == 2)
				NEXT_COMMAND_REUSABLE
				ADD_CREATURE_TO_LEVEL(PLAYER_GOOD,TIME_MAGE,-2,1,1,0)
			ENDIF
			IF(PLAYER_GOOD,BOX253_ACTIVATED == 3)
				NEXT_COMMAND_REUSABLE
				ADD_CREATURE_TO_LEVEL(PLAYER_GOOD,TIME_MAGE,-3,1,1,0)
			ENDIF
			IF(PLAYER_GOOD,BOX253_ACTIVATED == 4)
				NEXT_COMMAND_REUSABLE
				ADD_CREATURE_TO_LEVEL(PLAYER_GOOD,TIME_MAGE,-4,1,1,0)
			ENDIF
			IF(PLAYER_GOOD,BOX253_ACTIVATED == 5)
				NEXT_COMMAND_REUSABLE
				ADD_CREATURE_TO_LEVEL(PLAYER_GOOD,TIME_MAGE,-5,1,1,0)
			ENDIF
			IF(PLAYER_GOOD,BOX253_ACTIVATED == 6)
				NEXT_COMMAND_REUSABLE
				ADD_CREATURE_TO_LEVEL(PLAYER_GOOD,TIME_MAGE,-6,1,1,0)
			ENDIF
			IF(PLAYER_GOOD,BOX253_ACTIVATED == 7)
				NEXT_COMMAND_REUSABLE
				ADD_CREATURE_TO_LEVEL(PLAYER_GOOD,TIME_MAGE,-7,1,1,0)
			ENDIF
			IF(PLAYER_GOOD,BOX253_ACTIVATED == 8)
				NEXT_COMMAND_REUSABLE
				ADD_CREATURE_TO_LEVEL(PLAYER_GOOD,TIME_MAGE,-8,1,1,0)
			ENDIF
		ENDIF
	ENDIF
ENDIF

REM # Noob Mode.
IF(PLAYER0,BOX204_ACTIVATED > 0)
	IF(PLAYER0,TIMER3 > 100)
		NEXT_COMMAND_REUSABLE
		USE_SPELL_ON_PLAYERS_CREATURES(PLAYER0,IMP,SPELL_SPEED,9)
		NEXT_COMMAND_REUSABLE
		USE_SPELL_ON_PLAYERS_CREATURES(PLAYER0,IMP,SPELL_ARMOUR,9)
		NEXT_COMMAND_REUSABLE
		USE_SPELL_ON_PLAYERS_CREATURES(PLAYER0,IMP,SPELL_REBOUND,9)
		NEXT_COMMAND_REUSABLE
		SET_TIMER(PLAYER0,TIMER3)
	ENDIF
ENDIF

REM # Unholy Gift Random Event.
IF(PLAYER0,BOX0_ACTIVATED > 0)
	NEXT_COMMAND_REUSABLE
	RANDOMISE_FLAG(PLAYER0,BOX1_ACTIVATED,4)
	IF(PLAYER0,IMP < 100)
		NEXT_COMMAND_REUSABLE
		USE_POWER_AT_LOCATION(PLAYER0,LAST_EVENT,POWER_IMP,1,1)
	ENDIF
	IF(PLAYER0,BOX1_ACTIVATED == 1)
		NEXT_COMMAND_REUSABLE
		PLAY_MESSAGE(PLAYER0,SPEECH,93)
		NEXT_COMMAND_REUSABLE
		KILL_CREATURE(PLAYER_GOOD,DWARFA,LEAST_EXPERIENCED,1)
		NEXT_COMMAND_REUSABLE
		SET_FLAG(PLAYER0,BOX0_ACTIVATED,0)
	ENDIF
	IF(PLAYER0,BOX1_ACTIVATED == 2)
		NEXT_COMMAND_REUSABLE
		PLAY_MESSAGE(PLAYER0,SPEECH,94)
		NEXT_COMMAND_REUSABLE
		KILL_CREATURE(PLAYER_GOOD,DWARFA,MOST_EXPERIENCED,1)
		NEXT_COMMAND_REUSABLE
		SET_FLAG(PLAYER0,BOX0_ACTIVATED,0)
	ENDIF
	IF(PLAYER0,BOX1_ACTIVATED == 3)
		NEXT_COMMAND_REUSABLE
		PLAY_MESSAGE(PLAYER0,SPEECH,95)
		NEXT_COMMAND_REUSABLE
		LEVEL_UP_CREATURE(PLAYER0,IMP,LEAST_EXPERIENCED,8)
		NEXT_COMMAND_REUSABLE
		SET_FLAG(PLAYER0,BOX0_ACTIVATED,0)
	ENDIF
	IF(PLAYER0,BOX1_ACTIVATED == 4)
		NEXT_COMMAND_REUSABLE
		PLAY_MESSAGE(PLAYER0,SPEECH,92)
		NEXT_COMMAND_REUSABLE
		USE_SPELL_ON_PLAYERS_CREATURES(ALL_PLAYERS,IMP,SPELL_CHICKEN,9)
		NEXT_COMMAND_REUSABLE
		USE_SPELL_ON_PLAYERS_CREATURES(PLAYER_GOOD,DWARFA,SPELL_CHICKEN,9)
		NEXT_COMMAND_REUSABLE
		SET_FLAG(PLAYER0,BOX0_ACTIVATED,0)
	ENDIF
ENDIF

REM # Compute Flag.
IF(PLAYER_GOOD,GAME_TURN >= 100)
	NEXT_COMMAND_REUSABLE
	SET_FLAG(PLAYER0,FLAG0,20)
	NEXT_COMMAND_REUSABLE
	COMPUTE_FLAG(PLAYER0,FLAG0,MULTIPLY,PLAYER0,IMP,0)
	NEXT_COMMAND_REUSABLE
	SET_FLAG(PLAYER_GOOD,FLAG0,20)
	NEXT_COMMAND_REUSABLE
	COMPUTE_FLAG(PLAYER_GOOD,FLAG0,MULTIPLY,PLAYER_GOOD,DWARFA,0)
ENDIF

REM # Loop for PLAYER0.
IF(PLAYER0,DUNGEON_DESTROYED == 0)
	IF(PLAYER0,TIMER0 >= PLAYER0,FLAG0)
		IF(PLAYER0,IMP < 100)
			NEXT_COMMAND_REUSABLE
			USE_POWER_ON_CREATURE(PLAYER0,TIME_MAGE,ANYWHERE,PLAYER0,POWER_IMP,1,1)
			NEXT_COMMAND_REUSABLE
			LEVEL_UP_CREATURE(PLAYER0,IMP,LEAST_EXPERIENCED,1)
			NEXT_COMMAND_REUSABLE
			LEVEL_UP_CREATURE(PLAYER0,IMP,LEAST_EXPERIENCED,1)
			NEXT_COMMAND_REUSABLE
			SET_TIMER(PLAYER0,TIMER0)
		ENDIF
	ENDIF
	IF(PLAYER0,DWARFA > 0)
		IF(PLAYER0,IMP < 100)
			NEXT_COMMAND_REUSABLE
			USE_POWER_ON_CREATURE(PLAYER0,TIME_MAGE,ANYWHERE,PLAYER0,POWER_IMP,1,1)
			NEXT_COMMAND_REUSABLE
			LEVEL_UP_CREATURE(PLAYER0,IMP,LEAST_EXPERIENCED,1)
		ENDIF
		NEXT_COMMAND_REUSABLE
		CHANGE_CREATURE_OWNER(PLAYER0,DWARFA,LEAST_EXPERIENCED,PLAYER_GOOD)
		NEXT_COMMAND_REUSABLE
		LEVEL_UP_CREATURE(PLAYER_GOOD,DWARFA,LEAST_EXPERIENCED,1)
		NEXT_COMMAND_REUSABLE
		ADD_TO_FLAG(PLAYER_GOOD,BOX150_ACTIVATED,1)
	ENDIF
	IF(PLAYER0,TIME_MAGE < 1)
		NEXT_COMMAND_REUSABLE
		KILL_CREATURE(PLAYER0,IMP,ANYWHERE,255)
		LOSE_GAME
	ENDIF
	IF(PLAYER0,TIMER1 >= 20)
		NEXT_COMMAND_REUSABLE
		CHANGE_CREATURES_ANNOYANCE(PLAYER0,IMP,INCREASE,20)
		NEXT_COMMAND_REUSABLE
		CHANGE_CREATURES_ANNOYANCE(PLAYER0,TIME_MAGE,INCREASE,8)
		NEXT_COMMAND_REUSABLE
		SET_TIMER(PLAYER0,TIMER1)
	ENDIF
ENDIF

REM # Spawn more Imps for player GOOD and make them stronger.
IF(PLAYER_GOOD,TIMER0 >= PLAYER_GOOD,FLAG0)
	IF(PLAYER_GOOD,TIMER7 < 36000)
		NEXT_COMMAND_REUSABLE
		RANDOMISE_FLAG(PLAYER_GOOD,BOX255_ACTIVATED,8)
		IF(PLAYER_GOOD,DWARFA < PLAYER_GOOD,BOX150_ACTIVATED)
			NEXT_COMMAND_REUSABLE
			RANDOMISE_FLAG(PLAYER_GOOD,BOX255_ACTIVATED,8)
			IF(PLAYER_GOOD,IMP < 1)
				NEXT_COMMAND_REUSABLE
				RANDOMISE_FLAG(PLAYER_GOOD,BOX255_ACTIVATED,8)
				IF(PLAYER_GOOD,BOX255_ACTIVATED == 1)
					NEXT_COMMAND_REUSABLE
					ADD_CREATURE_TO_LEVEL(PLAYER_GOOD,DWARFA,-1,1,1,0)
					NEXT_COMMAND_REUSABLE
					LEVEL_UP_CREATURE(PLAYER_GOOD,DWARFA,LEAST_EXPERIENCED,1)
					NEXT_COMMAND_REUSABLE
					LEVEL_UP_CREATURE(PLAYER_GOOD,DWARFA,LEAST_EXPERIENCED,1)
					NEXT_COMMAND_REUSABLE
					SET_TIMER(PLAYER_GOOD,TIMER0)
				ENDIF
				IF(PLAYER_GOOD,BOX255_ACTIVATED == 2)
					NEXT_COMMAND_REUSABLE
					ADD_CREATURE_TO_LEVEL(PLAYER_GOOD,DWARFA,-2,1,1,0)
					NEXT_COMMAND_REUSABLE
					LEVEL_UP_CREATURE(PLAYER_GOOD,DWARFA,LEAST_EXPERIENCED,1)
					NEXT_COMMAND_REUSABLE
					LEVEL_UP_CREATURE(PLAYER_GOOD,DWARFA,LEAST_EXPERIENCED,1)
					NEXT_COMMAND_REUSABLE
					SET_TIMER(PLAYER_GOOD,TIMER0)
				ENDIF
				IF(PLAYER_GOOD,BOX255_ACTIVATED == 3)
					NEXT_COMMAND_REUSABLE
					ADD_CREATURE_TO_LEVEL(PLAYER_GOOD,DWARFA,-3,1,1,0)
					NEXT_COMMAND_REUSABLE
					LEVEL_UP_CREATURE(PLAYER_GOOD,DWARFA,LEAST_EXPERIENCED,1)
					NEXT_COMMAND_REUSABLE
					LEVEL_UP_CREATURE(PLAYER_GOOD,DWARFA,LEAST_EXPERIENCED,1)
					NEXT_COMMAND_REUSABLE
					SET_TIMER(PLAYER_GOOD,TIMER0)
				ENDIF
				IF(PLAYER_GOOD,BOX255_ACTIVATED == 4)
					NEXT_COMMAND_REUSABLE
					ADD_CREATURE_TO_LEVEL(PLAYER_GOOD,DWARFA,-4,1,1,0)
					NEXT_COMMAND_REUSABLE
					LEVEL_UP_CREATURE(PLAYER_GOOD,DWARFA,LEAST_EXPERIENCED,1)
					NEXT_COMMAND_REUSABLE
					LEVEL_UP_CREATURE(PLAYER_GOOD,DWARFA,LEAST_EXPERIENCED,1)
					NEXT_COMMAND_REUSABLE
					SET_TIMER(PLAYER_GOOD,TIMER0)
				ENDIF
				IF(PLAYER_GOOD,BOX255_ACTIVATED == 5)
					NEXT_COMMAND_REUSABLE
					ADD_CREATURE_TO_LEVEL(PLAYER_GOOD,DWARFA,-5,1,1,0)
					NEXT_COMMAND_REUSABLE
					LEVEL_UP_CREATURE(PLAYER_GOOD,DWARFA,LEAST_EXPERIENCED,1)
					NEXT_COMMAND_REUSABLE
					LEVEL_UP_CREATURE(PLAYER_GOOD,DWARFA,LEAST_EXPERIENCED,1)
					NEXT_COMMAND_REUSABLE
					SET_TIMER(PLAYER_GOOD,TIMER0)
				ENDIF
				IF(PLAYER_GOOD,BOX255_ACTIVATED == 6)
					NEXT_COMMAND_REUSABLE
					ADD_CREATURE_TO_LEVEL(PLAYER_GOOD,DWARFA,-6,1,1,0)
					NEXT_COMMAND_REUSABLE
					LEVEL_UP_CREATURE(PLAYER_GOOD,DWARFA,LEAST_EXPERIENCED,1)
					NEXT_COMMAND_REUSABLE
					LEVEL_UP_CREATURE(PLAYER_GOOD,DWARFA,LEAST_EXPERIENCED,1)
					NEXT_COMMAND_REUSABLE
					SET_TIMER(PLAYER_GOOD,TIMER0)
				ENDIF
				IF(PLAYER_GOOD,BOX255_ACTIVATED == 7)
					NEXT_COMMAND_REUSABLE
					ADD_CREATURE_TO_LEVEL(PLAYER_GOOD,DWARFA,-7,1,1,0)
					NEXT_COMMAND_REUSABLE
					LEVEL_UP_CREATURE(PLAYER_GOOD,DWARFA,LEAST_EXPERIENCED,1)
					NEXT_COMMAND_REUSABLE
					LEVEL_UP_CREATURE(PLAYER_GOOD,DWARFA,LEAST_EXPERIENCED,1)
					NEXT_COMMAND_REUSABLE
					SET_TIMER(PLAYER_GOOD,TIMER0)
				ENDIF
				IF(PLAYER_GOOD,BOX255_ACTIVATED == 8)
					NEXT_COMMAND_REUSABLE
					ADD_CREATURE_TO_LEVEL(PLAYER_GOOD,DWARFA,-8,1,1,0)
					NEXT_COMMAND_REUSABLE
					LEVEL_UP_CREATURE(PLAYER_GOOD,DWARFA,LEAST_EXPERIENCED,1)
					NEXT_COMMAND_REUSABLE
					LEVEL_UP_CREATURE(PLAYER_GOOD,DWARFA,LEAST_EXPERIENCED,1)
					NEXT_COMMAND_REUSABLE
					SET_TIMER(PLAYER_GOOD,TIMER0)
				ENDIF
			ENDIF
		ENDIF
	ENDIF
ENDIF

REM # Initial Objective.
QUICK_OBJECTIVE(0,"Behold, fools! The twisted realm shall be adorned with devilish presents aplenty, for dear old Santa Claus has inexplicably joined forces with you. But beware, hapless mortals! If the jolly old man meets his untimely demise, your pitiful game shall come to a wretched end. Struggle to survive until the final ticking of the timer, if you dare to dream of victory amidst this malevolent madness.",ALL_PLAYERS)

REM # Spawn higher level Imps for player GOOD.
IF(PLAYER_GOOD,TIMER7 >= 30000)
	ADD_CREATURE_TO_LEVEL(PLAYER_GOOD,DWARFA,-1,1,8,0)
	ADD_CREATURE_TO_LEVEL(PLAYER_GOOD,DWARFA,-2,1,8,0)
	ADD_CREATURE_TO_LEVEL(PLAYER_GOOD,DWARFA,-3,1,8,0)
	ADD_CREATURE_TO_LEVEL(PLAYER_GOOD,DWARFA,-4,1,8,0)
	ADD_CREATURE_TO_LEVEL(PLAYER_GOOD,DWARFA,-5,1,8,0)
	ADD_CREATURE_TO_LEVEL(PLAYER_GOOD,DWARFA,-6,1,8,0)
	ADD_CREATURE_TO_LEVEL(PLAYER_GOOD,DWARFA,-7,1,8,0)
	ADD_CREATURE_TO_LEVEL(PLAYER_GOOD,DWARFA,-8,1,8,0)
ENDIF

REM # Spawn higher level Imps for player GOOD.
IF(PLAYER_GOOD,TIMER7 >= 31200)
	ADD_CREATURE_TO_LEVEL(PLAYER_GOOD,DWARFA,-1,1,8,0)
	ADD_CREATURE_TO_LEVEL(PLAYER_GOOD,DWARFA,-2,1,8,0)
	ADD_CREATURE_TO_LEVEL(PLAYER_GOOD,DWARFA,-3,1,8,0)
	ADD_CREATURE_TO_LEVEL(PLAYER_GOOD,DWARFA,-4,1,8,0)
	ADD_CREATURE_TO_LEVEL(PLAYER_GOOD,DWARFA,-5,1,8,0)
	ADD_CREATURE_TO_LEVEL(PLAYER_GOOD,DWARFA,-6,1,8,0)
	ADD_CREATURE_TO_LEVEL(PLAYER_GOOD,DWARFA,-7,1,8,0)
	ADD_CREATURE_TO_LEVEL(PLAYER_GOOD,DWARFA,-8,1,8,0)
ENDIF

REM # Spawn higher level Imps for player GOOD.
IF(PLAYER_GOOD,TIMER7 >= 32400)
	ADD_CREATURE_TO_LEVEL(PLAYER_GOOD,DWARFA,-1,1,9,0)
	ADD_CREATURE_TO_LEVEL(PLAYER_GOOD,DWARFA,-2,1,9,0)
	ADD_CREATURE_TO_LEVEL(PLAYER_GOOD,DWARFA,-3,1,9,0)
	ADD_CREATURE_TO_LEVEL(PLAYER_GOOD,DWARFA,-4,1,9,0)
	ADD_CREATURE_TO_LEVEL(PLAYER_GOOD,DWARFA,-5,1,9,0)
	ADD_CREATURE_TO_LEVEL(PLAYER_GOOD,DWARFA,-6,1,9,0)
	ADD_CREATURE_TO_LEVEL(PLAYER_GOOD,DWARFA,-7,1,9,0)
	ADD_CREATURE_TO_LEVEL(PLAYER_GOOD,DWARFA,-8,1,9,0)
ENDIF

REM # Spawn higher level Imps for player GOOD.
IF(PLAYER_GOOD,TIMER7 >= 33600)
	ADD_CREATURE_TO_LEVEL(PLAYER_GOOD,DWARFA,-1,1,9,0)
	ADD_CREATURE_TO_LEVEL(PLAYER_GOOD,DWARFA,-2,1,9,0)
	ADD_CREATURE_TO_LEVEL(PLAYER_GOOD,DWARFA,-3,1,9,0)
	ADD_CREATURE_TO_LEVEL(PLAYER_GOOD,DWARFA,-4,1,9,0)
	ADD_CREATURE_TO_LEVEL(PLAYER_GOOD,DWARFA,-5,1,9,0)
	ADD_CREATURE_TO_LEVEL(PLAYER_GOOD,DWARFA,-6,1,9,0)
	ADD_CREATURE_TO_LEVEL(PLAYER_GOOD,DWARFA,-7,1,9,0)
	ADD_CREATURE_TO_LEVEL(PLAYER_GOOD,DWARFA,-8,1,9,0)
ENDIF

REM # Spawn highest level Imps for player GOOD.
IF(PLAYER_GOOD,TIMER7 >= 34800)
	ADD_CREATURE_TO_LEVEL(PLAYER_GOOD,DWARFA,-1,1,10,0)
	ADD_CREATURE_TO_LEVEL(PLAYER_GOOD,DWARFA,-2,1,10,0)
	ADD_CREATURE_TO_LEVEL(PLAYER_GOOD,DWARFA,-3,1,10,0)
	ADD_CREATURE_TO_LEVEL(PLAYER_GOOD,DWARFA,-4,1,10,0)
	ADD_CREATURE_TO_LEVEL(PLAYER_GOOD,DWARFA,-5,1,10,0)
	ADD_CREATURE_TO_LEVEL(PLAYER_GOOD,DWARFA,-6,1,10,0)
	ADD_CREATURE_TO_LEVEL(PLAYER_GOOD,DWARFA,-7,1,10,0)
	ADD_CREATURE_TO_LEVEL(PLAYER_GOOD,DWARFA,-8,1,10,0)
ENDIF

REM # Win Condition.
IF(PLAYER_GOOD,TIMER7 >= 36000)
	IF(PLAYER0,TIME_MAGE > 0)
		WIN_GAME
		QUICK_OBJECTIVE(1,"Congratulations on your 'survival.' The all-knowing Dark God, upon learning of your feeble existence, decided to wipe out every living being, including jolly old Santa Claus. As a delightful twist, the malevolent deity also triggered a volcano to erupt beneath your feet. But hey, look on the bright side - you emerged victorious, Keeper!",ALL_PLAYERS)
		NEXT_COMMAND_REUSABLE
		KILL_CREATURE(PLAYER0,IMP,ANYWHERE,255)
		NEXT_COMMAND_REUSABLE
		KILL_CREATURE(PLAYER_GOOD,DWARFA,ANYWHERE,255)
		NEXT_COMMAND_REUSABLE
		KILL_CREATURE(PLAYER0,TIME_MAGE,ANYWHERE,255)
		NEXT_COMMAND_REUSABLE
		KILL_CREATURE(PLAYER_GOOD,TIME_MAGE,ANYWHERE,255)
		SET_EFFECT_GENERATOR_CONFIGURATION(EFFECTGENERATOR_DRIPPING_WATER,EffectModel,EFFECTELEMENT_LAVA_FLAME_STATIONARY)
		SET_EFFECT_GENERATOR_CONFIGURATION(EFFECTGENERATOR_DRIPPING_WATER,GenerationDelayMin,10)
		SET_EFFECT_GENERATOR_CONFIGURATION(EFFECTGENERATOR_DRIPPING_WATER,GenerationDelayMax,20)
	ENDIF
ENDIF