LEVEL_VERSION(1)
SET_GENERATE_SPEED(600)
START_MONEY(PLAYER0,12000)
START_MONEY(PLAYER1,1000)
MAX_CREATURES(PLAYER0,30)
MAX_CREATURES(PLAYER1,20)

COMPUTER_PLAYER(PLAYER1,7)

ADD_CREATURE_TO_POOL(FLY,20)
ADD_CREATURE_TO_POOL(BUG,20)
ADD_CREATURE_TO_POOL(DEMONSPAWN,20)
ADD_CREATURE_TO_POOL(TROLL,20)
ADD_CREATURE_TO_POOL(SPIDER,20)
ADD_CREATURE_TO_POOL(HELL_HOUND,0)
ADD_CREATURE_TO_POOL(TENTACLE,0)
ADD_CREATURE_TO_POOL(SORCEROR,20)
ADD_CREATURE_TO_POOL(ORC,0)
ADD_CREATURE_TO_POOL(BILE_DEMON,20)
ADD_CREATURE_TO_POOL(DRAGON,20)
ADD_CREATURE_TO_POOL(DARK_MISTRESS,0)

CREATURE_AVAILABLE(ALL_PLAYERS,FLY,1,0)
CREATURE_AVAILABLE(ALL_PLAYERS,BUG,1,0)
CREATURE_AVAILABLE(ALL_PLAYERS,DEMONSPAWN,1,0)
CREATURE_AVAILABLE(ALL_PLAYERS,SPIDER,1,0)
CREATURE_AVAILABLE(ALL_PLAYERS,SORCEROR,1,0)
CREATURE_AVAILABLE(ALL_PLAYERS,BILE_DEMON,1,0)
CREATURE_AVAILABLE(PLAYER1,DRAGON,1,0)

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,0)
ROOM_AVAILABLE(ALL_PLAYERS,RESEARCH,1,1)
ROOM_AVAILABLE(PLAYER0,PRISON,3,0)
ROOM_AVAILABLE(PLAYER1,PRISON,1,0)

MAGIC_AVAILABLE(ALL_PLAYERS,POWER_POSSESS,1,1)
MAGIC_AVAILABLE(ALL_PLAYERS,POWER_IMP,1,1)
MAGIC_AVAILABLE(PLAYER1,POWER_SIGHT,1,0)
MAGIC_AVAILABLE(ALL_PLAYERS,POWER_SPEED,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_HEAL_CREATURE,1,0)


IF(PLAYER_GOOD,DUNGEON_DESTROYED==1)
 IF(PLAYER1,DUNGEON_DESTROYED==1)
       WIN_GAME
       QUICK_OBJECTIVE(5,"You won !",PLAYER0)
ENDIF
 ENDIF



IF_SLAB_OWNER(9,9,PLAYER0)
 IF(PLAYER_GOOD,DUNGEON_DESTROYED==0)
ADD_CREATURE_TO_LEVEL(PLAYER_GOOD,VAMPIRE,1,1,10,10000)
CHANGE_SLAB_TYPE(9,9,PATH,MATCH)
ENDIF
 ENDIF

rem 21 2 , 24 5
 IF_SLAB_OWNER(17,3,PLAYER0)
 IF(PLAYER_GOOD,DUNGEON_DESTROYED==0)
ADD_CREATURE_TO_LEVEL(PLAYER_GOOD,VAMPIRE,6,1,7,10000)
CHANGE_SLAB_TYPE(9,9,PATH,NONE)
ENDIF
 ENDIF
  IF_SLAB_OWNER(21,2,PLAYER0)
 IF(PLAYER_GOOD,DUNGEON_DESTROYED==0)
ADD_CREATURE_TO_LEVEL(PLAYER_GOOD,VAMPIRE,7,1,7,10000)
CHANGE_SLAB_TYPE(24,5,PATH,NONE)
ENDIF
 ENDIF
  IF_SLAB_OWNER(24,5,PLAYER0)
 IF(PLAYER_GOOD,DUNGEON_DESTROYED==0)
