aboutsummaryrefslogtreecommitdiff
path: root/src/server/scripts
diff options
context:
space:
mode:
authorShauren <shauren.trinity@gmail.com>2023-10-31 20:20:00 +0100
committerShauren <shauren.trinity@gmail.com>2023-10-31 20:20:00 +0100
commit9894f6b802c974bb36acd7fbb0d083455a1f0f1b (patch)
tree458f167a846d70d4b2391c805423d9342b36f89a /src/server/scripts
parenta0fdac0ecc119b4ba85d41f86891b3cd35f7acde (diff)
Core/Random: Changed random functions returning doubles to return floats
* They were all cast to float at use anyway * Improves roll_chance_f performance (rand32() is now called internally by uniform_real_distribution once instead of twice)
Diffstat (limited to 'src/server/scripts')
-rw-r--r--src/server/scripts/EasternKingdoms/ZulGurub/boss_mandokir.cpp2
-rw-r--r--src/server/scripts/Events/midsummer.cpp4
-rw-r--r--src/server/scripts/Events/zalazane_fall.cpp2
-rw-r--r--src/server/scripts/ExilesReach/zone_exiles_reach.cpp2
-rw-r--r--src/server/scripts/Kalimdor/CavernsOfTime/CullingOfStratholme/instance_culling_of_stratholme.cpp4
-rw-r--r--src/server/scripts/Kalimdor/HallsOfOrigination/boss_anraphet.cpp4
-rw-r--r--src/server/scripts/Northrend/IcecrownCitadel/boss_sindragosa.cpp12
-rw-r--r--src/server/scripts/Northrend/IcecrownCitadel/boss_the_lich_king.cpp2
-rw-r--r--src/server/scripts/Northrend/Naxxramas/boss_kelthuzad.cpp6
9 files changed, 19 insertions, 19 deletions
diff --git a/src/server/scripts/EasternKingdoms/ZulGurub/boss_mandokir.cpp b/src/server/scripts/EasternKingdoms/ZulGurub/boss_mandokir.cpp
index d5e0e4f31d5..145f5acce61 100644
--- a/src/server/scripts/EasternKingdoms/ZulGurub/boss_mandokir.cpp
+++ b/src/server/scripts/EasternKingdoms/ZulGurub/boss_mandokir.cpp
@@ -530,7 +530,7 @@ class spell_mandokir_devastating_slam : public SpellScript
// HACK: Need better way for pos calculation
for (uint8 i = 0; i <= 50; ++i)
{
- angle = float(rand_norm()) * static_cast<float>(M_PI * 35.0f / 180.0f) - static_cast<float>(M_PI * 17.5f / 180.0f);
+ angle = rand_norm() * static_cast<float>(M_PI * 35.0f / 180.0f) - static_cast<float>(M_PI * 17.5f / 180.0f);
caster->GetClosePoint(x, y, z, 4.0f, frand(-2.5f, 50.0f), angle);
caster->CastSpell(Position{ x, y, z }, SPELL_DEVASTATING_SLAM_DAMAGE, true);
diff --git a/src/server/scripts/Events/midsummer.cpp b/src/server/scripts/Events/midsummer.cpp
index c6e638e0b22..29cac39c3dc 100644
--- a/src/server/scripts/Events/midsummer.cpp
+++ b/src/server/scripts/Events/midsummer.cpp
@@ -307,7 +307,7 @@ class spell_midsummer_fling_torch : public SpellScript
void HandleDummy(SpellEffIndex /*effIndex*/)
{
- Position dest = GetCaster()->GetFirstCollisionPosition(30.0f, (float)rand_norm() * static_cast<float>(2 * M_PI));
+ Position dest = GetCaster()->GetFirstCollisionPosition(30.0f, rand_norm() * static_cast<float>(2 * M_PI));
GetCaster()->CastSpell(dest, SPELL_FLING_TORCH_TRIGGERED, true);
GetCaster()->CastSpell(dest, SPELL_FLING_TORCH_SHADOW);
}
@@ -391,7 +391,7 @@ class spell_midsummer_fling_torch_catch : public SpellScript
}
else
{
- Position dest = player->GetFirstCollisionPosition(15.0f, (float)rand_norm() * static_cast<float>(2 * M_PI));
+ Position dest = player->GetFirstCollisionPosition(15.0f, rand_norm() * static_cast<float>(2 * M_PI));
player->CastSpell(player, SPELL_TORCHES_CAUGHT);
player->CastSpell(dest, SPELL_FLING_TORCH_TRIGGERED, true);
player->CastSpell(dest, SPELL_FLING_TORCH_SHADOW);
diff --git a/src/server/scripts/Events/zalazane_fall.cpp b/src/server/scripts/Events/zalazane_fall.cpp
index f655b7db555..8526025716e 100644
--- a/src/server/scripts/Events/zalazane_fall.cpp
+++ b/src/server/scripts/Events/zalazane_fall.cpp
@@ -287,7 +287,7 @@ struct npc_troll_volunteer : public ScriptedAI
}
me->SetDisplayId(trollmodel[urand(0, 39)]);
if (Player* player = me->GetOwner()->ToPlayer())
- me->GetMotionMaster()->MoveFollow(player, 5.0f, float(rand_norm() + 1.0f) * float(M_PI) / 3.0f * 4.0f);
+ me->GetMotionMaster()->MoveFollow(player, 5.0f, (rand_norm() + 1.0f) * float(M_PI) / 3.0f * 4.0f);
}
void Reset() override
diff --git a/src/server/scripts/ExilesReach/zone_exiles_reach.cpp b/src/server/scripts/ExilesReach/zone_exiles_reach.cpp
index 5a73e74bb1b..1c56bbe29b5 100644
--- a/src/server/scripts/ExilesReach/zone_exiles_reach.cpp
+++ b/src/server/scripts/ExilesReach/zone_exiles_reach.cpp
@@ -359,7 +359,7 @@ struct npc_sparring_partner_exiles_reach : public ScriptedAI
{
case POSITION_SPARPOINT_ADVERTISMENT:
me->SetWalk(true);
- me->GetMotionMaster()->MovePoint(POSITION_SPARPOINT_READY, me->GetFirstCollisionPosition(2.0f, (float)rand_norm() * static_cast<float>(2 * M_PI)));
+ me->GetMotionMaster()->MovePoint(POSITION_SPARPOINT_READY, me->GetFirstCollisionPosition(2.0f, rand_norm() * static_cast<float>(2 * M_PI)));
break;
case POSITION_SPARPOINT_READY:
if (Player* player = ObjectAccessor::GetPlayer(*me, _playerGUID))
diff --git a/src/server/scripts/Kalimdor/CavernsOfTime/CullingOfStratholme/instance_culling_of_stratholme.cpp b/src/server/scripts/Kalimdor/CavernsOfTime/CullingOfStratholme/instance_culling_of_stratholme.cpp
index 87a89e0d80c..15fecf2e221 100644
--- a/src/server/scripts/Kalimdor/CavernsOfTime/CullingOfStratholme/instance_culling_of_stratholme.cpp
+++ b/src/server/scripts/Kalimdor/CavernsOfTime/CullingOfStratholme/instance_culling_of_stratholme.cpp
@@ -405,8 +405,8 @@ class instance_culling_of_stratholme : public InstanceMapScript
if (player->GetGUID() == guid || !player->IsGameMaster())
{
player->CombatStop(true);
- const float offsetDist = 10;
- float myAngle = rand_norm() * 2.0 * M_PI;
+ constexpr float offsetDist = 10.0f;
+ float myAngle = rand_norm() * static_cast<float>(2.0f * M_PI);
Position myTarget(target.GetPositionX() + std::sin(myAngle) * offsetDist, target.GetPositionY() + std::sin(myAngle) * offsetDist, target.GetPositionZ(), myAngle + M_PI);
player->NearTeleportTo(myTarget);
}
diff --git a/src/server/scripts/Kalimdor/HallsOfOrigination/boss_anraphet.cpp b/src/server/scripts/Kalimdor/HallsOfOrigination/boss_anraphet.cpp
index f5da2934c7d..86e2c5ebe49 100644
--- a/src/server/scripts/Kalimdor/HallsOfOrigination/boss_anraphet.cpp
+++ b/src/server/scripts/Kalimdor/HallsOfOrigination/boss_anraphet.cpp
@@ -538,8 +538,8 @@ public:
// Do our own calculations for the destination position.
/// TODO: Remove this once we find a general rule for WorldObject::MovePosition (this spell shouldn't take the Z change into consideration)
Unit* caster = GetCaster();
- float angle = float(rand_norm()) * static_cast<float>(2 * M_PI);
- uint32 dist = caster->GetCombatReach() + GetSpellInfo()->GetEffect(EFFECT_0).CalcRadius(caster, SpellTargetIndex::TargetB) * (float)rand_norm();
+ float angle = rand_norm() * static_cast<float>(2 * M_PI);
+ uint32 dist = caster->GetCombatReach() + GetSpellInfo()->GetEffect(EFFECT_0).CalcRadius(caster, SpellTargetIndex::TargetB) * rand_norm();
float x = caster->GetPositionX() + dist * std::cos(angle);
float y = caster->GetPositionY() + dist * std::sin(angle);
diff --git a/src/server/scripts/Northrend/IcecrownCitadel/boss_sindragosa.cpp b/src/server/scripts/Northrend/IcecrownCitadel/boss_sindragosa.cpp
index d6ab270a5fc..86c9ee09c49 100644
--- a/src/server/scripts/Northrend/IcecrownCitadel/boss_sindragosa.cpp
+++ b/src/server/scripts/Northrend/IcecrownCitadel/boss_sindragosa.cpp
@@ -522,8 +522,8 @@ struct boss_sindragosa : public BossAI
case EVENT_FROST_BOMB:
{
float destX, destY, destZ;
- destX = float(rand_norm()) * 75.0f + 4350.0f;
- destY = float(rand_norm()) * 75.0f + 2450.0f;
+ destX = rand_norm() * 75.0f + 4350.0f;
+ destY = rand_norm() * 75.0f + 2450.0f;
destZ = 205.0f; // random number close to ground, get exact in next call
me->UpdateGroundPositionZ(destX, destY, destZ);
me->CastSpell(Position{ destX, destY, destZ }, SPELL_FROST_BOMB_TRIGGER, false);
@@ -1025,13 +1025,13 @@ class spell_sindragosa_s_fury : public SpellScript
void SelectDest()
{
- if (Position* dest = const_cast<WorldLocation*>(GetExplTargetDest()))
+ if (WorldLocation const* dest = GetExplTargetDest())
{
- float destX = float(rand_norm()) * 75.0f + 4350.0f;
- float destY = float(rand_norm()) * 75.0f + 2450.0f;
+ float destX = rand_norm() * 75.0f + 4350.0f;
+ float destY = rand_norm() * 75.0f + 2450.0f;
float destZ = 205.0f; // random number close to ground, get exact in next call
GetCaster()->UpdateGroundPositionZ(destX, destY, destZ);
- dest->Relocate(destX, destY, destZ);
+ SetExplTargetDest(WorldLocation(dest->GetMapId(), destX, destY, destZ));
}
}
diff --git a/src/server/scripts/Northrend/IcecrownCitadel/boss_the_lich_king.cpp b/src/server/scripts/Northrend/IcecrownCitadel/boss_the_lich_king.cpp
index 1a30c3c5bee..ba5dcb80c28 100644
--- a/src/server/scripts/Northrend/IcecrownCitadel/boss_the_lich_king.cpp
+++ b/src/server/scripts/Northrend/IcecrownCitadel/boss_the_lich_king.cpp
@@ -1642,7 +1642,7 @@ struct npc_strangulate_vehicle : public ScriptedAI
{
if (me->GetExactDist(lichKing) > 10.0f)
{
- Position pos = lichKing->GetNearPosition(float(rand_norm()) * 5.0f + 7.5f, lichKing->GetAbsoluteAngle(me));
+ Position pos = lichKing->GetNearPosition(rand_norm() * 5.0f + 7.5f, lichKing->GetAbsoluteAngle(me));
me->GetMotionMaster()->MovePoint(0, pos);
}
}
diff --git a/src/server/scripts/Northrend/Naxxramas/boss_kelthuzad.cpp b/src/server/scripts/Northrend/Naxxramas/boss_kelthuzad.cpp
index 72e07397e3e..85572114efc 100644
--- a/src/server/scripts/Northrend/Naxxramas/boss_kelthuzad.cpp
+++ b/src/server/scripts/Northrend/Naxxramas/boss_kelthuzad.cpp
@@ -159,11 +159,11 @@ static inline Position const& GetRandomMinionSpawnPoint()
// uniformly distribute on the circle
static Position GetRandomPositionOnCircle(Position const& center, float radius)
{
- double angle = rand_norm() * 2.0 * M_PI;
- double relDistance = rand_norm() + rand_norm();
+ float angle = float(M_PI * rand_norm() * 2.0);
+ float relDistance = rand_norm() + rand_norm();
if (relDistance > 1)
relDistance = 1 - relDistance;
- return Position(center.GetPositionX() + std::sin(angle)*relDistance*radius, center.GetPositionY() + std::cos(angle)*relDistance*radius, center.GetPositionZ());
+ return Position(center.GetPositionX() + std::sin(angle) * relDistance * radius, center.GetPositionY() + std::cos(angle) * relDistance * radius, center.GetPositionZ());
}
class KelThuzadCharmedPlayerAI : public SimpleCharmedPlayerAI