REM ****************************************************************************
REM  Campaigns Consolidation Project for KeeperFX strategy game.
REM ****************************************************************************
REM  Script for Level Moonbrush Wood
REM  Campaign: DK Original
REM  Authors:  based on Bullfrog script
REM            KeeperFX CCP Team
REM  Date:     17 Dec 1996 - 07 Sep 2014
REM  Copying and copyrights:
REM    This program is free software; you can redistribute it and/or modify
REM    it under the terms of the GNU General Public License as published by
REM    the Free Software Foundation; either version 2 of the License, or
REM    (at your option) any later version.
REM ****************************************************************************
LEVEL_VERSION(1)
RUN_AFTER_VICTORY(1)

REM New rooms for the player:
REM   GRAVEYARD - researchable from start
REM New creatures for the player:
REM   HORNY - possible to summon with sacrifices
REM   VAMPIRE - from GRAVEYARD but also on level; message if summoned
REM New powers for the player:
REM   POWER_HOLD_AUDIENCE - researchable from start
REM   POWER_DISEASE - researchable from start

REM Flags used:
REM   PLAYER0,FLAG0 - Transferrred WIZARD_FIRE state; 0-not transferred to this level; 1-had transferred WIZARD_FIRE from level start. 
REM Timers used:
REM   PLAYER_GOOD,TIMER0 - Delay after Lord of Land arrival

REM ****************************************************************************
REM  _____ ___    ____   ___  
REM |_   _/ _ \  |  _ \ / _ \ 
REM   | || | | | | | | | | | |
REM   | || |_| | | |_| | |_| |
REM   |_| \___/  |____/ \___/ 
REM                           
REM ****************************************************************************						  

REM Need to rewrite all this above
REM probably need to sort torture limits - maybe even something like lower the prison rates AND if skels etc over limit, kill one

REM Make the final fight something to remember
REM Make bubble creature spell - slow, powerful shot, blast and knockback when it hits, speeds up as it goes (inertia)
REM If I haven't dont this yet: remove graveyard, add a white vampire you need to capture and convert, then sacrifice.

REM Final needs to be (heroes have none of the wizards left) and (all four flame areas are owned by red)

SET_GENERATE_SPEED(300)

START_MONEY(PLAYER0,4000)

MAX_CREATURES(PLAYER0,16)

ADD_CREATURE_TO_POOL(FLY,20)
ADD_CREATURE_TO_POOL(DEMONSPAWN,20)
ADD_CREATURE_TO_POOL(SPIDER,20)
ADD_CREATURE_TO_POOL(SORCEROR,30)
ADD_CREATURE_TO_POOL(BILE_DEMON,8)
ADD_CREATURE_TO_POOL(TROLL,20)
ADD_CREATURE_TO_POOL(ORC,20)
ADD_CREATURE_TO_POOL(DARK_MISTRESS,20)

REM	Creature availability
CREATURE_AVAILABLE(ALL_PLAYERS,FLY,1,0)
CREATURE_AVAILABLE(ALL_PLAYERS,DEMONSPAWN,1,0)
CREATURE_AVAILABLE(ALL_PLAYERS,SPIDER,1,0)
CREATURE_AVAILABLE(ALL_PLAYERS,SORCEROR,1,0)
CREATURE_AVAILABLE(ALL_PLAYERS,BILE_DEMON,1,0)
CREATURE_AVAILABLE(ALL_PLAYERS,TROLL,1,0)
CREATURE_AVAILABLE(ALL_PLAYERS,ORC,1,0)
CREATURE_AVAILABLE(ALL_PLAYERS,DARK_MISTRESS,1,0)

REM	Room availability
ROOM_AVAILABLE(ALL_PLAYERS,TREASURE,1,1)
ROOM_AVAILABLE(ALL_PLAYERS,LAIR,1,1)
ROOM_AVAILABLE(ALL_PLAYERS,GARDEN,1,1)
ROOM_AVAILABLE(ALL_PLAYERS,TRAINING,1,1)
ROOM_AVAILABLE(ALL_PLAYERS,RESEARCH,1,1)
ROOM_AVAILABLE(ALL_PLAYERS,WORKSHOP,1,0)
ROOM_AVAILABLE(ALL_PLAYERS,GUARD_POST,1,0)

ROOM_AVAILABLE(ALL_PLAYERS,BARRACKS,0,0)
ROOM_AVAILABLE(ALL_PLAYERS,PRISON,0,0)
ROOM_AVAILABLE(ALL_PLAYERS,TORTURE,0,0)
ROOM_AVAILABLE(ALL_PLAYERS,GRAVEYARD,0,0)

REM	Spells availability
MAGIC_AVAILABLE(ALL_PLAYERS,POWER_HAND,1,1)
MAGIC_AVAILABLE(ALL_PLAYERS,POWER_IMP,1,1)
MAGIC_AVAILABLE(ALL_PLAYERS,POWER_SLAP,1,1)
REM 	MAGIC_AVAILABLE(ALL_PLAYERS,POWER_SIGHT,1,0)
MAGIC_AVAILABLE(ALL_PLAYERS,POWER_CALL_TO_ARMS,1,0)
REM 	MAGIC_AVAILABLE(ALL_PLAYERS,POWER_HEAL_CREATURE,1,0)
REM 	MAGIC_AVAILABLE(ALL_PLAYERS,POWER_SPEED,1,0)
REM 	MAGIC_AVAILABLE(ALL_PLAYERS,POWER_LIGHTNING,1,0)
REM 	MAGIC_AVAILABLE(ALL_PLAYERS,POWER_PROTECT,1,0)
REM 	MAGIC_AVAILABLE(ALL_PLAYERS,POWER_CONCEAL,1,0)
MAGIC_AVAILABLE(ALL_PLAYERS,POWER_HOLD_AUDIENCE,1,0)
REM		MAGIC_AVAILABLE(ALL_PLAYERS,POWER_DISEASE,1,0)

REM	Doors and traps availability
DOOR_AVAILABLE(ALL_PLAYERS,WOOD,1,0)
DOOR_AVAILABLE(ALL_PLAYERS,BRACED,1,0)
TRAP_AVAILABLE(ALL_PLAYERS,POISON_GAS,1,0)
TRAP_AVAILABLE(ALL_PLAYERS,LIGHTNING,1,0)
DOOR_AVAILABLE(ALL_PLAYERS,STEEL,1,0)		

CREATE_PARTY(EARTH)
	ADD_TO_PARTY(EARTH,ARCHER,5,200,ATTACK_ENEMIES,0)
	ADD_TO_PARTY(EARTH,ARCHER,5,200,ATTACK_ENEMIES,0)
	ADD_TO_PARTY(EARTH,THIEF,5,200,STEAL_GOLD,0)
	ADD_TO_PARTY(EARTH,THIEF,5,200,STEAL_GOLD,0)

CREATE_PARTY(FIRE)
	ADD_TO_PARTY(FIRE,GIANT,5,200,ATTACK_DUNGEON_HEART,0)
	ADD_TO_PARTY(FIRE,GIANT,5,200,ATTACK_DUNGEON_HEART,0)
	ADD_TO_PARTY(FIRE,BARBARIAN,5,200,ATTACK_ROOMS,0)
	ADD_TO_PARTY(FIRE,BARBARIAN,5,200,ATTACK_ROOMS,0)

CREATE_PARTY(STORM)
	ADD_TO_PARTY(STORM,WITCH,5,200,ATTACK_DUNGEON_HEART,0)
	ADD_TO_PARTY(STORM,WITCH,5,200,ATTACK_DUNGEON_HEART,0)
	ADD_TO_PARTY(STORM,FAIRY,5,200,STEAL_SPELLS,0)
	ADD_TO_PARTY(STORM,FAIRY,5,200,STEAL_SPELLS,0)

CREATE_PARTY(ICE)
	ADD_TO_PARTY(ICE,SAMURAI,5,200,ATTACK_ENEMIES,0)
	ADD_TO_PARTY(ICE,SAMURAI,5,200,ATTACK_ENEMIES,0)
	ADD_TO_PARTY(ICE,MONK,5,200,STEAL_SPELLS,0)
	ADD_TO_PARTY(ICE,MONK,5,200,STEAL_SPELLS,0)

CREATE_PARTY(LANDLORD)
	ADD_TO_PARTY(LANDLORD,KNIGHT,7,5000,ATTACK_ENEMIES,0)
	ADD_TO_PARTY(LANDLORD,WIZARD,6,2000,ATTACK_ENEMIES,0)
	ADD_TO_PARTY(LANDLORD,WIZARD,6,2000,ATTACK_ENEMIES,0)
	ADD_TO_PARTY(LANDLORD,WIZARD,6,2000,ATTACK_ENEMIES,0)
	ADD_TO_PARTY(LANDLORD,SAMURAI,6,2000,ATTACK_ENEMIES,0)
	ADD_TO_PARTY(LANDLORD,SAMURAI,6,2000,ATTACK_ENEMIES,0)

SET_CREATURE_MAX_LEVEL(ALL_PLAYERS,IMP,6)
SET_CREATURE_MAX_LEVEL(ALL_PLAYERS,ANY_CREATURE,6)


REM * Initialisation ***********************************************************

REM SET_TEXTURE(PLAYER0,2)

CONCEAL_MAP_RECT(PLAYER0, 17, 84, 14, 14,1)
CONCEAL_MAP_RECT(PLAYER0, 12, 73, 6, 2,1)
CONCEAL_MAP_RECT(PLAYER0, 13, 94, 8, 2,1)

REM Swap Alarm for rock blaster.
SET_TRAP_CONFIGURATION(ALARM,Shots,3)
SET_TRAP_CONFIGURATION(ALARM,Model,TRAP_YELLOW)
SET_TRAP_CONFIGURATION(ALARM,TriggerType,1)
SET_TRAP_CONFIGURATION(ALARM,ActivationType,1)
SET_TRAP_CONFIGURATION(ALARM,EffectType,37)
SET_TRAP_CONFIGURATION(ALARM,Hidden,1)
SET_TRAP_CONFIGURATION(ALARM,TimeBetweenShots,200)
SET_TRAP_CONFIGURATION(ALARM,SymbolSprites,Rock32)

REM Make Landmines pack a bit more punch - i.e. use Eruption effect
SET_TRAP_CONFIGURATION(LANDMINE,EffectType,32)

SET_CREATURE_PROPERTY(DRUID,NO_IMPRISONMENT,1)
SET_CREATURE_PROPERTY(DRUID,NO_CORPSE_ROTTING,1)

REM Custom sacrifices:
SET_SACRIFICE_RECIPE(CUSTOMREWARD,FLAG0,SORCEROR,FLY,DEMONSPAWN,SPIDER)
REMOVE_SACRIFICE_RECIPE(FLY,FLY)

SET_SACRIFICE_RECIPE(CUSTOMREWARD,FLAG1,TROLL,DEMONSPAWN,SORCEROR)
REMOVE_SACRIFICE_RECIPE(DEMONSPAWN,FLY)

SET_SACRIFICE_RECIPE(CUSTOMREWARD,FLAG2,SKELETON,BILE_DEMON,SPIDER)
REMOVE_SACRIFICE_RECIPE(FLY,SPIDER)
REMOVE_SACRIFICE_RECIPE(SPIDER,SPIDER,SPIDER)
REMOVE_SACRIFICE_RECIPE(SKELETON,SKELETON)
REMOVE_SACRIFICE_RECIPE(BILE_DEMON,BILE_DEMON)

SET_SACRIFICE_RECIPE(CUSTOMREWARD,FLAG3,ORC,DARK_MISTRESS,TROLL)
REMOVE_SACRIFICE_RECIPE(TROLL,FLY)
REMOVE_SACRIFICE_RECIPE(ORC,SPIDER)
REMOVE_SACRIFICE_RECIPE(TROLL,SPIDER)

SET_SACRIFICE_RECIPE(CUSTOMREWARD,FLAG4,GHOST,VAMPIRE,DARK_MISTRESS)
REMOVE_SACRIFICE_RECIPE(VAMPIRE,SPIDER)
REMOVE_SACRIFICE_RECIPE(VAMPIRE,DEMONSPAWN)
REMOVE_SACRIFICE_RECIPE(TROLL,BILE_DEMON,DARK_MISTRESS)
REMOVE_SACRIFICE_RECIPE(HORNY)
REMOVE_SACRIFICE_RECIPE(GHOST)
REMOVE_SACRIFICE_RECIPE(VAMPIRE,VAMPIRE)

SET_SACRIFICE_RECIPE(CUSTOMREWARD,FLAG5,WIZARD_FIRE,WIZARD_ICE,WIZARD_STORM,WIZARD_EARTH)
REMOVE_SACRIFICE_RECIPE(BUG,SPIDER)
REMOVE_SACRIFICE_RECIPE(DARK_MISTRESS,BUG)
REMOVE_SACRIFICE_RECIPE(BILE_DEMON,BUG)
REMOVE_SACRIFICE_RECIPE(WIZARD_EARTH,FLY)
REMOVE_SACRIFICE_RECIPE(WIZARD_FIRE,FLY)
REMOVE_SACRIFICE_RECIPE(BUG,BUG)

