LEVEL_VERSION(1)
SET_GENERATE_SPEED(400)
START_MONEY(PLAYER0,0)
START_MONEY(PLAYER1,5000000)
START_MONEY(PLAYER2,5000000)
START_MONEY(PLAYER_GOOD,10000000)
MAX_CREATURES(ALL_PLAYERS,30)

COMPUTER_PLAYER(PLAYER1,0)
COMPUTER_PLAYER(PLAYER2,0)
COMPUTER_PLAYER(PLAYER5,ROAMING)
COMPUTER_PLAYER(PLAYER6,ROAMING)

ALLY_PLAYERS(PLAYER0,PLAYER5,3)
ALLY_PLAYERS(PLAYER0,PLAYER6,3)
ALLY_PLAYERS(PLAYER1,PLAYER2,3)
ALLY_PLAYERS(PLAYER1,PLAYER5,3)
ALLY_PLAYERS(PLAYER2,PLAYER5,3)
ALLY_PLAYERS(PLAYER5,PLAYER6,3)
ALLY_PLAYERS(PLAYER5,PLAYER_GOOD,3)

ROOM_AVAILABLE(ALL_PLAYERS,BRIDGE,1,1)

MAGIC_AVAILABLE(PLAYER0,POWER_IMP,1,0)
MAGIC_AVAILABLE(PLAYER1,POWER_IMP,1,1)
MAGIC_AVAILABLE(PLAYER2,POWER_IMP,1,1)

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_SPEED,1,0)
MAGIC_AVAILABLE(PLAYER0,POWER_OBEY,1,0)
MAGIC_AVAILABLE(PLAYER1,POWER_OBEY,1,1)
MAGIC_AVAILABLE(PLAYER2,POWER_OBEY,1,1)
MAGIC_AVAILABLE(PLAYER0,POWER_CALL_TO_ARMS,1,0)
MAGIC_AVAILABLE(ALL_PLAYERS,POWER_CONCEAL,1,0)
MAGIC_AVAILABLE(PLAYER0,POWER_HOLD_AUDIENCE,1,0)
MAGIC_AVAILABLE(PLAYER0,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(PLAYER0,POWER_DESTROY_WALLS,1,0)

QUICK_OBJECTIVE(1,"My liege, our situation has truly turned grimdark. We lost access to all supply routes and ended up sandwiched between two grand-class keepers. They seem amused about us standing before them and trying to put up a fight. If normal means of combat fail to counteract their advance, nothing but death and despair will await us. Pray to the avatar for salvation.",ALL_PLAYERS)

REM only 90 enemies here, but the sauce bites hard
REM broken config - you are dead af
SET_COMPUTER_GLOBALS(PLAYER1,100,1,1,1,500,1,1)
SET_COMPUTER_GLOBALS(PLAYER2,100,1,1,1,500,1,1)
SET_COMPUTER_PROCESS(PLAYER1, "ATTACK PLAN 1", 0, 100, 15, 10, 0)
SET_COMPUTER_PROCESS(PLAYER2, "ATTACK PLAN 1", 0, 100, 15, 10, 0)
SET_COMPUTER_EVENT(PLAYER1,"EVENT ENEMY DOOR", 200, 1, 0, 0, 0)
SET_COMPUTER_EVENT(PLAYER2,"EVENT ENEMY DOOR", 200, 1, 0, 0, 0)
SET_COMPUTER_CHECKS(PLAYER1,"CHECK FOR QUICK ATTACK", 1000,100,5000,10,5000)
SET_COMPUTER_CHECKS(PLAYER2,"CHECK FOR QUICK ATTACK", 1000,100,5000,10,5000)
SET_COMPUTER_CHECKS(PLAYER1,"CHECK FOR ENOUGH IMPS", 25,30,20,3,0)
SET_COMPUTER_CHECKS(PLAYER2,"CHECK FOR ENOUGH IMPS", 25,30,20,3,0)
SET_COMPUTER_CHECKS(PLAYER1,"CHECK FOR SLAP IMP", 20,100,0,0,0)
SET_COMPUTER_CHECKS(PLAYER2,"CHECK FOR SLAP IMP", 20,100,0,0,0)
SET_COMPUTER_CHECKS(PLAYER1,"CHECK FOR SPEED UP", 10,0,9,3,0)
SET_COMPUTER_CHECKS(PLAYER2,"CHECK FOR SPEED UP", 10,0,9,3,0)
SET_CREATURE_TENDENCIES(PLAYER1,FLEE,1)
SET_CREATURE_TENDENCIES(PLAYER2,FLEE,1)
USE_POWER(PLAYER1,POWER_OBEY,1)
USE_POWER(PLAYER2,POWER_OBEY,1)
SET_CREATURE_CONFIGURATION(DARK_MISTRESS,PrimaryJobs,SEEK_THE_ENEMY)
SET_CREATURE_CONFIGURATION(DARK_MISTRESS,SecondaryJobs,FIGHT)
SET_CREATURE_CONFIGURATION(HORNY,PrimaryJobs,SEEK_THE_ENEMY)
SET_CREATURE_CONFIGURATION(HORNY,SecondaryJobs,FIGHT)
SET_CREATURE_CONFIGURATION(VAMPIRE,PrimaryJobs,SEEK_THE_ENEMY)
SET_CREATURE_CONFIGURATION(VAMPIRE,SecondaryJobs,FIGHT)
SET_CREATURE_CONFIGURATION(BILE_DEMON,PrimaryJobs,SEEK_THE_ENEMY)
SET_CREATURE_CONFIGURATION(BILE_DEMON,SecondaryJobs,FIGHT)
SET_CREATURE_CONFIGURATION(DRAGON,PrimaryJobs,SEEK_THE_ENEMY)
SET_CREATURE_CONFIGURATION(DRAGON,SecondaryJobs,FIGHT)
SET_CREATURE_CONFIGURATION(MAIDEN,PrimaryJobs,SEEK_THE_ENEMY)
SET_CREATURE_CONFIGURATION(MAIDEN,SecondaryJobs,FIGHT)

IF(PLAYER0,GAME_TURN >= 2000)
	QUICK_OBJECTIVE(10,"HERE THEY COME. PRAY TO YOUR GOD FOR A QUICK DEATH.",ALL_PLAYERS)
	COMPUTER_DIG_TO_LOCATION(PLAYER1,6,1)
	COMPUTER_DIG_TO_LOCATION(PLAYER1,7,1)
	COMPUTER_DIG_TO_LOCATION(PLAYER1,8,1)
	COMPUTER_DIG_TO_LOCATION(PLAYER1,9,1)

	COMPUTER_DIG_TO_LOCATION(PLAYER2,2,1)
	COMPUTER_DIG_TO_LOCATION(PLAYER2,3,1)
	COMPUTER_DIG_TO_LOCATION(PLAYER2,4,1)
	COMPUTER_DIG_TO_LOCATION(PLAYER2,5,1)
ENDIF

IF_SLAB_OWNER(15, 59, PLAYER2)
	CHANGE_SLAB_TYPE(16, 59, BRIDGE_FRAME)
	CHANGE_SLAB_TYPE(17, 59, BRIDGE_FRAME)
	CHANGE_SLAB_TYPE(17, 58, BRIDGE_FRAME)
	CHANGE_SLAB_TYPE(18, 58, BRIDGE_FRAME)
	CHANGE_SLAB_TYPE(19, 58, BRIDGE_FRAME)
	CHANGE_SLAB_TYPE(20, 58, BRIDGE_FRAME)
	CHANGE_SLAB_TYPE(21, 58, BRIDGE_FRAME)
	CHANGE_SLAB_OWNER(16, 59, PLAYER2)
	CHANGE_SLAB_OWNER(17, 59, PLAYER2)
	CHANGE_SLAB_OWNER(17, 58, PLAYER2)
	CHANGE_SLAB_OWNER(18, 58, PLAYER2)
	CHANGE_SLAB_OWNER(19, 58, PLAYER2)
	CHANGE_SLAB_OWNER(20, 58, PLAYER2)
	CHANGE_SLAB_OWNER(21, 58, PLAYER2)
ENDIF
IF_SLAB_OWNER(65, 58, PLAYER2)
	CHANGE_SLAB_TYPE(64, 58, BRIDGE_FRAME)
	CHANGE_SLAB_TYPE(63, 58, BRIDGE_FRAME)
	CHANGE_SLAB_TYPE(62, 58, BRIDGE_FRAME)
	CHANGE_SLAB_TYPE(61, 58, BRIDGE_FRAME)
	CHANGE_SLAB_TYPE(60, 58, BRIDGE_FRAME)
	CHANGE_SLAB_TYPE(59, 58, BRIDGE_FRAME)
	CHANGE_SLAB_TYPE(58, 58, BRIDGE_FRAME)
	CHANGE_SLAB_TYPE(57, 58, BRIDGE_FRAME)
	CHANGE_SLAB_TYPE(56, 58, BRIDGE_FRAME)
	CHANGE_SLAB_TYPE(55, 58, BRIDGE_FRAME)
	CHANGE_SLAB_TYPE(54, 58, BRIDGE_FRAME)
	CHANGE_SLAB_OWNER(64, 58, PLAYER2)
	CHANGE_SLAB_OWNER(63, 58, PLAYER2)
	CHANGE_SLAB_OWNER(62, 58, PLAYER2)
	CHANGE_SLAB_OWNER(61, 58, PLAYER2)
	CHANGE_SLAB_OWNER(60, 58, PLAYER2)
	CHANGE_SLAB_OWNER(59, 58, PLAYER2)
	CHANGE_SLAB_OWNER(58, 58, PLAYER2)
	CHANGE_SLAB_OWNER(57, 58, PLAYER2)
	CHANGE_SLAB_OWNER(56, 58, PLAYER2)
	CHANGE_SLAB_OWNER(55, 58, PLAYER2)
	CHANGE_SLAB_OWNER(54, 58, PLAYER2)
ENDIF
IF_SLAB_OWNER(30, 64, PLAYER2)
	CHANGE_SLAB_TYPE(30, 63, BRIDGE_FRAME)
	CHANGE_SLAB_TYPE(30, 62, BRIDGE_FRAME)
	CHANGE_SLAB_TYPE(30, 61, BRIDGE_FRAME)
	CHANGE_SLAB_TYPE(30, 60, BRIDGE_FRAME)
	CHANGE_SLAB_TYPE(30, 59, BRIDGE_FRAME)
	CHANGE_SLAB_TYPE(30, 58, BRIDGE_FRAME)
	CHANGE_SLAB_OWNER(30, 63, PLAYER2)
	CHANGE_SLAB_OWNER(30, 62, PLAYER2)
	CHANGE_SLAB_OWNER(30, 61, PLAYER2)
	CHANGE_SLAB_OWNER(30, 60, PLAYER2)
	CHANGE_SLAB_OWNER(30, 59, PLAYER2)
	CHANGE_SLAB_OWNER(30, 58, PLAYER2)
ENDIF
IF_SLAB_OWNER(33, 64, PLAYER2)
	CHANGE_SLAB_TYPE(33, 63, BRIDGE_FRAME)
	CHANGE_SLAB_TYPE(33, 62, BRIDGE_FRAME)
	CHANGE_SLAB_TYPE(33, 61, BRIDGE_FRAME)
	CHANGE_SLAB_TYPE(33, 60, BRIDGE_FRAME)
	CHANGE_SLAB_TYPE(33, 59, BRIDGE_FRAME)
	CHANGE_SLAB_TYPE(33, 58, BRIDGE_FRAME)
	CHANGE_SLAB_OWNER(33, 63, PLAYER2)
	CHANGE_SLAB_OWNER(33, 62, PLAYER2)
	CHANGE_SLAB_OWNER(33, 61, PLAYER2)
	CHANGE_SLAB_OWNER(33, 60, PLAYER2)
	CHANGE_SLAB_OWNER(33, 59, PLAYER2)
	CHANGE_SLAB_OWNER(33, 58, PLAYER2)
ENDIF
IF_SLAB_OWNER(14, 25, PLAYER1)
	CHANGE_SLAB_TYPE(14, 26, BRIDGE_FRAME)
	CHANGE_SLAB_TYPE(15, 26, BRIDGE_FRAME)
	CHANGE_SLAB_TYPE(16, 26, BRIDGE_FRAME)
	CHANGE_SLAB_TYPE(17, 26, BRIDGE_FRAME)
	CHANGE_SLAB_TYPE(18, 26, BRIDGE_FRAME)
	CHANGE_SLAB_TYPE(19, 26, BRIDGE_FRAME)
	CHANGE_SLAB_OWNER(14, 26, PLAYER1)
	CHANGE_SLAB_OWNER(15, 26, PLAYER1)
	CHANGE_SLAB_OWNER(16, 26, PLAYER1)
	CHANGE_SLAB_OWNER(17, 26, PLAYER1)
	CHANGE_SLAB_OWNER(18, 26, PLAYER1)
	CHANGE_SLAB_OWNER(19, 26, PLAYER1)
ENDIF
IF_SLAB_OWNER(51, 24, PLAYER1)
	CHANGE_SLAB_TYPE(51, 25, BRIDGE_FRAME)
	CHANGE_SLAB_TYPE(50, 25, BRIDGE_FRAME)
	CHANGE_SLAB_TYPE(49, 25, BRIDGE_FRAME)
	CHANGE_SLAB_TYPE(48, 25, BRIDGE_FRAME)
	CHANGE_SLAB_TYPE(47, 25, BRIDGE_FRAME)
	CHANGE_SLAB_OWNER(51, 25, PLAYER1)
	CHANGE_SLAB_OWNER(50, 25, PLAYER1)
	CHANGE_SLAB_OWNER(49, 25, PLAYER1)
	CHANGE_SLAB_OWNER(48, 25, PLAYER1)
	CHANGE_SLAB_OWNER(47, 25, PLAYER1)
ENDIF
IF_SLAB_OWNER(30, 20, PLAYER1)
	CHANGE_SLAB_TYPE(30, 21, BRIDGE_FRAME)
	CHANGE_SLAB_TYPE(30, 22, BRIDGE_FRAME)
	CHANGE_SLAB_TYPE(30, 23, BRIDGE_FRAME)
	CHANGE_SLAB_OWNER(30, 21, PLAYER1)
	CHANGE_SLAB_OWNER(30, 22, PLAYER1)
	CHANGE_SLAB_OWNER(30, 23, PLAYER1)
ENDIF
IF_SLAB_OWNER(38, 20, PLAYER1)
	CHANGE_SLAB_TYPE(38, 21, BRIDGE_FRAME)
	CHANGE_SLAB_TYPE(38, 22, BRIDGE_FRAME)
	CHANGE_SLAB_TYPE(38, 23, BRIDGE_FRAME)
	CHANGE_SLAB_OWNER(38, 21, PLAYER1)
	CHANGE_SLAB_OWNER(38, 22, PLAYER1)
	CHANGE_SLAB_OWNER(38, 23, PLAYER1)
ENDIF

CREATE_PARTY(KNIGHT)
ADD_TO_PARTY(KNIGHT,KNIGHT,10,0,ATTACK_ENEMIES,-1000)
CREATE_PARTY(SAMURAI)
ADD_TO_PARTY(SAMURAI,SAMURAI,10,0,ATTACK_ENEMIES,-1000)
CREATE_PARTY(WIZARD)
ADD_TO_PARTY(WIZARD,WIZARD,10,0,ATTACK_ENEMIES,-1000)
CREATE_PARTY(GIANT)
ADD_TO_PARTY(GIANT,GIANT,10,0,ATTACK_ENEMIES,-1000)
CREATE_PARTY(FAIRY)
ADD_TO_PARTY(FAIRY,FAIRY,10,0,ATTACK_ENEMIES,-1000)

IF_ACTION_POINT(1,PLAYER5)
	QUICK_OBJECTIVE(99,"You raised the beacon and the alliance responded. This battle ends here once and for all.",ALL_PLAYERS)
	ALLY_PLAYERS(PLAYER0,PLAYER_GOOD,3)
	ALLY_PLAYERS(PLAYER6,PLAYER_GOOD,3)
	ADD_PARTY_TO_LEVEL(PLAYER_GOOD,KNIGHT,-1,8)
	ADD_PARTY_TO_LEVEL(PLAYER_GOOD,KNIGHT,1,8)
	ADD_PARTY_TO_LEVEL(PLAYER_GOOD,KNIGHT,-3,8)
	ADD_PARTY_TO_LEVEL(PLAYER_GOOD,SAMURAI,-1,8)
	ADD_PARTY_TO_LEVEL(PLAYER_GOOD,SAMURAI,1,8)
	ADD_PARTY_TO_LEVEL(PLAYER_GOOD,SAMURAI,-3,8)
	ADD_PARTY_TO_LEVEL(PLAYER_GOOD,WIZARD,-1,8)
	ADD_PARTY_TO_LEVEL(PLAYER_GOOD,WIZARD,1,8)
	ADD_PARTY_TO_LEVEL(PLAYER_GOOD,WIZARD,-3,8)
	ADD_PARTY_TO_LEVEL(PLAYER_GOOD,GIANT,-1,8)
	ADD_PARTY_TO_LEVEL(PLAYER_GOOD,GIANT,1,8)
	ADD_PARTY_TO_LEVEL(PLAYER_GOOD,GIANT,-3,8)
	ADD_PARTY_TO_LEVEL(PLAYER_GOOD,GIANT,-4,8)
	ADD_PARTY_TO_LEVEL(PLAYER_GOOD,GIANT,-5,8)
	ADD_PARTY_TO_LEVEL(PLAYER_GOOD,FAIRY,-4,8)
	ADD_PARTY_TO_LEVEL(PLAYER_GOOD,FAIRY,-5,8)
ENDIF

IF(PLAYER0,ALL_DUNGEONS_DESTROYED == 1)
	QUICK_OBJECTIVE(2,"You have beaten this final challenge and finished the pack! (Yes we all know you are the greatest master keeper on earth and famously have the biggest dick and are just more awesome than everyone else around yada yada)",ALL_PLAYERS)
	WIN_GAME
ENDIF
