aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorAnubisss <anubisss210@gmail.com>2012-02-15 19:57:57 -0500
committerSubv <s.v.h21@hotmail.com>2012-02-15 19:57:57 -0500
commitccb80da1e1bc3fe88b2209117473670a2bebd915 (patch)
tree2570bc1547a862714449dba24e29e123268ae3fd /src
parent210fa7743d72f7a91d65826db5aa9596604cf54f (diff)
Fixed crash in the Twin Valkyrs encounter in ToC. closes #4915
Diffstat (limited to 'src')
-rwxr-xr-xsrc/server/scripts/Northrend/CrusadersColiseum/TrialOfTheCrusader/boss_twin_valkyr.cpp8
1 files changed, 5 insertions, 3 deletions
diff --git a/src/server/scripts/Northrend/CrusadersColiseum/TrialOfTheCrusader/boss_twin_valkyr.cpp b/src/server/scripts/Northrend/CrusadersColiseum/TrialOfTheCrusader/boss_twin_valkyr.cpp
index c1009963df0..a78a29704cc 100755
--- a/src/server/scripts/Northrend/CrusadersColiseum/TrialOfTheCrusader/boss_twin_valkyr.cpp
+++ b/src/server/scripts/Northrend/CrusadersColiseum/TrialOfTheCrusader/boss_twin_valkyr.cpp
@@ -562,11 +562,13 @@ struct mob_unleashed_ballAI : public ScriptedAI
{
float x0 = ToCCommonLoc[1].GetPositionX(), y0 = ToCCommonLoc[1].GetPositionY(), r = 47.0f;
float y = y0;
- float x = float(urand(uint32(x0 - r), uint32(x0 + r)));
+ float x = frand(x0 - r, x0 + r);
+ float sq = pow(r, 2) - pow(x - x0, 2);
+ float rt = sqrtf(fabs(sq));
if (urand(0, 1))
- y = y0 + sqrt(pow(r, 2) - pow((x-x0), 2));
+ y = y0 + rt;
else
- y = y0 - sqrt(pow(r, 2) - pow((x-x0), 2));
+ y = y0 - rt;
me->GetMotionMaster()->MovePoint(0, x, y, me->GetPositionZ());
}