IF(PLAYER0,SKELETON <= 8)
    NEXT_COMMAND_REUSABLE
    SET_GAME_RULE(PrisonSkeletonChance, 40)
	IF(PLAYER0,SKELETON <= 6)
    	NEXT_COMMAND_REUSABLE
    	SET_GAME_RULE(PrisonSkeletonChance, 60)
		IF(PLAYER0,SKELETON <= 4)
			NEXT_COMMAND_REUSABLE
    		SET_GAME_RULE(PrisonSkeletonChance, 80)
			IF(PLAYER0, SKELETON <= 2)
    			NEXT_COMMAND_REUSABLE
				SET_GAME_RULE(PrisonSkeletonChance, 100)
			ENDIF
		ENDIF
	ENDIF
ENDIF
IF(PLAYER0,SKELETON > 8)
    NEXT_COMMAND_REUSABLE
    SET_GAME_RULE(PrisonSkeletonChance, 20)
ENDIF

rem - prevent torture convert snow-balling
REM While you have the wizards captured, they should be excluded from the balancing changes (this isn't perfect and is exploitable, but I guess it's better than just turning it off)

IF(PLAYER0, CREATURES_CONVERTED > 4)
	ADD_TO_FLAG(PLAYER_GOOD,FLAG5,1)
ENDIF
IF(PLAYER0, CREATURES_CONVERTED > 6)
	ADD_TO_FLAG(PLAYER_GOOD,FLAG5,1)
ENDIF
IF(PLAYER0, CREATURES_CONVERTED > 8)
	ADD_TO_FLAG(PLAYER_GOOD,FLAG5,1)
ENDIF

IF_CONTROLS(PLAYER_GOOD, WIZARD_EARTH < PLAYER_GOOD, WIZARD_EARTH)
  	NEXT_COMMAND_REUSABLE
	SET_GAME_RULE(TortureDeathChance, 0)
ENDIF
IF_CONTROLS(PLAYER_GOOD, WIZARD_FIRE < PLAYER_GOOD, WIZARD_FIRE)
  	NEXT_COMMAND_REUSABLE
	SET_GAME_RULE(TortureDeathChance, 0)
ENDIF
IF_CONTROLS(PLAYER_GOOD, WIZARD_STORM < PLAYER_GOOD, WIZARD_STORM)
  	NEXT_COMMAND_REUSABLE
	SET_GAME_RULE(TortureDeathChance, 0)
ENDIF
IF_CONTROLS(PLAYER_GOOD, WIZARD_ICE < PLAYER_GOOD, WIZARD_ICE)
  	NEXT_COMMAND_REUSABLE
	SET_GAME_RULE(TortureDeathChance, 0)
ENDIF

IF_CONTROLS(PLAYER_GOOD, WIZARD_EARTH == PLAYER_GOOD, WIZARD_EARTH)
	IF_CONTROLS(PLAYER_GOOD, WIZARD_FIRE == PLAYER_GOOD, WIZARD_FIRE)
		IF_CONTROLS(PLAYER_GOOD, WIZARD_STORM == PLAYER_GOOD, WIZARD_STORM)
			IF_CONTROLS(PLAYER_GOOD, WIZARD_ICE == PLAYER_GOOD, WIZARD_ICE)
				IF(PLAYER_GOOD,FLAG5 == 1)
					NEXT_COMMAND_REUSABLE
					SET_GAME_RULE(TortureDeathChance, 20)
				ENDIF
				IF(PLAYER_GOOD,FLAG5 == 2)
					NEXT_COMMAND_REUSABLE
					SET_GAME_RULE(TortureDeathChance, 50)
				ENDIF
				IF(PLAYER_GOOD,FLAG5 == 3)
					NEXT_COMMAND_REUSABLE
					SET_GAME_RULE(TortureDeathChance, 80)
				ENDIF
			ENDIF
		ENDIF
	ENDIF
ENDIF

IF( PLAYER0,GHOST > 3 )
    SET_GAME_RULE( GhostConvertChance, 30 )
ENDIF

IF( PLAYER0,VAMPIRE > 2 )
    SET_GAME_RULE( BodiesForVampire, 15)
ENDIF
IF( PLAYER0,VAMPIRE > 4 )
    SET_GAME_RULE( BodiesForVampire, 20)
ENDIF

IF(PLAYER0,ARCHER > 0)
	TRAP_AVAILABLE(PLAYER0,ARROW,1,0)
ENDIF

REM *****************************************************************************
REM  _____ _        _    ____ ____       __   _____ ___ __  __ _____ ____  ____  
REM |  ___| |      / \  / ___/ ___|     / /  |_   _|_ _|  \/  | ____|  _ \/ ___|
REM | |_  | |     / _ \| |  _\___ \    / /     | |  | || |\/| |  _| | |_) \___ \
REM |  _| | |___ / ___ | |_| |___) |  / /      | |  | || |  | | |___|  _ < ___) |
REM |_|   |_____/_/   \_\____|____/  /_/       |_| |___|_|  |_|_____|_| \_|____/
REM                                                                                       
REM *****************************************************************************

REM PLAYER0 FLAG0 - First sacrifice triggered
REM PLAYER0 FLAG1 - Second sacrifice triggered
REM PLAYER0 FLAG2 - Third sacrifice triggered
REM PLAYER0 FLAG3 - Fourth sacrifice triggered
REM PLAYER0 FLAG4 - Fifth sacrifice triggered
REM PLAYER0 FLAG5 - Sixth sacrifice triggered
REM PLAYER0 FLAG6 - Number of hidden maze statues found
REM PLAYER0 FLAG7 - Hint Crate

REM PLAYER_GOOD FLAG0 - Wizard aware of you - creates spycircle and starts wizard harrass cycle
REM PLAYER_GOOD FLAG1 - Harrass cycle - attacks, buffs, parties (0 off, 1 earth, 2 fire, 3 storm, 4 ice)
REM PLAYER_GOOD FLAG2 - Random terrain destruction seed sower
REM	0 - off, 1 mod 4 - impenetrable rock, 2 mod 4 - lava, 3 mod 4 - bare earth, 0 mod 4 - water, 33 - end of cycle
REM PLAYER_GOOD FLAG3
REM PLAYER_GOOD FLAG5 - Convert chance

REM PLAYER1 FLAG0 - Map won? 0 - no, 1 - yes


REM PLAYER_GOOD TIMER0 - central beam effects
REM PLAYER_GOOD TIMER1 - cyclic timer countdown
REM PLAYER_GOOD TIMER2 - timer before earth bridge created
REM PLAYER_GOOD TIMER3 - Big cycle
REM PLAYER_GOOD TIMER4 - Last sacrifice
REM PLAYER_GOOD TIMER5 - Final hero timer

SET_TIMER(PLAYER_GOOD,TIMER0) REM Flashy effects towards centre
SET_TIMER(PLAYER_GOOD,TIMER1) REM Wizard will start annoying you with magic

REM *****************************************************************************
REM     _    ____  ____       __   _   _ _____ ____   ___     ____    _  _____ _____ ____  
REM    / \  |  _ \/ ___|     / /  | | | | ____|  _ \ / _ \   / ___|  / \|_   _| ____/ ___|
REM   / _ \ | |_) \___ \    / /   | |_| |  _| | |_) | | | | | |  _  / _ \ | | |  _| \___ \ 
REM  / ___ \|  __/ ___) |  / /    |  _  | |___|  _ <| |_| | | |_| |/ ___ \| | | |___ ___) |
REM /_/   \_|_|   |____/  /_/     |_| |_|_____|_| \_\\___/   \____/_/   \_|_| |_____|____/ 
REM                      
REM *****************************************************************************

REM Fuckin' loads m8.

REM *Things at Map Start*********************************************************************

SET_BOX_TOOLTIP(0, "Hint Crate")
ADD_OBJECT_TO_LEVEL(SPECBOX_CUSTOM, 18, 0)
SET_FLAG(PLAYER0,FLAG7,0)

IF(PLAYER0,BOX0_ACTIVATED > 0)
	IF(PLAYER0,FLAG7 == 0)
		NEXT_COMMAND_REUSABLE
		QUICK_INFORMATION(25,"Use the Temple you are given as instructed, so you can offer the wizards to the dark gods.",ALL_PLAYERS,897)
		NEXT_COMMAND_REUSABLE
		SET_TIMER(PLAYER0,TIMER7)
		NEXT_COMMAND_REUSABLE
		SET_FLAG(PLAYER0,BOX0_ACTIVATED,0)
		NEXT_COMMAND_REUSABLE
		SET_FLAG(PLAYER0,FLAG7,1)
	ENDIF
ENDIF

IF(PLAYER0,TIMER7 >= 100)
	IF(PLAYER0,FLAG7 == 1)
		NEXT_COMMAND_REUSABLE
		CREATE_EFFECT(54,18)
		NEXT_COMMAND_REUSABLE
		ADD_OBJECT_TO_LEVEL(SPECBOX_CUSTOM, 18, 0)
		NEXT_COMMAND_REUSABLE
		SET_FLAG(PLAYER0,FLAG7,0)
	ENDIF
ENDIF

REM Constant flashing of four corners
IF(PLAYER_GOOD,TIMER0>20)
	REM --GREEN
	IF_SLAB_OWNER(58,47,PLAYER_GOOD)
		NEXT_COMMAND_REUSABLE
		CREATE_EFFECTS_LINE(2,6,0, 12, 40, -87)
	ENDIF
	REM --RED
	IF_SLAB_OWNER(58,6,PLAYER_GOOD)
		NEXT_COMMAND_REUSABLE
		CREATE_EFFECTS_LINE(3,7,0, 12, 40, -43)
	ENDIF
	REM --YELLOW
	IF_SLAB_OWNER(21,6,PLAYER_GOOD)
		NEXT_COMMAND_REUSABLE
		CREATE_EFFECTS_LINE(4,8,0, 12, 40, -88)
	ENDIF
	REM --BLUE
	IF_SLAB_OWNER(21,47,PLAYER_GOOD)
		NEXT_COMMAND_REUSABLE
		CREATE_EFFECTS_LINE(1,5,0, 12, 40, -102)
	ENDIF
	REM --LHW special
	IF_SLAB_OWNER(29,3,PLAYER_GOOD)
		NEXT_COMMAND_REUSABLE
		CREATE_EFFECT_AT_POS(47,88,10)
	ENDIF
	NEXT_COMMAND_REUSABLE
	SET_TIMER(PLAYER_GOOD,TIMER0)
ENDIF

REM --------------------------------------------------

REM If Wizard flames claimed, turn off flame
IF_SLAB_OWNER(58,47,PLAYER0) REM --GREEN
	CHANGE_SLAB_OWNER(42,28,PLAYER_NEUTRAL)
	CHANGE_SLAB_OWNER(42,28,PLAYER_GOOD)
	USE_POWER_AT_POS(PLAYER_GOOD,175,124,POWER_DESTROY_WALLS,2,1)
	PLAY_MESSAGE(PLAYER0,SOUND,DRAWFROM(72~74))
	ADD_TO_FLAG(PLAYER_GOOD,FLAG3,1)
ENDIF
IF_SLAB_OWNER(58,6,PLAYER0)  REM --RED
	CHANGE_SLAB_OWNER(42,23,PLAYER_NEUTRAL)
	CHANGE_SLAB_OWNER(42,23,PLAYER_GOOD)
	USE_POWER_AT_POS(PLAYER_GOOD,166,31,POWER_DESTROY_WALLS,2,1)
	PLAY_MESSAGE(PLAYER0,SOUND,DRAWFROM(72~74))
	ADD_TO_FLAG(PLAYER_GOOD,FLAG3,1)
ENDIF
IF_SLAB_OWNER(21,6,PLAYER0)  REM --YELLOW
	CHANGE_SLAB_OWNER(37,23,PLAYER_NEUTRAL)
	CHANGE_SLAB_OWNER(37,23,PLAYER_GOOD)
	USE_POWER_AT_POS(PLAYER_GOOD,64,37,POWER_DESTROY_WALLS,2,1)
	PLAY_MESSAGE(PLAYER0,SOUND,DRAWFROM(72~74))
	ADD_TO_FLAG(PLAYER_GOOD,FLAG3,1)
ENDIF
IF_SLAB_OWNER(21,47,PLAYER0) REM --BLUE
	CHANGE_SLAB_OWNER(37,28,PLAYER_NEUTRAL)
	CHANGE_SLAB_OWNER(37,28,PLAYER_GOOD)
	USE_POWER_AT_POS(PLAYER_GOOD,73,130,POWER_DESTROY_WALLS,2,1)
	PLAY_MESSAGE(PLAYER0,SOUND,DRAWFROM(72~74))
	ADD_TO_FLAG(PLAYER_GOOD,FLAG3,1)
ENDIF

REM ------------------------------------------------Sacrifice Effects

