diff --git a/include/game/server/ServerWorld.h b/include/game/server/ServerWorld.h index 2aa1647..301e53c 100644 --- a/include/game/server/ServerWorld.h +++ b/include/game/server/ServerWorld.h @@ -14,6 +14,8 @@ private: game::TowerID m_CurrentTowerID; Server* m_Server; public: + static constexpr float MobSpawnBorder = 0.01f; + ServerWorld(Server* server, ServerGame* game); void spawnMobs(game::MobType type, std::uint8_t level, game::PlayerID sender, std::uint8_t count); diff --git a/src/game/server/ServerWorld.cpp b/src/game/server/ServerWorld.cpp index 70fe3ed..94fddd8 100644 --- a/src/game/server/ServerWorld.cpp +++ b/src/game/server/ServerWorld.cpp @@ -37,8 +37,8 @@ void ServerWorld::spawnMobs(game::MobType type, std::uint8_t level, game::Player float minSpawnY = spawnCenterY - spawnHeight / 2.0f + mobSize.y / 2.0f; float maxSpawnY = spawnCenterY + spawnHeight / 2.0f - mobSize.y / 2.0f; - float mobX = utils::getRandomReal(minSpawnX, maxSpawnX); - float mobY = utils::getRandomReal(minSpawnY, maxSpawnY); + float mobX = utils::getRandomReal(minSpawnX + MobSpawnBorder, maxSpawnX - MobSpawnBorder); + float mobY = utils::getRandomReal(minSpawnY + MobSpawnBorder, maxSpawnY - MobSpawnBorder); spawnMobAt(m_CurrentMobID, type, level, sender, mobX, mobY, enemyMobSpawn->getDirection());