LEVEL_VERSION(1)

SET_GENERATE_SPEED(750)

REM Computer Player stuff
COMPUTER_PLAYER(PLAYER0,7)

START_MONEY(PLAYER0,160000)
START_MONEY(PLAYER1,1600)

MAX_CREATURES(PLAYER0,26)
MAX_CREATURES(PLAYER1,16)

ADD_CREATURE_TO_POOL(TROLL,8)
ADD_CREATURE_TO_POOL(ORC,20)
ADD_CREATURE_TO_POOL(HORNY,2)
ADD_CREATURE_TO_POOL(BILE_DEMON,20)
ADD_CREATURE_TO_POOL(TENTACLE,10)
ADD_CREATURE_TO_POOL(DARK_MISTRESS,20)
ADD_CREATURE_TO_POOL(SORCEROR,5)
ADD_CREATURE_TO_POOL(DRAGON,2)
ADD_CREATURE_TO_POOL(HELL_HOUND,20)

REM	Creature availability
CREATURE_AVAILABLE(PLAYER0,TROLL,1,0)
CREATURE_AVAILABLE(PLAYER0,DRAGON,1,0)
CREATURE_AVAILABLE(PLAYER0,HORNY,1,0)
CREATURE_AVAILABLE(ALL_PLAYERS,DARK_MISTRESS,1,0)
CREATURE_AVAILABLE(PLAYER1,SORCEROR,1,0)
CREATURE_AVAILABLE(ALL_PLAYERS,BILE_DEMON,1,0)
CREATURE_AVAILABLE(ALL_PLAYERS,HELL_HOUND,1,0)
CREATURE_AVAILABLE(PLAYER1,TENTACLE,1,0)
CREATURE_AVAILABLE(PLAYER1,ORC,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,BRIDGE,1,0)
ROOM_AVAILABLE(ALL_PLAYERS,WORKSHOP,1,0)
ROOM_AVAILABLE(ALL_PLAYERS,BARRACKS,1,0)
ROOM_AVAILABLE(ALL_PLAYERS,PRISON,1,0)
ROOM_AVAILABLE(ALL_PLAYERS,TORTURE,1,0)
ROOM_AVAILABLE(ALL_PLAYERS,TEMPLE,1,0)
ROOM_AVAILABLE(ALL_PLAYERS,GRAVEYARD,1,0)
ROOM_AVAILABLE(PLAYER0,SCAVENGER,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(ALL_PLAYERS,POWER_SIGHT,1,1)
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_HEAL_CREATURE,1,0)
MAGIC_AVAILABLE(PLAYER0,POWER_LIGHTNING,1,0)
MAGIC_AVAILABLE(ALL_PLAYERS,POWER_PROTECT,1,0)
MAGIC_AVAILABLE(PLAYER0,POWER_CHICKEN,1,0)
MAGIC_AVAILABLE(ALL_PLAYERS,POWER_DISEASE,1,0)
MAGIC_AVAILABLE(ALL_PLAYERS,POWER_ARMAGEDDON,1,0)
MAGIC_AVAILABLE(ALL_PLAYERS,POWER_DESTROY_WALLS,1,0)

REM	Doors and traps availability
TRAP_AVAILABLE(ALL_PLAYERS,LIGHTNING,1,0)
TRAP_AVAILABLE(ALL_PLAYERS,WORD_OF_POWER,1,0)
DOOR_AVAILABLE(ALL_PLAYERS,STEEL,1,0)
DOOR_AVAILABLE(ALL_PLAYERS,MAGIC,1,0)

CREATE_PARTY(THIEFGUARD)
	ADD_TO_PARTY(THIEFGUARD,ARCHER,6,750,DEFEND_PARTY,0)
	ADD_TO_PARTY(THIEFGUARD,ARCHER,6,750,DEFEND_PARTY,0)
	ADD_TO_PARTY(THIEFGUARD,ARCHER,6,750,DEFEND_PARTY,0)
	ADD_TO_PARTY(THIEFGUARD,THIEF,10,1750,ATTACK_DUNGEON_HEART,0)

CREATE_PARTY(DWARVES)
	ADD_TO_PARTY(DWARVES,DWARFA,5,800,ATTACK_ENEMIES,0)
	ADD_TO_PARTY(DWARVES,DWARFA,5,800,ATTACK_ENEMIES,0)
	ADD_TO_PARTY(DWARVES,DWARFA,5,800,ATTACK_ENEMIES,0)
	ADD_TO_PARTY(DWARVES,DWARFA,5,800,ATTACK_ENEMIES,0)
	ADD_TO_PARTY(DWARVES,DWARFA,5,800,ATTACK_ENEMIES,0)
	ADD_TO_PARTY(DWARVES,DWARFA,5,800,ATTACK_ENEMIES,0)