IF(PLAYER0,FLAG0 >= 1)
	REMOVE_SACRIFICE_RECIPE(SORCEROR,FLY,DEMONSPAWN,SPIDER)
	SET_SACRIFICE_RECIPE(PosUniqFunc,COMPLETE_RESEARCH,FLY,FLY)
	MAX_CREATURES(PLAYER0,18)
	USE_POWER_AT_POS(PLAYER_GOOD,184,133,POWER_DESTROY_WALLS,2,1)
	CHANGE_SLAB_TYPE(61,44,LAVA)	
	CHANGE_SLAB_TYPE(36,58,PATH)
	CHANGE_SLAB_TYPE(38,54,PATH)
	CHANGE_SLAB_TYPE(42,54,PATH)
	CHANGE_SLAB_TYPE(44,58,PATH)
	ROOM_AVAILABLE(ALL_PLAYERS,PRISON,1,0)
	PLAY_MESSAGE(PLAYER0,SOUND,160)
	TUTORIAL_FLASH_BUTTON(11,-1)
	CREATE_EFFECT_AT_POS(47,121,178)
ENDIF
IF(PLAYER0,FLAG1 >= 1)
	REMOVE_SACRIFICE_RECIPE(TROLL,DEMONSPAWN,SORCEROR)
	SET_SACRIFICE_RECIPE(PosSpellAll,SPELL_FLIGHT,DEMONSPAWN,FLY)
	MAX_CREATURES(PLAYER0,20)
	USE_POWER_AT_POS(PLAYER_GOOD,184,28,POWER_DESTROY_WALLS,2,1)
	CHANGE_SLAB_TYPE(61,44,PATH)
	CHANGE_SLAB_TYPE(61,9,LAVA)	
	ROOM_AVAILABLE(ALL_PLAYERS,TORTURE,1,0)
	PLAY_MESSAGE(PLAYER0,SOUND,160)
	TUTORIAL_FLASH_BUTTON(17,-1)
	CREATE_EFFECT_AT_POS(47,121,178)
ENDIF
IF(PLAYER0,FLAG2 >= 1)
	REMOVE_SACRIFICE_RECIPE(SKELETON,BILE_DEMON,SPIDER)
	SET_SACRIFICE_RECIPE(MkCreature,SORCEROR,FLY,SPIDER)
	SET_SACRIFICE_RECIPE(MkCreature,BILE_DEMON,SPIDER,SPIDER,SPIDER)
	SET_SACRIFICE_RECIPE(MkGoodHero,SKELETON,SKELETON,SKELETON)
	SET_SACRIFICE_RECIPE(NegSpellAll,SPELL_CHICKEN,BILE_DEMON,BILE_DEMON)
	MAX_CREATURES(PLAYER0,22)
	USE_POWER_AT_POS(PLAYER_GOOD,55,28,POWER_DESTROY_WALLS,2,1)
	CHANGE_SLAB_TYPE(61,9,PATH)	
	CHANGE_SLAB_TYPE(18,9,LAVA)
	ROOM_AVAILABLE(ALL_PLAYERS,BARRACKS,1,0)
	PLAY_MESSAGE(PLAYER0,SOUND,160)
	TUTORIAL_FLASH_BUTTON(16,-1)
	CREATE_EFFECT_AT_POS(47,121,178)	
ENDIF
IF(PLAYER0,FLAG3 >= 1)
	REMOVE_SACRIFICE_RECIPE(ORC,DARK_MISTRESS,TROLL)
	SET_SACRIFICE_RECIPE(PosSpellAll,SPELL_INVISIBILITY,TROLL,FLY)
	SET_SACRIFICE_RECIPE(PosSpellAll,SPELL_HEAL,ORC,SPIDER)
	MAX_CREATURES(PLAYER0,24)
	USE_POWER_AT_POS(PLAYER_GOOD,55,133,POWER_DESTROY_WALLS,2,1)
	CHANGE_SLAB_TYPE(18,9,PATH)
	CHANGE_SLAB_TYPE(18,44,LAVA)
	REM ROOM_AVAILABLE(ALL_PLAYERS,GRAVEYARD,1,0)
	PLAY_MESSAGE(PLAYER0,SOUND,160)
	REM TUTORIAL_FLASH_BUTTON(15,-1)
	CREATE_EFFECT_AT_POS(47,121,178)
ENDIF
IF(PLAYER0,FLAG4 >= 1)
	REMOVE_SACRIFICE_RECIPE(GHOST,VAMPIRE,DARK_MISTRESS)
	SET_SACRIFICE_RECIPE(NegSpellAll,SPELL_FREEZE,VAMPIRE,SPIDER)
	SET_SACRIFICE_RECIPE(NegSpellAll,SPELL_SLOW,VAMPIRE,DEMONSPAWN)
	SET_SACRIFICE_RECIPE(MkCreature,HORNY,TROLL,BILE_DEMON,DARK_MISTRESS)
	SET_SACRIFICE_RECIPE(NegUniqFunc,ALL_CREATRS_ANGRY,HORNY)
	SET_SACRIFICE_RECIPE(NegUniqFunc,KILL_ALL_CHICKENS,GHOST)
	SET_SACRIFICE_RECIPE(NegSpellAll,SPELL_DISEASE,VAMPIRE,VAMPIRE)
	QUICK_INFORMATION(13,"Here lies the final test and the final sacrifice. I hope you managed to keep all of those wizards alive.",40)
	PLAY_MESSAGE(PLAYER0,SOUND,160)
	CREATE_EFFECT_AT_POS(47,121,178)	
	CHANGE_SLAB_TYPE(18,44,PATH)
	SET_TIMER(PLAYER_GOOD,TIMER4)
	CHANGE_SLAB_TYPE(40,59,PATH)
	CHANGE_SLAB_OWNER(40,59,PLAYER_GOOD)
	CHANGE_SLAB_TYPE(40,59,TEMPLE_POOL)	
	CHANGE_SLAB_OWNER(40,59,PLAYER0)
	CHANGE_SLAB_TYPE(66,23,TWINS_WALL)
	CHANGE_SLAB_TYPE(66,24,TWINS_WALL)	
	CHANGE_SLAB_TYPE(66,25,TWINS_WALL)
	CHANGE_SLAB_TYPE(66,26,TWINS_WALL)
	CHANGE_SLAB_TYPE(66,27,TWINS_WALL)
	CHANGE_SLAB_TYPE(66,28,TWINS_WALL)
	CHANGE_SLAB_TYPE(67,28,TWINS_WALL)	
	CHANGE_SLAB_TYPE(68,28,TWINS_WALL)
	CHANGE_SLAB_TYPE(68,29,TWINS_WALL)	
	CHANGE_SLAB_TYPE(69,29,TWINS_WALL)	
	CHANGE_SLAB_TYPE(69,30,TWINS_WALL)
	CHANGE_SLAB_TYPE(69,31,TWINS_WALL)
	CHANGE_SLAB_TYPE(70,31,TWINS_WALL)
	CHANGE_SLAB_TYPE(71,31,TWINS_WALL)
	CHANGE_SLAB_TYPE(72,31,TWINS_WALL)
	CHANGE_SLAB_TYPE(73,31,TWINS_WALL)
	CHANGE_SLAB_TYPE(74,31,TWINS_WALL)
	CHANGE_SLAB_TYPE(74,30,TWINS_WALL)
	CHANGE_SLAB_TYPE(74,29,TWINS_WALL)
	CHANGE_SLAB_TYPE(75,29,TWINS_WALL)
	CHANGE_SLAB_TYPE(75,28,TWINS_WALL)
	CHANGE_SLAB_TYPE(76,28,TWINS_WALL)
	CHANGE_SLAB_TYPE(77,28,TWINS_WALL)
	CHANGE_SLAB_TYPE(77,27,TWINS_WALL)
	CHANGE_SLAB_TYPE(77,26,TWINS_WALL)
	CHANGE_SLAB_TYPE(77,25,TWINS_WALL)
	CHANGE_SLAB_TYPE(77,24,TWINS_WALL)
	CHANGE_SLAB_TYPE(77,23,TWINS_WALL)
	CHANGE_SLAB_TYPE(77,23,TWINS_WALL)
	CHANGE_SLAB_TYPE(76,23,TWINS_WALL)
	CHANGE_SLAB_TYPE(75,23,TWINS_WALL)
	CHANGE_SLAB_TYPE(75,22,TWINS_WALL)	
	CHANGE_SLAB_TYPE(74,22,TWINS_WALL)
	CHANGE_SLAB_TYPE(74,21,TWINS_WALL)
	CHANGE_SLAB_TYPE(74,20,TWINS_WALL)
	CHANGE_SLAB_TYPE(73,20,TWINS_WALL)	
	CHANGE_SLAB_TYPE(72,20,TWINS_WALL)
	CHANGE_SLAB_TYPE(71,20,TWINS_WALL)
	CHANGE_SLAB_TYPE(70,20,TWINS_WALL)
	CHANGE_SLAB_TYPE(69,20,TWINS_WALL)
	CHANGE_SLAB_TYPE(69,21,TWINS_WALL)
	CHANGE_SLAB_TYPE(69,22,TWINS_WALL)
	CHANGE_SLAB_TYPE(68,22,TWINS_WALL)
	CHANGE_SLAB_TYPE(68,23,TWINS_WALL)	
	CHANGE_SLAB_TYPE(67,23,TWINS_WALL)	
	CHANGE_SLAB_TYPE(67,24,SCAVENGE_AREA)
	CHANGE_SLAB_TYPE(68,24,SCAVENGE_AREA)
	CHANGE_SLAB_TYPE(67,25,SCAVENGE_AREA)
	CHANGE_SLAB_TYPE(68,25,SCAVENGE_AREA)
	CHANGE_SLAB_TYPE(67,26,SCAVENGE_AREA)
	CHANGE_SLAB_TYPE(68,26,SCAVENGE_AREA)
	CHANGE_SLAB_TYPE(67,27,SCAVENGE_AREA)
	CHANGE_SLAB_TYPE(68,27,SCAVENGE_AREA)
	CHANGE_SLAB_TYPE(69,23,SCAVENGE_AREA)	
	CHANGE_SLAB_TYPE(69,24,SCAVENGE_AREA)
	CHANGE_SLAB_TYPE(69,25,SCAVENGE_AREA)
	CHANGE_SLAB_TYPE(69,26,SCAVENGE_AREA)
	CHANGE_SLAB_TYPE(69,27,SCAVENGE_AREA)
	CHANGE_SLAB_TYPE(69,28,SCAVENGE_AREA)
	CHANGE_SLAB_TYPE(70,21,SCAVENGE_AREA)
	CHANGE_SLAB_TYPE(71,21,SCAVENGE_AREA)
	CHANGE_SLAB_TYPE(72,21,SCAVENGE_AREA)
	CHANGE_SLAB_TYPE(73,21,SCAVENGE_AREA)
	CHANGE_SLAB_TYPE(70,22,SCAVENGE_AREA)
	CHANGE_SLAB_TYPE(71,22,SCAVENGE_AREA)
	CHANGE_SLAB_TYPE(72,22,SCAVENGE_AREA)
	CHANGE_SLAB_TYPE(73,22,SCAVENGE_AREA)	
	CHANGE_SLAB_TYPE(70,23,SCAVENGE_AREA)
	CHANGE_SLAB_TYPE(71,23,SCAVENGE_AREA)
	CHANGE_SLAB_TYPE(72,23,SCAVENGE_AREA)
	CHANGE_SLAB_TYPE(73,23,SCAVENGE_AREA)
	CHANGE_SLAB_TYPE(74,23,SCAVENGE_AREA)
	CHANGE_SLAB_TYPE(70,28,SCAVENGE_AREA)
	CHANGE_SLAB_TYPE(71,28,SCAVENGE_AREA)
	CHANGE_SLAB_TYPE(72,28,SCAVENGE_AREA)	
	CHANGE_SLAB_TYPE(73,28,SCAVENGE_AREA)	
	CHANGE_SLAB_TYPE(74,28,SCAVENGE_AREA)	
	CHANGE_SLAB_TYPE(70,29,SCAVENGE_AREA)
	CHANGE_SLAB_TYPE(71,29,SCAVENGE_AREA)
	CHANGE_SLAB_TYPE(72,29,SCAVENGE_AREA)	
	CHANGE_SLAB_TYPE(73,29,SCAVENGE_AREA)	
	CHANGE_SLAB_TYPE(70,30,SCAVENGE_AREA)
	CHANGE_SLAB_TYPE(71,30,SCAVENGE_AREA)
	CHANGE_SLAB_TYPE(72,30,SCAVENGE_AREA)	
	CHANGE_SLAB_TYPE(73,30,SCAVENGE_AREA)		
	CHANGE_SLAB_TYPE(74,24,SCAVENGE_AREA)		
	CHANGE_SLAB_TYPE(75,24,SCAVENGE_AREA)	
	CHANGE_SLAB_TYPE(76,24,SCAVENGE_AREA)	
	CHANGE_SLAB_TYPE(74,25,SCAVENGE_AREA)		
	CHANGE_SLAB_TYPE(75,25,SCAVENGE_AREA)	
	CHANGE_SLAB_TYPE(76,25,SCAVENGE_AREA)
	CHANGE_SLAB_TYPE(74,26,SCAVENGE_AREA)		
	CHANGE_SLAB_TYPE(75,26,SCAVENGE_AREA)	
	CHANGE_SLAB_TYPE(76,26,SCAVENGE_AREA)	
	CHANGE_SLAB_TYPE(74,27,SCAVENGE_AREA)		
	CHANGE_SLAB_TYPE(75,27,SCAVENGE_AREA)	
	CHANGE_SLAB_TYPE(76,27,SCAVENGE_AREA)		
	CHANGE_SLAB_TYPE(70,24,TEMPLE_POOL)
	CHANGE_SLAB_TYPE(71,24,TEMPLE_POOL)
	CHANGE_SLAB_TYPE(72,24,TEMPLE_POOL)
	CHANGE_SLAB_TYPE(73,24,TEMPLE_POOL)
	CHANGE_SLAB_TYPE(73,25,TEMPLE_POOL)
	CHANGE_SLAB_TYPE(73,26,TEMPLE_POOL)
	CHANGE_SLAB_TYPE(73,27,TEMPLE_POOL)
	CHANGE_SLAB_TYPE(72,27,TEMPLE_POOL)
	CHANGE_SLAB_TYPE(71,27,TEMPLE_POOL)
	CHANGE_SLAB_TYPE(70,27,TEMPLE_POOL)
	CHANGE_SLAB_TYPE(70,26,TEMPLE_POOL)
	CHANGE_SLAB_TYPE(70,25,TEMPLE_POOL)
	CHANGE_SLAB_TYPE(71,25,TEMPLE_POOL)
	CHANGE_SLAB_TYPE(72,25,TEMPLE_POOL)
	CHANGE_SLAB_TYPE(72,26,TEMPLE_POOL)
	CHANGE_SLAB_TYPE(71,26,TEMPLE_POOL)
	CHANGE_SLAB_OWNER(71,23,PLAYER0)
	CHANGE_SLAB_OWNER(71,25,PLAYER0)
	IF(PLAYER_GOOD,TIMER4>50)
		ADD_OBJECT_TO_LEVEL(LAIR_TENTC,29,0)
		ADD_OBJECT_TO_LEVEL(LAIR_DWRFA,30,0)
		ADD_OBJECT_TO_LEVEL(LAIR_DRAGN,31,0)
		ADD_OBJECT_TO_LEVEL(LAIR_HLHND,32,0)
	ENDIF
