LEVEL_VERSION(1)
SET_GENERATE_SPEED(400)
START_MONEY(ALL_PLAYERS,5000)
MAX_CREATURES(ALL_PLAYERS,22)
SET_GAME_RULE(AlliesShareVision,1)

COMPUTER_PLAYER(PLAYER2,0)
COMPUTER_PLAYER(PLAYER3,0)
ALLY_PLAYERS(PLAYER0,PLAYER1,3)
ALLY_PLAYERS(PLAYER1,PLAYER0,3)
ALLY_PLAYERS(PLAYER2,PLAYER3,3)
ALLY_PLAYERS(PLAYER3,PLAYER2,3)
ALLY_PLAYERS(PLAYER2,PLAYER0,2)
ALLY_PLAYERS(PLAYER3,PLAYER0,2)
ALLY_PLAYERS(PLAYER2,PLAYER1,2)
ALLY_PLAYERS(PLAYER3,PLAYER1,2)


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

CREATURE_AVAILABLE(ALL_PLAYERS,FLY,1,0)
CREATURE_AVAILABLE(ALL_PLAYERS,BUG,1,0)
CREATURE_AVAILABLE(ALL_PLAYERS,DEMONSPAWN,1,0)
CREATURE_AVAILABLE(ALL_PLAYERS,TROLL,1,0)
CREATURE_AVAILABLE(ALL_PLAYERS,SPIDER,1,0)
CREATURE_AVAILABLE(ALL_PLAYERS,HELL_HOUND,1,3)
CREATURE_AVAILABLE(ALL_PLAYERS,TENTACLE,1,0)
CREATURE_AVAILABLE(ALL_PLAYERS,SORCEROR,1,0)
CREATURE_AVAILABLE(ALL_PLAYERS,ORC,1,1)
CREATURE_AVAILABLE(ALL_PLAYERS,BILE_DEMON,1,0)
CREATURE_AVAILABLE(ALL_PLAYERS,DRAGON,1,0)
CREATURE_AVAILABLE(ALL_PLAYERS,DARK_MISTRESS,1,0)

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,BRIDGE,0,0)
ROOM_AVAILABLE(ALL_PLAYERS,GUARD_POST,1,0)
ROOM_AVAILABLE(ALL_PLAYERS,WORKSHOP,1,0)
ROOM_AVAILABLE(PLAYER0,PRISON,1,0)
ROOM_AVAILABLE(PLAYER1,PRISON,1,0)
ROOM_AVAILABLE(PLAYER2,PRISON,0,0)
ROOM_AVAILABLE(PLAYER3,PRISON,0,0)
ROOM_AVAILABLE(ALL_PLAYERS,TORTURE,1,0)
ROOM_AVAILABLE(ALL_PLAYERS,BARRACKS,1,0)
ROOM_AVAILABLE(ALL_PLAYERS,TEMPLE,1,0)
ROOM_AVAILABLE(ALL_PLAYERS,GRAVEYARD,1,0)
ROOM_AVAILABLE(ALL_PLAYERS,SCAVENGER,0,0)

MAGIC_AVAILABLE(ALL_PLAYERS,POWER_HAND,1,1)
MAGIC_AVAILABLE(ALL_PLAYERS,POWER_SLAP,1,1)
MAGIC_AVAILABLE(ALL_PLAYERS,POWER_POSSESS,1,1)
MAGIC_AVAILABLE(ALL_PLAYERS,POWER_IMP,1,1)
MAGIC_AVAILABLE(ALL_PLAYERS,POWER_SIGHT,0,0)
MAGIC_AVAILABLE(ALL_PLAYERS,POWER_SPEED,1,0)
MAGIC_AVAILABLE(ALL_PLAYERS,POWER_OBEY,1,0)
MAGIC_AVAILABLE(ALL_PLAYERS,POWER_CALL_TO_ARMS,1,0)
MAGIC_AVAILABLE(ALL_PLAYERS,POWER_CONCEAL,1,0)
MAGIC_AVAILABLE(ALL_PLAYERS,POWER_HOLD_AUDIENCE,1,0)
MAGIC_AVAILABLE(ALL_PLAYERS,POWER_CAVE_IN,1,0)
MAGIC_AVAILABLE(ALL_PLAYERS,POWER_HEAL_CREATURE,1,0)
MAGIC_AVAILABLE(ALL_PLAYERS,POWER_LIGHTNING,1,0)
MAGIC_AVAILABLE(ALL_PLAYERS,POWER_PROTECT,1,0)
MAGIC_AVAILABLE(ALL_PLAYERS,POWER_CHICKEN,1,0)
MAGIC_AVAILABLE(ALL_PLAYERS,POWER_DISEASE,1,0)
MAGIC_AVAILABLE(ALL_PLAYERS,POWER_ARMAGEDDON,0,0)
MAGIC_AVAILABLE(ALL_PLAYERS,POWER_DESTROY_WALLS,0,0)

TRAP_AVAILABLE(ALL_PLAYERS,ALARM,1,0)
TRAP_AVAILABLE(ALL_PLAYERS,POISON_GAS,1,0)
TRAP_AVAILABLE(ALL_PLAYERS,LIGHTNING,1,0)
TRAP_AVAILABLE(ALL_PLAYERS,LAVA,0,0)
TRAP_AVAILABLE(ALL_PLAYERS,BOULDER,0,0)
TRAP_AVAILABLE(ALL_PLAYERS,WORD_OF_POWER,1,0)

