454 {
457 if (!target)
458 return;
461 {
462 float o =
frand(0, 2 * M_PI);
465 float actualDistance = std::min(8.0f, safeDistance * 0.8f);
466
468 GetCaster()->GetPositionX() + actualDistance * cos(o),
469 GetCaster()->GetPositionY() + actualDistance * sin(o),
470 z
471 );
472 }
473 else
475
476 float speedXY = float(
GetSpellInfo()->Effects[effIndex].MiscValue) * 0.1f;
479 }
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:229
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:1664
float GetDistance(WorldObject const *obj) const
Definition Object.cpp:1257
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