CREATE_PARTY(BARBS)
	ADD_TO_PARTY(BARBS,BARBARIAN,8,1000,ATTACK_ENEMIES,0)
	ADD_TO_PARTY(BARBS,BARBARIAN,8,1000,ATTACK_ENEMIES,0)
	ADD_TO_PARTY(BARBS,BARBARIAN,8,1000,ATTACK_ENEMIES,0)
	ADD_TO_PARTY(BARBS,BARBARIAN,8,1000,ATTACK_ENEMIES,0)
	ADD_TO_PARTY(BARBS,BARBARIAN,8,1000,ATTACK_ENEMIES,0)
	ADD_TO_PARTY(BARBS,BARBARIAN,8,1000,ATTACK_ENEMIES,0)

CREATE_PARTY(WIZARDS)
	ADD_TO_PARTY(WIZARDS,WIZARD,6,1200,ATTACK_ENEMIES,0)
	ADD_TO_PARTY(WIZARDS,WIZARD,6,1200,ATTACK_ENEMIES,0)
	ADD_TO_PARTY(WIZARDS,WIZARD,6,1200,ATTACK_ENEMIES,0)
	ADD_TO_PARTY(WIZARDS,WIZARD,6,1200,ATTACK_ENEMIES,0)
	ADD_TO_PARTY(WIZARDS,WIZARD,6,1200,ATTACK_ENEMIES,0)
	ADD_TO_PARTY(WIZARDS,WIZARD,6,1200,ATTACK_ENEMIES,0)

CREATE_PARTY(GIANTGUARD)
	ADD_TO_PARTY(GIANTGUARD,GIANT,8,2000,ATTACK_ENEMIES,0)
	ADD_TO_PARTY(GIANTGUARD,GIANT,8,2000,ATTACK_ENEMIES,0)
	ADD_TO_PARTY(GIANTGUARD,GIANT,8,2000,ATTACK_ENEMIES,0)
	ADD_TO_PARTY(GIANTGUARD,ARCHER,6,300,ATTACK_ENEMIES,0)
	ADD_TO_PARTY(GIANTGUARD,ARCHER,6,300,ATTACK_ENEMIES,0)
	ADD_TO_PARTY(GIANTGUARD,ARCHER,6,300,ATTACK_ENEMIES,0)

CREATE_PARTY(THIEVES)
	ADD_TO_PARTY(THIEVES,THIEF,9,200,STEAL_GOLD,0)
	ADD_TO_PARTY(THIEVES,THIEF,9,200,STEAL_GOLD,0)
	ADD_TO_PARTY(THIEVES,THIEF,9,200,STEAL_GOLD,0)
	ADD_TO_PARTY(THIEVES,THIEF,9,200,STEAL_GOLD,0)
	ADD_TO_PARTY(THIEVES,THIEF,9,200,STEAL_GOLD,0)
	ADD_TO_PARTY(THIEVES,THIEF,9,200,STEAL_GOLD,0)

CREATE_PARTY(WITCHES)
	ADD_TO_PARTY(WITCHES,WITCH,8,1200,ATTACK_ENEMIES,0)
	ADD_TO_PARTY(WITCHES,WITCH,8,1200,ATTACK_ENEMIES,0)
	ADD_TO_PARTY(WITCHES,WITCH,8,1200,ATTACK_ENEMIES,0)
	ADD_TO_PARTY(WITCHES,WITCH,8,1200,ATTACK_ENEMIES,0)
	ADD_TO_PARTY(WITCHES,WITCH,8,1200,ATTACK_ENEMIES,0)
	ADD_TO_PARTY(WITCHES,WITCH,8,1200,ATTACK_ENEMIES,0)

CREATE_PARTY(ELITE)
	ADD_TO_PARTY(ELITE,SAMURAI,9,4000,ATTACK_ENEMIES,0)
	ADD_TO_PARTY(ELITE,WIZARD,8,2000,STEAL_SPELLS,0)
	ADD_TO_PARTY(ELITE,BARBARIAN,8,2000,STEAL_GOLD,0)
	ADD_TO_PARTY(ELITE,GIANT,7,2000,STEAL_SPELLS,0)
	ADD_TO_PARTY(ELITE,FAIRY,8,1000,ATTACK_ENEMIES,0)

REM ****************************************************************************
QUICK_OBJECTIVE(1,"Red Keeper have sacrificed all his minions and begged the Dark God for power, he got powerful horned reapers as the reward. And he also learned how to keep them happy. Be careful don't let them cut your head off.",PLAYER1)

IF(PLAYER1,REWARDED[HORNY] >= 1)
  QUICK_INFORMATION(2, "You can only summon one horned reaper from your temple.", PLAYER1)
  REMOVE_SACRIFICE_RECIPE(TROLL,BILE_DEMON,DARK_MISTRESS)
ENDIF

IF(PLAYER1,SKELETONS_RAISED >= 10)
	SET_GAME_RULE(PrisonSkeletonChance,0)
	QUICK_INFORMATION(11, "You can't get more skeletons from prison.", PLAYER1)