DOOR_AVAILABLE(ALL_PLAYERS,WOOD,1,0)
DOOR_AVAILABLE(ALL_PLAYERS,BRACED,1,0)
DOOR_AVAILABLE(ALL_PLAYERS,STEEL,1,0)
DOOR_AVAILABLE(ALL_PLAYERS,MAGIC,1,0)

RESEARCH_ORDER(ALL_PLAYERS,MAGIC,POWER_SIGHT,3800)
RESEARCH_ORDER(ALL_PLAYERS,MAGIC,POWER_SPEED,5700)
RESEARCH_ORDER(ALL_PLAYERS,MAGIC,POWER_OBEY,6000)
RESEARCH_ORDER(ALL_PLAYERS,ROOM,GUARD_POST,6700)
RESEARCH_ORDER(ALL_PLAYERS,MAGIC,POWER_CALL_TO_ARMS,7400)
RESEARCH_ORDER(ALL_PLAYERS,ROOM,WORKSHOP,9000)
RESEARCH_ORDER(ALL_PLAYERS,MAGIC,POWER_CONCEAL,9400)
RESEARCH_ORDER(ALL_PLAYERS,ROOM,BARRACKS,12000)
RESEARCH_ORDER(ALL_PLAYERS,MAGIC,POWER_HOLD_AUDIENCE,11000
RESEARCH_ORDER(ALL_PLAYERS,ROOM,PRISON,20000)
RESEARCH_ORDER(ALL_PLAYERS,MAGIC,POWER_CAVE_IN,25000)
RESEARCH_ORDER(ALL_PLAYERS,ROOM,TORTURE,20000)
RESEARCH_ORDER(ALL_PLAYERS,MAGIC,POWER_HEAL_CREATURE,14000)
RESEARCH_ORDER(ALL_PLAYERS,ROOM,TEMPLE,25000)
RESEARCH_ORDER(ALL_PLAYERS,MAGIC,POWER_LIGHTNING,15000)
RESEARCH_ORDER(ALL_PLAYERS,ROOM,GRAVEYARD,25000)
RESEARCH_ORDER(ALL_PLAYERS,MAGIC,POWER_PROTECT,15000)
RESEARCH_ORDER(ALL_PLAYERS,MAGIC,POWER_CHICKEN,20000)
RESEARCH_ORDER(ALL_PLAYERS,MAGIC,POWER_DISEASE,20000)
RESEARCH_ORDER(ALL_PLAYERS,MAGIC,POWER_ARMAGEDDON,100000)
RESEARCH_ORDER(ALL_PLAYERS,MAGIC,POWER_DESTROY_WALLS,750000)

QUICK_OBJECTIVE(1,"Welcome Keepers, This land holds one of the largest Hero Strongholds we have encountered, Alas another group of Keepers favoured by the Gods wish to take the glory all for themselves, Show this Realm what true Evil is")

REMOVE_SACRIFICE_RECIPE(DARK_MISTRESS, BILE_DEMON, TROLL)
SET_CREATURE_PROPERTY(HORNY,NO_IMPRISONMENT,1)
SET_HAND_RULE(PLAYER2,HORNY,RULE1,DENY,ALWAYS)
SET_HAND_RULE(PLAYER3,HORNY,RULE1,DENY,ALWAYS)
SET_TIMER(PLAYER0,TIMER0)

CREATE_PARTY(REAPER1)
CREATE_PARTY(REAPER2)
CREATE_PARTY(HEROES1)
CREATE_PARTY(HEROES2)

ADD_TO_PARTY(REAPER1,HORNY,8,1000,ATTACK_DUNGEON_HEART,0)
ADD_TO_PARTY(REAPER2,HORNY,8,1000,ATTACK_DUNGEON_HEART,0)
ADD_TO_PARTY(HEROES1,THIEF,4,200,ATTACK_DUNGEON_HEART,300)
ADD_TO_PARTY(HEROES2,THIEF,4,200,ATTACK_DUNGEON_HEART,300)
ADD_TO_PARTY(HEROES1,ARCHER,3,200,ATTACK_DUNGEON_HEART,300)
ADD_TO_PARTY(HEROES2,ARCHER,3,200,ATTACK_DUNGEON_HEART,300)
ADD_TO_PARTY(HEROES1,DWARFA,3,200,ATTACK_DUNGEON_HEART,300)
ADD_TO_PARTY(HEROES2,DWARFA,3,200,ATTACK_DUNGEON_HEART,300)

IF(PLAYER0,GAME_TURN < 34800)
    IF(PLAYER0,GAME_TURN > 16800)
	    IF(PLAYER0,TIMER0 >= 3600)
		    CHANGE_SLAB_TYPE(81,42,PATH)
		    CHANGE_SLAB_TYPE(88,42,PATH)
		    QUICK_OBJECTIVE(2,"A warning Keepers, Hero forces are praparing for battle")
	        NEXT_COMMAND_REUSABLE
	        ADD_PARTY_TO_LEVEL(PLAYER_GOOD,HEROES1,-1,1)
		    NEXT_COMMAND_REUSABLE
	        ADD_PARTY_TO_LEVEL(PLAYER_GOOD,HEROES2,-2,1)
		    NEXT_COMMAND_REUSABLE
		    SET_TIMER(PLAYER0,TIMER0) 
		ENDIF
	ENDIF
ENDIF

IF_ACTION_POINT(48,ALL_PLAYERS)
	ADD_CREATURE_TO_LEVEL(PLAYER_GOOD,MONK,35,3,10,500)
	PLAY_MESSAGE(PLAYER0,SPEECH,68)
ENDIF

IF_ACTION_POINT(49,ALL_PLAYERS)
	ADD_CREATURE_TO_LEVEL(PLAYER_GOOD,MONK,35,3,10,500)
	PLAY_MESSAGE(PLAYER0,SPEECH,68)
ENDIF

IF_ACTION_POINT(50,ALL_PLAYERS)
	ADD_CREATURE_TO_LEVEL(PLAYER_GOOD,FAIRY,35,3,10,500)
	PLAY_MESSAGE(PLAYER0,SPEECH,68)
ENDIF

IF_ACTION_POINT(51,ALL_PLAYERS)
	ADD_CREATURE_TO_LEVEL(PLAYER_GOOD,FAIRY,35,3,10,500)
	PLAY_MESSAGE(PLAYER0,SPEECH,68)
ENDIF

IF_ACTION_POINT(1,PLAYER0)
    PLAY_MESSAGE(PLAYER0,SPEECH,65)
    CHANGE_SLAB_TYPE(2,53,BRIDGE_FRAME)
    CHANGE_SLAB_TYPE(3,53,BRIDGE_FRAME)
	CHANGE_SLAB_TYPE(4,53,BRIDGE_FRAME)
	CHANGE_SLAB_TYPE(5,53,BRIDGE_FRAME)
	CHANGE_SLAB_TYPE(6,53,BRIDGE_FRAME)
	CHANGE_SLAB_TYPE(7,53,BRIDGE_FRAME)
	CHANGE_SLAB_TYPE(8,53,BRIDGE_FRAME)
	CHANGE_SLAB_TYPE(9,53,BRIDGE_FRAME)
	CHANGE_SLAB_TYPE(2,47,BRIDGE_FRAME)
	CHANGE_SLAB_TYPE(3,47,BRIDGE_FRAME)
	CHANGE_SLAB_TYPE(4,47,BRIDGE_FRAME)
	CHANGE_SLAB_TYPE(5,47,BRIDGE_FRAME)
	CHANGE_SLAB_TYPE(6,47,BRIDGE_FRAME)
	CHANGE_SLAB_TYPE(7,47,BRIDGE_FRAME)
	CHANGE_SLAB_TYPE(1,50,WATER)
ENDIF

IF_ACTION_POINT(2,PLAYER0)
    PLAY_MESSAGE(PLAYER0,SPEECH,65)
    CHANGE_SLAB_TYPE(83,58,PRETTY_PATH)
	CHANGE_SLAB_TYPE(81,58,WATER)
	ROOM_AVAILABLE(PLAYER0,BRIDGE,1,1)
ENDIF

IF_ACTION_POINT(3,PLAYER0)
    PLAY_MESSAGE(PLAYER0,SPEECH,65)
	CHANGE_SLAB_TYPE(9,86,WATER)
	SET_TIMER(PLAYER0,TIMER0)
	IF(PLAYER0,TIMER0 >= 60)
	    ADD_CREATURE_TO_LEVEL(PLAYER0,DARK_MISTRESS,3,2,6,0)
	    PLAY_MESSAGE(PLAYER0,SPEECH,66)
	ENDIF
ENDIF

IF_ACTION_POINT(4,PLAYER1)
    PLAY_MESSAGE(PLAYER1,SPEECH,65)
    CHANGE_SLAB_TYPE(167,47,BRIDGE_FRAME)
    CHANGE_SLAB_TYPE(166,47,BRIDGE_FRAME)
	CHANGE_SLAB_TYPE(165,47,BRIDGE_FRAME)
	CHANGE_SLAB_TYPE(164,47,BRIDGE_FRAME)
	CHANGE_SLAB_TYPE(163,47,BRIDGE_FRAME)
	CHANGE_SLAB_TYPE(162,47,BRIDGE_FRAME)
	CHANGE_SLAB_TYPE(167,53,BRIDGE_FRAME)
	CHANGE_SLAB_TYPE(166,53,BRIDGE_FRAME)
	CHANGE_SLAB_TYPE(165,53,BRIDGE_FRAME)
	CHANGE_SLAB_TYPE(164,53,BRIDGE_FRAME)
	CHANGE_SLAB_TYPE(163,53,BRIDGE_FRAME)
	CHANGE_SLAB_TYPE(162,53,BRIDGE_FRAME)
	CHANGE_SLAB_TYPE(161,53,BRIDGE_FRAME)
	CHANGE_SLAB_TYPE(160,53,BRIDGE_FRAME)
	CHANGE_SLAB_TYPE(168,50,WATER)
ENDIF

IF_ACTION_POINT(5,PLAYER1)
    PLAY_MESSAGE(PLAYER1,SPEECH,65)
    CHANGE_SLAB_TYPE(86,58,PRETTY_PATH)
	CHANGE_SLAB_TYPE(88,58,WATER)
	ROOM_AVAILABLE(PLAYER1,BRIDGE,1,1)
ENDIF

IF_ACTION_POINT(6,PLAYER1)
    PLAY_MESSAGE(PLAYER1,SPEECH,65)
	CHANGE_SLAB_TYPE(160,86,WATER)
	SET_TIMER(PLAYER1,TIMER1)
	IF(PLAYER1,TIMER1 >= 60)
	    ADD_CREATURE_TO_LEVEL(PLAYER1,DARK_MISTRESS,6,2,6,0)
	    PLAY_MESSAGE(PLAYER0,SPEECH,66)
	ENDIF
ENDIF

IF(PLAYER0,GAME_TURN > 37200)
    QUICK_OBJECTIVE(3,"The enemy Keepers have conjured Horned Reapers to wipe out the Stronghold and advance on you, If you can dispose of the Stronghold first they wont advance so easily and the Gods may no longer favour your enemies")
    PLAY_MESSAGE(ALL_PLAYERS,SPEECH,116)
	ADD_PARTY_TO_LEVEL(PLAYER2,REAPER1,7,1)
	ADD_PARTY_TO_LEVEL(PLAYER3,REAPER2,8,1)
        REVEAL_MAP_RECT(PLAYER0,254,284,440,200)
	CHANGE_SLAB_TYPE(86,133,HARD)
	CHANGE_SLAB_TYPE(83,133,HARD)
ENDIF

IF(PLAYER0,GAME_TURN > 37300)
    IF_CONTROLS(PLAYER2,HORNY < 1)
        IF_CONTROLS(PLAYER3,HORNY < 1)
	        IF(PLAYER_GOOD,DUNGEON_DESTROYED == 0)
		        QUICK_OBJECTIVE(6,"What unholy power you possess keeper Destorying the enemys Horned Reapers has Earnt you much favour with the Gods ")
		        SET_FLAG(PLAYER_GOOD,FLAG0,9)
		    ENDIF
	    ENDIF
    ENDIF
ENDIF

IF_ACTION_POINT(11,PLAYER2)
    QUICK_OBJECTIVE(4,"These cunning Horned reapers have Stolen and learnt Healing spellbooks from the enemy libray")
    LEVEL_UP_CREATURE(PLAYER2,HORNY,ANYWHERE,1)
	CHANGE_SLAB_TYPE(44,96,DRAPE_WALL)
	CHANGE_SLAB_TYPE(62,96,DOOR_MAGIC2)
	CHANGE_SLAB_OWNER(62,96,PLAYER_GOOD,NONE)
	ADD_CREATURE_TO_LEVEL(PLAYER_GOOD,MONK,22,1,3,0)
	ADD_CREATURE_TO_LEVEL(PLAYER_GOOD,MONK,59,1,3,0)
	ADD_CREATURE_TO_LEVEL(PLAYER_GOOD,MONK,60,1,3,0)
	ADD_CREATURE_TO_LEVEL(PLAYER_GOOD,MONK,61,1,3,0)
ENDIF

IF_ACTION_POINT(12,PLAYER3)
    LEVEL_UP_CREATURE(PLAYER3,HORNY,ANYWHERE,1)
	CHANGE_SLAB_TYPE(125,96,DRAPE_WALL)
	CHANGE_SLAB_TYPE(107,96,DOOR_MAGIC2)
	CHANGE_SLAB_OWNER(107,96,PLAYER_GOOD,NONE)
	ADD_CREATURE_TO_LEVEL(PLAYER_GOOD,MONK,31,1,3,0)
	ADD_CREATURE_TO_LEVEL(PLAYER_GOOD,MONK,72,1,3,0)
	ADD_CREATURE_TO_LEVEL(PLAYER_GOOD,MONK,73,1,3,0)
	ADD_CREATURE_TO_LEVEL(PLAYER_GOOD,MONK,74,1,3,0)
ENDIF

IF_ACTION_POINT(13,PLAYER2)
    CHANGE_SLAB_TYPE(81,107,DRAPE_WALL)
ENDIF

IF_ACTION_POINT(15,PLAYER2)
    CHANGE_SLAB_TYPE(71,94,DRAPE_WALL)
	CHANGE_SLAB_TYPE(81,107,DOOR_MAGIC)
	CHANGE_SLAB_OWNER(81,107,PLAYER_GOOD,NONE)
	ADD_CREATURE_TO_LEVEL(PLAYER_GOOD,THIEF,57,2,3,0)
	ADD_CREATURE_TO_LEVEL(PLAYER_GOOD,THIEF,17,2,3,0)
ENDIF

IF_ACTION_POINT(14,PLAYER3)
    CHANGE_SLAB_TYPE(88,107,DRAPE_WALL)
ENDIF

IF_ACTION_POINT(16,PLAYER3)
    CHANGE_SLAB_TYPE(98,94,DRAPE_WALL)
	CHANGE_SLAB_TYPE(88,107,DOOR_MAGIC)
	CHANGE_SLAB_OWNER(88,107,PLAYER_GOOD,NONE)
    ADD_CREATURE_TO_LEVEL(PLAYER_GOOD,THIEF,26,2,3,0)
	ADD_CREATURE_TO_LEVEL(PLAYER_GOOD,THIEF,70,2,3,0)
ENDIF

IF_ACTION_POINT(17,PLAYER2)
    CHANGE_SLAB_TYPE(60,115,DRAPE_WALL)
	CHANGE_SLAB_TYPE(71,94,DOOR_MAGIC)
	CHANGE_SLAB_OWNER(71,94,PLAYER_GOOD,NONE)
	ADD_CREATURE_TO_LEVEL(PLAYER_GOOD,BARBARIAN,18,2,3,0)
ENDIF

IF_ACTION_POINT(18,PLAYER2)
    CHANGE_SLAB_TYPE(51,114,DRAPE_WALL)
	CHANGE_SLAB_TYPE(60,115,DOOR_MAGIC2)
	CHANGE_SLAB_OWNER(60,115,PLAYER_GOOD,NONE)
ENDIF

IF_ACTION_POINT(19,PLAYER2)
    CHANGE_SLAB_TYPE(37,112,DRAPE_WALL)
	CHANGE_SLAB_TYPE(51,114,DOOR_MAGIC2)
	CHANGE_SLAB_OWNER(51,114,PLAYER_GOOD,NONE)
	ADD_CREATURE_TO_LEVEL(PLAYER_GOOD,DWARFA,20,2,3,0)
ENDIF

IF_ACTION_POINT(20,PLAYER2)
    CHANGE_SLAB_TYPE(17,105,DRAPE_WALL)
	CHANGE_SLAB_TYPE(37,112,DOOR_MAGIC)
	CHANGE_SLAB_OWNER(37,112,PLAYER_GOOD,NONE)
	ADD_CREATURE_TO_LEVEL(PLAYER_GOOD,FAIRY,21,3,3,0)
ENDIF

IF_ACTION_POINT(21,PLAYER2)
    CHANGE_SLAB_TYPE(62,96,DRAPE_WALL)
	CHANGE_SLAB_TYPE(17,105,DOOR_MAGIC)
	CHANGE_SLAB_OWNER(17,105,PLAYER_GOOD,NONE)
	ADD_CREATURE_TO_LEVEL(PLAYER_GOOD,DWARFA,58,2,3,0)
	ADD_CREATURE_TO_LEVEL(PLAYER_GOOD,WIZARD,11,3,3,0)
ENDIF

IF_ACTION_POINT(22,PLAYER2)
    CHANGE_SLAB_TYPE(25,96,DRAPE_WALL)
	CHANGE_SLAB_TYPE(44,96,DOOR_MAGIC)
	CHANGE_SLAB_OWNER(44,96,PLAYER_GOOD,NONE)
	ADD_CREATURE_TO_LEVEL(PLAYER_GOOD,GIANT,23,1,3,0)
ENDIF

IF_ACTION_POINT(23,PLAYER2)
    CHANGE_SLAB_TYPE(12,100,DRAPE_WALL)
	CHANGE_SLAB_TYPE(25,96,DOOR_MAGIC2)
	CHANGE_SLAB_OWNER(25,96,PLAYER_GOOD,NONE)
	ADD_CREATURE_TO_LEVEL(PLAYER_GOOD,GIANT,62,1,3,0)
	ADD_CREATURE_TO_LEVEL(PLAYER_GOOD,GIANT,63,1,3,0)
	ADD_CREATURE_TO_LEVEL(PLAYER_GOOD,GIANT,64,1,3,0)
	ADD_CREATURE_TO_LEVEL(PLAYER_GOOD,GIANT,65,1,3,0)
ENDIF

IF_ACTION_POINT(24,PLAYER2)
    CHANGE_SLAB_TYPE(16,74,DOOR_MAGIC)
	CHANGE_SLAB_OWNER(16,74,PLAYER_GOOD,NONE)
    CHANGE_SLAB_TYPE(32,74,DRAPE_WALL)
	CHANGE_SLAB_TYPE(12,100,DOOR_MAGIC2)
	CHANGE_SLAB_OWNER(12,100,PLAYER_GOOD,NONE)
ENDIF

IF_ACTION_POINT(25,PLAYER2)
    CHANGE_SLAB_TYPE(64,84,DRAPE_WALL)
	CHANGE_SLAB_TYPE(32,74,DOOR_MAGIC)
	CHANGE_SLAB_OWNER(32,74,PLAYER_GOOD,NONE)
	ADD_CREATURE_TO_LEVEL(PLAYER_GOOD,BARBARIAN,67,2,2,0)
	ADD_CREATURE_TO_LEVEL(PLAYER_GOOD,MONK,68,2,3,0)
ENDIF

IF_ACTION_POINT(26,PLAYER3)
    CHANGE_SLAB_TYPE(109,115,DRAPE_WALL)
	CHANGE_SLAB_TYPE(98,94,DOOR_MAGIC)
	CHANGE_SLAB_OWNER(98,94,PLAYER_GOOD,NONE)
	ADD_CREATURE_TO_LEVEL(PLAYER_GOOD,BARBARIAN,27,2,3,0)
ENDIF

IF_ACTION_POINT(27,PLAYER3)
    CHANGE_SLAB_TYPE(118,114,DRAPE_WALL)
	CHANGE_SLAB_TYPE(109,115,DOOR_MAGIC2)
	CHANGE_SLAB_OWNER(109,115,PLAYER_GOOD,NONE)
ENDIF

IF_ACTION_POINT(28,PLAYER3)
    CHANGE_SLAB_TYPE(132,112,DRAPE_WALL)
	CHANGE_SLAB_TYPE(118,114,DOOR_MAGIC2)
	CHANGE_SLAB_OWNER(118,114,PLAYER_GOOD,NONE)
	ADD_CREATURE_TO_LEVEL(PLAYER_GOOD,DWARFA,29,2,4,0)
ENDIF

IF_ACTION_POINT(29,PLAYER3)
    CHANGE_SLAB_TYPE(152,105,DRAPE_WALL)
	CHANGE_SLAB_TYPE(132,112,DOOR_MAGIC)
	CHANGE_SLAB_OWNER(132,112,PLAYER_GOOD,NONE)
	ADD_CREATURE_TO_LEVEL(PLAYER_GOOD,FAIRY,30,3,3,0)
ENDIF

IF_ACTION_POINT(30,PLAYER3)
    CHANGE_SLAB_TYPE(107,96,DRAPE_WALL)
	CHANGE_SLAB_TYPE(152,105,DOOR_MAGIC)
	CHANGE_SLAB_OWNER(152,105,PLAYER_GOOD,NONE)
	ADD_CREATURE_TO_LEVEL(PLAYER_GOOD,DWARFA,71,2,3,0)
	ADD_CREATURE_TO_LEVEL(PLAYER_GOOD,WIZARD,12,3,3,0)
ENDIF

IF_ACTION_POINT(31,PLAYER3)
    CHANGE_SLAB_TYPE(144,96,DRAPE_WALL)
	CHANGE_SLAB_TYPE(125,96,DOOR_MAGIC)
	CHANGE_SLAB_OWNER(125,96,PLAYER_GOOD,NONE)
	ADD_CREATURE_TO_LEVEL(PLAYER_GOOD,GIANT,32,1,3,0)
ENDIF

IF_ACTION_POINT(32,PLAYER3)
    CHANGE_SLAB_TYPE(157,100,DRAPE_WALL)
	CHANGE_SLAB_TYPE(144,96,DOOR_MAGIC2)
	CHANGE_SLAB_OWNER(144,96,PLAYER_GOOD,NONE)
	ADD_CREATURE_TO_LEVEL(PLAYER_GOOD,GIANT,75,1,3,0)
	ADD_CREATURE_TO_LEVEL(PLAYER_GOOD,GIANT,76,1,3,0)
	ADD_CREATURE_TO_LEVEL(PLAYER_GOOD,GIANT,77,1,3,0)
	ADD_CREATURE_TO_LEVEL(PLAYER_GOOD,GIANT,78,1,3,0)
ENDIF

IF_ACTION_POINT(33,PLAYER3)
    CHANGE_SLAB_TYPE(137,74,DRAPE_WALL)
	CHANGE_SLAB_TYPE(157,100,DOOR_MAGIC2)
	CHANGE_SLAB_OWNER(157,100,PLAYER_GOOD,NONE)
ENDIF

IF_ACTION_POINT(34,PLAYER3)
    CHANGE_SLAB_TYPE(105,84,DRAPE_WALL)
	CHANGE_SLAB_TYPE(137,74,DOOR_MAGIC)
	CHANGE_SLAB_OWNER(137,74,PLAYER_GOOD,NONE)
	ADD_CREATURE_TO_LEVEL(PLAYER_GOOD,BARBARIAN,80,2,2,0)
	ADD_CREATURE_TO_LEVEL(PLAYER_GOOD,MONK,81,2,3,0)
ENDIF

IF_ACTION_POINT(52,PLAYER3)
    CHANGE_SLAB_TYPE(126,91,DRAPE_WALL)
	ADD_CREATURE_TO_LEVEL(PLAYER_GOOD,FAIRY,79,4,3,0)
	ADD_CREATURE_TO_LEVEL(PLAYER_GOOD,SAMURAI,34,4,3,0)
ENDIF

IF_ACTION_POINT(53,PLAYER2)
    CHANGE_SLAB_TYPE(44,91,DRAPE_WALL)
	ADD_CREATURE_TO_LEVEL(PLAYER_GOOD,FAIRY,66,4,3,0)
	ADD_CREATURE_TO_LEVEL(PLAYER_GOOD,SAMURAI,25,4,3,0)
ENDIF

IF_ACTION_POINT(35,ALL_PLAYERS)
    PLAY_MESSAGE(ALL_PLAYERS,SPEECH,19)
	ADD_CREATURE_TO_LEVEL(PLAYER_GOOD,WITCH,35,4,6,1000)
	ADD_CREATURE_TO_LEVEL(PLAYER_GOOD,KNIGHT,35,1,7,2000)
ENDIF

IF_ACTION_POINT(36,ALL_PLAYERS)
	ADD_CREATURE_TO_LEVEL(PLAYER_GOOD,WITCH,36,4,5,500)
	ADD_CREATURE_TO_LEVEL(PLAYER_GOOD,GIANT,36,1,5,500)
ENDIF

IF_ACTION_POINT(37,ALL_PLAYERS)
	ADD_CREATURE_TO_LEVEL(PLAYER_GOOD,WITCH,37,4,5,500)
	ADD_CREATURE_TO_LEVEL(PLAYER_GOOD,GIANT,37,1,5,500)
ENDIF

IF_ACTION_POINT(38,ALL_PLAYERS)
	ADD_CREATURE_TO_LEVEL(PLAYER_GOOD,SAMURAI,38,4,5,500)
ENDIF

IF_ACTION_POINT(39,ALL_PLAYERS)
	ADD_CREATURE_TO_LEVEL(PLAYER_GOOD,SAMURAI,39,4,5,500)
ENDIF

IF_ACTION_POINT(62,PLAYER2)
    CHANGE_SLAB_TYPE(16,74,DRAPE_WALL)
    ADD_CREATURE_TO_LEVEL(PLAYER_GOOD,FAIRY,24,3,3,0)
	ADD_CREATURE_TO_LEVEL(PLAYER_GOOD,FAIRY,53,3,3,0)
ENDIF

IF_ACTION_POINT(78,PLAYER3)
    CHANGE_SLAB_TYPE(153,74,DRAPE_WALL)
    ADD_CREATURE_TO_LEVEL(PLAYER_GOOD,FAIRY,33,3,3,0)
	ADD_CREATURE_TO_LEVEL(PLAYER_GOOD,FAIRY,52,3,3,0)
ENDIF

IF_ACTION_POINT(40,ALL_PLAYERS)
	ADD_CREATURE_TO_LEVEL(PLAYER_GOOD,ARCHER,41,2,5,0)
	ADD_CREATURE_TO_LEVEL(PLAYER_GOOD,ARCHER,42,2,5,0)
	ADD_CREATURE_TO_LEVEL(PLAYER_GOOD,ARCHER,43,2,5,0)
	ADD_CREATURE_TO_LEVEL(PLAYER_GOOD,WIZARD,2,1,6,0)
ENDIF

IF_ACTION_POINT(44,ALL_PLAYERS)
	ADD_CREATURE_TO_LEVEL(PLAYER_GOOD,ARCHER,45,2,5,0)
	ADD_CREATURE_TO_LEVEL(PLAYER_GOOD,ARCHER,46,2,5,0)
	ADD_CREATURE_TO_LEVEL(PLAYER_GOOD,ARCHER,47,2,5,0)
	ADD_CREATURE_TO_LEVEL(PLAYER_GOOD,WIZARD,5,1,6,0)
ENDIF

IF_ACTION_POINT(35,PLAYER2)
    SET_FLAG(PLAYER2,FLAG0,2)
ENDIF

IF_ACTION_POINT(35,PLAYER3)
    SET_FLAG(PLAYER3,FLAG0,2)
ENDIF

IF(PLAYER_GOOD,DUNGEON_DESTROYED == 1)
    SET_TIMER(PLAYER2,TIMER0)
	IF_CONTROLS(PLAYER2,HORNY == 1)
	    IF_CONTROLS(PLAYER3,HORNY == 1)
		    IF(PLAYER2,FLAG0 < 2)
			    IF(PLAYER2,FLAG0 < 2)
	                SET_TIMER(PLAYER3,TIMER0)
			    ENDIF		
			ENDIF		
		ENDIF
	ENDIF
ENDIF

IF(PLAYER3,TIMER0 >= 180)
    QUICK_OBJECTIVE(5,"Excellent work Keepers, With the Stronghold in ruins you have thwarted the enemies advancement and crushed their moral")
    KILL_CREATURE(PLAYER2,HORNY,ANYWHERE,1)
    KILL_CREATURE(PLAYER3,HORNY,ANYWHERE,1)
ENDIF
	
IF(PLAYER2,TIMER0 >= 190)
    ROOM_AVAILABLE(ALL_PLAYERS,BRIDGE,1,1)
    CHANGE_SLAB_TYPE(83,58,PATH)
    CHANGE_SLAB_TYPE(86,58,PATH)
	CHANGE_SLAB_TYPE(83,133,PATH)
	CHANGE_SLAB_TYPE(86,133,PATH)
	CHANGE_SLAB_TYPE(64,84,DOOR_MAGIC)
	CHANGE_SLAB_TYPE(105,84,DOOR_MAGIC)
	IF(PLAYER2,FLAG0 == 2)
	    IF(PLAYER3,FLAG0 == 2)
	        PLAY_MESSAGE(ALL_PLAYERS,SPEECH,80)
	        QUICK_OBJECTIVE(7,"So be it, The Enemy Horned Reapers have dismantled the Stronghold and now look to advance on you, The situation looks grim Keepers")
		ENDIF	
	ENDIF
ENDIF

IF(PLAYER2,TIMER0 >= 200)
   IF(PLAYER_GOOD,FLAG0 == 9)
	    QUICK_OBJECTIVE(8,"Crushing your enemys advancement and then dismantling the hero stronghold, The gods offer you Vampires to help sweep aside whats left")
	    ADD_CREATURE_TO_LEVEL(PLAYER0,VAMPIRE,82,2,6,0)
		ADD_CREATURE_TO_LEVEL(PLAYER1,VAMPIRE,83,2,6,0)
		PLAY_MESSAGE(ALL_PLAYERS,SPEECH,66)
	ENDIF
ENDIF	

IF(PLAYER2,TIMER0 >= 210)
	CHANGE_SLAB_TYPE(84,118,LAVA)
	CHANGE_SLAB_TYPE(84,119,LAVA)
	CHANGE_SLAB_TYPE(84,120,LAVA)
	CHANGE_SLAB_TYPE(84,121,LAVA)
	CHANGE_SLAB_TYPE(84,122,LAVA)
	CHANGE_SLAB_TYPE(84,123,LAVA)
	CHANGE_SLAB_TYPE(84,124,LAVA)
	CHANGE_SLAB_TYPE(84,125,LAVA)
	CHANGE_SLAB_TYPE(84,126,LAVA)
	CHANGE_SLAB_TYPE(84,127,LAVA)
	CHANGE_SLAB_TYPE(84,128,LAVA)
	CHANGE_SLAB_TYPE(84,129,LAVA)
	CHANGE_SLAB_TYPE(84,130,LAVA)
	CHANGE_SLAB_TYPE(84,131,LAVA)
	CHANGE_SLAB_TYPE(84,132,LAVA)
	CHANGE_SLAB_TYPE(85,118,LAVA)
	CHANGE_SLAB_TYPE(85,119,LAVA)
	CHANGE_SLAB_TYPE(85,120,LAVA)
	CHANGE_SLAB_TYPE(85,121,LAVA)
	CHANGE_SLAB_TYPE(85,122,LAVA)
	CHANGE_SLAB_TYPE(85,123,LAVA)
	CHANGE_SLAB_TYPE(85,124,LAVA)
	CHANGE_SLAB_TYPE(85,125,LAVA)
	CHANGE_SLAB_TYPE(85,126,LAVA)
	CHANGE_SLAB_TYPE(85,127,LAVA)
	CHANGE_SLAB_TYPE(85,128,LAVA)
	CHANGE_SLAB_TYPE(85,129,LAVA)
	CHANGE_SLAB_TYPE(85,130,LAVA)
	CHANGE_SLAB_TYPE(85,131,LAVA)
	CHANGE_SLAB_TYPE(85,132,LAVA)
	CHANGE_SLAB_TYPE(94,117,PATH)
	CHANGE_SLAB_TYPE(75,117,PATH)
ENDIF

IF(PLAYER2,TIMER0 >= 220)
    IF(PLAYER2,FLAG0 == 2)
	    IF(PLAYER3,FLAG0 == 2)
	        PLAY_MESSAGE(ALL_PLAYERS,SPEECH,115)
			SET_HAND_RULE(PLAYER2,HORNY,RULE1,ALLOW,ALWAYS)
            SET_HAND_RULE(PLAYER3,HORNY,RULE1,ALLOW,ALWAYS)
            CHANGE_SLAB_TYPE(83,125,BRIDGE_FRAME)
	        CHANGE_SLAB_TYPE(83,126,BRIDGE_FRAME)
	        CHANGE_SLAB_TYPE(83,127,BRIDGE_FRAME)
	        CHANGE_SLAB_TYPE(83,128,BRIDGE_FRAME)
	        CHANGE_SLAB_TYPE(83,129,BRIDGE_FRAME)
	        CHANGE_SLAB_TYPE(83,130,BRIDGE_FRAME)
	        CHANGE_SLAB_TYPE(83,131,BRIDGE_FRAME)
	        CHANGE_SLAB_TYPE(83,132,BRIDGE_FRAME)
	        CHANGE_SLAB_TYPE(86,125,BRIDGE_FRAME)
	        CHANGE_SLAB_TYPE(86,126,BRIDGE_FRAME)
	        CHANGE_SLAB_TYPE(86,127,BRIDGE_FRAME)
	        CHANGE_SLAB_TYPE(86,128,BRIDGE_FRAME)
	        CHANGE_SLAB_TYPE(86,129,BRIDGE_FRAME)
	        CHANGE_SLAB_TYPE(86,130,BRIDGE_FRAME)
	        CHANGE_SLAB_TYPE(86,131,BRIDGE_FRAME)
	        CHANGE_SLAB_TYPE(86,132,BRIDGE_FRAME)
	        CHANGE_SLAB_OWNER(86,132,PLAYER3,MATCH)
	        CHANGE_SLAB_OWNER(83,132,PLAYER2,MATCH)
		ENDIF
	ENDIF
ENDIF

IF(PLAYER0,DUNGEON_DESTROYED == 1)
    LOSE_GAME
ENDIF

IF(PLAYER1,DUNGEON_DESTROYED == 1)
    LOSE_GAME
ENDIF

IF(PLAYER2,DUNGEON_DESTROYED == 1)
    ADD_TO_FLAG(PLAYER2,FLAG1,2)
ENDIF

IF(PLAYER3,DUNGEON_DESTROYED == 1)
    ADD_TO_FLAG(PLAYER2,FLAG1,2)
ENDIF

IF(PLAYER2,FLAG1 > 4)
    WIN_GAME
	QUICK_OBJECTIVE(9,"Well done, all in this land that stood against you now lie in ruin, The Glory is yours Keepers")
ENDIF