ENDIF

IF(PLAYER0,FLAG5 >= 1)
	REMOVE_SACRIFICE_RECIPE(WIZARD_FIRE,WIZARD_ICE,WIZARD_STORM,WIZARD_EARTH)
	ADD_OBJECT_TO_LEVEL(SPECBOX_TRANSFR,40,0)
	IF(PLAYER2,CAMPAIGN_FLAG2 == 0)
		SET_FLAG(PLAYER2,CAMPAIGN_FLAG2,4)
	ENDIF
	IF(PLAYER2,CAMPAIGN_FLAG2 == 1)
		SET_FLAG(PLAYER2,CAMPAIGN_FLAG2,5)
	ENDIF
	IF(PLAYER2,CAMPAIGN_FLAG2 == 2)
		SET_FLAG(PLAYER2,CAMPAIGN_FLAG2,6)
	ENDIF
	IF(PLAYER2,CAMPAIGN_FLAG2 == 3)
		SET_FLAG(PLAYER2,CAMPAIGN_FLAG2,7)
	ENDIF
	QUICK_INFORMATION(11,"The dark gods are smiling upon you today, Keeper. Very well done.")
ENDIF

REM --------------- ACTUAL GAME START FINALLY -----------------

QUICK_OBJECTIVE(1,"The four wizards who rule over this realm have been enhanced with strong elemental magic. They will be a nuisance so should be dealt with quickly. However, if you could harness their power it would be a valuable asset indeed...",ALL_PLAYERS)

IF(PLAYER_GOOD,TIMER0>20)
	USE_POWER_AT_POS(PLAYER_GOOD,121,214,POWER_DESTROY_WALLS,1,1)
ENDIF

IF_ACTION_POINT(9,PLAYER0)
	SET_TIMER(PLAYER_GOOD,TIMER2) REM wait before bridging attack
	SET_FLAG(PLAYER_GOOD,FLAG0,1) REM If not already noticed, they definitely have now.
ENDIF

IF(PLAYER_GOOD,TIMER2>500)
	QUICK_MESSAGE(3, "Petram Deus!", WIZARD_EARTH)
	USE_POWER_AT_POS(PLAYER_GOOD,121,130,POWER_CAVE_IN,9,1)
	CHANGE_SLAB_TYPE(40,43,PATH)
	USE_POWER_AT_POS(PLAYER_GOOD,121,133,POWER_CAVE_IN,9,1)
	CHANGE_SLAB_TYPE(40,44,PATH)
	USE_POWER_AT_POS(PLAYER_GOOD,121,136,POWER_CAVE_IN,9,1)
	CHANGE_SLAB_TYPE(40,45,PATH)
	PLAY_MESSAGE(PLAYER0,SOUND,DRAWFROM(72~74))
ENDIF

REM subtimers, different effects from each wizard:

IF(PLAYER_GOOD,TIMER1>3000)
	SET_FLAG(PLAYER_GOOD,FLAG0,1)
ENDIF

IF(PLAYER_GOOD,FLAG0==1)
	QUICK_INFORMATION(2,"I have a feeling the Wizards have noticed you. Get ready for trouble.",PLAYER0)
	USE_POWER_AT_POS(PLAYER0,118,220,POWER_SIGHT,5,1)
	USE_POWER_AT_POS(PLAYER4,124,220,POWER_SIGHT,5,1)
	USE_POWER_AT_POS(PLAYER2,118,226,POWER_SIGHT,5,1)
	USE_POWER_AT_POS(PLAYER3,124,226,POWER_SIGHT,5,1)
	SET_TIMER(PLAYER_GOOD,TIMER3) REM Begin cycle
	SET_FLAG(PLAYER_GOOD,FLAG1,1)
ENDIF

