LEVEL_VERSION(1)
SET_GENERATE_SPEED(400)
START_MONEY(PLAYER0,15000)
START_MONEY(PLAYER1,20000)
MAX_CREATURES(PLAYER0,25)
MAX_CREATURES(PLAYER1,25)

SET_GAME_RULE(ImpWorkExperience, 300)

COMPUTER_PLAYER(PLAYER1,0)

ADD_CREATURE_TO_POOL(DWARFA,8)
ADD_CREATURE_TO_POOL(ARCHER,8)
ADD_CREATURE_TO_POOL(BARBARIAN,8)
ADD_CREATURE_TO_POOL(MONK,8)
ADD_CREATURE_TO_POOL(GIANT,8)
ADD_CREATURE_TO_POOL(FAIRY,8)
ADD_CREATURE_TO_POOL(WIZARD,8)
ADD_CREATURE_TO_POOL(WITCH,8)
ADD_CREATURE_TO_POOL(SAMURAI,8)

ADD_CREATURE_TO_POOL(TROLL,10)
ADD_CREATURE_TO_POOL(DRAGON,16)
ADD_CREATURE_TO_POOL(DARK_MISTRESS,10)
ADD_CREATURE_TO_POOL(BILE_DEMON,10)
ADD_CREATURE_TO_POOL(TENTACLE,3)
ADD_CREATURE_TO_POOL(ORC,16)
ADD_CREATURE_TO_POOL(HELL_HOUND,10)

CREATURE_AVAILABLE(PLAYER0,DWARFA,1,0)
CREATURE_AVAILABLE(PLAYER0,ARCHER,1,0)
CREATURE_AVAILABLE(PLAYER0,GIANT,1,0)
CREATURE_AVAILABLE(PLAYER0,MONK,1,0)
CREATURE_AVAILABLE(PLAYER0,BARBARIAN,1,0)
CREATURE_AVAILABLE(PLAYER0,FAIRY,1,0)
CREATURE_AVAILABLE(PLAYER0,WIZARD,1,0)
CREATURE_AVAILABLE(PLAYER0,WITCH,1,0)
CREATURE_AVAILABLE(PLAYER0,SAMURAI,1,0)

CREATURE_AVAILABLE(PLAYER1,TROLL,1,0)
CREATURE_AVAILABLE(PLAYER1,DRAGON,1,0)
CREATURE_AVAILABLE(PLAYER1,DARK_MISTRESS,1,0)
CREATURE_AVAILABLE(PLAYER1,BILE_DEMON,1,0)
CREATURE_AVAILABLE(PLAYER1,TENTACLE,1,0)
CREATURE_AVAILABLE(PLAYER1,ORC,1,0)
CREATURE_AVAILABLE(PLAYER1,HELL_HOUND,1,0)

MAGIC_AVAILABLE(ALL_PLAYERS,POWER_IMP,1,1)
MAGIC_AVAILABLE(ALL_PLAYERS,POWER_HAND,1,1)
MAGIC_AVAILABLE(ALL_PLAYERS,POWER_POSSESS,1,1)
MAGIC_AVAILABLE(ALL_PLAYERS,POWER_HAND,1,1)
MAGIC_AVAILABLE(ALL_PLAYERS,POWER_SLAP,1,1)
MAGIC_AVAILABLE(ALL_PLAYERS,POWER_HEAL_CREATURE,1,0)
MAGIC_AVAILABLE(ALL_PLAYERS,POWER_CONCEAL,1,0)
MAGIC_AVAILABLE(ALL_PLAYERS,POWER_SIGHT,1,0)
MAGIC_AVAILABLE(ALL_PLAYERS,POWER_SPEED,1,0)
MAGIC_AVAILABLE(ALL_PLAYERS,POWER_PROTECT,1,0)
MAGIC_AVAILABLE(ALL_PLAYERS,POWER_OBEY,1,0)
MAGIC_AVAILABLE(ALL_PLAYERS,POWER_CALL_TO_ARMS,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,WORD_OF_POWER,1,0)

REM No workshop for AI, otherwise it half asses training units and will probably just kill itself
REM And no prison or the classic bile demon x skeleton issue
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,TEMPLE,1,0)
ROOM_AVAILABLE(PLAYER0,WORKSHOP,1,0)
ROOM_AVAILABLE(ALL_PLAYERS,TORTURE,1,0)
ROOM_AVAILABLE(ALL_PLAYERS,GUARD_POST,1,0)
ROOM_AVAILABLE(ALL_PLAYERS,BARRACKS,1,0)
ROOM_AVAILABLE(PLAYER0,PRISON,1,0)

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

REM Do not disrupt my fly based shenanigans AI
SET_HAND_RULE(PLAYER1, FLY, RULE0, DENY, ALWAYS)

SET_TIMER(PLAYER1, TIMER0)

REM QUICK_OBJECTIVE(1, "Our ward seems to have betrayed us and joined the enemy. He is out of our reach for now, but the king's spies are searching and will track him down shortly.", 1)
DISPLAY_OBJECTIVE(58, 1)

IF(PLAYER0, ENTRANCE > 9)
	MAX_CREATURES(PLAYER0,30)
ENDIF

IF(PLAYER0, ENTRANCE > 18)
	MAX_CREATURES(PLAYER0,35)
ENDIF

IF(PLAYER1, ENTRANCE > 9)
	MAX_CREATURES(PLAYER1,30)
ENDIF

IF(PLAYER1, ENTRANCE > 18)
	MAX_CREATURES(PLAYER1,35)
ENDIF

IF(PLAYER1, FLY == 0)
	IF(PLAYER1, TIMER0 >= 18000)
		NEXT_COMMAND_REUSABLE
		ADD_CREATURE_TO_LEVEL(PLAYER1, FLY, 1, 5, 3, 0)
		NEXT_COMMAND_REUSABLE
		
		NEXT_COMMAND_REUSABLE
		SET_TIMER(PLAYER1, TIMER0)
	ENDIF
ENDIF

REM Vampire snowballing
IF(PLAYER1, VAMPIRE >= 4 )
    SET_GAME_RULE( BodiesForVampire, 10 )
ENDIF
IF(PLAYER1, VAMPIRE >= 8 )
    SET_GAME_RULE( BodiesForVampire, 15 )
ENDIF


IF(PLAYER1, DUNGEON_DESTROYED == 1)
	REM QUICK_INFORMATION(2, "With this pest out of the way, we will soon be able to deal with the traitor appropriately.")
	DISPLAY_INFORMATION(59)
	WIN_GAME
ENDIF
