diff --git a/Projects/UOContent/Items/Skill Items/Lumberjack/Log.cs b/Projects/UOContent/Items/Skill Items/Lumberjack/Log.cs index 5b372abd5..2873957d5 100644 --- a/Projects/UOContent/Items/Skill Items/Lumberjack/Log.cs +++ b/Projects/UOContent/Items/Skill Items/Lumberjack/Log.cs @@ -20,13 +20,14 @@ public partial class Log : Item, ICommodity, IAxe public Log(CraftResource resource, int amount) : base(0x1BDD) { Stackable = true; - Weight = 2.0; Amount = amount; _resource = resource; Hue = CraftResources.GetHue(resource); } + public override double DefaultWeight => 2.0; + [SerializableProperty(0)] [CommandProperty(AccessLevel.GameMaster)] public CraftResource Resource diff --git a/Projects/UOContent/Items/Skill Items/Magical/Misc/BlankScroll.cs b/Projects/UOContent/Items/Skill Items/Magical/Misc/BlankScroll.cs index f5e0117cb..7f5876308 100644 --- a/Projects/UOContent/Items/Skill Items/Magical/Misc/BlankScroll.cs +++ b/Projects/UOContent/Items/Skill Items/Magical/Misc/BlankScroll.cs @@ -9,10 +9,11 @@ public partial class BlankScroll : Item, ICommodity public BlankScroll(int amount = 1) : base(0xEF3) { Stackable = true; - Weight = 1.0; Amount = amount; } + public override double DefaultWeight => 1.0; + int ICommodity.DescriptionNumber => LabelNumber; bool ICommodity.IsDeedable => Core.ML; } diff --git a/Projects/UOContent/Items/Skill Items/Magical/Misc/Bottle.cs b/Projects/UOContent/Items/Skill Items/Magical/Misc/Bottle.cs index 7a7ccbd30..d12dc873b 100644 --- a/Projects/UOContent/Items/Skill Items/Magical/Misc/Bottle.cs +++ b/Projects/UOContent/Items/Skill Items/Magical/Misc/Bottle.cs @@ -9,10 +9,11 @@ public partial class Bottle : Item, ICommodity public Bottle(int amount = 1) : base(0xF0E) { Stackable = true; - Weight = 1.0; Amount = amount; } + public override double DefaultWeight => 1.0; + int ICommodity.DescriptionNumber => LabelNumber; bool ICommodity.IsDeedable => Core.ML; } diff --git a/Projects/UOContent/Items/Skill Items/Magical/Misc/PotionKeg.cs b/Projects/UOContent/Items/Skill Items/Magical/Misc/PotionKeg.cs index 1a6239322..221984a5f 100644 --- a/Projects/UOContent/Items/Skill Items/Magical/Misc/PotionKeg.cs +++ b/Projects/UOContent/Items/Skill Items/Magical/Misc/PotionKeg.cs @@ -16,7 +16,11 @@ public partial class PotionKeg : Item private PotionEffect _type; [Constructible] - public PotionKeg() : base(0x1940) => UpdateWeight(); + public PotionKeg() : base(0x1940) + { + } + + public override double DefaultWeight => 20 + Math.Clamp(_held, 0, 100) * 0.8; [SerializableProperty(1)] [CommandProperty(AccessLevel.GameMaster)] @@ -28,7 +32,6 @@ public partial class PotionKeg : Item if (_held != value) { _held = value; - UpdateWeight(); InvalidateProperties(); this.MarkDirty(); } @@ -48,13 +51,6 @@ public partial class PotionKeg : Item } } - public virtual void UpdateWeight() - { - var held = Math.Max(0, Math.Min(_held, 100)); - - Weight = 20 + held * 80 / 100; - } - private void Deserialize(IGenericReader reader, int version) { _type = (PotionEffect)reader.ReadInt(); diff --git a/Projects/UOContent/Items/Skill Items/Magical/Misc/RecallRune.cs b/Projects/UOContent/Items/Skill Items/Magical/Misc/RecallRune.cs index d33d5ce7a..68b6f324a 100644 --- a/Projects/UOContent/Items/Skill Items/Magical/Misc/RecallRune.cs +++ b/Projects/UOContent/Items/Skill Items/Magical/Misc/RecallRune.cs @@ -21,10 +21,11 @@ public partial class RecallRune : Item [Constructible] public RecallRune() : base(0x1F14) { - Weight = 1.0; CalculateHue(); } + public override double DefaultWeight => 1.0; + [SerializableProperty(0)] [CommandProperty(AccessLevel.Counselor, AccessLevel.GameMaster)] public BaseHouse House diff --git a/Projects/UOContent/Items/Skill Items/Magical/Potions/BasePotion.cs b/Projects/UOContent/Items/Skill Items/Magical/Potions/BasePotion.cs index 4c62b3771..ea39645a7 100644 --- a/Projects/UOContent/Items/Skill Items/Magical/Potions/BasePotion.cs +++ b/Projects/UOContent/Items/Skill Items/Magical/Potions/BasePotion.cs @@ -50,9 +50,10 @@ public abstract partial class BasePotion : Item, ICraftable, ICommodity _potionEffect = effect; Stackable = Core.ML; - Weight = 1.0; } + public override double DefaultWeight => 1.0; + public override int LabelNumber => 1041314 + (int)_potionEffect; public virtual bool RequireFreeHand => true; diff --git a/Projects/UOContent/Items/Skill Items/Magical/Runebook.cs b/Projects/UOContent/Items/Skill Items/Magical/Runebook.cs index a56389a03..0a5a0f308 100644 --- a/Projects/UOContent/Items/Skill Items/Magical/Runebook.cs +++ b/Projects/UOContent/Items/Skill Items/Magical/Runebook.cs @@ -60,7 +60,6 @@ public partial class Runebook : Item, ISecurable, ICraftable [Constructible] public Runebook(int maxCharges) : base(Core.AOS ? 0x22C5 : 0xEFA) { - Weight = Core.SE ? 1.0 : 3.0; LootType = LootType.Blessed; Hue = 0x461; @@ -72,6 +71,8 @@ public partial class Runebook : Item, ISecurable, ICraftable _level = SecureLevel.CoOwners; } + public override double DefaultWeight => Core.SE ? 1.0 : 3.0; + [CommandProperty(AccessLevel.GameMaster)] public DateTime NextUse { get; set; } diff --git a/Projects/UOContent/Items/Skill Items/Magical/Scrolls/SpellScroll.cs b/Projects/UOContent/Items/Skill Items/Magical/Scrolls/SpellScroll.cs index 097a0a22d..818864edd 100644 --- a/Projects/UOContent/Items/Skill Items/Magical/Scrolls/SpellScroll.cs +++ b/Projects/UOContent/Items/Skill Items/Magical/Scrolls/SpellScroll.cs @@ -16,12 +16,13 @@ public partial class SpellScroll : Item, ICommodity public SpellScroll(int spellID, int itemID, int amount = 1) : base(itemID) { Stackable = true; - Weight = 1.0; Amount = amount; _spellID = spellID; } + public override double DefaultWeight => 1.0; + int ICommodity.DescriptionNumber => LabelNumber; bool ICommodity.IsDeedable => Core.ML; diff --git a/Projects/UOContent/Items/Skill Items/Magical/Spellbook.cs b/Projects/UOContent/Items/Skill Items/Magical/Spellbook.cs index 901a9d82e..f96a8980e 100644 --- a/Projects/UOContent/Items/Skill Items/Magical/Spellbook.cs +++ b/Projects/UOContent/Items/Skill Items/Magical/Spellbook.cs @@ -116,7 +116,6 @@ public partial class Spellbook : Item, ICraftable, ISlayer, IAosItem _attributes = new AosAttributes(this); _skillBonuses = new AosSkillBonuses(this); - Weight = 3.0; Layer = Layer.OneHanded; LootType = LootType.Blessed; @@ -124,6 +123,8 @@ public partial class Spellbook : Item, ICraftable, ISlayer, IAosItem Content = content; } + public override double DefaultWeight => 3.0; + public override bool DisplayWeight => false; public virtual SpellbookType SpellbookType => SpellbookType.Regular; diff --git a/Projects/UOContent/Items/Skill Items/Misc/FireHorn.cs b/Projects/UOContent/Items/Skill Items/Misc/FireHorn.cs index 68d293405..b2c6f0c6e 100644 --- a/Projects/UOContent/Items/Skill Items/Misc/FireHorn.cs +++ b/Projects/UOContent/Items/Skill Items/Misc/FireHorn.cs @@ -10,11 +10,9 @@ namespace Server.Items; public partial class FireHorn : Item { [Constructible] - public FireHorn() : base(0xFC7) - { - Hue = 0x466; - Weight = 1.0; - } + public FireHorn() : base(0xFC7) => Hue = 0x466; + + public override double DefaultWeight => 1.0; public override int LabelNumber => 1060456; // fire horn diff --git a/Projects/UOContent/Items/Skill Items/Ninjitsu/EggBomb.cs b/Projects/UOContent/Items/Skill Items/Ninjitsu/EggBomb.cs index d766555bb..31170713b 100644 --- a/Projects/UOContent/Items/Skill Items/Ninjitsu/EggBomb.cs +++ b/Projects/UOContent/Items/Skill Items/Ninjitsu/EggBomb.cs @@ -11,9 +11,10 @@ public partial class EggBomb : Item { // Item ID should be 0x2809 - Temporary solution for clients 7.0.0.0 and up Stackable = Core.ML; - Weight = 1.0; } + public override double DefaultWeight => 1.0; + public override int LabelNumber => 1030249; public override void OnDoubleClick(Mobile from) diff --git a/Projects/UOContent/Items/Skill Items/Ninjitsu/Fukiya.cs b/Projects/UOContent/Items/Skill Items/Ninjitsu/Fukiya.cs index 6b80d40da..5cd7270ff 100644 --- a/Projects/UOContent/Items/Skill Items/Ninjitsu/Fukiya.cs +++ b/Projects/UOContent/Items/Skill Items/Ninjitsu/Fukiya.cs @@ -26,11 +26,9 @@ public partial class Fukiya : Item, INinjaWeapon private int _poisonCharges; [Constructible] - public Fukiya() : base(0x27AA) - { - Weight = 4.0; - Layer = Layer.OneHanded; - } + public Fukiya() : base(0x27AA) => Layer = Layer.OneHanded; + + public override double DefaultWeight => 1.0; public virtual int WrongAmmoMessage => 1063329; // You can only load fukiya darts public virtual int NoFreeHandMessage => 1063327; // You must have a free hand to use a fukiya. diff --git a/Projects/UOContent/Items/Skill Items/Ninjitsu/FukiyaDarts.cs b/Projects/UOContent/Items/Skill Items/Ninjitsu/FukiyaDarts.cs index 82a7950ee..ad5158eff 100644 --- a/Projects/UOContent/Items/Skill Items/Ninjitsu/FukiyaDarts.cs +++ b/Projects/UOContent/Items/Skill Items/Ninjitsu/FukiyaDarts.cs @@ -23,15 +23,9 @@ public partial class FukiyaDarts : Item, ICraftable, INinjaAmmo private int _poisonCharges; [Constructible] - public FukiyaDarts(int amount = 1) : base(0x2806) - { - Weight = 1.0; - _usesRemaining = amount; - } + public FukiyaDarts(int amount = 1) : base(0x2806) => _usesRemaining = amount; - public FukiyaDarts(Serial serial) : base(serial) - { - } + public override double DefaultWeight => 1.0; public int OnCraft( int quality, bool makersMark, Mobile from, CraftSystem craftSystem, Type typeRes, BaseTool tool, diff --git a/Projects/UOContent/Items/Skill Items/Ninjitsu/LeatherNinjaBelt.cs b/Projects/UOContent/Items/Skill Items/Ninjitsu/LeatherNinjaBelt.cs index a62d7ad51..7cfd9ef05 100644 --- a/Projects/UOContent/Items/Skill Items/Ninjitsu/LeatherNinjaBelt.cs +++ b/Projects/UOContent/Items/Skill Items/Ninjitsu/LeatherNinjaBelt.cs @@ -26,11 +26,9 @@ public partial class LeatherNinjaBelt : BaseWaist, INinjaWeapon private int _poisonCharges; [Constructible] - public LeatherNinjaBelt() : base(0x2790) - { - Weight = 1.0; - Layer = Layer.Waist; - } + public LeatherNinjaBelt() : base(0x2790) => Layer = Layer.Waist; + + public override double DefaultWeight => 1.0; public override CraftResource DefaultResource => CraftResource.RegularLeather; diff --git a/Projects/UOContent/Items/Skill Items/Ninjitsu/Shuriken.cs b/Projects/UOContent/Items/Skill Items/Ninjitsu/Shuriken.cs index 7739d03d8..82bfc59e9 100644 --- a/Projects/UOContent/Items/Skill Items/Ninjitsu/Shuriken.cs +++ b/Projects/UOContent/Items/Skill Items/Ninjitsu/Shuriken.cs @@ -24,11 +24,9 @@ public partial class Shuriken : Item, ICraftable, INinjaAmmo private int _poisonCharges; [Constructible] - public Shuriken(int amount = 1) : base(0x27AC) - { - Weight = 1.0; - _usesRemaining = amount; - } + public Shuriken(int amount = 1) : base(0x27AC) => _usesRemaining = amount; + + public override double DefaultWeight => 1.0; public int OnCraft( int quality, bool makersMark, Mobile from, CraftSystem craftSystem, Type typeRes, BaseTool tool, diff --git a/Projects/UOContent/Items/Skill Items/Ninjitsu/SmokeBomb.cs b/Projects/UOContent/Items/Skill Items/Ninjitsu/SmokeBomb.cs index 7ea8c07bc..d2adb24a1 100644 --- a/Projects/UOContent/Items/Skill Items/Ninjitsu/SmokeBomb.cs +++ b/Projects/UOContent/Items/Skill Items/Ninjitsu/SmokeBomb.cs @@ -7,11 +7,9 @@ namespace Server.Items; public partial class SmokeBomb : Item { [Constructible] - public SmokeBomb() : base(0x2808) - { - Stackable = Core.ML; - Weight = 1.0; - } + public SmokeBomb() : base(0x2808) => Stackable = Core.ML; + + public override double DefaultWeight => 1.0; public override void OnDoubleClick(Mobile from) { diff --git a/Projects/UOContent/Items/Skill Items/Specialized/Sand.cs b/Projects/UOContent/Items/Skill Items/Specialized/Sand.cs index 5824f8bb3..f8983ef69 100644 --- a/Projects/UOContent/Items/Skill Items/Specialized/Sand.cs +++ b/Projects/UOContent/Items/Skill Items/Specialized/Sand.cs @@ -7,11 +7,9 @@ namespace Server.Items; public partial class Sand : Item, ICommodity { [Constructible] - public Sand(int amount = 1) : base(0x11EA) - { - Stackable = Core.ML; - Weight = 1.0; - } + public Sand(int amount = 1) : base(0x11EA) => Stackable = Core.ML; + + public override double DefaultWeight => 1.0; public override int LabelNumber => 1044626; // sand int ICommodity.DescriptionNumber => LabelNumber; diff --git a/Projects/UOContent/Items/Skill Items/Tailor Items/Dyetubs/DyeTub.cs b/Projects/UOContent/Items/Skill Items/Tailor Items/Dyetubs/DyeTub.cs index 6ee0aa0cf..6b557b7be 100644 --- a/Projects/UOContent/Items/Skill Items/Tailor Items/Dyetubs/DyeTub.cs +++ b/Projects/UOContent/Items/Skill Items/Tailor Items/Dyetubs/DyeTub.cs @@ -25,11 +25,9 @@ namespace Server.Items private bool _redyable; [Constructible] - public DyeTub() : base(0xFAB) - { - Weight = 10.0; - _redyable = true; - } + public DyeTub() : base(0xFAB) => _redyable = true; + + public override double DefaultWeight => 10.0; public virtual CustomHuePicker CustomHuePicker => null; diff --git a/Projects/UOContent/Items/Skill Items/Tinkering/Axle.cs b/Projects/UOContent/Items/Skill Items/Tinkering/Axle.cs index 0f9a592ea..44f0914b0 100644 --- a/Projects/UOContent/Items/Skill Items/Tinkering/Axle.cs +++ b/Projects/UOContent/Items/Skill Items/Tinkering/Axle.cs @@ -11,6 +11,7 @@ public partial class Axle : Item { Stackable = true; Amount = amount; - Weight = 1.0; } + + public override double DefaultWeight => 1.0; } diff --git a/Projects/UOContent/Items/Skill Items/Tinkering/AxleGears.cs b/Projects/UOContent/Items/Skill Items/Tinkering/AxleGears.cs index 113c1392f..0e303c76e 100644 --- a/Projects/UOContent/Items/Skill Items/Tinkering/AxleGears.cs +++ b/Projects/UOContent/Items/Skill Items/Tinkering/AxleGears.cs @@ -11,6 +11,7 @@ public partial class AxleGears : Item { Stackable = true; Amount = amount; - Weight = 1.0; } + + public override double DefaultWeight => 1.0; } diff --git a/Projects/UOContent/Items/Skill Items/Tinkering/ClockFrame.cs b/Projects/UOContent/Items/Skill Items/Tinkering/ClockFrame.cs index df30cab2c..544ca7797 100644 --- a/Projects/UOContent/Items/Skill Items/Tinkering/ClockFrame.cs +++ b/Projects/UOContent/Items/Skill Items/Tinkering/ClockFrame.cs @@ -11,6 +11,7 @@ public partial class ClockFrame : Item { Stackable = true; Amount = amount; - Weight = 2.0; } + + public override double DefaultWeight => 2.0; } diff --git a/Projects/UOContent/Items/Skill Items/Tinkering/ClockParts.cs b/Projects/UOContent/Items/Skill Items/Tinkering/ClockParts.cs index 68f0dde40..f53f098e7 100644 --- a/Projects/UOContent/Items/Skill Items/Tinkering/ClockParts.cs +++ b/Projects/UOContent/Items/Skill Items/Tinkering/ClockParts.cs @@ -11,6 +11,7 @@ public partial class ClockParts : Item { Stackable = true; Amount = amount; - Weight = 1.0; } + + public override double DefaultWeight => 1.0; } diff --git a/Projects/UOContent/Items/Skill Items/Tinkering/Gears.cs b/Projects/UOContent/Items/Skill Items/Tinkering/Gears.cs index d4c382740..3468477ed 100644 --- a/Projects/UOContent/Items/Skill Items/Tinkering/Gears.cs +++ b/Projects/UOContent/Items/Skill Items/Tinkering/Gears.cs @@ -11,6 +11,7 @@ public partial class Gears : Item { Stackable = true; Amount = amount; - Weight = 1.0; } + + public override double DefaultWeight => 1.0; } diff --git a/Projects/UOContent/Items/Skill Items/Tinkering/Hinge.cs b/Projects/UOContent/Items/Skill Items/Tinkering/Hinge.cs index b602afa32..3045bd73b 100644 --- a/Projects/UOContent/Items/Skill Items/Tinkering/Hinge.cs +++ b/Projects/UOContent/Items/Skill Items/Tinkering/Hinge.cs @@ -11,6 +11,7 @@ public partial class Hinge : Item { Stackable = true; Amount = amount; - Weight = 1.0; } + + public override double DefaultWeight => 1.0; } diff --git a/Projects/UOContent/Items/Skill Items/Tinkering/SextantParts.cs b/Projects/UOContent/Items/Skill Items/Tinkering/SextantParts.cs index 069ced6ff..316ba1a9d 100644 --- a/Projects/UOContent/Items/Skill Items/Tinkering/SextantParts.cs +++ b/Projects/UOContent/Items/Skill Items/Tinkering/SextantParts.cs @@ -11,6 +11,7 @@ public partial class SextantParts : Item { Stackable = true; Amount = amount; - Weight = 2.0; } + + public override double DefaultWeight => 2.0; } diff --git a/Projects/UOContent/Items/Skill Items/Tinkering/Springs.cs b/Projects/UOContent/Items/Skill Items/Tinkering/Springs.cs index 451706d78..92179ccf4 100644 --- a/Projects/UOContent/Items/Skill Items/Tinkering/Springs.cs +++ b/Projects/UOContent/Items/Skill Items/Tinkering/Springs.cs @@ -11,6 +11,7 @@ public partial class Springs : Item { Stackable = true; Amount = amount; - Weight = 1.0; } + + public override double DefaultWeight => 1.0; } diff --git a/Projects/UOContent/Items/Skill Items/Tools/Blowpipe.cs b/Projects/UOContent/Items/Skill Items/Tools/Blowpipe.cs index 7107ffbaf..ddba32852 100644 --- a/Projects/UOContent/Items/Skill Items/Tools/Blowpipe.cs +++ b/Projects/UOContent/Items/Skill Items/Tools/Blowpipe.cs @@ -8,18 +8,12 @@ namespace Server.Items; public partial class Blowpipe : BaseTool { [Constructible] - public Blowpipe() : base(0xE8A) - { - Weight = 4.0; - Hue = 0x3B9; - } + public Blowpipe() : base(0xE8A) => Hue = 0x3B9; [Constructible] - public Blowpipe(int uses) : base(uses, 0xE8A) - { - Weight = 4.0; - Hue = 0x3B9; - } + public Blowpipe(int uses) : base(uses, 0xE8A) => Hue = 0x3B9; + + public override double DefaultWeight => 4.0; public override CraftSystem CraftSystem => DefGlassblowing.CraftSystem; diff --git a/Projects/UOContent/Items/Skill Items/Tools/RunicDovetailSaw.cs b/Projects/UOContent/Items/Skill Items/Tools/RunicDovetailSaw.cs index 6cdb49049..0de55eaba 100644 --- a/Projects/UOContent/Items/Skill Items/Tools/RunicDovetailSaw.cs +++ b/Projects/UOContent/Items/Skill Items/Tools/RunicDovetailSaw.cs @@ -7,18 +7,12 @@ namespace Server.Items; public partial class RunicDovetailSaw : BaseRunicTool { [Constructible] - public RunicDovetailSaw(CraftResource resource) : base(resource, 0x1028) - { - Weight = 2.0; - Hue = CraftResources.GetHue(resource); - } + public RunicDovetailSaw(CraftResource resource) : base(resource, 0x1028) => Hue = CraftResources.GetHue(resource); [Constructible] - public RunicDovetailSaw(CraftResource resource, int uses) : base(resource, uses, 0x1028) - { - Weight = 2.0; - Hue = CraftResources.GetHue(resource); - } + public RunicDovetailSaw(CraftResource resource, int uses) : base(resource, uses, 0x1028) => Hue = CraftResources.GetHue(resource); + + public override double DefaultWeight => 2.0; public override CraftSystem CraftSystem => DefCarpentry.CraftSystem; diff --git a/Projects/UOContent/Items/Skill Items/Tools/RunicFletcherTool.cs b/Projects/UOContent/Items/Skill Items/Tools/RunicFletcherTool.cs index 595d4e10d..04045b4bb 100644 --- a/Projects/UOContent/Items/Skill Items/Tools/RunicFletcherTool.cs +++ b/Projects/UOContent/Items/Skill Items/Tools/RunicFletcherTool.cs @@ -7,18 +7,12 @@ namespace Server.Items; public partial class RunicFletcherTool : BaseRunicTool { [Constructible] - public RunicFletcherTool(CraftResource resource) : base(resource, 0x1022) - { - Weight = 2.0; - Hue = CraftResources.GetHue(resource); - } + public RunicFletcherTool(CraftResource resource) : base(resource, 0x1022) => Hue = CraftResources.GetHue(resource); [Constructible] - public RunicFletcherTool(CraftResource resource, int uses) : base(resource, uses, 0x1022) - { - Weight = 2.0; - Hue = CraftResources.GetHue(resource); - } + public RunicFletcherTool(CraftResource resource, int uses) : base(resource, uses, 0x1022) => Hue = CraftResources.GetHue(resource); + + public override double DefaultWeight => 2.0; public override CraftSystem CraftSystem => DefBowFletching.CraftSystem; diff --git a/Projects/UOContent/Items/Skill Items/Tools/RunicHammer.cs b/Projects/UOContent/Items/Skill Items/Tools/RunicHammer.cs index bb2581258..e2e569bee 100644 --- a/Projects/UOContent/Items/Skill Items/Tools/RunicHammer.cs +++ b/Projects/UOContent/Items/Skill Items/Tools/RunicHammer.cs @@ -10,7 +10,6 @@ public partial class RunicHammer : BaseRunicTool [Constructible] public RunicHammer(CraftResource resource) : base(resource, 0x13E3) { - Weight = 8.0; Layer = Layer.OneHanded; Hue = CraftResources.GetHue(resource); } @@ -18,11 +17,12 @@ public partial class RunicHammer : BaseRunicTool [Constructible] public RunicHammer(CraftResource resource, int uses) : base(resource, uses, 0x13E3) { - Weight = 8.0; Layer = Layer.OneHanded; Hue = CraftResources.GetHue(resource); } + public override double DefaultWeight => 8.0; + public override CraftSystem CraftSystem => DefBlacksmithy.CraftSystem; public override int LabelNumber diff --git a/Projects/UOContent/Items/Skill Items/Tools/RunicSewingKit.cs b/Projects/UOContent/Items/Skill Items/Tools/RunicSewingKit.cs index 42c9cbf0b..7cb39925c 100644 --- a/Projects/UOContent/Items/Skill Items/Tools/RunicSewingKit.cs +++ b/Projects/UOContent/Items/Skill Items/Tools/RunicSewingKit.cs @@ -7,18 +7,12 @@ namespace Server.Items; public partial class RunicSewingKit : BaseRunicTool { [Constructible] - public RunicSewingKit(CraftResource resource) : base(resource, 0xF9D) - { - Weight = 2.0; - Hue = CraftResources.GetHue(resource); - } + public RunicSewingKit(CraftResource resource) : base(resource, 0xF9D) => Hue = CraftResources.GetHue(resource); [Constructible] - public RunicSewingKit(CraftResource resource, int uses) : base(resource, uses, 0xF9D) - { - Weight = 2.0; - Hue = CraftResources.GetHue(resource); - } + public RunicSewingKit(CraftResource resource, int uses) : base(resource, uses, 0xF9D) => Hue = CraftResources.GetHue(resource); + + public override double DefaultWeight => 2.0; public override CraftSystem CraftSystem => DefTailoring.CraftSystem; diff --git a/Projects/UOContent/Items/Skill Items/Tools/SmithHammer.cs b/Projects/UOContent/Items/Skill Items/Tools/SmithHammer.cs index d068457c9..33d17eacc 100644 --- a/Projects/UOContent/Items/Skill Items/Tools/SmithHammer.cs +++ b/Projects/UOContent/Items/Skill Items/Tools/SmithHammer.cs @@ -8,18 +8,12 @@ namespace Server.Items; public partial class SmithHammer : BaseTool { [Constructible] - public SmithHammer() : base(0x13E3) - { - Weight = 8.0; - Layer = Layer.OneHanded; - } + public SmithHammer() : base(0x13E3) => Layer = Layer.OneHanded; [Constructible] - public SmithHammer(int uses) : base(uses, 0x13E3) - { - Weight = 8.0; - Layer = Layer.OneHanded; - } + public SmithHammer(int uses) : base(uses, 0x13E3) => Layer = Layer.OneHanded; + + public override double DefaultWeight => 8.0; public override CraftSystem CraftSystem => DefBlacksmithy.CraftSystem; } diff --git a/Projects/UOContent/Items/Special/8th Anniversary Items/Dawn's Music Box/DawnsMusicBox.cs b/Projects/UOContent/Items/Special/8th Anniversary Items/Dawn's Music Box/DawnsMusicBox.cs index f20097f7a..0874ff9c3 100644 --- a/Projects/UOContent/Items/Special/8th Anniversary Items/Dawn's Music Box/DawnsMusicBox.cs +++ b/Projects/UOContent/Items/Special/8th Anniversary Items/Dawn's Music Box/DawnsMusicBox.cs @@ -118,8 +118,6 @@ public partial class DawnsMusicBox : Item, ISecurable [Constructible] public DawnsMusicBox() : base(0x2AF9) { - Weight = 1.0; - var shuffledTracks = GetTracks(DawnsMusicRarity.Common); shuffledTracks.Shuffle(); @@ -132,6 +130,8 @@ public partial class DawnsMusicBox : Item, ISecurable ]; } + public override double DefaultWeight => 1.0; + public override int LabelNumber => 1075198; // Dawn's Music Box public override void OnAfterDuped(Item newItem) diff --git a/Projects/UOContent/Items/Special/8th Anniversary Items/Dawn's Music Box/DawnsMusicGear.cs b/Projects/UOContent/Items/Special/8th Anniversary Items/Dawn's Music Box/DawnsMusicGear.cs index a9eb5c16d..e7eb79894 100644 --- a/Projects/UOContent/Items/Special/8th Anniversary Items/Dawn's Music Box/DawnsMusicGear.cs +++ b/Projects/UOContent/Items/Special/8th Anniversary Items/Dawn's Music Box/DawnsMusicGear.cs @@ -17,11 +17,9 @@ public partial class DawnsMusicGear : Item } [Constructible] - public DawnsMusicGear(MusicName music) : base(0x1053) - { - _music = music; - Weight = 1.0; - } + public DawnsMusicGear(MusicName music) : base(0x1053) => _music = music; + + public override double DefaultWeight => 1.0; public static DawnsMusicGear RandomCommon => new(DawnsMusicBox.RandomTrack(DawnsMusicRarity.Common)); diff --git a/Projects/UOContent/Items/Special/8th Anniversary Items/DupresShield.cs b/Projects/UOContent/Items/Special/8th Anniversary Items/DupresShield.cs index 459b14c23..bbeee47d9 100644 --- a/Projects/UOContent/Items/Special/8th Anniversary Items/DupresShield.cs +++ b/Projects/UOContent/Items/Special/8th Anniversary Items/DupresShield.cs @@ -9,7 +9,6 @@ public partial class DupresShield : BaseShield public DupresShield() : base(0x2B01) { LootType = LootType.Blessed; - Weight = 6.0; Attributes.BonusHits = 5; Attributes.RegenHits = 1; @@ -17,6 +16,8 @@ public partial class DupresShield : BaseShield SkillBonuses.SetValues(0, SkillName.Parry, 5); } + public override double DefaultWeight => 6.0; + public override int LabelNumber => 1075196; // Dupre's Shield public override int BasePhysicalResistance => 1; diff --git a/Projects/UOContent/Items/Special/8th Anniversary Items/QuiverOfInfinity.cs b/Projects/UOContent/Items/Special/8th Anniversary Items/QuiverOfInfinity.cs index a13175dc4..0b1377d24 100644 --- a/Projects/UOContent/Items/Special/8th Anniversary Items/QuiverOfInfinity.cs +++ b/Projects/UOContent/Items/Special/8th Anniversary Items/QuiverOfInfinity.cs @@ -9,7 +9,6 @@ public partial class QuiverOfInfinity : BaseQuiver public QuiverOfInfinity() : base(0x2B02) { LootType = LootType.Blessed; - Weight = 8.0; WeightReduction = 30; LowerAmmoCost = 20; @@ -17,5 +16,7 @@ public partial class QuiverOfInfinity : BaseQuiver Attributes.DefendChance = 5; } + public override double DefaultWeight => 8.0; + public override int LabelNumber => 1075201; // Quiver of Infinity } diff --git a/Projects/UOContent/Items/Special/8th Anniversary Items/Talismans.cs b/Projects/UOContent/Items/Special/8th Anniversary Items/Talismans.cs index 091cc242b..e0a25fbf9 100644 --- a/Projects/UOContent/Items/Special/8th Anniversary Items/Talismans.cs +++ b/Projects/UOContent/Items/Special/8th Anniversary Items/Talismans.cs @@ -20,9 +20,10 @@ public partial class BaseFormTalisman : Item { LootType = LootType.Blessed; Layer = Layer.Talisman; - Weight = 1.0; } + public override double DefaultWeight => 1.0; + public virtual TalismanForm Form => TalismanForm.Squirrel; public override void AddNameProperty(IPropertyList list) diff --git a/Projects/UOContent/Items/Special/AoS Promotional/HoodedShroudOfShadows.cs b/Projects/UOContent/Items/Special/AoS Promotional/HoodedShroudOfShadows.cs index caefb44c2..bac7674a5 100644 --- a/Projects/UOContent/Items/Special/AoS Promotional/HoodedShroudOfShadows.cs +++ b/Projects/UOContent/Items/Special/AoS Promotional/HoodedShroudOfShadows.cs @@ -7,11 +7,9 @@ namespace Server.Items; public partial class HoodedShroudOfShadows : BaseOuterTorso { [Constructible] - public HoodedShroudOfShadows(int hue = 0x455) : base(0x2684, hue) - { - LootType = LootType.Blessed; - Weight = 3.0; - } + public HoodedShroudOfShadows(int hue = 0x455) : base(0x2684, hue) => LootType = LootType.Blessed; + + public override double DefaultWeight => 3.0; public override bool Dye(Mobile from, DyeTub sender) { diff --git a/Projects/UOContent/Items/Special/Bulk Order Rewards/Blacksmithy/AncientSmithyHammer.cs b/Projects/UOContent/Items/Special/Bulk Order Rewards/Blacksmithy/AncientSmithyHammer.cs index 0b7a0a89e..1f5d80eaf 100644 --- a/Projects/UOContent/Items/Special/Bulk Order Rewards/Blacksmithy/AncientSmithyHammer.cs +++ b/Projects/UOContent/Items/Special/Bulk Order Rewards/Blacksmithy/AncientSmithyHammer.cs @@ -13,11 +13,12 @@ public partial class AncientSmithyHammer : BaseTool public AncientSmithyHammer(int bonus, int uses = 600) : base(uses, 0x13E4) { _bonus = bonus; - Weight = 8.0; Layer = Layer.OneHanded; Hue = 0x482; } + public override double DefaultWeight => 8.0; + [SerializableProperty(0)] [CommandProperty(AccessLevel.GameMaster)] public int Bonus diff --git a/Projects/UOContent/Items/Special/Bulk Order Rewards/Blacksmithy/ColoredAnvil.cs b/Projects/UOContent/Items/Special/Bulk Order Rewards/Blacksmithy/ColoredAnvil.cs index 991175beb..ab0bf4fbd 100644 --- a/Projects/UOContent/Items/Special/Bulk Order Rewards/Blacksmithy/ColoredAnvil.cs +++ b/Projects/UOContent/Items/Special/Bulk Order Rewards/Blacksmithy/ColoredAnvil.cs @@ -13,6 +13,7 @@ public partial class ColoredAnvil : Item { // TODO: Color weighted by rarity? Hue = CraftResources.GetRandomResource(CraftResource.DullCopper, CraftResource.Valorite)?.Hue ?? 0; - Weight = 20; } + + public override double DefaultWeight => 20.0; } diff --git a/Projects/UOContent/Items/Special/Bulk Order Rewards/Blacksmithy/PowderOfTemperament.cs b/Projects/UOContent/Items/Special/Bulk Order Rewards/Blacksmithy/PowderOfTemperament.cs index fc898fd20..5a474ebe1 100644 --- a/Projects/UOContent/Items/Special/Bulk Order Rewards/Blacksmithy/PowderOfTemperament.cs +++ b/Projects/UOContent/Items/Special/Bulk Order Rewards/Blacksmithy/PowderOfTemperament.cs @@ -15,11 +15,12 @@ public partial class PowderOfTemperament : Item, IUsesRemaining [Constructible] public PowderOfTemperament(int charges = 10) : base(4102) { - Weight = 1.0; Hue = 2419; UsesRemaining = charges; } + public override double DefaultWeight => 1.0; + public override int LabelNumber => 1049082; // powder of fortifying bool IUsesRemaining.ShowUsesRemaining diff --git a/Projects/UOContent/Items/Special/Community Collection/JesterHatofChuckles.cs b/Projects/UOContent/Items/Special/Community Collection/JesterHatofChuckles.cs index d731396ee..3cae57aec 100644 --- a/Projects/UOContent/Items/Special/Community Collection/JesterHatofChuckles.cs +++ b/Projects/UOContent/Items/Special/Community Collection/JesterHatofChuckles.cs @@ -11,11 +11,9 @@ public partial class JesterHatofChuckles : BaseHat } [Constructible] - public JesterHatofChuckles(int hue) : base(0x171C, hue) - { - Attributes.Luck = 150; - Weight = 1.0; - } + public JesterHatofChuckles(int hue) : base(0x171C, hue) => Attributes.Luck = 150; + + public override double DefaultWeight => 1.0; public override int LabelNumber => 1073256; // Jester Hat of Chuckles - Museum of Vesper Replica 1073256 diff --git a/Projects/UOContent/Items/Special/Gifts/RoseOfTrinsic.cs b/Projects/UOContent/Items/Special/Gifts/RoseOfTrinsic.cs index 2faee7f5f..82e0a2da2 100644 --- a/Projects/UOContent/Items/Special/Gifts/RoseOfTrinsic.cs +++ b/Projects/UOContent/Items/Special/Gifts/RoseOfTrinsic.cs @@ -26,13 +26,13 @@ public partial class RoseOfTrinsic : Item, ISecurable [Constructible] public RoseOfTrinsic() : base(0x234D) { - Weight = 1.0; LootType = LootType.Blessed; - _petals = 0; StartSpawnTimer(TimeSpan.FromMinutes(1.0)); } + public override double DefaultWeight => 1.0; + public override int LabelNumber => 1062913; // Rose of Trinsic public override void OnAfterDuped(Item newItem) @@ -156,11 +156,11 @@ public partial class RoseOfTrinsicPetal : Item { Stackable = true; Amount = amount; - - Weight = 1.0; Hue = 0xE; } + public override double DefaultWeight => 1.0; + public override int LabelNumber => 1062926; // Petal of the Rose of Trinsic public override void OnDoubleClick(Mobile from) diff --git a/Projects/UOContent/Items/Special/Gifts/SamuraiHelm.cs b/Projects/UOContent/Items/Special/Gifts/SamuraiHelm.cs index 57b23ccf7..403dd2b51 100644 --- a/Projects/UOContent/Items/Special/Gifts/SamuraiHelm.cs +++ b/Projects/UOContent/Items/Special/Gifts/SamuraiHelm.cs @@ -9,7 +9,6 @@ public partial class SamuraiHelm : BaseArmor [Constructible] public SamuraiHelm() : base(0x236C) { - Weight = 5.0; LootType = LootType.Blessed; Attributes.DefendChance = 15; @@ -18,6 +17,8 @@ public partial class SamuraiHelm : BaseArmor ArmorAttributes.MageArmor = 1; } + public override double DefaultWeight => 5.0; + public override int LabelNumber => 1062923; // Ancient Samurai Helm public override int BasePhysicalResistance => 15; diff --git a/Projects/UOContent/Items/Special/HeritageToken.cs b/Projects/UOContent/Items/Special/HeritageToken.cs index eb5aae65a..99ea737af 100644 --- a/Projects/UOContent/Items/Special/HeritageToken.cs +++ b/Projects/UOContent/Items/Special/HeritageToken.cs @@ -7,12 +7,9 @@ namespace Server.Items; public partial class HeritageToken : Item { [Constructible] - public HeritageToken() : base(0x367A) - { - LootType = LootType.Blessed; - Weight = 5.0; - } + public HeritageToken() : base(0x367A) => LootType = LootType.Blessed; + public override double DefaultWeight => 5.0; public override int LabelNumber => 1076596; // A Heritage Token public override void OnDoubleClick(Mobile from) diff --git a/Projects/UOContent/Items/Special/Holiday/GiftBox.cs b/Projects/UOContent/Items/Special/Holiday/GiftBox.cs index d7081d1e9..a45702c03 100644 --- a/Projects/UOContent/Items/Special/Holiday/GiftBox.cs +++ b/Projects/UOContent/Items/Special/Holiday/GiftBox.cs @@ -13,9 +13,7 @@ public partial class GiftBox : BaseContainer } [Constructible] - public GiftBox(int hue) : base(Utility.Random(0x232A, 2)) - { - Weight = 2.0; - Hue = hue; - } + public GiftBox(int hue) : base(Utility.Random(0x232A, 2)) => Hue = hue; + + public override double DefaultWeight => 2.0; } diff --git a/Projects/UOContent/Items/Special/Holiday/Snowman.cs b/Projects/UOContent/Items/Special/Holiday/Snowman.cs index ded511569..0f6d26871 100644 --- a/Projects/UOContent/Items/Special/Holiday/Snowman.cs +++ b/Projects/UOContent/Items/Special/Holiday/Snowman.cs @@ -87,13 +87,14 @@ public partial class Snowman : Item, IDyable [Constructible] public Snowman(int hue, string title) : base(Utility.Random(0x2328, 2)) { - Weight = 10.0; Hue = hue; LootType = LootType.Blessed; _title = title; } + public override double DefaultWeight => 10.0; + public bool Dye(Mobile from, DyeTub sender) { if (Deleted) diff --git a/Projects/UOContent/Items/Special/Holiday/Wreath.cs b/Projects/UOContent/Items/Special/Holiday/Wreath.cs index 0d0333017..ce0bae397 100644 --- a/Projects/UOContent/Items/Special/Holiday/Wreath.cs +++ b/Projects/UOContent/Items/Special/Holiday/Wreath.cs @@ -165,11 +165,12 @@ public partial class WreathDeed : Item [Constructible] public WreathDeed(int hue) : base(0x14F0) { - Weight = 1.0; Hue = hue; LootType = LootType.Blessed; } + public override double DefaultWeight => 1.0; + public override int LabelNumber => 1062837; // holiday wreath deed public override void OnDoubleClick(Mobile from) diff --git a/Projects/UOContent/Items/Special/MiniHouses.cs b/Projects/UOContent/Items/Special/MiniHouses.cs index 5104dad33..48ed9470c 100644 --- a/Projects/UOContent/Items/Special/MiniHouses.cs +++ b/Projects/UOContent/Items/Special/MiniHouses.cs @@ -74,11 +74,11 @@ public partial class MiniHouseDeed : BaseAddonDeed public MiniHouseDeed(MiniHouseType type = MiniHouseType.StoneAndPlaster) { _type = type; - - Weight = 1.0; LootType = LootType.Blessed; } + public override double DefaultWeight => 1.0; + public override BaseAddon Addon => new MiniHouseAddon(_type); public override int LabelNumber => 1062096; // a mini house deed diff --git a/Projects/UOContent/Items/Special/Mutation Core/PlagueBeastGland.cs b/Projects/UOContent/Items/Special/Mutation Core/PlagueBeastGland.cs index ab81044db..a5817fbfc 100644 --- a/Projects/UOContent/Items/Special/Mutation Core/PlagueBeastGland.cs +++ b/Projects/UOContent/Items/Special/Mutation Core/PlagueBeastGland.cs @@ -6,11 +6,9 @@ namespace Server.Items; public partial class PlagueBeastGland : Item { [Constructible] - public PlagueBeastGland() : base(0x1CEF) - { - Weight = 1.0; - Hue = 0x6; - } + public PlagueBeastGland() : base(0x1CEF) => Hue = 0x6; + + public override double DefaultWeight => 1.0; public override int LabelNumber => 1153759; // a healthy gland } diff --git a/Projects/UOContent/Items/Special/Mutation Core/PlagueBeastInnard.cs b/Projects/UOContent/Items/Special/Mutation Core/PlagueBeastInnard.cs index bead7bdd0..e40497416 100644 --- a/Projects/UOContent/Items/Special/Mutation Core/PlagueBeastInnard.cs +++ b/Projects/UOContent/Items/Special/Mutation Core/PlagueBeastInnard.cs @@ -10,9 +10,10 @@ public partial class PlagueBeastInnard : Item, IScissorable, ICarvable { Hue = hue; Movable = false; - Weight = 1.0; } + public override double DefaultWeight => 1.0; + public PlagueBeastLord Owner => RootParent as PlagueBeastLord; public override string DefaultName => "plague beast innards"; diff --git a/Projects/UOContent/Items/Special/Mutation Core/PlagueBeastMutationCore.cs b/Projects/UOContent/Items/Special/Mutation Core/PlagueBeastMutationCore.cs index 4149b6131..4865f804b 100644 --- a/Projects/UOContent/Items/Special/Mutation Core/PlagueBeastMutationCore.cs +++ b/Projects/UOContent/Items/Special/Mutation Core/PlagueBeastMutationCore.cs @@ -15,10 +15,11 @@ public partial class PlagueBeastMutationCore : Item, IScissorable public PlagueBeastMutationCore() : base(0x1CF0) { _cut = true; - Weight = 1.0; Hue = 0x480; } + public override double DefaultWeight => 1.0; + public override int LabelNumber => 1153760; // a plague beast mutation core public virtual bool Scissor(Mobile from, Scissors scissors) diff --git a/Projects/UOContent/Items/Special/RewardCake.cs b/Projects/UOContent/Items/Special/RewardCake.cs index 88d7f3f95..94dbe81a5 100644 --- a/Projects/UOContent/Items/Special/RewardCake.cs +++ b/Projects/UOContent/Items/Special/RewardCake.cs @@ -9,7 +9,6 @@ public partial class RewardCake : Item public RewardCake() : base(0x9e9) { Stackable = false; - Weight = 1.0; Hue = Utility.RandomList( 0x135, 0xcd, @@ -31,6 +30,8 @@ public partial class RewardCake : Item LootType = LootType.Blessed; } + public override double DefaultWeight => 1.0; + public override int LabelNumber => 1049786; // Happy Birthday! ... public override bool DisplayLootType => false; diff --git a/Projects/UOContent/Items/Special/Solen Items/BagOfSending.cs b/Projects/UOContent/Items/Special/Solen Items/BagOfSending.cs index a57c2d282..d81470d5d 100644 --- a/Projects/UOContent/Items/Special/Solen Items/BagOfSending.cs +++ b/Projects/UOContent/Items/Special/Solen Items/BagOfSending.cs @@ -27,12 +27,12 @@ public partial class BagOfSending : Item, TranslocationItem [Constructible] public BagOfSending(BagOfSendingHue hue) : base(0xE76) { - Weight = 2.0; - BagOfSendingHue = hue; _charges = Utility.RandomMinMax(3, 9); } + public override double DefaultWeight => 2.0; + public override int LabelNumber => 1054104; // a bag of sending [SerializableProperty(0)] diff --git a/Projects/UOContent/Items/Special/Solen Items/BallOfSummoning.cs b/Projects/UOContent/Items/Special/Solen Items/BallOfSummoning.cs index a9db9ec33..a76833e30 100644 --- a/Projects/UOContent/Items/Special/Solen Items/BallOfSummoning.cs +++ b/Projects/UOContent/Items/Special/Solen Items/BallOfSummoning.cs @@ -21,13 +21,14 @@ public partial class BallOfSummoning : Item, TranslocationItem [Constructible] public BallOfSummoning() : base(0xE2E) { - Weight = 10.0; Light = LightType.Circle150; _charges = Utility.RandomMinMax(3, 9); _petName = null; } + public override double DefaultWeight => 10.0; + [SerializableProperty(0)] [CommandProperty(AccessLevel.GameMaster)] public int Recharges diff --git a/Projects/UOContent/Items/Special/Solen Items/BraceletOfBinding.cs b/Projects/UOContent/Items/Special/Solen Items/BraceletOfBinding.cs index 8a8ce5d32..33cbe485c 100644 --- a/Projects/UOContent/Items/Special/Solen Items/BraceletOfBinding.cs +++ b/Projects/UOContent/Items/Special/Solen Items/BraceletOfBinding.cs @@ -23,11 +23,9 @@ public partial class BraceletOfBinding : BaseBracelet, TranslocationItem private TransportTimer _timer; [Constructible] - public BraceletOfBinding() : base(0x1086) - { - Hue = 0x489; - Weight = 1.0; - } + public BraceletOfBinding() : base(0x1086) => Hue = 0x489; + + public override double DefaultWeight => 1.0; [SerializableProperty(0)] [CommandProperty(AccessLevel.GameMaster)] diff --git a/Projects/UOContent/Items/Special/Solen Items/PowderOfTranslocation.cs b/Projects/UOContent/Items/Special/Solen Items/PowderOfTranslocation.cs index 47618e53d..5b0fbb08b 100644 --- a/Projects/UOContent/Items/Special/Solen Items/PowderOfTranslocation.cs +++ b/Projects/UOContent/Items/Special/Solen Items/PowderOfTranslocation.cs @@ -19,10 +19,11 @@ public partial class PowderOfTranslocation : Item public PowderOfTranslocation(int amount = 1) : base(0x26B8) { Stackable = true; - Weight = 0.1; Amount = amount; } + public override double DefaultWeight => 0.1; + public override void OnDoubleClick(Mobile from) { if (from.InRange(GetWorldLocation(), 2)) diff --git a/Projects/UOContent/Items/Special/Solen Items/ZoogiFungus.cs b/Projects/UOContent/Items/Special/Solen Items/ZoogiFungus.cs index d01c22198..33465c040 100644 --- a/Projects/UOContent/Items/Special/Solen Items/ZoogiFungus.cs +++ b/Projects/UOContent/Items/Special/Solen Items/ZoogiFungus.cs @@ -9,10 +9,11 @@ public partial class ZoogiFungus : Item, ICommodity public ZoogiFungus(int amount = 1) : base(0x26B7) { Stackable = true; - Weight = 0.1; Amount = amount; } + public override double DefaultWeight => 0.1; + int ICommodity.DescriptionNumber => LabelNumber; bool ICommodity.IsDeedable => Core.ML; } diff --git a/Projects/UOContent/Items/Special/Special Scrolls/SpecialScroll.cs b/Projects/UOContent/Items/Special/Special Scrolls/SpecialScroll.cs index 3bb4ca068..7612d1970 100644 --- a/Projects/UOContent/Items/Special/Special Scrolls/SpecialScroll.cs +++ b/Projects/UOContent/Items/Special/Special Scrolls/SpecialScroll.cs @@ -20,12 +20,13 @@ public abstract partial class SpecialScroll : Item public SpecialScroll(SkillName skill, double value) : base(0x14F0) { LootType = LootType.Cursed; - Weight = 1.0; _skill = skill; _value = value; } + public override double DefaultWeight => 1.0; + public abstract int Message { get; } public virtual int Title => 0; public abstract string DefaultTitle { get; } diff --git a/Projects/UOContent/Items/Special/Veteran Rewards/Banner.cs b/Projects/UOContent/Items/Special/Veteran Rewards/Banner.cs index 09cca1a32..8559b4af1 100644 --- a/Projects/UOContent/Items/Special/Veteran Rewards/Banner.cs +++ b/Projects/UOContent/Items/Special/Veteran Rewards/Banner.cs @@ -100,12 +100,9 @@ public partial class BannerDeed : Item, IRewardItem private bool _isRewardItem; [Constructible] - public BannerDeed() : base(0x14F0) - { - LootType = LootType.Blessed; - Weight = 1.0; - } + public BannerDeed() : base(0x14F0) => LootType = LootType.Blessed; + public override double DefaultWeight => 1.0; public override int LabelNumber => 1041007; // a banner deed public override void GetProperties(IPropertyList list) diff --git a/Projects/UOContent/Items/Special/Veteran Rewards/Brazier.cs b/Projects/UOContent/Items/Special/Veteran Rewards/Brazier.cs index 437a8de63..93fd5c64c 100644 --- a/Projects/UOContent/Items/Special/Veteran Rewards/Brazier.cs +++ b/Projects/UOContent/Items/Special/Veteran Rewards/Brazier.cs @@ -25,11 +25,9 @@ public partial class RewardBrazier : Item, IRewardItem } [Constructible] - public RewardBrazier(int itemID) : base(itemID) - { - LootType = LootType.Blessed; - Weight = 10.0; - } + public RewardBrazier(int itemID) : base(itemID) => LootType = LootType.Blessed; + + public override double DefaultWeight => 10.0; public override bool ForceShowProperties => ObjectPropertyList.Enabled; @@ -115,11 +113,9 @@ public partial class RewardBrazierDeed : Item, IRewardItem private bool _isRewardItem; [Constructible] - public RewardBrazierDeed() : base(0x14F0) - { - LootType = LootType.Blessed; - Weight = 1.0; - } + public RewardBrazierDeed() : base(0x14F0) => LootType = LootType.Blessed; + + public override double DefaultWeight => 1.0; public override int LabelNumber => 1080527; // Brazier Deed diff --git a/Projects/UOContent/Items/Special/Veteran Rewards/CommodityDeedBox.cs b/Projects/UOContent/Items/Special/Veteran Rewards/CommodityDeedBox.cs index 78292c651..ac29c2cca 100644 --- a/Projects/UOContent/Items/Special/Veteran Rewards/CommodityDeedBox.cs +++ b/Projects/UOContent/Items/Special/Veteran Rewards/CommodityDeedBox.cs @@ -13,12 +13,9 @@ public partial class CommodityDeedBox : BaseContainer, IRewardItem private bool _isRewardItem; [Constructible] - public CommodityDeedBox() : base(0x9AA) - { - Hue = 0x47; - Weight = 4.0; - } + public CommodityDeedBox() : base(0x9AA) => Hue = 0x47; + public override double DefaultWeight => 4.0; public override int LabelNumber => 1080523; // Commodity Deed Box public override int DefaultGumpID => 0x43; diff --git a/Projects/UOContent/Items/Special/Veteran Rewards/DecorativeShield.cs b/Projects/UOContent/Items/Special/Veteran Rewards/DecorativeShield.cs index e5d298296..a68b10fd3 100644 --- a/Projects/UOContent/Items/Special/Veteran Rewards/DecorativeShield.cs +++ b/Projects/UOContent/Items/Special/Veteran Rewards/DecorativeShield.cs @@ -84,12 +84,9 @@ public partial class DecorativeShieldDeed : Item, IRewardItem private bool _isRewardItem; [Constructible] - public DecorativeShieldDeed() : base(0x14F0) - { - LootType = LootType.Blessed; - Weight = 1.0; - } + public DecorativeShieldDeed() : base(0x14F0) => LootType = LootType.Blessed; + public override double DefaultWeight => 1.0; public override int LabelNumber => 1049771; // deed for a decorative shield wall hanging public override void GetProperties(IPropertyList list) diff --git a/Projects/UOContent/Items/Special/Veteran Rewards/FlamingHead.cs b/Projects/UOContent/Items/Special/Veteran Rewards/FlamingHead.cs index 1407ad549..cddfe5c64 100644 --- a/Projects/UOContent/Items/Special/Veteran Rewards/FlamingHead.cs +++ b/Projects/UOContent/Items/Special/Veteran Rewards/FlamingHead.cs @@ -98,12 +98,9 @@ public partial class FlamingHeadDeed : Item, IRewardItem private bool _isRewardItem; [Constructible] - public FlamingHeadDeed() : base(0x14F0) - { - LootType = LootType.Blessed; - Weight = 1.0; - } + public FlamingHeadDeed() : base(0x14F0) => LootType = LootType.Blessed; + public override double DefaultWeight => 1.0; public override int LabelNumber => 1041050; // a flaming head deed public override void GetProperties(IPropertyList list) diff --git a/Projects/UOContent/Items/Special/Veteran Rewards/HangingSkeleton.cs b/Projects/UOContent/Items/Special/Veteran Rewards/HangingSkeleton.cs index 29dca292e..e78189116 100644 --- a/Projects/UOContent/Items/Special/Veteran Rewards/HangingSkeleton.cs +++ b/Projects/UOContent/Items/Special/Veteran Rewards/HangingSkeleton.cs @@ -88,12 +88,9 @@ public partial class HangingSkeletonDeed : Item, IRewardItem private bool _isRewardItem; [Constructible] - public HangingSkeletonDeed() : base(0x14F0) - { - LootType = LootType.Blessed; - Weight = 1.0; - } + public HangingSkeletonDeed() : base(0x14F0) => LootType = LootType.Blessed; + public override double DefaultWeight => 1.0; public override int LabelNumber => 1049772; // deed for a hanging skeleton decoration public override void GetProperties(IPropertyList list) diff --git a/Projects/UOContent/Items/Special/Veteran Rewards/PottedCactus.cs b/Projects/UOContent/Items/Special/Veteran Rewards/PottedCactus.cs index e208359a1..51b59a361 100644 --- a/Projects/UOContent/Items/Special/Veteran Rewards/PottedCactus.cs +++ b/Projects/UOContent/Items/Special/Veteran Rewards/PottedCactus.cs @@ -37,12 +37,9 @@ public partial class PottedCactusDeed : Item, IRewardItem private bool _isRewardItem; [Constructible] - public PottedCactusDeed() : base(0x14F0) - { - LootType = LootType.Blessed; - Weight = 1.0; - } + public PottedCactusDeed() : base(0x14F0) => LootType = LootType.Blessed; + public override double DefaultWeight => 1.0; public override int LabelNumber => 1080407; // Potted Cactus Deed public override void OnDoubleClick(Mobile from) diff --git a/Projects/UOContent/Items/Special/Veteran Rewards/WeaponEngravingTool.cs b/Projects/UOContent/Items/Special/Veteran Rewards/WeaponEngravingTool.cs index 95af438d8..9a5d483cb 100644 --- a/Projects/UOContent/Items/Special/Veteran Rewards/WeaponEngravingTool.cs +++ b/Projects/UOContent/Items/Special/Veteran Rewards/WeaponEngravingTool.cs @@ -24,11 +24,11 @@ public partial class WeaponEngravingTool : Item, IUsesRemaining, IRewardItem public WeaponEngravingTool(int uses = 10) : base(0x32F8) { LootType = LootType.Blessed; - Weight = 1.0; - _usesRemaining = uses; } + public override double DefaultWeight => 1.0; + public override int LabelNumber => 1076158; // Weapon Engraving Tool public bool ShowUsesRemaining diff --git a/Projects/UOContent/Items/Suits/BaseSuit.cs b/Projects/UOContent/Items/Suits/BaseSuit.cs index ee7bf3897..018c010a2 100644 --- a/Projects/UOContent/Items/Suits/BaseSuit.cs +++ b/Projects/UOContent/Items/Suits/BaseSuit.cs @@ -8,7 +8,6 @@ public abstract partial class BaseSuit : Item public BaseSuit(AccessLevel level, int hue, int itemID) : base(itemID) { Hue = hue; - Weight = 1.0; Movable = false; LootType = LootType.Newbied; Layer = Layer.OuterTorso; @@ -16,6 +15,8 @@ public abstract partial class BaseSuit : Item _accessLevel = level; } + public override double DefaultWeight => 1.0; + [SerializableProperty(0)] public AccessLevel AccessLevel { diff --git a/Projects/UOContent/Items/Talismans/BaseTalisman.cs b/Projects/UOContent/Items/Talismans/BaseTalisman.cs index 67cd8b9a5..ff3f867c6 100644 --- a/Projects/UOContent/Items/Talismans/BaseTalisman.cs +++ b/Projects/UOContent/Items/Talismans/BaseTalisman.cs @@ -271,7 +271,6 @@ public partial class BaseTalisman : Item, IAosItem public BaseTalisman(int itemID) : base(itemID) { Layer = Layer.Talisman; - Weight = 1.0; _protection = new TalismanAttribute(); _killer = new TalismanAttribute(); @@ -280,6 +279,8 @@ public partial class BaseTalisman : Item, IAosItem SkillBonuses = new AosSkillBonuses(this); } + public override double DefaultWeight => 1.0; + public override int LabelNumber => 1071023; // Talisman public virtual bool ForceShowName => false; // used to override default summoner/removal name diff --git a/Projects/UOContent/Items/Wands/BaseWand.cs b/Projects/UOContent/Items/Wands/BaseWand.cs index 4a0127192..8b0098275 100644 --- a/Projects/UOContent/Items/Wands/BaseWand.cs +++ b/Projects/UOContent/Items/Wands/BaseWand.cs @@ -38,7 +38,6 @@ public abstract partial class BaseWand : BaseBashing public BaseWand(WandEffect effect, int minCharges, int maxCharges) : base(0xDF2 + Utility.Random(4)) { - Weight = 1.0; _wandEffect = effect; _charges = Utility.RandomMinMax(minCharges, maxCharges); Attributes.SpellChanneling = 1; @@ -47,6 +46,8 @@ public abstract partial class BaseWand : BaseBashing Resource = CraftResource.None; } + public override double DefaultWeight => 1.0; + public override WeaponAbility PrimaryAbility => WeaponAbility.Dismount; public override WeaponAbility SecondaryAbility => WeaponAbility.Disarm; diff --git a/Projects/UOContent/Items/Weapons/Axes/BattleAxe.cs b/Projects/UOContent/Items/Weapons/Axes/BattleAxe.cs index 00352dbd3..0fa0b7ba9 100644 --- a/Projects/UOContent/Items/Weapons/Axes/BattleAxe.cs +++ b/Projects/UOContent/Items/Weapons/Axes/BattleAxe.cs @@ -7,12 +7,9 @@ namespace Server.Items public partial class BattleAxe : BaseAxe { [Constructible] - public BattleAxe() : base(0xF47) - { - Weight = 4.0; - Layer = Layer.TwoHanded; - } + public BattleAxe() : base(0xF47) => Layer = Layer.TwoHanded; + public override double DefaultWeight => 4.0; public override WeaponAbility PrimaryAbility => WeaponAbility.BleedAttack; public override WeaponAbility SecondaryAbility => WeaponAbility.ConcussionBlow; diff --git a/Projects/UOContent/Items/Weapons/Axes/Pickaxe.cs b/Projects/UOContent/Items/Weapons/Axes/Pickaxe.cs index 474712308..b78851d78 100644 --- a/Projects/UOContent/Items/Weapons/Axes/Pickaxe.cs +++ b/Projects/UOContent/Items/Weapons/Axes/Pickaxe.cs @@ -12,11 +12,11 @@ namespace Server.Items [Constructible] public Pickaxe() : base(0xE86) { - Weight = 11.0; UsesRemaining = 50; ShowUsesRemaining = true; } + public override double DefaultWeight => 11.0; public override HarvestSystem HarvestSystem => Mining.System; public override WeaponAbility PrimaryAbility => WeaponAbility.DoubleStrike; diff --git a/Projects/UOContent/Items/Weapons/Knives/ThrowingDagger.cs b/Projects/UOContent/Items/Weapons/Knives/ThrowingDagger.cs index f6a00ddbc..3e618435e 100644 --- a/Projects/UOContent/Items/Weapons/Knives/ThrowingDagger.cs +++ b/Projects/UOContent/Items/Weapons/Knives/ThrowingDagger.cs @@ -10,11 +10,9 @@ namespace Server.Items; public partial class ThrowingDagger : Item { [Constructible] - public ThrowingDagger() : base(0xF52) - { - Weight = 1.0; - Layer = Layer.OneHanded; - } + public ThrowingDagger() : base(0xF52) => Layer = Layer.OneHanded; + + public override double DefaultWeight => 1.0; public override string DefaultName => "a throwing dagger"; diff --git a/Projects/UOContent/Items/Weapons/ML Weapons/ElvenCompositeLongbow.cs b/Projects/UOContent/Items/Weapons/ML Weapons/ElvenCompositeLongbow.cs index 43a972d92..a0d866129 100644 --- a/Projects/UOContent/Items/Weapons/ML Weapons/ElvenCompositeLongbow.cs +++ b/Projects/UOContent/Items/Weapons/ML Weapons/ElvenCompositeLongbow.cs @@ -8,11 +8,9 @@ namespace Server.Items public partial class ElvenCompositeLongbow : BaseRanged { [Constructible] - public ElvenCompositeLongbow() : base(0x2D1E) - { - Weight = 8.0; - Resource = CraftResource.RegularWood; - } + public ElvenCompositeLongbow() : base(0x2D1E) => Resource = CraftResource.RegularWood; + + public override double DefaultWeight => 8.0; public override int EffectID => 0xF42; public override Type AmmoType => typeof(Arrow); diff --git a/Projects/UOContent/Items/Weapons/ML Weapons/ElvenSpellblade.cs b/Projects/UOContent/Items/Weapons/ML Weapons/ElvenSpellblade.cs index ebe89b1a5..be8bb7a58 100644 --- a/Projects/UOContent/Items/Weapons/ML Weapons/ElvenSpellblade.cs +++ b/Projects/UOContent/Items/Weapons/ML Weapons/ElvenSpellblade.cs @@ -7,12 +7,9 @@ namespace Server.Items public partial class ElvenSpellblade : BaseKnife { [Constructible] - public ElvenSpellblade() : base(0x2D20) - { - Weight = 5.0; - Layer = Layer.TwoHanded; - } + public ElvenSpellblade() : base(0x2D20) => Layer = Layer.TwoHanded; + public override double DefaultWeight => 5.0; public override WeaponAbility PrimaryAbility => WeaponAbility.PsychicAttack; public override WeaponAbility SecondaryAbility => WeaponAbility.BleedAttack; diff --git a/Projects/UOContent/Items/Weapons/ML Weapons/MagicalShortbow.cs b/Projects/UOContent/Items/Weapons/ML Weapons/MagicalShortbow.cs index 5a078290f..449dbc3a7 100644 --- a/Projects/UOContent/Items/Weapons/ML Weapons/MagicalShortbow.cs +++ b/Projects/UOContent/Items/Weapons/ML Weapons/MagicalShortbow.cs @@ -8,12 +8,9 @@ namespace Server.Items public partial class MagicalShortbow : BaseRanged { [Constructible] - public MagicalShortbow() : base(0x2D2B) - { - Weight = 6.0; - Resource = CraftResource.RegularWood; - } + public MagicalShortbow() : base(0x2D2B) => Resource = CraftResource.RegularWood; + public override double DefaultWeight => 6.0; public override int EffectID => 0xF42; public override Type AmmoType => typeof(Arrow); public override Item Ammo => new Arrow(); diff --git a/Projects/UOContent/Items/Weapons/ML Weapons/OrnateAxe.cs b/Projects/UOContent/Items/Weapons/ML Weapons/OrnateAxe.cs index 1c4f89602..c871908d6 100644 --- a/Projects/UOContent/Items/Weapons/ML Weapons/OrnateAxe.cs +++ b/Projects/UOContent/Items/Weapons/ML Weapons/OrnateAxe.cs @@ -7,12 +7,9 @@ namespace Server.Items public partial class OrnateAxe : BaseAxe { [Constructible] - public OrnateAxe() : base(0x2D28) - { - Weight = 12.0; - Layer = Layer.TwoHanded; - } + public OrnateAxe() : base(0x2D28) => Layer = Layer.TwoHanded; + public override double DefaultWeight => 12.0; public override WeaponAbility PrimaryAbility => WeaponAbility.Disarm; public override WeaponAbility SecondaryAbility => WeaponAbility.CrushingBlow; diff --git a/Projects/UOContent/Items/Weapons/ML Weapons/RuneBlade.cs b/Projects/UOContent/Items/Weapons/ML Weapons/RuneBlade.cs index 1adda77d6..905a349dc 100644 --- a/Projects/UOContent/Items/Weapons/ML Weapons/RuneBlade.cs +++ b/Projects/UOContent/Items/Weapons/ML Weapons/RuneBlade.cs @@ -7,12 +7,9 @@ namespace Server.Items public partial class RuneBlade : BaseSword { [Constructible] - public RuneBlade() : base(0x2D32) - { - Weight = 7.0; - Layer = Layer.TwoHanded; - } + public RuneBlade() : base(0x2D32) => Layer = Layer.TwoHanded; + public override double DefaultWeight => 7.0; public override WeaponAbility PrimaryAbility => WeaponAbility.Disarm; public override WeaponAbility SecondaryAbility => WeaponAbility.Bladeweave; diff --git a/Projects/UOContent/Items/Weapons/ML Weapons/WildStaff.cs b/Projects/UOContent/Items/Weapons/ML Weapons/WildStaff.cs index e253665f1..7689cad06 100644 --- a/Projects/UOContent/Items/Weapons/ML Weapons/WildStaff.cs +++ b/Projects/UOContent/Items/Weapons/ML Weapons/WildStaff.cs @@ -7,12 +7,9 @@ namespace Server.Items public partial class WildStaff : BaseStaff { [Constructible] - public WildStaff() : base(0x2D25) - { - Weight = 8.0; - Resource = CraftResource.RegularWood; - } + public WildStaff() : base(0x2D25) => Resource = CraftResource.RegularWood; + public override double DefaultWeight => 8.0; public override WeaponAbility PrimaryAbility => WeaponAbility.Block; public override WeaponAbility SecondaryAbility => WeaponAbility.ForceOfNature; diff --git a/Projects/UOContent/Items/Weapons/Maces/HammerPick.cs b/Projects/UOContent/Items/Weapons/Maces/HammerPick.cs index 88a74b2aa..3b27eb897 100644 --- a/Projects/UOContent/Items/Weapons/Maces/HammerPick.cs +++ b/Projects/UOContent/Items/Weapons/Maces/HammerPick.cs @@ -7,12 +7,9 @@ namespace Server.Items public partial class HammerPick : BaseBashing { [Constructible] - public HammerPick() : base(0x143D) - { - Weight = 9.0; - Layer = Layer.OneHanded; - } + public HammerPick() : base(0x143D) => Layer = Layer.OneHanded; + public override double DefaultWeight => 9.0; public override WeaponAbility PrimaryAbility => WeaponAbility.ArmorIgnore; public override WeaponAbility SecondaryAbility => WeaponAbility.MortalStrike; diff --git a/Projects/UOContent/Items/Weapons/Maces/WarHammer.cs b/Projects/UOContent/Items/Weapons/Maces/WarHammer.cs index dd5ab6944..b3944be74 100644 --- a/Projects/UOContent/Items/Weapons/Maces/WarHammer.cs +++ b/Projects/UOContent/Items/Weapons/Maces/WarHammer.cs @@ -7,12 +7,9 @@ namespace Server.Items public partial class WarHammer : BaseBashing { [Constructible] - public WarHammer() : base(0x1439) - { - Weight = 10.0; - Layer = Layer.TwoHanded; - } + public WarHammer() : base(0x1439) => Layer = Layer.TwoHanded; + public override double DefaultWeight => 10.0; public override WeaponAbility PrimaryAbility => WeaponAbility.WhirlwindAttack; public override WeaponAbility SecondaryAbility => WeaponAbility.CrushingBlow; diff --git a/Projects/UOContent/Items/Weapons/Ranged/Bow.cs b/Projects/UOContent/Items/Weapons/Ranged/Bow.cs index 0953163d2..f873c6c42 100644 --- a/Projects/UOContent/Items/Weapons/Ranged/Bow.cs +++ b/Projects/UOContent/Items/Weapons/Ranged/Bow.cs @@ -10,11 +10,11 @@ namespace Server.Items [Constructible] public Bow() : base(0x13B2) { - Weight = 6.0; Layer = Layer.TwoHanded; Resource = CraftResource.RegularWood; } + public override double DefaultWeight => 6.0; public override int EffectID => 0xF42; public override Type AmmoType => typeof(Arrow); public override Item Ammo => new Arrow(); diff --git a/Projects/UOContent/Items/Weapons/Ranged/CompositeBow.cs b/Projects/UOContent/Items/Weapons/Ranged/CompositeBow.cs index bc1e26185..875eb005f 100644 --- a/Projects/UOContent/Items/Weapons/Ranged/CompositeBow.cs +++ b/Projects/UOContent/Items/Weapons/Ranged/CompositeBow.cs @@ -8,12 +8,9 @@ namespace Server.Items public partial class CompositeBow : BaseRanged { [Constructible] - public CompositeBow() : base(0x26C2) - { - Weight = 5.0; - Resource = CraftResource.RegularWood; - } + public CompositeBow() : base(0x26C2) => Resource = CraftResource.RegularWood; + public override double DefaultWeight => 5.0; public override int EffectID => 0xF42; public override Type AmmoType => typeof(Arrow); public override Item Ammo => new Arrow(); diff --git a/Projects/UOContent/Items/Weapons/Ranged/Crossbow.cs b/Projects/UOContent/Items/Weapons/Ranged/Crossbow.cs index 12c823bba..6abd968fa 100644 --- a/Projects/UOContent/Items/Weapons/Ranged/Crossbow.cs +++ b/Projects/UOContent/Items/Weapons/Ranged/Crossbow.cs @@ -10,11 +10,11 @@ namespace Server.Items [Constructible] public Crossbow() : base(0xF50) { - Weight = 7.0; Layer = Layer.TwoHanded; Resource = CraftResource.RegularWood; } + public override double DefaultWeight => 7.0; public override int EffectID => 0x1BFE; public override Type AmmoType => typeof(Bolt); public override Item Ammo => new Bolt(); diff --git a/Projects/UOContent/Items/Weapons/Ranged/HeavyCrossbow.cs b/Projects/UOContent/Items/Weapons/Ranged/HeavyCrossbow.cs index 947762bd5..62c2d5251 100644 --- a/Projects/UOContent/Items/Weapons/Ranged/HeavyCrossbow.cs +++ b/Projects/UOContent/Items/Weapons/Ranged/HeavyCrossbow.cs @@ -10,11 +10,11 @@ namespace Server.Items [Constructible] public HeavyCrossbow() : base(0x13FD) { - Weight = 9.0; Layer = Layer.TwoHanded; Resource = CraftResource.RegularWood; } + public override double DefaultWeight => 9.0; public override int EffectID => 0x1BFE; public override Type AmmoType => typeof(Bolt); public override Item Ammo => new Bolt(); diff --git a/Projects/UOContent/Items/Weapons/Ranged/RepeatingCrossbow.cs b/Projects/UOContent/Items/Weapons/Ranged/RepeatingCrossbow.cs index 92af83a9c..14c38ed0c 100644 --- a/Projects/UOContent/Items/Weapons/Ranged/RepeatingCrossbow.cs +++ b/Projects/UOContent/Items/Weapons/Ranged/RepeatingCrossbow.cs @@ -8,12 +8,9 @@ namespace Server.Items public partial class RepeatingCrossbow : BaseRanged { [Constructible] - public RepeatingCrossbow() : base(0x26C3) - { - Weight = 6.0; - Resource = CraftResource.RegularWood; - } + public RepeatingCrossbow() : base(0x26C3) => Resource = CraftResource.RegularWood; + public override double DefaultWeight => 6.0; public override int EffectID => 0x1BFE; public override Type AmmoType => typeof(Bolt); public override Item Ammo => new Bolt(); diff --git a/Projects/UOContent/Items/Weapons/SE Weapons/Daisho.cs b/Projects/UOContent/Items/Weapons/SE Weapons/Daisho.cs index 136897fdf..4ce963ff5 100644 --- a/Projects/UOContent/Items/Weapons/SE Weapons/Daisho.cs +++ b/Projects/UOContent/Items/Weapons/SE Weapons/Daisho.cs @@ -7,12 +7,9 @@ namespace Server.Items public partial class Daisho : BaseSword { [Constructible] - public Daisho() : base(0x27A9) - { - Weight = 8.0; - Layer = Layer.TwoHanded; - } + public Daisho() : base(0x27A9) => Layer = Layer.TwoHanded; + public override double DefaultWeight => 8.0; public override WeaponAbility PrimaryAbility => WeaponAbility.Feint; public override WeaponAbility SecondaryAbility => WeaponAbility.DoubleStrike; diff --git a/Projects/UOContent/Items/Weapons/SE Weapons/Kama.cs b/Projects/UOContent/Items/Weapons/SE Weapons/Kama.cs index 23d054bb6..4bbd1b090 100644 --- a/Projects/UOContent/Items/Weapons/SE Weapons/Kama.cs +++ b/Projects/UOContent/Items/Weapons/SE Weapons/Kama.cs @@ -7,12 +7,9 @@ namespace Server.Items public partial class Kama : BaseKnife { [Constructible] - public Kama() : base(0x27AD) - { - Weight = 7.0; - Layer = Layer.TwoHanded; - } + public Kama() : base(0x27AD) => Layer = Layer.TwoHanded; + public override double DefaultWeight => 7.0; public override WeaponAbility PrimaryAbility => WeaponAbility.WhirlwindAttack; public override WeaponAbility SecondaryAbility => WeaponAbility.DefenseMastery; diff --git a/Projects/UOContent/Items/Weapons/SE Weapons/Lajatang.cs b/Projects/UOContent/Items/Weapons/SE Weapons/Lajatang.cs index 963b1219f..f28b67961 100644 --- a/Projects/UOContent/Items/Weapons/SE Weapons/Lajatang.cs +++ b/Projects/UOContent/Items/Weapons/SE Weapons/Lajatang.cs @@ -7,12 +7,9 @@ namespace Server.Items public partial class Lajatang : BaseKnife { [Constructible] - public Lajatang() : base(0x27A7) - { - Weight = 12.0; - Layer = Layer.TwoHanded; - } + public Lajatang() : base(0x27A7) => Layer = Layer.TwoHanded; + public override double DefaultWeight => 12.0; public override WeaponAbility PrimaryAbility => WeaponAbility.DefenseMastery; public override WeaponAbility SecondaryAbility => WeaponAbility.FrenziedWhirlwind; diff --git a/Projects/UOContent/Items/Weapons/SE Weapons/NoDachi.cs b/Projects/UOContent/Items/Weapons/SE Weapons/NoDachi.cs index 7d61ea419..64e6a6a92 100644 --- a/Projects/UOContent/Items/Weapons/SE Weapons/NoDachi.cs +++ b/Projects/UOContent/Items/Weapons/SE Weapons/NoDachi.cs @@ -7,12 +7,9 @@ namespace Server.Items public partial class NoDachi : BaseSword { [Constructible] - public NoDachi() : base(0x27A2) - { - Weight = 10.0; - Layer = Layer.TwoHanded; - } + public NoDachi() : base(0x27A2) => Layer = Layer.TwoHanded; + public override double DefaultWeight => 10.0; public override WeaponAbility PrimaryAbility => WeaponAbility.CrushingBlow; public override WeaponAbility SecondaryAbility => WeaponAbility.RidingSwipe; diff --git a/Projects/UOContent/Items/Weapons/SE Weapons/Sai.cs b/Projects/UOContent/Items/Weapons/SE Weapons/Sai.cs index df60344a2..bfd9e9146 100644 --- a/Projects/UOContent/Items/Weapons/SE Weapons/Sai.cs +++ b/Projects/UOContent/Items/Weapons/SE Weapons/Sai.cs @@ -7,11 +7,9 @@ namespace Server.Items public partial class Sai : BaseKnife { [Constructible] - public Sai() : base(0x27AF) - { - Weight = 7.0; - Layer = Layer.TwoHanded; - } + public Sai() : base(0x27AF) => Layer = Layer.TwoHanded; + + public override double DefaultWeight => 7.0; public override WeaponAbility PrimaryAbility => WeaponAbility.Block; public override WeaponAbility SecondaryAbility => WeaponAbility.ArmorPierce; diff --git a/Projects/UOContent/Items/Weapons/SE Weapons/Tekagi.cs b/Projects/UOContent/Items/Weapons/SE Weapons/Tekagi.cs index 388186818..9fc3ed171 100644 --- a/Projects/UOContent/Items/Weapons/SE Weapons/Tekagi.cs +++ b/Projects/UOContent/Items/Weapons/SE Weapons/Tekagi.cs @@ -7,12 +7,9 @@ namespace Server.Items public partial class Tekagi : BaseKnife { [Constructible] - public Tekagi() : base(0x27AB) - { - Weight = 5.0; - Layer = Layer.TwoHanded; - } + public Tekagi() : base(0x27AB) => Layer = Layer.TwoHanded; + public override double DefaultWeight => 5.0; public override WeaponAbility PrimaryAbility => WeaponAbility.DualWield; public override WeaponAbility SecondaryAbility => WeaponAbility.TalonStrike; diff --git a/Projects/UOContent/Items/Weapons/SE Weapons/Tessen.cs b/Projects/UOContent/Items/Weapons/SE Weapons/Tessen.cs index 442ae9e55..ba4de594f 100644 --- a/Projects/UOContent/Items/Weapons/SE Weapons/Tessen.cs +++ b/Projects/UOContent/Items/Weapons/SE Weapons/Tessen.cs @@ -7,11 +7,9 @@ namespace Server.Items public partial class Tessen : BaseBashing { [Constructible] - public Tessen() : base(0x27A3) - { - Weight = 6.0; - Layer = Layer.TwoHanded; - } + public Tessen() : base(0x27A3) => Layer = Layer.TwoHanded; + + public override double DefaultWeight => 6.0; public override WeaponAbility PrimaryAbility => WeaponAbility.Feint; public override WeaponAbility SecondaryAbility => WeaponAbility.Block; diff --git a/Projects/UOContent/Items/Weapons/SE Weapons/Tetsubo.cs b/Projects/UOContent/Items/Weapons/SE Weapons/Tetsubo.cs index ab32c41a4..7ca5402b3 100644 --- a/Projects/UOContent/Items/Weapons/SE Weapons/Tetsubo.cs +++ b/Projects/UOContent/Items/Weapons/SE Weapons/Tetsubo.cs @@ -7,12 +7,9 @@ namespace Server.Items public partial class Tetsubo : BaseBashing { [Constructible] - public Tetsubo() : base(0x27A6) - { - Weight = 8.0; - Layer = Layer.TwoHanded; - } + public Tetsubo() : base(0x27A6) => Layer = Layer.TwoHanded; + public override double DefaultWeight => 8.0; public override WeaponAbility PrimaryAbility => WeaponAbility.FrenziedWhirlwind; public override WeaponAbility SecondaryAbility => WeaponAbility.CrushingBlow; diff --git a/Projects/UOContent/Items/Weapons/SE Weapons/Wakizashi.cs b/Projects/UOContent/Items/Weapons/SE Weapons/Wakizashi.cs index 5bb6b0fd4..3f3d06ca2 100644 --- a/Projects/UOContent/Items/Weapons/SE Weapons/Wakizashi.cs +++ b/Projects/UOContent/Items/Weapons/SE Weapons/Wakizashi.cs @@ -7,12 +7,9 @@ namespace Server.Items public partial class Wakizashi : BaseSword { [Constructible] - public Wakizashi() : base(0x27A4) - { - Weight = 5.0; - Layer = Layer.OneHanded; - } + public Wakizashi() : base(0x27A4) => Layer = Layer.OneHanded; + public override double DefaultWeight => 5.0; public override WeaponAbility PrimaryAbility => WeaponAbility.FrenziedWhirlwind; public override WeaponAbility SecondaryAbility => WeaponAbility.DoubleStrike; diff --git a/Projects/UOContent/Items/Weapons/SE Weapons/Yumi.cs b/Projects/UOContent/Items/Weapons/SE Weapons/Yumi.cs index 024f51657..83cef50ad 100644 --- a/Projects/UOContent/Items/Weapons/SE Weapons/Yumi.cs +++ b/Projects/UOContent/Items/Weapons/SE Weapons/Yumi.cs @@ -10,11 +10,11 @@ namespace Server.Items [Constructible] public Yumi() : base(0x27A5) { - Weight = 9.0; Layer = Layer.TwoHanded; Resource = CraftResource.RegularWood; } + public override double DefaultWeight => 9.0; public override int EffectID => 0xF42; public override Type AmmoType => typeof(Arrow); public override Item Ammo => new Arrow(); diff --git a/Projects/UOContent/Items/Weapons/SpearsAndForks/TribalSpear.cs b/Projects/UOContent/Items/Weapons/SpearsAndForks/TribalSpear.cs index 3f3f17ecc..7aaac31b5 100644 --- a/Projects/UOContent/Items/Weapons/SpearsAndForks/TribalSpear.cs +++ b/Projects/UOContent/Items/Weapons/SpearsAndForks/TribalSpear.cs @@ -7,11 +7,9 @@ namespace Server.Items public partial class TribalSpear : BaseSpear { [Constructible] - public TribalSpear() : base(0xF62) - { - Weight = 7.0; - Hue = 837; - } + public TribalSpear() : base(0xF62) => Hue = 837; + + public override double DefaultWeight => 7.0; public override WeaponAbility PrimaryAbility => WeaponAbility.ArmorIgnore; public override WeaponAbility SecondaryAbility => WeaponAbility.ParalyzingBlow; diff --git a/Projects/UOContent/Items/Weapons/Staves/GlassStaff.cs b/Projects/UOContent/Items/Weapons/Staves/GlassStaff.cs index 22719d53e..fc852bdc9 100644 --- a/Projects/UOContent/Items/Weapons/Staves/GlassStaff.cs +++ b/Projects/UOContent/Items/Weapons/Staves/GlassStaff.cs @@ -7,12 +7,9 @@ namespace Server.Items public partial class GlassStaff : BaseStaff { [Constructible] - public GlassStaff() : base(0x905) - { - Weight = 4.0; - Resource = CraftResource.None; - } + public GlassStaff() : base(0x905) => Resource = CraftResource.None; + public override double DefaultWeight => 4.0; public override WeaponAbility PrimaryAbility => WeaponAbility.DoubleStrike; public override WeaponAbility SecondaryAbility => WeaponAbility.MortalStrike; public override int AosStrengthReq => 20; diff --git a/Projects/UOContent/Items/Weapons/Staves/GnarledStaff.cs b/Projects/UOContent/Items/Weapons/Staves/GnarledStaff.cs index cc05d6a12..05cf5bd2a 100644 --- a/Projects/UOContent/Items/Weapons/Staves/GnarledStaff.cs +++ b/Projects/UOContent/Items/Weapons/Staves/GnarledStaff.cs @@ -7,12 +7,9 @@ namespace Server.Items public partial class GnarledStaff : BaseStaff { [Constructible] - public GnarledStaff() : base(0x13F8) - { - Weight = 3.0; - Resource = CraftResource.RegularWood; - } + public GnarledStaff() : base(0x13F8) => Resource = CraftResource.RegularWood; + public override double DefaultWeight => 3.0; public override WeaponAbility PrimaryAbility => WeaponAbility.ConcussionBlow; public override WeaponAbility SecondaryAbility => WeaponAbility.ForceOfNature; diff --git a/Projects/UOContent/Items/Weapons/Staves/QuarterStaff.cs b/Projects/UOContent/Items/Weapons/Staves/QuarterStaff.cs index a6ee04d97..b05648f2f 100644 --- a/Projects/UOContent/Items/Weapons/Staves/QuarterStaff.cs +++ b/Projects/UOContent/Items/Weapons/Staves/QuarterStaff.cs @@ -7,12 +7,9 @@ namespace Server.Items public partial class QuarterStaff : BaseStaff { [Constructible] - public QuarterStaff() : base(0xE89) - { - Weight = 4.0; - Resource = CraftResource.RegularWood; - } + public QuarterStaff() : base(0xE89) => Resource = CraftResource.RegularWood; + public override double DefaultWeight => 4.0; public override WeaponAbility PrimaryAbility => WeaponAbility.DoubleStrike; public override WeaponAbility SecondaryAbility => WeaponAbility.ConcussionBlow; diff --git a/Projects/UOContent/Items/Weapons/Staves/ShepherdsCrook.cs b/Projects/UOContent/Items/Weapons/Staves/ShepherdsCrook.cs index 3378f14b6..cd47ac8f0 100644 --- a/Projects/UOContent/Items/Weapons/Staves/ShepherdsCrook.cs +++ b/Projects/UOContent/Items/Weapons/Staves/ShepherdsCrook.cs @@ -11,12 +11,9 @@ namespace Server.Items public partial class ShepherdsCrook : BaseStaff { [Constructible] - public ShepherdsCrook() : base(0xE81) - { - Weight = 4.0; - Resource = CraftResource.RegularWood; - } + public ShepherdsCrook() : base(0xE81) => Resource = CraftResource.RegularWood; + public override double DefaultWeight => 4.0; public override WeaponAbility PrimaryAbility => WeaponAbility.CrushingBlow; public override WeaponAbility SecondaryAbility => WeaponAbility.Disarm; diff --git a/Projects/UOContent/Items/Weapons/Throwing/Boomerang.cs b/Projects/UOContent/Items/Weapons/Throwing/Boomerang.cs index 67650361b..bae88c893 100644 --- a/Projects/UOContent/Items/Weapons/Throwing/Boomerang.cs +++ b/Projects/UOContent/Items/Weapons/Throwing/Boomerang.cs @@ -6,12 +6,9 @@ namespace Server.Items; public partial class Boomerang : BaseThrown { [Constructible] - public Boomerang() : base(0x8FF) - { - Weight = 4.0; - Layer = Layer.OneHanded; - } + public Boomerang() : base(0x8FF) => Layer = Layer.OneHanded; + public override double DefaultWeight => 4.0; public override int MinThrowRange => 4; public override WeaponAbility PrimaryAbility => WeaponAbility.MysticArc; diff --git a/Projects/UOContent/Items/Weapons/Throwing/Cyclone.cs b/Projects/UOContent/Items/Weapons/Throwing/Cyclone.cs index 889d1e1fb..f2b6812c1 100644 --- a/Projects/UOContent/Items/Weapons/Throwing/Cyclone.cs +++ b/Projects/UOContent/Items/Weapons/Throwing/Cyclone.cs @@ -6,12 +6,9 @@ namespace Server.Items; public partial class Cyclone : BaseThrown { [Constructible] - public Cyclone() : base(0x901) - { - Weight = 6.0; - Layer = Layer.OneHanded; - } + public Cyclone() : base(0x901) => Layer = Layer.OneHanded; + public override double DefaultWeight => 6.0; public override int MinThrowRange => 6; public override WeaponAbility PrimaryAbility => WeaponAbility.MovingShot; diff --git a/Projects/UOContent/Items/Weapons/Throwing/SoulGlaive.cs b/Projects/UOContent/Items/Weapons/Throwing/SoulGlaive.cs index 724053a39..434d0c166 100644 --- a/Projects/UOContent/Items/Weapons/Throwing/SoulGlaive.cs +++ b/Projects/UOContent/Items/Weapons/Throwing/SoulGlaive.cs @@ -6,12 +6,9 @@ namespace Server.Items; public partial class SoulGlaive : BaseThrown { [Constructible] - public SoulGlaive() : base(0x090A) - { - Weight = 8.0; - Layer = Layer.OneHanded; - } + public SoulGlaive() : base(0x090A) => Layer = Layer.OneHanded; + public override double DefaultWeight => 8.0; public override int MinThrowRange => 8; public override WeaponAbility PrimaryAbility => WeaponAbility.ArmorIgnore; diff --git a/Projects/UOContent/Mobiles/Vendors/VendorBackpack.cs b/Projects/UOContent/Mobiles/Vendors/VendorBackpack.cs index 267fbcd1a..06f0e6b62 100644 --- a/Projects/UOContent/Mobiles/Vendors/VendorBackpack.cs +++ b/Projects/UOContent/Mobiles/Vendors/VendorBackpack.cs @@ -12,12 +12,9 @@ namespace Server.Mobiles; [SerializationGenerator(0, false)] public partial class VendorBackpack : Backpack { - public VendorBackpack() - { - Layer = Layer.Backpack; - Weight = 1.0; - } + public VendorBackpack() => Layer = Layer.Backpack; + public override double DefaultWeight => 1.0; public override int DefaultMaxWeight => 0; public override bool CheckHold(Mobile m, Item item, bool message, bool checkItems, int plusItems, int plusWeight) diff --git a/Projects/UOContent/Multis/Boats/BaseBoatDeed.cs b/Projects/UOContent/Multis/Boats/BaseBoatDeed.cs index 6838ec755..9bd31c0e7 100644 --- a/Projects/UOContent/Multis/Boats/BaseBoatDeed.cs +++ b/Projects/UOContent/Multis/Boats/BaseBoatDeed.cs @@ -18,8 +18,6 @@ public abstract partial class BaseBoatDeed : Item public BaseBoatDeed(int id, Point3D offset) : base(0x14F2) { - Weight = 1.0; - if (!Core.AOS) { LootType = LootType.Newbied; @@ -29,6 +27,8 @@ public abstract partial class BaseBoatDeed : Item Offset = offset; } + public override double DefaultWeight => 1.0; + public abstract BaseBoat Boat { get; } public override void OnDoubleClick(Mobile from) diff --git a/Projects/UOContent/Multis/Boats/BaseDockedBoat.cs b/Projects/UOContent/Multis/Boats/BaseDockedBoat.cs index 7b638801a..69ddadd88 100644 --- a/Projects/UOContent/Multis/Boats/BaseDockedBoat.cs +++ b/Projects/UOContent/Multis/Boats/BaseDockedBoat.cs @@ -23,7 +23,6 @@ public abstract partial class BaseDockedBoat : Item public BaseDockedBoat(int id, Point3D offset, BaseBoat boat) : base(0x14F4) { - Weight = 1.0; LootType = LootType.Blessed; _multiId = id; @@ -32,6 +31,8 @@ public abstract partial class BaseDockedBoat : Item _shipName = boat.ShipName; } + public override double DefaultWeight => 1.0; + public abstract BaseBoat Boat { get; } public override void OnDoubleClick(Mobile from) diff --git a/Projects/UOContent/Multis/Deeds.cs b/Projects/UOContent/Multis/Deeds.cs index 1120a0b55..e4ed5c202 100644 --- a/Projects/UOContent/Multis/Deeds.cs +++ b/Projects/UOContent/Multis/Deeds.cs @@ -54,7 +54,6 @@ namespace Server.Multis.Deeds { public HouseDeed(int id, Point3D offset) : base(0x14F0) { - Weight = 1.0; LootType = LootType.Newbied; MultiID = id; @@ -75,6 +74,8 @@ namespace Server.Multis.Deeds public abstract Rectangle2D[] Area { get; } + public override double DefaultWeight => 1.0; + public override void Serialize(IGenericWriter writer) { base.Serialize(writer); diff --git a/Projects/UOContent/Multis/Houses/HousePlacementTool.cs b/Projects/UOContent/Multis/Houses/HousePlacementTool.cs index be254b01c..31007b322 100644 --- a/Projects/UOContent/Multis/Houses/HousePlacementTool.cs +++ b/Projects/UOContent/Multis/Houses/HousePlacementTool.cs @@ -14,12 +14,9 @@ namespace Server.Items; public partial class HousePlacementTool : Item { [Constructible] - public HousePlacementTool() : base(0x14F6) - { - Weight = 3.0; - LootType = LootType.Blessed; - } + public HousePlacementTool() : base(0x14F6) => LootType = LootType.Blessed; + public override double DefaultWeight => 3.0; public override int LabelNumber => 1060651; // a house placement tool public override void OnDoubleClick(Mobile from)