C# 9 Cleanup (#325)

- [X] Removes EventArgs - not needed
- [X] Merges sequential checks
- [X] Removes redundant type declarations
This commit is contained in:
Kamron Batman 2020-11-27 00:29:21 -08:00 • committed by GitHub
parent 351611a23a
commit 3551d962f7
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
417 changed files with 2209 additions and 2213 deletions

View file

@ -12,7 +12,7 @@ namespace Server.Spells
public abstract class SpecialMove
{
private static readonly Dictionary<Mobile, SpecialMoveContext> m_PlayersTable =
new Dictionary<Mobile, SpecialMoveContext>();
new();
public virtual int BaseMana => 0;
@ -24,7 +24,7 @@ namespace Server.Spells
public virtual bool BlockedByAnimalForm => true;
public virtual bool DelayedContext => false;
public static Dictionary<Mobile, SpecialMove> Table { get; } = new Dictionary<Mobile, SpecialMove>();
public static Dictionary<Mobile, SpecialMove> Table { get; } = new();
public virtual bool ValidatesDuringHit => true;

View file

@ -25,7 +25,7 @@ namespace Server.Spells
// of course, two MA's won't.
private static readonly Dictionary<Type, DelayedDamageContextWrapper> m_ContextTable =
new Dictionary<Type, DelayedDamageContextWrapper>();
new();
private AnimTimer m_AnimTimer;
@ -834,7 +834,7 @@ namespace Server.Spells
private class DelayedDamageContextWrapper
{
private readonly Dictionary<Mobile, Timer> m_Contexts = new Dictionary<Mobile, Timer>();
private readonly Dictionary<Mobile, Timer> m_Contexts = new();
public void Add(Mobile m, Timer t)
{

View file

@ -1225,7 +1225,7 @@ namespace Server.Spells
public static class TransformationSpellHelper
{
private static readonly Dictionary<Mobile, TransformContext> m_Table = new Dictionary<Mobile, TransformContext>();
private static readonly Dictionary<Mobile, TransformContext> m_Table = new();
public static bool CheckCast(Mobile caster, Spell spell)
{

View file

@ -9,7 +9,7 @@ namespace Server.Spells
private static readonly Type[] m_Types = new Type[700];
private static int m_Count;
private static readonly Dictionary<Type, int> m_IDsFromTypes = new Dictionary<Type, int>(m_Types.Length);
private static readonly Dictionary<Type, int> m_IDsFromTypes = new(m_Types.Length);
private static readonly object[] m_Params = new object[2];
@ -61,7 +61,7 @@ namespace Server.Spells
}
}
public static Dictionary<int, SpecialMove> SpecialMoves { get; } = new Dictionary<int, SpecialMove>();
public static Dictionary<int, SpecialMove> SpecialMoves { get; } = new();
public static int GetRegistryNumber(ISpell s) => GetRegistryNumber(s.GetType());

View file

@ -5,15 +5,15 @@ namespace Server.Spells.Bushido
{
public class Confidence : SamuraiSpell
{
private static readonly SpellInfo m_Info = new SpellInfo(
private static readonly SpellInfo m_Info = new(
"Confidence",
null,
-1,
9002
);
private static readonly Dictionary<Mobile, Timer> m_Table = new Dictionary<Mobile, Timer>();
private static readonly Dictionary<Mobile, Timer> m_RegenTable = new Dictionary<Mobile, Timer>();
private static readonly Dictionary<Mobile, Timer> m_Table = new();
private static readonly Dictionary<Mobile, Timer> m_RegenTable = new();
public Confidence(Mobile caster, Item scroll) : base(caster, scroll, m_Info)
{

View file

@ -6,14 +6,14 @@ namespace Server.Spells.Bushido
{
public class CounterAttack : SamuraiSpell
{
private static readonly SpellInfo m_Info = new SpellInfo(
private static readonly SpellInfo m_Info = new(
"CounterAttack",
null,
-1,
9002
);
private static readonly Dictionary<Mobile, Timer> m_Table = new Dictionary<Mobile, Timer>();
private static readonly Dictionary<Mobile, Timer> m_Table = new();
public CounterAttack(Mobile caster, Item scroll) : base(caster, scroll, m_Info)
{

View file

@ -6,14 +6,14 @@ namespace Server.Spells.Bushido
{
public class Evasion : SamuraiSpell
{
private static readonly SpellInfo m_Info = new SpellInfo(
private static readonly SpellInfo m_Info = new(
"Evasion",
null,
-1,
9002
);
private static readonly Dictionary<Mobile, Timer> m_Table = new Dictionary<Mobile, Timer>();
private static readonly Dictionary<Mobile, Timer> m_Table = new();
public Evasion(Mobile caster, Item scroll)
: base(caster, scroll, m_Info)

View file

@ -6,13 +6,13 @@ namespace Server.Spells.Bushido
public class HonorableExecution : SamuraiMove
{
private static readonly Dictionary<Mobile, HonorableExecutionInfo> m_Table =
new Dictionary<Mobile, HonorableExecutionInfo>();
new();
public override int BaseMana => 0;
public override double RequiredSkill => 25.0;
public override TextDefinition AbilityMessage =>
new TextDefinition(1063122); // You better kill your enemy with your next hit or you'll be rather sorry...
new(1063122); // You better kill your enemy with your next hit or you'll be rather sorry...
public override double GetDamageScalar(Mobile attacker, Mobile defender)
{

View file

@ -7,7 +7,7 @@ namespace Server.Spells.Bushido
public override int BaseMana => 5;
public override double RequiredSkill => 50.0;
public override TextDefinition AbilityMessage => new TextDefinition(1063167); // You prepare to strike quickly.
public override TextDefinition AbilityMessage => new(1063167); // You prepare to strike quickly.
public override bool DelayedContext => true;

View file

@ -8,7 +8,7 @@ namespace Server.Spells.Bushido
public override double RequiredSkill => 70.0;
public override TextDefinition AbilityMessage =>
new TextDefinition(1070757); // You prepare to strike two enemies with one blow.
new(1070757); // You prepare to strike two enemies with one blow.
public override void OnHit(Mobile attacker, Mobile defender, int damage)
{

View file

@ -6,7 +6,7 @@ namespace Server.Spells.Chivalry
{
public class CleanseByFireSpell : PaladinSpell, ISpellTargetingMobile
{
private static readonly SpellInfo m_Info = new SpellInfo(
private static readonly SpellInfo m_Info = new(
"Cleanse By Fire",
"Expor Flamus",
-1,

View file

@ -9,7 +9,7 @@ namespace Server.Spells.Chivalry
{
public class CloseWoundsSpell : PaladinSpell, ISpellTargetingMobile
{
private static readonly SpellInfo m_Info = new SpellInfo(
private static readonly SpellInfo m_Info = new(
"Close Wounds",
"Obsu Vulni",
-1,

View file

@ -6,14 +6,14 @@ namespace Server.Spells.Chivalry
{
public class ConsecrateWeaponSpell : PaladinSpell
{
private static readonly SpellInfo m_Info = new SpellInfo(
private static readonly SpellInfo m_Info = new(
"Consecrate Weapon",
"Consecrus Arma",
-1,
9002
);
private static readonly Dictionary<BaseWeapon, ExpireTimer> m_Table = new Dictionary<BaseWeapon, ExpireTimer>();
private static readonly Dictionary<BaseWeapon, ExpireTimer> m_Table = new();
public ConsecrateWeaponSpell(Mobile caster, Item scroll = null) : base(caster, scroll, m_Info)
{

View file

@ -8,7 +8,7 @@ namespace Server.Spells.Chivalry
{
public class DispelEvilSpell : PaladinSpell
{
private static readonly SpellInfo m_Info = new SpellInfo(
private static readonly SpellInfo m_Info = new(
"Dispel Evil",
"Dispiro Malas",
-1,

View file

@ -5,14 +5,14 @@ namespace Server.Spells.Chivalry
{
public class DivineFurySpell : PaladinSpell
{
private static readonly SpellInfo m_Info = new SpellInfo(
private static readonly SpellInfo m_Info = new(
"Divine Fury",
"Divinum Furis",
-1,
9002
);
private static readonly Dictionary<Mobile, Timer> m_Table = new Dictionary<Mobile, Timer>();
private static readonly Dictionary<Mobile, Timer> m_Table = new();
public DivineFurySpell(Mobile caster, Item scroll = null) : base(caster, scroll, m_Info)
{

View file

@ -6,14 +6,14 @@ namespace Server.Spells.Chivalry
{
public class EnemyOfOneSpell : PaladinSpell
{
private static readonly SpellInfo m_Info = new SpellInfo(
private static readonly SpellInfo m_Info = new(
"Enemy of One",
"Forul Solum",
-1,
9002
);
private static readonly Dictionary<Mobile, Timer> m_Table = new Dictionary<Mobile, Timer>();
private static readonly Dictionary<Mobile, Timer> m_Table = new();
public EnemyOfOneSpell(Mobile caster, Item scroll = null) : base(caster, scroll, m_Info)
{

View file

@ -6,7 +6,7 @@ namespace Server.Spells.Chivalry
{
public class HolyLightSpell : PaladinSpell
{
private static readonly SpellInfo m_Info = new SpellInfo(
private static readonly SpellInfo m_Info = new(
"Holy Light",
"Augus Luminos",
-1,

View file

@ -8,7 +8,7 @@ namespace Server.Spells.Chivalry
{
public class NobleSacrificeSpell : PaladinSpell
{
private static readonly SpellInfo m_Info = new SpellInfo(
private static readonly SpellInfo m_Info = new(
"Noble Sacrifice",
"Dium Prostra",
-1,

View file

@ -9,7 +9,7 @@ namespace Server.Spells.Chivalry
{
public class RemoveCurseSpell : PaladinSpell, ISpellTargetingMobile
{
private static readonly SpellInfo m_Info = new SpellInfo(
private static readonly SpellInfo m_Info = new(
"Remove Curse",
"Extermo Vomica",
-1,

View file

@ -8,7 +8,7 @@ namespace Server.Spells.Chivalry
{
public class SacredJourneySpell : PaladinSpell, IRecallSpell
{
private static readonly SpellInfo m_Info = new SpellInfo(
private static readonly SpellInfo m_Info = new(
"Sacred Journey",
"Sanctum Viatas",
-1,
@ -79,7 +79,7 @@ namespace Server.Spells.Chivalry
{
Caster.SendLocalizedMessage(501942); // That location is blocked.
}
else if (m_Book != null && m_Book.CurCharges <= 0)
else if (m_Book?.CurCharges <= 0)
{
Caster.SendLocalizedMessage(502412); // There are no charges left on that item.
}

View file

@ -5,7 +5,7 @@ namespace Server.Spells.Eighth
{
public class AirElementalSpell : MagerySpell
{
private static readonly SpellInfo m_Info = new SpellInfo(
private static readonly SpellInfo m_Info = new(
"Air Elemental",
"Kal Vas Xen Hur",
269,

View file

@ -5,7 +5,7 @@ namespace Server.Spells.Eighth
{
public class EarthElementalSpell : MagerySpell
{
private static readonly SpellInfo m_Info = new SpellInfo(
private static readonly SpellInfo m_Info = new(
"Earth Elemental",
"Kal Vas Xen Ylem",
269,

View file

@ -5,7 +5,7 @@ namespace Server.Spells.Eighth
{
public class EarthquakeSpell : MagerySpell
{
private static readonly SpellInfo m_Info = new SpellInfo(
private static readonly SpellInfo m_Info = new(
"Earthquake",
"In Vas Por",
233,

View file

@ -5,7 +5,7 @@ namespace Server.Spells.Eighth
{
public class EnergyVortexSpell : MagerySpell, ISpellTargetingPoint3D
{
private static readonly SpellInfo m_Info = new SpellInfo(
private static readonly SpellInfo m_Info = new(
"Energy Vortex",
"Vas Corp Por",
260,

View file

@ -5,7 +5,7 @@ namespace Server.Spells.Eighth
{
public class FireElementalSpell : MagerySpell
{
private static readonly SpellInfo m_Info = new SpellInfo(
private static readonly SpellInfo m_Info = new(
"Fire Elemental",
"Kal Vas Xen Flam",
269,

View file

@ -6,7 +6,7 @@ namespace Server.Spells.Eighth
{
public class ResurrectionSpell : MagerySpell, ISpellTargetingMobile
{
private static readonly SpellInfo m_Info = new SpellInfo(
private static readonly SpellInfo m_Info = new(
"Resurrection",
"An Corp",
245,

View file

@ -5,7 +5,7 @@ namespace Server.Spells.Eighth
{
public class SummonDaemonSpell : MagerySpell
{
private static readonly SpellInfo m_Info = new SpellInfo(
private static readonly SpellInfo m_Info = new(
"Summon Daemon",
"Kal Vas Xen Corp",
269,

View file

@ -5,7 +5,7 @@ namespace Server.Spells.Eighth
{
public class WaterElementalSpell : MagerySpell
{
private static readonly SpellInfo m_Info = new SpellInfo(
private static readonly SpellInfo m_Info = new(
"Water Elemental",
"Kal Vas Xen An Flam",
269,

View file

@ -5,7 +5,7 @@ namespace Server.Spells.Fifth
{
public class BladeSpiritsSpell : MagerySpell, ISpellTargetingPoint3D
{
private static readonly SpellInfo m_Info = new SpellInfo(
private static readonly SpellInfo m_Info = new(
"Blade Spirits",
"In Jux Hur Ylem",
266,

View file

@ -6,7 +6,7 @@ namespace Server.Spells.Fifth
{
public class DispelFieldSpell : MagerySpell, ISpellTargetingItem
{
private static readonly SpellInfo m_Info = new SpellInfo(
private static readonly SpellInfo m_Info = new(
"Dispel Field",
"An Grav",
206,

View file

@ -9,7 +9,7 @@ namespace Server.Spells.Fifth
{
public class IncognitoSpell : MagerySpell
{
private static readonly SpellInfo m_Info = new SpellInfo(
private static readonly SpellInfo m_Info = new(
"Incognito",
"Kal In Ex",
206,
@ -19,7 +19,7 @@ namespace Server.Spells.Fifth
Reagent.Nightshade
);
private static readonly Dictionary<Mobile, InternalTimer> m_Timers = new Dictionary<Mobile, InternalTimer>();
private static readonly Dictionary<Mobile, InternalTimer> m_Timers = new();
public IncognitoSpell(Mobile caster, Item scroll = null) : base(caster, scroll, m_Info)
{

View file

@ -4,7 +4,7 @@ namespace Server.Spells.Fifth
{
public class MagicReflectSpell : MagerySpell
{
private static readonly SpellInfo m_Info = new SpellInfo(
private static readonly SpellInfo m_Info = new(
"Magic Reflection",
"In Jux Sanct",
242,
@ -14,7 +14,7 @@ namespace Server.Spells.Fifth
Reagent.SpidersSilk
);
private static readonly Dictionary<Mobile, ResistanceMod[]> m_Table = new Dictionary<Mobile, ResistanceMod[]>();
private static readonly Dictionary<Mobile, ResistanceMod[]> m_Table = new();
public MagicReflectSpell(Mobile caster, Item scroll = null) : base(caster, scroll, m_Info)
{

View file

@ -5,7 +5,7 @@ namespace Server.Spells.Fifth
{
public class MindBlastSpell : MagerySpell, ISpellTargetingMobile
{
private static readonly SpellInfo m_Info = new SpellInfo(
private static readonly SpellInfo m_Info = new(
"Mind Blast",
"Por Corp Wis",
218,

View file

@ -7,7 +7,7 @@ namespace Server.Spells.Fifth
{
public class ParalyzeSpell : MagerySpell, ISpellTargetingMobile
{
private static readonly SpellInfo m_Info = new SpellInfo(
private static readonly SpellInfo m_Info = new(
"Paralyze",
"An Ex Por",
218,

View file

@ -9,7 +9,7 @@ namespace Server.Spells.Fifth
{
public class PoisonFieldSpell : MagerySpell, ISpellTargetingPoint3D
{
private static readonly SpellInfo m_Info = new SpellInfo(
private static readonly SpellInfo m_Info = new(
"Poison Field",
"In Nox Grav",
230,
@ -220,7 +220,7 @@ namespace Server.Spells.Fifth
private class InternalTimer : Timer
{
private static readonly Queue<Mobile> m_Queue = new Queue<Mobile>();
private static readonly Queue<Mobile> m_Queue = new();
private readonly bool m_CanFit;
private readonly bool m_InLOS;
private readonly InternalItem m_Item;

View file

@ -6,7 +6,7 @@ namespace Server.Spells.Fifth
{
public class SummonCreatureSpell : MagerySpell
{
private static readonly SpellInfo m_Info = new SpellInfo(
private static readonly SpellInfo m_Info = new(
"Summon Creature",
"Kal Xen",
16,

View file

@ -4,7 +4,7 @@ namespace Server.Spells.First
{
public class ClumsySpell : MagerySpell, ISpellTargetingMobile
{
private static readonly SpellInfo m_Info = new SpellInfo(
private static readonly SpellInfo m_Info = new(
"Clumsy",
"Uus Jux",
212,

View file

@ -6,7 +6,7 @@ namespace Server.Spells.First
{
public class CreateFoodSpell : MagerySpell
{
private static readonly SpellInfo m_Info = new SpellInfo(
private static readonly SpellInfo m_Info = new(
"Create Food",
"In Mani Ylem",
224,
@ -18,16 +18,16 @@ namespace Server.Spells.First
private static readonly FoodInfo[] m_Food =
{
new FoodInfo(typeof(Grapes), "a grape bunch"),
new FoodInfo(typeof(Ham), "a ham"),
new FoodInfo(typeof(CheeseWedge), "a wedge of cheese"),
new FoodInfo(typeof(Muffins), "muffins"),
new FoodInfo(typeof(FishSteak), "a fish steak"),
new FoodInfo(typeof(Ribs), "cut of ribs"),
new FoodInfo(typeof(CookedBird), "a cooked bird"),
new FoodInfo(typeof(Sausage), "sausage"),
new FoodInfo(typeof(Apple), "an apple"),
new FoodInfo(typeof(Peach), "a peach")
new(typeof(Grapes), "a grape bunch"),
new(typeof(Ham), "a ham"),
new(typeof(CheeseWedge), "a wedge of cheese"),
new(typeof(Muffins), "muffins"),
new(typeof(FishSteak), "a fish steak"),
new(typeof(Ribs), "cut of ribs"),
new(typeof(CookedBird), "a cooked bird"),
new(typeof(Sausage), "sausage"),
new(typeof(Apple), "an apple"),
new(typeof(Peach), "a peach")
};
public CreateFoodSpell(Mobile caster, Item scroll = null) : base(caster, scroll, m_Info)

View file

@ -4,7 +4,7 @@ namespace Server.Spells.First
{
public class FeeblemindSpell : MagerySpell, ISpellTargetingMobile
{
private static readonly SpellInfo m_Info = new SpellInfo(
private static readonly SpellInfo m_Info = new(
"Feeblemind",
"Rel Wis",
212,

View file

@ -8,7 +8,7 @@ namespace Server.Spells.First
{
public class HealSpell : MagerySpell, ISpellTargetingMobile
{
private static readonly SpellInfo m_Info = new SpellInfo(
private static readonly SpellInfo m_Info = new(
"Heal",
"In Mani",
224,

View file

@ -4,7 +4,7 @@ namespace Server.Spells.First
{
public class MagicArrowSpell : MagerySpell, ISpellTargetingMobile
{
private static readonly SpellInfo m_Info = new SpellInfo(
private static readonly SpellInfo m_Info = new(
"Magic Arrow",
"In Por Ylem",
212,

View file

@ -5,7 +5,7 @@ namespace Server.Spells.First
{
public class NightSightSpell : MagerySpell
{
private static readonly SpellInfo m_Info = new SpellInfo(
private static readonly SpellInfo m_Info = new(
"Night Sight",
"In Lor",
236,

View file

@ -5,7 +5,7 @@ namespace Server.Spells.First
{
public class ReactiveArmorSpell : MagerySpell
{
private static readonly SpellInfo m_Info = new SpellInfo(
private static readonly SpellInfo m_Info = new(
"Reactive Armor",
"Flam Sanct",
236,
@ -15,7 +15,7 @@ namespace Server.Spells.First
Reagent.SulfurousAsh
);
private static readonly Dictionary<Mobile, ResistanceMod[]> m_Table = new Dictionary<Mobile, ResistanceMod[]>();
private static readonly Dictionary<Mobile, ResistanceMod[]> m_Table = new();
public ReactiveArmorSpell(Mobile caster, Item scroll = null) : base(caster, scroll, m_Info)
{

View file

@ -4,7 +4,7 @@ namespace Server.Spells.First
{
public class WeakenSpell : MagerySpell, ISpellTargetingMobile
{
private static readonly SpellInfo m_Info = new SpellInfo(
private static readonly SpellInfo m_Info = new(
"Weaken",
"Des Mani",
212,

View file

@ -8,7 +8,7 @@ namespace Server.Spells.Fourth
{
public class ArchCureSpell : MagerySpell, ISpellTargetingPoint3D
{
private static readonly SpellInfo m_Info = new SpellInfo(
private static readonly SpellInfo m_Info = new(
"Arch Cure",
"Vas An Nox",
215,

View file

@ -9,7 +9,7 @@ namespace Server.Spells.Fourth
{
public class ArchProtectionSpell : MagerySpell, ISpellTargetingPoint3D
{
private static readonly SpellInfo m_Info = new SpellInfo(
private static readonly SpellInfo m_Info = new(
"Arch Protection",
"Vas Uus Sanct",
Core.AOS ? 239 : 215,
@ -20,7 +20,7 @@ namespace Server.Spells.Fourth
Reagent.SulfurousAsh
);
private static readonly Dictionary<Mobile, int> _Table = new Dictionary<Mobile, int>();
private static readonly Dictionary<Mobile, int> _Table = new();
public ArchProtectionSpell(Mobile caster, Item scroll = null) : base(caster, scroll, m_Info)
{

View file

@ -5,7 +5,7 @@ namespace Server.Spells.Fourth
{
public class CurseSpell : MagerySpell, ISpellTargetingMobile
{
private static readonly SpellInfo m_Info = new SpellInfo(
private static readonly SpellInfo m_Info = new(
"Curse",
"Des Sanct",
227,
@ -15,7 +15,7 @@ namespace Server.Spells.Fourth
Reagent.SulfurousAsh
);
private static readonly HashSet<Mobile> m_UnderEffect = new HashSet<Mobile>();
private static readonly HashSet<Mobile> m_UnderEffect = new();
public CurseSpell(Mobile caster, Item scroll = null) : base(caster, scroll, m_Info)
{

View file

@ -9,7 +9,7 @@ namespace Server.Spells.Fourth
{
public class FireFieldSpell : MagerySpell, ISpellTargetingPoint3D
{
private static readonly SpellInfo m_Info = new SpellInfo(
private static readonly SpellInfo m_Info = new(
"Fire Field",
"In Flam Grav",
215,
@ -216,7 +216,7 @@ namespace Server.Spells.Fourth
private class InternalTimer : Timer
{
private static readonly Queue m_Queue = new Queue();
private static readonly Queue m_Queue = new();
private readonly bool m_CanFit;
private readonly bool m_InLOS;
private readonly FireFieldItem m_Item;

View file

@ -8,7 +8,7 @@ namespace Server.Spells.Fourth
{
public class GreaterHealSpell : MagerySpell, ISpellTargetingMobile
{
private static readonly SpellInfo m_Info = new SpellInfo(
private static readonly SpellInfo m_Info = new(
"Greater Heal",
"In Vas Mani",
204,

View file

@ -4,7 +4,7 @@ namespace Server.Spells.Fourth
{
public class LightningSpell : MagerySpell, ISpellTargetingMobile
{
private static readonly SpellInfo m_Info = new SpellInfo(
private static readonly SpellInfo m_Info = new(
"Lightning",
"Por Ort Grav",
239,

View file

@ -6,7 +6,7 @@ namespace Server.Spells.Fourth
{
public class ManaDrainSpell : MagerySpell, ISpellTargetingMobile
{
private static readonly SpellInfo m_Info = new SpellInfo(
private static readonly SpellInfo m_Info = new(
"Mana Drain",
"Ort Rel",
215,
@ -16,7 +16,7 @@ namespace Server.Spells.Fourth
Reagent.SpidersSilk
);
private static readonly HashSet<Mobile> m_Table = new HashSet<Mobile>();
private static readonly HashSet<Mobile> m_Table = new();
public ManaDrainSpell(Mobile caster, Item scroll = null) : base(caster, scroll, m_Info)
{

View file

@ -8,7 +8,7 @@ namespace Server.Spells.Fourth
{
public class RecallSpell : MagerySpell, IRecallSpell
{
private static readonly SpellInfo m_Info = new SpellInfo(
private static readonly SpellInfo m_Info = new(
"Recall",
"Kal Ort Por",
239,
@ -78,7 +78,7 @@ namespace Server.Spells.Fourth
{
Caster.SendLocalizedMessage(501942); // That location is blocked.
}
else if (m_Book != null && m_Book.CurCharges <= 0)
else if (m_Book?.CurCharges <= 0)
{
Caster.SendLocalizedMessage(502412); // There are no charges left on that item.
}

View file

@ -4,7 +4,7 @@ namespace Server.Spells
{
public class FlySpell : Spell
{
private static readonly SpellInfo m_Info = new SpellInfo("Gargoyle Flight", null, -1, 9002);
private static readonly SpellInfo m_Info = new("Gargoyle Flight", null, -1, 9002);
private bool m_Stop;
public FlySpell(Mobile caster)

View file

@ -5,7 +5,7 @@ namespace Server.Spells.Mysticism
{
public class AnimatedWeaponSpell : MysticSpell, ISpellTargetingPoint3D
{
private static readonly SpellInfo m_Info = new SpellInfo(
private static readonly SpellInfo m_Info = new(
"Animated Weapon",
"In Jux Por Ylem",
-1,

View file

@ -5,7 +5,7 @@ namespace Server.Spells.Mysticism
{
public class EagleStrikeSpell : MysticSpell, ISpellTargetingMobile
{
private static readonly SpellInfo m_Info = new SpellInfo(
private static readonly SpellInfo m_Info = new(
"Eagle Strike",
"Kal Por Xen",
-1,

View file

@ -6,7 +6,7 @@ namespace Server.Spells.Mysticism
{
public class HailStormSpell : MysticSpell, ISpellTargetingPoint3D
{
private static readonly SpellInfo m_Info = new SpellInfo(
private static readonly SpellInfo m_Info = new(
"Hail Storm",
"Kal Des Ylem",
-1,

View file

@ -6,7 +6,7 @@ namespace Server.Spells.Mysticism
{
public class NetherCycloneSpell : MysticSpell, ISpellTargetingPoint3D
{
private static readonly SpellInfo m_Info = new SpellInfo(
private static readonly SpellInfo m_Info = new(
"Nether Cyclone",
"Grav Hur",
-1,

View file

@ -6,7 +6,7 @@ namespace Server.Spells.Mysticism
{
public class SpellPlagueSpell : MysticSpell
{
private static readonly SpellInfo m_Info = new SpellInfo(
private static readonly SpellInfo m_Info = new(
"Spell Plague",
"Vas Rel Jux Ort",
-1,
@ -18,7 +18,7 @@ namespace Server.Spells.Mysticism
);
private static readonly Dictionary<Mobile, SpellPlagueContext>
m_Table = new Dictionary<Mobile, SpellPlagueContext>();
m_Table = new();
public SpellPlagueSpell(Mobile caster, Item scroll = null)
: base(caster, scroll, m_Info)

View file

@ -9,7 +9,7 @@ namespace Server.Spells.Mysticism
{
public class StoneFormSpell : MysticSpell
{
private static readonly SpellInfo m_Info = new SpellInfo(
private static readonly SpellInfo m_Info = new(
"Stone Form",
"In Rel Ylem",
-1,
@ -19,7 +19,7 @@ namespace Server.Spells.Mysticism
Reagent.Garlic
);
private static readonly Dictionary<Mobile, ResistanceMod[]> m_Table = new Dictionary<Mobile, ResistanceMod[]>();
private static readonly Dictionary<Mobile, ResistanceMod[]> m_Table = new();
public StoneFormSpell(Mobile caster, Item scroll = null)
: base(caster, scroll, m_Info)

View file

@ -11,7 +11,7 @@ namespace Server.Spells.Necromancy
{
public class AnimateDeadSpell : NecromancerSpell, ISpellTargetingItem
{
private static readonly SpellInfo m_Info = new SpellInfo(
private static readonly SpellInfo m_Info = new(
"Animate Dead",
"Uus Corp",
203,
@ -23,9 +23,9 @@ namespace Server.Spells.Necromancy
private static readonly CreatureGroup[] m_Groups =
{
// Undead group--empty
new CreatureGroup(SlayerGroup.GetEntryByName(SlayerName.Silver).Types, Array.Empty<SummonEntry>()),
new(SlayerGroup.GetEntryByName(SlayerName.Silver).Types, Array.Empty<SummonEntry>()),
// Insects
new CreatureGroup(
new(
new[]
{
typeof(DreadSpider), typeof(FrostSpider), typeof(GiantSpider), typeof(GiantBlackWidow),
@ -43,7 +43,7 @@ namespace Server.Spells.Necromancy
}
),
// Mounts
new CreatureGroup(
new(
new[]
{
typeof(Horse), typeof(Nightmare), typeof(FireSteed),
@ -56,7 +56,7 @@ namespace Server.Spells.Necromancy
}
),
// Elementals
new CreatureGroup(
new(
new[]
{
typeof(BloodElemental), typeof(EarthElemental), typeof(SummonedEarthElemental),
@ -74,7 +74,7 @@ namespace Server.Spells.Necromancy
}
),
// Dragons
new CreatureGroup(
new(
new[]
{
typeof(AncientWyrm), typeof(Dragon), typeof(GreaterDragon), typeof(SerpentineDragon),
@ -93,7 +93,7 @@ namespace Server.Spells.Necromancy
}
),
// Default group
new CreatureGroup(
new(
Array.Empty<Type>(),
new[]
{
@ -108,7 +108,7 @@ namespace Server.Spells.Necromancy
)
};
private static readonly Dictionary<Mobile, List<Mobile>> m_Table = new Dictionary<Mobile, List<Mobile>>();
private static readonly Dictionary<Mobile, List<Mobile>> m_Table = new();
public AnimateDeadSpell(Mobile caster, Item scroll = null) : base(caster, scroll, m_Info)
{
@ -157,7 +157,7 @@ namespace Server.Spells.Necromancy
}
if (c.ItemID != 0x2006 || c.Animated || type == typeof(PlayerMobile) || type == null ||
c.Owner != null && c.Owner.Fame < 100 ||
c.Owner?.Fame < 100 ||
c.Owner is BaseCreature creature && (creature.Summoned || creature.IsBonded))
{
Caster.SendLocalizedMessage(1061085); // There's not enough life force there to animate.

View file

@ -7,7 +7,7 @@ namespace Server.Spells.Necromancy
{
public class BloodOathSpell : NecromancerSpell, ISpellTargetingMobile
{
private static readonly SpellInfo m_Info = new SpellInfo(
private static readonly SpellInfo m_Info = new(
"Blood Oath",
"In Jux Mani Xen",
203,
@ -15,8 +15,8 @@ namespace Server.Spells.Necromancy
Reagent.DaemonBlood
);
private static readonly Dictionary<Mobile, Mobile> m_OathTable = new Dictionary<Mobile, Mobile>();
private static readonly Dictionary<Mobile, ExpireTimer> m_Table = new Dictionary<Mobile, ExpireTimer>();
private static readonly Dictionary<Mobile, Mobile> m_OathTable = new();
private static readonly Dictionary<Mobile, ExpireTimer> m_Table = new();
public BloodOathSpell(Mobile caster, Item scroll = null) : base(caster, scroll, m_Info)
{

View file

@ -6,7 +6,7 @@ namespace Server.Spells.Necromancy
{
public class CorpseSkinSpell : NecromancerSpell, ISpellTargetingMobile
{
private static readonly SpellInfo m_Info = new SpellInfo(
private static readonly SpellInfo m_Info = new(
"Corpse Skin",
"In Agle Corp Ylem",
203,
@ -15,7 +15,7 @@ namespace Server.Spells.Necromancy
Reagent.GraveDust
);
private static readonly Dictionary<Mobile, ExpireTimer> m_Table = new Dictionary<Mobile, ExpireTimer>();
private static readonly Dictionary<Mobile, ExpireTimer> m_Table = new();
public CorpseSkinSpell(Mobile caster, Item scroll = null) : base(caster, scroll, m_Info)
{

View file

@ -6,7 +6,7 @@ namespace Server.Spells.Necromancy
{
public class CurseWeaponSpell : NecromancerSpell
{
private static readonly SpellInfo m_Info = new SpellInfo(
private static readonly SpellInfo m_Info = new(
"Curse Weapon",
"An Sanct Gra Char",
203,
@ -14,7 +14,7 @@ namespace Server.Spells.Necromancy
Reagent.PigIron
);
private static readonly Dictionary<BaseWeapon, ExpireTimer> m_Table = new Dictionary<BaseWeapon, ExpireTimer>();
private static readonly Dictionary<BaseWeapon, ExpireTimer> m_Table = new();
public CurseWeaponSpell(Mobile caster, Item scroll = null) : base(caster, scroll, m_Info)
{

View file

@ -7,7 +7,7 @@ namespace Server.Spells.Necromancy
{
public class EvilOmenSpell : NecromancerSpell, ISpellTargetingMobile
{
private static readonly SpellInfo m_Info = new SpellInfo(
private static readonly SpellInfo m_Info = new(
"Evil Omen",
"Pas Tym An Sanct",
203,
@ -16,7 +16,7 @@ namespace Server.Spells.Necromancy
Reagent.NoxCrystal
);
private static readonly Dictionary<Mobile, DefaultSkillMod> m_Table = new Dictionary<Mobile, DefaultSkillMod>();
private static readonly Dictionary<Mobile, DefaultSkillMod> m_Table = new();
public EvilOmenSpell(Mobile caster, Item scroll = null)
: base(caster, scroll, m_Info)

View file

@ -11,7 +11,7 @@ namespace Server.Spells.Necromancy
{
public class ExorcismSpell : NecromancerSpell
{
private static readonly SpellInfo m_Info = new SpellInfo(
private static readonly SpellInfo m_Info = new(
"Exorcism",
"Ort Corp Grav",
203,
@ -24,38 +24,38 @@ namespace Server.Spells.Necromancy
private static readonly Point3D[] m_BritanniaLocs =
{
new Point3D(1470, 843, 0),
new Point3D(1857, 865, -1),
new Point3D(4220, 563, 36),
new Point3D(1732, 3528, 0),
new Point3D(1300, 644, 8),
new Point3D(3355, 302, 9),
new Point3D(1606, 2490, 5),
new Point3D(2500, 3931, 3),
new Point3D(4264, 3707, 0)
new(1470, 843, 0),
new(1857, 865, -1),
new(4220, 563, 36),
new(1732, 3528, 0),
new(1300, 644, 8),
new(3355, 302, 9),
new(1606, 2490, 5),
new(2500, 3931, 3),
new(4264, 3707, 0)
};
private static readonly Point3D[] m_IllshLocs =
{
new Point3D(1222, 474, -17),
new Point3D(718, 1360, -60),
new Point3D(297, 1014, -19),
new Point3D(986, 1006, -36),
new Point3D(1180, 1288, -30),
new Point3D(1538, 1341, -3),
new Point3D(528, 223, -38)
new(1222, 474, -17),
new(718, 1360, -60),
new(297, 1014, -19),
new(986, 1006, -36),
new(1180, 1288, -30),
new(1538, 1341, -3),
new(528, 223, -38)
};
private static readonly Point3D[] m_MalasLocs =
{
new Point3D(976, 517, -30)
new(976, 517, -30)
};
private static readonly Point3D[] m_TokunoLocs =
{
new Point3D(710, 1162, 25),
new Point3D(1034, 515, 18),
new Point3D(295, 712, 55)
new(710, 1162, 25),
new(1034, 515, 18),
new(295, 712, 55)
};
public ExorcismSpell(Mobile caster, Item scroll = null) : base(caster, scroll, m_Info)

View file

@ -4,7 +4,7 @@ namespace Server.Spells.Necromancy
{
public class HorrificBeastSpell : TransformationSpell
{
private static readonly SpellInfo m_Info = new SpellInfo(
private static readonly SpellInfo m_Info = new(
"Horrific Beast",
"Rel Xen Vas Bal",
203,

View file

@ -4,7 +4,7 @@ namespace Server.Spells.Necromancy
{
public class LichFormSpell : TransformationSpell
{
private static readonly SpellInfo m_Info = new SpellInfo(
private static readonly SpellInfo m_Info = new(
"Lich Form",
"Rel Xen Corp Ort",
203,

View file

@ -6,7 +6,7 @@ namespace Server.Spells.Necromancy
{
public class MindRotSpell : NecromancerSpell, ISpellTargetingMobile
{
private static readonly SpellInfo m_Info = new SpellInfo(
private static readonly SpellInfo m_Info = new(
"Mind Rot",
"Wis An Ben",
203,
@ -16,7 +16,7 @@ namespace Server.Spells.Necromancy
Reagent.DaemonBlood
);
private static readonly Dictionary<Mobile, MRBucket> m_Table = new Dictionary<Mobile, MRBucket>();
private static readonly Dictionary<Mobile, MRBucket> m_Table = new();
public MindRotSpell(Mobile caster, Item scroll = null) : base(caster, scroll, m_Info)
{

View file

@ -7,7 +7,7 @@ namespace Server.Spells.Necromancy
{
public class PainSpikeSpell : NecromancerSpell, ISpellTargetingMobile
{
private static readonly SpellInfo m_Info = new SpellInfo(
private static readonly SpellInfo m_Info = new(
"Pain Spike",
"In Sar",
203,
@ -16,7 +16,7 @@ namespace Server.Spells.Necromancy
Reagent.PigIron
);
private static readonly Dictionary<Mobile, InternalTimer> m_Table = new Dictionary<Mobile, InternalTimer>();
private static readonly Dictionary<Mobile, InternalTimer> m_Table = new();
public PainSpikeSpell(Mobile caster, Item scroll = null) : base(caster, scroll, m_Info)
{

View file

@ -9,7 +9,7 @@ namespace Server.Spells.Necromancy
{
public class PoisonStrikeSpell : NecromancerSpell, ISpellTargetingMobile
{
private static readonly SpellInfo m_Info = new SpellInfo(
private static readonly SpellInfo m_Info = new(
"Poison Strike",
"In Vas Nox",
203,

View file

@ -6,7 +6,7 @@ namespace Server.Spells.Necromancy
{
public class StrangleSpell : NecromancerSpell, ISpellTargetingMobile
{
private static readonly SpellInfo m_Info = new SpellInfo(
private static readonly SpellInfo m_Info = new(
"Strangle",
"In Bal Nox",
209,
@ -15,7 +15,7 @@ namespace Server.Spells.Necromancy
Reagent.NoxCrystal
);
private static readonly Dictionary<Mobile, InternalTimer> m_Table = new Dictionary<Mobile, InternalTimer>();
private static readonly Dictionary<Mobile, InternalTimer> m_Table = new();
public StrangleSpell(Mobile caster, Item scroll = null) : base(caster, scroll, m_Info)
{

View file

@ -9,7 +9,7 @@ namespace Server.Spells.Necromancy
{
public class SummonFamiliarSpell : NecromancerSpell
{
private static readonly SpellInfo m_Info = new SpellInfo(
private static readonly SpellInfo m_Info = new(
"Summon Familiar",
"Kal Xen Bal",
203,
@ -28,15 +28,15 @@ namespace Server.Spells.Necromancy
public override double RequiredSkill => 30.0;
public override int RequiredMana => 17;
public static Dictionary<Mobile, BaseCreature> Table { get; } = new Dictionary<Mobile, BaseCreature>();
public static Dictionary<Mobile, BaseCreature> Table { get; } = new();
public static SummonFamiliarEntry[] Entries { get; } =
{
new SummonFamiliarEntry(typeof(HordeMinionFamiliar), 1060146, 30.0, 30.0), // Horde Minion
new SummonFamiliarEntry(typeof(ShadowWispFamiliar), 1060142, 50.0, 50.0), // Shadow Wisp
new SummonFamiliarEntry(typeof(DarkWolfFamiliar), 1060143, 60.0, 60.0), // Dark Wolf
new SummonFamiliarEntry(typeof(DeathAdder), 1060145, 80.0, 80.0), // Death Adder
new SummonFamiliarEntry(typeof(VampireBatFamiliar), 1060144, 100.0, 100.0) // Vampire Bat
new(typeof(HordeMinionFamiliar), 1060146, 30.0, 30.0), // Horde Minion
new(typeof(ShadowWispFamiliar), 1060142, 50.0, 50.0), // Shadow Wisp
new(typeof(DarkWolfFamiliar), 1060143, 60.0, 60.0), // Dark Wolf
new(typeof(DeathAdder), 1060145, 80.0, 80.0), // Death Adder
new(typeof(VampireBatFamiliar), 1060144, 100.0, 100.0) // Vampire Bat
};
public override bool CheckCast()

View file

@ -5,7 +5,7 @@ namespace Server.Spells.Necromancy
{
public class VampiricEmbraceSpell : TransformationSpell
{
private static readonly SpellInfo m_Info = new SpellInfo(
private static readonly SpellInfo m_Info = new(
"Vampiric Embrace",
"Rel Xen An Sanct",
203,

View file

@ -6,7 +6,7 @@ namespace Server.Spells.Necromancy
{
public class VengefulSpiritSpell : NecromancerSpell, ISpellTargetingMobile
{
private static readonly SpellInfo m_Info = new SpellInfo(
private static readonly SpellInfo m_Info = new(
"Vengeful Spirit",
"Kal Xen Bal Beh",
203,

View file

@ -7,7 +7,7 @@ namespace Server.Spells.Necromancy
{
public class WitherSpell : NecromancerSpell
{
private static readonly SpellInfo m_Info = new SpellInfo(
private static readonly SpellInfo m_Info = new(
"Wither",
"Kal Vas An Flam",
203,

View file

@ -5,7 +5,7 @@ namespace Server.Spells.Necromancy
{
public class WraithFormSpell : TransformationSpell
{
private static readonly SpellInfo m_Info = new SpellInfo(
private static readonly SpellInfo m_Info = new(
"Wraith Form",
"Rel Xen Um",
203,

View file

@ -18,15 +18,15 @@ namespace Server.Spells.Ninjitsu
NoSkill
}
private static readonly SpellInfo m_Info = new SpellInfo(
private static readonly SpellInfo m_Info = new(
"Animal Form",
null,
-1,
9002
);
private static readonly Dictionary<Mobile, int> m_LastAnimalForms = new Dictionary<Mobile, int>();
private static readonly Dictionary<Mobile, AnimalFormContext> m_Table = new Dictionary<Mobile, AnimalFormContext>();
private static readonly Dictionary<Mobile, int> m_LastAnimalForms = new();
private static readonly Dictionary<Mobile, AnimalFormContext> m_Table = new();
private bool m_WasMoving;
@ -45,22 +45,22 @@ namespace Server.Spells.Ninjitsu
public static AnimalFormEntry[] Entries { get; } =
{
new AnimalFormEntry(typeof(Kirin), 1029632, 9632, 0, 1070811, 100.0, 0x84, 0, 0),
new AnimalFormEntry(typeof(Unicorn), 1018214, 9678, 0, 1070812, 100.0, 0x7A, 0, 0),
new AnimalFormEntry(typeof(BakeKitsune), 1030083, 10083, 0, 1070810, 82.5, 0xF6, 0, 0),
new AnimalFormEntry(typeof(GreyWolf), 1028482, 9681, 2309, 1070810, 82.5, 0x19, 0x8FD, 0x90E),
new AnimalFormEntry(typeof(Llama), 1028438, 8438, 0, 1070809, 70.0, 0xDC, 0, 0),
new AnimalFormEntry(typeof(ForestOstard), 1018273, 8503, 2212, 1070809, 70.0, 0xDB, 0x899, 0x8B0),
new AnimalFormEntry(typeof(BullFrog), 1028496, 8496, 2003, 1070807, 50.0, 0x51, 0x7D1, 0x7D6, false, false),
new AnimalFormEntry(typeof(GiantSerpent), 1018114, 9663, 2009, 1070808, 50.0, 0x15, 0x7D1, 0x7E2, false, false),
new AnimalFormEntry(typeof(Dog), 1018280, 8476, 2309, 1070806, 40.0, 0xD9, 0x8FD, 0x90E, false, false),
new AnimalFormEntry(typeof(Cat), 1018264, 8475, 2309, 1070806, 40.0, 0xC9, 0x8FD, 0x90E, false, false),
new AnimalFormEntry(typeof(Rat), 1018294, 8483, 2309, 1070805, 20.0, 0xEE, 0x8FD, 0x90E, true, false),
new AnimalFormEntry(typeof(Rabbit), 1028485, 8485, 2309, 1070805, 20.0, 0xCD, 0x8FD, 0x90E, true, false),
new AnimalFormEntry(typeof(Squirrel), 1031671, 11671, 0, 0, 20.0, 0x116, 0, 0, false, false),
new AnimalFormEntry(typeof(Ferret), 1031672, 11672, 0, 1075220, 40.0, 0x117, 0, 0, false, false, true),
new AnimalFormEntry(typeof(CuSidhe), 1031670, 11670, 0, 1075221, 60.0, 0x115, 0, 0, false, false),
new AnimalFormEntry(typeof(Reptalon), 1075202, 11669, 0, 1075222, 90.0, 0x114, 0, 0, false, false)
new(typeof(Kirin), 1029632, 9632, 0, 1070811, 100.0, 0x84, 0, 0),
new(typeof(Unicorn), 1018214, 9678, 0, 1070812, 100.0, 0x7A, 0, 0),
new(typeof(BakeKitsune), 1030083, 10083, 0, 1070810, 82.5, 0xF6, 0, 0),
new(typeof(GreyWolf), 1028482, 9681, 2309, 1070810, 82.5, 0x19, 0x8FD, 0x90E),
new(typeof(Llama), 1028438, 8438, 0, 1070809, 70.0, 0xDC, 0, 0),
new(typeof(ForestOstard), 1018273, 8503, 2212, 1070809, 70.0, 0xDB, 0x899, 0x8B0),
new(typeof(BullFrog), 1028496, 8496, 2003, 1070807, 50.0, 0x51, 0x7D1, 0x7D6, false, false),
new(typeof(GiantSerpent), 1018114, 9663, 2009, 1070808, 50.0, 0x15, 0x7D1, 0x7E2, false, false),
new(typeof(Dog), 1018280, 8476, 2309, 1070806, 40.0, 0xD9, 0x8FD, 0x90E, false, false),
new(typeof(Cat), 1018264, 8475, 2309, 1070806, 40.0, 0xC9, 0x8FD, 0x90E, false, false),
new(typeof(Rat), 1018294, 8483, 2309, 1070805, 20.0, 0xEE, 0x8FD, 0x90E, true, false),
new(typeof(Rabbit), 1028485, 8485, 2309, 1070805, 20.0, 0xCD, 0x8FD, 0x90E, true, false),
new(typeof(Squirrel), 1031671, 11671, 0, 0, 20.0, 0x116, 0, 0, false, false),
new(typeof(Ferret), 1031672, 11672, 0, 1075220, 40.0, 0x117, 0, 0, false, false, true),
new(typeof(CuSidhe), 1031670, 11670, 0, 1075221, 60.0, 0x115, 0, 0, false, false),
new(typeof(Reptalon), 1075202, 11669, 0, 1075222, 90.0, 0x114, 0, 0, false, false)
};
public static void Initialize()

View file

@ -9,7 +9,7 @@ namespace Server.Spells.Ninjitsu
public override double RequiredSkill => Core.ML ? 40.0 : 20.0;
public override TextDefinition AbilityMessage =>
new TextDefinition(1063089); // You prepare to Backstab your opponent.
new(1063089); // You prepare to Backstab your opponent.
public override bool ValidatesDuringHit => false;

View file

@ -7,13 +7,13 @@ namespace Server.Spells.Ninjitsu
{
public class DeathStrike : NinjaMove
{
private static readonly Dictionary<Mobile, DeathStrikeInfo> m_Table = new Dictionary<Mobile, DeathStrikeInfo>();
private static readonly Dictionary<Mobile, DeathStrikeInfo> m_Table = new();
public override int BaseMana => 30;
public override double RequiredSkill => 85.0;
public override TextDefinition AbilityMessage =>
new TextDefinition(1063091); // You prepare to hit your opponent with a Death Strike.
new(1063091); // You prepare to hit your opponent with a Death Strike.
public override double GetDamageScalar(Mobile attacker, Mobile defender) => 0.5;

View file

@ -8,7 +8,7 @@ namespace Server.Spells.Ninjitsu
public override double RequiredSkill => Core.ML ? 30.0 : 60;
public override TextDefinition AbilityMessage =>
new TextDefinition(1063095); // You prepare to focus all of your abilities into your next strike.
new(1063095); // You prepare to focus all of your abilities into your next strike.
public override bool Validate(Mobile from)
{

View file

@ -6,13 +6,13 @@ namespace Server.Spells.Ninjitsu
{
public class KiAttack : NinjaMove
{
private static readonly Dictionary<Mobile, KiAttackInfo> m_Table = new Dictionary<Mobile, KiAttackInfo>();
private static readonly Dictionary<Mobile, KiAttackInfo> m_Table = new();
public override int BaseMana => 25;
public override double RequiredSkill => 80.0;
public override TextDefinition AbilityMessage =>
new TextDefinition(1063099); // Your Ki Attack must be complete within 2 seconds for the damage bonus!
new(1063099); // Your Ki Attack must be complete within 2 seconds for the damage bonus!
public override void OnUse(Mobile from)
{

View file

@ -10,9 +10,9 @@ namespace Server.Spells.Ninjitsu
{
public class MirrorImage : NinjaSpell
{
private static readonly Dictionary<Mobile, int> m_CloneCount = new Dictionary<Mobile, int>();
private static readonly Dictionary<Mobile, int> m_CloneCount = new();
private static readonly SpellInfo m_Info = new SpellInfo(
private static readonly SpellInfo m_Info = new(
"Mirror Image",
null,
-1,

View file

@ -11,7 +11,7 @@ namespace Server.Spells.Ninjitsu
{
public class Shadowjump : NinjaSpell, ISpellTargetingPoint3D
{
private static readonly SpellInfo m_Info = new SpellInfo(
private static readonly SpellInfo m_Info = new(
"Shadowjump",
null,
-1,

View file

@ -7,12 +7,12 @@ namespace Server.Spells.Ninjitsu
public class SurpriseAttack : NinjaMove
{
private static readonly Dictionary<Mobile, SurpriseAttackInfo>
m_Table = new Dictionary<Mobile, SurpriseAttackInfo>();
m_Table = new();
public override int BaseMana => 20;
public override double RequiredSkill => Core.ML ? 60.0 : 30.0;
public override TextDefinition AbilityMessage => new TextDefinition(1063128); // You prepare to surprise your prey.
public override TextDefinition AbilityMessage => new(1063128); // You prepare to surprise your prey.
public override bool ValidatesDuringHit => false;

View file

@ -5,7 +5,7 @@ namespace Server.Spells.Second
{
public class AgilitySpell : MagerySpell, ISpellTargetingMobile
{
private static readonly SpellInfo m_Info = new SpellInfo(
private static readonly SpellInfo m_Info = new(
"Agility",
"Ex Uus",
212,

View file

@ -5,7 +5,7 @@ namespace Server.Spells.Second
{
public class CunningSpell : MagerySpell, ISpellTargetingMobile
{
private static readonly SpellInfo m_Info = new SpellInfo(
private static readonly SpellInfo m_Info = new(
"Cunning",
"Uus Wis",
212,

View file

@ -5,7 +5,7 @@ namespace Server.Spells.Second
{
public class CureSpell : MagerySpell, ISpellTargetingMobile
{
private static readonly SpellInfo m_Info = new SpellInfo(
private static readonly SpellInfo m_Info = new(
"Cure",
"An Nox",
212,

View file

@ -4,7 +4,7 @@ namespace Server.Spells.Second
{
public class HarmSpell : MagerySpell, ISpellTargetingMobile
{
private static readonly SpellInfo m_Info = new SpellInfo(
private static readonly SpellInfo m_Info = new(
"Harm",
"An Mani",
212,

View file

@ -5,7 +5,7 @@ namespace Server.Spells.Second
{
public class MagicTrapSpell : MagerySpell, ISpellTargetingItem
{
private static readonly SpellInfo m_Info = new SpellInfo(
private static readonly SpellInfo m_Info = new(
"Magic Trap",
"In Jux",
212,

View file

@ -5,7 +5,7 @@ namespace Server.Spells.Second
{
public class ProtectionSpell : MagerySpell
{
private static readonly SpellInfo m_Info = new SpellInfo(
private static readonly SpellInfo m_Info = new(
"Protection",
"Uus Sanct",
236,
@ -16,13 +16,13 @@ namespace Server.Spells.Second
);
private static readonly Dictionary<Mobile, Tuple<ResistanceMod, DefaultSkillMod>> m_Table =
new Dictionary<Mobile, Tuple<ResistanceMod, DefaultSkillMod>>();
new();
public ProtectionSpell(Mobile caster, Item scroll = null) : base(caster, scroll, m_Info)
{
}
public static Dictionary<Mobile, double> Registry { get; } = new Dictionary<Mobile, double>();
public static Dictionary<Mobile, double> Registry { get; } = new();
public override SpellCircle Circle => SpellCircle.Second;

View file

@ -5,7 +5,7 @@ namespace Server.Spells.Second
{
public class RemoveTrapSpell : MagerySpell, ISpellTargetingItem
{
private static readonly SpellInfo m_Info = new SpellInfo(
private static readonly SpellInfo m_Info = new(
"Remove Trap",
"An Jux",
212,

View file

@ -5,7 +5,7 @@ namespace Server.Spells.Second
{
public class StrengthSpell : MagerySpell, ISpellTargetingMobile
{
private static readonly SpellInfo m_Info = new SpellInfo(
private static readonly SpellInfo m_Info = new(
"Strength",
"Uus Mani",
212,

View file

@ -6,7 +6,7 @@ namespace Server.Spells.Seventh
{
public class ChainLightningSpell : MagerySpell, ISpellTargetingPoint3D
{
private static readonly SpellInfo m_Info = new SpellInfo(
private static readonly SpellInfo m_Info = new(
"Chain Lightning",
"Vas Ort Grav",
209,

View file

@ -8,7 +8,7 @@ namespace Server.Spells.Seventh
{
public class EnergyFieldSpell : MagerySpell, ISpellTargetingPoint3D
{
private static readonly SpellInfo m_Info = new SpellInfo(
private static readonly SpellInfo m_Info = new(
"Energy Field",
"In Sanct Grav",
221,

View file

@ -4,7 +4,7 @@ namespace Server.Spells.Seventh
{
public class FlameStrikeSpell : MagerySpell, ISpellTargetingMobile
{
private static readonly SpellInfo m_Info = new SpellInfo(
private static readonly SpellInfo m_Info = new(
"Flame Strike",
"Kal Vas Flam",
245,

View file

@ -9,7 +9,7 @@ namespace Server.Spells.Seventh
{
public class GateTravelSpell : MagerySpell, IRecallSpell
{
private static readonly SpellInfo m_Info = new SpellInfo(
private static readonly SpellInfo m_Info = new(
"Gate Travel",
"Vas Rel Por",
263,

View file

@ -5,7 +5,7 @@ namespace Server.Spells.Seventh
{
public class ManaVampireSpell : MagerySpell, ISpellTargetingMobile
{
private static readonly SpellInfo m_Info = new SpellInfo(
private static readonly SpellInfo m_Info = new(
"Mana Vampire",
"Ort Sanct",
221,

View file

@ -6,7 +6,7 @@ namespace Server.Spells.Seventh
{
public class MassDispelSpell : MagerySpell, ISpellTargetingPoint3D
{
private static readonly SpellInfo m_Info = new SpellInfo(
private static readonly SpellInfo m_Info = new(
"Mass Dispel",
"Vas An Ort",
263,

View file

@ -6,7 +6,7 @@ namespace Server.Spells.Seventh
{
public class MeteorSwarmSpell : MagerySpell, ISpellTargetingPoint3D
{
private static readonly SpellInfo m_Info = new SpellInfo(
private static readonly SpellInfo m_Info = new(
"Meteor Swarm",
"Flam Kal Des Ylem",
233,

View file

@ -9,7 +9,7 @@ namespace Server.Spells.Seventh
{
public class PolymorphSpell : MagerySpell
{
private static readonly SpellInfo m_Info = new SpellInfo(
private static readonly SpellInfo m_Info = new(
"Polymorph",
"Vas Ylem Rel",
221,
@ -19,7 +19,7 @@ namespace Server.Spells.Seventh
Reagent.MandrakeRoot
);
private static readonly Dictionary<Mobile, InternalTimer> m_Timers = new Dictionary<Mobile, InternalTimer>();
private static readonly Dictionary<Mobile, InternalTimer> m_Timers = new();
private readonly int m_NewBody;

Some files were not shown because too many files have changed in this diff Show more