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

@ -4,34 +4,26 @@ namespace Server.Engines.Harvest
{
public class BonusHarvestResource
{
private Type m_Type;
private double m_ReqSkill, m_Chance;
private TextDefinition m_SuccessMessage;
public Type Type { get; set; }
public Type Type { get => m_Type;
set => m_Type = value;
}
public double ReqSkill { get => m_ReqSkill;
set => m_ReqSkill = value;
}
public double Chance { get => m_Chance;
set => m_Chance = value;
}
public double ReqSkill { get; set; }
public TextDefinition SuccessMessage => m_SuccessMessage;
public double Chance { get; set; }
public TextDefinition SuccessMessage { get; }
public void SendSuccessTo( Mobile m )
{
TextDefinition.SendMessageTo( m, m_SuccessMessage );
TextDefinition.SendMessageTo( m, SuccessMessage );
}
public BonusHarvestResource( double reqSkill, double chance, TextDefinition message, Type type )
{
m_ReqSkill = reqSkill;
ReqSkill = reqSkill;
m_Chance = chance;
m_Type = type;
m_SuccessMessage = message;
Chance = chance;
Type = type;
SuccessMessage = message;
}
}
}

View file

@ -9,9 +9,7 @@ namespace Server.Engines.Harvest
private DateTime m_NextRespawn;
private HarvestVein m_Vein, m_DefaultVein;
HarvestDefinition m_Definition;
public HarvestDefinition Definition => m_Definition;
public HarvestDefinition Definition { get; }
public int Current
{
@ -48,9 +46,9 @@ namespace Server.Engines.Harvest
m_Current = m_Maximum;
if ( m_Definition.RandomizeVeins )
if ( Definition.RandomizeVeins )
{
m_DefaultVein = m_Definition.GetVeinFrom( Utility.RandomDouble() );
m_DefaultVein = Definition.GetVeinFrom( Utility.RandomDouble() );
}
m_Vein = m_DefaultVein;
@ -62,14 +60,14 @@ namespace Server.Engines.Harvest
if ( m_Current == m_Maximum )
{
double min = m_Definition.MinRespawn.TotalMinutes;
double max = m_Definition.MaxRespawn.TotalMinutes;
double min = Definition.MinRespawn.TotalMinutes;
double max = Definition.MaxRespawn.TotalMinutes;
double rnd = Utility.RandomDouble();
m_Current = m_Maximum - amount;
double minutes = min + (rnd * (max - min));
if ( m_Definition.RaceBonus && from.Race == Race.Elf ) //def.RaceBonus = Core.ML
if ( Definition.RaceBonus && from.Race == Race.Elf ) //def.RaceBonus = Core.ML
minutes *= .75; //25% off the time.
m_NextRespawn = DateTime.UtcNow + TimeSpan.FromMinutes( minutes );
@ -90,7 +88,7 @@ namespace Server.Engines.Harvest
m_DefaultVein = defaultVein;
m_Vein = m_DefaultVein;
m_Definition = def;
Definition = def;
}
}
}

View file

