diff --git a/Source/monster.cpp b/Source/monster.cpp index d31a7a1e456..0cb69c0f09b 100644 --- a/Source/monster.cpp +++ b/Source/monster.cpp @@ -545,6 +545,13 @@ void PlaceQuestMonsters() } } else if (setlvlnum == SL_SKELKING) { PlaceUniqueMonst(UniqueMonsterType::SkeletonKing, 0, 0); + } else if (setlvlnum == SL_VILEBETRAYER) { + AddMonsterType(UniqueMonsterType::Lazarus, PLACE_UNIQUE); + AddMonsterType(UniqueMonsterType::RedVex, PLACE_UNIQUE); + AddMonsterType(UniqueMonsterType::BlackJade, PLACE_UNIQUE); + PlaceUniqueMonst(UniqueMonsterType::Lazarus, 0, 0); + PlaceUniqueMonst(UniqueMonsterType::RedVex, 0, 0); + PlaceUniqueMonst(UniqueMonsterType::BlackJade, 0, 0); } } @@ -3577,15 +3584,6 @@ void SetMapMonsters(const uint16_t *dunData, Point startPosition) for (int i = 0; i < MAX_PLRS; i++) AddMonster(GolemHoldingCell, Direction::South, 0, false); - if (setlevel && setlvlnum == SL_VILEBETRAYER) { - AddMonsterType(UniqueMonsterType::Lazarus, PLACE_UNIQUE); - AddMonsterType(UniqueMonsterType::RedVex, PLACE_UNIQUE); - AddMonsterType(UniqueMonsterType::BlackJade, PLACE_UNIQUE); - PlaceUniqueMonst(UniqueMonsterType::Lazarus, 0, 0); - PlaceUniqueMonst(UniqueMonsterType::RedVex, 0, 0); - PlaceUniqueMonst(UniqueMonsterType::BlackJade, 0, 0); - } - WorldTileSize size = GetDunSize(dunData); int layer2Offset = 2 + size.width * size.height;