REM ****************************************************************************
REM  Campaigns Consolidation Project for KeeperFX strategy game.
REM ****************************************************************************
REM  Script for Level Buffy Oak
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)

SET_CREATURE_MAX_LEVEL(ALL_PLAYERS,ANY_CREATURE,8)
SET_CREATURE_MAX_LEVEL(ALL_PLAYERS,IMP,8)

REM New powers for the player:
REM   POWER_CHICKEN - now the player can take his time to discover it
REM New manufacture for the player:
REM   DOOR_MAGIC - originally was introduced earlier

SET_GENERATE_SPEED(400)

COMPUTER_PLAYER(PLAYER1,10)
COMPUTER_PLAYER(PLAYER2,10)
COMPUTER_PLAYER(PLAYER3,10)

SET_COMPUTER_PROCESS(PLAYER1,"DIG TO GOLD",0,3500,2000,1,1)
SET_COMPUTER_PROCESS(PLAYER2,"DIG TO GOLD",0,3500,2000,1,1)
SET_COMPUTER_PROCESS(PLAYER3,"DIG TO GOLD",0,3500,2000,1,1)

ALLY_PLAYERS(PLAYER1,PLAYER2,1)
ALLY_PLAYERS(PLAYER1,PLAYER3,1)
ALLY_PLAYERS(PLAYER2,PLAYER3,1)

START_MONEY(PLAYER0,5000)
START_MONEY(PLAYER1,5000)
START_MONEY(PLAYER2,5000)
START_MONEY(PLAYER3,5000)

MAX_CREATURES(PLAYER0,25)
MAX_CREATURES(PLAYER1,20)
MAX_CREATURES(PLAYER2,20)
MAX_CREATURES(PLAYER3,20)

ADD_CREATURE_TO_POOL(FLY,40)
ADD_CREATURE_TO_POOL(BUG,20)
ADD_CREATURE_TO_POOL(SPIDER,20)
ADD_CREATURE_TO_POOL(DEMONSPAWN,20)
ADD_CREATURE_TO_POOL(SORCEROR,20)
ADD_CREATURE_TO_POOL(TROLL,20)
ADD_CREATURE_TO_POOL(BILE_DEMON,10)
ADD_CREATURE_TO_POOL(HELL_HOUND,15)
ADD_CREATURE_TO_POOL(ORC,15)
ADD_CREATURE_TO_POOL(DARK_MISTRESS,10)
ADD_CREATURE_TO_POOL(TENTACLE,15)

REM	Creature availability
CREATURE_AVAILABLE(ALL_PLAYERS,FLY,1,0)
CREATURE_AVAILABLE(ALL_PLAYERS,BUG,1,0)
CREATURE_AVAILABLE(ALL_PLAYERS,SPIDER,1,0)
CREATURE_AVAILABLE(ALL_PLAYERS,DEMONSPAWN,1,0)
CREATURE_AVAILABLE(ALL_PLAYERS,SORCEROR,1,0)
CREATURE_AVAILABLE(ALL_PLAYERS,TROLL,1,0)
CREATURE_AVAILABLE(ALL_PLAYERS,BILE_DEMON,1,0)
CREATURE_AVAILABLE(ALL_PLAYERS,ORC,1,0)
CREATURE_AVAILABLE(ALL_PLAYERS,DARK_MISTRESS,1,0)
CREATURE_AVAILABLE(ALL_PLAYERS,HELL_HOUND,1,0)
CREATURE_AVAILABLE(ALL_PLAYERS,TENTACLE,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,BARRACKS,1,0)
ROOM_AVAILABLE(ALL_PLAYERS,GUARD_POST,1,0)
ROOM_AVAILABLE(ALL_PLAYERS,PRISON,1,0)
ROOM_AVAILABLE(ALL_PLAYERS,TORTURE,1,0)
ROOM_AVAILABLE(ALL_PLAYERS,TEMPLE,1,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)
MAGIC_AVAILABLE(PLAYER1,POWER_SIGHT,1,0)
MAGIC_AVAILABLE(PLAYER2,POWER_SIGHT,1,0)
MAGIC_AVAILABLE(PLAYER3,POWER_SIGHT,1,0)
MAGIC_AVAILABLE(ALL_PLAYERS,POWER_CALL_TO_ARMS,1,0)
MAGIC_AVAILABLE(PLAYER1,POWER_HEAL_CREATURE,1,0)
MAGIC_AVAILABLE(PLAYER2,POWER_HEAL_CREATURE,1,0)
MAGIC_AVAILABLE(PLAYER3,POWER_HEAL_CREATURE,1,0)
MAGIC_AVAILABLE(ALL_PLAYERS,POWER_SPEED,1,0)
MAGIC_AVAILABLE(PLAYER1,POWER_LIGHTNING,1,0)
MAGIC_AVAILABLE(PLAYER2,POWER_LIGHTNING,1,0)
MAGIC_AVAILABLE(PLAYER3,POWER_LIGHTNING,1,0)
MAGIC_AVAILABLE(ALL_PLAYERS,POWER_PROTECT,1,0)
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 MAGIC_AVAILABLE(ALL_PLAYERS,POWER_CAVE_IN,1,0)
MAGIC_AVAILABLE(PLAYER1,POWER_CHICKEN,1,0)
MAGIC_AVAILABLE(PLAYER2,POWER_CHICKEN,1,0)
MAGIC_AVAILABLE(PLAYER3,POWER_CHICKEN,1,0)