ADD_CREATURE_TO_LEVEL(PLAYER_GOOD,VAMPIRE,13,1,7,10000)
CHANGE_SLAB_TYPE(9,9,PATH,NONE)
ENDIF
 ENDIF

 IF_SLAB_OWNER(15,7,PLAYER0)
CHANGE_SLAB_TYPE(15,7,DOOR_WOODEN2)
QUICK_INFORMATION(11,"in this room you need to be careful. It is filled with magic and lava traps. A door has been placed to help you not loosing all of your stupids imps on this.")
ENDIF

QUICK_OBJECTIVE(1,"In this realm, your objective is to kill the rival keeper and the Lord of the Land. He hold a labyrinth at the north west.Rumors claims it is filled with explosives, ever-changing hallways, lava mazes and magical traps.",1)
IF_ACTION_POINT(2,PLAYER0)
QUICK_information(2,"you have found the entrance of a small cave containing a gem seam. Watch out , it may be trapped. ",10)
ENDIF
IF_ACTION_POINT(20,PLAYER0)
QUICK_information(3,"you have found the knight labyrinth, watch out for the traps !",1)
ENDIF


CREATE_PARTY(lord)
CREATE_PARTY(lorda)
CREATE_PARTY(assault)

ADD_TO_PARTY(lord,KNIGHT,8,20000,ATTACK_ENEMIES,0)
ADD_TO_PARTY(lord,WIZARD,8,8000,ATTACK_ENEMIES,0)
ADD_TO_PARTY(lord,WIZARD,8,8000,ATTACK_ENEMIES,0)

ADD_TO_PARTY(lorda,WIZARD,8,8000,ATTACK_ENEMIES,0)
ADD_TO_PARTY(lorda,SAMURAI,9,8000,ATTACK_ENEMIES,0)
ADD_TO_PARTY(lorda,ARCHER,10,4000,ATTACK_ENEMIES,0)

ADD_TO_PARTY(assault,SAMURAI,5,10000,ATTACK_DUNGEON_HEART,0)
ADD_TO_PARTY(assault,BARBARIAN,6,10000,ATTACK_DUNGEON_HEART,0)
ADD_TO_PARTY(assault,BARBARIAN,7,10000,ATTACK_DUNGEON_HEART,0)
ADD_TO_PARTY(assault,SAMURAI,5,10000,ATTACK_DUNGEON_HEART,0)
ADD_TO_PARTY(assault,THIEF,7,10000,STEAL_GOLD,0)
ADD_TO_PARTY(assault,DWARFA,5,10000,STEAL_GOLD,0)


IF_ACTION_POINT(4,ALL_PLAYERS)
ADD_PARTY_TO_LEVEL(PLAYER_GOOD,lord,-2,1)
ADD_PARTY_TO_LEVEL(PLAYER_GOOD,lorda,5,1)
ADD_PARTY_TO_LEVEL(PLAYER_GOOD,lorda,21,1)
ENDIF


IF(PLAYER1,DUNGEON_DESTROYED==0)
 IF(PLAYER_GOOD,DUNGEON_DESTROYED==1)
  ADD_GOLD_TO_PLAYER(PLAYER1,750000)
  ADD_CREATURE_TO_LEVEL(PLAYER1,DRAGON,8,3,6,0)
  ADD_CREATURE_TO_LEVEL(PLAYER1,DEMONSPAWN,9,3,6,0)
  QUICK_OBJECTIVE(6,"now that you took over the labyrinth , it is time to get rid of that blue keeper!",PLAYER1)
 ENDIF
ENDIF


IF_ACTION_POINT(10,ALL_PLAYERS)
QUICK_INFORMATION(7,"you now gained access to the gem seam, but it is surrounded by lava. Your warlocks started working on a solution, in the meantime , heroes sent two party against you , be careful !",10)
ROOM_AVAILABLE(PLAYER0,BRIDGE,1,0)
ADD_TUNNELLER_PARTY_TO_LEVEL(PLAYER_GOOD,assault,11,ACTION_POINT,6,8,5000)
ADD_TUNNELLER_PARTY_TO_LEVEL(PLAYER_GOOD,assault,12,ACTION_POINT,6,8,5000)
ENDIF


