LEVEL_VERSION(1)

COMPUTER_PLAYER(PLAYER3,2)
ALLY_PLAYERS(PLAYER3,PLAYER_GOOD,3)

SET_GENERATE_SPEED(400)

START_MONEY(PLAYER0,5000)
START_MONEY(PLAYER3,10000)
MAX_CREATURES(PLAYER0,30)
MAX_CREATURES(PLAYER3,40)

QUICK_OBJECTIVE(1,"We must find the lost temple. Perhaps then the gods will enlighten us with the knowledge of how to build bridges.",PLAYER0)

ADD_CREATURE_TO_POOL(DARK_MISTRESS,11)
ADD_CREATURE_TO_POOL(DEMONSPAWN,10)
ADD_CREATURE_TO_POOL(DRAGON,5)
ADD_CREATURE_TO_POOL(HELL_HOUND,5)

ADD_CREATURE_TO_POOL(WIZARD,10)
ADD_CREATURE_TO_POOL(TENTACLE,6)
ADD_CREATURE_TO_POOL(SKELETON,10)
ADD_CREATURE_TO_POOL(GIANT,10)

ADD_CREATURE_TO_POOL(ORC,5)
ADD_CREATURE_TO_POOL(SPIDER,5)
ADD_CREATURE_TO_POOL(BUG,5)
ADD_CREATURE_TO_POOL(SORCEROR,5)
ADD_CREATURE_TO_POOL(FLY,5)

CREATURE_AVAILABLE(ALL_PLAYERS,DARK_MISTRESS,1,0)
CREATURE_AVAILABLE(ALL_PLAYERS,DEMONSPAWN,1,0)
CREATURE_AVAILABLE(ALL_PLAYERS,DRAGON,1,0)
CREATURE_AVAILABLE(ALL_PLAYERS,HELL_HOUND,1,0)

CREATURE_AVAILABLE(PLAYER3,WIZARD,1,1)
CREATURE_AVAILABLE(PLAYER3,TENTACLE,1,1)
CREATURE_AVAILABLE(PLAYER3,SKELETON,1,1)
CREATURE_AVAILABLE(PLAYER3,GIANT,1,1)
CREATURE_AVAILABLE(PLAYER3,FLY,1,1)

CREATURE_AVAILABLE(PLAYER0,ORC,1,1)
CREATURE_AVAILABLE(PLAYER0,SPIDER,1,1)
CREATURE_AVAILABLE(PLAYER0,BUG,1,1)
CREATURE_AVAILABLE(PLAYER0,SORCEROR,1,1)
CREATURE_AVAILABLE(PLAYER0,FLY,1,1)
CREATURE_AVAILABLE(PLAYER0,DARK_MISTRESS,1,1)
CREATURE_AVAILABLE(PLAYER0,DRAGON,1,1)

MAGIC_AVAILABLE(ALL_PLAYERS,POWER_CHICKEN,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_CONCEAL,1,0)
MAGIC_AVAILABLE(ALL_PLAYERS,POWER_IMP,1,1)
MAGIC_AVAILABLE(ALL_PLAYERS,POWER_SIGHT,1,0)
MAGIC_AVAILABLE(ALL_PLAYERS,POWER_SPEED,1,0)
MAGIC_AVAILABLE(ALL_PLAYERS,POWER_HEAL_CREATURE,1,0)
MAGIC_AVAILABLE(ALL_PLAYERS,POWER_CALL_TO_ARMS,1,0)
MAGIC_AVAILABLE(ALL_PLAYERS,POWER_PROTECT,1,0)
MAGIC_AVAILABLE(ALL_PLAYERS,POWER_HOLD_AUDIENCE,1,0)
MAGIC_AVAILABLE(PLAYER3,POWER_LIGHTNING,1,0)
MAGIC_AVAILABLE(PLAYER3,POWER_DESTROY_WALLS,1,0)

ROOM_AVAILABLE(ALL_PLAYERS,TRAINING,1,1)
ROOM_AVAILABLE(ALL_PLAYERS,TREASURE,1,1)
ROOM_AVAILABLE(ALL_PLAYERS,GARDEN,1,1)
ROOM_AVAILABLE(ALL_PLAYERS,RESEARCH,1,1)
ROOM_AVAILABLE(ALL_PLAYERS,LAIR,1,1)
ROOM_AVAILABLE(ALL_PLAYERS,WORKSHOP,1,0)
ROOM_AVAILABLE(ALL_PLAYERS,PRISON,1,0)
ROOM_AVAILABLE(ALL_PLAYERS,TORTURE,1,0)
ROOM_AVAILABLE(ALL_PLAYERS,SCAVENGER,1,0)
ROOM_AVAILABLE(ALL_PLAYERS,BARRACKS,1,0)
ROOM_AVAILABLE(ALL_PLAYERS,GRAVEYARD,1,0)
ROOM_AVAILABLE(PLAYER3,TEMPLE,1,0)
ROOM_AVAILABLE(PLAYER3,BRIDGE,1,0)

