fix: Optimizes items to use default weights. (Part 4) (#2243)

This commit is contained in:
Kamron Batman 2025-07-24 23:29:29 -07:00 • committed by GitHub
parent 40ba85d7b8
commit fa0b67ec29
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
109 changed files with 250 additions and 391 deletions

View file

@ -20,13 +20,14 @@ public partial class Log : Item, ICommodity, IAxe
public Log(CraftResource resource, int amount) : base(0x1BDD) public Log(CraftResource resource, int amount) : base(0x1BDD)
{ {
Stackable = true; Stackable = true;
Weight = 2.0;
Amount = amount; Amount = amount;
_resource = resource; _resource = resource;
Hue = CraftResources.GetHue(resource); Hue = CraftResources.GetHue(resource);
} }
public override double DefaultWeight => 2.0;
[SerializableProperty(0)] [SerializableProperty(0)]
[CommandProperty(AccessLevel.GameMaster)] [CommandProperty(AccessLevel.GameMaster)]
public CraftResource Resource public CraftResource Resource

View file

@ -9,10 +9,11 @@ public partial class BlankScroll : Item, ICommodity
public BlankScroll(int amount = 1) : base(0xEF3) public BlankScroll(int amount = 1) : base(0xEF3)
{ {
Stackable = true; Stackable = true;
Weight = 1.0;
Amount = amount; Amount = amount;
} }
public override double DefaultWeight => 1.0;
int ICommodity.DescriptionNumber => LabelNumber; int ICommodity.DescriptionNumber => LabelNumber;
bool ICommodity.IsDeedable => Core.ML; bool ICommodity.IsDeedable => Core.ML;
} }

View file

@ -9,10 +9,11 @@ public partial class Bottle : Item, ICommodity
public Bottle(int amount = 1) : base(0xF0E) public Bottle(int amount = 1) : base(0xF0E)
{ {
Stackable = true; Stackable = true;
Weight = 1.0;
Amount = amount; Amount = amount;
} }
public override double DefaultWeight => 1.0;
int ICommodity.DescriptionNumber => LabelNumber; int ICommodity.DescriptionNumber => LabelNumber;
bool ICommodity.IsDeedable => Core.ML; bool ICommodity.IsDeedable => Core.ML;
} }

View file

@ -16,7 +16,11 @@ public partial class PotionKeg : Item
private PotionEffect _type; private PotionEffect _type;
[Constructible] [Constructible]
public PotionKeg() : base(0x1940) => UpdateWeight(); public PotionKeg() : base(0x1940)
{
}
public override double DefaultWeight => 20 + Math.Clamp(_held, 0, 100) * 0.8;
[SerializableProperty(1)] [SerializableProperty(1)]
[CommandProperty(AccessLevel.GameMaster)] [CommandProperty(AccessLevel.GameMaster)]
@ -28,7 +32,6 @@ public partial class PotionKeg : Item
if (_held != value) if (_held != value)
{ {
_held = value; _held = value;
UpdateWeight();
InvalidateProperties(); InvalidateProperties();
this.MarkDirty(); 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) private void Deserialize(IGenericReader reader, int version)
{ {
_type = (PotionEffect)reader.ReadInt(); _type = (PotionEffect)reader.ReadInt();

View file

@ -21,10 +21,11 @@ public partial class RecallRune : Item
[Constructible] [Constructible]
public RecallRune() : base(0x1F14) public RecallRune() : base(0x1F14)
{ {
Weight = 1.0;
CalculateHue(); CalculateHue();
} }
public override double DefaultWeight => 1.0;
[SerializableProperty(0)] [SerializableProperty(0)]
[CommandProperty(AccessLevel.Counselor, AccessLevel.GameMaster)] [CommandProperty(AccessLevel.Counselor, AccessLevel.GameMaster)]
public BaseHouse House public BaseHouse House

View file

@ -50,9 +50,10 @@ public abstract partial class BasePotion : Item, ICraftable, ICommodity
_potionEffect = effect; _potionEffect = effect;
Stackable = Core.ML; Stackable = Core.ML;
Weight = 1.0;
} }
public override double DefaultWeight => 1.0;
public override int LabelNumber => 1041314 + (int)_potionEffect; public override int LabelNumber => 1041314 + (int)_potionEffect;
public virtual bool RequireFreeHand => true; public virtual bool RequireFreeHand => true;

View file

@ -60,7 +60,6 @@ public partial class Runebook : Item, ISecurable, ICraftable
[Constructible] [Constructible]
public Runebook(int maxCharges) : base(Core.AOS ? 0x22C5 : 0xEFA) public Runebook(int maxCharges) : base(Core.AOS ? 0x22C5 : 0xEFA)
{ {
Weight = Core.SE ? 1.0 : 3.0;
LootType = LootType.Blessed; LootType = LootType.Blessed;
Hue = 0x461; Hue = 0x461;
@ -72,6 +71,8 @@ public partial class Runebook : Item, ISecurable, ICraftable
_level = SecureLevel.CoOwners; _level = SecureLevel.CoOwners;
} }
public override double DefaultWeight => Core.SE ? 1.0 : 3.0;
[CommandProperty(AccessLevel.GameMaster)] [CommandProperty(AccessLevel.GameMaster)]
public DateTime NextUse { get; set; } public DateTime NextUse { get; set; }

View file

@ -16,12 +16,13 @@ public partial class SpellScroll : Item, ICommodity
public SpellScroll(int spellID, int itemID, int amount = 1) : base(itemID) public SpellScroll(int spellID, int itemID, int amount = 1) : base(itemID)
{ {
Stackable = true; Stackable = true;
Weight = 1.0;
Amount = amount; Amount = amount;
_spellID = spellID; _spellID = spellID;
} }
public override double DefaultWeight => 1.0;
int ICommodity.DescriptionNumber => LabelNumber; int ICommodity.DescriptionNumber => LabelNumber;
bool ICommodity.IsDeedable => Core.ML; bool ICommodity.IsDeedable => Core.ML;

View file

@ -116,7 +116,6 @@ public partial class Spellbook : Item, ICraftable, ISlayer, IAosItem
_attributes = new AosAttributes(this); _attributes = new AosAttributes(this);
_skillBonuses = new AosSkillBonuses(this); _skillBonuses = new AosSkillBonuses(this);
Weight = 3.0;
Layer = Layer.OneHanded; Layer = Layer.OneHanded;
LootType = LootType.Blessed; LootType = LootType.Blessed;
@ -124,6 +123,8 @@ public partial class Spellbook : Item, ICraftable, ISlayer, IAosItem
Content = content; Content = content;
} }
public override double DefaultWeight => 3.0;
public override bool DisplayWeight => false; public override bool DisplayWeight => false;
public virtual SpellbookType SpellbookType => SpellbookType.Regular; public virtual SpellbookType SpellbookType => SpellbookType.Regular;

View file

