LEVEL_VERSION(1)
SET_GENERATE_SPEED(500)
START_MONEY(PLAYER0,3000)
START_MONEY(PLAYER1,10000)
START_MONEY(PLAYER2,10000)
START_MONEY(PLAYER3,10000)
MAX_CREATURES(ALL_PLAYERS,0)

COMPUTER_PLAYER(PLAYER1,0)
COMPUTER_PLAYER(PLAYER2,0)
COMPUTER_PLAYER(PLAYER3,0)

ALLY_PLAYERS(PLAYER2,PLAYER3,1)

SET_COMPUTER_CHECKS(PLAYER2,"CHECK FOR NEUTRAL PLACES",15000,0,0,0,65000)
SET_COMPUTER_CHECKS(PLAYER2,"CHECK FOR QUICK ATTACK",700,70,3000,8,12500)
SET_COMPUTER_PROCESS(PLAYER2,"ATTACK SAFE ATTACK",-1,100,22,100,0)
SET_COMPUTER_PROCESS(PLAYER2,"ATTACK PLAN 1",-1,100,22,100,0)

SET_COMPUTER_CHECKS(PLAYER3,"CHECK FOR NEUTRAL PLACES",15000,0,0,0,65000)
SET_COMPUTER_CHECKS(PLAYER3,"CHECK FOR QUICK ATTACK",700,70,3000,8,12500)
SET_COMPUTER_PROCESS(PLAYER3,"ATTACK SAFE ATTACK",-1,100,22,100,0)
SET_COMPUTER_PROCESS(PLAYER3,"ATTACK PLAN 1",-1,100,22,100,0)

ADD_CREATURE_TO_POOL(FLY,20)
ADD_CREATURE_TO_POOL(TROLL,20)
ADD_CREATURE_TO_POOL(SPIDER,60)
ADD_CREATURE_TO_POOL(HELL_HOUND,20)
ADD_CREATURE_TO_POOL(TENTACLE,60)
ADD_CREATURE_TO_POOL(SORCEROR,20)
ADD_CREATURE_TO_POOL(ORC,20)
ADD_CREATURE_TO_POOL(BILE_DEMON,20)
ADD_CREATURE_TO_POOL(DRAGON,40)
ADD_CREATURE_TO_POOL(DARK_MISTRESS,20)

CREATURE_AVAILABLE(ALL_PLAYERS,FLY,1,0)
CREATURE_AVAILABLE(ALL_PLAYERS,TROLL,1,0)
CREATURE_AVAILABLE(ALL_PLAYERS,SPIDER,1,0)
CREATURE_AVAILABLE(ALL_PLAYERS,HELL_HOUND,1,0)
CREATURE_AVAILABLE(ALL_PLAYERS,TENTACLE,1,0)
CREATURE_AVAILABLE(ALL_PLAYERS,SORCEROR,1,0)
CREATURE_AVAILABLE(ALL_PLAYERS,ORC,1,0)
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(PLAYER0,TREASURE,1,1)
ROOM_AVAILABLE(PLAYER0,LAIR,1,1)
ROOM_AVAILABLE(PLAYER0,GARDEN,1,1)
ROOM_AVAILABLE(PLAYER0,TRAINING,1,1)
ROOM_AVAILABLE(PLAYER0,RESEARCH,1,1)
ROOM_AVAILABLE(PLAYER0,BRIDGE,1,0)
ROOM_AVAILABLE(PLAYER1,BRIDGE,1,0)
ROOM_AVAILABLE(PLAYER0,GUARD_POST,1,0)
ROOM_AVAILABLE(PLAYER0,WORKSHOP,1,0)
ROOM_AVAILABLE(PLAYER0,PRISON,1,0)
ROOM_AVAILABLE(PLAYER0,TORTURE,1,0)
ROOM_AVAILABLE(PLAYER0,BARRACKS,1,0)
ROOM_AVAILABLE(PLAYER0,TEMPLE,1,0)
ROOM_AVAILABLE(PLAYER0,GRAVEYARD,1,0)
ROOM_AVAILABLE(PLAYER0,SCAVENGER,1,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,1,0)
MAGIC_AVAILABLE(ALL_PLAYERS,POWER_CALL_TO_ARMS,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_CHICKEN,1,0)
MAGIC_AVAILABLE(ALL_PLAYERS,POWER_DESTROY_WALLS,1,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,BOULDER,1,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)

