fix: Fixes cast spell speeds for various expansions (#1178)

* Adds 0.25s for all spells for SA+ Era
* Fixes Summon Creature & Blade Spirits cast delay
* Fixes minimum cast delay for chivalry spells
* Fixes poison strike and wither spells
This commit is contained in:
Kamron Batman 2022-10-01 12:25:40 -07:00 committed by GitHub
parent aa270ac868
commit 8a2c0ead3d
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
8 changed files with 62 additions and 45 deletions

View file

@ -98,8 +98,19 @@ namespace Server.Spells
public virtual double GetResistPercent(Mobile target) => GetResistPercentForCircle(target, Circle);
public override TimeSpan GetCastDelay() =>
!Core.ML && Scroll is BaseWand ? TimeSpan.Zero :
!Core.AOS ? TimeSpan.FromSeconds(0.5 + 0.25 * (int)Circle) : base.GetCastDelay();
public override TimeSpan GetCastDelay()
{
if (!Core.ML || Scroll is BaseWand)
{
return TimeSpan.Zero;
}
if (!Core.AOS)
{
return TimeSpan.FromSeconds(0.5 + 0.25 * (int)Circle);
}
return base.GetCastDelay();
}
}
}

View file

@ -705,6 +705,13 @@ namespace Server.Spells
fc -= EssenceOfWindSpell.GetFCMalus(Caster);
}
if (Core.SA)
{
// At some point OSI added 0.25s to every spell. This makes the minimum 0.5s
// Note: This is done after multiplying for summon creature & blade spirits.
fc--;
}
var fcDelay = TimeSpan.FromSeconds(-(CastDelayFastScalar * fc * CastDelaySecondsPerTick));
return Utility.Max(CastDelayBase + fcDelay, CastDelayMinimum);