Core/Movement: Implement initializing parabolic splines using jump gravity instead of max parabolic height

Port From (https://github.com/TrinityCore/TrinityCore/commit/684cd9d9681466019dcd06ad6f994890cff8cb2e)
This commit is contained in:
hondacrx
2021-12-01 10:34:19 -05:00
parent 4ec905e0dc
commit 2208a7be60
5 changed files with 54 additions and 5 deletions
+9 -2
View File
@@ -70,8 +70,15 @@ namespace Game.Movement
effect_start_time = (int)(Duration() * args.time_perc);
if (args.flags.HasFlag(SplineFlag.Parabolic) && effect_start_time < Duration())
{
float f_duration = (float)TimeSpan.FromMilliseconds(Duration() - effect_start_time).TotalSeconds;
vertical_acceleration = args.parabolic_amplitude * 8.0f / (f_duration * f_duration);
if (args.parabolic_amplitude != 0.0f)
{
float f_duration = MSToSec((uint)(Duration() - effect_start_time));
vertical_acceleration = args.parabolic_amplitude * 8.0f / (f_duration * f_duration);
}
else if (args.vertical_acceleration != 0.0f)
{
vertical_acceleration = args.vertical_acceleration;
}
}
}
}