REM  Doors and traps availability
DOOR_AVAILABLE(ALL_PLAYERS,WOOD,1,0)
TRAP_AVAILABLE(ALL_PLAYERS,ALARM,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)	
DOOR_AVAILABLE(ALL_PLAYERS,MAGIC,1,0)	
TRAP_AVAILABLE(ALL_PLAYERS,BOULDER,1,0)	

SET_ROOM_CONFIGURATION(BRIDGE,Properties,CANNOT_BE_SOLD,1)

IF(PLAYER1,CAMPAIGN_FLAG3 == 1)
	SET_CREATURE_CONFIGURATION(HELL_HOUND,Health,700)
	SET_CREATURE_CONFIGURATION(HELL_HOUND,Strength,60)
	SET_CREATURE_CONFIGURATION(HELL_HOUND,Dexterity,80)
	SET_CREATURE_CONFIGURATION(HELL_HOUND,Defence,85)
	SET_CREATURE_CONFIGURATION(HELL_HOUND,EntranceRoom,LAIR,GUARD_POST,HATCHERY)
	SET_CREATURE_CONFIGURATION(HELL_HOUND,RoomSlabsRequired,9,4,1)
	SET_CREATURE_INSTANCE(HELL_HOUND, 4, FIREBALL, 4)
	SET_CREATURE_INSTANCE(HELL_HOUND, 7, EMBERS, 7)
	SET_CREATURE_INSTANCE(HELL_HOUND, 8, FIRE_BOMB, 8)
ENDIF

IF(PLAYER1,CAMPAIGN_FLAG4 == 1)
	SET_CREATURE_CONFIGURATION(TENTACLE,Health,800)
	SET_CREATURE_CONFIGURATION(TENTACLE,Strength,60)
	SET_CREATURE_CONFIGURATION(TENTACLE,Armour,70)
	SET_CREATURE_CONFIGURATION(TENTACLE,Luck,14)
	SET_CREATURE_CONFIGURATION(TENTACLE,Recovery,3)
	SET_CREATURE_CONFIGURATION(TENTACLE,BaseSpeed,42)
	SET_CREATURE_CONFIGURATION(TENTACLE,EntranceRoom,GUARD_POST,LAIR,NULL)
	SET_CREATURE_CONFIGURATION(TENTACLE,RoomSlabsRequired,9,4,0)
	SET_CREATURE_INSTANCE(TENTACLE, 3, ACIDSPIT, 3)
	SET_CREATURE_INSTANCE(TENTACLE, 4, SLOW, 4)
	SET_CREATURE_INSTANCE(TENTACLE, 6, DRAIN, 6)
	SET_CREATURE_INSTANCE(TENTACLE, 7, HAILSTORM, 7)
	SET_CREATURE_INSTANCE(TENTACLE, 9, BUBBLE, 9)
ENDIF

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

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

