Some cleanup of contains keys and try get values (#246)
This commit is contained in:
parent
9cbb0cfd23
commit
a236617ad9
69 changed files with 3508 additions and 350 deletions
|
|
@ -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;
|
||||
|
||||
|
|
|
|||
|
|
@ -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();
|
||||
}
|
||||
|
|
|
|||
|
|
@ -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);
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue