REM Der letzte Eid - Mission 5: Der Eid im schwarzen Stein. KeeperFX v1.4.0
LEVEL_VERSION(1)
SET_GENERATE_SPEED(500)
START_MONEY(PLAYER0,15000)
START_MONEY(PLAYER1,15000)
MAX_CREATURES(PLAYER0,30)
MAX_CREATURES(PLAYER1,14)
COMPUTER_PLAYER(PLAYER1,3)
CREATURE_AVAILABLE(ALL_PLAYERS,WIZARD,0,0)
CREATURE_AVAILABLE(ALL_PLAYERS,BARBARIAN,0,0)
CREATURE_AVAILABLE(ALL_PLAYERS,ARCHER,0,0)
CREATURE_AVAILABLE(ALL_PLAYERS,MONK,0,0)
CREATURE_AVAILABLE(ALL_PLAYERS,DWARFA,0,0)
CREATURE_AVAILABLE(ALL_PLAYERS,KNIGHT,0,0)
CREATURE_AVAILABLE(ALL_PLAYERS,AVATAR,0,0)
CREATURE_AVAILABLE(ALL_PLAYERS,TUNNELLER,0,0)
CREATURE_AVAILABLE(ALL_PLAYERS,WITCH,0,0)
CREATURE_AVAILABLE(ALL_PLAYERS,GIANT,0,0)
CREATURE_AVAILABLE(ALL_PLAYERS,FAIRY,0,0)
CREATURE_AVAILABLE(ALL_PLAYERS,THIEF,0,0)
CREATURE_AVAILABLE(ALL_PLAYERS,SAMURAI,0,0)
CREATURE_AVAILABLE(ALL_PLAYERS,HORNY,0,0)
CREATURE_AVAILABLE(ALL_PLAYERS,SKELETON,0,0)
CREATURE_AVAILABLE(ALL_PLAYERS,TROLL,0,0)
CREATURE_AVAILABLE(ALL_PLAYERS,DRAGON,0,0)
CREATURE_AVAILABLE(ALL_PLAYERS,DEMONSPAWN,0,0)
CREATURE_AVAILABLE(ALL_PLAYERS,FLY,0,0)
CREATURE_AVAILABLE(ALL_PLAYERS,DARK_MISTRESS,0,0)
CREATURE_AVAILABLE(ALL_PLAYERS,SORCEROR,0,0)
CREATURE_AVAILABLE(ALL_PLAYERS,BILE_DEMON,0,0)
CREATURE_AVAILABLE(ALL_PLAYERS,IMP,0,0)
CREATURE_AVAILABLE(ALL_PLAYERS,BUG,0,0)
CREATURE_AVAILABLE(ALL_PLAYERS,VAMPIRE,0,0)
CREATURE_AVAILABLE(ALL_PLAYERS,SPIDER,0,0)
CREATURE_AVAILABLE(ALL_PLAYERS,HELL_HOUND,0,0)
CREATURE_AVAILABLE(ALL_PLAYERS,GHOST,0,0)
CREATURE_AVAILABLE(ALL_PLAYERS,TENTACLE,0,0)
CREATURE_AVAILABLE(ALL_PLAYERS,ORC,0,0)
CREATURE_AVAILABLE(ALL_PLAYERS,FLOATING_SPIRIT,0,0)
CREATURE_AVAILABLE(ALL_PLAYERS,TIME_MAGE,0,0)
CREATURE_AVAILABLE(ALL_PLAYERS,DRUID,0,0)
CREATURE_AVAILABLE(ALL_PLAYERS,BIRD,0,0)
CREATURE_AVAILABLE(ALL_PLAYERS,MAIDEN,0,0)
CREATURE_AVAILABLE(ALL_PLAYERS,SPIDERLING,0,0)
ADD_CREATURE_TO_POOL(THIEF,25)
CREATURE_AVAILABLE(PLAYER0,THIEF,1,30)
ADD_CREATURE_TO_POOL(ARCHER,25)
CREATURE_AVAILABLE(PLAYER0,ARCHER,1,30)
ADD_CREATURE_TO_POOL(DWARFA,25)
CREATURE_AVAILABLE(PLAYER0,DWARFA,1,30)
ADD_CREATURE_TO_POOL(WIZARD,25)
CREATURE_AVAILABLE(PLAYER0,WIZARD,1,30)
ADD_CREATURE_TO_POOL(BARBARIAN,25)
CREATURE_AVAILABLE(PLAYER0,BARBARIAN,1,30)
ADD_CREATURE_TO_POOL(FAIRY,25)
CREATURE_AVAILABLE(PLAYER0,FAIRY,1,30)
ADD_CREATURE_TO_POOL(MONK,25)
CREATURE_AVAILABLE(PLAYER0,MONK,1,30)
ADD_CREATURE_TO_POOL(KNIGHT,6)
CREATURE_AVAILABLE(PLAYER0,KNIGHT,1,30)
ADD_CREATURE_TO_POOL(GIANT,6)
CREATURE_AVAILABLE(PLAYER0,GIANT,1,30)
ADD_CREATURE_TO_POOL(BUG,30)
CREATURE_AVAILABLE(PLAYER1,BUG,1,30)
SET_CREATURE_MAX_LEVEL(PLAYER1,BUG,6)
ADD_CREATURE_TO_POOL(FLY,30)
CREATURE_AVAILABLE(PLAYER1,FLY,1,30)
SET_CREATURE_MAX_LEVEL(PLAYER1,FLY,6)
ADD_CREATURE_TO_POOL(TROLL,30)
CREATURE_AVAILABLE(PLAYER1,TROLL,1,30)
SET_CREATURE_MAX_LEVEL(PLAYER1,TROLL,6)
ADD_CREATURE_TO_POOL(DEMONSPAWN,30)
CREATURE_AVAILABLE(PLAYER1,DEMONSPAWN,1,30)
SET_CREATURE_MAX_LEVEL(PLAYER1,DEMONSPAWN,6)
ADD_CREATURE_TO_POOL(SPIDER,30)
CREATURE_AVAILABLE(PLAYER1,SPIDER,1,30)
SET_CREATURE_MAX_LEVEL(PLAYER1,SPIDER,6)
ADD_CREATURE_TO_POOL(SORCEROR,2)
CREATURE_AVAILABLE(PLAYER1,SORCEROR,1,2)
SET_CREATURE_MAX_LEVEL(PLAYER1,SORCEROR,6)
ADD_CREATURE_TO_POOL(ORC,30)
CREATURE_AVAILABLE(PLAYER1,ORC,1,30)
SET_CREATURE_MAX_LEVEL(PLAYER1,ORC,6)
ADD_CREATURE_TO_POOL(SKELETON,30)
CREATURE_AVAILABLE(PLAYER1,SKELETON,1,30)
SET_CREATURE_MAX_LEVEL(PLAYER1,SKELETON,6)
ADD_CREATURE_TO_POOL(HELL_HOUND,2)
CREATURE_AVAILABLE(PLAYER1,HELL_HOUND,1,2)
SET_CREATURE_MAX_LEVEL(PLAYER1,HELL_HOUND,6)
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,WORKSHOP,1,0)
ROOM_AVAILABLE(PLAYER0,GUARD_POST,1,0)
ROOM_AVAILABLE(PLAYER0,BARRACKS,1,0)
ROOM_AVAILABLE(PLAYER0,BRIDGE,1,1)
ROOM_AVAILABLE(PLAYER0,PRISON,0,0)
ROOM_AVAILABLE(PLAYER0,TORTURE,0,0)
ROOM_AVAILABLE(PLAYER0,SCAVENGER,0,0)
ROOM_AVAILABLE(PLAYER0,TEMPLE,0,0)
ROOM_AVAILABLE(PLAYER0,GRAVEYARD,0,0)
MAGIC_AVAILABLE(PLAYER0,POWER_HAND,0,0)
MAGIC_AVAILABLE(PLAYER0,POWER_IMP,0,0)
MAGIC_AVAILABLE(PLAYER0,POWER_OBEY,0,0)
MAGIC_AVAILABLE(PLAYER0,POWER_SLAP,0,0)
MAGIC_AVAILABLE(PLAYER0,POWER_SIGHT,0,0)
MAGIC_AVAILABLE(PLAYER0,POWER_CALL_TO_ARMS,0,0)
MAGIC_AVAILABLE(PLAYER0,POWER_CAVE_IN,0,0)
MAGIC_AVAILABLE(PLAYER0,POWER_HEAL_CREATURE,0,0)
MAGIC_AVAILABLE(PLAYER0,POWER_HOLD_AUDIENCE,0,0)
MAGIC_AVAILABLE(PLAYER0,POWER_LIGHTNING,0,0)
MAGIC_AVAILABLE(PLAYER0,POWER_SPEED,0,0)
MAGIC_AVAILABLE(PLAYER0,POWER_PROTECT,0,0)
MAGIC_AVAILABLE(PLAYER0,POWER_CONCEAL,0,0)
MAGIC_AVAILABLE(PLAYER0,POWER_DISEASE,0,0)
MAGIC_AVAILABLE(PLAYER0,POWER_CHICKEN,0,0)
MAGIC_AVAILABLE(PLAYER0,POWER_DESTROY_WALLS,0,0)
MAGIC_AVAILABLE(PLAYER0,POWER_TIME_BOMB,0,0)
MAGIC_AVAILABLE(PLAYER0,POWER_POSSESS,0,0)
MAGIC_AVAILABLE(PLAYER0,POWER_ARMAGEDDON,0,0)
MAGIC_AVAILABLE(PLAYER0,POWER_REBOUND,0,0)
MAGIC_AVAILABLE(PLAYER0,POWER_FREEZE,0,0)
MAGIC_AVAILABLE(PLAYER0,POWER_SLOW,0,0)
MAGIC_AVAILABLE(PLAYER0,POWER_FLIGHT,0,0)
MAGIC_AVAILABLE(PLAYER0,POWER_VISION,0,0)
MAGIC_AVAILABLE(PLAYER0,POWER_TUNNELLER,0,0)
MAGIC_AVAILABLE(PLAYER0,POWER_HAND,1,1)
MAGIC_AVAILABLE(PLAYER0,POWER_SLAP,1,1)
MAGIC_AVAILABLE(PLAYER0,POWER_POSSESS,1,1)
MAGIC_AVAILABLE(PLAYER0,POWER_CALL_TO_ARMS,1,1)
MAGIC_AVAILABLE(PLAYER0,POWER_IMP,1,1)
MAGIC_AVAILABLE(PLAYER0,POWER_HEAL_CREATURE,1,1)
MAGIC_AVAILABLE(PLAYER0,POWER_SPEED,1,0)
MAGIC_AVAILABLE(PLAYER0,POWER_SIGHT,1,0)
MAGIC_AVAILABLE(PLAYER0,POWER_PROTECT,1,0)
MAGIC_AVAILABLE(PLAYER0,POWER_CONCEAL,1,0)
MAGIC_AVAILABLE(PLAYER0,POWER_LIGHTNING,1,0)
MAGIC_AVAILABLE(PLAYER0,POWER_CHICKEN,1,0)
RESEARCH_ORDER(PLAYER0,MAGIC,POWER_SPEED,4500)
RESEARCH_ORDER(PLAYER0,MAGIC,POWER_SIGHT,6000)
RESEARCH_ORDER(PLAYER0,MAGIC,POWER_PROTECT,7500)
RESEARCH_ORDER(PLAYER0,MAGIC,POWER_CONCEAL,9000)
RESEARCH_ORDER(PLAYER0,MAGIC,POWER_LIGHTNING,10500)
RESEARCH_ORDER(PLAYER0,MAGIC,POWER_CHICKEN,12000)
RESEARCH_ORDER(PLAYER0,ROOM,WORKSHOP,6000)
RESEARCH_ORDER(PLAYER0,ROOM,GUARD_POST,3500)
RESEARCH_ORDER(PLAYER0,ROOM,BARRACKS,6000)
DOOR_AVAILABLE(PLAYER0,WOOD,1,0)
DOOR_AVAILABLE(PLAYER0,BRACED,1,0)
ROOM_AVAILABLE(PLAYER1,TREASURE,1,1)
ROOM_AVAILABLE(PLAYER1,LAIR,1,1)
ROOM_AVAILABLE(PLAYER1,GARDEN,1,1)
ROOM_AVAILABLE(PLAYER1,TRAINING,1,1)
ROOM_AVAILABLE(PLAYER1,RESEARCH,1,1)
ROOM_AVAILABLE(PLAYER1,WORKSHOP,1,0)
ROOM_AVAILABLE(PLAYER1,GUARD_POST,1,0)
ROOM_AVAILABLE(PLAYER1,BARRACKS,1,0)
ROOM_AVAILABLE(PLAYER1,BRIDGE,0,0)
ROOM_AVAILABLE(PLAYER1,PRISON,0,0)
ROOM_AVAILABLE(PLAYER1,TORTURE,0,0)
ROOM_AVAILABLE(PLAYER1,SCAVENGER,0,0)
ROOM_AVAILABLE(PLAYER1,TEMPLE,0,0)
ROOM_AVAILABLE(PLAYER1,GRAVEYARD,0,0)
MAGIC_AVAILABLE(PLAYER1,POWER_HAND,0,0)
MAGIC_AVAILABLE(PLAYER1,POWER_IMP,0,0)
MAGIC_AVAILABLE(PLAYER1,POWER_OBEY,0,0)
MAGIC_AVAILABLE(PLAYER1,POWER_SLAP,0,0)
MAGIC_AVAILABLE(PLAYER1,POWER_SIGHT,0,0)
MAGIC_AVAILABLE(PLAYER1,POWER_CALL_TO_ARMS,0,0)
MAGIC_AVAILABLE(PLAYER1,POWER_CAVE_IN,0,0)
MAGIC_AVAILABLE(PLAYER1,POWER_HEAL_CREATURE,0,0)
MAGIC_AVAILABLE(PLAYER1,POWER_HOLD_AUDIENCE,0,0)
MAGIC_AVAILABLE(PLAYER1,POWER_LIGHTNING,0,0)
MAGIC_AVAILABLE(PLAYER1,POWER_SPEED,0,0)
MAGIC_AVAILABLE(PLAYER1,POWER_PROTECT,0,0)
MAGIC_AVAILABLE(PLAYER1,POWER_CONCEAL,0,0)
MAGIC_AVAILABLE(PLAYER1,POWER_DISEASE,0,0)
MAGIC_AVAILABLE(PLAYER1,POWER_CHICKEN,0,0)
MAGIC_AVAILABLE(PLAYER1,POWER_DESTROY_WALLS,0,0)
MAGIC_AVAILABLE(PLAYER1,POWER_TIME_BOMB,0,0)
MAGIC_AVAILABLE(PLAYER1,POWER_POSSESS,0,0)
MAGIC_AVAILABLE(PLAYER1,POWER_ARMAGEDDON,0,0)
MAGIC_AVAILABLE(PLAYER1,POWER_REBOUND,0,0)
MAGIC_AVAILABLE(PLAYER1,POWER_FREEZE,0,0)
MAGIC_AVAILABLE(PLAYER1,POWER_SLOW,0,0)
MAGIC_AVAILABLE(PLAYER1,POWER_FLIGHT,0,0)
MAGIC_AVAILABLE(PLAYER1,POWER_VISION,0,0)
MAGIC_AVAILABLE(PLAYER1,POWER_TUNNELLER,0,0)
MAGIC_AVAILABLE(PLAYER1,POWER_HAND,1,1)
MAGIC_AVAILABLE(PLAYER1,POWER_SLAP,1,1)
MAGIC_AVAILABLE(PLAYER1,POWER_POSSESS,1,1)
MAGIC_AVAILABLE(PLAYER1,POWER_CALL_TO_ARMS,1,1)
MAGIC_AVAILABLE(PLAYER1,POWER_HEAL_CREATURE,1,0)
MAGIC_AVAILABLE(PLAYER1,POWER_SPEED,1,0)
MAGIC_AVAILABLE(PLAYER1,POWER_SIGHT,1,0)
MAGIC_AVAILABLE(PLAYER1,POWER_PROTECT,1,0)
MAGIC_AVAILABLE(PLAYER1,POWER_CONCEAL,1,0)
MAGIC_AVAILABLE(PLAYER1,POWER_LIGHTNING,1,0)
MAGIC_AVAILABLE(PLAYER1,POWER_CHICKEN,1,0)
RESEARCH_ORDER(PLAYER1,MAGIC,POWER_HEAL_CREATURE,4500)
RESEARCH_ORDER(PLAYER1,MAGIC,POWER_SPEED,6000)
RESEARCH_ORDER(PLAYER1,MAGIC,POWER_SIGHT,7500)
RESEARCH_ORDER(PLAYER1,MAGIC,POWER_PROTECT,9000)
RESEARCH_ORDER(PLAYER1,MAGIC,POWER_CONCEAL,10500)
RESEARCH_ORDER(PLAYER1,MAGIC,POWER_LIGHTNING,12000)
RESEARCH_ORDER(PLAYER1,MAGIC,POWER_CHICKEN,13500)
RESEARCH_ORDER(PLAYER1,ROOM,WORKSHOP,6000)
RESEARCH_ORDER(PLAYER1,ROOM,GUARD_POST,3500)
RESEARCH_ORDER(PLAYER1,ROOM,BARRACKS,6000)
DOOR_AVAILABLE(PLAYER1,WOOD,1,0)
DOOR_AVAILABLE(PLAYER1,BRACED,1,0)
SET_TIMER(PLAYER0,TIMER0)
QUICK_OBJECTIVE(1,"Vor dem schwarzen Stein spricht Severin deinen Eid. Aus dem Dieb wird ein Ritter. Als letzte Pruefung sollst du die rebellische Zitadelle brechen. Sichere zuerst beide Siegelhaeuser westlich und oestlich des schwarzen Sees.",PLAYER0)
IF(PLAYER0,TIMER0 >= 650)
 QUICK_INFORMATION(2,"Du fuehrst jetzt einen Ritter und kannst weitere Ritter sowie Riesen gewinnen. Der Gegner trainiert bis Stufe 6. Nutze Forschung, Training und deine Juwelenader. Grabe dich um den See zur verstaerkten Holztuer des Gegners.",PLAYER0)