IF(PLAYER0,BOX0_ACTIVATED > 0)
	IF(PLAYER0,FLAG7 == 0)
		NEXT_COMMAND_REUSABLE
		QUICK_INFORMATION(25,"Capture even the remains of the forces of good.",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,24)
		NEXT_COMMAND_REUSABLE
		ADD_OBJECT_TO_LEVEL(SPECBOX_CUSTOM, 24, 0, PLAYER0)
		NEXT_COMMAND_REUSABLE
		SET_FLAG(PLAYER0,FLAG7,0)
	ENDIF
ENDIF



QUICK_OBJECTIVE(1,"Sensing you might become a problem, these two Keepers have recruited another as backup. However, they did not account for resources and it is only a matter of time before they start to bicker. Use this to your advantage ans push south when you can - the Heroes of this land abandoned any plans of fighting here but left behind some goodies. Get to it.")

REM Not sure of bonus objective here - don't really want to have back-to-back "raise enough vampires" ones, 
REM but maybe raising enough vampires in the central graveyard spawns loads of angry hero ghosts and maybe converting these
REM gives a boost to ghosts going forward????

REM - just some prettying up of player start area.
CHANGE_SLAB_TYPE(40,18,PATH)
CHANGE_SLAB_TYPE(46,18,PATH)
CONCEAL_MAP_RECT(PLAYER0,112,67,3,3,1)
CONCEAL_MAP_RECT(PLAYER0,130,31,15,15)
REVEAL_MAP_RECT(PLAYER0,130,31,9,9)

REM - AI fudging: if they haven't dug specific gold after a set time, make them dig the far gold, then the side gold
IF(PLAYER0,GAME_TURN >= 25000)
	TAG_MAP_RECT(PLAYER1,4,57,5,5)
	TAG_MAP_RECT(PLAYER1,4,62,1,7)
	TAG_MAP_RECT(PLAYER1,4,66,3,5)
	TAG_MAP_RECT(PLAYER2,81,59,5,5)
	TAG_MAP_RECT(PLAYER2,80,62,1,7)
	TAG_MAP_RECT(PLAYER3,36,59,3,5)
	TAG_MAP_RECT(PLAYER3,37,62,1,5)
	TAG_MAP_RECT(PLAYER3,52,60,3,5)
	TAG_MAP_RECT(PLAYER3,52,62,1,5)
ENDIF
IF(PLAYER0,GAME_TURN >= 30000)
	IF(PLAYER1,TOTAL_GOLD_MINED >= 70000)
		TAG_MAP_RECT(PLAYER1,30,68,3,8)
		CHANGE_SLAB_TYPE(29,64,PATH)
	ENDIF
	IF(PLAYER2,TOTAL_GOLD_MINED >= 60000)
		CHANGE_SLAB_TYPE(59,64,PATH)
		TAG_MAP_RECT(PLAYER2,58,68,3,8)
	ENDIF
	IF(PLAYER3,TOTAL_GOLD_MINED >= 55000)
		CHANGE_SLAB_TYPE(33,64,PATH)
		CHANGE_SLAB_TYPE(55,64,PATH)
		TAG_MAP_RECT(PLAYER3,32,68,3,11)
		TAG_MAP_RECT(PLAYER3,56,68,3,11)
	ENDIF
ENDIF

REM - If any of the hero doors are knocked down, or enough time passes, pretend the hero base was normal the whole time
REM - (i.e. stop direct conflict with enemy keepers happening too suddenly)
REM - Might just make sense to keep as barracks but make it unclaimable instead.
IF_SLAB_TYPE(16,50,PRETTY_PATH)
	SET_FLAG(PLAYER0,FLAG3,1)
ENDIF
IF_SLAB_TYPE(44,51,PRETTY_PATH)
	SET_FLAG(PLAYER0,FLAG3,1)
ENDIF
IF_SLAB_TYPE(71,50,PRETTY_PATH)
	SET_FLAG(PLAYER0,FLAG3,1)