REM big cycle for 
IF(PLAYER1,FLAG0==0)
	IF(PLAYER_GOOD,TIMER3>1000)
		IF(PLAYER_GOOD,FLAG1==1)
			IF_ACTION_POINT(11,PLAYER0)
				NEXT_COMMAND_REUSABLE
				ADD_PARTY_TO_LEVEL(PLAYER_GOOD,EARTH,-2,1)
			ENDIF
			IF_CONTROLS(PLAYER_GOOD,WIZARD_EARTH == 1)
				NEXT_COMMAND_REUSABLE
				USE_POWER_ON_CREATURE(PLAYER0,ANY_CREATURE,ANYWHERE,PLAYER_GOOD,POWER_CAVE_IN,3,1)
				NEXT_COMMAND_REUSABLE
				USE_POWER_ON_CREATURE(PLAYER0,ANY_CREATURE,ANYWHERE,PLAYER_GOOD,POWER_CAVE_IN,3,1)
				NEXT_COMMAND_REUSABLE
				USE_POWER_ON_CREATURE(PLAYER0,ANY_CREATURE,ANYWHERE,PLAYER_GOOD,POWER_CAVE_IN,3,1)
				NEXT_COMMAND_REUSABLE
				USE_POWER_ON_CREATURE(PLAYER0,ANY_CREATURE,ANYWHERE,PLAYER_GOOD,POWER_CAVE_IN,3,1)
				NEXT_COMMAND_REUSABLE
				USE_POWER_ON_CREATURE(PLAYER0,ANY_CREATURE,ANYWHERE,PLAYER_GOOD,POWER_CAVE_IN,3,1)
				NEXT_COMMAND_REUSABLE
				QUICK_MESSAGE(4, "Petram Deus!", WIZARD_EARTH)
				NEXT_COMMAND_REUSABLE
				PLAY_MESSAGE(PLAYER0,SOUND,DRAWFROM(72~74))
				NEXT_COMMAND_REUSABLE
				USE_SPELL_ON_PLAYERS_CREATURES(PLAYER_GOOD,ANY_CREATURE,SPELL_ARMOUR,7)
				NEXT_COMMAND_REUSABLE
				ADD_TO_FLAG(PLAYER_GOOD,FLAG2,1)
			ENDIF
			NEXT_COMMAND_REUSABLE
			SET_FLAG(PLAYER_GOOD,FLAG1,2)
		ENDIF
	ENDIF
	IF(PLAYER_GOOD,TIMER3>2000)
		IF(PLAYER_GOOD,FLAG1==2)
			IF_ACTION_POINT(13,PLAYER0)
				NEXT_COMMAND_REUSABLE
				ADD_PARTY_TO_LEVEL(PLAYER_GOOD,FIRE,-3,1)
			ENDIF
			IF_CONTROLS(PLAYER_GOOD,WIZARD_FIRE == 1)
				NEXT_COMMAND_REUSABLE
				CREATE_EFFECT_AT_POS(45,DRAWFROM(94~148),DRAWFROM(199~232))
				NEXT_COMMAND_REUSABLE
				CREATE_EFFECT_AT_POS(45,DRAWFROM(94~148),DRAWFROM(199~232))
				NEXT_COMMAND_REUSABLE
				CREATE_EFFECT_AT_POS(45,DRAWFROM(94~148),DRAWFROM(199~232))
				NEXT_COMMAND_REUSABLE
				CREATE_EFFECT_AT_POS(45,DRAWFROM(94~148),DRAWFROM(199~232))
				NEXT_COMMAND_REUSABLE
				CREATE_EFFECT_AT_POS(45,DRAWFROM(94~148),DRAWFROM(199~232))
				NEXT_COMMAND_REUSABLE
				CREATE_EFFECT_AT_POS(45,DRAWFROM(94~148),DRAWFROM(199~232))
				NEXT_COMMAND_REUSABLE
				CREATE_EFFECT_AT_POS(45,DRAWFROM(94~148),DRAWFROM(199~232))
				NEXT_COMMAND_REUSABLE
				CREATE_EFFECT_AT_POS(45,DRAWFROM(94~148),DRAWFROM(199~232))
				NEXT_COMMAND_REUSABLE
				QUICK_MESSAGE(5, "Ignis Deus!", WIZARD_FIRE)
				NEXT_COMMAND_REUSABLE
				REM Currently broken, revert when fixed.
				REM PLAY_MESSAGE(PLAYER0,SOUND,DRAWFROM(43,46))
				PLAY_MESSAGE(PLAYER0,SOUND,43)
				NEXT_COMMAND_REUSABLE
				USE_SPELL_ON_PLAYERS_CREATURES(PLAYER_GOOD,ANY_CREATURE,SPELL_SPEED,7)
				NEXT_COMMAND_REUSABLE
				ADD_TO_FLAG(PLAYER_GOOD,FLAG2,1)
			ENDIF
			NEXT_COMMAND_REUSABLE
			SET_FLAG(PLAYER_GOOD,FLAG1,3)
		ENDIF
	ENDIF
	IF(PLAYER_GOOD,TIMER3>3000)
		IF(PLAYER_GOOD,FLAG1==3)
			IF_ACTION_POINT(14,PLAYER0)
				NEXT_COMMAND_REUSABLE
				ADD_PARTY_TO_LEVEL(PLAYER_GOOD,STORM,-4,1)
			ENDIF
			IF_CONTROLS(PLAYER_GOOD,WIZARD_STORM == 1)
				NEXT_COMMAND_REUSABLE
				USE_POWER_ON_CREATURE(PLAYER0,ANY_CREATURE,ANYWHERE,PLAYER3,POWER_LIGHTNING,5,1)
				NEXT_COMMAND_REUSABLE
				USE_POWER_ON_CREATURE(PLAYER0,ANY_CREATURE,ANYWHERE,PLAYER3,POWER_LIGHTNING,5,1)
				NEXT_COMMAND_REUSABLE
				USE_POWER_ON_CREATURE(PLAYER0,ANY_CREATURE,ANYWHERE,PLAYER3,POWER_LIGHTNING,5,1)
				NEXT_COMMAND_REUSABLE
				USE_POWER_ON_CREATURE(PLAYER0,ANY_CREATURE,ANYWHERE,PLAYER3,POWER_LIGHTNING,5,1)
				NEXT_COMMAND_REUSABLE
				USE_POWER_ON_CREATURE(PLAYER0,ANY_CREATURE,ANYWHERE,PLAYER3,POWER_LIGHTNING,5,1)
				NEXT_COMMAND_REUSABLE
				QUICK_MESSAGE(6, "Electro Deus!", WIZARD_STORM)
				NEXT_COMMAND_REUSABLE
				PLAY_MESSAGE(PLAYER0,SOUND,55)
				NEXT_COMMAND_REUSABLE
				USE_SPELL_ON_PLAYERS_CREATURES(PLAYER_GOOD,ANY_CREATURE,SPELL_FLIGHT,7)
				NEXT_COMMAND_REUSABLE
				ADD_TO_FLAG(PLAYER_GOOD,FLAG2,1)
			ENDIF
			NEXT_COMMAND_REUSABLE
			SET_FLAG(PLAYER_GOOD,FLAG1,4)
		ENDIF
	ENDIF
	IF(PLAYER_GOOD,TIMER3>4000)
		IF(PLAYER_GOOD,FLAG1==4)
			IF_ACTION_POINT(15,PLAYER0)
				NEXT_COMMAND_REUSABLE
				ADD_PARTY_TO_LEVEL(PLAYER_GOOD,ICE,-5,1)
			ENDIF	
			IF_CONTROLS(PLAYER_GOOD,WIZARD_ICE == 1)
				NEXT_COMMAND_REUSABLE
				USE_SPELL_ON_CREATURE(PLAYER0,ANY_CREATURE,ANYWHERE,SPELL_FREEZE,7)
				NEXT_COMMAND_REUSABLE
				USE_SPELL_ON_CREATURE(PLAYER0,ANY_CREATURE,ANYWHERE,SPELL_FREEZE,7)
				NEXT_COMMAND_REUSABLE
				USE_SPELL_ON_CREATURE(PLAYER0,ANY_CREATURE,ANYWHERE,SPELL_FREEZE,7)
				NEXT_COMMAND_REUSABLE
				USE_SPELL_ON_CREATURE(PLAYER0,ANY_CREATURE,ANYWHERE,SPELL_FREEZE,7)
				NEXT_COMMAND_REUSABLE
				USE_SPELL_ON_CREATURE(PLAYER0,ANY_CREATURE,ANYWHERE,SPELL_FREEZE,7)
				NEXT_COMMAND_REUSABLE
				QUICK_MESSAGE(7, "Glacies Deus!", WIZARD_ICE)
				NEXT_COMMAND_REUSABLE
				PLAY_MESSAGE(PLAYER0,SOUND,50)
				NEXT_COMMAND_REUSABLE
				USE_SPELL_ON_PLAYERS_CREATURES(PLAYER_GOOD,ANY_CREATURE,SPELL_REBOUND,7)
				NEXT_COMMAND_REUSABLE		
				ADD_TO_FLAG(PLAYER_GOOD,FLAG2,1)
			ENDIF
			NEXT_COMMAND_REUSABLE
			SET_TIMER(PLAYER_GOOD,TIMER3)
			NEXT_COMMAND_REUSABLE
			SET_FLAG(PLAYER_GOOD,FLAG1,1)
		ENDIF
	ENDIF
			
	REM Terrain ruining cycle (currently this way to "get around" DRAWFROM picking seeds at game start)
			IF(PLAYER_GOOD,FLAG2==1)
				CHANGE_SLAB_TYPE(DRAWFROM(12~38),DRAWFROM(54~80),HARD)
				CHANGE_SLAB_TYPE(DRAWFROM(12~38),DRAWFROM(54~80),HARD)
				CHANGE_SLAB_TYPE(DRAWFROM(42~68),DRAWFROM(54~80),HARD)
				CHANGE_SLAB_TYPE(DRAWFROM(42~68),DRAWFROM(54~80),HARD)
			ENDIF
			IF(PLAYER_GOOD,FLAG2==5)
				CHANGE_SLAB_TYPE(DRAWFROM(12~38),DRAWFROM(54~80),HARD)
				CHANGE_SLAB_TYPE(DRAWFROM(12~38),DRAWFROM(54~80),HARD)
				CHANGE_SLAB_TYPE(DRAWFROM(42~68),DRAWFROM(54~80),HARD)
				CHANGE_SLAB_TYPE(DRAWFROM(42~68),DRAWFROM(54~80),HARD)
			ENDIF
			IF(PLAYER_GOOD,FLAG2==9)
				CHANGE_SLAB_TYPE(DRAWFROM(12~38),DRAWFROM(54~80),HARD)
				CHANGE_SLAB_TYPE(DRAWFROM(12~38),DRAWFROM(54~80),HARD)
				CHANGE_SLAB_TYPE(DRAWFROM(42~68),DRAWFROM(54~80),HARD)
				CHANGE_SLAB_TYPE(DRAWFROM(42~68),DRAWFROM(54~80),HARD)
			ENDIF
			IF(PLAYER_GOOD,FLAG2==13)
				CHANGE_SLAB_TYPE(DRAWFROM(12~38),DRAWFROM(54~80),HARD)
				CHANGE_SLAB_TYPE(DRAWFROM(12~38),DRAWFROM(54~80),HARD)
				CHANGE_SLAB_TYPE(DRAWFROM(42~68),DRAWFROM(54~80),HARD)
				CHANGE_SLAB_TYPE(DRAWFROM(42~68),DRAWFROM(54~80),HARD)
			ENDIF
			IF(PLAYER_GOOD,FLAG2==17)
				CHANGE_SLAB_TYPE(DRAWFROM(12~38),DRAWFROM(54~80),HARD)
				CHANGE_SLAB_TYPE(DRAWFROM(12~38),DRAWFROM(54~80),HARD)
				CHANGE_SLAB_TYPE(DRAWFROM(42~68),DRAWFROM(54~80),HARD)
				CHANGE_SLAB_TYPE(DRAWFROM(42~68),DRAWFROM(54~80),HARD)
			ENDIF
			IF(PLAYER_GOOD,FLAG2==21)
				CHANGE_SLAB_TYPE(DRAWFROM(12~38),DRAWFROM(54~80),HARD)
				CHANGE_SLAB_TYPE(DRAWFROM(12~38),DRAWFROM(54~80),HARD)
				CHANGE_SLAB_TYPE(DRAWFROM(42~68),DRAWFROM(54~80),HARD)
				CHANGE_SLAB_TYPE(DRAWFROM(42~68),DRAWFROM(54~80),HARD)
			ENDIF
			IF(PLAYER_GOOD,FLAG2==25)
				CHANGE_SLAB_TYPE(DRAWFROM(12~38),DRAWFROM(54~80),HARD)
				CHANGE_SLAB_TYPE(DRAWFROM(12~38),DRAWFROM(54~80),HARD)
				CHANGE_SLAB_TYPE(DRAWFROM(42~68),DRAWFROM(54~80),HARD)
				CHANGE_SLAB_TYPE(DRAWFROM(42~68),DRAWFROM(54~80),HARD)
			ENDIF
			IF(PLAYER_GOOD,FLAG2==29)
				CHANGE_SLAB_TYPE(DRAWFROM(12~38),DRAWFROM(54~80),HARD)
				CHANGE_SLAB_TYPE(DRAWFROM(12~38),DRAWFROM(54~80),HARD)
				CHANGE_SLAB_TYPE(DRAWFROM(42~68),DRAWFROM(54~80),HARD)
				CHANGE_SLAB_TYPE(DRAWFROM(42~68),DRAWFROM(54~80),HARD)
			ENDIF

			IF(PLAYER_GOOD,FLAG2==2)
				CHANGE_SLAB_TYPE(DRAWFROM(12~38),DRAWFROM(54~80),LAVA)
				CHANGE_SLAB_TYPE(DRAWFROM(12~38),DRAWFROM(54~80),LAVA)
				CHANGE_SLAB_TYPE(DRAWFROM(42~68),DRAWFROM(54~80),LAVA)
				CHANGE_SLAB_TYPE(DRAWFROM(42~68),DRAWFROM(54~80),LAVA)
				CREATE_EFFECT_AT_POS(45,DRAWFROM(94~148),DRAWFROM(163~232))
				CREATE_EFFECT_AT_POS(45,DRAWFROM(94~148),DRAWFROM(163~232))
				CREATE_EFFECT_AT_POS(45,DRAWFROM(94~148),DRAWFROM(163~232))
				CREATE_EFFECT_AT_POS(45,DRAWFROM(94~148),DRAWFROM(163~232))
				CREATE_EFFECT_AT_POS(45,DRAWFROM(94~148),DRAWFROM(163~232))
				CREATE_EFFECT_AT_POS(45,DRAWFROM(94~148),DRAWFROM(163~232))
				CREATE_EFFECT_AT_POS(45,DRAWFROM(94~148),DRAWFROM(163~232))
				CREATE_EFFECT_AT_POS(45,DRAWFROM(94~148),DRAWFROM(163~232))
			ENDIF
			IF(PLAYER_GOOD,FLAG2==6)
				CHANGE_SLAB_TYPE(DRAWFROM(12~38),DRAWFROM(54~80),LAVA)
				CHANGE_SLAB_TYPE(DRAWFROM(12~38),DRAWFROM(54~80),LAVA)
				CHANGE_SLAB_TYPE(DRAWFROM(42~68),DRAWFROM(54~80),LAVA)
				CHANGE_SLAB_TYPE(DRAWFROM(42~68),DRAWFROM(54~80),LAVA)
				CREATE_EFFECT_AT_POS(45,DRAWFROM(94~148),DRAWFROM(163~232))
				CREATE_EFFECT_AT_POS(45,DRAWFROM(94~148),DRAWFROM(163~232))
				CREATE_EFFECT_AT_POS(45,DRAWFROM(94~148),DRAWFROM(163~232))
				CREATE_EFFECT_AT_POS(45,DRAWFROM(94~148),DRAWFROM(163~232))
				CREATE_EFFECT_AT_POS(45,DRAWFROM(94~148),DRAWFROM(163~232))
				CREATE_EFFECT_AT_POS(45,DRAWFROM(94~148),DRAWFROM(163~232))
				CREATE_EFFECT_AT_POS(45,DRAWFROM(94~148),DRAWFROM(163~232))
				CREATE_EFFECT_AT_POS(45,DRAWFROM(94~148),DRAWFROM(163~232))
			ENDIF
			IF(PLAYER_GOOD,FLAG2==10)
				CHANGE_SLAB_TYPE(DRAWFROM(12~38),DRAWFROM(54~80),LAVA)
				CHANGE_SLAB_TYPE(DRAWFROM(12~38),DRAWFROM(54~80),LAVA)
				CHANGE_SLAB_TYPE(DRAWFROM(42~68),DRAWFROM(54~80),LAVA)
				CHANGE_SLAB_TYPE(DRAWFROM(42~68),DRAWFROM(54~80),LAVA)
				CREATE_EFFECT_AT_POS(45,DRAWFROM(94~148),DRAWFROM(163~232))
				CREATE_EFFECT_AT_POS(45,DRAWFROM(94~148),DRAWFROM(163~232))
				CREATE_EFFECT_AT_POS(45,DRAWFROM(94~148),DRAWFROM(163~232))
				CREATE_EFFECT_AT_POS(45,DRAWFROM(94~148),DRAWFROM(163~232))
				CREATE_EFFECT_AT_POS(45,DRAWFROM(94~148),DRAWFROM(163~232))
				CREATE_EFFECT_AT_POS(45,DRAWFROM(94~148),DRAWFROM(163~232))
				CREATE_EFFECT_AT_POS(45,DRAWFROM(94~148),DRAWFROM(163~232))
				CREATE_EFFECT_AT_POS(45,DRAWFROM(94~148),DRAWFROM(163~232))
			ENDIF
			IF(PLAYER_GOOD,FLAG2==14)
				CHANGE_SLAB_TYPE(DRAWFROM(12~38),DRAWFROM(54~80),LAVA)
				CHANGE_SLAB_TYPE(DRAWFROM(12~38),DRAWFROM(54~80),LAVA)
				CHANGE_SLAB_TYPE(DRAWFROM(42~68),DRAWFROM(54~80),LAVA)
				CHANGE_SLAB_TYPE(DRAWFROM(42~68),DRAWFROM(54~80),LAVA)
				CREATE_EFFECT_AT_POS(45,DRAWFROM(94~148),DRAWFROM(163~232))
				CREATE_EFFECT_AT_POS(45,DRAWFROM(94~148),DRAWFROM(163~232))
				CREATE_EFFECT_AT_POS(45,DRAWFROM(94~148),DRAWFROM(163~232))
				CREATE_EFFECT_AT_POS(45,DRAWFROM(94~148),DRAWFROM(163~232))
				CREATE_EFFECT_AT_POS(45,DRAWFROM(94~148),DRAWFROM(163~232))
				CREATE_EFFECT_AT_POS(45,DRAWFROM(94~148),DRAWFROM(163~232))
				CREATE_EFFECT_AT_POS(45,DRAWFROM(94~148),DRAWFROM(163~232))
				CREATE_EFFECT_AT_POS(45,DRAWFROM(94~148),DRAWFROM(163~232))
			ENDIF
			IF(PLAYER_GOOD,FLAG2==18)
				CHANGE_SLAB_TYPE(DRAWFROM(12~38),DRAWFROM(54~80),LAVA)
				CHANGE_SLAB_TYPE(DRAWFROM(12~38),DRAWFROM(54~80),LAVA)
				CHANGE_SLAB_TYPE(DRAWFROM(42~68),DRAWFROM(54~80),LAVA)
				CHANGE_SLAB_TYPE(DRAWFROM(42~68),DRAWFROM(54~80),LAVA)
				CREATE_EFFECT_AT_POS(45,DRAWFROM(94~148),DRAWFROM(163~232))
				CREATE_EFFECT_AT_POS(45,DRAWFROM(94~148),DRAWFROM(163~232))
				CREATE_EFFECT_AT_POS(45,DRAWFROM(94~148),DRAWFROM(163~232))
				CREATE_EFFECT_AT_POS(45,DRAWFROM(94~148),DRAWFROM(163~232))
				CREATE_EFFECT_AT_POS(45,DRAWFROM(94~148),DRAWFROM(163~232))
				CREATE_EFFECT_AT_POS(45,DRAWFROM(94~148),DRAWFROM(163~232))
				CREATE_EFFECT_AT_POS(45,DRAWFROM(94~148),DRAWFROM(163~232))
				CREATE_EFFECT_AT_POS(45,DRAWFROM(94~148),DRAWFROM(163~232))
			ENDIF
			IF(PLAYER_GOOD,FLAG2==22)
				CHANGE_SLAB_TYPE(DRAWFROM(12~38),DRAWFROM(54~80),LAVA)
				CHANGE_SLAB_TYPE(DRAWFROM(12~38),DRAWFROM(54~80),LAVA)
				CHANGE_SLAB_TYPE(DRAWFROM(42~68),DRAWFROM(54~80),LAVA)
				CHANGE_SLAB_TYPE(DRAWFROM(42~68),DRAWFROM(54~80),LAVA)
				CREATE_EFFECT_AT_POS(45,DRAWFROM(94~148),DRAWFROM(163~232))
				CREATE_EFFECT_AT_POS(45,DRAWFROM(94~148),DRAWFROM(163~232))
				CREATE_EFFECT_AT_POS(45,DRAWFROM(94~148),DRAWFROM(163~232))
				CREATE_EFFECT_AT_POS(45,DRAWFROM(94~148),DRAWFROM(163~232))
				CREATE_EFFECT_AT_POS(45,DRAWFROM(94~148),DRAWFROM(163~232))
				CREATE_EFFECT_AT_POS(45,DRAWFROM(94~148),DRAWFROM(163~232))
				CREATE_EFFECT_AT_POS(45,DRAWFROM(94~148),DRAWFROM(163~232))
				CREATE_EFFECT_AT_POS(45,DRAWFROM(94~148),DRAWFROM(163~232))
			ENDIF
			IF(PLAYER_GOOD,FLAG2==26)
				CHANGE_SLAB_TYPE(DRAWFROM(12~38),DRAWFROM(54~80),LAVA)
				CHANGE_SLAB_TYPE(DRAWFROM(12~38),DRAWFROM(54~80),LAVA)
				CHANGE_SLAB_TYPE(DRAWFROM(42~68),DRAWFROM(54~80),LAVA)
				CHANGE_SLAB_TYPE(DRAWFROM(42~68),DRAWFROM(54~80),LAVA)
				CREATE_EFFECT_AT_POS(45,DRAWFROM(94~148),DRAWFROM(163~232))
				CREATE_EFFECT_AT_POS(45,DRAWFROM(94~148),DRAWFROM(163~232))
				CREATE_EFFECT_AT_POS(45,DRAWFROM(94~148),DRAWFROM(163~232))
				CREATE_EFFECT_AT_POS(45,DRAWFROM(94~148),DRAWFROM(163~232))
				CREATE_EFFECT_AT_POS(45,DRAWFROM(94~148),DRAWFROM(163~232))
				CREATE_EFFECT_AT_POS(45,DRAWFROM(94~148),DRAWFROM(163~232))
				CREATE_EFFECT_AT_POS(45,DRAWFROM(94~148),DRAWFROM(163~232))
				CREATE_EFFECT_AT_POS(45,DRAWFROM(94~148),DRAWFROM(163~232))
			ENDIF
			IF(PLAYER_GOOD,FLAG2==30)
				CHANGE_SLAB_TYPE(DRAWFROM(12~38),DRAWFROM(54~80),LAVA)
				CHANGE_SLAB_TYPE(DRAWFROM(12~38),DRAWFROM(54~80),LAVA)
				CHANGE_SLAB_TYPE(DRAWFROM(42~68),DRAWFROM(54~80),LAVA)
				CHANGE_SLAB_TYPE(DRAWFROM(42~68),DRAWFROM(54~80),LAVA)
				CREATE_EFFECT_AT_POS(45,DRAWFROM(94~148),DRAWFROM(163~232))
				CREATE_EFFECT_AT_POS(45,DRAWFROM(94~148),DRAWFROM(163~232))
				CREATE_EFFECT_AT_POS(45,DRAWFROM(94~148),DRAWFROM(163~232))
				CREATE_EFFECT_AT_POS(45,DRAWFROM(94~148),DRAWFROM(163~232))
				CREATE_EFFECT_AT_POS(45,DRAWFROM(94~148),DRAWFROM(163~232))
				CREATE_EFFECT_AT_POS(45,DRAWFROM(94~148),DRAWFROM(163~232))
				CREATE_EFFECT_AT_POS(45,DRAWFROM(94~148),DRAWFROM(163~232))
				CREATE_EFFECT_AT_POS(45,DRAWFROM(94~148),DRAWFROM(163~232))
			ENDIF

			IF(PLAYER_GOOD,FLAG2==3)
				CHANGE_SLAB_TYPE(DRAWFROM(12~38),DRAWFROM(54~80),PATH)
				CHANGE_SLAB_TYPE(DRAWFROM(12~38),DRAWFROM(54~80),PATH)
				CHANGE_SLAB_TYPE(DRAWFROM(42~68),DRAWFROM(54~80),PATH)
				CHANGE_SLAB_TYPE(DRAWFROM(42~68),DRAWFROM(54~80),PATH)
			ENDIF
			IF(PLAYER_GOOD,FLAG2==7)
				CHANGE_SLAB_TYPE(DRAWFROM(12~38),DRAWFROM(54~80),PATH)
				CHANGE_SLAB_TYPE(DRAWFROM(12~38),DRAWFROM(54~80),PATH)
				CHANGE_SLAB_TYPE(DRAWFROM(42~68),DRAWFROM(54~80),PATH)
				CHANGE_SLAB_TYPE(DRAWFROM(42~68),DRAWFROM(54~80),PATH)	
			ENDIF
			IF(PLAYER_GOOD,FLAG2==11)
				CHANGE_SLAB_TYPE(DRAWFROM(12~38),DRAWFROM(54~80),PATH)
				CHANGE_SLAB_TYPE(DRAWFROM(12~38),DRAWFROM(54~80),PATH)
				CHANGE_SLAB_TYPE(DRAWFROM(42~68),DRAWFROM(54~80),PATH)
				CHANGE_SLAB_TYPE(DRAWFROM(42~68),DRAWFROM(54~80),PATH)	
			ENDIF
			IF(PLAYER_GOOD,FLAG2==15)
				CHANGE_SLAB_TYPE(DRAWFROM(12~38),DRAWFROM(54~80),PATH)
				CHANGE_SLAB_TYPE(DRAWFROM(12~38),DRAWFROM(54~80),PATH)
				CHANGE_SLAB_TYPE(DRAWFROM(42~68),DRAWFROM(54~80),PATH)
				CHANGE_SLAB_TYPE(DRAWFROM(42~68),DRAWFROM(54~80),PATH)
			ENDIF
			IF(PLAYER_GOOD,FLAG2==19)
				CHANGE_SLAB_TYPE(DRAWFROM(12~38),DRAWFROM(54~80),PATH)
				CHANGE_SLAB_TYPE(DRAWFROM(12~38),DRAWFROM(54~80),PATH)
				CHANGE_SLAB_TYPE(DRAWFROM(42~68),DRAWFROM(54~80),PATH)
				CHANGE_SLAB_TYPE(DRAWFROM(42~68),DRAWFROM(54~80),PATH)
			ENDIF
			IF(PLAYER_GOOD,FLAG2==23)
				CHANGE_SLAB_TYPE(DRAWFROM(12~38),DRAWFROM(54~80),PATH)
				CHANGE_SLAB_TYPE(DRAWFROM(12~38),DRAWFROM(54~80),PATH)
				CHANGE_SLAB_TYPE(DRAWFROM(42~68),DRAWFROM(54~80),PATH)
				CHANGE_SLAB_TYPE(DRAWFROM(42~68),DRAWFROM(54~80),PATH)
			ENDIF
			IF(PLAYER_GOOD,FLAG2==27)
				CHANGE_SLAB_TYPE(DRAWFROM(12~38),DRAWFROM(54~80),PATH)
				CHANGE_SLAB_TYPE(DRAWFROM(12~38),DRAWFROM(54~80),PATH)
				CHANGE_SLAB_TYPE(DRAWFROM(42~68),DRAWFROM(54~80),PATH)
				CHANGE_SLAB_TYPE(DRAWFROM(42~68),DRAWFROM(54~80),PATH)
			ENDIF
			IF(PLAYER_GOOD,FLAG2==31)
				CHANGE_SLAB_TYPE(DRAWFROM(12~38),DRAWFROM(54~80),PATH)
				CHANGE_SLAB_TYPE(DRAWFROM(12~38),DRAWFROM(54~80),PATH)
				CHANGE_SLAB_TYPE(DRAWFROM(42~68),DRAWFROM(54~80),PATH)
				CHANGE_SLAB_TYPE(DRAWFROM(42~68),DRAWFROM(54~80),PATH)
			ENDIF

			IF(PLAYER_GOOD,FLAG2==4)
				CHANGE_SLAB_TYPE(DRAWFROM(12~38),DRAWFROM(54~80),WATER)
				CHANGE_SLAB_TYPE(DRAWFROM(12~38),DRAWFROM(54~80),WATER)
				CHANGE_SLAB_TYPE(DRAWFROM(42~68),DRAWFROM(54~80),WATER)
				CHANGE_SLAB_TYPE(DRAWFROM(42~68),DRAWFROM(54~80),WATER)
			ENDIF
			IF(PLAYER_GOOD,FLAG2==8)
				CHANGE_SLAB_TYPE(DRAWFROM(12~38),DRAWFROM(54~80),WATER)
				CHANGE_SLAB_TYPE(DRAWFROM(12~38),DRAWFROM(54~80),WATER)
				CHANGE_SLAB_TYPE(DRAWFROM(42~68),DRAWFROM(54~80),WATER)
				CHANGE_SLAB_TYPE(DRAWFROM(42~68),DRAWFROM(54~80),WATER)	
			ENDIF
			IF(PLAYER_GOOD,FLAG2==12)
				CHANGE_SLAB_TYPE(DRAWFROM(12~38),DRAWFROM(54~80),WATER)
				CHANGE_SLAB_TYPE(DRAWFROM(12~38),DRAWFROM(54~80),WATER)
				CHANGE_SLAB_TYPE(DRAWFROM(42~68),DRAWFROM(54~80),WATER)
				CHANGE_SLAB_TYPE(DRAWFROM(42~68),DRAWFROM(54~80),WATER)	
			ENDIF
			IF(PLAYER_GOOD,FLAG2==16)
				CHANGE_SLAB_TYPE(DRAWFROM(12~38),DRAWFROM(54~80),WATER)
				CHANGE_SLAB_TYPE(DRAWFROM(12~38),DRAWFROM(54~80),WATER)
				CHANGE_SLAB_TYPE(DRAWFROM(42~68),DRAWFROM(54~80),WATER)
				CHANGE_SLAB_TYPE(DRAWFROM(42~68),DRAWFROM(54~80),WATER)
			ENDIF
			IF(PLAYER_GOOD,FLAG2==20)
				CHANGE_SLAB_TYPE(DRAWFROM(12~38),DRAWFROM(54~80),WATER)
				CHANGE_SLAB_TYPE(DRAWFROM(12~38),DRAWFROM(54~80),WATER)
				CHANGE_SLAB_TYPE(DRAWFROM(42~68),DRAWFROM(54~80),WATER)
				CHANGE_SLAB_TYPE(DRAWFROM(42~68),DRAWFROM(54~80),WATER)
			ENDIF
			IF(PLAYER_GOOD,FLAG2==24)
				CHANGE_SLAB_TYPE(DRAWFROM(12~38),DRAWFROM(54~80),WATER)
				CHANGE_SLAB_TYPE(DRAWFROM(12~38),DRAWFROM(54~80),WATER)
				CHANGE_SLAB_TYPE(DRAWFROM(42~68),DRAWFROM(54~80),WATER)
				CHANGE_SLAB_TYPE(DRAWFROM(42~68),DRAWFROM(54~80),WATER)
			ENDIF
			IF(PLAYER_GOOD,FLAG2==28)
				CHANGE_SLAB_TYPE(DRAWFROM(12~38),DRAWFROM(54~80),WATER)
				CHANGE_SLAB_TYPE(DRAWFROM(12~38),DRAWFROM(54~80),WATER)
				CHANGE_SLAB_TYPE(DRAWFROM(42~68),DRAWFROM(54~80),WATER)
				CHANGE_SLAB_TYPE(DRAWFROM(42~68),DRAWFROM(54~80),WATER)
			ENDIF
			IF(PLAYER_GOOD,FLAG2==32)
				CHANGE_SLAB_TYPE(DRAWFROM(12~38),DRAWFROM(54~80),WATER)
				CHANGE_SLAB_TYPE(DRAWFROM(12~38),DRAWFROM(54~80),WATER)
				CHANGE_SLAB_TYPE(DRAWFROM(42~68),DRAWFROM(54~80),WATER)
				CHANGE_SLAB_TYPE(DRAWFROM(42~68),DRAWFROM(54~80),WATER)
			ENDIF

	REM I'm stupid and don't know how best to stop this, so for now just make it keep going to 33 over and over.
	IF(PLAYER_GOOD,FLAG2>33)
		SET_FLAG(PLAYER_GOOD,FLAG2,33)
	ENDIF