CREATE_PARTY(HERO_A)
	ADD_TO_PARTY(HERO_A,WIZARD,8,2000,ATTACK_DUNGEON_HEART,0)
	ADD_TO_PARTY(HERO_A,WIZARD,8,2000,ATTACK_DUNGEON_HEART,0)
	ADD_TO_PARTY(HERO_A,GIANT,8,2000,ATTACK_DUNGEON_HEART,0)
	ADD_TO_PARTY(HERO_A,FAIRY,8,2000,ATTACK_DUNGEON_HEART,0)
	ADD_TO_PARTY(HERO_A,FAIRY,8,2000,ATTACK_DUNGEON_HEART,0)
	ADD_TO_PARTY(HERO_A,WITCH,8,2000,ATTACK_DUNGEON_HEART,0)
	ADD_TO_PARTY(HERO_A,MONK,8,2000,ATTACK_DUNGEON_HEART,0)
	ADD_TO_PARTY(HERO_A,MONK,8,2000,ATTACK_DUNGEON_HEART,0)

CREATE_PARTY(HERO_B)
	ADD_TO_PARTY(HERO_B,SAMURAI,8,2000,ATTACK_DUNGEON_HEART,0)
	ADD_TO_PARTY(HERO_B,SAMURAI,8,2000,ATTACK_DUNGEON_HEART,0)
	ADD_TO_PARTY(HERO_B,WIZARD,8,2000,ATTACK_DUNGEON_HEART,0)
	ADD_TO_PARTY(HERO_B,ARCHER,8,2000,ATTACK_DUNGEON_HEART,0)
	ADD_TO_PARTY(HERO_B,ARCHER,8,2000,ATTACK_DUNGEON_HEART,0)
	ADD_TO_PARTY(HERO_B,BARBARIAN,8,2000,ATTACK_DUNGEON_HEART,0)
	ADD_TO_PARTY(HERO_B,BARBARIAN,8,2000,ATTACK_DUNGEON_HEART,0)
	ADD_TO_PARTY(HERO_B,FAIRY,8,2000,ATTACK_DUNGEON_HEART,0)

IF(PLAYER0,GAME_TURN >= 0)
	QUICK_OBJECTIVE(​0,​"Three rival keepers test your might in this volcanic land. Time for some evicting wouldn't you say?",ALL_PLAYERS)
	SET_TIMER(PLAYER1,TIMER1)
ENDIF

IF(PLAYER0,ENTRANCE == 9)
	NEXT_COMMAND_REUSABLE
	MAX_CREATURES(PLAYER0,15)
ENDIF
IF(PLAYER0,ENTRANCE == 18)
	NEXT_COMMAND_REUSABLE
	MAX_CREATURES(PLAYER0,20)
ENDIF
IF(PLAYER0,ENTRANCE == 27)
	NEXT_COMMAND_REUSABLE
	MAX_CREATURES(PLAYER0,25)
ENDIF
IF(PLAYER0,ENTRANCE == 36)
	NEXT_COMMAND_REUSABLE
	MAX_CREATURES(PLAYER0,30)
ENDIF

IF(PLAYER1,ENTRANCE == 9)
	NEXT_COMMAND_REUSABLE
	MAX_CREATURES(PLAYER1,15)
ENDIF
IF(PLAYER1,ENTRANCE == 18)
	NEXT_COMMAND_REUSABLE
	MAX_CREATURES(PLAYER1,20)
ENDIF
IF(PLAYER1,ENTRANCE == 27)
	NEXT_COMMAND_REUSABLE
	MAX_CREATURES(PLAYER1,25)
