LEVEL_VERSION(1)
START_MONEY(PLAYER0,15000)

SET_GAME_RULE(PrisonSkeletonChance,0)
SET_GAME_RULE(PayDayGap,99999999)
SET_GAME_RULE(PayDaySpeed,10000)
SET_CREATURE_PROPERTY(HORNY,NO_IMPRISONMENT,0)

COMPUTER_PLAYER(PLAYER2,1)
COMPUTER_PLAYER(PLAYER1,1)
ALLY_PLAYERS(PLAYER_GOOD,PLAYER1,1)
ALLY_PLAYERS(PLAYER0,PLAYER2,1)
ALLY_PLAYERS(PLAYER_GOOD,PLAYER2,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(PLAYER0,WORKSHOP,1,1)

DOOR_AVAILABLE(PLAYER1,STEEL,1,1)

CREATE_PARTY(BOX_AMBUSH_ONE)
	ADD_TO_PARTY(BOX_AMBUSH_ONE,ARCHER,4,1000,ATTACK_DUNGEON_HEART,0)
	ADD_TO_PARTY(BOX_AMBUSH_ONE,THIEF,4,1000,ATTACK_DUNGEON_HEART,0)
	ADD_TO_PARTY(BOX_AMBUSH_ONE,BARBARIAN,4,1000,ATTACK_DUNGEON_HEART,0)
	ADD_TO_PARTY(BOX_AMBUSH_ONE,MONK,4,1000,ATTACK_DUNGEON_HEART,0)

CREATE_PARTY(BOXX_AMBUSH_ONE)
	ADD_TO_PARTY(BOXX_AMBUSH_ONE,BUG,4,1000,ATTACK_DUNGEON_HEART,0)
	ADD_TO_PARTY(BOXX_AMBUSH_ONE,SPIDER,4,1000,ATTACK_DUNGEON_HEART,0)
	ADD_TO_PARTY(BOXX_AMBUSH_ONE,HELL_HOUND,4,1000,ATTACK_DUNGEON_HEART,0)
	ADD_TO_PARTY(BOXX_AMBUSH_ONE,DEMONSPAWN,4,1000,ATTACK_DUNGEON_HEART,0)

REMOVE_SACRIFICE_RECIPE(SPIDER,SPIDER,SPIDER)
REMOVE_SACRIFICE_RECIPE(SPIDER,BUG)
REMOVE_SACRIFICE_RECIPE(TROLL,BILE_DEMON,DARK_MISTRESS)
REMOVE_SACRIFICE_RECIPE(BILE_DEMON,BUG)
REMOVE_SACRIFICE_RECIPE(ORC,SPIDER)
REMOVE_SACRIFICE_RECIPE(TROLL,SPIDER)
REMOVE_SACRIFICE_RECIPE(GHOST)
REMOVE_SACRIFICE_RECIPE(VAMPIRE)
REMOVE_SACRIFICE_RECIPE(HORNY)
REMOVE_SACRIFICE_RECIPE(BILE_DEMON,BILE_DEMON)
REMOVE_SACRIFICE_RECIPE(SKELETON,SKELETON)
REMOVE_SACRIFICE_RECIPE(VAMPIRE,SPIDER)
REMOVE_SACRIFICE_RECIPE(VAMPIRE,DEMONSPAWN)

SET_SACRIFICE_RECIPE(MkCreature,SPIDER,BUG,BUG)
SET_SACRIFICE_RECIPE(MkCreature,HELL_HOUND,SPIDER,SPIDER)
SET_SACRIFICE_RECIPE(MkCreature,DEMONSPAWN,HELL_HOUND,HELL_HOUND)
SET_SACRIFICE_RECIPE(MkCreature,DRAGON,DEMONSPAWN,DEMONSPAWN)
SET_SACRIFICE_RECIPE(MkCreature,SORCEROR,DRAGON,DRAGON)
SET_SACRIFICE_RECIPE(MkCreature,TROLL,SORCEROR,SORCEROR)
SET_SACRIFICE_RECIPE(MkCreature,ORC,TROLL,TROLL)
SET_SACRIFICE_RECIPE(MkCreature,SKELETON,ORC,ORC)
SET_SACRIFICE_RECIPE(MkCreature,DARK_MISTRESS,SKELETON,SKELETON)
SET_SACRIFICE_RECIPE(MkCreature,VAMPIRE,DARK_MISTRESS,DARK_MISTRESS)
SET_SACRIFICE_RECIPE(MkCreature,HORNY,VAMPIRE,VAMPIRE)
SET_SACRIFICE_RECIPE(MkCreature,GHOST,HORNY,HORNY)

SET_SACRIFICE_RECIPE(MkCreature,THIEF,DWARFA,DWARFA)
SET_SACRIFICE_RECIPE(MkCreature,ARCHER,THIEF,THIEF)
SET_SACRIFICE_RECIPE(MkCreature,BARBARIAN,ARCHER,ARCHER)	
SET_SACRIFICE_RECIPE(MkCreature,MONK,BARBARIAN,BARBARIAN)
SET_SACRIFICE_RECIPE(MkCreature,WIZARD,MONK,MONK)
SET_SACRIFICE_RECIPE(MkCreature,FAIRY,WIZARD,WIZARD)
SET_SACRIFICE_RECIPE(MkCreature,WITCH,FAIRY,FAIRY)
SET_SACRIFICE_RECIPE(MkCreature,GIANT,WITCH,WITCH)
SET_SACRIFICE_RECIPE(MkCreature,SAMURAI,GIANT,GIANT)
SET_SACRIFICE_RECIPE(MkCreature,KNIGHT,SAMURAI,SAMURAI)
SET_SACRIFICE_RECIPE(MkCreature,GHOST,KNIGHT,KNIGHT)

SET_SACRIFICE_RECIPE(MkCreature,AVATAR,GHOST,GHOST,GHOST,GHOST,GHOST)

SET_TIMER(PLAYER0,TIMER0)
SET_TIMER(PLAYER1,TIMER1)
SET_TIMER(PLAYER2,TIMER2)


IF(PLAYER0,PRISON > 1)
	QUICK_OBJECTIVE(3,"Well done Keeper! Well done Keeper! You found the hidden prison the old Warlock spoke about.")
ENDIF

IF_ACTION_POINT(14,PLAYER0)
	QUICK_OBJECTIVE(6,"This strong Warlock says he once tried to blow one of those Knights into the corner of the wall and he disappeared. He also tells you this Library contains ancient holy knowledge about the mighty Avatar, sacrafice 5 Ghosts.")
ENDIF

IF_ACTION_POINT(8,PLAYER0)
	QUICK_OBJECTIVE(1,"This Library contains ancient knowledge, about how the old gods once created every species by sacraficing two of the same types.")
ENDIF

IF_ACTION_POINT(8,PLAYER0)
	SET_FLAG(PLAYER2,FLAG4,1)
ENDIF

IF(PLAYER2,FLAG4 == 1)
	SET_TIMER(PLAYER2,TIMER4)
ENDIF

IF(PLAYER2,TIMER4>=920)
	QUICK_OBJECTIVE(9,"The Warlock tells you a tale about a prison hidden somewhere beyond these ancient walls. He also tells you that he can hear the Ghosts in the wall.")
ENDIF 

IF_ACTION_POINT(15,PLAYER0)
	QUICK_OBJECTIVE(10,"This ancient Ghost tells you he was once a Keeper like yourself, and now only lives to protect his heart and so most you! PROTECT THE GREEN HEART KEEPER!")
	CHANGE_SLAB_OWNER(83,33,PLAYER0)
	CHANGE_SLAB_OWNER(82,33,PLAYER0)
	REVEAL_MAP_LOCATION(PLAYER0,-3,20)
ENDIF

IF_ACTION_POINT(19,PLAYER0)
	QUICK_OBJECTIVE(16,"This is it Keeper! Your final test. Destroy the enemy Keeper and ascend and join the ranks of Gods!")
	ROOM_AVAILABLE(PLAYER0,BRIDGE,1,1) 
ENDIF 

IF(PLAYER0,TOTAL_CREATURES >= 3)
	QUICK_OBJECTIVE(7,"You found two old ghosts, one of them tells you a secret. Blow, the other one says, Wall ")
ENDIF 

IF_ACTION_POINT(1,PLAYER_GOOD)
	CHANGE_SLAB_OWNER(37,17,PLAYER0)
	CHANGE_SLAB_OWNER(38,11,PLAYER0)
	CHANGE_SLAB_OWNER(38,12,PLAYER0)
ENDIF

IF_ACTION_POINT(17,PLAYER0)
	CHANGE_SLAB_OWNER(3,15,PLAYER0)
ENDIF

IF_ACTION_POINT(2,PLAYER_GOOD)
	CHANGE_SLAB_OWNER(37,17,PLAYER0)
	CHANGE_SLAB_OWNER(38,11,PLAYER0)
	CHANGE_SLAB_OWNER(38,12,PLAYER0)
ENDIF

IF_ACTION_POINT(3,PLAYER_GOOD)
	CHANGE_SLAB_OWNER(37,17,PLAYER0)
	CHANGE_SLAB_OWNER(38,11,PLAYER0)
	CHANGE_SLAB_OWNER(38,12,PLAYER0)
ENDIF

IF_ACTION_POINT(4,PLAYER_GOOD)
	CHANGE_SLAB_OWNER(37,17,PLAYER0)
	CHANGE_SLAB_OWNER(38,11,PLAYER0)
	CHANGE_SLAB_OWNER(38,12,PLAYER0)
ENDIF

IF_ACTION_POINT(9,PLAYER_GOOD)
	CHANGE_SLAB_OWNER(67,16,PLAYER0)
	CHANGE_SLAB_OWNER(65,19,PLAYER0)
ENDIF

IF_ACTION_POINT(10,PLAYER_GOOD)
	CHANGE_SLAB_OWNER(67,16,PLAYER0)
	CHANGE_SLAB_OWNER(65,19,PLAYER0)
ENDIF

IF_ACTION_POINT(11,PLAYER_GOOD)
	CHANGE_SLAB_OWNER(67,16,PLAYER0)
	CHANGE_SLAB_OWNER(65,19,PLAYER0)
ENDIF

IF_ACTION_POINT(12,PLAYER_GOOD)
	CHANGE_SLAB_OWNER(67,16,PLAYER0)
	CHANGE_SLAB_OWNER(65,19,PLAYER0)
ENDIF

IF_ACTION_POINT(13,PLAYER0)
	CHANGE_SLAB_OWNER(6,8,PLAYER0)
ENDIF

IF(PLAYER_GOOD,HORNY == 0)
	CHANGE_SLAB_OWNER(26,48,PLAYER0)
	ROOM_AVAILABLE(PLAYER0,PRISON,1,1)
	QUICK_OBJECTIVE(14,"This Vampire talks about great treasures a little North-West from here.")
ENDIF

IF_ACTION_POINT(20,PLAYER0)
	CHANGE_SLAB_OWNER(11,46,PLAYER0)
ENDIF

IF_ACTION_POINT(20,PLAYER_GOOD)
	CHANGE_SLAB_OWNER(11,46,PLAYER0)
ENDIF

IF_ACTION_POINT(21,PLAYER0)
	CHANGE_SLAB_OWNER(11,46,PLAYER0)
ENDIF

IF_ACTION_POINT(21,PLAYER_GOOD)
	CHANGE_SLAB_OWNER(11,46,PLAYER0)
ENDIF

IF_ACTION_POINT(5,PLAYER0)
	QUICK_OBJECTIVE(4,"Take care Keeper the GODS have sent waves to destroy your HEART!",-1)
	SET_FLAG(PLAYER0,FLAG2,1)
ENDIF

	IF(PLAYER0,TIMER0 >= 1200)
		IF(PLAYER0,FLAG2 == 1)
			NEXT_COMMAND_REUSABLE
			SET_FLAG(PLAYER0,FLAG2,1)
			NEXT_COMMAND_REUSABLE
			ADD_PARTY_TO_LEVEL(PLAYER_GOOD,BOX_AMBUSH_ONE,-1,1)
			NEXT_COMMAND_REUSABLE
			SET_TIMER(PLAYER0,TIMER0)
		ENDIF
	ENDIF

IF_ACTION_POINT(5,PLAYER0)
	SET_FLAG(PLAYER0,FLAG2,1)
ENDIF

IF(PLAYER0,FLAG2 == 1)
	SET_TIMER(PLAYER2,TIMER2)
ENDIF

IF(PLAYER2,TIMER2 >= 600)
SET_TIMER(PLAYER1,TIMER1)
	IF(PLAYER1,TIMER1 >= 1200)
		IF(PLAYER0,FLAG2 == 1)
			NEXT_COMMAND_REUSABLE
			SET_FLAG(PLAYER0,FLAG2,1)
			NEXT_COMMAND_REUSABLE
			ADD_PARTY_TO_LEVEL(PLAYER_GOOD,BOXX_AMBUSH_ONE,-1,1)
			NEXT_COMMAND_REUSABLE
			SET_TIMER(PLAYER1,TIMER1)
		ENDIF
	ENDIF
ENDIF

IF(PLAYER_GOOD,DUNGEON_DESTROYED == 1)
	ALLY_PLAYERS(PLAYER_GOOD,PLAYER1,1)
ENDIF

IF_ACTION_POINT(6,PLAYER0)
	SET_FLAG(PLAYER0,FLAG2,0)
ENDIF 

IF(PLAYER0,KNIGHT == 5)
	QUICK_OBJECTIVE(22,"You have gathered 5 Knights so the enemy won't dare to step into your domain.")
	SET_FLAG(PLAYER0,FLAG2,0)
ENDIF

IF(PLAYER0,HORNY == 5)
	QUICK_OBJECTIVE(23,"You have gathered 5 Horned Reapers so the enemy won't dare to step into your domain.")
	SET_FLAG(PLAYER0,FLAG2,0)
ENDIF

IF(PLAYER0,AVATAR == 1)
	QUICK_OBJECTIVE(24,"You have managed to get the mighty Avatar on your team and the enemy waves flee in terror.")
	SET_FLAG(PLAYER0,FLAG2,0)
ENDIF

IF(PLAYER_GOOD,SAMURAI == 0)
	IF(PLAYER_GOOD,GIANT == 0)
		QUICK_OBJECTIVE_WITH_POS(25,"A new path has been unlocked.",114,153)
		CHANGE_SLAB_TYPE(38,51,PRETTY_PATH)
	ENDIF
ENDIF

IF(PLAYER_GOOD,DUNGEON_DESTROYED == 1)
	IF(PLAYER1,DUNGEON_DESTROYED == 1)
		WIN_GAME
	ENDIF
ENDIF

IF(PLAYER2,DUNGEON_DESTROYED==1)
	QUICK_OBJECTIVE(18,"Your ally's heart has fallen and released a terror against your own heart.",PLAYER2)
	ADD_CREATURE_TO_LEVEL(PLAYER_GOOD,HORNY,-2,20,10,0)
ENDIF