ENDIF

IF(PLAYER0,TEMPLE >= 1)
	QUICK_INFORMATION(8,"The dark gods have devised a test for you. Pay attention and offer them what they desire, and they will reward your sacrifices both now and in the future.")
ENDIF

REM --ACTION POINTS ACTIVATION--

REM --Hidden statue activation--
IF_ACTION_POINT(33,PLAYER0)
	ADD_TO_FLAG(PLAYER0,FLAG6,1)
	CREATE_EFFECT(28,33)
	PLAY_MESSAGE(PLAYER0,SOUND,76)
	CHANGE_SLAB_TYPE(8,54,PRETTY_PATH)
	CHANGE_SLAB_OWNER(8,54,PLAYER0)	
ENDIF
IF_ACTION_POINT(34,PLAYER0)
	ADD_TO_FLAG(PLAYER0,FLAG6,1)
	CREATE_EFFECT(28,34)
	PLAY_MESSAGE(PLAYER0,SOUND,76)
	CHANGE_SLAB_TYPE(3,44,PRETTY_PATH)
	CHANGE_SLAB_OWNER(3,44,PLAYER0)	
ENDIF
IF_ACTION_POINT(35,PLAYER0)
	ADD_TO_FLAG(PLAYER0,FLAG6,1)
	CREATE_EFFECT(28,35)
	PLAY_MESSAGE(PLAYER0,SOUND,76)
	CHANGE_SLAB_TYPE(17,51,PRETTY_PATH)
	CHANGE_SLAB_OWNER(17,51,PLAYER0)