RESEARCH(PLAYER0,ROOM,BRIDGE,100000)
IF_AVAILABLE(PLAYER0,BRIDGE==1)
QUICK_INFORMATION(10,"After intensive research in the library, your warlocks were not able to fully research the blueprint of a bridge, but managed to close the gap in between the gems and your dungeon with a small dirt path.")
ROOM_AVAILABLE(PLAYER0,BRIDGE,0,0)
CHANGE_SLAB_TYPE(42,42,PATH,NONE)
CHANGE_SLAB_TYPE(42,43,PATH,NONE)
ENDIF




IF_ACTION_POINT(18,PLAYER0)
QUICK_OBJECTIVE(8,"You found the room leading to the white dungeon heart , be sure before breaking the door !",18)
ENDIF
IF_ACTION_POINT(3,PLAYER0)
QUICK_INFORMATION(9,"You found a room in where 4 vampire were emprisoned, make a lair apart for them or they'll fight to death with your warlocks !",3)
ENDIF

IF(PLAYER1,DUNGEON_DESTROYED==0)
 IF(PLAYER1,MONEY<=1000)
  IF(ALL_PLAYERS,GAME_TURN>=24000)
  COMPUTER_DIG_TO_LOCATION(PLAYER1,PLAYER1,PLAYER0)
ENDIF
 ENDIF
  ENDIF



SET_TIMER(PLAYER0,TIMER0)

IF(PLAYER_GOOD,DUNGEON_DESTROYED==0)
 IF(PLAYER0,TIMER0>=120)
 NEXT_COMMAND_REUSABLE
  SET_TIMER(PLAYER0,TIMER0)
  NEXT_COMMAND_REUSABLE
  RANDOMISE_FLAG(PLAYER0,FLAG1,2)
  NEXT_COMMAND_REUSABLE
  RANDOMISE_FLAG(PLAYER0,FLAG2,2)
      NEXT_COMMAND_REUSABLE
      SET_FLAG(PLAYER0,FLAG5,1)
ENDIF
 ENDIF

      IF(PLAYER0,FLAG5==1)
  IF(PLAYER0,FLAG1==1)
  NEXT_COMMAND_REUSABLE
  CHANGE_SLAB_TYPE(15,11,HEART_WALL,NONE)
  NEXT_COMMAND_REUSABLE
  CHANGE_SLAB_TYPE(15,13,PRETTY_PATH,NONE)
  ENDIF
  IF(PLAYER0,FLAG1==2)
  NEXT_COMMAND_REUSABLE
  CHANGE_SLAB_TYPE(15,13,HEART_WALL,NONE)
  NEXT_COMMAND_REUSABLE
  CHANGE_SLAB_TYPE(15,11,PRETTY_PATH,NONE)
  ENDIF

   IF(PLAYER0,FLAG2==1)
  NEXT_COMMAND_REUSABLE
  CHANGE_SLAB_TYPE(24,13,HEART_WALL,NONE)
  NEXT_COMMAND_REUSABLE
  CHANGE_SLAB_TYPE(23,14,PRETTY_PATH,NONE)
  ENDIF
  IF(PLAYER0,FLAG2==2)
  NEXT_COMMAND_REUSABLE
  CHANGE_SLAB_TYPE(23,14,HEART_WALL,NONE)
  NEXT_COMMAND_REUSABLE
  CHANGE_SLAB_TYPE(24,13,PRETTY_PATH,NONE)
  ENDIF
      NEXT_COMMAND_REUSABLE
      SET_FLAG(PLAYER0,FLAG5,0)
      ENDIF
rem *tysm Yourmaster for the bugfinding in this part*

IF_AVAILABLE(PLAYER0,PRISON==1)
QUICK_INFORMATION(4,"You have found a prison in the blue's dungeon. You can now build it.")
ENDIF
