diff options
author | Anubisss <anubisss210@gmail.com> | 2012-02-15 19:57:57 -0500 |
---|---|---|
committer | Subv <s.v.h21@hotmail.com> | 2012-02-15 19:57:57 -0500 |
commit | ccb80da1e1bc3fe88b2209117473670a2bebd915 (patch) | |
tree | 2570bc1547a862714449dba24e29e123268ae3fd /src | |
parent | 210fa7743d72f7a91d65826db5aa9596604cf54f (diff) |
Fixed crash in the Twin Valkyrs encounter in ToC. closes #4915
Diffstat (limited to 'src')
-rwxr-xr-x | src/server/scripts/Northrend/CrusadersColiseum/TrialOfTheCrusader/boss_twin_valkyr.cpp | 8 |
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()); } |