ENDIF
IF(PLAYER0,RESEARCH >= 9)
 IF(PLAYER0,TIMER0 >= 1400)
  QUICK_INFORMATION(3,"Setze Magier oder andere Forscher in deine Bibliothek. Neue Zauber werden erst durch Forschung freigeschaltet. Der Gegner erforscht seine Zauber ebenfalls.",PLAYER0)
 ENDIF
ENDIF
IF_ACTION_POINT(2,PLAYER0)
 QUICK_INFORMATION(4,"Du hast den einzigen Toreingang der gegnerischen Festung erreicht. Die verstaerkte Holztuer versperrt den Eingang. Zerstoere sie mit deinen Truppen; dahinter ist der Weg zum Herz frei.",2)
ENDIF
IF_SLAB_OWNER(24,43,PLAYER0)
 SET_FLAG(PLAYER0,FLAG1,1)
 ADD_GOLD_TO_PLAYER(PLAYER0,1500)
 QUICK_INFORMATION(10,"Im westlichen Siegelhaus liegt die Aussage eines abtruennigen Priesters: Der Feind bewacht keine Opfer. Er versteckt Ueberlebende vor Severin. Dein heiliger Auftrag klingt ploetzlich wie eine Hinrichtung.",3)
 SET_TIMER(PLAYER0,TIMER1)