ENDIF

IF(PLAYER1,GHOSTS_RAISED >= 10)
	SET_GAME_RULE(GhostConvertChance,0)
	QUICK_INFORMATION(12, "You can't get more ghosts from torture room.", PLAYER1)
ENDIF

IF(PLAYER1,CREATURES_CONVERTED >= 15)
    SET_GAME_RULE(TortureConvertChance,0)
	SET_GAME_RULE(TortureDeathChance,100)
	QUICK_INFORMATION(13, "You can't convert more creatures from torture room.", PLAYER1)
ENDIF

IF(PLAYER1,VAMPIRES_RAISED >= 3)
    SET_GAME_RULE(BodiesForVampire,255)
	QUICK_INFORMATION(14, "You can't get more vampires from graveyard.", PLAYER1)
ENDIF

IF(PLAYER1,GAME_TURN>=42500)
	IF(PLAYER0,DUNGEON_DESTROYED == 0)
	QUICK_INFORMATION(4, "Your opponent seems to have already lost his patience. I feel that he is going to come and get rid of you.", PLAYER1)

	IF_SLAB_OWNER(41,60,PLAYER0)
		SET_DOOR(UNLOCKED,41,60)
		ADD_CREATURE_TO_LEVEL(PLAYER0,IMP,11,2,6,0)
	ENDIF

	IF_SLAB_OWNER(43,60,PLAYER0)
		SET_DOOR(UNLOCKED,43,60)
		ADD_CREATURE_TO_LEVEL(PLAYER0,IMP,11,2,6,0)
	ENDIF
	ENDIF
ENDIF

IF(PLAYER1,GAME_TURN>=42800)
	IF(PLAYER0,DUNGEON_DESTROYED == 0)
	IF_SLAB_OWNER(42,57,PLAYER0)
		SET_DOOR(UNLOCKED,42,57)
	ENDIF
ENDIF
ENDIF

IF(PLAYER1,ENTRANCE>9)
	MAX_CREATURES(PLAYER1,26)
	QUICK_INFORMATION(5, "You got a new portal and your creature limit is increased.", PLAYER1)
ENDIF

IF_ACTION_POINT(1,PLAYER1)
	ADD_PARTY_TO_LEVEL(PLAYER_GOOD,THIEFGUARD,2,1)
ENDIF

IF_ACTION_POINT(4,PLAYER1)
	ADD_PARTY_TO_LEVEL(PLAYER_GOOD,DWARVES,4,1)
	SET_TIMER(PLAYER_GOOD,TIMER0)
	QUICK_INFORMATION(8, "Oh, some dwarves are hiding behind the gem seam!", PLAYER1)
ENDIF

IF(PLAYER_GOOD,TIMER0 >= 1500)
	ADD_PARTY_TO_LEVEL(PLAYER_GOOD,BARBS,-1,1)
ENDIF

IF_ACTION_POINT(7,PLAYER1)
	ADD_PARTY_TO_LEVEL(PLAYER_GOOD,WIZARDS,-4,1)
ENDIF

IF_ACTION_POINT(6,PLAYER1)
	ADD_PARTY_TO_LEVEL(PLAYER_GOOD,GIANTGUARD,-5,1)
ENDIF

IF_ACTION_POINT(5,PLAYER1)
	ADD_PARTY_TO_LEVEL(PLAYER_GOOD,THIEVES,-3,1)
ENDIF

IF_ACTION_POINT(3,PLAYER1)
	ADD_PARTY_TO_LEVEL(PLAYER_GOOD,WITCHES,-2,1)
ENDIF

IF_ACTION_POINT(8,PLAYER1)
	ADD_PARTY_TO_LEVEL(PLAYER_GOOD,BARBS,9,1)
ENDIF

IF_AVAILABLE(PLAYER1,POWER_CONCEAL >= 1)
	ADD_TUNNELLER_PARTY_TO_LEVEL(PLAYER_GOOD,ELITE,10,DUNGEON_HEART,1,6,500)
ENDIF

IF(PLAYER1,TOTAL_CREATURES >= 16)
	ADD_TUNNELLER_PARTY_TO_LEVEL(PLAYER_GOOD,ELITE,10,DUNGEON_HEART,1,6,500)
ENDIF

IF(PLAYER0,TOTAL_CREATURES >= 23)
	IF_AVAILABLE(PLAYER0,POWER_CONCEAL >= 1)
		ADD_TUNNELLER_PARTY_TO_LEVEL(PLAYER_GOOD,ELITE,10,DUNGEON_HEART,1,6,500)
	ENDIF
ENDIF

IF(PLAYER0,DUNGEON_DESTROYED == 1)
	QUICK_OBJECTIVE(6,"Your continuous victory is letting me get bored, Keeper.",PLAYER1)
	WIN_GAME
ENDIF