CREATE_PARTY(FIRST)
	ADD_TO_PARTY(FIRST,ARCHER,2,0,ATTACK_DUNGEON_HEART,0)
	ADD_TO_PARTY(FIRST,ARCHER,2,0,ATTACK_DUNGEON_HEART,0)
	ADD_TO_PARTY(FIRST,WITCH,2,0,ATTACK_DUNGEON_HEART,0)
	
CREATE_PARTY(SECOND)
	ADD_TO_PARTY(SECOND,ARCHER,2,0,ATTACK_DUNGEON_HEART,0)
	ADD_TO_PARTY(SECOND,ARCHER,2,0,ATTACK_DUNGEON_HEART,0)
	ADD_TO_PARTY(SECOND,ARCHER,2,0,ATTACK_DUNGEON_HEART,0)
	
CREATE_PARTY(THIRD)
	ADD_TO_PARTY(THIRD,ARCHER,1,0,ATTACK_DUNGEON_HEART,0)
	ADD_TO_PARTY(THIRD,ARCHER,1,0,ATTACK_DUNGEON_HEART,0)
	ADD_TO_PARTY(THIRD,ARCHER,1,0,ATTACK_DUNGEON_HEART,0)
	ADD_TO_PARTY(THIRD,FAIRY,1,0,ATTACK_DUNGEON_HEART,0)
	ADD_TO_PARTY(THIRD,FAIRY,1,0,ATTACK_DUNGEON_HEART,0)
	ADD_TO_PARTY(THIRD,FAIRY,1,0,ATTACK_DUNGEON_HEART,0)
	ADD_TO_PARTY(THIRD,BARBARIAN,1,0,ATTACK_DUNGEON_HEART,0)
	ADD_TO_PARTY(THIRD,BARBARIAN,1,0,ATTACK_DUNGEON_HEART,0)
	ADD_TO_PARTY(THIRD,BARBARIAN,1,0,ATTACK_DUNGEON_HEART,0)
	
CREATE_PARTY(WAVE1)
	ADD_TO_PARTY(WAVE1,TUNNELLER,5,0,ATTACK_DUNGEON_HEART,0)
	ADD_TO_PARTY(WAVE1,ARCHER,5,0,ATTACK_DUNGEON_HEART,0)
	ADD_TO_PARTY(WAVE1,BARBARIAN,5,0,ATTACK_DUNGEON_HEART,0)
	
CREATE_PARTY(WAVE2)
	ADD_TO_PARTY(WAVE2,TUNNELLER,8,0,ATTACK_DUNGEON_HEART,0)
	ADD_TO_PARTY(WAVE2,FAIRY,8,0,ATTACK_DUNGEON_HEART,0)
	ADD_TO_PARTY(WAVE2,GIANT,8,0,ATTACK_DUNGEON_HEART,0)

IF_ACTION_POINT(1,PLAYER0)
ADD_PARTY_TO_LEVEL(PLAYER_GOOD,FIRST,1,1)
ENDIF

IF_ACTION_POINT(2,PLAYER0)
ADD_PARTY_TO_LEVEL(PLAYER_GOOD,SECOND,2,1)
ENDIF

IF_ACTION_POINT(3,PLAYER0)
ADD_PARTY_TO_LEVEL(PLAYER_GOOD,THIRD,3,1)
ENDIF

IF(PLAYER0,TOTAL_CREATURES >= 20)
    ADD_PARTY_TO_LEVEL(PLAYER_GOOD,WAVE1,-1,1)
ENDIF

IF(PLAYER0,TOTAL_CREATURES >= 30)
    ADD_PARTY_TO_LEVEL(PLAYER_GOOD,WAVE2,-2,1)
ENDIF

IF (PLAYER0,TEMPLE>5)
  QUICK_INFORMATION(2,"Perfect. Now we have a temple to pray. Let's see if we can get the knowledge for bridges soon. I'll start by praying: OM",PLAYER0)
  SET_TIMER(PLAYER0,TIMER1)
  IF(PLAYER0,TIMER1 >= 1000)
    QUICK_INFORMATION(3,"OM... (waiting) OOOOM... (waiting again) OOOOOOOOOM. Success. Now we can build bridges!",PLAYER0)
	ROOM_AVAILABLE(PLAYER0,BRIDGE,1,1)
    ROOM_AVAILABLE(PLAYER0,TEMPLE,1,0)
    MAGIC_AVAILABLE(PLAYER0,POWER_DESTROY_WALLS,1,0)
  ENDIF	
ENDIF

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)
TRAP_AVAILABLE(ALL_PLAYERS,BOULDER,1,0)

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

IF(PLAYER0, ALL_DUNGEONS_DESTROYED == 1)
   WIN_GAME
ENDIF
