Fixes null propogation
This commit is contained in:
parent
22ab83ea9e
commit
3c9842ee5a
218 changed files with 799 additions and 1458 deletions
|
|
@ -96,8 +96,7 @@ namespace Server.Spells
|
|||
|
||||
public void HarmfulSpell( Mobile m )
|
||||
{
|
||||
if ( m is BaseCreature )
|
||||
((BaseCreature)m).OnHarmfulSpell( m_Caster );
|
||||
(m as BaseCreature)?.OnHarmfulSpell( m_Caster );
|
||||
}
|
||||
|
||||
public Spell( Mobile caster, Item scroll, SpellInfo info )
|
||||
|
|
@ -311,11 +310,9 @@ namespace Server.Spells
|
|||
scalar *= 2.0; // Double magery damage to monsters/animals if not AOS
|
||||
}
|
||||
|
||||
if ( target is BaseCreature )
|
||||
((BaseCreature)target).AlterDamageScalarFrom( m_Caster, ref scalar );
|
||||
(target as BaseCreature)?.AlterDamageScalarFrom( m_Caster, ref scalar );
|
||||
|
||||
if ( m_Caster is BaseCreature )
|
||||
((BaseCreature)m_Caster).AlterDamageScalarTo( target, ref scalar );
|
||||
(m_Caster as BaseCreature)?.AlterDamageScalarTo( target, ref scalar );
|
||||
|
||||
if ( Core.SE )
|
||||
scalar *= GetSlayerDamageScalar( target );
|
||||
|
|
@ -417,11 +414,9 @@ namespace Server.Spells
|
|||
|
||||
OnDisturb( type, true );
|
||||
|
||||
if ( m_CastTimer != null )
|
||||
m_CastTimer.Stop();
|
||||
m_CastTimer?.Stop();
|
||||
|
||||
if ( m_AnimTimer != null )
|
||||
m_AnimTimer.Stop();
|
||||
m_AnimTimer?.Stop();
|
||||
|
||||
if ( Core.AOS && m_Caster.Player && type == DisturbType.Hurt )
|
||||
DoHurtFizzle();
|
||||
|
|
@ -908,8 +903,7 @@ namespace Server.Spells
|
|||
m_Spell.m_State = SpellState.Sequencing;
|
||||
m_Spell.m_CastTimer = null;
|
||||
m_Spell.m_Caster.OnSpellCast( m_Spell );
|
||||
if ( m_Spell.m_Caster.Region != null )
|
||||
m_Spell.m_Caster.Region.OnSpellCast( m_Spell.m_Caster, m_Spell );
|
||||
m_Spell.m_Caster.Region?.OnSpellCast( m_Spell.m_Caster, m_Spell );
|
||||
m_Spell.m_Caster.NextSpellTime = Core.TickCount + (int)m_Spell.GetCastRecovery().TotalMilliseconds; // Spell.NextSpellDelay;
|
||||
|
||||
Target originalTarget = m_Spell.m_Caster.Target;
|
||||
|
|
|
|||
|
|
@ -924,8 +924,7 @@ namespace Server.Spells
|
|||
|
||||
bool reflect = (target.MagicDamageAbsorb >= 0);
|
||||
|
||||
if ( target is BaseCreature )
|
||||
((BaseCreature)target).CheckReflect( caster, ref reflect );
|
||||
(target as BaseCreature)?.CheckReflect( caster, ref reflect );
|
||||
|
||||
if ( target.MagicDamageAbsorb <= 0 )
|
||||
{
|
||||
|
|
@ -982,11 +981,9 @@ namespace Server.Spells
|
|||
|
||||
if ( delay == TimeSpan.Zero )
|
||||
{
|
||||
if ( from is BaseCreature )
|
||||
((BaseCreature)from).AlterSpellDamageTo( target, ref iDamage );
|
||||
(@from as BaseCreature)?.AlterSpellDamageTo( target, ref iDamage );
|
||||
|
||||
if ( target is BaseCreature )
|
||||
((BaseCreature)target).AlterSpellDamageFrom( from, ref iDamage );
|
||||
(target as BaseCreature)?.AlterSpellDamageFrom( @from, ref iDamage );
|
||||
|
||||
target.Damage( iDamage, from );
|
||||
}
|
||||
|
|
@ -1039,11 +1036,9 @@ namespace Server.Spells
|
|||
|
||||
if ( delay == TimeSpan.Zero )
|
||||
{
|
||||
if ( from is BaseCreature )
|
||||
((BaseCreature)from).AlterSpellDamageTo( target, ref iDamage );
|
||||
(@from as BaseCreature)?.AlterSpellDamageTo( target, ref iDamage );
|
||||
|
||||
if ( target is BaseCreature )
|
||||
((BaseCreature)target).AlterSpellDamageFrom( from, ref iDamage );
|
||||
(target as BaseCreature)?.AlterSpellDamageFrom( @from, ref iDamage );
|
||||
|
||||
WeightOverloading.DFA = dfa;
|
||||
|
||||
|
|
@ -1126,15 +1121,12 @@ namespace Server.Spells
|
|||
|
||||
protected override void OnTick()
|
||||
{
|
||||
if ( m_From is BaseCreature )
|
||||
((BaseCreature)m_From).AlterSpellDamageTo( m_Target, ref m_Damage );
|
||||
(m_From as BaseCreature)?.AlterSpellDamageTo( m_Target, ref m_Damage );
|
||||
|
||||
if ( m_Target is BaseCreature )
|
||||
((BaseCreature)m_Target).AlterSpellDamageFrom( m_From, ref m_Damage );
|
||||
(m_Target as BaseCreature)?.AlterSpellDamageFrom( m_From, ref m_Damage );
|
||||
|
||||
m_Target.Damage( m_Damage );
|
||||
if ( m_Spell != null )
|
||||
m_Spell.RemoveDelayedDamageContext( m_Target );
|
||||
m_Spell?.RemoveDelayedDamageContext( m_Target );
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -1192,8 +1184,7 @@ namespace Server.Spells
|
|||
c.OnDamagedBySpell( m_From );
|
||||
}
|
||||
|
||||
if ( m_Spell != null )
|
||||
m_Spell.RemoveDelayedDamageContext( m_Target );
|
||||
m_Spell?.RemoveDelayedDamageContext( m_Target );
|
||||
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -56,8 +56,7 @@ namespace Server.Spells.Bushido
|
|||
{
|
||||
Timer t = (Timer)m_Table[m];
|
||||
|
||||
if ( t != null )
|
||||
t.Stop();
|
||||
t?.Stop();
|
||||
|
||||
t = new InternalTimer( m );
|
||||
|
||||
|
|
@ -70,8 +69,7 @@ namespace Server.Spells.Bushido
|
|||
{
|
||||
Timer t = (Timer)m_Table[m];
|
||||
|
||||
if ( t != null )
|
||||
t.Stop();
|
||||
t?.Stop();
|
||||
|
||||
m_Table.Remove( m );
|
||||
|
||||
|
|
@ -106,8 +104,7 @@ namespace Server.Spells.Bushido
|
|||
{
|
||||
Timer t = (Timer)m_RegenTable[m];
|
||||
|
||||
if ( t != null )
|
||||
t.Stop();
|
||||
t?.Stop();
|
||||
|
||||
t = new RegenTimer( m );
|
||||
|
||||
|
|
@ -120,8 +117,7 @@ namespace Server.Spells.Bushido
|
|||
{
|
||||
Timer t = (Timer)m_RegenTable[m];
|
||||
|
||||
if ( t != null )
|
||||
t.Stop();
|
||||
t?.Stop();
|
||||
|
||||
m_RegenTable.Remove( m );
|
||||
}
|
||||
|
|
|
|||
|
|
@ -71,8 +71,7 @@ namespace Server.Spells.Bushido
|
|||
{
|
||||
Timer t = (Timer)m_Table[m];
|
||||
|
||||
if ( t != null )
|
||||
t.Stop();
|
||||
t?.Stop();
|
||||
|
||||
t = new InternalTimer( m );
|
||||
|
||||
|
|
@ -85,8 +84,7 @@ namespace Server.Spells.Bushido
|
|||
{
|
||||
Timer t = (Timer)m_Table[m];
|
||||
|
||||
if ( t != null )
|
||||
t.Stop();
|
||||
t?.Stop();
|
||||
|
||||
m_Table.Remove( m );
|
||||
|
||||
|
|
|
|||
|
|
@ -181,8 +181,7 @@ namespace Server.Spells.Bushido
|
|||
{
|
||||
Timer t = (Timer)m_Table[m];
|
||||
|
||||
if ( t != null )
|
||||
t.Stop();
|
||||
t?.Stop();
|
||||
|
||||
t = new InternalTimer( m, GetEvadeDuration( m ) );
|
||||
|
||||
|
|
@ -195,8 +194,7 @@ namespace Server.Spells.Bushido
|
|||
{
|
||||
Timer t = (Timer)m_Table[m];
|
||||
|
||||
if ( t != null )
|
||||
t.Stop();
|
||||
t?.Stop();
|
||||
|
||||
m_Table.Remove( m );
|
||||
|
||||
|
|
|
|||
|
|
@ -35,8 +35,7 @@ namespace Server.Spells.Bushido
|
|||
{
|
||||
info.Clear();
|
||||
|
||||
if ( info.m_Timer != null )
|
||||
info.m_Timer.Stop();
|
||||
info.m_Timer?.Stop();
|
||||
}
|
||||
|
||||
if ( !defender.Alive )
|
||||
|
|
@ -110,8 +109,7 @@ namespace Server.Spells.Bushido
|
|||
|
||||
info.Clear();
|
||||
|
||||
if ( info.m_Timer != null )
|
||||
info.m_Timer.Stop();
|
||||
info.m_Timer?.Stop();
|
||||
|
||||
m_Table.Remove( target );
|
||||
}
|
||||
|
|
|
|||
|
|
@ -69,8 +69,7 @@ namespace Server.Spells.Chivalry
|
|||
|
||||
Timer t = (Timer)m_Table[weapon];
|
||||
|
||||
if ( t != null )
|
||||
t.Stop();
|
||||
t?.Stop();
|
||||
|
||||
weapon.Consecrated = true;
|
||||
|
||||
|
|
|
|||
|
|
@ -36,8 +36,7 @@ namespace Server.Spells.Chivalry
|
|||
|
||||
Timer t = (Timer)m_Table[Caster];
|
||||
|
||||
if ( t != null )
|
||||
t.Stop();
|
||||
t?.Stop();
|
||||
|
||||
int delay = ComputePowerValue( 10 );
|
||||
|
||||
|
|
|
|||
|
|
@ -35,8 +35,7 @@ namespace Server.Spells.Chivalry
|
|||
|
||||
Timer t = (Timer)m_Table[Caster];
|
||||
|
||||
if ( t != null )
|
||||
t.Stop();
|
||||
t?.Stop();
|
||||
|
||||
double delay = (double)ComputePowerValue( 1 ) / 60;
|
||||
|
||||
|
|
|
|||
|
|
@ -92,8 +92,7 @@ namespace Server.Spells.Eighth
|
|||
|
||||
protected override void OnTargetFinish( Mobile from )
|
||||
{
|
||||
if ( m_Owner != null )
|
||||
m_Owner.FinishSequence();
|
||||
m_Owner?.FinishSequence();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -99,8 +99,7 @@ namespace Server.Spells.Fifth
|
|||
|
||||
protected override void OnTargetFinish( Mobile from )
|
||||
{
|
||||
if ( m_Owner != null )
|
||||
m_Owner.FinishSequence();
|
||||
m_Owner?.FinishSequence();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -171,8 +171,7 @@ namespace Server.Spells.Fifth
|
|||
{
|
||||
if ( !m_Owner.CanBeginAction( typeof( IncognitoSpell ) ) )
|
||||
{
|
||||
if ( m_Owner is PlayerMobile )
|
||||
((PlayerMobile)m_Owner).SetHairMods( -1, -1 );
|
||||
(m_Owner as PlayerMobile)?.SetHairMods( -1, -1 );
|
||||
|
||||
m_Owner.BodyMod = 0;
|
||||
m_Owner.HueMod = -1;
|
||||
|
|
|
|||
|
|
@ -114,8 +114,7 @@ namespace Server.Spells.Fifth
|
|||
{
|
||||
base.OnAfterDelete();
|
||||
|
||||
if ( m_Timer != null )
|
||||
m_Timer.Stop();
|
||||
m_Timer?.Stop();
|
||||
}
|
||||
|
||||
public InternalItem( Serial serial ) : base( serial )
|
||||
|
|
@ -187,8 +186,7 @@ namespace Server.Spells.Fifth
|
|||
if ( SpellHelper.CanRevealCaster( m ) )
|
||||
m_Caster.RevealingAction();
|
||||
|
||||
if ( m is BaseCreature )
|
||||
( (BaseCreature) m ).OnHarmfulSpell( m_Caster );
|
||||
(m as BaseCreature)?.OnHarmfulSpell( m_Caster );
|
||||
}
|
||||
|
||||
public override bool OnMoveOver( Mobile m )
|
||||
|
|
|
|||
|
|
@ -38,8 +38,7 @@ namespace Server.Spells.First
|
|||
|
||||
SpellHelper.AddStatCurse( Caster, m, StatType.Dex );
|
||||
|
||||
if ( m.Spell != null )
|
||||
m.Spell.OnCasterHurt();
|
||||
m.Spell?.OnCasterHurt();
|
||||
|
||||
m.Paralyzed = false;
|
||||
|
||||
|
|
|
|||
|
|
@ -38,8 +38,7 @@ namespace Server.Spells.First
|
|||
|
||||
SpellHelper.AddStatCurse( Caster, m, StatType.Int );
|
||||
|
||||
if ( m.Spell != null )
|
||||
m.Spell.OnCasterHurt();
|
||||
m.Spell?.OnCasterHurt();
|
||||
|
||||
m.Paralyzed = false;
|
||||
|
||||
|
|
|
|||
|
|
@ -38,8 +38,7 @@ namespace Server.Spells.First
|
|||
|
||||
SpellHelper.AddStatCurse( Caster, m, StatType.Str );
|
||||
|
||||
if ( m.Spell != null )
|
||||
m.Spell.OnCasterHurt();
|
||||
m.Spell?.OnCasterHurt();
|
||||
|
||||
m.Paralyzed = false;
|
||||
|
||||
|
|
|
|||
|
|
@ -67,8 +67,7 @@ namespace Server.Spells.Fourth
|
|||
m.UpdateResistances();
|
||||
}
|
||||
|
||||
if ( m.Spell != null )
|
||||
m.Spell.OnCasterHurt();
|
||||
m.Spell?.OnCasterHurt();
|
||||
|
||||
m.Paralyzed = false;
|
||||
|
||||
|
|
|
|||
|
|
@ -127,8 +127,7 @@ namespace Server.Spells.Fourth
|
|||
{
|
||||
base.OnAfterDelete();
|
||||
|
||||
if ( m_Timer != null )
|
||||
m_Timer.Stop();
|
||||
m_Timer?.Stop();
|
||||
}
|
||||
|
||||
public FireFieldItem( Serial serial ) : base( serial )
|
||||
|
|
@ -201,8 +200,7 @@ namespace Server.Spells.Fourth
|
|||
AOS.Damage( m, m_Caster, damage, 0, 100, 0, 0, 0 );
|
||||
m.PlaySound( 0x208 );
|
||||
|
||||
if ( m is BaseCreature )
|
||||
((BaseCreature) m).OnHarmfulSpell( m_Caster );
|
||||
(m as BaseCreature)?.OnHarmfulSpell( m_Caster );
|
||||
}
|
||||
|
||||
return true;
|
||||
|
|
@ -281,8 +279,7 @@ namespace Server.Spells.Fourth
|
|||
AOS.Damage( m, caster, damage, 0, 100, 0, 0, 0 );
|
||||
m.PlaySound( 0x208 );
|
||||
|
||||
if ( m is BaseCreature )
|
||||
((BaseCreature) m).OnHarmfulSpell( caster );
|
||||
(m as BaseCreature)?.OnHarmfulSpell( caster );
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -58,8 +58,7 @@ namespace Server.Spells.Fourth
|
|||
|
||||
SpellHelper.CheckReflect( (int)Circle, Caster, ref m );
|
||||
|
||||
if ( m.Spell != null )
|
||||
m.Spell.OnCasterHurt();
|
||||
m.Spell?.OnCasterHurt();
|
||||
|
||||
m.Paralyzed = false;
|
||||
|
||||
|
|
|
|||
|
|
@ -142,9 +142,7 @@ namespace Server.Spells.Mysticism
|
|||
|
||||
protected override void OnTarget( Mobile from, object o )
|
||||
{
|
||||
var p = o as IPoint3D;
|
||||
|
||||
if ( p != null )
|
||||
if ( o is IPoint3D p )
|
||||
m_Owner.Target( p );
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -193,8 +193,7 @@ namespace Server.Spells.Mysticism
|
|||
|
||||
public void EndPlague( bool restart )
|
||||
{
|
||||
if ( m_Timer != null )
|
||||
m_Timer.Stop();
|
||||
m_Timer?.Stop();
|
||||
|
||||
if ( restart && m_Next != null )
|
||||
{
|
||||
|
|
|
|||
|
|
@ -153,32 +153,26 @@ namespace Server.Spells.Necromancy
|
|||
{
|
||||
MaabusCoffinComponent comp = obj as MaabusCoffinComponent;
|
||||
|
||||
if ( comp != null )
|
||||
MaabusCoffin addon = comp?.Addon as MaabusCoffin;
|
||||
|
||||
if ( addon != null )
|
||||
{
|
||||
MaabusCoffin addon = comp.Addon as MaabusCoffin;
|
||||
PlayerMobile pm = Caster as PlayerMobile;
|
||||
|
||||
if ( addon != null )
|
||||
QuestSystem qs = pm?.Quest;
|
||||
|
||||
if ( qs is DarkTidesQuest )
|
||||
{
|
||||
PlayerMobile pm = Caster as PlayerMobile;
|
||||
QuestObjective objective = qs.FindObjective( typeof( AnimateMaabusCorpseObjective ) );
|
||||
|
||||
if ( pm != null )
|
||||
if ( objective != null && !objective.Completed )
|
||||
{
|
||||
QuestSystem qs = pm.Quest;
|
||||
|
||||
if ( qs is DarkTidesQuest )
|
||||
{
|
||||
QuestObjective objective = qs.FindObjective( typeof( AnimateMaabusCorpseObjective ) );
|
||||
|
||||
if ( objective != null && !objective.Completed )
|
||||
{
|
||||
addon.Awake( Caster );
|
||||
objective.Complete();
|
||||
}
|
||||
}
|
||||
addon.Awake( Caster );
|
||||
objective.Complete();
|
||||
}
|
||||
|
||||
return;
|
||||
}
|
||||
|
||||
return;
|
||||
}
|
||||
|
||||
Corpse c = obj as Corpse;
|
||||
|
|
|
|||
|
|
@ -58,14 +58,12 @@ namespace Server.Spells.Necromancy
|
|||
*/
|
||||
|
||||
ExpireTimer timer = (ExpireTimer)m_Table[m];
|
||||
if ( timer != null )
|
||||
timer.DoExpire();
|
||||
timer?.DoExpire();
|
||||
|
||||
m_OathTable[Caster] = Caster;
|
||||
m_OathTable[m] = Caster;
|
||||
|
||||
if ( m.Spell != null )
|
||||
m.Spell.OnCasterHurt();
|
||||
m.Spell?.OnCasterHurt();
|
||||
|
||||
Caster.PlaySound( 0x175 );
|
||||
|
||||
|
|
|
|||
|
|
@ -53,8 +53,7 @@ namespace Server.Spells.Necromancy
|
|||
else
|
||||
m.SendLocalizedMessage( 1061689 ); // Your skin turns dry and corpselike.
|
||||
|
||||
if ( m.Spell != null )
|
||||
m.Spell.OnCasterHurt();
|
||||
m.Spell?.OnCasterHurt();
|
||||
|
||||
m.FixedParticles( 0x373A, 1, 15, 9913, 67, 7, EffectLayer.Head );
|
||||
m.PlaySound( 0x1BB );
|
||||
|
|
|
|||
|
|
@ -52,8 +52,7 @@ namespace Server.Spells.Necromancy
|
|||
|
||||
Timer t = (Timer)m_Table[weapon];
|
||||
|
||||
if ( t != null )
|
||||
t.Stop();
|
||||
t?.Stop();
|
||||
|
||||
weapon.Cursed = true;
|
||||
|
||||
|
|
|
|||
|
|
@ -48,8 +48,7 @@ namespace Server.Spells.Necromancy
|
|||
* The effect lasts for one harmful event only.
|
||||
*/
|
||||
|
||||
if (m.Spell != null)
|
||||
m.Spell.OnCasterHurt();
|
||||
m.Spell?.OnCasterHurt();
|
||||
|
||||
m.PlaySound(0xFC);
|
||||
m.FixedParticles(0x3728, 1, 13, 9912, 1150, 7, EffectLayer.Head);
|
||||
|
|
|
|||
|
|
@ -44,8 +44,7 @@ namespace Server.Spells.Necromancy
|
|||
* The effect lasts for ((Spirit Speak skill level - target's Resist Magic skill level) / 50 ) + 20 seconds.
|
||||
*/
|
||||
|
||||
if ( m.Spell != null )
|
||||
m.Spell.OnCasterHurt();
|
||||
m.Spell?.OnCasterHurt();
|
||||
|
||||
m.PlaySound( 0x1FB );
|
||||
m.PlaySound( 0x258 );
|
||||
|
|
|
|||
|
|
@ -50,8 +50,7 @@ namespace Server.Spells.Necromancy
|
|||
* for a target at 20% Stamina the damage multiplier is 2.6
|
||||
*/
|
||||
|
||||
if ( m.Spell != null )
|
||||
m.Spell.OnCasterHurt();
|
||||
m.Spell?.OnCasterHurt();
|
||||
|
||||
m.PlaySound( 0x22F );
|
||||
m.FixedParticles( 0x36CB, 1, 9, 9911, 67, 5, EffectLayer.Head );
|
||||
|
|
|
|||
|
|
@ -61,8 +61,7 @@ namespace Server.Spells.Ninjitsu
|
|||
if ( info.m_Steps > 0 )
|
||||
damageBonus = attacker.Skills[SkillName.Ninjitsu].Fixed / 150;
|
||||
|
||||
if ( info.m_Timer != null )
|
||||
info.m_Timer.Stop();
|
||||
info.m_Timer?.Stop();
|
||||
|
||||
m_Table.Remove( defender );
|
||||
}
|
||||
|
|
@ -160,8 +159,7 @@ namespace Server.Spells.Ninjitsu
|
|||
else
|
||||
AOS.Damage( info.m_Target, info.m_Attacker, damage, true, 100, 0, 0, 0, 0, 0, 0, false, false, true ); // Damage is physical.
|
||||
|
||||
if ( info.m_Timer != null )
|
||||
info.m_Timer.Stop();
|
||||
info.m_Timer?.Stop();
|
||||
|
||||
m_Table.Remove( info.m_Target );
|
||||
}
|
||||
|
|
|
|||
|
|
@ -90,8 +90,7 @@ namespace Server.Spells.Ninjitsu
|
|||
|
||||
if ( info != null )
|
||||
{
|
||||
if ( info.m_Timer != null )
|
||||
info.m_Timer.Stop();
|
||||
info.m_Timer?.Stop();
|
||||
|
||||
m_Table.Remove( info.m_Mobile );
|
||||
}
|
||||
|
|
@ -134,8 +133,7 @@ namespace Server.Spells.Ninjitsu
|
|||
{
|
||||
KiAttackInfo info = (KiAttackInfo)state;
|
||||
|
||||
if ( info.m_Timer != null )
|
||||
info.m_Timer.Stop();
|
||||
info.m_Timer?.Stop();
|
||||
|
||||
ClearCurrentMove( info.m_Mobile );
|
||||
info.m_Mobile.SendLocalizedMessage( 1063102 ); // You failed to complete your Ki Attack in time.
|
||||
|
|
|
|||
|
|
@ -61,8 +61,7 @@ namespace Server.Spells.Ninjitsu
|
|||
{
|
||||
info = (SurpriseAttackInfo)m_Table[defender];
|
||||
|
||||
if ( info.m_Timer != null )
|
||||
info.m_Timer.Stop();
|
||||
info.m_Timer?.Stop();
|
||||
|
||||
m_Table.Remove( defender );
|
||||
}
|
||||
|
|
@ -119,8 +118,7 @@ namespace Server.Spells.Ninjitsu
|
|||
{
|
||||
SurpriseAttackInfo info = (SurpriseAttackInfo)state;
|
||||
|
||||
if ( info.m_Timer != null )
|
||||
info.m_Timer.Stop();
|
||||
info.m_Timer?.Stop();
|
||||
|
||||
info.m_Target.SendLocalizedMessage( 1063131 ); // Your defenses have returned to normal.
|
||||
|
||||
|
|
|
|||
|
|
@ -162,8 +162,7 @@ namespace Server.Spells.Seventh
|
|||
{
|
||||
base.OnAfterDelete();
|
||||
|
||||
if ( m_Timer != null )
|
||||
m_Timer.Stop();
|
||||
m_Timer?.Stop();
|
||||
}
|
||||
|
||||
private class InternalTimer : Timer
|
||||
|
|
|
|||
|
|
@ -37,8 +37,7 @@ namespace Server.Spells.Seventh
|
|||
|
||||
SpellHelper.CheckReflect( (int)Circle, Caster, ref m );
|
||||
|
||||
if ( m.Spell != null )
|
||||
m.Spell.OnCasterHurt();
|
||||
m.Spell?.OnCasterHurt();
|
||||
|
||||
m.Paralyzed = false;
|
||||
|
||||
|
|
|
|||
|
|
@ -64,8 +64,7 @@ namespace Server.Spells.Sixth
|
|||
m_Defender = defender;
|
||||
m_Target = target;
|
||||
|
||||
if ( m_Spell != null )
|
||||
m_Spell.StartDelayedDamageContext( attacker, this );
|
||||
m_Spell?.StartDelayedDamageContext( attacker, this );
|
||||
|
||||
Priority = TimerPriority.FiftyMS;
|
||||
}
|
||||
|
|
@ -99,8 +98,7 @@ namespace Server.Spells.Sixth
|
|||
|
||||
SpellHelper.Damage( m_Spell, m_Target, damage, 0, 100, 0, 0, 0 );
|
||||
|
||||
if ( m_Spell != null )
|
||||
m_Spell.RemoveDelayedDamageContext( m_Attacker );
|
||||
m_Spell?.RemoveDelayedDamageContext( m_Attacker );
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -118,8 +118,7 @@ namespace Server.Spells.Sixth
|
|||
{
|
||||
base.OnAfterDelete();
|
||||
|
||||
if ( m_Timer != null )
|
||||
m_Timer.Stop();
|
||||
m_Timer?.Stop();
|
||||
}
|
||||
|
||||
public InternalItem( Serial serial ) : base( serial )
|
||||
|
|
@ -188,8 +187,7 @@ namespace Server.Spells.Sixth
|
|||
m.PlaySound( 0x204 );
|
||||
m.FixedEffect( 0x376A, 10, 16 );
|
||||
|
||||
if ( m is BaseCreature )
|
||||
((BaseCreature) m).OnHarmfulSpell( m_Caster );
|
||||
(m as BaseCreature)?.OnHarmfulSpell( m_Caster );
|
||||
}
|
||||
|
||||
return true;
|
||||
|
|
|
|||
|
|
@ -94,8 +94,7 @@ namespace Server.Spells.Spellweaving
|
|||
{
|
||||
if (m_WeaponDamageTable.TryGetValue( weapon, out ImmolatingWeaponEntry entry ))
|
||||
{
|
||||
if ( entry.m_Caster != null )
|
||||
entry.m_Caster.PlaySound( 0x27 );
|
||||
entry.m_Caster?.PlaySound( 0x27 );
|
||||
|
||||
entry.m_Timer.Stop();
|
||||
|
||||
|
|
|
|||
|
|
@ -38,8 +38,7 @@ namespace Server.Items
|
|||
|
||||
public virtual void Expire( Mobile parent )
|
||||
{
|
||||
if ( parent != null )
|
||||
parent.SendLocalizedMessage( 1072515, (Name == null ? $"#{LabelNumber}" : Name) ); // The ~1_name~ expired...
|
||||
parent?.SendLocalizedMessage( 1072515, (Name == null ? $"#{LabelNumber}" : Name) ); // The ~1_name~ expired...
|
||||
|
||||
Effects.PlaySound( GetWorldLocation(), Map, 0x201 );
|
||||
|
||||
|
|
|
|||
|
|
@ -90,8 +90,7 @@ namespace Server.Spells.Spellweaving
|
|||
|
||||
protected override void OnTargetFinish( Mobile from )
|
||||
{
|
||||
if ( m_Owner != null )
|
||||
m_Owner.FinishSequence();
|
||||
m_Owner?.FinishSequence();
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -34,8 +34,7 @@ namespace Server.Spells.Third
|
|||
|
||||
SpellHelper.CheckReflect( (int)Circle, Caster, ref m );
|
||||
|
||||
if ( m.Spell != null )
|
||||
m.Spell.OnCasterHurt();
|
||||
m.Spell?.OnCasterHurt();
|
||||
|
||||
m.Paralyzed = false;
|
||||
|
||||
|
|
|
|||
|
|
@ -179,8 +179,7 @@ namespace Server.Spells.Third
|
|||
{
|
||||
base.OnAfterDelete();
|
||||
|
||||
if ( m_Timer != null )
|
||||
m_Timer.Stop();
|
||||
m_Timer?.Stop();
|
||||
}
|
||||
|
||||
private class InternalTimer : Timer
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue