Changes properties to use automatic property initializers

This commit is contained in:
Kamron Batman 2018-09-14 15:23:29 -07:00
parent f0a48ad431
commit 06fa31a7bf
623 changed files with 13072 additions and 19304 deletions

View file

@ -9,8 +9,7 @@ namespace Server.Items
/// </summary>
public class DualWield : WeaponAbility
{
private static Hashtable m_Registry = new Hashtable();
public static Hashtable Registry => m_Registry;
public static Hashtable Registry { get; } = new Hashtable();
public DualWield()
{
@ -56,15 +55,14 @@ namespace Server.Items
public class DualWieldTimer : Timer
{
private Mobile m_Owner;
private int m_BonusSwingSpeed;
public int BonusSwingSpeed => m_BonusSwingSpeed;
public int BonusSwingSpeed { get; }
public DualWieldTimer( Mobile owner, int bonusSwingSpeed )
: base( TimeSpan.FromSeconds( 6.0 ) )
{
m_Owner = owner;
m_BonusSwingSpeed = bonusSwingSpeed;
BonusSwingSpeed = bonusSwingSpeed;
Priority = TimerPriority.FiftyMS;
}

View file

@ -9,8 +9,7 @@ namespace Server.Items
/// </summary>
public class Feint : WeaponAbility
{
private static Hashtable m_Registry = new Hashtable();
public static Hashtable Registry => m_Registry;
public static Hashtable Registry { get; } = new Hashtable();
public Feint()
{
@ -57,15 +56,14 @@ namespace Server.Items
public class FeintTimer : Timer
{
private Mobile m_Defender;
private int m_SwingSpeedReduction;
public int SwingSpeedReduction => m_SwingSpeedReduction;
public int SwingSpeedReduction { get; }
public FeintTimer( Mobile defender, int swingSpeedReduction )
: base( TimeSpan.FromSeconds( 6.0 ) )
{
m_Defender = defender;
m_SwingSpeedReduction = swingSpeedReduction;
SwingSpeedReduction = swingSpeedReduction;
Priority = TimerPriority.FiftyMS;
}

View file

@ -26,8 +26,7 @@ namespace Server.Items
public override int BaseMana => 30;
private static Hashtable m_Registry = new Hashtable();
public static Hashtable Registry => m_Registry;
public static Hashtable Registry { get; } = new Hashtable();
public override void OnHit( Mobile attacker, Mobile defender, int damage )
{

View file

@ -9,8 +9,7 @@ namespace Server.Items
/// </summary>
public class TalonStrike : WeaponAbility
{
private static Hashtable m_Registry = new Hashtable();
public static Hashtable Registry => m_Registry;
public static Hashtable Registry { get; } = new Hashtable();
public TalonStrike()
{

View file

@ -249,81 +249,77 @@ namespace Server.Items
return CheckSkills( from ) && CheckMana( from, false );
}
private static WeaponAbility[] m_Abilities = new WeaponAbility[31]
{
null,
new ArmorIgnore(),
new BleedAttack(),
new ConcussionBlow(),
new CrushingBlow(),
new Disarm(),
new Dismount(),
new DoubleStrike(),
new InfectiousStrike(),
new MortalStrike(),
new MovingShot(),
new ParalyzingBlow(),
new ShadowStrike(),
new WhirlwindAttack(),
public static WeaponAbility[] Abilities { get; } = new WeaponAbility[31]
{
null,
new ArmorIgnore(),
new BleedAttack(),
new ConcussionBlow(),
new CrushingBlow(),
new Disarm(),
new Dismount(),
new DoubleStrike(),
new InfectiousStrike(),
new MortalStrike(),
new MovingShot(),
new ParalyzingBlow(),
new ShadowStrike(),
new WhirlwindAttack(),
new RidingSwipe(),
new FrenziedWhirlwind(),
new Block(),
new DefenseMastery(),
new NerveStrike(),
new TalonStrike(),
new Feint(),
new DualWield(),
new DoubleShot(),
new ArmorPierce(),
null,
null,
null,
null,
null,
null,
new Disrobe()
};
new RidingSwipe(),
new FrenziedWhirlwind(),
new Block(),
new DefenseMastery(),
new NerveStrike(),
new TalonStrike(),
new Feint(),
new DualWield(),
new DoubleShot(),
new ArmorPierce(),
null,
null,
null,
null,
null,
null,
new Disrobe()
};
public static WeaponAbility[] Abilities => m_Abilities;
public static Hashtable Table { get; } = new Hashtable();
private static Hashtable m_Table = new Hashtable();
public static readonly WeaponAbility ArmorIgnore = Abilities[ 1];
public static readonly WeaponAbility BleedAttack = Abilities[ 2];
public static readonly WeaponAbility ConcussionBlow = Abilities[ 3];
public static readonly WeaponAbility CrushingBlow = Abilities[ 4];
public static readonly WeaponAbility Disarm = Abilities[ 5];
public static readonly WeaponAbility Dismount = Abilities[ 6];
public static readonly WeaponAbility DoubleStrike = Abilities[ 7];
public static readonly WeaponAbility InfectiousStrike = Abilities[ 8];
public static readonly WeaponAbility MortalStrike = Abilities[ 9];
public static readonly WeaponAbility MovingShot = Abilities[10];
public static readonly WeaponAbility ParalyzingBlow = Abilities[11];
public static readonly WeaponAbility ShadowStrike = Abilities[12];
public static readonly WeaponAbility WhirlwindAttack = Abilities[13];
public static Hashtable Table => m_Table;
public static readonly WeaponAbility RidingSwipe = Abilities[14];
public static readonly WeaponAbility FrenziedWhirlwind = Abilities[15];
public static readonly WeaponAbility Block = Abilities[16];
public static readonly WeaponAbility DefenseMastery = Abilities[17];
public static readonly WeaponAbility NerveStrike = Abilities[18];
public static readonly WeaponAbility TalonStrike = Abilities[19];
public static readonly WeaponAbility Feint = Abilities[20];
public static readonly WeaponAbility DualWield = Abilities[21];
public static readonly WeaponAbility DoubleShot = Abilities[22];
public static readonly WeaponAbility ArmorPierce = Abilities[23];
public static readonly WeaponAbility ArmorIgnore = m_Abilities[ 1];
public static readonly WeaponAbility BleedAttack = m_Abilities[ 2];
public static readonly WeaponAbility ConcussionBlow = m_Abilities[ 3];
public static readonly WeaponAbility CrushingBlow = m_Abilities[ 4];
public static readonly WeaponAbility Disarm = m_Abilities[ 5];
public static readonly WeaponAbility Dismount = m_Abilities[ 6];
public static readonly WeaponAbility DoubleStrike = m_Abilities[ 7];
public static readonly WeaponAbility InfectiousStrike = m_Abilities[ 8];
public static readonly WeaponAbility MortalStrike = m_Abilities[ 9];
public static readonly WeaponAbility MovingShot = m_Abilities[10];
public static readonly WeaponAbility ParalyzingBlow = m_Abilities[11];
public static readonly WeaponAbility ShadowStrike = m_Abilities[12];
public static readonly WeaponAbility WhirlwindAttack = m_Abilities[13];
public static readonly WeaponAbility Bladeweave = Abilities[24];
public static readonly WeaponAbility ForceArrow = Abilities[25];
public static readonly WeaponAbility LightningArrow = Abilities[26];
public static readonly WeaponAbility PsychicAttack = Abilities[27];
public static readonly WeaponAbility SerpentArrow = Abilities[28];
public static readonly WeaponAbility ForceOfNature = Abilities[29];
public static readonly WeaponAbility RidingSwipe = m_Abilities[14];
public static readonly WeaponAbility FrenziedWhirlwind = m_Abilities[15];
public static readonly WeaponAbility Block = m_Abilities[16];
public static readonly WeaponAbility DefenseMastery = m_Abilities[17];
public static readonly WeaponAbility NerveStrike = m_Abilities[18];
public static readonly WeaponAbility TalonStrike = m_Abilities[19];
public static readonly WeaponAbility Feint = m_Abilities[20];
public static readonly WeaponAbility DualWield = m_Abilities[21];
public static readonly WeaponAbility DoubleShot = m_Abilities[22];
public static readonly WeaponAbility ArmorPierce = m_Abilities[23];
public static readonly WeaponAbility Bladeweave = m_Abilities[24];
public static readonly WeaponAbility ForceArrow = m_Abilities[25];
public static readonly WeaponAbility LightningArrow = m_Abilities[26];
public static readonly WeaponAbility PsychicAttack = m_Abilities[27];
public static readonly WeaponAbility SerpentArrow = m_Abilities[28];
public static readonly WeaponAbility ForceOfNature = m_Abilities[29];
public static readonly WeaponAbility Disrobe = m_Abilities[30];
public static readonly WeaponAbility Disrobe = Abilities[30];
public static bool IsWeaponAbility( Mobile m, WeaponAbility a )
{
@ -346,7 +342,7 @@ namespace Server.Items
return null;
}
WeaponAbility a = (WeaponAbility)m_Table[m];
WeaponAbility a = (WeaponAbility)Table[m];
if ( !IsWeaponAbility( m, a ) )
{
@ -385,13 +381,13 @@ namespace Server.Items
if ( a == null )
{
m_Table.Remove( m );
Table.Remove( m );
}
else
{
SpecialMove.ClearCurrentMove( m );
m_Table[m] = a;
Table[m] = a;
}
return true;
@ -399,7 +395,7 @@ namespace Server.Items
public static void ClearCurrentAbility( Mobile m )
{
m_Table.Remove( m );
Table.Remove( m );
if ( Core.AOS && m.NetState != null )
m.Send( ClearWeaponAbility.Instance );
@ -420,8 +416,8 @@ namespace Server.Items
if ( index == 0 )
ClearCurrentAbility( e.Mobile );
else if ( index >= 1 && index < m_Abilities.Length )
SetCurrentAbility( e.Mobile, m_Abilities[index] );
else if ( index >= 1 && index < Abilities.Length )
SetCurrentAbility( e.Mobile, Abilities[index] );
}
@ -471,13 +467,11 @@ namespace Server.Items
private class WeaponAbilityContext
{
private Timer m_Timer;
public Timer Timer => m_Timer;
public Timer Timer { get; }
public WeaponAbilityContext( Timer timer )
{
m_Timer = timer;
Timer = timer;
}
}
}

View file

@ -80,10 +80,6 @@ namespace Server.Items
private SlayerName m_Slayer2;
private SkillMod m_SkillMod, m_MageMod;
private CraftResource m_Resource;
private bool m_PlayerConstructed;
private bool m_Cursed; // Is this weapon cursed via Curse Weapon necromancer spell? Temporary; not serialized.
private bool m_Consecrated; // Is this weapon blessed via Consecrate Weapon paladin ability? Temporary; not serialized.
private AosAttributes m_AosAttributes;
private AosWeaponAttributes m_AosWeaponAttributes;
@ -183,18 +179,10 @@ namespace Server.Items
}
[CommandProperty( AccessLevel.GameMaster )]
public bool Cursed
{
get => m_Cursed;
set => m_Cursed = value;
}
public bool Cursed { get; set; }
[CommandProperty( AccessLevel.GameMaster )]
public bool Consecrated
{
get => m_Consecrated;
set => m_Consecrated = value;
}
public bool Consecrated { get; set; }
[CommandProperty( AccessLevel.GameMaster )]
public bool Identified
@ -292,11 +280,7 @@ namespace Server.Items
}
[CommandProperty( AccessLevel.GameMaster )]
public bool PlayerConstructed
{
get => m_PlayerConstructed;
set => m_PlayerConstructed = value;
}
public bool PlayerConstructed { get; set; }
[CommandProperty( AccessLevel.GameMaster )]
public int MaxRange
@ -1304,13 +1288,7 @@ namespace Server.Items
return 0;
}
private static bool m_InDoubleStrike;
public static bool InDoubleStrike
{
get => m_InDoubleStrike;
set => m_InDoubleStrike = value;
}
public static bool InDoubleStrike { get; set; }
public virtual void OnHit( Mobile attacker, Mobile defender, double damageBonus = 1.0)
{
@ -1413,7 +1391,7 @@ namespace Server.Items
percentageBonus += packInstinctBonus;
}
if ( m_InDoubleStrike )
if ( InDoubleStrike )
{
percentageBonus -= 10;
}
@ -1480,7 +1458,7 @@ namespace Server.Items
quiver.AlterBowDamage( ref phys, ref fire, ref cold, ref pois, ref nrgy, ref chaos, ref direct );
}
if ( m_Consecrated )
if ( Consecrated )
{
phys = defender.PhysicalResistance;
fire = defender.FireResistance;
@ -1544,7 +1522,7 @@ namespace Server.Items
if ( (int)(AosWeaponAttributes.GetValue( attacker, AosWeaponAttribute.HitLeechMana ) * propertyBonus) > Utility.Random( 100 ) )
manaLeech += 40; // HitLeechMana% chance to leech 40% of damage as mana
if ( m_Cursed )
if ( Cursed )
lifeLeech += 50; // Additional 50% life leech for cursed weapons (necro spell)
context = TransformationSpellHelper.GetContext( attacker );
@ -2423,7 +2401,7 @@ namespace Server.Items
SetSaveFlag( ref flags, SaveFlag.Resource, m_Resource != CraftResource.Iron );
SetSaveFlag( ref flags, SaveFlag.xAttributes, !m_AosAttributes.IsEmpty );
SetSaveFlag( ref flags, SaveFlag.xWeaponAttributes, !m_AosWeaponAttributes.IsEmpty );
SetSaveFlag( ref flags, SaveFlag.PlayerConstructed, m_PlayerConstructed );
SetSaveFlag( ref flags, SaveFlag.PlayerConstructed, PlayerConstructed );
SetSaveFlag( ref flags, SaveFlag.SkillBonuses, !m_AosSkillBonuses.IsEmpty );
SetSaveFlag( ref flags, SaveFlag.Slayer2, m_Slayer2 != SlayerName.None );
SetSaveFlag( ref flags, SaveFlag.ElementalDamages, !m_AosElementDamages.IsEmpty );
@ -2720,7 +2698,7 @@ namespace Server.Items
}
if ( GetSaveFlag( flags, SaveFlag.PlayerConstructed ) )
m_PlayerConstructed = true;
PlayerConstructed = true;
if ( GetSaveFlag( flags, SaveFlag.SkillBonuses ) )
m_AosSkillBonuses = new AosSkillBonuses( this, reader );
@ -2876,7 +2854,7 @@ namespace Server.Items
}
if ( version < 6 )
m_PlayerConstructed = true; // we don't know, so, assume it's crafted
PlayerConstructed = true; // we don't know, so, assume it's crafted
}
#endregion
@ -3354,13 +3332,7 @@ namespace Server.Items
from.Send( new DisplayEquipmentInfo( this, eqInfo ) );
}
private static BaseWeapon m_Fists; // This value holds the default--fist--weapon
public static BaseWeapon Fists
{
get => m_Fists;
set => m_Fists = value;
}
public static BaseWeapon Fists { get; set; }
#region ICraftable Members

View file

@ -4,15 +4,11 @@ namespace Server.Items
{
public class SlayerEntry
{
private SlayerGroup m_Group;
private SlayerName m_Name;
private Type[] m_Types;
public SlayerGroup Group { get; set; }
public SlayerGroup Group{ get => m_Group;
set => m_Group = value;
}
public SlayerName Name => m_Name;
public Type[] Types => m_Types;
public SlayerName Name { get; }
public Type[] Types { get; }
private static int[] m_AosTitles = {
1060479, // undead slayer
@ -80,23 +76,23 @@ namespace Server.Items
{
int[] titles = ( Core.AOS ? m_AosTitles : m_OldTitles );
return titles[(int)m_Name - 1];
return titles[(int)Name - 1];
}
}
public SlayerEntry( SlayerName name, params Type[] types )
{
m_Name = name;
m_Types = types;
Name = name;
Types = types;
}
public bool Slays( Mobile m )
{
Type t = m.GetType();
for ( int i = 0; i < m_Types.Length; ++i )
for ( int i = 0; i < Types.Length; ++i )
{
if ( m_Types[i].IsAssignableFrom( t ) )
if ( Types[i].IsAssignableFrom( t ) )
return true;
}

View file

@ -5,28 +5,25 @@ namespace Server.Items
{
public class SlayerGroup
{
private static SlayerEntry[] m_TotalEntries;
private static SlayerGroup[] m_Groups;
public static SlayerEntry[] TotalEntries { get; }
public static SlayerEntry[] TotalEntries => m_TotalEntries;
public static SlayerGroup[] Groups => m_Groups;
public static SlayerGroup[] Groups { get; }
public static SlayerEntry GetEntryByName( SlayerName name )
{
int v = (int)name;
if ( v >= 0 && v < m_TotalEntries.Length )
return m_TotalEntries[v];
if ( v >= 0 && v < TotalEntries.Length )
return TotalEntries[v];
return null;
}
public static SlayerName GetLootSlayerType( Type type )
{
for ( int i = 0; i < m_Groups.Length; ++i )
for ( int i = 0; i < Groups.Length; ++i )
{
SlayerGroup group = m_Groups[i];
SlayerGroup group = Groups[i];
Type[] foundOn = group.FoundOn;
bool inGroup = false;
@ -39,7 +36,7 @@ namespace Server.Items
int index = Utility.Random( 1 + group.Entries.Length );
if ( index == 0 )
return group.m_Super.Name;
return group.Super.Name;
return group.Entries[index - 1].Name;
}
@ -136,7 +133,7 @@ namespace Server.Items
new SlayerEntry( SlayerName.SnakesBane, typeof( DeepSeaSerpent ), typeof( GiantIceWorm ), typeof( GiantSerpent ), typeof( IceSerpent ), typeof( IceSnake ), typeof( LavaSerpent ), typeof( LavaSnake ), typeof( SeaSerpent ), typeof( Serado ), typeof( SilverSerpent ), typeof( Snake ), typeof( Yamandon ) )
};
m_Groups = new[]
Groups = new[]
{
humanoid,
undead,
@ -147,7 +144,7 @@ namespace Server.Items
fey
};
m_TotalEntries = CompileEntries( m_Groups );
TotalEntries = CompileEntries( Groups );
}
private static SlayerEntry[] CompileEntries( SlayerGroup[] groups )
@ -172,23 +169,13 @@ namespace Server.Items
return entries;
}
private SlayerGroup[] m_Opposition;
private SlayerEntry m_Super;
private SlayerEntry[] m_Entries;
private Type[] m_FoundOn;
public SlayerGroup[] Opposition { get; set; }
public SlayerGroup[] Opposition{ get => m_Opposition;
set => m_Opposition = value;
}
public SlayerEntry Super{ get => m_Super;
set => m_Super = value;
}
public SlayerEntry[] Entries{ get => m_Entries;
set => m_Entries = value;
}
public Type[] FoundOn{ get => m_FoundOn;
set => m_FoundOn = value;
}
public SlayerEntry Super { get; set; }
public SlayerEntry[] Entries { get; set; }
public Type[] FoundOn { get; set; }
public bool OppositionSuperSlays( Mobile m )
{