@ -10,11 +10,9 @@ namespace Server.Items;
public partial class FireHorn : Item public partial class FireHorn : Item
{ {
[Constructible] [Constructible]
public FireHorn() : base(0xFC7) public FireHorn() : base(0xFC7) => Hue = 0x466;
{
Hue = 0x466; public override double DefaultWeight => 1.0;
Weight = 1.0;
}
public override int LabelNumber => 1060456; // fire horn public override int LabelNumber => 1060456; // fire horn

View file

@ -11,9 +11,10 @@ public partial class EggBomb : Item
{ {
// Item ID should be 0x2809 - Temporary solution for clients 7.0.0.0 and up // Item ID should be 0x2809 - Temporary solution for clients 7.0.0.0 and up
Stackable = Core.ML; Stackable = Core.ML;
Weight = 1.0;
} }
public override double DefaultWeight => 1.0;
public override int LabelNumber => 1030249; public override int LabelNumber => 1030249;
public override void OnDoubleClick(Mobile from) public override void OnDoubleClick(Mobile from)

View file

@ -26,11 +26,9 @@ public partial class Fukiya : Item, INinjaWeapon
private int _poisonCharges; private int _poisonCharges;
[Constructible] [Constructible]
public Fukiya() : base(0x27AA) public Fukiya() : base(0x27AA) => Layer = Layer.OneHanded;
{
Weight = 4.0; public override double DefaultWeight => 1.0;
Layer = Layer.OneHanded;
}
public virtual int WrongAmmoMessage => 1063329; // You can only load fukiya darts 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. public virtual int NoFreeHandMessage => 1063327; // You must have a free hand to use a fukiya.

View file

@ -23,15 +23,9 @@ public partial class FukiyaDarts : Item, ICraftable, INinjaAmmo
private int _poisonCharges; private int _poisonCharges;
[Constructible] [Constructible]
public FukiyaDarts(int amount = 1) : base(0x2806) public FukiyaDarts(int amount = 1) : base(0x2806) => _usesRemaining = amount;
{
Weight = 1.0;
_usesRemaining = amount;
}
public FukiyaDarts(Serial serial) : base(serial) public override double DefaultWeight => 1.0;
{
}
public int OnCraft( public int OnCraft(
int quality, bool makersMark, Mobile from, CraftSystem craftSystem, Type typeRes, BaseTool tool, int quality, bool makersMark, Mobile from, CraftSystem craftSystem, Type typeRes, BaseTool tool,

View file

@ -26,11 +26,9 @@ public partial class LeatherNinjaBelt : BaseWaist, INinjaWeapon
private int _poisonCharges; private int _poisonCharges;
[Constructible] [Constructible]
public LeatherNinjaBelt() : base(0x2790) public LeatherNinjaBelt() : base(0x2790) => Layer = Layer.Waist;
{
Weight = 1.0; public override double DefaultWeight => 1.0;
Layer = Layer.Waist;
}
public override CraftResource DefaultResource => CraftResource.RegularLeather; public override CraftResource DefaultResource => CraftResource.RegularLeather;

View file

@ -24,11 +24,9 @@ public partial class Shuriken : Item, ICraftable, INinjaAmmo
private int _poisonCharges; private int _poisonCharges;
[Constructible] [Constructible]
public Shuriken(int amount = 1) : base(0x27AC) public Shuriken(int amount = 1) : base(0x27AC) => _usesRemaining = amount;
{
Weight = 1.0; public override double DefaultWeight => 1.0;
_usesRemaining = amount;
}
public int OnCraft( public int OnCraft(
int quality, bool makersMark, Mobile from, CraftSystem craftSystem, Type typeRes, BaseTool tool, int quality, bool makersMark, Mobile from, CraftSystem craftSystem, Type typeRes, BaseTool tool,

View file

@ -7,11 +7,9 @@ namespace Server.Items;
public partial class SmokeBomb : Item public partial class SmokeBomb : Item
{ {
[Constructible] [Constructible]
public SmokeBomb() : base(0x2808) public SmokeBomb() : base(0x2808) => Stackable = Core.ML;
{
Stackable = Core.ML; public override double DefaultWeight => 1.0;
Weight = 1.0;
}
public override void OnDoubleClick(Mobile from) public override void OnDoubleClick(Mobile from)
{ {

View file

@ -7,11 +7,9 @@ namespace Server.Items;
public partial class Sand : Item, ICommodity public partial class Sand : Item, ICommodity
{ {
[Constructible] [Constructible]
public Sand(int amount = 1) : base(0x11EA) public Sand(int amount = 1) : base(0x11EA) => Stackable = Core.ML;
{
Stackable = Core.ML; public override double DefaultWeight => 1.0;
Weight = 1.0;
}
public override int LabelNumber => 1044626; // sand public override int LabelNumber => 1044626; // sand
int ICommodity.DescriptionNumber => LabelNumber; int ICommodity.DescriptionNumber => LabelNumber;

View file

@ -25,11 +25,9 @@ namespace Server.Items
private bool _redyable; private bool _redyable;
[Constructible] [Constructible]
public DyeTub() : base(0xFAB) public DyeTub() : base(0xFAB) => _redyable = true;
{
Weight = 10.0; public override double DefaultWeight => 10.0;
_redyable = true;
}
public virtual CustomHuePicker CustomHuePicker => null; public virtual CustomHuePicker CustomHuePicker => null;

View file

@ -11,6 +11,7 @@ public partial class Axle : Item
{ {
Stackable = true; Stackable = true;
Amount = amount; Amount = amount;
Weight = 1.0;
} }
public override double DefaultWeight => 1.0;
} }

View file

@ -11,6 +11,7 @@ public partial class AxleGears : Item
{ {
Stackable = true; Stackable = true;
Amount = amount; Amount = amount;
Weight = 1.0;
} }
public override double DefaultWeight => 1.0;
} }

View file

@ -11,6 +11,7 @@ public partial class ClockFrame : Item
{ {
Stackable = true; Stackable = true;
Amount = amount; Amount = amount;
Weight = 2.0;
} }
public override double DefaultWeight => 2.0;
} }

View file

@ -11,6 +11,7 @@ public partial class ClockParts : Item
{ {
Stackable = true; Stackable = true;
Amount = amount; Amount = amount;
Weight = 1.0;
} }
public override double DefaultWeight => 1.0;
} }

View file

@ -11,6 +11,7 @@ public partial class Gears : Item
{ {
Stackable = true; Stackable = true;
Amount = amount; Amount = amount;
Weight = 1.0;
} }
public override double DefaultWeight => 1.0;
} }

View file

@ -11,6 +11,7 @@ public partial class Hinge : Item
{ {
Stackable = true; Stackable = true;
Amount = amount; Amount = amount;
Weight = 1.0;
} }
public override double DefaultWeight => 1.0;
} }

View file

@ -11,6 +11,7 @@ public partial class SextantParts : Item
{ {
Stackable = true; Stackable = true;
Amount = amount; Amount = amount;
Weight = 2.0;
} }
public override double DefaultWeight => 2.0;
} }

View file

@ -11,6 +11,7 @@ public partial class Springs : Item
{ {
Stackable = true; Stackable = true;
Amount = amount; Amount = amount;
Weight = 1.0;
} }
public override double DefaultWeight => 1.0;
} }

View file