ENDIF
IF(PLAYER0,FLAG1 == 1)
 IF(PLAYER0,TIMER1 >= 250)
  IF(PLAYER0,FLAG7 == 0)
   QUICK_OBJECTIVE(11,"Das westliche Siegel ist gesichert. Finde auch das oestliche und zerstoere das blaue Herz.",3)
  ENDIF
 ENDIF
ENDIF
IF_SLAB_OWNER(61,43,PLAYER0)
 SET_FLAG(PLAYER0,FLAG2,1)
 ADD_GOLD_TO_PLAYER(PLAYER0,1500)
 QUICK_INFORMATION(12,"Das oestliche Siegelhaus birgt Voss' Botschaft: Zerbrich die Macht der Zitadelle, aber vertraue dem Orden keine Gefangenen an. Ich warte unter der Kapelle. Komm allein.",4)
 SET_TIMER(PLAYER0,TIMER2)
ENDIF
IF(PLAYER0,FLAG2 == 1)
 IF(PLAYER0,TIMER2 >= 250)
  IF(PLAYER0,FLAG7 == 0)
   QUICK_OBJECTIVE(13,"Das oestliche Siegel ist gesichert. Sichere beide Siegel und brich das blaue Herz.",4)
  ENDIF
 ENDIF
ENDIF
IF(PLAYER0,DUNGEON_DESTROYED == 1)
 LOSE_GAME
