fix: mob spawning repartition
This commit is contained in:
@@ -22,14 +22,20 @@ void ServerWorld::spawnMobs(game::MobType type, std::uint8_t level, game::Player
|
|||||||
enemyMobSpawn = &getTeam(game::TeamColor::Red).getSpawn();
|
enemyMobSpawn = &getTeam(game::TeamColor::Red).getSpawn();
|
||||||
}
|
}
|
||||||
|
|
||||||
std::int32_t spawnCenterX = enemyMobSpawn->getCenterX();
|
float spawnWidth = enemyMobSpawn->getWidth();
|
||||||
std::int32_t spawnCenterY = enemyMobSpawn->getCenterY();
|
float spawnHeight = enemyMobSpawn->getHeight();
|
||||||
|
|
||||||
std::int32_t minSpawnY = spawnCenterY - 2;
|
float spawnCenterX = enemyMobSpawn->getCenterX();
|
||||||
std::int32_t maxSpawnY = spawnCenterY + 2;
|
float spawnCenterY = enemyMobSpawn->getCenterY();
|
||||||
|
|
||||||
std::int32_t minSpawnX = spawnCenterX - 2;
|
auto mobStats = getMobStats(type, level);
|
||||||
std::int32_t maxSpawnX = spawnCenterX + 2;
|
auto mobSize = mobStats->getSize();
|
||||||
|
|
||||||
|
float minSpawnX = spawnCenterX - spawnWidth / 2.0f + mobSize.x / 2.0f;
|
||||||
|
float maxSpawnX = spawnCenterX + spawnWidth / 2.0f - mobSize.x / 2.0f;
|
||||||
|
|
||||||
|
float minSpawnY = spawnCenterY - spawnHeight / 2.0f + mobSize.y / 2.0f;
|
||||||
|
float maxSpawnY = spawnCenterY + spawnHeight / 2.0f - mobSize.y / 2.0f;
|
||||||
|
|
||||||
float mobX = utils::getRandomReal<float>(minSpawnX, maxSpawnX);
|
float mobX = utils::getRandomReal<float>(minSpawnX, maxSpawnX);
|
||||||
float mobY = utils::getRandomReal<float>(minSpawnY, maxSpawnY);
|
float mobY = utils::getRandomReal<float>(minSpawnY, maxSpawnY);
|
||||||
|
|||||||
Reference in New Issue
Block a user