ENDIF
IF(PLAYER1,ENTRANCE == 36)
	NEXT_COMMAND_REUSABLE
	MAX_CREATURES(PLAYER1,30)
ENDIF

IF(PLAYER2,ENTRANCE == 9)
	NEXT_COMMAND_REUSABLE
	MAX_CREATURES(PLAYER2,15)
ENDIF
IF(PLAYER2,ENTRANCE == 18)
	NEXT_COMMAND_REUSABLE
	MAX_CREATURES(PLAYER2,20)
ENDIF
IF(PLAYER2,ENTRANCE == 27)
	NEXT_COMMAND_REUSABLE
	MAX_CREATURES(PLAYER2,25)
ENDIF
IF(PLAYER2,ENTRANCE == 36)
	NEXT_COMMAND_REUSABLE
	MAX_CREATURES(PLAYER2,30)
ENDIF

IF(PLAYER3,ENTRANCE == 9)
	NEXT_COMMAND_REUSABLE
	MAX_CREATURES(PLAYER3,15)
ENDIF
IF(PLAYER3,ENTRANCE == 18)
	NEXT_COMMAND_REUSABLE
	MAX_CREATURES(PLAYER3,20)
ENDIF
IF(PLAYER3,ENTRANCE == 27)
	NEXT_COMMAND_REUSABLE
	MAX_CREATURES(PLAYER3,25)
ENDIF
IF(PLAYER3,ENTRANCE == 36)
	NEXT_COMMAND_REUSABLE
	MAX_CREATURES(PLAYER3,30)
ENDIF

IF_SLAB_OWNER(​36,11,​PLAYER0)
	SET_TIMER(PLAYER0,TIMER0)
ENDIF

IF(PLAYER0,TIMER0 >= 12000)
	ADD_PARTY_TO_LEVEL(PLAYER_GOOD,HERO_A,-1,1)
	IF(PLAYER0,TIMER0 >= 18000)
		ADD_PARTY_TO_LEVEL(PLAYER_GOOD,HERO_B,-1,1)
		IF(PLAYER0,TIMER0 >= 24000)
			ADD_PARTY_TO_LEVEL(PLAYER_GOOD,HERO_A,-1,1)
			IF(PLAYER0,TIMER0 >= 30000)
				ADD_PARTY_TO_LEVEL(PLAYER_GOOD,HERO_B,-1,1)
				IF(PLAYER0,TIMER0 >= 36000)
					ADD_PARTY_TO_LEVEL(PLAYER_GOOD,HERO_A,-1,1)
					IF(PLAYER0,TIMER0 >= 42000)
						ADD_PARTY_TO_LEVEL(PLAYER_GOOD,HERO_B,-1,1)
						IF(PLAYER0,TIMER0 >= 48000)
							ADD_PARTY_TO_LEVEL(PLAYER_GOOD,HERO_A,-1,1)
							IF(PLAYER0,TIMER0 >= 54000)
								ADD_PARTY_TO_LEVEL(PLAYER_GOOD,HERO_B,-1,1)
								IF(PLAYER0,TIMER0 >= 60000)
									ADD_PARTY_TO_LEVEL(PLAYER_GOOD,HERO_A,-1,1)
									IF(PLAYER0,TIMER0 >= 66000)
										ADD_PARTY_TO_LEVEL(PLAYER_GOOD,HERO_B,-1,1)
										IF(PLAYER0,TIMER0 >= 120000)
											ADD_PARTY_TO_LEVEL(PLAYER_GOOD,HERO_A,-1,1)
										ENDIF
									ENDIF
								ENDIF
							ENDIF
						ENDIF
					ENDIF
				ENDIF
			ENDIF
		ENDIF
	ENDIF
ENDIF

IF(PLAYER0,ALL_DUNGEONS_DESTROYED == 1)
	QUICK_OBJECTIVE(​1,​"Nobody shall know of this victory except you. Journey on, my lord.",ALL_PLAYERS)
	WIN_GAME
ENDIF