Core/Movement: Allow passing tier transition id (db2 id) to land/takeoff movement

Port From (https://github.com/TrinityCore/TrinityCore/commit/8bf3bc071ba0de9405f9e573541251d5fcd63cf3)
This commit is contained in:
hondacrx
2023-04-05 08:13:02 -04:00
parent 8178903833
commit 4b4b49dacf
4 changed files with 46 additions and 15 deletions
+7 -3
View File
@@ -55,12 +55,16 @@ namespace Game.Movement
// spline initialized, duration known and i able to compute parabolic acceleration
if (args.flags.HasFlag(SplineFlag.Parabolic | SplineFlag.Animation | SplineFlag.FadeObject))
{
effect_start_time = (int)(Duration() * args.time_perc);
if (args.flags.HasFlag(SplineFlag.Parabolic) && effect_start_time < Duration())
int spline_duration = Duration();
effect_start_time = (int)(spline_duration * args.effect_start_time_percent + args.effect_start_time.TotalMilliseconds);
if (effect_start_time > spline_duration)
effect_start_time = spline_duration;
if (args.flags.HasFlag(SplineFlag.Parabolic) && effect_start_time < spline_duration)
{
if (args.parabolic_amplitude != 0.0f)
{
float f_duration = MSToSec((uint)(Duration() - effect_start_time));
float f_duration = MSToSec((uint)(spline_duration - effect_start_time));
vertical_acceleration = args.parabolic_amplitude * 8.0f / (f_duration * f_duration);
}
else if (args.vertical_acceleration != 0.0f)