ENDIF
IF(PLAYER1,DUNGEON_DESTROYED == 1)
 IF(PLAYER0,FLAG1 == 0)
  QUICK_OBJECTIVE(20,"Das blaue Herz ist gefallen, aber dein Auftrag ist noch offen. Sichere die markierten Dokumente mit deinen Imps. Die Geschichte geht dort weiter.",3)
 ENDIF
ENDIF
IF(PLAYER1,DUNGEON_DESTROYED == 1)
 IF(PLAYER0,FLAG2 == 0)
  QUICK_OBJECTIVE(21,"Das blaue Herz ist gefallen. Sichere auch den zweiten Dokumentenraum mit deinen Imps, bevor du dieses Reich verlaesst.",4)
 ENDIF
ENDIF
IF(PLAYER1,DUNGEON_DESTROYED == 1)
 IF(PLAYER0,DUNGEON_DESTROYED == 0)
IF(PLAYER0,FLAG1 == 1)
IF(PLAYER0,TIMER1 >= 300)
IF(PLAYER0,FLAG2 == 1)
IF(PLAYER0,TIMER2 >= 300)
 SET_FLAG(PLAYER0,FLAG7,1)
 QUICK_OBJECTIVE(30,"Das Herz der Zitadelle verstummt. In den Kellern findest du dieselben Namen wie im Zollbuch: noch lebendig. Aus der Ferne schlagen die Ordensglocken. Unter deiner Ruestung wird das schwarze Siegel warm. Fortsetzung in Mission 6.",PLAYER0)
 SET_TIMER(PLAYER0,TIMER7)
ENDIF
ENDIF
ENDIF
ENDIF
ENDIF
ENDIF
IF(PLAYER0,FLAG7 == 1)
 IF(PLAYER0,TIMER7 >= 300)
  IF(PLAYER0,DUNGEON_DESTROYED == 0)
   WIN_GAME
  ENDIF
 ENDIF
ENDIF

REM v0.7: Standard portal limits exclude special diggers. Player imps remain available.

REM v0.8: Enemy gem seam, three hard-rock faces and one accessible south face.
REM Keep the accessible seam marked for the enemy imps while its dungeon survives.
SET_TIMER(PLAYER1,TIMER6)
IF(PLAYER1,TIMER6 >= 300)
 IF(PLAYER1,DUNGEON_DESTROYED == 0)
  IF_SLAB_OWNER(38,9,PLAYER1)
   NEXT_COMMAND_REUSABLE
   TAG_MAP_RECT(PLAYER1,38,8,1,1)
  ENDIF
 ENDIF
 NEXT_COMMAND_REUSABLE
 SET_TIMER(PLAYER1,TIMER6)
ENDIF