ENDIF
IF_ACTION_POINT(36,PLAYER0)
	ADD_TO_FLAG(PLAYER0,FLAG6,1)
	CREATE_EFFECT(28,36)
	PLAY_MESSAGE(PLAYER0,SOUND,76)
	CHANGE_SLAB_TYPE(12,36,PRETTY_PATH)
	CHANGE_SLAB_OWNER(12,36,PLAYER0)
	CHANGE_SLAB_TYPE(13,36,PRETTY_PATH)
	CHANGE_SLAB_OWNER(13,36,PLAYER0)
	CHANGE_SLAB_TYPE(14,36,PRETTY_PATH)
	CHANGE_SLAB_OWNER(14,36,PLAYER0)
	CHANGE_SLAB_TYPE(15,36,PRETTY_PATH)
	CHANGE_SLAB_OWNER(15,36,PLAYER0)
	CHANGE_SLAB_TYPE(16,36,PRETTY_PATH)
	CHANGE_SLAB_OWNER(16,36,PLAYER0)
	CHANGE_SLAB_TYPE(12,37,PRETTY_PATH)
	CHANGE_SLAB_OWNER(12,37,PLAYER0)
	CHANGE_SLAB_TYPE(13,37,PRETTY_PATH)
	CHANGE_SLAB_OWNER(13,37,PLAYER0)
	CHANGE_SLAB_TYPE(14,37,PRETTY_PATH)
	CHANGE_SLAB_OWNER(14,37,PLAYER0)
	CHANGE_SLAB_TYPE(15,37,PRETTY_PATH)
	CHANGE_SLAB_OWNER(15,37,PLAYER0)
	CHANGE_SLAB_TYPE(16,37,PRETTY_PATH)
	CHANGE_SLAB_OWNER(16,37,PLAYER0)
	CHANGE_SLAB_TYPE(14,38,PRETTY_PATH)
	CHANGE_SLAB_OWNER(14,38,PLAYER0)
ENDIF
IF_ACTION_POINT(37,PLAYER0)
	ADD_TO_FLAG(PLAYER0,FLAG6,1)
	CREATE_EFFECT(28,37)
	PLAY_MESSAGE(PLAYER0,SOUND,76)
	CHANGE_SLAB_TYPE(12,30,PRETTY_PATH)
	CHANGE_SLAB_OWNER(12,30,PLAYER0)
ENDIF
IF_ACTION_POINT(38,PLAYER0)
	ADD_TO_FLAG(PLAYER0,FLAG6,1)
	CREATE_EFFECT(28,38)
	PLAY_MESSAGE(PLAYER0,SOUND,76)
	CHANGE_SLAB_TYPE(3,6,PRETTY_PATH)
	CHANGE_SLAB_OWNER(3,6,PLAYER0)	
ENDIF
IF_ACTION_POINT(10,PLAYER0)
	CHANGE_SLAB_TYPE(8,49,PRETTY_PATH)
	CHANGE_SLAB_OWNER(8,49,PLAYER0)
	CHANGE_SLAB_TYPE(8,50,PRETTY_PATH)
	CHANGE_SLAB_OWNER(8,50,PLAYER0)
	CHANGE_SLAB_TYPE(8,51,PRETTY_PATH)
	CHANGE_SLAB_OWNER(8,51,PLAYER0)
	CHANGE_SLAB_TYPE(9,49,PRETTY_PATH)
	CHANGE_SLAB_OWNER(9,49,PLAYER0)
	CHANGE_SLAB_TYPE(9,50,PRETTY_PATH)
	CHANGE_SLAB_OWNER(9,50,PLAYER0)
	CHANGE_SLAB_TYPE(9,51,PRETTY_PATH)
	CHANGE_SLAB_OWNER(9,51,PLAYER0)
	CHANGE_SLAB_TYPE(10,49,PRETTY_PATH)
	CHANGE_SLAB_OWNER(10,49,PLAYER0)
	CHANGE_SLAB_TYPE(10,50,PRETTY_PATH)
	CHANGE_SLAB_OWNER(10,50,PLAYER0)
	CHANGE_SLAB_TYPE(10,51,PRETTY_PATH)
	CHANGE_SLAB_OWNER(10,51,PLAYER0)
	CREATE_EFFECT_AT_POS(28,28,151)
	PLAY_MESSAGE(PLAYER0,SOUND,76)
	ADD_TO_FLAG(PLAYER0,FLAG6,1)
ENDIF
IF_ACTION_POINT(16,PLAYER0)
	CHANGE_SLAB_TYPE(12,13,PRETTY_PATH)
	CHANGE_SLAB_OWNER(12,13,PLAYER0)
	CHANGE_SLAB_TYPE(13,13,PRETTY_PATH)
	CHANGE_SLAB_OWNER(13,13,PLAYER0)
	CHANGE_SLAB_TYPE(14,13,PRETTY_PATH)
	CHANGE_SLAB_OWNER(14,13,PLAYER0)
	CHANGE_SLAB_TYPE(12,14,PRETTY_PATH)
	CHANGE_SLAB_OWNER(12,14,PLAYER0)
	CHANGE_SLAB_TYPE(13,14,PRETTY_PATH)
	CHANGE_SLAB_OWNER(13,14,PLAYER0)
	CHANGE_SLAB_TYPE(14,14,PRETTY_PATH)
	CHANGE_SLAB_OWNER(14,14,PLAYER0)
	CREATE_EFFECT_AT_POS(14,43,42)
	PLAY_MESSAGE(PLAYER0,SOUND,76)
	ADD_OBJECT_TO_LEVEL(SPECBOX_INCLEV,16,0)
	ADD_TO_FLAG(PLAYER0,FLAG6,1)
ENDIF
IF_ACTION_POINT(28,PLAYER0)
	CHANGE_SLAB_TYPE(4,39,PRETTY_PATH)
	CHANGE_SLAB_OWNER(4,39,PLAYER0)
	PLAY_MESSAGE(PLAYER0,SOUND,76)
	ADD_OBJECT_TO_LEVEL(SPECBOX_INCLEV,28,0)
	CREATE_EFFECT(28,33)
	ADD_TO_FLAG(PLAYER0,FLAG6,1)
ENDIF

REM Changing walls effects oooh spoooookyyyy
IF_ACTION_POINT(19,PLAYER0)
	CHANGE_SLAB_TYPE(7,27,PATH)
	CHANGE_SLAB_TYPE(8,26,HARD)
	CHANGE_SLAB_TYPE(8,30,PATH)
	CHANGE_SLAB_TYPE(7,29,HARD)
	IF_ACTION_POINT(20,PLAYER0)
		CHANGE_SLAB_TYPE(8,30,HARD)
		CHANGE_SLAB_TYPE(6,30,PATH)	
		CHANGE_SLAB_TYPE(6,27,HARD)	
		CHANGE_SLAB_TYPE(7,28,PATH)	
		CHANGE_SLAB_TYPE(8,27,HARD)	
		CHANGE_SLAB_TYPE(7,27,HARD)		
		IF_ACTION_POINT(21,PLAYER0)
			CHANGE_SLAB_TYPE(7,28,HARD)
			CHANGE_SLAB_TYPE(5,27,PATH)	
			CHANGE_SLAB_TYPE(6,27,PATH)	
			IF_ACTION_POINT(22,PLAYER0)		
				CHANGE_SLAB_TYPE(5,26,PATH)
				CHANGE_SLAB_TYPE(5,27,PATH) 
				CHANGE_SLAB_TYPE(5,24,HARD)
				CHANGE_SLAB_TYPE(6,24,HARD)
				CHANGE_SLAB_TYPE(7,24,HARD)
				CHANGE_SLAB_TYPE(8,24,HARD)
				CHANGE_SLAB_TYPE(8,25,HARD)
				CHANGE_SLAB_TYPE(8,28,HARD)
				CHANGE_SLAB_TYPE(8,29,HARD)
				CHANGE_SLAB_TYPE(6,29,HARD)
				CHANGE_SLAB_TYPE(8,31,HARD)
				CHANGE_SLAB_TYPE(7,31,HARD)
				CHANGE_SLAB_TYPE(6,31,HARD)
				CHANGE_SLAB_TYPE(6,30,HARD)
				CHANGE_SLAB_TYPE(6,28,HARD)
				CHANGE_SLAB_TYPE(6,27,HARD)
			ENDIF
		ENDIF
	ENDIF	
ENDIF	

IF_ACTION_POINT(23,PLAYER0)
	CHANGE_SLAB_TYPE(7,10,HARD)
	CHANGE_SLAB_TYPE(7,9,HARD)
	CHANGE_SLAB_TYPE(8,11,PATH)	
	CHANGE_SLAB_TYPE(9,11,PATH)		
	CHANGE_SLAB_TYPE(10,11,PATH)
	CHANGE_SLAB_TYPE(11,11,PATH)	
	CHANGE_SLAB_TYPE(11,10,PATH)
	CHANGE_SLAB_TYPE(11,9,PATH)	
	CHANGE_SLAB_TYPE(11,8,PATH)	
	CHANGE_SLAB_TYPE(11,7,PATH)	
	CHANGE_SLAB_TYPE(11,6,PATH)	
	CHANGE_SLAB_TYPE(11,5,PATH)		
	CHANGE_SLAB_TYPE(11,4,PATH)		
	IF_ACTION_POINT(24,PLAYER0)
		CHANGE_SLAB_TYPE(11,7,HARD)	
		CHANGE_SLAB_TYPE(11,6,HARD)	
		CHANGE_SLAB_TYPE(11,5,HARD)		
		CHANGE_SLAB_TYPE(11,4,HARD)		
		CHANGE_SLAB_TYPE(10,8,PATH)	
		CHANGE_SLAB_TYPE(9,8,PATH)		
		CHANGE_SLAB_TYPE(8,8,PATH)	
		IF_ACTION_POINT(25,PLAYER0)
			CHANGE_SLAB_TYPE(7,3,HARD)
			CHANGE_SLAB_TYPE(6,4,PATH)	
			CHANGE_SLAB_TYPE(5,4,PATH)	
			CHANGE_SLAB_TYPE(4,4,PATH)	
			CHANGE_SLAB_TYPE(3,4,PATH)	
			CHANGE_SLAB_TYPE(3,3,PATH)	
			CHANGE_SLAB_TYPE(3,2,PATH)	
			CHANGE_SLAB_TYPE(3,1,PATH)	
			CHANGE_SLAB_TYPE(4,1,PATH)	
			CHANGE_SLAB_TYPE(5,1,PATH)	
			CHANGE_SLAB_TYPE(6,1,PATH)	
			CHANGE_SLAB_TYPE(7,1,PATH)	
			CHANGE_SLAB_TYPE(8,1,PATH)	
			CHANGE_SLAB_TYPE(9,1,PATH)
			CHANGE_SLAB_TYPE(10,1,PATH)
			CHANGE_SLAB_TYPE(11,1,PATH)
			CHANGE_SLAB_TYPE(12,1,PATH)
			CHANGE_SLAB_TYPE(13,1,PATH)
			CHANGE_SLAB_TYPE(14,1,PATH)
			IF_ACTION_POINT(26,PLAYER0)	
				CHANGE_SLAB_TYPE(9,1,HARD)
				CHANGE_SLAB_TYPE(10,1,HARD)
				CHANGE_SLAB_TYPE(11,1,HARD)
				CHANGE_SLAB_TYPE(12,1,HARD)
				CHANGE_SLAB_TYPE(13,1,HARD)
				CHANGE_SLAB_TYPE(14,1,HARD)
				CHANGE_SLAB_TYPE(8,2,PATH)
				IF_ACTION_POINT(27,PLAYER0)	
					CHANGE_SLAB_TYPE(11,3,HARD)
					CHANGE_SLAB_TYPE(10,4,PATH)
					CHANGE_SLAB_TYPE(10,5,PATH)
					CHANGE_SLAB_TYPE(10,6,PATH)
					CHANGE_SLAB_TYPE(11,6,PATH)				
					CHANGE_SLAB_TYPE(12,6,PATH)					
					CHANGE_SLAB_TYPE(12,5,PATH)	
					CHANGE_SLAB_TYPE(12,4,PATH)
				ENDIF
			ENDIF
		ENDIF
	ENDIF	
