Some cleanup of contains keys and try get values (#246)

This commit is contained in:
Kamron Batman 2020-09-13 20:20:44 -07:00 • committed by GitHub
parent 9cbb0cfd23
commit a236617ad9
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
69 changed files with 3508 additions and 350 deletions

View file

@ -27,7 +27,9 @@ namespace Server.Spells.Spellweaving
public void Target(Mobile m)
{
if (m == null)
{
return;
}
if (!Caster.CanSee(m))
{
@ -94,10 +96,10 @@ namespace Server.Spells.Spellweaving
public static bool StopEffect(Mobile m)
{
if (!m_Table.TryGetValue(m, out var info))
if (!m_Table.Remove(m, out var info))
{
return false;
m_Table.Remove(m);
}
info.m_Timer.Stop();
BuffInfo.RemoveBuff(m, BuffIcon.GiftOfRenewal);
@ -151,7 +153,9 @@ namespace Server.Spells.Spellweaving
}
if (m.Hits >= m.HitsMax)
{
return;
}
var toHeal = m_GiftInfo.m_HitsPerRound;

View file

@ -77,17 +77,20 @@ namespace Server.Spells.Spellweaving
private static void FinishEffect(DelayedEffectEntry effect)
{
if (m_WeaponDamageTable.TryGetValue(effect.m_Weapon, out var entry))
{
AOS.Damage(effect.m_Target, entry.m_Caster, entry.m_Damage, 0, 100, 0, 0, 0);
}
}
public static void StopImmolating(BaseWeapon weapon)
{
if (!m_WeaponDamageTable.TryGetValue(weapon, out var entry))
if (!m_WeaponDamageTable.Remove(weapon, out var entry))
{
return;
}
entry.m_Caster?.PlaySound(0x27);
entry.m_Timer.Stop();
m_WeaponDamageTable.Remove(weapon);
weapon.InvalidateProperties();
}

View file

@ -48,7 +48,9 @@ namespace Server.Spells.Spellweaving
{
if (Caster == m || !SpellHelper.ValidIndirectTarget(Caster, m) || !Caster.CanBeHarmful(m, false) ||
!Caster.InLOS(m))
{
continue;
}
Caster.DoHarmful(m);
@ -57,7 +59,9 @@ namespace Server.Spells.Spellweaving
SpellHelper.Damage(this, m, m.Player && Caster.Player ? pvpDamage : pvmDamage, 0, 0, 0, 0, 100);
if (oldSpell == null || oldSpell == m.Spell || CheckResisted(m))
{
continue;
}
m_Table[m] = Timer.DelayCall(duration, DoExpire, m);
@ -77,11 +81,12 @@ namespace Server.Spells.Spellweaving
public static void DoExpire(Mobile m)
{
if (!m_Table.TryGetValue(m, out var t))
if (!m_Table.Remove(m, out var t))
{
return;
}
t.Stop();
m_Table.Remove(m);
BuffInfo.RemoveBuff(m, BuffIcon.Thunderstorm);
}