fix: Optimizes redundant spell damage logic

This commit is contained in:
Mink80 2023-09-27 22:24:46 +02:00 committed by GitHub
parent 0f41a3d1b1
commit 27df6344d9
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23

View file

@ -1130,32 +1130,20 @@ namespace Server.Spells
protected override void OnTick()
{
var bcFrom = m_From as BaseCreature;
var bcTarg = m_Target as BaseCreature;
if (m_Target != null)
{
bcFrom?.AlterSpellDamageTo(m_Target, ref m_Damage);
}
if (m_From != null)
{
bcTarg?.AlterSpellDamageFrom(m_From, ref m_Damage);
}
StaminaSystem.DFA = m_DFA;
var damageGiven = AOS.Damage(m_Target, m_From, m_Damage, m_Phys, m_Fire, m_Cold, m_Pois, m_Nrgy, m_Chaos);
StaminaSystem.DFA = DFAlgorithm.Standard;
bcFrom?.OnDamageSpell(m_Target, damageGiven);
if (m_From != null)
{
bcTarg?.OnHarmfulSpell(m_From);
bcTarg?.OnDamagedBySpell(m_From, damageGiven);
}
Damage(
m_Spell,
TimeSpan.Zero,
m_Target,
m_From,
m_Damage,
m_Phys,
m_Fire,
m_Cold,
m_Pois,
m_Nrgy,
m_Chaos,
m_DFA
);
m_Spell?.RemoveDelayedDamageContext(m_Target);
}