ENDIF
REM IF(PLAYER0,GAME_TURN >= 100000)
REM 	SET_FLAG(PLAYER0,FLAG3,1)
REM ENDIF
IF(PLAYER0,FLAG3 == 1)
	CHANGE_SLAB_TYPE(16,53,BARRACK_AREA,MATCH)
	CHANGE_SLAB_OWNER(16,53,PLAYER_GOOD,MATCH)
	CHANGE_SLAB_TYPE(44,54,BARRACK_AREA,MATCH)
	CHANGE_SLAB_OWNER(44,54,PLAYER_GOOD,MATCH)
	CHANGE_SLAB_TYPE(71,53,BARRACK_AREA,MATCH)
	CHANGE_SLAB_OWNER(71,53,PLAYER_GOOD,MATCH)
	TAG_MAP_RECT(PLAYER1,16,61,1,7)
	TAG_MAP_RECT(PLAYER2,71,61,1,7)
	TAG_MAP_RECT(PLAYER3,44,61,1,7)
ENDIF

REM - if blue and green take the gems, yellow lashes out at both of them.
IF_SLAB_OWNER(31,56,PLAYER1)
	CHANGE_SLAB_TYPE(31,54,GEMS)
	TAG_MAP_RECT(PLAYER1,31,54,1,1)
	CHANGE_SLAB_OWNER(32,57,PLAYER1)
	PLACE_DOOR(PLAYER1,MAGIC,32,57,LOCKED,FREE)
	MAKE_SAFE(PLAYER1)
	IF_SLAB_OWNER(57,56,PLAYER2)
		SET_TIMER(PLAYER_GOOD,TIMER1)
		IF(PLAYER_GOOD,TIMER1 > 20000)
			ALLY_PLAYERS(PLAYER1,PLAYER3,2)
			ALLY_PLAYERS(PLAYER2,PLAYER3,2)
		ENDIF
	ENDIF
ENDIF
REM - if yellow takes left, blue lashes out.
IF_SLAB_OWNER(31,56,PLAYER3)
	CHANGE_SLAB_TYPE(31,54,GEMS)
	TAG_MAP_RECT(PLAYER3,31,54,1,1)
	CHANGE_SLAB_OWNER(30,57,PLAYER3)
	PLACE_DOOR(PLAYER3,MAGIC,30,57,LOCKED,FREE)
	MAKE_SAFE(PLAYER3)
	SET_TIMER(PLAYER_GOOD,TIMER1)
	IF(PLAYER_GOOD,TIMER1 > 20000)
		ALLY_PLAYERS(PLAYER1,PLAYER3,2)
	ENDIF
ENDIF
REM - if yellow takes right, green lashes out.
IF_SLAB_OWNER(57,56,PLAYER3)
	CHANGE_SLAB_TYPE(57,54,GEMS)
	TAG_MAP_RECT(PLAYER3,57,54,1,1)
	CHANGE_SLAB_OWNER(58,57,PLAYER3)
	PLACE_DOOR(PLAYER3,MAGIC,58,57,LOCKED,FREE)
	MAKE_SAFE(PLAYER3)
	SET_TIMER(PLAYER_GOOD,TIMER1)
	IF(PLAYER_GOOD,TIMER1 > 20000)
		ALLY_PLAYERS(PLAYER2,PLAYER3,2)
	ENDIF
ENDIF
IF_SLAB_OWNER(57,56,PLAYER2)
	CHANGE_SLAB_TYPE(57,54,GEMS)
	TAG_MAP_RECT(PLAYER2,57,54,1,1)
	CHANGE_SLAB_OWNER(56,57,PLAYER2)
	PLACE_DOOR(PLAYER2,MAGIC,56,57,LOCKED,FREE)
	MAKE_SAFE(PLAYER2)
ENDIF
IF(PLAYER_GOOD,TIMER1 > 2000)
	QUICK_INFORMATION(5,"I can hear the sounds of toes being crushed from the south. If you can hold back for long enough, your opponents might devour each other...")
ENDIF
REM At this point, it's too crowded and Keepers will start bursting out.
IF(PLAYER_GOOD,TIMER1 > 10000)
	SET_FLAG(PLAYER0,FLAG3,1)
ENDIF

REM Lvl 13:
REM Starting dungeon unexplored, less gold on map, heroes in middle (replace two specials with hero bases with gold and traps and specials in), emphasis on scavenging (probably not, naybe next level)? 3 keepers. Race to middle to get both supply things? No bridge but land path requiring you to dig like hell to get there first? (Maybe freeze ai keepers from digging north for a while - or put hero outpost there, so when they claim those they can also convert heroes etc.)