ENDIF

REM --Escape to other side and "true ending"--
IF_ACTION_POINT(17,PLAYER0)
	CHANGE_SLAB_TYPE(17,3,GEMS)
	ADD_CREATURE_TO_LEVEL(PLAYER0,VAMPIRE,17,1,5,5000)
	PLAY_MESSAGE(PLAYER0,SOUND,159)
	CREATE_EFFECT_AT_POS(67,49,10)
	IF(PLAYER0,FLAG6 == 9)
		CHANGE_SLAB_TYPE(7,13,PRETTY_PATH,FLOOR)
		CHANGE_SLAB_OWNER(7,13,PLAYER0,FLOOR)
	ENDIF
ENDIF
IF_SLAB_TYPE(17,1,LAVA)
	CHANGE_SLAB_TYPE(17,1,PRETTY_PATH)
ENDIF

IF(PLAYER0,FLAG6 >= 1)
	CHANGE_SLAB_TYPE(19,3,BRIDGE_FRAME)
	QUICK_MESSAGE(19, "One.",NONE)
	IF_ACTION_POINT(42,PLAYER0)
		QUICK_INFORMATION(12,"Perhaps we can extend this bridge further by finding something in the maze...")
	ENDIF
	IF(PLAYER0,FLAG6 >= 2)
		CHANGE_SLAB_TYPE(19,4,BRIDGE_FRAME)
		QUICK_MESSAGE(20, "Two.",NONE)
		IF(PLAYER0,FLAG6 >= 3)
			CHANGE_SLAB_TYPE(20,4,BRIDGE_FRAME)
			QUICK_MESSAGE(21, "Three.",NONE)
			IF(PLAYER0,FLAG6 >= 4)
				CHANGE_SLAB_TYPE(21,4,BRIDGE_FRAME)
				QUICK_MESSAGE(14, "Four.",NONE)
				IF(PLAYER0,FLAG6 >= 5)
					CHANGE_SLAB_TYPE(21,3,BRIDGE_FRAME)
					QUICK_MESSAGE(15, "Five.",NONE)
					IF(PLAYER0,FLAG6 >= 6)
						CHANGE_SLAB_TYPE(21,2,BRIDGE_FRAME)		
						QUICK_MESSAGE(16, "Six.",NONE)						
						IF(PLAYER0,FLAG6 >= 7)
							CHANGE_SLAB_TYPE(22,2,BRIDGE_FRAME)	
							QUICK_MESSAGE(17, "Seven.",NONE)							
							IF(PLAYER0,FLAG6 >= 8)
								CHANGE_SLAB_TYPE(23,2,BRIDGE_FRAME)
								QUICK_MESSAGE(18, "Eight.",NONE)
								IF(PLAYER0,FLAG6 >= 9)
									CHANGE_SLAB_TYPE(23,3,BRIDGE_FRAME)	
									QUICK_MESSAGE(22, "Nine!",NONE)
								ENDIF									
							ENDIF
						ENDIF
					ENDIF
				ENDIF	
			ENDIF
		ENDIF
	ENDIF
ENDIF

REM Approach earth quadrant, spawn heroes and earth walls everywhere
IF_ACTION_POINT(11,PLAYER0)
	REM ADD_PARTY_TO_LEVEL(PLAYER_GOOD,EARTH,-2,1)
	CHANGE_SLAB_TYPE(DRAWFROM(32~38),DRAWFROM(35~42),DIRT)
	CHANGE_SLAB_TYPE(DRAWFROM(32~38),DRAWFROM(35~42),DIRT)
	CHANGE_SLAB_TYPE(DRAWFROM(32~38),DRAWFROM(35~42),DIRT)
	CHANGE_SLAB_TYPE(DRAWFROM(32~38),DRAWFROM(35~42),DIRT)
	CHANGE_SLAB_TYPE(DRAWFROM(43~47),DRAWFROM(35~42),DIRT)
	CHANGE_SLAB_TYPE(DRAWFROM(43~47),DRAWFROM(35~42),DIRT)
	CHANGE_SLAB_TYPE(DRAWFROM(43~47),DRAWFROM(35~42),DIRT)
	CHANGE_SLAB_TYPE(DRAWFROM(43~47),DRAWFROM(35~42),DIRT)
	CHANGE_SLAB_TYPE(DRAWFROM(32~38),DRAWFROM(35~42),DIRT)
	CHANGE_SLAB_TYPE(DRAWFROM(32~38),DRAWFROM(35~42),DIRT)
	CHANGE_SLAB_TYPE(DRAWFROM(32~38),DRAWFROM(35~42),DIRT)
	CHANGE_SLAB_TYPE(DRAWFROM(32~38),DRAWFROM(35~42),DIRT)
	CHANGE_SLAB_TYPE(DRAWFROM(43~47),DRAWFROM(35~42),DIRT)
	CHANGE_SLAB_TYPE(DRAWFROM(43~47),DRAWFROM(35~42),DIRT)
	CHANGE_SLAB_TYPE(DRAWFROM(43~47),DRAWFROM(35~42),DIRT)
	CHANGE_SLAB_TYPE(DRAWFROM(43~47),DRAWFROM(35~42),DIRT)
	USE_POWER_AT_POS(PLAYER_GOOD,DRAWFROM(97~142),DRAWFROM(106~127),POWER_CAVE_IN,4,1)
	USE_POWER_AT_POS(PLAYER_GOOD,DRAWFROM(97~142),DRAWFROM(106~127),POWER_CAVE_IN,4,1)
	USE_POWER_AT_POS(PLAYER_GOOD,DRAWFROM(97~142),DRAWFROM(106~127),POWER_CAVE_IN,4,1)
	USE_POWER_AT_POS(PLAYER_GOOD,DRAWFROM(97~142),DRAWFROM(106~127),POWER_CAVE_IN,4,1)
	USE_POWER_AT_POS(PLAYER_GOOD,DRAWFROM(97~142),DRAWFROM(106~127),POWER_CAVE_IN,4,1)
	USE_POWER_AT_POS(PLAYER_GOOD,DRAWFROM(97~142),DRAWFROM(106~127),POWER_CAVE_IN,4,1)
	PLAY_MESSAGE(PLAYER0,SOUND,DRAWFROM(72~74))
ENDIF
IF_ACTION_POINT(12,PLAYER0)
	USE_POWER_AT_POS(PLAYER_GOOD,142,126,POWER_CAVE_IN,4,1)
	USE_POWER_AT_POS(PLAYER_GOOD,141,120,POWER_CAVE_IN,4,1)
	USE_POWER_AT_POS(PLAYER_GOOD,148,116,POWER_CAVE_IN,4,1)
	USE_POWER_AT_POS(PLAYER_GOOD,151,117,POWER_CAVE_IN,4,1)
	CHANGE_SLAB_TYPE(48,42,DIRT)
	CHANGE_SLAB_TYPE(48,41,DIRT)
	CHANGE_SLAB_TYPE(48,40,DIRT)
	CHANGE_SLAB_TYPE(49,40,DIRT)
	CHANGE_SLAB_TYPE(50,40,DIRT)
	CHANGE_SLAB_TYPE(51,40,DIRT)
	CHANGE_SLAB_TYPE(52,40,DIRT)
	CHANGE_SLAB_TYPE(49,42,DIRT)
	CHANGE_SLAB_TYPE(49,41,DIRT)
	CHANGE_SLAB_TYPE(50,41,DIRT)
	CHANGE_SLAB_TYPE(51,41,DIRT)
	PLAY_MESSAGE(PLAYER0,SOUND,DRAWFROM(72~74))
ENDIF

IF_ACTION_POINT(41,PLAYER0)
	QUICK_INFORMATION(23,"Curious. These strange spellcasters have been harbouring great secrets.")
ENDIF

REM -------------------ENDING---------------------

REM end section, no more wizards - spawn from all four hero gates and from heart
REM destoy [43, 25], [43, 26], [40,22], [39,22], [36, 25], [36, 29], [39,22], [40,29],

IF(PLAYER_GOOD,FLAG3 == 4)
	IF_CONTROLS(PLAYER_GOOD,WIZARD_EARTH == 0)
		IF_CONTROLS(PLAYER_GOOD,WIZARD_FIRE == 0)
			IF_CONTROLS(PLAYER_GOOD,WIZARD_STORM == 0)
				IF_CONTROLS(PLAYER_GOOD,WIZARD_ICE == 0)
					USE_POWER_AT_POS(PLAYER_GOOD,118,67,POWER_DESTROY_WALLS,2,1)
					USE_POWER_AT_POS(PLAYER_GOOD,121,67,POWER_DESTROY_WALLS,2,1)
					USE_POWER_AT_POS(PLAYER_GOOD,130,76,POWER_DESTROY_WALLS,2,1)
					USE_POWER_AT_POS(PLAYER_GOOD,130,79,POWER_DESTROY_WALLS,2,1)
					USE_POWER_AT_POS(PLAYER_GOOD,118,88,POWER_DESTROY_WALLS,2,1)
					USE_POWER_AT_POS(PLAYER_GOOD,121,88,POWER_DESTROY_WALLS,2,1)
					USE_POWER_AT_POS(PLAYER_GOOD,109,76,POWER_DESTROY_WALLS,2,1)
					USE_POWER_AT_POS(PLAYER_GOOD,109,79,POWER_DESTROY_WALLS,2,1)
					USE_POWER_AT_POS(PLAYER_GOOD,112,73,POWER_DESTROY_WALLS,2,1)
					USE_POWER_AT_POS(PLAYER_GOOD,115,70,POWER_DESTROY_WALLS,2,1)
					USE_POWER_AT_POS(PLAYER_GOOD,124,70,POWER_DESTROY_WALLS,2,1)
					USE_POWER_AT_POS(PLAYER_GOOD,127,73,POWER_DESTROY_WALLS,2,1)
					USE_POWER_AT_POS(PLAYER_GOOD,112,82,POWER_DESTROY_WALLS,2,1)
					USE_POWER_AT_POS(PLAYER_GOOD,115,85,POWER_DESTROY_WALLS,2,1)
					USE_POWER_AT_POS(PLAYER_GOOD,124,85,POWER_DESTROY_WALLS,2,1)
					USE_POWER_AT_POS(PLAYER_GOOD,127,82,POWER_DESTROY_WALLS,2,1)
					ADD_PARTY_TO_LEVEL(PLAYER_GOOD,LANDLORD,-1,1)
					ADD_PARTY_TO_LEVEL(PLAYER_GOOD,EARTH,-2,1)
					ADD_PARTY_TO_LEVEL(PLAYER_GOOD,FIRE,-3,1)
					ADD_PARTY_TO_LEVEL(PLAYER_GOOD,STORM,-4,1)
					ADD_PARTY_TO_LEVEL(PLAYER_GOOD,ICE,-5,1)
					QUICK_OBJECTIVE(9,"The Lord of the Land is here, boosted by the same elemental power the wizards had. You've beaten the four of them, why do they think one more man will make a difference?",-1)
					USE_SPELL_ON_PLAYERS_CREATURES(PLAYER_GOOD,KNIGHT,SPELL_ARMOUR,7)
					USE_SPELL_ON_PLAYERS_CREATURES(PLAYER_GOOD,KNIGHT,SPELL_SPEED,7)
					USE_SPELL_ON_PLAYERS_CREATURES(PLAYER_GOOD,KNIGHT,SPELL_FLIGHT,7)
					USE_SPELL_ON_PLAYERS_CREATURES(PLAYER_GOOD,KNIGHT,SPELL_REBOUND,7)
					USE_SPELL_ON_PLAYERS_CREATURES(PLAYER_GOOD,WIZARD,SPELL_ARMOUR,7)
					USE_SPELL_ON_PLAYERS_CREATURES(PLAYER_GOOD,WIZARD,SPELL_SPEED,7)
					USE_SPELL_ON_PLAYERS_CREATURES(PLAYER_GOOD,WIZARD,SPELL_FLIGHT,7)
					USE_SPELL_ON_PLAYERS_CREATURES(PLAYER_GOOD,WIZARD,SPELL_REBOUND,7)
					SET_TIMER(PLAYER_GOOD,TIMER5)
				ENDIF
			ENDIF
		ENDIF
	ENDIF
ENDIF

IF(PLAYER_GOOD,TIMER5 >= 100)
	IF_CONTROLS(PLAYER_GOOD,KNIGHT <= 0)
		IF_CONTROLS(PLAYER_GOOD,WIZARD <= 0)
			IF(PLAYER0,ALL_DUNGEONS_DESTROYED == 1)
			REM "Well, you're done down here. Time to introduce yourself to the locals and re-organise their nice little lives."
			QUICK_OBJECTIVE(10,"A hard-fought victory, Keeper. You've bested magic and the forces of nature themselves. Well done.")
			SET_FLAG(PLAYER1,FLAG0,1)
			WIN_GAME
			ENDIF
		ENDIF
	ENDIF
ENDIF

REM ****************************************************************************
