453 {
456 if (!target)
457 return;
460 {
461 float o =
frand(0, 2 * M_PI);
464 float actualDistance = std::min(8.0f, safeDistance * 0.8f);
465
467 GetCaster()->GetPositionX() + actualDistance * cos(o),
468 GetCaster()->GetPositionY() + actualDistance * sin(o),
469 z
470 );
471 }
472 else
474
475 float speedXY = float(
GetSpellInfo()->Effects[effIndex].MiscValue) * 0.1f;
478 }
float frand(float min, float max)
Definition Random.cpp:57
void MoveJump(Position const &pos, float speedXY, float speedZ, uint32 id=0)
Definition MotionMaster.h:256
SpellInfo const * GetSpellInfo()
Definition SpellScript.cpp:411
void PreventHitDefaultEffect(SpellEffIndex effIndex)
Definition SpellScript.cpp:590
Unit * GetHitUnit()
Definition SpellScript.cpp:448
Unit * GetCaster()
Definition SpellScript.cpp:401
MotionMaster * GetMotionMaster()
Definition Unit.h:1758
float GetDistance(WorldObject const *obj) const
Definition Object.cpp:1295
float RaycastToObstacle(Unit *unit, float angle, float z, float maxDist=20.0f)
Definition boss_muru.cpp:430
double gravity
Definition MovementUtil.cpp:24
float GetPositionZ() const
Definition Position.h:123
float GetPositionX() const
Definition Position.h:121
float GetPositionY() const
Definition Position.h:122
void Relocate(float x, float y)
Definition Position.h:77