Core/SAI: Implement new action to set movement speed

Port From (https://github.com/TrinityCore/TrinityCore/commit/5dd6d31c01dcc48f3d286196808ca0f6de9eaf04)
This commit is contained in:
hondacrx
2019-09-04 13:32:16 -04:00
parent b3bcfd1a8f
commit eaadad3774
3 changed files with 43 additions and 1 deletions
@@ -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: