Core/SAI: Implement new action to set movement speed
Port From (https://github.com/TrinityCore/TrinityCore/commit/5dd6d31c01dcc48f3d286196808ca0f6de9eaf04)
This commit is contained in:
@@ -2622,6 +2622,22 @@ namespace Game.AI
|
||||
playerTarget.GetSceneMgr().CancelSceneBySceneId(e.Action.scene.sceneId);
|
||||
}
|
||||
|
||||
break;
|
||||
}
|
||||
case SmartActions.SetMovementSpeed:
|
||||
{
|
||||
var targets = GetTargets(e, unit);
|
||||
if (targets.Empty())
|
||||
break;
|
||||
|
||||
uint speedInteger = e.Action.movementSpeed.speedInteger;
|
||||
uint speedFraction = e.Action.movementSpeed.speedFraction;
|
||||
float speed = (float)((float)speedInteger + (float)speedFraction / Math.Pow(10, Math.Floor(Math.Log10((float)(speedFraction != 0 ? speedFraction : 1)) + 1)));
|
||||
|
||||
foreach (WorldObject target in targets)
|
||||
if (IsCreature(target))
|
||||
me.SetSpeed((UnitMoveType)e.Action.movementSpeed.movementType, speed);
|
||||
|
||||
break;
|
||||
}
|
||||
default:
|
||||
|
||||
Reference in New Issue
Block a user