@ -8,18 +8,12 @@ namespace Server.Items;
public partial class Blowpipe : BaseTool public partial class Blowpipe : BaseTool
{ {
[Constructible] [Constructible]
public Blowpipe() : base(0xE8A) public Blowpipe() : base(0xE8A) => Hue = 0x3B9;
{
Weight = 4.0;
Hue = 0x3B9;
}
[Constructible] [Constructible]
public Blowpipe(int uses) : base(uses, 0xE8A) public Blowpipe(int uses) : base(uses, 0xE8A) => Hue = 0x3B9;
{
Weight = 4.0; public override double DefaultWeight => 4.0;
Hue = 0x3B9;
}
public override CraftSystem CraftSystem => DefGlassblowing.CraftSystem; public override CraftSystem CraftSystem => DefGlassblowing.CraftSystem;

View file

@ -7,18 +7,12 @@ namespace Server.Items;
public partial class RunicDovetailSaw : BaseRunicTool public partial class RunicDovetailSaw : BaseRunicTool
{ {
[Constructible] [Constructible]
public RunicDovetailSaw(CraftResource resource) : base(resource, 0x1028) public RunicDovetailSaw(CraftResource resource) : base(resource, 0x1028) => Hue = CraftResources.GetHue(resource);
{
Weight = 2.0;
Hue = CraftResources.GetHue(resource);
}
[Constructible] [Constructible]
public RunicDovetailSaw(CraftResource resource, int uses) : base(resource, uses, 0x1028) public RunicDovetailSaw(CraftResource resource, int uses) : base(resource, uses, 0x1028) => Hue = CraftResources.GetHue(resource);
{
Weight = 2.0; public override double DefaultWeight => 2.0;
Hue = CraftResources.GetHue(resource);
}
public override CraftSystem CraftSystem => DefCarpentry.CraftSystem; public override CraftSystem CraftSystem => DefCarpentry.CraftSystem;

View file

@ -7,18 +7,12 @@ namespace Server.Items;
public partial class RunicFletcherTool : BaseRunicTool public partial class RunicFletcherTool : BaseRunicTool
{ {
[Constructible] [Constructible]
public RunicFletcherTool(CraftResource resource) : base(resource, 0x1022) public RunicFletcherTool(CraftResource resource) : base(resource, 0x1022) => Hue = CraftResources.GetHue(resource);
{
Weight = 2.0;
Hue = CraftResources.GetHue(resource);
}
[Constructible] [Constructible]
public RunicFletcherTool(CraftResource resource, int uses) : base(resource, uses, 0x1022) public RunicFletcherTool(CraftResource resource, int uses) : base(resource, uses, 0x1022) => Hue = CraftResources.GetHue(resource);
{
Weight = 2.0; public override double DefaultWeight => 2.0;
Hue = CraftResources.GetHue(resource);
}
public override CraftSystem CraftSystem => DefBowFletching.CraftSystem; public override CraftSystem CraftSystem => DefBowFletching.CraftSystem;

View file

@ -10,7 +10,6 @@ public partial class RunicHammer : BaseRunicTool
[Constructible] [Constructible]
public RunicHammer(CraftResource resource) : base(resource, 0x13E3) public RunicHammer(CraftResource resource) : base(resource, 0x13E3)
{ {
Weight = 8.0;
Layer = Layer.OneHanded; Layer = Layer.OneHanded;
Hue = CraftResources.GetHue(resource); Hue = CraftResources.GetHue(resource);
} }
@ -18,11 +17,12 @@ public partial class RunicHammer : BaseRunicTool
[Constructible] [Constructible]
public RunicHammer(CraftResource resource, int uses) : base(resource, uses, 0x13E3) public RunicHammer(CraftResource resource, int uses) : base(resource, uses, 0x13E3)
{ {
Weight = 8.0;
Layer = Layer.OneHanded; Layer = Layer.OneHanded;
Hue = CraftResources.GetHue(resource); Hue = CraftResources.GetHue(resource);
} }
public override double DefaultWeight => 8.0;
public override CraftSystem CraftSystem => DefBlacksmithy.CraftSystem; public override CraftSystem CraftSystem => DefBlacksmithy.CraftSystem;
public override int LabelNumber public override int LabelNumber

View file

@ -7,18 +7,12 @@ namespace Server.Items;
public partial class RunicSewingKit : BaseRunicTool public partial class RunicSewingKit : BaseRunicTool
{ {
[Constructible] [Constructible]
public RunicSewingKit(CraftResource resource) : base(resource, 0xF9D) public RunicSewingKit(CraftResource resource) : base(resource, 0xF9D) => Hue = CraftResources.GetHue(resource);
{
Weight = 2.0;
Hue = CraftResources.GetHue(resource);
}
[Constructible] [Constructible]
public RunicSewingKit(CraftResource resource, int uses) : base(resource, uses, 0xF9D) public RunicSewingKit(CraftResource resource, int uses) : base(resource, uses, 0xF9D) => Hue = CraftResources.GetHue(resource);
{
Weight = 2.0; public override double DefaultWeight => 2.0;
Hue = CraftResources.GetHue(resource);
}
public override CraftSystem CraftSystem => DefTailoring.CraftSystem; public override CraftSystem CraftSystem => DefTailoring.CraftSystem;

View file

@ -8,18 +8,12 @@ namespace Server.Items;
public partial class SmithHammer : BaseTool public partial class SmithHammer : BaseTool
{ {
[Constructible] [Constructible]
public SmithHammer() : base(0x13E3) public SmithHammer() : base(0x13E3) => Layer = Layer.OneHanded;
{
Weight = 8.0;
Layer = Layer.OneHanded;
}
[Constructible] [Constructible]
public SmithHammer(int uses) : base(uses, 0x13E3) public SmithHammer(int uses) : base(uses, 0x13E3) => Layer = Layer.OneHanded;
{
Weight = 8.0; public override double DefaultWeight => 8.0;
Layer = Layer.OneHanded;
}
public override CraftSystem CraftSystem => DefBlacksmithy.CraftSystem; public override CraftSystem CraftSystem => DefBlacksmithy.CraftSystem;
} }

View file

@ -118,8 +118,6 @@ public partial class DawnsMusicBox : Item, ISecurable
[Constructible] [Constructible]
public DawnsMusicBox() : base(0x2AF9) public DawnsMusicBox() : base(0x2AF9)
{ {
Weight = 1.0;
var shuffledTracks = GetTracks(DawnsMusicRarity.Common); var shuffledTracks = GetTracks(DawnsMusicRarity.Common);
shuffledTracks.Shuffle(); 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 int LabelNumber => 1075198; // Dawn's Music Box
public override void OnAfterDuped(Item newItem) public override void OnAfterDuped(Item newItem)

View file

@ -17,11 +17,9 @@ public partial class DawnsMusicGear : Item
} }
[Constructible] [Constructible]
public DawnsMusicGear(MusicName music) : base(0x1053) public DawnsMusicGear(MusicName music) : base(0x1053) => _music = music;
{
_music = music; public override double DefaultWeight => 1.0;
Weight = 1.0;
}
public static DawnsMusicGear RandomCommon => new(DawnsMusicBox.RandomTrack(DawnsMusicRarity.Common)); public static DawnsMusicGear RandomCommon => new(DawnsMusicBox.RandomTrack(DawnsMusicRarity.Common));

View file

@ -9,7 +9,6 @@ public partial class DupresShield : BaseShield
public DupresShield() : base(0x2B01) public DupresShield() : base(0x2B01)
{ {
LootType = LootType.Blessed; LootType = LootType.Blessed;
Weight = 6.0;
Attributes.BonusHits = 5; Attributes.BonusHits = 5;
Attributes.RegenHits = 1; Attributes.RegenHits = 1;
@ -17,6 +16,8 @@ public partial class DupresShield : BaseShield
SkillBonuses.SetValues(0, SkillName.Parry, 5); SkillBonuses.SetValues(0, SkillName.Parry, 5);
} }
public override double DefaultWeight => 6.0;
public override int LabelNumber => 1075196; // Dupre's Shield public override int LabelNumber => 1075196; // Dupre's Shield
public override int BasePhysicalResistance => 1; public override int BasePhysicalResistance => 1;

View file

@ -9,7 +9,6 @@ public partial class QuiverOfInfinity : BaseQuiver
public QuiverOfInfinity() : base(0x2B02) public QuiverOfInfinity() : base(0x2B02)
{ {
LootType = LootType.Blessed; LootType = LootType.Blessed;
Weight = 8.0;
WeightReduction = 30; WeightReduction = 30;
LowerAmmoCost = 20; LowerAmmoCost = 20;
@ -17,5 +16,7 @@ public partial class QuiverOfInfinity : BaseQuiver
Attributes.DefendChance = 5; Attributes.DefendChance = 5;
} }
public override double DefaultWeight => 8.0;
public override int LabelNumber => 1075201; // Quiver of Infinity public override int LabelNumber => 1075201; // Quiver of Infinity
} }

View file

@ -20,9 +20,10 @@ public partial class BaseFormTalisman : Item
{ {
LootType = LootType.Blessed; LootType = LootType.Blessed;
Layer = Layer.Talisman; Layer = Layer.Talisman;
Weight = 1.0;
} }
public override double DefaultWeight => 1.0;
public virtual TalismanForm Form => TalismanForm.Squirrel; public virtual TalismanForm Form => TalismanForm.Squirrel;
public override void AddNameProperty(IPropertyList list) public override void AddNameProperty(IPropertyList list)

View file

@ -7,11 +7,9 @@ namespace Server.Items;
public partial class HoodedShroudOfShadows : BaseOuterTorso public partial class HoodedShroudOfShadows : BaseOuterTorso
{ {
[Constructible] [Constructible]
public HoodedShroudOfShadows(int hue = 0x455) : base(0x2684, hue) public HoodedShroudOfShadows(int hue = 0x455) : base(0x2684, hue) => LootType = LootType.Blessed;
{
LootType = LootType.Blessed; public override double DefaultWeight => 3.0;
Weight = 3.0;
}
public override bool Dye(Mobile from, DyeTub sender) public override bool Dye(Mobile from, DyeTub sender)
{ {

View file

@ -13,11 +13,12 @@ public partial class AncientSmithyHammer : BaseTool
public AncientSmithyHammer(int bonus, int uses = 600) : base(uses, 0x13E4) public AncientSmithyHammer(int bonus, int uses = 600) : base(uses, 0x13E4)
{ {
_bonus = bonus; _bonus = bonus;
Weight = 8.0;
Layer = Layer.OneHanded; Layer = Layer.OneHanded;
Hue = 0x482; Hue = 0x482;
} }
public override double DefaultWeight => 8.0;
[SerializableProperty(0)] [SerializableProperty(0)]
[CommandProperty(AccessLevel.GameMaster)] [CommandProperty(AccessLevel.GameMaster)]
public int Bonus public int Bonus

View file

@ -13,6 +13,7 @@ public partial class ColoredAnvil : Item
{ {
// TODO: Color weighted by rarity? // TODO: Color weighted by rarity?
Hue = CraftResources.GetRandomResource(CraftResource.DullCopper, CraftResource.Valorite)?.Hue ?? 0; Hue = CraftResources.GetRandomResource(CraftResource.DullCopper, CraftResource.Valorite)?.Hue ?? 0;
Weight = 20;
} }
public override double DefaultWeight => 20.0;
} }

View file

@ -15,11 +15,12 @@ public partial class PowderOfTemperament : Item, IUsesRemaining
[Constructible] [Constructible]
public PowderOfTemperament(int charges = 10) : base(4102) public PowderOfTemperament(int charges = 10) : base(4102)
{ {
Weight = 1.0;
Hue = 2419; Hue = 2419;
UsesRemaining = charges; UsesRemaining = charges;
} }
public override double DefaultWeight => 1.0;
public override int LabelNumber => 1049082; // powder of fortifying public override int LabelNumber => 1049082; // powder of fortifying
bool IUsesRemaining.ShowUsesRemaining bool IUsesRemaining.ShowUsesRemaining

View file

@ -11,11 +11,9 @@ public partial class JesterHatofChuckles : BaseHat
} }
[Constructible] [Constructible]
public JesterHatofChuckles(int hue) : base(0x171C, hue) public JesterHatofChuckles(int hue) : base(0x171C, hue) => Attributes.Luck = 150;
{
Attributes.Luck = 150; public override double DefaultWeight => 1.0;
Weight = 1.0;
}
public override int LabelNumber => 1073256; // Jester Hat of Chuckles - Museum of Vesper Replica 1073256 public override int LabelNumber => 1073256; // Jester Hat of Chuckles - Museum of Vesper Replica 1073256

View file

@ -26,13 +26,13 @@ public partial class RoseOfTrinsic : Item, ISecurable
[Constructible] [Constructible]
public RoseOfTrinsic() : base(0x234D) public RoseOfTrinsic() : base(0x234D)
{ {
Weight = 1.0;
LootType = LootType.Blessed; LootType = LootType.Blessed;
_petals = 0; _petals = 0;
StartSpawnTimer(TimeSpan.FromMinutes(1.0)); StartSpawnTimer(TimeSpan.FromMinutes(1.0));
} }
public override double DefaultWeight => 1.0;
public override int LabelNumber => 1062913; // Rose of Trinsic public override int LabelNumber => 1062913; // Rose of Trinsic
public override void OnAfterDuped(Item newItem) public override void OnAfterDuped(Item newItem)
@ -156,11 +156,11 @@ public partial class RoseOfTrinsicPetal : Item
{ {
Stackable = true; Stackable = true;
Amount = amount; Amount = amount;
Weight = 1.0;
Hue = 0xE; Hue = 0xE;
} }
public override double DefaultWeight => 1.0;
public override int LabelNumber => 1062926; // Petal of the Rose of Trinsic public override int LabelNumber => 1062926; // Petal of the Rose of Trinsic
public override void OnDoubleClick(Mobile from) public override void OnDoubleClick(Mobile from)

View file

@ -9,7 +9,6 @@ public partial class SamuraiHelm : BaseArmor
[Constructible] [Constructible]
public SamuraiHelm() : base(0x236C) public SamuraiHelm() : base(0x236C)
{ {
Weight = 5.0;
LootType = LootType.Blessed; LootType = LootType.Blessed;
Attributes.DefendChance = 15; Attributes.DefendChance = 15;
@ -18,6 +17,8 @@ public partial class SamuraiHelm : BaseArmor
ArmorAttributes.MageArmor = 1; ArmorAttributes.MageArmor = 1;
} }
public override double DefaultWeight => 5.0;
public override int LabelNumber => 1062923; // Ancient Samurai Helm public override int LabelNumber => 1062923; // Ancient Samurai Helm
public override int BasePhysicalResistance => 15; public override int BasePhysicalResistance => 15;

View file

@ -7,12 +7,9 @@ namespace Server.Items;
public partial class HeritageToken : Item public partial class HeritageToken : Item
{ {
[Constructible] [Constructible]
public HeritageToken() : base(0x367A) public HeritageToken() : base(0x367A) => LootType = LootType.Blessed;
{
LootType = LootType.Blessed;
Weight = 5.0;
}
public override double DefaultWeight => 5.0;
public override int LabelNumber => 1076596; // A Heritage Token public override int LabelNumber => 1076596; // A Heritage Token
public override void OnDoubleClick(Mobile from) public override void OnDoubleClick(Mobile from)

View file

@ -13,9 +13,7 @@ public partial class GiftBox : BaseContainer
} }
[Constructible] [Constructible]
public GiftBox(int hue) : base(Utility.Random(0x232A, 2)) public GiftBox(int hue) : base(Utility.Random(0x232A, 2)) => Hue = hue;
{
Weight = 2.0; public override double DefaultWeight => 2.0;
Hue = hue;
}
} }

View file

@ -87,13 +87,14 @@ public partial class Snowman : Item, IDyable
[Constructible] [Constructible]
public Snowman(int hue, string title) : base(Utility.Random(0x2328, 2)) public Snowman(int hue, string title) : base(Utility.Random(0x2328, 2))
{ {
Weight = 10.0;
Hue = hue; Hue = hue;
LootType = LootType.Blessed; LootType = LootType.Blessed;
_title = title; _title = title;
} }
public override double DefaultWeight => 10.0;
public bool Dye(Mobile from, DyeTub sender) public bool Dye(Mobile from, DyeTub sender)
{ {
if (Deleted) if (Deleted)

View file

@ -165,11 +165,12 @@ public partial class WreathDeed : Item
[Constructible] [Constructible]
public WreathDeed(int hue) : base(0x14F0) public WreathDeed(int hue) : base(0x14F0)
{ {
Weight = 1.0;
Hue = hue; Hue = hue;
LootType = LootType.Blessed; LootType = LootType.Blessed;
} }
public override double DefaultWeight => 1.0;
public override int LabelNumber => 1062837; // holiday wreath deed public override int LabelNumber => 1062837; // holiday wreath deed
public override void OnDoubleClick(Mobile from) public override void OnDoubleClick(Mobile from)

View file

@ -74,11 +74,11 @@ public partial class MiniHouseDeed : BaseAddonDeed
public MiniHouseDeed(MiniHouseType type = MiniHouseType.StoneAndPlaster) public MiniHouseDeed(MiniHouseType type = MiniHouseType.StoneAndPlaster)
{ {
_type = type; _type = type;
Weight = 1.0;
LootType = LootType.Blessed; LootType = LootType.Blessed;
} }
public override double DefaultWeight => 1.0;
public override BaseAddon Addon => new MiniHouseAddon(_type); public override BaseAddon Addon => new MiniHouseAddon(_type);
public override int LabelNumber => 1062096; // a mini house deed public override int LabelNumber => 1062096; // a mini house deed

View file

@ -6,11 +6,9 @@ namespace Server.Items;
public partial class PlagueBeastGland : Item public partial class PlagueBeastGland : Item
{ {
[Constructible] [Constructible]
public PlagueBeastGland() : base(0x1CEF) public PlagueBeastGland() : base(0x1CEF) => Hue = 0x6;
{
Weight = 1.0; public override double DefaultWeight => 1.0;
Hue = 0x6;
}
public override int LabelNumber => 1153759; // a healthy gland public override int LabelNumber => 1153759; // a healthy gland
} }

View file

@ -10,9 +10,10 @@ public partial class PlagueBeastInnard : Item, IScissorable, ICarvable
{ {
Hue = hue; Hue = hue;
Movable = false; Movable = false;
Weight = 1.0;
} }
public override double DefaultWeight => 1.0;
public PlagueBeastLord Owner => RootParent as PlagueBeastLord; public PlagueBeastLord Owner => RootParent as PlagueBeastLord;
public override string DefaultName => "plague beast innards"; public override string DefaultName => "plague beast innards";

View file

@ -15,10 +15,11 @@ public partial class PlagueBeastMutationCore : Item, IScissorable
public PlagueBeastMutationCore() : base(0x1CF0) public PlagueBeastMutationCore() : base(0x1CF0)
{ {
_cut = true; _cut = true;
Weight = 1.0;
Hue = 0x480; Hue = 0x480;
} }
public override double DefaultWeight => 1.0;
public override int LabelNumber => 1153760; // a plague beast mutation core public override int LabelNumber => 1153760; // a plague beast mutation core
public virtual bool Scissor(Mobile from, Scissors scissors) public virtual bool Scissor(Mobile from, Scissors scissors)

View file

@ -9,7 +9,6 @@ public partial class RewardCake : Item
public RewardCake() : base(0x9e9) public RewardCake() : base(0x9e9)
{ {
Stackable = false; Stackable = false;
Weight = 1.0;
Hue = Utility.RandomList( Hue = Utility.RandomList(
0x135, 0x135,
0xcd, 0xcd,
@ -31,6 +30,8 @@ public partial class RewardCake : Item
LootType = LootType.Blessed; LootType = LootType.Blessed;
} }
public override double DefaultWeight => 1.0;
public override int LabelNumber => 1049786; // Happy Birthday! ... public override int LabelNumber => 1049786; // Happy Birthday! ...
public override bool DisplayLootType => false; public override bool DisplayLootType => false;

View file

@ -27,12 +27,12 @@ public partial class BagOfSending : Item, TranslocationItem
[Constructible] [Constructible]
public BagOfSending(BagOfSendingHue hue) : base(0xE76) public BagOfSending(BagOfSendingHue hue) : base(0xE76)
{ {
Weight = 2.0;
BagOfSendingHue = hue; BagOfSendingHue = hue;
_charges = Utility.RandomMinMax(3, 9); _charges = Utility.RandomMinMax(3, 9);
} }
public override double DefaultWeight => 2.0;
public override int LabelNumber => 1054104; // a bag of sending public override int LabelNumber => 1054104; // a bag of sending
[SerializableProperty(0)] [SerializableProperty(0)]

View file

@ -21,13 +21,14 @@ public partial class BallOfSummoning : Item, TranslocationItem
[Constructible] [Constructible]
public BallOfSummoning() : base(0xE2E) public BallOfSummoning() : base(0xE2E)
{ {
Weight = 10.0;
Light = LightType.Circle150; Light = LightType.Circle150;
_charges = Utility.RandomMinMax(3, 9); _charges = Utility.RandomMinMax(3, 9);
_petName = null; _petName = null;
} }
public override double DefaultWeight => 10.0;
[SerializableProperty(0)] [SerializableProperty(0)]
[CommandProperty(AccessLevel.GameMaster)] [CommandProperty(AccessLevel.GameMaster)]
public int Recharges public int Recharges

View file

@ -23,11 +23,9 @@ public partial class BraceletOfBinding : BaseBracelet, TranslocationItem
private TransportTimer _timer; private TransportTimer _timer;
[Constructible] [Constructible]
public BraceletOfBinding() : base(0x1086) public BraceletOfBinding() : base(0x1086) => Hue = 0x489;
{
Hue = 0x489; public override double DefaultWeight => 1.0;
Weight = 1.0;
}
[SerializableProperty(0)] [SerializableProperty(0)]
[CommandProperty(AccessLevel.GameMaster)] [CommandProperty(AccessLevel.GameMaster)]

View file

@ -19,10 +19,11 @@ public partial class PowderOfTranslocation : Item
public PowderOfTranslocation(int amount = 1) : base(0x26B8) public PowderOfTranslocation(int amount = 1) : base(0x26B8)
{ {
Stackable = true; Stackable = true;
Weight = 0.1;
Amount = amount; Amount = amount;
} }
public override double DefaultWeight => 0.1;
public override void OnDoubleClick(Mobile from) public override void OnDoubleClick(Mobile from)
{ {
if (from.InRange(GetWorldLocation(), 2)) if (from.InRange(GetWorldLocation(), 2))

View file

@ -9,10 +9,11 @@ public partial class ZoogiFungus : Item, ICommodity
public ZoogiFungus(int amount = 1) : base(0x26B7) public ZoogiFungus(int amount = 1) : base(0x26B7)
{ {
Stackable = true; Stackable = true;
Weight = 0.1;
Amount = amount; Amount = amount;
} }
public override double DefaultWeight => 0.1;
int ICommodity.DescriptionNumber => LabelNumber; int ICommodity.DescriptionNumber => LabelNumber;
bool ICommodity.IsDeedable => Core.ML; bool ICommodity.IsDeedable => Core.ML;
} }

View file

@ -20,12 +20,13 @@ public abstract partial class SpecialScroll : Item
public SpecialScroll(SkillName skill, double value) : base(0x14F0) public SpecialScroll(SkillName skill, double value) : base(0x14F0)
{ {
LootType = LootType.Cursed; LootType = LootType.Cursed;
Weight = 1.0;
_skill = skill; _skill = skill;
_value = value; _value = value;
} }
public override double DefaultWeight => 1.0;
public abstract int Message { get; } public abstract int Message { get; }
public virtual int Title => 0; public virtual int Title => 0;
public abstract string DefaultTitle { get; } public abstract string DefaultTitle { get; }

View file

@ -100,12 +100,9 @@ public partial class BannerDeed : Item, IRewardItem
private bool _isRewardItem; private bool _isRewardItem;
[Constructible] [Constructible]
public BannerDeed() : base(0x14F0) public BannerDeed() : base(0x14F0) => LootType = LootType.Blessed;
{
LootType = LootType.Blessed;
Weight = 1.0;
}
public override double DefaultWeight => 1.0;
public override int LabelNumber => 1041007; // a banner deed public override int LabelNumber => 1041007; // a banner deed
public override void GetProperties(IPropertyList list) public override void GetProperties(IPropertyList list)

View file

@ -25,11 +25,9 @@ public partial class RewardBrazier : Item, IRewardItem
} }
[Constructible] [Constructible]
public RewardBrazier(int itemID) : base(itemID) public RewardBrazier(int itemID) : base(itemID) => LootType = LootType.Blessed;
{
LootType = LootType.Blessed; public override double DefaultWeight => 10.0;
Weight = 10.0;
}
public override bool ForceShowProperties => ObjectPropertyList.Enabled; public override bool ForceShowProperties => ObjectPropertyList.Enabled;
@ -115,11 +113,9 @@ public partial class RewardBrazierDeed : Item, IRewardItem
private bool _isRewardItem; private bool _isRewardItem;
[Constructible] [Constructible]
public RewardBrazierDeed() : base(0x14F0) public RewardBrazierDeed() : base(0x14F0) => LootType = LootType.Blessed;
{
LootType = LootType.Blessed; public override double DefaultWeight => 1.0;
Weight = 1.0;
}
public override int LabelNumber => 1080527; // Brazier Deed public override int LabelNumber => 1080527; // Brazier Deed

View file

@ -13,12 +13,9 @@ public partial class CommodityDeedBox : BaseContainer, IRewardItem
private bool _isRewardItem; private bool _isRewardItem;
[Constructible] [Constructible]
public CommodityDeedBox() : base(0x9AA) public CommodityDeedBox() : base(0x9AA) => Hue = 0x47;
{
Hue = 0x47;
Weight = 4.0;
}
public override double DefaultWeight => 4.0;
public override int LabelNumber => 1080523; // Commodity Deed Box public override int LabelNumber => 1080523; // Commodity Deed Box
public override int DefaultGumpID => 0x43; public override int DefaultGumpID => 0x43;

View file

@ -84,12 +84,9 @@ public partial class DecorativeShieldDeed : Item, IRewardItem
private bool _isRewardItem; private bool _isRewardItem;
[Constructible] [Constructible]
public DecorativeShieldDeed() : base(0x14F0) public DecorativeShieldDeed() : base(0x14F0) => LootType = LootType.Blessed;
{
LootType = LootType.Blessed;
Weight = 1.0;
}
public override double DefaultWeight => 1.0;
public override int LabelNumber => 1049771; // deed for a decorative shield wall hanging public override int LabelNumber => 1049771; // deed for a decorative shield wall hanging
public override void GetProperties(IPropertyList list) public override void GetProperties(IPropertyList list)

View file

@ -98,12 +98,9 @@ public partial class FlamingHeadDeed : Item, IRewardItem
private bool _isRewardItem; private bool _isRewardItem;
[Constructible] [Constructible]
public FlamingHeadDeed() : base(0x14F0) public FlamingHeadDeed() : base(0x14F0) => LootType = LootType.Blessed;
{
LootType = LootType.Blessed;
Weight = 1.0;
}
public override double DefaultWeight => 1.0;
public override int LabelNumber => 1041050; // a flaming head deed public override int LabelNumber => 1041050; // a flaming head deed
public override void GetProperties(IPropertyList list) public override void GetProperties(IPropertyList list)

View file

@ -88,12 +88,9 @@ public partial class HangingSkeletonDeed : Item, IRewardItem
private bool _isRewardItem; private bool _isRewardItem;
[Constructible] [Constructible]
public HangingSkeletonDeed() : base(0x14F0) public HangingSkeletonDeed() : base(0x14F0) => LootType = LootType.Blessed;
{
LootType = LootType.Blessed;
Weight = 1.0;
}
public override double DefaultWeight => 1.0;
public override int LabelNumber => 1049772; // deed for a hanging skeleton decoration public override int LabelNumber => 1049772; // deed for a hanging skeleton decoration
public override void GetProperties(IPropertyList list) public override void GetProperties(IPropertyList list)

View file

@ -37,12 +37,9 @@ public partial class PottedCactusDeed : Item, IRewardItem
private bool _isRewardItem; private bool _isRewardItem;
[Constructible] [Constructible]
public PottedCactusDeed() : base(0x14F0) public PottedCactusDeed() : base(0x14F0) => LootType = LootType.Blessed;
{
LootType = LootType.Blessed;
Weight = 1.0;
}
public override double DefaultWeight => 1.0;
public override int LabelNumber => 1080407; // Potted Cactus Deed public override int LabelNumber => 1080407; // Potted Cactus Deed
public override void OnDoubleClick(Mobile from) public override void OnDoubleClick(Mobile from)

View file

@ -24,11 +24,11 @@ public partial class WeaponEngravingTool : Item, IUsesRemaining, IRewardItem
public WeaponEngravingTool(int uses = 10) : base(0x32F8) public WeaponEngravingTool(int uses = 10) : base(0x32F8)
{ {
LootType = LootType.Blessed; LootType = LootType.Blessed;
Weight = 1.0;
_usesRemaining = uses; _usesRemaining = uses;
} }
public override double DefaultWeight => 1.0;
public override int LabelNumber => 1076158; // Weapon Engraving Tool public override int LabelNumber => 1076158; // Weapon Engraving Tool
public bool ShowUsesRemaining public bool ShowUsesRemaining

View file

@ -8,7 +8,6 @@ public abstract partial class BaseSuit : Item
public BaseSuit(AccessLevel level, int hue, int itemID) : base(itemID) public BaseSuit(AccessLevel level, int hue, int itemID) : base(itemID)
{ {
Hue = hue; Hue = hue;
Weight = 1.0;
Movable = false; Movable = false;
LootType = LootType.Newbied; LootType = LootType.Newbied;
Layer = Layer.OuterTorso; Layer = Layer.OuterTorso;
@ -16,6 +15,8 @@ public abstract partial class BaseSuit : Item
_accessLevel = level; _accessLevel = level;
} }
public override double DefaultWeight => 1.0;
[SerializableProperty(0)] [SerializableProperty(0)]
public AccessLevel AccessLevel public AccessLevel AccessLevel
{ {

View file

@ -271,7 +271,6 @@ public partial class BaseTalisman : Item, IAosItem
public BaseTalisman(int itemID) : base(itemID) public BaseTalisman(int itemID) : base(itemID)
{ {
Layer = Layer.Talisman; Layer = Layer.Talisman;
Weight = 1.0;
_protection = new TalismanAttribute(); _protection = new TalismanAttribute();
_killer = new TalismanAttribute(); _killer = new TalismanAttribute();
@ -280,6 +279,8 @@ public partial class BaseTalisman : Item, IAosItem
SkillBonuses = new AosSkillBonuses(this); SkillBonuses = new AosSkillBonuses(this);
} }
public override double DefaultWeight => 1.0;
public override int LabelNumber => 1071023; // Talisman public override int LabelNumber => 1071023; // Talisman
public virtual bool ForceShowName => false; // used to override default summoner/removal name public virtual bool ForceShowName => false; // used to override default summoner/removal name

View file

@ -38,7 +38,6 @@ public abstract partial class BaseWand : BaseBashing
public BaseWand(WandEffect effect, int minCharges, int maxCharges) : base(0xDF2 + Utility.Random(4)) public BaseWand(WandEffect effect, int minCharges, int maxCharges) : base(0xDF2 + Utility.Random(4))
{ {
Weight = 1.0;
_wandEffect = effect; _wandEffect = effect;
_charges = Utility.RandomMinMax(minCharges, maxCharges); _charges = Utility.RandomMinMax(minCharges, maxCharges);
Attributes.SpellChanneling = 1; Attributes.SpellChanneling = 1;
@ -47,6 +46,8 @@ public abstract partial class BaseWand : BaseBashing
Resource = CraftResource.None; Resource = CraftResource.None;
} }
public override double DefaultWeight => 1.0;
public override WeaponAbility PrimaryAbility => WeaponAbility.Dismount; public override WeaponAbility PrimaryAbility => WeaponAbility.Dismount;
public override WeaponAbility SecondaryAbility => WeaponAbility.Disarm; public override WeaponAbility SecondaryAbility => WeaponAbility.Disarm;

View file

@ -7,12 +7,9 @@ namespace Server.Items
public partial class BattleAxe : BaseAxe public partial class BattleAxe : BaseAxe
{ {
[Constructible] [Constructible]
public BattleAxe() : base(0xF47) public BattleAxe() : base(0xF47) => Layer = Layer.TwoHanded;
{
Weight = 4.0;
Layer = Layer.TwoHanded;
}
public override double DefaultWeight => 4.0;
public override WeaponAbility PrimaryAbility => WeaponAbility.BleedAttack; public override WeaponAbility PrimaryAbility => WeaponAbility.BleedAttack;
public override WeaponAbility SecondaryAbility => WeaponAbility.ConcussionBlow; public override WeaponAbility SecondaryAbility => WeaponAbility.ConcussionBlow;

View file

@ -12,11 +12,11 @@ namespace Server.Items
[Constructible] [Constructible]
public Pickaxe() : base(0xE86) public Pickaxe() : base(0xE86)
{ {
Weight = 11.0;
UsesRemaining = 50; UsesRemaining = 50;
ShowUsesRemaining = true; ShowUsesRemaining = true;
} }
public override double DefaultWeight => 11.0;
public override HarvestSystem HarvestSystem => Mining.System; public override HarvestSystem HarvestSystem => Mining.System;
public override WeaponAbility PrimaryAbility => WeaponAbility.DoubleStrike; public override WeaponAbility PrimaryAbility => WeaponAbility.DoubleStrike;

View file

@ -10,11 +10,9 @@ namespace Server.Items;
public partial class ThrowingDagger : Item public partial class ThrowingDagger : Item
{ {
[Constructible] [Constructible]
public ThrowingDagger() : base(0xF52) public ThrowingDagger() : base(0xF52) => Layer = Layer.OneHanded;
{
Weight = 1.0; public override double DefaultWeight => 1.0;
Layer = Layer.OneHanded;
}
public override string DefaultName => "a throwing dagger"; public override string DefaultName => "a throwing dagger";

View file

@ -8,11 +8,9 @@ namespace Server.Items
public partial class ElvenCompositeLongbow : BaseRanged public partial class ElvenCompositeLongbow : BaseRanged
{ {
[Constructible] [Constructible]
public ElvenCompositeLongbow() : base(0x2D1E) public ElvenCompositeLongbow() : base(0x2D1E) => Resource = CraftResource.RegularWood;
{
Weight = 8.0; public override double DefaultWeight => 8.0;
Resource = CraftResource.RegularWood;
}
public override int EffectID => 0xF42; public override int EffectID => 0xF42;
public override Type AmmoType => typeof(Arrow); public override Type AmmoType => typeof(Arrow);

View file

@ -7,12 +7,9 @@ namespace Server.Items
public partial class ElvenSpellblade : BaseKnife public partial class ElvenSpellblade : BaseKnife
{ {
[Constructible] [Constructible]
public ElvenSpellblade() : base(0x2D20) public ElvenSpellblade() : base(0x2D20) => Layer = Layer.TwoHanded;
{
Weight = 5.0;
Layer = Layer.TwoHanded;
}
public override double DefaultWeight => 5.0;
public override WeaponAbility PrimaryAbility => WeaponAbility.PsychicAttack; public override WeaponAbility PrimaryAbility => WeaponAbility.PsychicAttack;
public override WeaponAbility SecondaryAbility => WeaponAbility.BleedAttack; public override WeaponAbility SecondaryAbility => WeaponAbility.BleedAttack;

View file

@ -8,12 +8,9 @@ namespace Server.Items
public partial class MagicalShortbow : BaseRanged public partial class MagicalShortbow : BaseRanged
{ {
[Constructible] [Constructible]
public MagicalShortbow() : base(0x2D2B) public MagicalShortbow() : base(0x2D2B) => Resource = CraftResource.RegularWood;
{
Weight = 6.0;
Resource = CraftResource.RegularWood;
}
public override double DefaultWeight => 6.0;
public override int EffectID => 0xF42; public override int EffectID => 0xF42;
public override Type AmmoType => typeof(Arrow); public override Type AmmoType => typeof(Arrow);
public override Item Ammo => new Arrow(); public override Item Ammo => new Arrow();

View file

@ -7,12 +7,9 @@ namespace Server.Items
public partial class OrnateAxe : BaseAxe public partial class OrnateAxe : BaseAxe
{ {
[Constructible] [Constructible]
public OrnateAxe() : base(0x2D28) public OrnateAxe() : base(0x2D28) => Layer = Layer.TwoHanded;
{
Weight = 12.0;
Layer = Layer.TwoHanded;
}
public override double DefaultWeight => 12.0;
public override WeaponAbility PrimaryAbility => WeaponAbility.Disarm; public override WeaponAbility PrimaryAbility => WeaponAbility.Disarm;
public override WeaponAbility SecondaryAbility => WeaponAbility.CrushingBlow; public override WeaponAbility SecondaryAbility => WeaponAbility.CrushingBlow;

View file

@ -7,12 +7,9 @@ namespace Server.Items
public partial class RuneBlade : BaseSword public partial class RuneBlade : BaseSword
{ {
[Constructible] [Constructible]
public RuneBlade() : base(0x2D32) public RuneBlade() : base(0x2D32) => Layer = Layer.TwoHanded;
{
Weight = 7.0;
Layer = Layer.TwoHanded;
}
public override double DefaultWeight => 7.0;
public override WeaponAbility PrimaryAbility => WeaponAbility.Disarm; public override WeaponAbility PrimaryAbility => WeaponAbility.Disarm;
public override WeaponAbility SecondaryAbility => WeaponAbility.Bladeweave; public override WeaponAbility SecondaryAbility => WeaponAbility.Bladeweave;

View file

@ -7,12 +7,9 @@ namespace Server.Items
public partial class WildStaff : BaseStaff public partial class WildStaff : BaseStaff
{ {
[Constructible] [Constructible]
public WildStaff() : base(0x2D25) public WildStaff() : base(0x2D25) => Resource = CraftResource.RegularWood;
{
Weight = 8.0;
Resource = CraftResource.RegularWood;
}
public override double DefaultWeight => 8.0;
public override WeaponAbility PrimaryAbility => WeaponAbility.Block; public override WeaponAbility PrimaryAbility => WeaponAbility.Block;
public override WeaponAbility SecondaryAbility => WeaponAbility.ForceOfNature; public override WeaponAbility SecondaryAbility => WeaponAbility.ForceOfNature;

View file

@ -7,12 +7,9 @@ namespace Server.Items
public partial class HammerPick : BaseBashing public partial class HammerPick : BaseBashing
{ {
[Constructible] [Constructible]
public HammerPick() : base(0x143D) public HammerPick() : base(0x143D) => Layer = Layer.OneHanded;
{
Weight = 9.0;
Layer = Layer.OneHanded;
}
public override double DefaultWeight => 9.0;
public override WeaponAbility PrimaryAbility => WeaponAbility.ArmorIgnore; public override WeaponAbility PrimaryAbility => WeaponAbility.ArmorIgnore;
public override WeaponAbility SecondaryAbility => WeaponAbility.MortalStrike; public override WeaponAbility SecondaryAbility => WeaponAbility.MortalStrike;

View file

@ -7,12 +7,9 @@ namespace Server.Items
public partial class WarHammer : BaseBashing public partial class WarHammer : BaseBashing
{ {
[Constructible] [Constructible]
public WarHammer() : base(0x1439) public WarHammer() : base(0x1439) => Layer = Layer.TwoHanded;
{
Weight = 10.0;
Layer = Layer.TwoHanded;
}
public override double DefaultWeight => 10.0;
public override WeaponAbility PrimaryAbility => WeaponAbility.WhirlwindAttack; public override WeaponAbility PrimaryAbility => WeaponAbility.WhirlwindAttack;
public override WeaponAbility SecondaryAbility => WeaponAbility.CrushingBlow; public override WeaponAbility SecondaryAbility => WeaponAbility.CrushingBlow;

View file

@ -10,11 +10,11 @@ namespace Server.Items
[Constructible] [Constructible]
public Bow() : base(0x13B2) public Bow() : base(0x13B2)
{ {
Weight = 6.0;
Layer = Layer.TwoHanded; Layer = Layer.TwoHanded;
Resource = CraftResource.RegularWood; Resource = CraftResource.RegularWood;
} }
public override double DefaultWeight => 6.0;
public override int EffectID => 0xF42; public override int EffectID => 0xF42;
public override Type AmmoType => typeof(Arrow); public override Type AmmoType => typeof(Arrow);
public override Item Ammo => new Arrow(); public override Item Ammo => new Arrow();

View file

@ -8,12 +8,9 @@ namespace Server.Items
public partial class CompositeBow : BaseRanged public partial class CompositeBow : BaseRanged
{ {
[Constructible] [Constructible]
public CompositeBow() : base(0x26C2) public CompositeBow() : base(0x26C2) => Resource = CraftResource.RegularWood;
{
Weight = 5.0;
Resource = CraftResource.RegularWood;
}
public override double DefaultWeight => 5.0;
public override int EffectID => 0xF42; public override int EffectID => 0xF42;
public override Type AmmoType => typeof(Arrow); public override Type AmmoType => typeof(Arrow);
public override Item Ammo => new Arrow(); public override Item Ammo => new Arrow();

View file

@ -10,11 +10,11 @@ namespace Server.Items
[Constructible] [Constructible]
public Crossbow() : base(0xF50) public Crossbow() : base(0xF50)
{ {
Weight = 7.0;
Layer = Layer.TwoHanded; Layer = Layer.TwoHanded;
Resource = CraftResource.RegularWood; Resource = CraftResource.RegularWood;
} }
public override double DefaultWeight => 7.0;
public override int EffectID => 0x1BFE; public override int EffectID => 0x1BFE;
public override Type AmmoType => typeof(Bolt); public override Type AmmoType => typeof(Bolt);
public override Item Ammo => new Bolt(); public override Item Ammo => new Bolt();

View file

@ -10,11 +10,11 @@ namespace Server.Items
[Constructible] [Constructible]
public HeavyCrossbow() : base(0x13FD) public HeavyCrossbow() : base(0x13FD)
{ {
Weight = 9.0;
Layer = Layer.TwoHanded; Layer = Layer.TwoHanded;
Resource = CraftResource.RegularWood; Resource = CraftResource.RegularWood;
} }
public override double DefaultWeight => 9.0;
public override int EffectID => 0x1BFE; public override int EffectID => 0x1BFE;
public override Type AmmoType => typeof(Bolt); public override Type AmmoType => typeof(Bolt);
public override Item Ammo => new Bolt(); public override Item Ammo => new Bolt();

View file

@ -8,12 +8,9 @@ namespace Server.Items
public partial class RepeatingCrossbow : BaseRanged public partial class RepeatingCrossbow : BaseRanged
{ {
[Constructible] [Constructible]
public RepeatingCrossbow() : base(0x26C3) public RepeatingCrossbow() : base(0x26C3) => Resource = CraftResource.RegularWood;
{
Weight = 6.0;
Resource = CraftResource.RegularWood;
}
public override double DefaultWeight => 6.0;
public override int EffectID => 0x1BFE; public override int EffectID => 0x1BFE;
public override Type AmmoType => typeof(Bolt); public override Type AmmoType => typeof(Bolt);
public override Item Ammo => new Bolt(); public override Item Ammo => new Bolt();

View file

@ -7,12 +7,9 @@ namespace Server.Items
public partial class Daisho : BaseSword public partial class Daisho : BaseSword
{ {
[Constructible] [Constructible]
public Daisho() : base(0x27A9) public Daisho() : base(0x27A9) => Layer = Layer.TwoHanded;
{
Weight = 8.0;
Layer = Layer.TwoHanded;
}
public override double DefaultWeight => 8.0;
public override WeaponAbility PrimaryAbility => WeaponAbility.Feint; public override WeaponAbility PrimaryAbility => WeaponAbility.Feint;
public override WeaponAbility SecondaryAbility => WeaponAbility.DoubleStrike; public override WeaponAbility SecondaryAbility => WeaponAbility.DoubleStrike;

View file

@ -7,12 +7,9 @@ namespace Server.Items
public partial class Kama : BaseKnife public partial class Kama : BaseKnife
{ {
[Constructible] [Constructible]
public Kama() : base(0x27AD) public Kama() : base(0x27AD) => Layer = Layer.TwoHanded;
{
Weight = 7.0;
Layer = Layer.TwoHanded;
}
public override double DefaultWeight => 7.0;
public override WeaponAbility PrimaryAbility => WeaponAbility.WhirlwindAttack; public override WeaponAbility PrimaryAbility => WeaponAbility.WhirlwindAttack;
public override WeaponAbility SecondaryAbility => WeaponAbility.DefenseMastery; public override WeaponAbility SecondaryAbility => WeaponAbility.DefenseMastery;

View file

@ -7,12 +7,9 @@ namespace Server.Items
public partial class Lajatang : BaseKnife public partial class Lajatang : BaseKnife
{ {
[Constructible] [Constructible]
public Lajatang() : base(0x27A7) public Lajatang() : base(0x27A7) => Layer = Layer.TwoHanded;
{
Weight = 12.0;
Layer = Layer.TwoHanded;
}
public override double DefaultWeight => 12.0;
public override WeaponAbility PrimaryAbility => WeaponAbility.DefenseMastery; public override WeaponAbility PrimaryAbility => WeaponAbility.DefenseMastery;
public override WeaponAbility SecondaryAbility => WeaponAbility.FrenziedWhirlwind; public override WeaponAbility SecondaryAbility => WeaponAbility.FrenziedWhirlwind;

View file

@ -7,12 +7,9 @@ namespace Server.Items
public partial class NoDachi : BaseSword public partial class NoDachi : BaseSword
{ {
[Constructible] [Constructible]
public NoDachi() : base(0x27A2) public NoDachi() : base(0x27A2) => Layer = Layer.TwoHanded;
{
Weight = 10.0;
Layer = Layer.TwoHanded;
}
public override double DefaultWeight => 10.0;
public override WeaponAbility PrimaryAbility => WeaponAbility.CrushingBlow; public override WeaponAbility PrimaryAbility => WeaponAbility.CrushingBlow;
public override WeaponAbility SecondaryAbility => WeaponAbility.RidingSwipe; public override WeaponAbility SecondaryAbility => WeaponAbility.RidingSwipe;

View file

@ -7,11 +7,9 @@ namespace Server.Items
public partial class Sai : BaseKnife public partial class Sai : BaseKnife
{ {
[Constructible] [Constructible]
public Sai() : base(0x27AF) public Sai() : base(0x27AF) => Layer = Layer.TwoHanded;
{
Weight = 7.0; public override double DefaultWeight => 7.0;
Layer = Layer.TwoHanded;
}
public override WeaponAbility PrimaryAbility => WeaponAbility.Block; public override WeaponAbility PrimaryAbility => WeaponAbility.Block;
public override WeaponAbility SecondaryAbility => WeaponAbility.ArmorPierce; public override WeaponAbility SecondaryAbility => WeaponAbility.ArmorPierce;

View file

@ -7,12 +7,9 @@ namespace Server.Items
public partial class Tekagi : BaseKnife public partial class Tekagi : BaseKnife
{ {
[Constructible] [Constructible]
public Tekagi() : base(0x27AB) public Tekagi() : base(0x27AB) => Layer = Layer.TwoHanded;
{
Weight = 5.0;
Layer = Layer.TwoHanded;
}
public override double DefaultWeight => 5.0;
public override WeaponAbility PrimaryAbility => WeaponAbility.DualWield; public override WeaponAbility PrimaryAbility => WeaponAbility.DualWield;
public override WeaponAbility SecondaryAbility => WeaponAbility.TalonStrike; public override WeaponAbility SecondaryAbility => WeaponAbility.TalonStrike;

View file

@ -7,11 +7,9 @@ namespace Server.Items
public partial class Tessen : BaseBashing public partial class Tessen : BaseBashing
{ {
[Constructible] [Constructible]
public Tessen() : base(0x27A3) public Tessen() : base(0x27A3) => Layer = Layer.TwoHanded;
{
Weight = 6.0; public override double DefaultWeight => 6.0;
Layer = Layer.TwoHanded;
}
public override WeaponAbility PrimaryAbility => WeaponAbility.Feint; public override WeaponAbility PrimaryAbility => WeaponAbility.Feint;
public override WeaponAbility SecondaryAbility => WeaponAbility.Block; public override WeaponAbility SecondaryAbility => WeaponAbility.Block;

View file

@ -7,12 +7,9 @@ namespace Server.Items
public partial class Tetsubo : BaseBashing public partial class Tetsubo : BaseBashing
{ {
[Constructible] [Constructible]
public Tetsubo() : base(0x27A6) public Tetsubo() : base(0x27A6) => Layer = Layer.TwoHanded;
{
Weight = 8.0;
Layer = Layer.TwoHanded;
}
public override double DefaultWeight => 8.0;
public override WeaponAbility PrimaryAbility => WeaponAbility.FrenziedWhirlwind; public override WeaponAbility PrimaryAbility => WeaponAbility.FrenziedWhirlwind;
public override WeaponAbility SecondaryAbility => WeaponAbility.CrushingBlow; public override WeaponAbility SecondaryAbility => WeaponAbility.CrushingBlow;

View file

@ -7,12 +7,9 @@ namespace Server.Items
public partial class Wakizashi : BaseSword public partial class Wakizashi : BaseSword
{ {
[Constructible] [Constructible]
public Wakizashi() : base(0x27A4) public Wakizashi() : base(0x27A4) => Layer = Layer.OneHanded;
{
Weight = 5.0;
Layer = Layer.OneHanded;
}
public override double DefaultWeight => 5.0;
public override WeaponAbility PrimaryAbility => WeaponAbility.FrenziedWhirlwind; public override WeaponAbility PrimaryAbility => WeaponAbility.FrenziedWhirlwind;
public override WeaponAbility SecondaryAbility => WeaponAbility.DoubleStrike; public override WeaponAbility SecondaryAbility => WeaponAbility.DoubleStrike;

View file

@ -10,11 +10,11 @@ namespace Server.Items
[Constructible] [Constructible]
public Yumi() : base(0x27A5) public Yumi() : base(0x27A5)
{ {
Weight = 9.0;
Layer = Layer.TwoHanded; Layer = Layer.TwoHanded;
Resource = CraftResource.RegularWood; Resource = CraftResource.RegularWood;
} }
public override double DefaultWeight => 9.0;
public override int EffectID => 0xF42; public override int EffectID => 0xF42;
public override Type AmmoType => typeof(Arrow); public override Type AmmoType => typeof(Arrow);
public override Item Ammo => new Arrow(); public override Item Ammo => new Arrow();

View file

@ -7,11 +7,9 @@ namespace Server.Items
public partial class TribalSpear : BaseSpear public partial class TribalSpear : BaseSpear
{ {
[Constructible] [Constructible]
public TribalSpear() : base(0xF62) public TribalSpear() : base(0xF62) => Hue = 837;
{
Weight = 7.0; public override double DefaultWeight => 7.0;
Hue = 837;
}
public override WeaponAbility PrimaryAbility => WeaponAbility.ArmorIgnore; public override WeaponAbility PrimaryAbility => WeaponAbility.ArmorIgnore;
public override WeaponAbility SecondaryAbility => WeaponAbility.ParalyzingBlow; public override WeaponAbility SecondaryAbility => WeaponAbility.ParalyzingBlow;

View file

@ -7,12 +7,9 @@ namespace Server.Items
public partial class GlassStaff : BaseStaff public partial class GlassStaff : BaseStaff
{ {
[Constructible] [Constructible]
public GlassStaff() : base(0x905) public GlassStaff() : base(0x905) => Resource = CraftResource.None;
{
Weight = 4.0;
Resource = CraftResource.None;
}
public override double DefaultWeight => 4.0;
public override WeaponAbility PrimaryAbility => WeaponAbility.DoubleStrike; public override WeaponAbility PrimaryAbility => WeaponAbility.DoubleStrike;
public override WeaponAbility SecondaryAbility => WeaponAbility.MortalStrike; public override WeaponAbility SecondaryAbility => WeaponAbility.MortalStrike;
public override int AosStrengthReq => 20; public override int AosStrengthReq => 20;

View file

@ -7,12 +7,9 @@ namespace Server.Items
public partial class GnarledStaff : BaseStaff public partial class GnarledStaff : BaseStaff
{ {
[Constructible] [Constructible]
public GnarledStaff() : base(0x13F8) public GnarledStaff() : base(0x13F8) => Resource = CraftResource.RegularWood;
{
Weight = 3.0;
Resource = CraftResource.RegularWood;
}
public override double DefaultWeight => 3.0;
public override WeaponAbility PrimaryAbility => WeaponAbility.ConcussionBlow; public override WeaponAbility PrimaryAbility => WeaponAbility.ConcussionBlow;
public override WeaponAbility SecondaryAbility => WeaponAbility.ForceOfNature; public override WeaponAbility SecondaryAbility => WeaponAbility.ForceOfNature;

View file

@ -7,12 +7,9 @@ namespace Server.Items
public partial class QuarterStaff : BaseStaff public partial class QuarterStaff : BaseStaff
{ {
[Constructible] [Constructible]
public QuarterStaff() : base(0xE89) public QuarterStaff() : base(0xE89) => Resource = CraftResource.RegularWood;
{
Weight = 4.0;
Resource = CraftResource.RegularWood;
}
public override double DefaultWeight => 4.0;
public override WeaponAbility PrimaryAbility => WeaponAbility.DoubleStrike; public override WeaponAbility PrimaryAbility => WeaponAbility.DoubleStrike;
public override WeaponAbility SecondaryAbility => WeaponAbility.ConcussionBlow; public override WeaponAbility SecondaryAbility => WeaponAbility.ConcussionBlow;

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