Core/Auras: Implemented adv flying speed mod auras

Port From (https://github.com/TrinityCore/TrinityCore/commit/6e0b146f1d6df817714595995632e2514e5869a8)
This commit is contained in:
Hondacrx
2024-11-10 22:13:41 -05:00
parent f14a77d33f
commit 3a4eec6ebd
3 changed files with 100 additions and 27 deletions
+43
View File
@@ -2888,6 +2888,49 @@ namespace Game.Spells
aurApp.GetTarget().UpdateMovementForcesModMagnitude();
}
[AuraEffectHandler(AuraType.ModAdvFlyingAirFriction)]
[AuraEffectHandler(AuraType.ModAdvFlyingMaxVel)]
[AuraEffectHandler(AuraType.ModAdvFlyingLiftCoef)]
[AuraEffectHandler(AuraType.ModAdvFlyingAddImpulseMaxSpeed)]
[AuraEffectHandler(AuraType.ModAdvFlyingBankingRate)]
[AuraEffectHandler(AuraType.ModAdvFlyingPitchingRateDown)]
[AuraEffectHandler(AuraType.ModAdvFlyingPitchingRateUp)]
[AuraEffectHandler(AuraType.ModAdvFlyingOverMaxDeceleration)]
void HandleAuraModAdvFlyingSpeed(AuraApplication aurApp, AuraEffectHandleModes mode, bool apply)
{
if (!mode.HasAnyFlag(AuraEffectHandleModes.ChangeAmountMask))
return;
Unit target = aurApp.GetTarget();
switch (GetAuraType())
{
case AuraType.ModAdvFlyingAirFriction:
target.UpdateAdvFlyingSpeed(AdvFlyingRateTypeSingle.AirFriction, true);
break;
case AuraType.ModAdvFlyingMaxVel:
target.UpdateAdvFlyingSpeed(AdvFlyingRateTypeSingle.MaxVel, true);
break;
case AuraType.ModAdvFlyingLiftCoef:
target.UpdateAdvFlyingSpeed(AdvFlyingRateTypeSingle.LiftCoefficient, true);
break;
case AuraType.ModAdvFlyingAddImpulseMaxSpeed:
target.UpdateAdvFlyingSpeed(AdvFlyingRateTypeSingle.AddImpulseMaxSpeed, true);
break;
case AuraType.ModAdvFlyingBankingRate:
target.UpdateAdvFlyingSpeed(AdvFlyingRateTypeRange.BankingRate, true);
break;
case AuraType.ModAdvFlyingPitchingRateDown:
target.UpdateAdvFlyingSpeed(AdvFlyingRateTypeRange.PitchingRateDown, true);
break;
case AuraType.ModAdvFlyingPitchingRateUp:
target.UpdateAdvFlyingSpeed(AdvFlyingRateTypeRange.PitchingRateUp, true);
break;
case AuraType.ModAdvFlyingOverMaxDeceleration:
target.UpdateAdvFlyingSpeed(AdvFlyingRateTypeSingle.OverMaxDeceleration, true);
break;
}
}
/*********************************************************/
/*** IMMUNITY ***/
/*********************************************************/