@ -5,123 +5,67 @@ namespace Server.Engines.Harvest
{
public class HarvestDefinition
{
private int m_BankWidth, m_BankHeight;
private int m_MinTotal, m_MaxTotal;
private int[] m_Tiles;
private bool m_RangedTiles;
private TimeSpan m_MinRespawn, m_MaxRespawn;
private int m_MaxRange;
private int m_ConsumedPerHarvest, m_ConsumedPerFeluccaHarvest;
private bool m_PlaceAtFeetIfFull;
private SkillName m_Skill;
private int[] m_EffectActions;
private int[] m_EffectCounts;
private int[] m_EffectSounds;
private TimeSpan m_EffectSoundDelay;
private TimeSpan m_EffectDelay;
private object m_NoResourcesMessage, m_OutOfRangeMessage, m_TimedOutOfRangeMessage, m_DoubleHarvestMessage, m_FailMessage, m_PackFullMessage, m_ToolBrokeMessage;
private HarvestResource[] m_Resources;
private HarvestVein[] m_Veins;
private BonusHarvestResource[] m_BonusResources;
private bool m_RaceBonus;
private bool m_RandomizeVeins;
public int BankWidth { get; set; }
public int BankWidth{ get => m_BankWidth;
set => m_BankWidth = value;
}
public int BankHeight{ get => m_BankHeight;
set => m_BankHeight = value;
}
public int MinTotal{ get => m_MinTotal;
set => m_MinTotal = value;
}
public int MaxTotal{ get => m_MaxTotal;
set => m_MaxTotal = value;
}
public int[] Tiles{ get => m_Tiles;
set => m_Tiles = value;
}
public bool RangedTiles{ get => m_RangedTiles;
set => m_RangedTiles = value;
}
public TimeSpan MinRespawn{ get => m_MinRespawn;
set => m_MinRespawn = value;
}
public TimeSpan MaxRespawn{ get => m_MaxRespawn;
set => m_MaxRespawn = value;
}
public int MaxRange{ get => m_MaxRange;
set => m_MaxRange = value;
}
public int ConsumedPerHarvest{ get => m_ConsumedPerHarvest;
set => m_ConsumedPerHarvest = value;
}
public int ConsumedPerFeluccaHarvest{ get => m_ConsumedPerFeluccaHarvest;
set => m_ConsumedPerFeluccaHarvest = value;
}
public bool PlaceAtFeetIfFull{ get => m_PlaceAtFeetIfFull;
set => m_PlaceAtFeetIfFull = value;
}
public SkillName Skill{ get => m_Skill;
set => m_Skill = value;
}
public int[] EffectActions{ get => m_EffectActions;
set => m_EffectActions = value;
}
public int[] EffectCounts{ get => m_EffectCounts;
set => m_EffectCounts = value;
}
public int[] EffectSounds{ get => m_EffectSounds;
set => m_EffectSounds = value;
}
public TimeSpan EffectSoundDelay{ get => m_EffectSoundDelay;
set => m_EffectSoundDelay = value;
}
public TimeSpan EffectDelay{ get => m_EffectDelay;
set => m_EffectDelay = value;
}
public object NoResourcesMessage{ get => m_NoResourcesMessage;
set => m_NoResourcesMessage = value;
}
public object OutOfRangeMessage{ get => m_OutOfRangeMessage;
set => m_OutOfRangeMessage = value;
}
public object TimedOutOfRangeMessage{ get => m_TimedOutOfRangeMessage;
set => m_TimedOutOfRangeMessage = value;
}
public object DoubleHarvestMessage{ get => m_DoubleHarvestMessage;
set => m_DoubleHarvestMessage = value;
}
public object FailMessage{ get => m_FailMessage;
set => m_FailMessage = value;
}
public object PackFullMessage{ get => m_PackFullMessage;
set => m_PackFullMessage = value;
}
public object ToolBrokeMessage{ get => m_ToolBrokeMessage;
set => m_ToolBrokeMessage = value;
}
public HarvestResource[] Resources{ get => m_Resources;
set => m_Resources = value;
}
public HarvestVein[] Veins{ get => m_Veins;
set => m_Veins = value;
}
public BonusHarvestResource[] BonusResources{ get => m_BonusResources;
set => m_BonusResources = value;
}
public bool RaceBonus { get => m_RaceBonus;
set => m_RaceBonus = value;
}
public bool RandomizeVeins { get => m_RandomizeVeins;
set => m_RandomizeVeins = value;
}
public int BankHeight { get; set; }
private Dictionary<Map, Dictionary<Point2D, HarvestBank>> m_BanksByMap;
public int MinTotal { get; set; }
public Dictionary<Map, Dictionary<Point2D, HarvestBank>> Banks{ get => m_BanksByMap;
set => m_BanksByMap = value;
}
public int MaxTotal { get; set; }
public int[] Tiles { get; set; }
public bool RangedTiles { get; set; }
public TimeSpan MinRespawn { get; set; }
public TimeSpan MaxRespawn { get; set; }
public int MaxRange { get; set; }
public int ConsumedPerHarvest { get; set; }
public int ConsumedPerFeluccaHarvest { get; set; }
public bool PlaceAtFeetIfFull { get; set; }
public SkillName Skill { get; set; }
public int[] EffectActions { get; set; }
public int[] EffectCounts { get; set; }
public int[] EffectSounds { get; set; }
public TimeSpan EffectSoundDelay { get; set; }
public TimeSpan EffectDelay { get; set; }
public object NoResourcesMessage { get; set; }
public object OutOfRangeMessage { get; set; }
public object TimedOutOfRangeMessage { get; set; }
public object DoubleHarvestMessage { get; set; }
public object FailMessage { get; set; }
public object PackFullMessage { get; set; }
public object ToolBrokeMessage { get; set; }
public HarvestResource[] Resources { get; set; }
public HarvestVein[] Veins { get; set; }
public BonusHarvestResource[] BonusResources { get; set; }
public bool RaceBonus { get; set; }
public bool RandomizeVeins { get; set; }
public Dictionary<Map, Dictionary<Point2D, HarvestBank>> Banks { get; set; }
public void SendMessageTo( Mobile from, object message )
{
@ -136,13 +80,13 @@ namespace Server.Engines.Harvest
if ( map == null || map == Map.Internal )
return null;
x /= m_BankWidth;
y /= m_BankHeight;
x /= BankWidth;
y /= BankHeight;
m_BanksByMap.TryGetValue( map, out Dictionary<Point2D, HarvestBank> banks );
Banks.TryGetValue( map, out Dictionary<Point2D, HarvestBank> banks );
if ( banks == null )
m_BanksByMap[map] = banks = new Dictionary<Point2D, HarvestBank>();
Banks[map] = banks = new Dictionary<Point2D, HarvestBank>();
Point2D key = new Point2D( x, y );
banks.TryGetValue( key, out HarvestBank bank );
@ -155,12 +99,12 @@ namespace Server.Engines.Harvest
public HarvestVein GetVeinAt( Map map, int x, int y )
{
if ( m_Veins.Length == 1 )
return m_Veins[0];
if ( Veins.Length == 1 )
return Veins[0];
double randomValue;
if ( m_RandomizeVeins )
if ( RandomizeVeins )
{
randomValue = Utility.RandomDouble();
}
@ -175,17 +119,17 @@ namespace Server.Engines.Harvest
public HarvestVein GetVeinFrom( double randomValue )
{
if ( m_Veins.Length == 1 )
return m_Veins[0];
if ( Veins.Length == 1 )
return Veins[0];
randomValue *= 100;
for ( int i = 0; i < m_Veins.Length; ++i )
for ( int i = 0; i < Veins.Length; ++i )
{
if ( randomValue <= m_Veins[i].VeinChance )
return m_Veins[i];
if ( randomValue <= Veins[i].VeinChance )
return Veins[i];
randomValue -= m_Veins[i].VeinChance;
randomValue -= Veins[i].VeinChance;
}
return null;
@ -193,17 +137,17 @@ namespace Server.Engines.Harvest
public BonusHarvestResource GetBonusResource()
{
if ( m_BonusResources == null )
if ( BonusResources == null )
return null;
double randomValue = Utility.RandomDouble() * 100;
for ( int i = 0; i < m_BonusResources.Length; ++i )
for ( int i = 0; i < BonusResources.Length; ++i )
{
if ( randomValue <= m_BonusResources[i].Chance )
return m_BonusResources[i];
if ( randomValue <= BonusResources[i].Chance )
return BonusResources[i];
randomValue -= m_BonusResources[i].Chance;
randomValue -= BonusResources[i].Chance;
}
return null;
@ -211,25 +155,25 @@ namespace Server.Engines.Harvest
public HarvestDefinition()
{
m_BanksByMap = new Dictionary<Map, Dictionary<Point2D, HarvestBank>>();
Banks = new Dictionary<Map, Dictionary<Point2D, HarvestBank>>();
}
public bool Validate( int tileID )
{
if ( m_RangedTiles )
if ( RangedTiles )
{
bool contains = false;
for ( int i = 0; !contains && i < m_Tiles.Length; i += 2 )
contains = ( tileID >= m_Tiles[i] && tileID <= m_Tiles[i + 1] );
for ( int i = 0; !contains && i < Tiles.Length; i += 2 )
contains = ( tileID >= Tiles[i] && tileID <= Tiles[i + 1] );
return contains;
}
int dist = -1;
for ( int i = 0; dist < 0 && i < m_Tiles.Length; ++i )
dist = ( m_Tiles[i] - tileID );
for ( int i = 0; dist < 0 && i < Tiles.Length; ++i )
dist = ( Tiles[i] - tileID );
return ( dist == 0 );
}

View file

@ -4,39 +4,31 @@ namespace Server.Engines.Harvest
{
public class HarvestResource
{
private Type[] m_Types;
private double m_ReqSkill, m_MinSkill, m_MaxSkill;
private object m_SuccessMessage;
public Type[] Types { get; set; }
public Type[] Types{ get => m_Types;
set => m_Types = value;
}
public double ReqSkill{ get => m_ReqSkill;
set => m_ReqSkill = value;
}
public double MinSkill{ get => m_MinSkill;
set => m_MinSkill = value;
}
public double MaxSkill{ get => m_MaxSkill;
set => m_MaxSkill = value;
}
public object SuccessMessage => m_SuccessMessage;
public double ReqSkill { get; set; }
public double MinSkill { get; set; }
public double MaxSkill { get; set; }
public object SuccessMessage { get; }
public void SendSuccessTo( Mobile m )
{
if ( m_SuccessMessage is int messageInt )
if ( SuccessMessage is int messageInt )
m.SendLocalizedMessage( messageInt );
else
m.SendMessage( m_SuccessMessage.ToString() );
m.SendMessage( SuccessMessage.ToString() );
}
public HarvestResource( double reqSkill, double minSkill, double maxSkill, object message, params Type[] types )
{
m_ReqSkill = reqSkill;
m_MinSkill = minSkill;
m_MaxSkill = maxSkill;
m_Types = types;
m_SuccessMessage = message;
ReqSkill = reqSkill;
MinSkill = minSkill;
MaxSkill = maxSkill;
Types = types;
SuccessMessage = message;
}
}
}

View file

@ -7,13 +7,11 @@ namespace Server.Engines.Harvest
{
public abstract class HarvestSystem
{
private List<HarvestDefinition> m_Definitions;
public List<HarvestDefinition> Definitions => m_Definitions;
public List<HarvestDefinition> Definitions { get; }
public HarvestSystem()
{
m_Definitions = new List<HarvestDefinition>();
Definitions = new List<HarvestDefinition>();
}
public virtual bool CheckTool( Mobile from, Item tool )
@ -390,9 +388,9 @@ namespace Server.Engines.Harvest
{
HarvestDefinition def = null;
for ( int i = 0; def == null && i < m_Definitions.Count; ++i )
for ( int i = 0; def == null && i < Definitions.Count; ++i )
{
HarvestDefinition check = m_Definitions[i];
HarvestDefinition check = Definitions[i];
if ( check.Validate( tileID ) )
def = check;

View file

@ -2,30 +2,20 @@ namespace Server.Engines.Harvest
{
public class HarvestVein
{
private double m_VeinChance;
private double m_ChanceToFallback;
private HarvestResource m_PrimaryResource;
private HarvestResource m_FallbackResource;
public double VeinChance { get; set; }
public double VeinChance{ get => m_VeinChance;
set => m_VeinChance = value;
}
public double ChanceToFallback{ get => m_ChanceToFallback;
set => m_ChanceToFallback = value;
}
public HarvestResource PrimaryResource{ get => m_PrimaryResource;
set => m_PrimaryResource = value;
}
public HarvestResource FallbackResource{ get => m_FallbackResource;
set => m_FallbackResource = value;
}
public double ChanceToFallback { get; set; }
public HarvestResource PrimaryResource { get; set; }
public HarvestResource FallbackResource { get; set; }
public HarvestVein( double veinChance, double chanceToFallback, HarvestResource primaryResource, HarvestResource fallbackResource )
{
m_VeinChance = veinChance;
m_ChanceToFallback = chanceToFallback;
m_PrimaryResource = primaryResource;
m_FallbackResource = fallbackResource;
VeinChance = veinChance;
ChanceToFallback = chanceToFallback;
PrimaryResource = primaryResource;
FallbackResource = fallbackResource;
}
}
}

View file

@ -23,9 +23,7 @@ namespace Server.Engines.Harvest
}
}
private HarvestDefinition m_Definition;
public HarvestDefinition Definition => m_Definition;
public HarvestDefinition Definition { get; }
private Fishing()
{
@ -97,7 +95,7 @@ namespace Server.Engines.Harvest
};
}
m_Definition = fish;
Definition = fish;
Definitions.Add( fish );
#endregion
}

View file

@ -19,9 +19,7 @@ namespace Server.Engines.Harvest
}
}
private HarvestDefinition m_Definition;
public HarvestDefinition Definition => m_Definition;
public HarvestDefinition Definition { get; }
private Lumberjacking()
{
@ -123,7 +121,7 @@ namespace Server.Engines.Harvest
lumber.RaceBonus = Core.ML;
lumber.RandomizeVeins = Core.ML;
m_Definition = lumber;
Definition = lumber;
Definitions.Add( lumber );
#endregion
}

View file

@ -20,11 +20,9 @@ namespace Server.Engines.Harvest
}
}
private HarvestDefinition m_OreAndStone, m_Sand;
public HarvestDefinition OreAndStone { get; }
public HarvestDefinition OreAndStone => m_OreAndStone;
public HarvestDefinition Sand => m_Sand;
public HarvestDefinition Sand { get; }
private Mining()
{
@ -32,7 +30,7 @@ namespace Server.Engines.Harvest
HarvestVein[] veins;
#region Mining for ore and stone
HarvestDefinition oreAndStone = m_OreAndStone = new HarvestDefinition();
HarvestDefinition oreAndStone = OreAndStone = new HarvestDefinition();
// Resource banks are every 8x8 tiles
oreAndStone.BankWidth = 8;
@ -124,7 +122,7 @@ namespace Server.Engines.Harvest
#endregion
#region Mining for sand
HarvestDefinition sand = m_Sand = new HarvestDefinition();
HarvestDefinition sand = Sand = new HarvestDefinition();
// Resource banks are every 8x8 tiles
sand.BankWidth = 8;
@ -185,7 +183,7 @@ namespace Server.Engines.Harvest
public override Type GetResourceType( Mobile from, Item tool, HarvestDefinition def, Map map, Point3D loc, HarvestResource resource )
{
if ( def == m_OreAndStone )
if ( def == OreAndStone )
{
if ( from is PlayerMobile pm && pm.StoneMining && pm.ToggleMiningStone && from.Skills[SkillName.Mining].Base >= 100.0 && 0.1 > Utility.RandomDouble() )
return resource.Types[1];
@ -229,7 +227,7 @@ namespace Server.Engines.Harvest
if ( !base.CheckHarvest( from, tool, def, toHarvest ) )
return false;
if ( def == m_Sand && !(from is PlayerMobile mobile && mobile.Skills[SkillName.Mining].Base >= 100.0 && mobile.SandMining) )
if ( def == Sand && !(from is PlayerMobile mobile && mobile.Skills[SkillName.Mining].Base >= 100.0 && mobile.SandMining) )
{
OnBadHarvestTarget( from, tool, toHarvest );
return false;
@ -250,7 +248,7 @@ namespace Server.Engines.Harvest
public override HarvestVein MutateVein( Mobile from, Item tool, HarvestDefinition def, HarvestBank bank, object toHarvest, HarvestVein vein )
{
if ( tool is GargoylesPickaxe && def == m_OreAndStone )
if ( tool is GargoylesPickaxe && def == OreAndStone )
{
int veinIndex = Array.IndexOf( def.Veins, vein );
@ -274,7 +272,7 @@ namespace Server.Engines.Harvest
public override void OnHarvestFinished( Mobile from, Item tool, HarvestDefinition def, HarvestVein vein, HarvestBank bank, HarvestResource resource, object harvested )
{
if ( tool is GargoylesPickaxe && def == m_OreAndStone && 0.1 > Utility.RandomDouble() )
if ( tool is GargoylesPickaxe && def == OreAndStone && 0.1 > Utility.RandomDouble() )
{
HarvestResource res = vein.PrimaryResource;