REM Maaaaybe reduce starting base size, so you have to dig out sooner? If 3 enemy keepers, could maybe have it so you can make them turn on each other e.g. when resources start to run out (either literally when one has barely any gold and the other has loads, or when one has mined more gold, or when most of the on-map gold is mined, or even fudge it by giving each of them a corridor and have them hostile so when they reach the ends of their corridors they fight. Could also imply that the hero treasure is so good they fight over it idk.






REM - If player gets to central graveyard, spawn some skeletal corpses (i.e. spawn skeletons while far away but close, kill them all immediately, but make their death noise silent, possibly set their dying animation to the dead one, remove bleed if needed)
REM RUN_LUA_CODE("[function]")
SET_CREATURE_PROPERTY(THIEF,BLEEDS,0)
SET_CREATURE_CONFIGURATION(THIEF,Scream,SKELETON_CORPSE1)
SET_CREATURE_CONFIGURATION(THIEF,DropDead,SKELETON_CORPSE1)
SET_CREATURE_CONFIGURATION(THIEF,Die,0)
SET_CREATURE_PROPERTY(ARCHER,BLEEDS,0)
SET_CREATURE_CONFIGURATION(ARCHER,Scream,SKELETON_CORPSE2)
SET_CREATURE_CONFIGURATION(ARCHER,DropDead,SKELETON_CORPSE2)
SET_CREATURE_CONFIGURATION(ARCHER,Die,0)
SET_CREATURE_PROPERTY(BARBARIAN,BLEEDS,0)
SET_CREATURE_CONFIGURATION(BARBARIAN,Scream,SKELETON_CORPSE3)
SET_CREATURE_CONFIGURATION(BARBARIAN,DropDead,SKELETON_CORPSE3)
SET_CREATURE_CONFIGURATION(BARBARIAN,Die,0)
SET_CREATURE_PROPERTY(DWARFA,BLEEDS,0)
SET_CREATURE_CONFIGURATION(DWARFA,Scream,SKELETON_CORPSE4)
SET_CREATURE_CONFIGURATION(DWARFA,DropDead,SKELETON_CORPSE4)
SET_CREATURE_CONFIGURATION(DWARFA,Die,0)

IF_SLAB_OWNER(38,38,PLAYER_GOOD)
	IF_ACTION_POINT(4,PLAYER0)
		SET_FLAG(PLAYER_GOOD,FLAG2,1)
	ENDIF
	IF_ACTION_POINT(5,PLAYER0)
		SET_FLAG(PLAYER_GOOD,FLAG2,1)
	ENDIF
	IF_ACTION_POINT(6,PLAYER0)
		SET_FLAG(PLAYER_GOOD,FLAG2,1)
		QUICK_INFORMATION(6,"In their haste to flee these lands, the forces of good left their dead unburied. The stench of decay will surely attract some allies.")
	ENDIF
ENDIF

IF_SLAB_OWNER(38,38,PLAYER0)
	SET_FLAG(PLAYER_GOOD,FLAG2,2)
ENDIF

REM if another Keeper gets to main graveyard first, pretend they had enough time to raise vampires.
IF(PLAYER_GOOD,FLAG2 < 2)
	IF_SLAB_OWNER(38,38,PLAYER1)
		ADD_CREATURE_TO_LEVEL(PLAYER1,VAMPIRE,8,3,4,1000,JUMP)
	ENDIF
	IF_SLAB_OWNER(38,38,PLAYER2)
		ADD_CREATURE_TO_LEVEL(PLAYER2,VAMPIRE,8,3,4,1000,JUMP)
	ENDIF
	IF_SLAB_OWNER(38,38,PLAYER3)
		ADD_CREATURE_TO_LEVEL(PLAYER3,VAMPIRE,8,3,4,1000,JUMP)
	ENDIF
ENDIF

REM if you raise some vampires
IF(PLAYER0,VAMPIRES_RAISED >= 3)
	REM Spawn hero ghosts from APs 11, 14, 6
	REM 4, 4 and 8 of them respectively.
	REM If PLAYER_GOOD has fewer than 16 creatures, spawn them again from each of the three APs (something like...if it's below, spawn one, incremenet a flag by 1, if it's above 2, set it to 0.)
	REM If PLAYER_GOOD has 16 creatures but controls 0, boom done.
ENDIF

IF(PLAYER_GOOD,FLAG2 == 1)
	ADD_CREATURE_TO_LEVEL(PLAYER_GOOD,ARCHER,7,2,1,0,NONE)
	ADD_CREATURE_TO_LEVEL(PLAYER_GOOD,THIEF,7,1,1,0,NONE)
	ADD_CREATURE_TO_LEVEL(PLAYER_GOOD,BARBARIAN,7,2,1,0,NONE)
	ADD_CREATURE_TO_LEVEL(PLAYER_GOOD,DWARFA,7,1,1,0,NONE)

	ADD_CREATURE_TO_LEVEL(PLAYER_GOOD,ARCHER,8,1,1,0,NONE)
	ADD_CREATURE_TO_LEVEL(PLAYER_GOOD,THIEF,8,2,1,0,NONE)
	ADD_CREATURE_TO_LEVEL(PLAYER_GOOD,BARBARIAN,8,1,1,0,NONE)
	ADD_CREATURE_TO_LEVEL(PLAYER_GOOD,DWARFA,8,2,1,0,NONE)

	ADD_CREATURE_TO_LEVEL(PLAYER_GOOD,ARCHER,9,1,1,0,NONE)
	ADD_CREATURE_TO_LEVEL(PLAYER_GOOD,THIEF,9,1,1,0,NONE)
	ADD_CREATURE_TO_LEVEL(PLAYER_GOOD,BARBARIAN,9,1,1,0,NONE)
	ADD_CREATURE_TO_LEVEL(PLAYER_GOOD,DWARFA,9,1,1,0,NONE)

	ADD_CREATURE_TO_LEVEL(PLAYER_GOOD,ARCHER,10,1,1,0,NONE)
	ADD_CREATURE_TO_LEVEL(PLAYER_GOOD,THIEF,10,1,1,0,NONE)
	ADD_CREATURE_TO_LEVEL(PLAYER_GOOD,BARBARIAN,10,1,1,0,NONE)
	ADD_CREATURE_TO_LEVEL(PLAYER_GOOD,DWARFA,10,1,1,0,NONE)

	KILL_CREATURE(PLAYER_GOOD,ARCHER,ANYWHERE,9)
	KILL_CREATURE(PLAYER_GOOD,THIEF,ANYWHERE,9)
	KILL_CREATURE(PLAYER_GOOD,BARBARIAN,ANYWHERE,9)
	KILL_CREATURE(PLAYER_GOOD,DWARFA,ANYWHERE,9)
	SET_GAME_RULE(BodyRemainsFor,8000)
	SET_TIMER(PLAYER_GOOD,TIMER2)
	IF(PLAYER_GOOD,TIMER2 >= 8000)
		SET_GAME_RULE(BodyRemainsFor,2000)
	ENDIF
ENDIF

IF_SLAB_OWNER(67,39,PLAYER_GOOD)
	IF_ACTION_POINT(11,PLAYER0)
		ADD_CREATURE_TO_LEVEL(PLAYER_GOOD,ARCHER,12,1,1,0,NONE)
		ADD_CREATURE_TO_LEVEL(PLAYER_GOOD,THIEF,12,1,1,0,NONE)
		ADD_CREATURE_TO_LEVEL(PLAYER_GOOD,BARBARIAN,13,1,1,0,NONE)
		ADD_CREATURE_TO_LEVEL(PLAYER_GOOD,DWARFA,13,1,1,0,NONE)
		ADD_CREATURE_TO_LEVEL(PLAYER_GOOD,ARCHER,21,1,1,0,NONE)
		ADD_CREATURE_TO_LEVEL(PLAYER_GOOD,THIEF,21,2,1,0,NONE)
		ADD_CREATURE_TO_LEVEL(PLAYER_GOOD,BARBARIAN,22,1,1,0,NONE)
		ADD_CREATURE_TO_LEVEL(PLAYER_GOOD,DWARFA,22,2,1,0,NONE)
		ADD_CREATURE_TO_LEVEL(PLAYER_GOOD,ARCHER,23,1,1,0,NONE)
		ADD_CREATURE_TO_LEVEL(PLAYER_GOOD,THIEF,23,2,1,0,NONE)
		KILL_CREATURE(PLAYER_GOOD,ARCHER,ANYWHERE,9)
		KILL_CREATURE(PLAYER_GOOD,THIEF,ANYWHERE,9)
		KILL_CREATURE(PLAYER_GOOD,BARBARIAN,ANYWHERE,9)
		KILL_CREATURE(PLAYER_GOOD,DWARFA,ANYWHERE,9)
		SET_GAME_RULE(BodyRemainsFor,8000)
		SET_TIMER(PLAYER_GOOD,TIMER2)
		IF(PLAYER_GOOD,TIMER2 >= 8000)
			SET_GAME_RULE(BodyRemainsFor,2000)
		ENDIF
	ENDIF
ENDIF
IF_SLAB_OWNER(19,40,PLAYER_GOOD)
	IF_ACTION_POINT(14,PLAYER0)
		ADD_CREATURE_TO_LEVEL(PLAYER_GOOD,ARCHER,15,1,1,0,NONE)
		ADD_CREATURE_TO_LEVEL(PLAYER_GOOD,THIEF,15,1,1,0,NONE)
		ADD_CREATURE_TO_LEVEL(PLAYER_GOOD,BARBARIAN,16,1,1,0,NONE)
		ADD_CREATURE_TO_LEVEL(PLAYER_GOOD,DWARFA,16,1,1,0,NONE)
		ADD_CREATURE_TO_LEVEL(PLAYER_GOOD,ARCHER,17,1,1,0,NONE)
		ADD_CREATURE_TO_LEVEL(PLAYER_GOOD,THIEF,17,1,1,0,NONE)
		ADD_CREATURE_TO_LEVEL(PLAYER_GOOD,BARBARIAN,18,1,1,0,NONE)
		ADD_CREATURE_TO_LEVEL(PLAYER_GOOD,DWARFA,18,1,1,0,NONE)
		ADD_CREATURE_TO_LEVEL(PLAYER_GOOD,ARCHER,19,1,1,0,NONE)
		ADD_CREATURE_TO_LEVEL(PLAYER_GOOD,THIEF,19,1,1,0,NONE)
		ADD_CREATURE_TO_LEVEL(PLAYER_GOOD,BARBARIAN,20,1,1,0,NONE)
		ADD_CREATURE_TO_LEVEL(PLAYER_GOOD,DWARFA,20,1,1,0,NONE)
		KILL_CREATURE(PLAYER_GOOD,ARCHER,ANYWHERE,9)
		KILL_CREATURE(PLAYER_GOOD,THIEF,ANYWHERE,9)
		KILL_CREATURE(PLAYER_GOOD,BARBARIAN,ANYWHERE,9)
		KILL_CREATURE(PLAYER_GOOD,DWARFA,ANYWHERE,9)
		SET_GAME_RULE(BodyRemainsFor,8000)
		SET_TIMER(PLAYER_GOOD,TIMER2)
		IF(PLAYER_GOOD,TIMER2 >= 8000)
			SET_GAME_RULE(BodyRemainsFor,2000)
		ENDIF
	ENDIF
ENDIF

IF(PLAYER1,PRISON >= 9)
	SET_CREATURE_TENDENCIES(PLAYER1,IMPRISON,1)
ENDIF
IF(PLAYER2,PRISON >= 9)
	SET_CREATURE_TENDENCIES(PLAYER2,IMPRISON,1)
ENDIF
IF(PLAYER3,PRISON >= 9)
	SET_CREATURE_TENDENCIES(PLAYER3,IMPRISON,1)
ENDIF

IF(PLAYER0,ALL_DUNGEONS_DESTROYED == 1)
	WIN_GAME
ENDIF

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


REM Summons ghosts if you do something...idk if you claim the bridges around each side mausoleum and the central graveyard it spawns hero ghosts.
REM if you kill them...they come back??? so you have to imprison them all.



