diff --git a/.config/dotnet-tools.json b/.config/dotnet-tools.json index bbcb8ec4c..a488b9e93 100644 --- a/.config/dotnet-tools.json +++ b/.config/dotnet-tools.json @@ -3,7 +3,7 @@ "isRoot": true, "tools": { "modernuoschemagenerator": { - "version": "2.5.3", + "version": "2.6.0", "commands": [ "ModernUOSchemaGenerator" ] diff --git a/Projects/Server/Attributes.cs b/Projects/Server/Attributes.cs index 8751f3cd6..09b4520c3 100644 --- a/Projects/Server/Attributes.cs +++ b/Projects/Server/Attributes.cs @@ -1,6 +1,22 @@ +/************************************************************************* + * ModernUO * + * Copyright 2019-2022 - ModernUO Development Team * + * Email: hi@modernuo.com * + * File: Attributes.cs * + * * + * This program is free software: you can redistribute it and/or modify * + * it under the terms of the GNU General Public License as published by * + * the Free Software Foundation, either version 3 of the License, or * + * (at your option) any later version. * + * * + * You should have received a copy of the GNU General Public License * + * along with this program. If not, see . * + *************************************************************************/ + using System; using System.Collections.Generic; using System.Reflection; +using ModernUO.Serialization; namespace Server; @@ -133,3 +149,28 @@ public class CommandPropertyAttribute : Attribute public bool ReadOnly { get; } public bool CanModify { get; } } + +[AttributeUsage(AttributeTargets.Field)] +public class SerializedCommandPropertyAttribute : SerializedPropertyAttrAttribute +{ + public SerializedCommandPropertyAttribute( + AccessLevel level, + bool readOnly = false, + bool canModify = false + ) : this(level, level) + { + ReadOnly = readOnly; + CanModify = canModify; + } + + public SerializedCommandPropertyAttribute(AccessLevel readLevel, AccessLevel writeLevel) + { + ReadLevel = readLevel; + WriteLevel = writeLevel; + } + + public AccessLevel ReadLevel { get; } + public AccessLevel WriteLevel { get; } + public bool ReadOnly { get; } + public bool CanModify { get; } +} diff --git a/Projects/Server/Server.csproj b/Projects/Server/Server.csproj index 9391b947e..aedf820b8 100755 --- a/Projects/Server/Server.csproj +++ b/Projects/Server/Server.csproj @@ -36,8 +36,8 @@ - - + + diff --git a/Projects/UOContent/Accounting/Account.cs b/Projects/UOContent/Accounting/Account.cs index 61791b71d..2308b1aac 100644 --- a/Projects/UOContent/Accounting/Account.cs +++ b/Projects/UOContent/Accounting/Account.cs @@ -43,7 +43,7 @@ namespace Server.Accounting /// 0 to 999,999,999 by default. /// [SerializableField(6, setter: "private")] - [SerializableFieldAttr("[CommandProperty(AccessLevel.Administrator)]")] + [SerializedCommandProperty(AccessLevel.Administrator)] public int _totalGold; /// @@ -53,7 +53,7 @@ namespace Server.Accounting /// One Platinum represents the value of CurrencyThreshold in Gold. /// [SerializableField(7, setter: "private")] - [SerializableFieldAttr("[CommandProperty(AccessLevel.Administrator)]")] + [SerializedCommandProperty(AccessLevel.Administrator)] public int _totalPlat; private Mobile[] _mobiles; @@ -117,7 +117,7 @@ namespace Server.Accounting } [SerializableField(14)] - [SerializableFieldAttr("[CommandProperty(AccessLevel.Administrator)]")] + [SerializedCommandProperty(AccessLevel.Administrator)] private string _email; private Timer m_YoungTimer; diff --git a/Projects/UOContent/Engines/Bulk Orders/BaseBOD.cs b/Projects/UOContent/Engines/Bulk Orders/BaseBOD.cs index 42777a342..cf34d9060 100644 --- a/Projects/UOContent/Engines/Bulk Orders/BaseBOD.cs +++ b/Projects/UOContent/Engines/Bulk Orders/BaseBOD.cs @@ -24,17 +24,17 @@ namespace Server.Engines.BulkOrders [SerializableField(0)] [InvalidateProperties] - [SerializableFieldAttr("[CommandProperty(AccessLevel.GameMaster)]")] + [SerializedCommandProperty(AccessLevel.GameMaster)] private int _amountMax; [SerializableField(1)] [InvalidateProperties] - [SerializableFieldAttr("[CommandProperty(AccessLevel.GameMaster)]")] + [SerializedCommandProperty(AccessLevel.GameMaster)] private bool _requireExceptional; [SerializableField(2)] [InvalidateProperties] - [SerializableFieldAttr("[CommandProperty(AccessLevel.GameMaster)]")] + [SerializedCommandProperty(AccessLevel.GameMaster)] private BulkMaterialType _material; public static BulkMaterialType GetRandomMaterial(BulkMaterialType start, double[] chances) diff --git a/Projects/UOContent/Holiday Stuff/Valentine/2011/Items/StValentinesBears.cs b/Projects/UOContent/Holiday Stuff/Valentine/2011/Items/StValentinesBears.cs index ad60231bd..de1ed105c 100644 --- a/Projects/UOContent/Holiday Stuff/Valentine/2011/Items/StValentinesBears.cs +++ b/Projects/UOContent/Holiday Stuff/Valentine/2011/Items/StValentinesBears.cs @@ -11,25 +11,25 @@ namespace Server.Items [InternString] [InvalidateProperties] [SerializableField(0)] - [SerializableFieldAttr("[CommandProperty(AccessLevel.GameMaster)]")] + [SerializedCommandProperty(AccessLevel.GameMaster)] private string _owner; [InternString] [InvalidateProperties] [SerializableField(1)] - [SerializableFieldAttr("[CommandProperty(AccessLevel.GameMaster)]")] + [SerializedCommandProperty(AccessLevel.GameMaster)] private string _line1; [InternString] [InvalidateProperties] [SerializableField(2)] - [SerializableFieldAttr("[CommandProperty(AccessLevel.GameMaster)]")] + [SerializedCommandProperty(AccessLevel.GameMaster)] private string _line2; [InternString] [InvalidateProperties] [SerializableField(3)] - [SerializableFieldAttr("[CommandProperty(AccessLevel.GameMaster)]")] + [SerializedCommandProperty(AccessLevel.GameMaster)] private string _line3; public StValentinesBear(int itemid, string name) : base(itemid) diff --git a/Projects/UOContent/Holiday Stuff/Valentine/2012/Items/CupidsArrow.cs b/Projects/UOContent/Holiday Stuff/Valentine/2012/Items/CupidsArrow.cs index 3c292ceda..d6b1b5025 100644 --- a/Projects/UOContent/Holiday Stuff/Valentine/2012/Items/CupidsArrow.cs +++ b/Projects/UOContent/Holiday Stuff/Valentine/2012/Items/CupidsArrow.cs @@ -9,13 +9,13 @@ namespace Server.Items [InternString] [InvalidateProperties] [SerializableField(0)] - [SerializableFieldAttr("[CommandProperty(AccessLevel.GameMaster)]")] + [SerializedCommandProperty(AccessLevel.GameMaster)] private string _from; [InternString] [InvalidateProperties] [SerializableField(1)] - [SerializableFieldAttr("[CommandProperty(AccessLevel.GameMaster)]")] + [SerializedCommandProperty(AccessLevel.GameMaster)] private string _to; [Constructible] diff --git a/Projects/UOContent/Items/Addons/AddonComponent.cs b/Projects/UOContent/Items/Addons/AddonComponent.cs index 5ab1f1ac6..3cc8d0706 100644 --- a/Projects/UOContent/Items/Addons/AddonComponent.cs +++ b/Projects/UOContent/Items/Addons/AddonComponent.cs @@ -28,7 +28,7 @@ namespace Server.Items { [InvalidateProperties] [SerializableField(0)] - [SerializableFieldAttr("[CommandProperty(AccessLevel.GameMaster)]")] + [SerializedCommandProperty(AccessLevel.GameMaster)] private int _number; [Constructible] @@ -104,11 +104,11 @@ namespace Server.Items } [SerializableField(0)] - [SerializableFieldAttr("[CommandProperty(AccessLevel.GameMaster)]")] + [SerializedCommandProperty(AccessLevel.GameMaster)] public BaseAddon _addon; [SerializableField(1)] - [SerializableFieldAttr("[CommandProperty(AccessLevel.GameMaster)]")] + [SerializedCommandProperty(AccessLevel.GameMaster)] public Point3D _offset; [Hue] diff --git a/Projects/UOContent/Items/Addons/AddonContainerComponent.cs b/Projects/UOContent/Items/Addons/AddonContainerComponent.cs index 6e7bf4b08..81b1813ef 100644 --- a/Projects/UOContent/Items/Addons/AddonContainerComponent.cs +++ b/Projects/UOContent/Items/Addons/AddonContainerComponent.cs @@ -22,11 +22,11 @@ namespace Server.Items public virtual Point3D WallPosition => Point3D.Zero; [SerializableField(0)] - [SerializableFieldAttr("[CommandProperty(AccessLevel.GameMaster)]")] + [SerializedCommandProperty(AccessLevel.GameMaster)] private BaseAddonContainer _addon; [SerializableField(1)] - [SerializableFieldAttr("[CommandProperty(AccessLevel.GameMaster)]")] + [SerializedCommandProperty(AccessLevel.GameMaster)] private Point3D _offset; [Hue] diff --git a/Projects/UOContent/Items/Addons/ArcheryButteAddon.cs b/Projects/UOContent/Items/Addons/ArcheryButteAddon.cs index 5834f8bb7..bfce42cb2 100644 --- a/Projects/UOContent/Items/Addons/ArcheryButteAddon.cs +++ b/Projects/UOContent/Items/Addons/ArcheryButteAddon.cs @@ -21,11 +21,11 @@ namespace Server.Items } [SerializableField(0)] - [SerializableFieldAttr("[CommandProperty(AccessLevel.GameMaster)]")] + [SerializedCommandProperty(AccessLevel.GameMaster)] private double _minSkill; [SerializableField(1)] - [SerializableFieldAttr("[CommandProperty(AccessLevel.GameMaster)]")] + [SerializedCommandProperty(AccessLevel.GameMaster)] private double _maxSkill; [CommandProperty(AccessLevel.GameMaster)] @@ -39,11 +39,11 @@ namespace Server.Items } [SerializableField(2)] - [SerializableFieldAttr("[CommandProperty(AccessLevel.GameMaster)]")] + [SerializedCommandProperty(AccessLevel.GameMaster)] private int _arrows; [SerializableField(3)] - [SerializableFieldAttr("[CommandProperty(AccessLevel.GameMaster)]")] + [SerializedCommandProperty(AccessLevel.GameMaster)] private int _bolts; public override void OnDoubleClick(Mobile from) diff --git a/Projects/UOContent/Items/Addons/PickpocketDips.cs b/Projects/UOContent/Items/Addons/PickpocketDips.cs index 4a103a273..27c9439e4 100644 --- a/Projects/UOContent/Items/Addons/PickpocketDips.cs +++ b/Projects/UOContent/Items/Addons/PickpocketDips.cs @@ -10,11 +10,11 @@ namespace Server.Items private Timer m_Timer; [SerializableField(0)] - [SerializableFieldAttr("[CommandProperty(AccessLevel.GameMaster)]")] + [SerializedCommandProperty(AccessLevel.GameMaster)] private double _minSkill; [SerializableField(1)] - [SerializableFieldAttr("[CommandProperty(AccessLevel.GameMaster)]")] + [SerializedCommandProperty(AccessLevel.GameMaster)] private double _maxSkill; public PickpocketDip(int itemID) : base(itemID) diff --git a/Projects/UOContent/Items/Addons/SHTeleporter.cs b/Projects/UOContent/Items/Addons/SHTeleporter.cs index 28ec63ddc..f8f12083b 100644 --- a/Projects/UOContent/Items/Addons/SHTeleporter.cs +++ b/Projects/UOContent/Items/Addons/SHTeleporter.cs @@ -8,7 +8,7 @@ namespace Server.Items public partial class SHTeleComponent : AddonComponent { [SerializableField(2)] - [SerializableFieldAttr("[CommandProperty(AccessLevel.GameMaster)]")] + [SerializedCommandProperty(AccessLevel.GameMaster)] private Point3D _teleOffset; [Constructible] @@ -101,23 +101,23 @@ namespace Server.Items private bool m_Changing; [SerializableField(0, setter: "private")] - [SerializableFieldAttr("[CommandProperty(AccessLevel.GameMaster)]")] + [SerializedCommandProperty(AccessLevel.GameMaster)] private bool _external; [SerializableField(1, setter: "private")] - [SerializableFieldAttr("[CommandProperty(AccessLevel.GameMaster)]")] + [SerializedCommandProperty(AccessLevel.GameMaster)] private SHTeleComponent _upTele; [SerializableField(2, setter: "private")] - [SerializableFieldAttr("[CommandProperty(AccessLevel.GameMaster)]")] + [SerializedCommandProperty(AccessLevel.GameMaster)] private SHTeleComponent _rightTele; [SerializableField(3, setter: "private")] - [SerializableFieldAttr("[CommandProperty(AccessLevel.GameMaster)]")] + [SerializedCommandProperty(AccessLevel.GameMaster)] private SHTeleComponent _downTele; [SerializableField(4, setter: "private")] - [SerializableFieldAttr("[CommandProperty(AccessLevel.GameMaster)]")] + [SerializedCommandProperty(AccessLevel.GameMaster)] private SHTeleComponent _leftTele; [Constructible] diff --git a/Projects/UOContent/Items/Addons/TrainingDummies.cs b/Projects/UOContent/Items/Addons/TrainingDummies.cs index 61f81dc1a..85f78d661 100644 --- a/Projects/UOContent/Items/Addons/TrainingDummies.cs +++ b/Projects/UOContent/Items/Addons/TrainingDummies.cs @@ -10,11 +10,11 @@ namespace Server.Items private Timer m_Timer; [SerializableField(0)] - [SerializableFieldAttr("[CommandProperty(AccessLevel.GameMaster)]")] + [SerializedCommandProperty(AccessLevel.GameMaster)] private double _minSkill; [SerializableField(1)] - [SerializableFieldAttr("[CommandProperty(AccessLevel.GameMaster)]")] + [SerializedCommandProperty(AccessLevel.GameMaster)] private double _maxSkill; [Constructible] diff --git a/Projects/UOContent/Items/Aquarium/Aquarium.cs b/Projects/UOContent/Items/Aquarium/Aquarium.cs index e86aac949..acfe7bbb1 100644 --- a/Projects/UOContent/Items/Aquarium/Aquarium.cs +++ b/Projects/UOContent/Items/Aquarium/Aquarium.cs @@ -38,22 +38,22 @@ namespace Server.Items } [SerializableField(1, setter: "private")] - [SerializableFieldAttr("[CommandProperty(AccessLevel.GameMaster)]")] + [SerializedCommandProperty(AccessLevel.GameMaster)] private int _liveCreatures; [InvalidateProperties] [SerializableField(2, setter: "private")] - [SerializableFieldAttr("[CommandProperty(AccessLevel.GameMaster)]")] + [SerializedCommandProperty(AccessLevel.GameMaster)] private int _vacationLeft; [InvalidateProperties] [SerializableField(3, setter: "private")] - [SerializableFieldAttr("[CommandProperty(AccessLevel.GameMaster)]")] + [SerializedCommandProperty(AccessLevel.GameMaster)] private AquariumState _food; [InvalidateProperties] [SerializableField(4, setter: "private")] - [SerializableFieldAttr("[CommandProperty(AccessLevel.GameMaster)]")] + [SerializedCommandProperty(AccessLevel.GameMaster)] private AquariumState _water; [SerializableField(5, setter: "private")] @@ -61,7 +61,7 @@ namespace Server.Items [InvalidateProperties] [SerializableField(6)] - [SerializableFieldAttr("[CommandProperty(AccessLevel.GameMaster)]")] + [SerializedCommandProperty(AccessLevel.GameMaster)] private bool _rewardAvailable; public Aquarium(int itemID) : base(itemID) diff --git a/Projects/UOContent/Items/Aquarium/AquariumState.cs b/Projects/UOContent/Items/Aquarium/AquariumState.cs index 47dc21a98..432f5d618 100644 --- a/Projects/UOContent/Items/Aquarium/AquariumState.cs +++ b/Projects/UOContent/Items/Aquarium/AquariumState.cs @@ -46,15 +46,15 @@ namespace Server.Items } [SerializableField(1)] - [SerializableFieldAttr("[CommandProperty(AccessLevel.GameMaster)]")] + [SerializedCommandProperty(AccessLevel.GameMaster)] private int _maintain; [SerializableField(2)] - [SerializableFieldAttr("[CommandProperty(AccessLevel.GameMaster)]")] + [SerializedCommandProperty(AccessLevel.GameMaster)] private int _improve; [SerializableField(3)] - [SerializableFieldAttr("[CommandProperty(AccessLevel.GameMaster)]")] + [SerializedCommandProperty(AccessLevel.GameMaster)] private int _added; public override string ToString() => "..."; diff --git a/Projects/UOContent/Items/Armor/BaseArmor.cs b/Projects/UOContent/Items/Armor/BaseArmor.cs index f45004387..26ccd0f57 100644 --- a/Projects/UOContent/Items/Armor/BaseArmor.cs +++ b/Projects/UOContent/Items/Armor/BaseArmor.cs @@ -15,7 +15,7 @@ namespace Server.Items public abstract partial class BaseArmor : Item, IScissorable, IFactionItem, ICraftable, IWearableDurability { [SerializableField(0, setter: "private")] - [SerializableFieldAttr("[CommandProperty(AccessLevel.GameMaster, canModify: true)]")] + [SerializedCommandProperty(AccessLevel.GameMaster, canModify: true)] private AosAttributes _attributes; [SerializableFieldSaveFlag(0)] @@ -25,7 +25,7 @@ namespace Server.Items private AosAttributes AttributesDefaultValue() => new(this); [SerializableField(1, setter: "private")] - [SerializableFieldAttr("[CommandProperty(AccessLevel.GameMaster, canModify: true)]")] + [SerializedCommandProperty(AccessLevel.GameMaster, canModify: true)] private AosArmorAttributes _armorAttributes; [SerializableFieldSaveFlag(1)] @@ -37,7 +37,7 @@ namespace Server.Items [EncodedInt] [InvalidateProperties] [SerializableField(2)] - [SerializableFieldAttr("[CommandProperty(AccessLevel.GameMaster)]")] + [SerializedCommandProperty(AccessLevel.GameMaster)] private int _physicalBonus; [SerializableFieldSaveFlag(2)] @@ -46,7 +46,7 @@ namespace Server.Items [EncodedInt] [InvalidateProperties] [SerializableField(3)] - [SerializableFieldAttr("[CommandProperty(AccessLevel.GameMaster)]")] + [SerializedCommandProperty(AccessLevel.GameMaster)] private int _fireBonus; [SerializableFieldSaveFlag(3)] @@ -55,7 +55,7 @@ namespace Server.Items [EncodedInt] [InvalidateProperties] [SerializableField(4)] - [SerializableFieldAttr("[CommandProperty(AccessLevel.GameMaster)]")] + [SerializedCommandProperty(AccessLevel.GameMaster)] private int _coldBonus; [SerializableFieldSaveFlag(4)] @@ -64,7 +64,7 @@ namespace Server.Items [EncodedInt] [InvalidateProperties] [SerializableField(5)] - [SerializableFieldAttr("[CommandProperty(AccessLevel.GameMaster)]")] + [SerializedCommandProperty(AccessLevel.GameMaster)] private int _poisonBonus; [SerializableFieldSaveFlag(5)] @@ -73,14 +73,14 @@ namespace Server.Items [EncodedInt] [InvalidateProperties] [SerializableField(6)] - [SerializableFieldAttr("[CommandProperty(AccessLevel.GameMaster)]")] + [SerializedCommandProperty(AccessLevel.GameMaster)] private int _energyBonus; [SerializableFieldSaveFlag(6)] private bool ShouldSerializeEnergyBonus() => _energyBonus != 0; [SerializableField(7)] - [SerializableFieldAttr("[CommandProperty(AccessLevel.GameMaster)]")] + [SerializedCommandProperty(AccessLevel.GameMaster)] private bool _identified; [SerializableFieldSaveFlag(7)] @@ -88,7 +88,7 @@ namespace Server.Items [EncodedInt] [SerializableField(8)] - [SerializableFieldAttr("[CommandProperty(AccessLevel.GameMaster)]")] + [SerializedCommandProperty(AccessLevel.GameMaster)] private int _maxHitPoints; [SerializableFieldSaveFlag(8)] @@ -96,7 +96,7 @@ namespace Server.Items [InvalidateProperties] [SerializableField(10)] - [SerializableFieldAttr("[CommandProperty(AccessLevel.GameMaster)]")] + [SerializedCommandProperty(AccessLevel.GameMaster)] private string _crafter; [SerializableFieldSaveFlag(10)] @@ -133,7 +133,7 @@ namespace Server.Items private AMA _meditate = (AMA)(-1); [SerializableField(23, setter: "private")] - [SerializableFieldAttr("[CommandProperty(AccessLevel.GameMaster, canModify: true)]")] + [SerializedCommandProperty(AccessLevel.GameMaster, canModify: true)] public AosSkillBonuses _skillBonuses; [SerializableFieldSaveFlag(23)] @@ -143,7 +143,7 @@ namespace Server.Items private AosSkillBonuses SkillBonusesDefaultValue() => new(this); [SerializableField(24)] - [SerializableFieldAttr("[CommandProperty(AccessLevel.GameMaster)]")] + [SerializedCommandProperty(AccessLevel.GameMaster)] public bool _playerConstructed; [SerializableFieldSaveFlag(24)] diff --git a/Projects/UOContent/Items/Armor/Glasses/ElvenGlasses.cs b/Projects/UOContent/Items/Armor/Glasses/ElvenGlasses.cs index 05c81c3c7..583f22713 100644 --- a/Projects/UOContent/Items/Armor/Glasses/ElvenGlasses.cs +++ b/Projects/UOContent/Items/Armor/Glasses/ElvenGlasses.cs @@ -33,7 +33,7 @@ namespace Server.Items public override ArmorMeditationAllowance DefMedAllowance => ArmorMeditationAllowance.All; [SerializableField(0, setter: "private")] - [SerializableFieldAttr("[CommandProperty(AccessLevel.GameMaster, canModify: true)]")] + [SerializedCommandProperty(AccessLevel.GameMaster, canModify: true)] public AosWeaponAttributes _weaponAttributes; [SerializableFieldSaveFlag(0)] diff --git a/Projects/UOContent/Items/Body Parts/Head.cs b/Projects/UOContent/Items/Body Parts/Head.cs index 4bcf2cdae..f797cdd83 100644 --- a/Projects/UOContent/Items/Body Parts/Head.cs +++ b/Projects/UOContent/Items/Body Parts/Head.cs @@ -14,12 +14,12 @@ namespace Server.Items { [InvalidateProperties] [SerializableField(0)] - [SerializableFieldAttr("[CommandProperty(AccessLevel.GameMaster)]")] + [SerializedCommandProperty(AccessLevel.GameMaster)] private string _playerName; [InvalidateProperties] [SerializableField(1)] - [SerializableFieldAttr("[CommandProperty(AccessLevel.GameMaster)]")] + [SerializedCommandProperty(AccessLevel.GameMaster)] private HeadType _headType; [Constructible] diff --git a/Projects/UOContent/Items/Books/BaseBook.cs b/Projects/UOContent/Items/Books/BaseBook.cs index ffd4ddd0b..7f9e40a57 100644 --- a/Projects/UOContent/Items/Books/BaseBook.cs +++ b/Projects/UOContent/Items/Books/BaseBook.cs @@ -12,13 +12,13 @@ namespace Server.Items public partial class BaseBook : Item, ISecurable { [SerializableField(0)] - [SerializableFieldAttr("[CommandProperty(AccessLevel.GameMaster)]")] + [SerializedCommandProperty(AccessLevel.GameMaster)] private SecureLevel _level; [InternString] [InvalidateProperties] [SerializableField(1)] - [SerializableFieldAttr("[CommandProperty(AccessLevel.GameMaster)]")] + [SerializedCommandProperty(AccessLevel.GameMaster)] private string _title; [SerializableFieldSaveFlag(1)] @@ -29,7 +29,7 @@ namespace Server.Items [InvalidateProperties] [SerializableField(2)] - [SerializableFieldAttr("[CommandProperty(AccessLevel.GameMaster)]")] + [SerializedCommandProperty(AccessLevel.GameMaster)] private string _author; [SerializableFieldSaveFlag(2)] @@ -39,7 +39,7 @@ namespace Server.Items private string AuthorDefaultValue() => DefaultContent?.Author; [SerializableField(3)] - [SerializableFieldAttr("[CommandProperty(AccessLevel.GameMaster)]")] + [SerializedCommandProperty(AccessLevel.GameMaster)] private bool _writable; [SerializableFieldSaveFlag(3)] diff --git a/Projects/UOContent/Items/Bulletin Boards/BulletinBoard.cs b/Projects/UOContent/Items/Bulletin Boards/BulletinBoard.cs index 17d3670af..db23d67ba 100644 --- a/Projects/UOContent/Items/Bulletin Boards/BulletinBoard.cs +++ b/Projects/UOContent/Items/Bulletin Boards/BulletinBoard.cs @@ -48,7 +48,7 @@ namespace Server.Items public abstract partial class BaseBulletinBoard : Item { [SerializableField(0)] - [SerializableFieldAttr("[CommandProperty(AccessLevel.GameMaster)]")] + [SerializedCommandProperty(AccessLevel.GameMaster)] private string _boardName; public BaseBulletinBoard(int itemID) : base(itemID) diff --git a/Projects/UOContent/Items/Clothing/BaseClothing.cs b/Projects/UOContent/Items/Clothing/BaseClothing.cs index a6a785871..645825c3c 100644 --- a/Projects/UOContent/Items/Clothing/BaseClothing.cs +++ b/Projects/UOContent/Items/Clothing/BaseClothing.cs @@ -30,7 +30,7 @@ namespace Server.Items private bool ShouldSerializeResource() => _resource != DefaultResource; [SerializableField(1, setter: "private")] - [SerializableFieldAttr("[CommandProperty(AccessLevel.GameMaster, canModify: true)]")] + [SerializedCommandProperty(AccessLevel.GameMaster, canModify: true)] private AosAttributes _attributes; [SerializableFieldSaveFlag(1)] @@ -40,7 +40,7 @@ namespace Server.Items private AosAttributes AttributesDefaultValue() => new(this); [SerializableField(2, setter: "private")] - [SerializableFieldAttr("[CommandProperty(AccessLevel.GameMaster, canModify: true)]")] + [SerializedCommandProperty(AccessLevel.GameMaster, canModify: true)] private AosArmorAttributes _clothingAttributes; [SerializableFieldSaveFlag(2)] @@ -50,7 +50,7 @@ namespace Server.Items private AosArmorAttributes ClothingAttributesDefaultValue() => new(this); [SerializableField(3, setter: "private")] - [SerializableFieldAttr("[CommandProperty(AccessLevel.GameMaster, canModify: true)]")] + [SerializedCommandProperty(AccessLevel.GameMaster, canModify: true)] private AosSkillBonuses _skillBonuses; [SerializableFieldSaveFlag(3)] @@ -60,7 +60,7 @@ namespace Server.Items private AosSkillBonuses SkillBonusesDefaultValue() => new(this); [SerializableField(4, setter: "private")] - [SerializableFieldAttr("[CommandProperty(AccessLevel.GameMaster, canModify: true)]")] + [SerializedCommandProperty(AccessLevel.GameMaster, canModify: true)] private AosElementAttributes _resistances; [SerializableFieldSaveFlag(4)] @@ -72,14 +72,14 @@ namespace Server.Items [EncodedInt] [InvalidateProperties] [SerializableField(5)] - [SerializableFieldAttr("[CommandProperty(AccessLevel.GameMaster)]")] + [SerializedCommandProperty(AccessLevel.GameMaster)] private int _maxHitPoints; [SerializableFieldSaveFlag(5)] private bool ShouldSerializeMaxHitPoints() => _maxHitPoints != 0; [SerializableField(7)] - [SerializableFieldAttr("[CommandProperty(AccessLevel.GameMaster)]")] + [SerializedCommandProperty(AccessLevel.GameMaster)] private bool _playerConstructed; [SerializableFieldSaveFlag(7)] @@ -87,7 +87,7 @@ namespace Server.Items [InvalidateProperties] [SerializableField(8)] - [SerializableFieldAttr("[CommandProperty(AccessLevel.GameMaster)]")] + [SerializedCommandProperty(AccessLevel.GameMaster)] private string _crafter; [SerializableFieldSaveFlag(8)] @@ -95,7 +95,7 @@ namespace Server.Items [InvalidateProperties] [SerializableField(9)] - [SerializableFieldAttr("[CommandProperty(AccessLevel.GameMaster)]")] + [SerializedCommandProperty(AccessLevel.GameMaster)] private ClothingQuality _quality = ClothingQuality.Regular; [SerializableFieldSaveFlag(9)] diff --git a/Projects/UOContent/Items/Clothing/Cloaks.cs b/Projects/UOContent/Items/Clothing/Cloaks.cs index cf9753120..e18e5a510 100644 --- a/Projects/UOContent/Items/Clothing/Cloaks.cs +++ b/Projects/UOContent/Items/Clothing/Cloaks.cs @@ -114,11 +114,11 @@ namespace Server.Items { [InvalidateProperties] [SerializableField(0)] - [SerializableFieldAttr("[CommandProperty(AccessLevel.GameMaster)]")] + [SerializedCommandProperty(AccessLevel.GameMaster)] private int _number; [SerializableField(1)] - [SerializableFieldAttr("[CommandProperty(AccessLevel.GameMaster)]")] + [SerializedCommandProperty(AccessLevel.GameMaster)] private bool _isRewardItem; [Constructible] diff --git a/Projects/UOContent/Items/Clothing/Hats.cs b/Projects/UOContent/Items/Clothing/Hats.cs index d6a9167d7..d6bec6723 100644 --- a/Projects/UOContent/Items/Clothing/Hats.cs +++ b/Projects/UOContent/Items/Clothing/Hats.cs @@ -11,7 +11,7 @@ namespace Server.Items public abstract partial class BaseHat : BaseClothing, IShipwreckedItem { [SerializableField(0)] - [SerializableFieldAttr("[CommandProperty(AccessLevel.GameMaster)]")] + [SerializedCommandProperty(AccessLevel.GameMaster)] private bool _isShipwreckedItem; public BaseHat(int itemID, int hue = 0) : base(itemID, Layer.Helm, hue) diff --git a/Projects/UOContent/Items/Clothing/OuterTorso.cs b/Projects/UOContent/Items/Clothing/OuterTorso.cs index 15aec7f89..5f147fcb2 100644 --- a/Projects/UOContent/Items/Clothing/OuterTorso.cs +++ b/Projects/UOContent/Items/Clothing/OuterTorso.cs @@ -147,11 +147,11 @@ namespace Server.Items { [InvalidateProperties] [SerializableField(0)] - [SerializableFieldAttr("[CommandProperty(AccessLevel.GameMaster)]")] + [SerializedCommandProperty(AccessLevel.GameMaster)] private int _number; [SerializableField(1)] - [SerializableFieldAttr("[CommandProperty(AccessLevel.GameMaster)]")] + [SerializedCommandProperty(AccessLevel.GameMaster)] private bool _isRewardItem; [Constructible] @@ -229,11 +229,11 @@ namespace Server.Items { [InvalidateProperties] [SerializableField(0)] - [SerializableFieldAttr("[CommandProperty(AccessLevel.GameMaster)]")] + [SerializedCommandProperty(AccessLevel.GameMaster)] private int _number; [SerializableField(1)] - [SerializableFieldAttr("[CommandProperty(AccessLevel.GameMaster)]")] + [SerializedCommandProperty(AccessLevel.GameMaster)] private bool _isRewardItem; [Constructible] diff --git a/Projects/UOContent/Items/Containers/BaseTreasureChest.cs b/Projects/UOContent/Items/Containers/BaseTreasureChest.cs index 8e0294f09..421ee0c26 100644 --- a/Projects/UOContent/Items/Containers/BaseTreasureChest.cs +++ b/Projects/UOContent/Items/Containers/BaseTreasureChest.cs @@ -32,15 +32,15 @@ public partial class BaseTreasureChest : LockableContainer } [SerializableField(0)] - [SerializableFieldAttr("[CommandProperty(AccessLevel.GameMaster)]")] + [SerializedCommandProperty(AccessLevel.GameMaster)] private TreasureLevel _level; [SerializableField(1)] - [SerializableFieldAttr("[CommandProperty(AccessLevel.GameMaster)]")] + [SerializedCommandProperty(AccessLevel.GameMaster)] private TimeSpan _minSpawnTime; [SerializableField(2)] - [SerializableFieldAttr("[CommandProperty(AccessLevel.GameMaster)]")] + [SerializedCommandProperty(AccessLevel.GameMaster)] private TimeSpan _maxSpawnTime; [CommandProperty(AccessLevel.GameMaster)] diff --git a/Projects/UOContent/Items/Containers/LockableContainer.cs b/Projects/UOContent/Items/Containers/LockableContainer.cs index c878a7f13..eae0e25da 100644 --- a/Projects/UOContent/Items/Containers/LockableContainer.cs +++ b/Projects/UOContent/Items/Containers/LockableContainer.cs @@ -49,27 +49,27 @@ public abstract partial class LockableContainer : TrappableContainer, ILockable, public Mobile Picker { get; set; } [SerializableField(0)] - [SerializableFieldAttr("[CommandProperty(AccessLevel.GameMaster)]")] + [SerializedCommandProperty(AccessLevel.GameMaster)] private bool _isShipwreckedItem; [SerializableField(1)] - [SerializableFieldAttr("[CommandProperty(AccessLevel.GameMaster)]")] + [SerializedCommandProperty(AccessLevel.GameMaster)] private bool _trapOnLockpick; [SerializableField(2)] - [SerializableFieldAttr("[CommandProperty(AccessLevel.GameMaster)]")] + [SerializedCommandProperty(AccessLevel.GameMaster)] private int _requiredSkill; [SerializableField(3)] - [SerializableFieldAttr("[CommandProperty(AccessLevel.GameMaster)]")] + [SerializedCommandProperty(AccessLevel.GameMaster)] private int _maxLockLevel; [SerializableField(4)] - [SerializableFieldAttr("[CommandProperty(AccessLevel.GameMaster)]")] + [SerializedCommandProperty(AccessLevel.GameMaster)] private uint _keyValue; [SerializableField(5)] - [SerializableFieldAttr("[CommandProperty(AccessLevel.GameMaster)]")] + [SerializedCommandProperty(AccessLevel.GameMaster)] private int _lockLevel; [SerializableProperty(6)] diff --git a/Projects/UOContent/Items/Containers/MarkContainer.cs b/Projects/UOContent/Items/Containers/MarkContainer.cs index 67d9a3f89..30cc8a128 100644 --- a/Projects/UOContent/Items/Containers/MarkContainer.cs +++ b/Projects/UOContent/Items/Containers/MarkContainer.cs @@ -20,15 +20,15 @@ public partial class MarkContainer : LockableContainer } [SerializableField(2)] - [SerializableFieldAttr("[CommandProperty(AccessLevel.GameMaster)]")] + [SerializedCommandProperty(AccessLevel.GameMaster)] private Map _targetMap; [SerializableField(3)] - [SerializableFieldAttr("[CommandProperty(AccessLevel.GameMaster)]")] + [SerializedCommandProperty(AccessLevel.GameMaster)] private Point3D _target; [SerializableField(4)] - [SerializableFieldAttr("[CommandProperty(AccessLevel.GameMaster)]")] + [SerializedCommandProperty(AccessLevel.GameMaster)] private string _description; [Constructible] diff --git a/Projects/UOContent/Items/Containers/Strongbox.cs b/Projects/UOContent/Items/Containers/Strongbox.cs index e6e1eec3e..905bf855d 100644 --- a/Projects/UOContent/Items/Containers/Strongbox.cs +++ b/Projects/UOContent/Items/Containers/Strongbox.cs @@ -11,12 +11,12 @@ public partial class StrongBox : BaseContainer, IChoppable { [InvalidateProperties] [SerializableField(0)] - [SerializableFieldAttr("[CommandProperty(AccessLevel.GameMaster)]")] + [SerializedCommandProperty(AccessLevel.GameMaster)] private Mobile _owner; [InvalidateProperties] [SerializableField(1)] - [SerializableFieldAttr("[CommandProperty(AccessLevel.GameMaster)]")] + [SerializedCommandProperty(AccessLevel.GameMaster)] private BaseHouse _house; public StrongBox(Mobile owner, BaseHouse house) : base(0xE80) diff --git a/Projects/UOContent/Items/Containers/TrappableContainer.cs b/Projects/UOContent/Items/Containers/TrappableContainer.cs index ebe9cfc8b..0ea878309 100644 --- a/Projects/UOContent/Items/Containers/TrappableContainer.cs +++ b/Projects/UOContent/Items/Containers/TrappableContainer.cs @@ -16,15 +16,15 @@ public enum TrapType public abstract partial class TrappableContainer : BaseContainer, ITelekinesisable { [SerializableField(0)] - [SerializableFieldAttr("[CommandProperty(AccessLevel.GameMaster)]")] + [SerializedCommandProperty(AccessLevel.GameMaster)] private int _trapLevel; [SerializableField(1)] - [SerializableFieldAttr("[CommandProperty(AccessLevel.GameMaster)]")] + [SerializedCommandProperty(AccessLevel.GameMaster)] private int _trapPower; [SerializableField(2)] - [SerializableFieldAttr("[CommandProperty(AccessLevel.GameMaster)]")] + [SerializedCommandProperty(AccessLevel.GameMaster)] private TrapType _trapType; public TrappableContainer(int itemID) : base(itemID) diff --git a/Projects/UOContent/Items/Containers/TreasureMapChest.cs b/Projects/UOContent/Items/Containers/TreasureMapChest.cs index a584a0579..bcf71721a 100644 --- a/Projects/UOContent/Items/Containers/TreasureMapChest.cs +++ b/Projects/UOContent/Items/Containers/TreasureMapChest.cs @@ -16,20 +16,20 @@ public partial class TreasureMapChest : LockableContainer private List _guardians; [SerializableField(1)] - [SerializableFieldAttr("[CommandProperty(AccessLevel.GameMaster)]")] + [SerializedCommandProperty(AccessLevel.GameMaster)] private bool _temporary; [SerializableField(2)] - [SerializableFieldAttr("[CommandProperty(AccessLevel.GameMaster)]")] + [SerializedCommandProperty(AccessLevel.GameMaster)] private Mobile _owner; [SerializableField(3)] - [SerializableFieldAttr("[CommandProperty(AccessLevel.GameMaster)]")] + [SerializedCommandProperty(AccessLevel.GameMaster)] private int _level; [TimerDrift] [SerializableField(4)] - [SerializableFieldAttr("[CommandProperty(AccessLevel.GameMaster)]")] + [SerializedCommandProperty(AccessLevel.GameMaster)] private Timer _expireTimer; [DeserializeTimerField(4)] @@ -43,7 +43,7 @@ public partial class TreasureMapChest : LockableContainer [Tidy] [SerializableField(5, setter: "private")] - [SerializableFieldAttr("[CommandProperty(AccessLevel.GameMaster)]")] + [SerializedCommandProperty(AccessLevel.GameMaster)] private HashSet _lifted; [Constructible] diff --git a/Projects/UOContent/Items/Deeds/CommodityDeed.cs b/Projects/UOContent/Items/Deeds/CommodityDeed.cs index 459a45b93..d073bf90b 100644 --- a/Projects/UOContent/Items/Deeds/CommodityDeed.cs +++ b/Projects/UOContent/Items/Deeds/CommodityDeed.cs @@ -13,7 +13,7 @@ public interface ICommodity /* added IsDeedable prop so expansion-based deedable public partial class CommodityDeed : Item { [SerializableField(0, setter: "private")] - [SerializableFieldAttr("[CommandProperty(AccessLevel.GameMaster)]")] + [SerializedCommandProperty(AccessLevel.GameMaster)] public Item _commodity; [Constructible] diff --git a/Projects/UOContent/Items/Deeds/DragonBardingDeed.cs b/Projects/UOContent/Items/Deeds/DragonBardingDeed.cs index 4b70f57c5..3ccc1b2f7 100644 --- a/Projects/UOContent/Items/Deeds/DragonBardingDeed.cs +++ b/Projects/UOContent/Items/Deeds/DragonBardingDeed.cs @@ -12,12 +12,12 @@ public partial class DragonBardingDeed : Item, ICraftable { [InvalidateProperties] [SerializableField(0)] - [SerializableFieldAttr("[CommandProperty(AccessLevel.GameMaster)]")] + [SerializedCommandProperty(AccessLevel.GameMaster)] private string _craftedBy; [InvalidateProperties] [SerializableField(1)] - [SerializableFieldAttr("[CommandProperty(AccessLevel.GameMaster)]")] + [SerializedCommandProperty(AccessLevel.GameMaster)] private bool _exceptional; public DragonBardingDeed() : base(0x14F0) => Weight = 1.0; diff --git a/Projects/UOContent/Items/Deeds/NewPlayerTicket.cs b/Projects/UOContent/Items/Deeds/NewPlayerTicket.cs index 36c2eea7a..3cd83c624 100644 --- a/Projects/UOContent/Items/Deeds/NewPlayerTicket.cs +++ b/Projects/UOContent/Items/Deeds/NewPlayerTicket.cs @@ -9,7 +9,7 @@ namespace Server.Items; public partial class NewPlayerTicket : Item { [SerializableField(0)] - [SerializableFieldAttr("[CommandProperty(AccessLevel.Owner)]")] + [SerializedCommandProperty(AccessLevel.Owner)] private Mobile _owner; [Constructible] diff --git a/Projects/UOContent/Items/Deeds/VendorRentalContract.cs b/Projects/UOContent/Items/Deeds/VendorRentalContract.cs index 8a1134014..203c0b415 100644 --- a/Projects/UOContent/Items/Deeds/VendorRentalContract.cs +++ b/Projects/UOContent/Items/Deeds/VendorRentalContract.cs @@ -21,11 +21,11 @@ public partial class VendorRentalContract : Item private Timer _offerExpireTimer; [SerializableField(1)] - [SerializableFieldAttr("[CommandProperty(AccessLevel.GameMaster)]")] + [SerializedCommandProperty(AccessLevel.GameMaster)] private int _price; [SerializableField(2)] - [SerializableFieldAttr("[CommandProperty(AccessLevel.GameMaster)]")] + [SerializedCommandProperty(AccessLevel.GameMaster)] private bool _landlordRenew; [Constructible] diff --git a/Projects/UOContent/Items/Food/Beverage.cs b/Projects/UOContent/Items/Food/Beverage.cs index e74eb03b4..1b8bef4f6 100644 --- a/Projects/UOContent/Items/Food/Beverage.cs +++ b/Projects/UOContent/Items/Food/Beverage.cs @@ -220,11 +220,11 @@ public abstract partial class BaseBeverage : Item, IHasQuantity private static readonly Dictionary m_Table = new(); [SerializableField(0)] - [SerializableFieldAttr("[CommandProperty(AccessLevel.GameMaster)]")] + [SerializedCommandProperty(AccessLevel.GameMaster)] private Poison _poison; [SerializableField(1)] - [SerializableFieldAttr("[CommandProperty(AccessLevel.GameMaster)]")] + [SerializedCommandProperty(AccessLevel.GameMaster)] private Mobile _poisoner; public BaseBeverage() => ItemID = ComputeItemID(); diff --git a/Projects/UOContent/Items/Food/CookableFood.cs b/Projects/UOContent/Items/Food/CookableFood.cs index d7711abfb..a1515173c 100644 --- a/Projects/UOContent/Items/Food/CookableFood.cs +++ b/Projects/UOContent/Items/Food/CookableFood.cs @@ -7,7 +7,7 @@ namespace Server.Items; public abstract partial class CookableFood : Item { [SerializableField(0)] - [SerializableFieldAttr("[CommandProperty(AccessLevel.GameMaster)]")] + [SerializedCommandProperty(AccessLevel.GameMaster)] private int _cookingLevel; public CookableFood(int itemID, int cookingLevel) : base(itemID) => _cookingLevel = cookingLevel; diff --git a/Projects/UOContent/Items/Food/Food.cs b/Projects/UOContent/Items/Food/Food.cs index 42afe10e4..abfd05b3c 100644 --- a/Projects/UOContent/Items/Food/Food.cs +++ b/Projects/UOContent/Items/Food/Food.cs @@ -8,15 +8,15 @@ namespace Server.Items; public abstract partial class Food : Item { [SerializableField(0)] - [SerializableFieldAttr("[CommandProperty(AccessLevel.GameMaster)]")] + [SerializedCommandProperty(AccessLevel.GameMaster)] private Mobile _poisoner; [SerializableField(1)] - [SerializableFieldAttr("[CommandProperty(AccessLevel.GameMaster)]")] + [SerializedCommandProperty(AccessLevel.GameMaster)] private Poison _poison; [SerializableField(2)] - [SerializableFieldAttr("[CommandProperty(AccessLevel.GameMaster)]")] + [SerializedCommandProperty(AccessLevel.GameMaster)] private int _fillFactor; public Food(int itemID, int amount = 1) : base(itemID) diff --git a/Projects/UOContent/Items/Games/BaseBoard.cs b/Projects/UOContent/Items/Games/BaseBoard.cs index be9194b7a..0d71c0a8f 100644 --- a/Projects/UOContent/Items/Games/BaseBoard.cs +++ b/Projects/UOContent/Items/Games/BaseBoard.cs @@ -12,7 +12,7 @@ namespace Server.Items; public abstract partial class BaseBoard : Container, ISecurable { [SerializableField(0)] - [SerializableFieldAttr("[CommandProperty(AccessLevel.GameMaster)]")] + [SerializedCommandProperty(AccessLevel.GameMaster)] private SecureLevel _level; public BaseBoard(int itemID) : base(itemID) diff --git a/Projects/UOContent/Items/Games/Mahjong/MahjongGame.cs b/Projects/UOContent/Items/Games/Mahjong/MahjongGame.cs index be72fe621..34292774c 100644 --- a/Projects/UOContent/Items/Games/Mahjong/MahjongGame.cs +++ b/Projects/UOContent/Items/Games/Mahjong/MahjongGame.cs @@ -14,7 +14,7 @@ public partial class MahjongGame : Item, ISecurable public const int BaseScore = 30000; [SerializableField(0)] - [SerializableFieldAttr("[CommandProperty(AccessLevel.GameMaster)]")] + [SerializedCommandProperty(AccessLevel.GameMaster)] private SecureLevel _level; [SerializableField(1, setter: "private")] diff --git a/Projects/UOContent/Items/Guilds/Guildstone.cs b/Projects/UOContent/Items/Guilds/Guildstone.cs index 767d02c58..d808e4066 100644 --- a/Projects/UOContent/Items/Guilds/Guildstone.cs +++ b/Projects/UOContent/Items/Guilds/Guildstone.cs @@ -13,17 +13,17 @@ public partial class Guildstone : Item, IAddon, IChoppable { [InvalidateProperties] [SerializableField(0)] - [SerializableFieldAttr("[CommandProperty(AccessLevel.GameMaster)]")] + [SerializedCommandProperty(AccessLevel.GameMaster)] private string _guildName; [InvalidateProperties] [SerializableField(1)] - [SerializableFieldAttr("[CommandProperty(AccessLevel.GameMaster)]")] + [SerializedCommandProperty(AccessLevel.GameMaster)] private string _guildAbbrev; [InvalidateProperties] [SerializableField(2, setter: "private")] - [SerializableFieldAttr("[CommandProperty(AccessLevel.GameMaster)]")] + [SerializedCommandProperty(AccessLevel.GameMaster)] private Guild _guild; public Guildstone(Guild g) : this(g, g.Name, g.Abbreviation) @@ -209,17 +209,17 @@ public partial class GuildstoneDeed : Item { [InvalidateProperties] [SerializableField(0)] - [SerializableFieldAttr("[CommandProperty(AccessLevel.GameMaster)]")] + [SerializedCommandProperty(AccessLevel.GameMaster)] private string _guildName; [InvalidateProperties] [SerializableField(1)] - [SerializableFieldAttr("[CommandProperty(AccessLevel.GameMaster)]")] + [SerializedCommandProperty(AccessLevel.GameMaster)] private string _guildAbbrev; [InvalidateProperties] [SerializableField(2, setter: "private")] - [SerializableFieldAttr("[CommandProperty(AccessLevel.GameMaster)]")] + [SerializedCommandProperty(AccessLevel.GameMaster)] private Guild _guild; [Constructible] diff --git a/Projects/UOContent/Items/Jewels/BaseJewel.cs b/Projects/UOContent/Items/Jewels/BaseJewel.cs index fdda15757..16fe04c72 100644 --- a/Projects/UOContent/Items/Jewels/BaseJewel.cs +++ b/Projects/UOContent/Items/Jewels/BaseJewel.cs @@ -24,24 +24,24 @@ public abstract partial class BaseJewel : Item, ICraftable [EncodedInt] [InvalidateProperties] [SerializableField(0)] - [SerializableFieldAttr("[CommandProperty(AccessLevel.GameMaster)]")] + [SerializedCommandProperty(AccessLevel.GameMaster)] private int _maxHitPoints; [SerializableField(3)] [InvalidateProperties] - [SerializableFieldAttr("[CommandProperty(AccessLevel.GameMaster)]")] + [SerializedCommandProperty(AccessLevel.GameMaster)] private GemType _gemType; [SerializableField(4, setter: "private")] - [SerializableFieldAttr("[CommandProperty(AccessLevel.GameMaster, canModify: true)]")] + [SerializedCommandProperty(AccessLevel.GameMaster, canModify: true)] private AosAttributes _attributes; [SerializableField(5, setter: "private")] - [SerializableFieldAttr("[CommandProperty(AccessLevel.GameMaster, canModify: true)]")] + [SerializedCommandProperty(AccessLevel.GameMaster, canModify: true)] private AosElementAttributes _resistances; [SerializableField(6, setter: "private")] - [SerializableFieldAttr("[CommandProperty(AccessLevel.GameMaster, canModify: true)]")] + [SerializedCommandProperty(AccessLevel.GameMaster, canModify: true)] private AosSkillBonuses _skillBonuses; public BaseJewel(int itemID, Layer layer) : base(itemID) diff --git a/Projects/UOContent/Items/Lights/BaseLight.cs b/Projects/UOContent/Items/Lights/BaseLight.cs index 3e8ec5c56..d3bff4af5 100644 --- a/Projects/UOContent/Items/Lights/BaseLight.cs +++ b/Projects/UOContent/Items/Lights/BaseLight.cs @@ -9,11 +9,11 @@ public abstract partial class BaseLight : Item public static readonly bool Burnout = false; [SerializableField(0)] - [SerializableFieldAttr("[CommandProperty(AccessLevel.GameMaster)]")] + [SerializedCommandProperty(AccessLevel.GameMaster)] private bool _burntOut; [SerializableField(3)] - [SerializableFieldAttr("[CommandProperty(AccessLevel.GameMaster)]")] + [SerializedCommandProperty(AccessLevel.GameMaster)] private bool _protected; [TimerDrift] diff --git a/Projects/UOContent/Items/Lights/Candelabra.cs b/Projects/UOContent/Items/Lights/Candelabra.cs index 823313f2d..1558417bd 100644 --- a/Projects/UOContent/Items/Lights/Candelabra.cs +++ b/Projects/UOContent/Items/Lights/Candelabra.cs @@ -7,7 +7,7 @@ namespace Server.Items; public partial class Candelabra : BaseLight, IShipwreckedItem { [SerializableField(0)] - [SerializableFieldAttr("[CommandProperty(AccessLevel.GameMaster)]")] + [SerializedCommandProperty(AccessLevel.GameMaster)] private bool _isShipwreckedItem; [Constructible] diff --git a/Projects/UOContent/Items/Maps/MapItem.cs b/Projects/UOContent/Items/Maps/MapItem.cs index ddabca698..8aba38219 100644 --- a/Projects/UOContent/Items/Maps/MapItem.cs +++ b/Projects/UOContent/Items/Maps/MapItem.cs @@ -13,27 +13,27 @@ public partial class MapItem : Item, ICraftable private const int MaxUserPins = 50; [SerializableField(0)] - [SerializableFieldAttr("[CommandProperty(AccessLevel.GameMaster)]")] + [SerializedCommandProperty(AccessLevel.GameMaster)] private Rectangle2D _bounds; [SerializableField(1)] - [SerializableFieldAttr("[CommandProperty(AccessLevel.GameMaster)]")] + [SerializedCommandProperty(AccessLevel.GameMaster)] private int _width; [SerializableField(2)] - [SerializableFieldAttr("[CommandProperty(AccessLevel.GameMaster)]")] + [SerializedCommandProperty(AccessLevel.GameMaster)] private int _height; [SerializableField(3)] - [SerializableFieldAttr("[CommandProperty(AccessLevel.GameMaster)]")] + [SerializedCommandProperty(AccessLevel.GameMaster)] private bool _protected; [SerializableField(4, setter: "private")] - [SerializableFieldAttr("[CommandProperty(AccessLevel.GameMaster)]")] + [SerializedCommandProperty(AccessLevel.GameMaster)] private List _pins; [SerializableField(5)] - [SerializableFieldAttr("[CommandProperty(AccessLevel.GameMaster)]")] + [SerializedCommandProperty(AccessLevel.GameMaster)] private Map _facet; [SerializableField(6)] diff --git a/Projects/UOContent/Items/Maps/TreasureMap.cs b/Projects/UOContent/Items/Maps/TreasureMap.cs index 189c7bb60..445bb26fb 100644 --- a/Projects/UOContent/Items/Maps/TreasureMap.cs +++ b/Projects/UOContent/Items/Maps/TreasureMap.cs @@ -32,31 +32,31 @@ public partial class TreasureMap : MapItem [InvalidateProperties] [SerializableField(0)] - [SerializableFieldAttr("[CommandProperty(AccessLevel.GameMaster)]")] + [SerializedCommandProperty(AccessLevel.GameMaster)] private Mobile _completedBy; [InvalidateProperties] [SerializableField(1)] - [SerializableFieldAttr("[CommandProperty(AccessLevel.GameMaster)]")] + [SerializedCommandProperty(AccessLevel.GameMaster)] private int _level; [InvalidateProperties] [SerializableField(2)] - [SerializableFieldAttr("[CommandProperty(AccessLevel.GameMaster)]")] + [SerializedCommandProperty(AccessLevel.GameMaster)] private bool _completed; [InvalidateProperties] [SerializableField(3)] - [SerializableFieldAttr("[CommandProperty(AccessLevel.GameMaster)]")] + [SerializedCommandProperty(AccessLevel.GameMaster)] private Mobile _decoder; [InvalidateProperties] [SerializableField(4)] - [SerializableFieldAttr("[CommandProperty(AccessLevel.GameMaster)]")] + [SerializedCommandProperty(AccessLevel.GameMaster)] private Map _chestMap; [SerializableField(5)] - [SerializableFieldAttr("[CommandProperty(AccessLevel.GameMaster)]")] + [SerializedCommandProperty(AccessLevel.GameMaster)] private Point2D _chestLocation; [Constructible] diff --git a/Projects/UOContent/Items/Misc/BankCheck.cs b/Projects/UOContent/Items/Misc/BankCheck.cs index 844307633..58a3b9d07 100644 --- a/Projects/UOContent/Items/Misc/BankCheck.cs +++ b/Projects/UOContent/Items/Misc/BankCheck.cs @@ -15,7 +15,7 @@ public partial class BankCheck : Item { [InvalidateProperties] [SerializableField(0)] - [SerializableFieldAttr("[CommandProperty(AccessLevel.GameMaster)]")] + [SerializedCommandProperty(AccessLevel.GameMaster)] private int _worth; [Constructible] diff --git a/Projects/UOContent/Items/Misc/CommunicationCrystals.cs b/Projects/UOContent/Items/Misc/CommunicationCrystals.cs index fdda8cb40..0271fcacb 100644 --- a/Projects/UOContent/Items/Misc/CommunicationCrystals.cs +++ b/Projects/UOContent/Items/Misc/CommunicationCrystals.cs @@ -51,12 +51,12 @@ public partial class BroadcastCrystal : Item [InvalidateProperties] [SerializableField(0)] - [SerializableFieldAttr("[CommandProperty(AccessLevel.GameMaster)]")] + [SerializedCommandProperty(AccessLevel.GameMaster)] private int _charges; [InvalidateProperties] [SerializableField(1, getter: "private", setter: "private")] - [SerializableFieldAttr("[CommandProperty(AccessLevel.GameMaster)]")] + [SerializedCommandProperty(AccessLevel.GameMaster)] private List _receivers; [Constructible] diff --git a/Projects/UOContent/Items/Misc/DeceitBrazier.cs b/Projects/UOContent/Items/Misc/DeceitBrazier.cs index 322507161..d16d6f85d 100644 --- a/Projects/UOContent/Items/Misc/DeceitBrazier.cs +++ b/Projects/UOContent/Items/Misc/DeceitBrazier.cs @@ -12,11 +12,11 @@ public partial class DeceitBrazier : Item private TimerExecutionToken _timerToken; [SerializableField(0)] - [SerializableFieldAttr("[CommandProperty(AccessLevel.GameMaster)]")] + [SerializedCommandProperty(AccessLevel.GameMaster)] private int _spawnRange; [SerializableField(1)] - [SerializableFieldAttr("[CommandProperty(AccessLevel.GameMaster)]")] + [SerializedCommandProperty(AccessLevel.GameMaster)] private TimeSpan _nextSpawnDelay; [Constructible] diff --git a/Projects/UOContent/Items/Misc/EffectController.cs b/Projects/UOContent/Items/Misc/EffectController.cs index 0573ebec9..b5ef68b7e 100644 --- a/Projects/UOContent/Items/Misc/EffectController.cs +++ b/Projects/UOContent/Items/Misc/EffectController.cs @@ -24,15 +24,15 @@ public enum EffectTriggerType public partial class EffectController : Item { [SerializableField(0)] - [SerializableFieldAttr("[CommandProperty(AccessLevel.GameMaster)]")] + [SerializedCommandProperty(AccessLevel.GameMaster)] private TimeSpan _effectDelay; [SerializableField(1)] - [SerializableFieldAttr("[CommandProperty(AccessLevel.GameMaster)]")] + [SerializedCommandProperty(AccessLevel.GameMaster)] private TimeSpan _triggerDelay; [SerializableField(2)] - [SerializableFieldAttr("[CommandProperty(AccessLevel.GameMaster)]")] + [SerializedCommandProperty(AccessLevel.GameMaster)] private TimeSpan _soundDelay; [SerializableField(3)] @@ -42,75 +42,75 @@ public partial class EffectController : Item private IEntity _target; [SerializableField(5)] - [SerializableFieldAttr("[CommandProperty(AccessLevel.GameMaster)]")] + [SerializedCommandProperty(AccessLevel.GameMaster)] private EffectController _sequence; [SerializableField(6)] - [SerializableFieldAttr("[CommandProperty(AccessLevel.GameMaster)]")] + [SerializedCommandProperty(AccessLevel.GameMaster)] private bool _fixedDirection; [SerializableField(7)] - [SerializableFieldAttr("[CommandProperty(AccessLevel.GameMaster)]")] + [SerializedCommandProperty(AccessLevel.GameMaster)] private bool _explodes; [SerializableField(8)] - [SerializableFieldAttr("[CommandProperty(AccessLevel.GameMaster)]")] + [SerializedCommandProperty(AccessLevel.GameMaster)] private bool _playSoundAtTrigger; [SerializableField(9)] - [SerializableFieldAttr("[CommandProperty(AccessLevel.GameMaster)]")] + [SerializedCommandProperty(AccessLevel.GameMaster)] private ECEffectType _effectType; [SerializableField(10)] - [SerializableFieldAttr("[CommandProperty(AccessLevel.GameMaster)]")] + [SerializedCommandProperty(AccessLevel.GameMaster)] private EffectLayer _effectLayer; [SerializableField(11)] - [SerializableFieldAttr("[CommandProperty(AccessLevel.GameMaster)]")] + [SerializedCommandProperty(AccessLevel.GameMaster)] private EffectTriggerType _triggerType; [SerializableField(12)] - [SerializableFieldAttr("[CommandProperty(AccessLevel.GameMaster)]")] + [SerializedCommandProperty(AccessLevel.GameMaster)] private int _effectItemId; [SerializableField(13)] - [SerializableFieldAttr("[CommandProperty(AccessLevel.GameMaster)]")] + [SerializedCommandProperty(AccessLevel.GameMaster)] private int _effectHue; [SerializableField(14)] - [SerializableFieldAttr("[CommandProperty(AccessLevel.GameMaster)]")] + [SerializedCommandProperty(AccessLevel.GameMaster)] private int _renderMode; [SerializableField(15)] - [SerializableFieldAttr("[CommandProperty(AccessLevel.GameMaster)]")] + [SerializedCommandProperty(AccessLevel.GameMaster)] private int _speed; [SerializableField(16)] - [SerializableFieldAttr("[CommandProperty(AccessLevel.GameMaster)]")] + [SerializedCommandProperty(AccessLevel.GameMaster)] private int _duration; [SerializableField(17)] - [SerializableFieldAttr("[CommandProperty(AccessLevel.GameMaster)]")] + [SerializedCommandProperty(AccessLevel.GameMaster)] private int _particleEffect; [SerializableField(18)] - [SerializableFieldAttr("[CommandProperty(AccessLevel.GameMaster)]")] + [SerializedCommandProperty(AccessLevel.GameMaster)] private int _explodeParticleEffect; [SerializableField(19)] - [SerializableFieldAttr("[CommandProperty(AccessLevel.GameMaster)]")] + [SerializedCommandProperty(AccessLevel.GameMaster)] private int _explodeSound; [SerializableField(20)] - [SerializableFieldAttr("[CommandProperty(AccessLevel.GameMaster)]")] + [SerializedCommandProperty(AccessLevel.GameMaster)] private int _unknown; [SerializableField(21)] - [SerializableFieldAttr("[CommandProperty(AccessLevel.GameMaster)]")] + [SerializedCommandProperty(AccessLevel.GameMaster)] private int _soundId; [SerializableField(22)] - [SerializableFieldAttr("[CommandProperty(AccessLevel.GameMaster)]")] + [SerializedCommandProperty(AccessLevel.GameMaster)] private int _triggerRange; [Constructible] diff --git a/Projects/UOContent/Items/Misc/Key.cs b/Projects/UOContent/Items/Misc/Key.cs index 2713678ad..e3168e27f 100644 --- a/Projects/UOContent/Items/Misc/Key.cs +++ b/Projects/UOContent/Items/Misc/Key.cs @@ -23,21 +23,21 @@ public interface ILockable public partial class Key : Item { [SerializableField(0)] - [SerializableFieldAttr("[CommandProperty(AccessLevel.GameMaster)]")] + [SerializedCommandProperty(AccessLevel.GameMaster)] private int _maxRange; [SerializableField(1)] - [SerializableFieldAttr("[CommandProperty(AccessLevel.GameMaster)]")] + [SerializedCommandProperty(AccessLevel.GameMaster)] private Item _link; [SerializableField(2)] [InvalidateProperties] - [SerializableFieldAttr("[CommandProperty(AccessLevel.GameMaster)]")] + [SerializedCommandProperty(AccessLevel.GameMaster)] private string _description; [SerializableField(3)] [InvalidateProperties] - [SerializableFieldAttr("[CommandProperty(AccessLevel.GameMaster)]")] + [SerializedCommandProperty(AccessLevel.GameMaster)] private uint _keyValue; [Constructible] diff --git a/Projects/UOContent/Items/Misc/Moonstone.cs b/Projects/UOContent/Items/Misc/Moonstone.cs index 55090df75..8c7d25a48 100644 --- a/Projects/UOContent/Items/Misc/Moonstone.cs +++ b/Projects/UOContent/Items/Misc/Moonstone.cs @@ -17,7 +17,7 @@ public partial class Moonstone : Item { [InvalidateProperties] [SerializableField(0)] - [SerializableFieldAttr("[CommandProperty(AccessLevel.GameMaster)]")] + [SerializedCommandProperty(AccessLevel.GameMaster)] private MoonstoneType _type; [Constructible] diff --git a/Projects/UOContent/Items/Misc/MorphItem.cs b/Projects/UOContent/Items/Misc/MorphItem.cs index 84587e658..57bef974a 100644 --- a/Projects/UOContent/Items/Misc/MorphItem.cs +++ b/Projects/UOContent/Items/Misc/MorphItem.cs @@ -7,11 +7,11 @@ namespace Server.Items; public partial class MorphItem : Item { [SerializableField(1)] - [SerializableFieldAttr("[CommandProperty(AccessLevel.GameMaster)]")] + [SerializedCommandProperty(AccessLevel.GameMaster)] private int _inactiveItemId; [SerializableField(2)] - [SerializableFieldAttr("[CommandProperty(AccessLevel.GameMaster)]")] + [SerializedCommandProperty(AccessLevel.GameMaster)] private int _activeItemId; [Constructible] diff --git a/Projects/UOContent/Items/Misc/PlayerBulletinBoards.cs b/Projects/UOContent/Items/Misc/PlayerBulletinBoards.cs index d1548a790..cb45f246a 100644 --- a/Projects/UOContent/Items/Misc/PlayerBulletinBoards.cs +++ b/Projects/UOContent/Items/Misc/PlayerBulletinBoards.cs @@ -32,16 +32,16 @@ public partial class PlayerBBEast : BasePlayerBB public abstract partial class BasePlayerBB : Item, ISecurable { [SerializableField(0)] - [SerializableFieldAttr("[CommandProperty(AccessLevel.GameMaster)]")] + [SerializedCommandProperty(AccessLevel.GameMaster)] private SecureLevel _level; [SerializableField(1)] - [SerializableFieldAttr("[CommandProperty(AccessLevel.GameMaster)]")] + [SerializedCommandProperty(AccessLevel.GameMaster)] private string _title; [CanBeNull] [SerializableField(2)] - [SerializableFieldAttr("[CommandProperty(AccessLevel.GameMaster)]")] + [SerializedCommandProperty(AccessLevel.GameMaster)] private PlayerBBMessage _greeting; [SerializableField(3)] @@ -235,15 +235,15 @@ public abstract partial class BasePlayerBB : Item, ISecurable public partial class PlayerBBMessage { [SerializableField(0)] - [SerializableFieldAttr("[CommandProperty(AccessLevel.GameMaster)]")] + [SerializedCommandProperty(AccessLevel.GameMaster)] private DateTime _time; [SerializableField(1)] - [SerializableFieldAttr("[CommandProperty(AccessLevel.GameMaster)]")] + [SerializedCommandProperty(AccessLevel.GameMaster)] private Mobile _poster; [SerializableField(2)] - [SerializableFieldAttr("[CommandProperty(AccessLevel.GameMaster)]")] + [SerializedCommandProperty(AccessLevel.GameMaster)] private string _message; public PlayerBBMessage() diff --git a/Projects/UOContent/Items/Misc/SerpentPillar.cs b/Projects/UOContent/Items/Misc/SerpentPillar.cs index 4f990ba48..29d3f8e4c 100644 --- a/Projects/UOContent/Items/Misc/SerpentPillar.cs +++ b/Projects/UOContent/Items/Misc/SerpentPillar.cs @@ -7,15 +7,15 @@ namespace Server.Items; public partial class SerpentPillar : Item { [SerializableField(0)] - [SerializableFieldAttr("[CommandProperty(AccessLevel.GameMaster)]")] + [SerializedCommandProperty(AccessLevel.GameMaster)] private bool _active; [SerializableField(1)] - [SerializableFieldAttr("[CommandProperty(AccessLevel.GameMaster)]")] + [SerializedCommandProperty(AccessLevel.GameMaster)] private string _word; [SerializableField(2)] - [SerializableFieldAttr("[CommandProperty(AccessLevel.GameMaster)]")] + [SerializedCommandProperty(AccessLevel.GameMaster)] private Rectangle2D _destination; [Constructible] diff --git a/Projects/UOContent/Items/Misc/Static.cs b/Projects/UOContent/Items/Misc/Static.cs index 01d747f5e..211af73b3 100644 --- a/Projects/UOContent/Items/Misc/Static.cs +++ b/Projects/UOContent/Items/Misc/Static.cs @@ -22,7 +22,7 @@ public partial class LocalizedStatic : Static [EncodedInt] [InvalidateProperties] [SerializableField(0)] - [SerializableFieldAttr("[CommandProperty(AccessLevel.GameMaster)]")] + [SerializedCommandProperty(AccessLevel.GameMaster)] private int _number; [Constructible] diff --git a/Projects/UOContent/Items/Misc/Teleporter.cs b/Projects/UOContent/Items/Misc/Teleporter.cs index 14d344cde..67f583709 100644 --- a/Projects/UOContent/Items/Misc/Teleporter.cs +++ b/Projects/UOContent/Items/Misc/Teleporter.cs @@ -25,28 +25,28 @@ public partial class Teleporter : Item { [InvalidateProperties] [SerializableField(0)] - [SerializableFieldAttr("[CommandProperty(AccessLevel.GameMaster)]")] + [SerializedCommandProperty(AccessLevel.GameMaster)] private TeleporterFlags _flags; [InvalidateProperties] [SerializableField(1)] - [SerializableFieldAttr("[CommandProperty(AccessLevel.GameMaster)]")] + [SerializedCommandProperty(AccessLevel.GameMaster)] private TimeSpan _delay; [EncodedInt] [InvalidateProperties] [SerializableField(2)] - [SerializableFieldAttr("[CommandProperty(AccessLevel.GameMaster)]")] + [SerializedCommandProperty(AccessLevel.GameMaster)] private int _soundID; [InvalidateProperties] [SerializableField(3)] - [SerializableFieldAttr("[CommandProperty(AccessLevel.GameMaster)]")] + [SerializedCommandProperty(AccessLevel.GameMaster)] private Point3D _pointDest; [InvalidateProperties] [SerializableField(4)] - [SerializableFieldAttr("[CommandProperty(AccessLevel.GameMaster)]")] + [SerializedCommandProperty(AccessLevel.GameMaster)] private Map _mapDest; [Constructible] @@ -307,18 +307,18 @@ public partial class SkillTeleporter : Teleporter { [InvalidateProperties] [SerializableField(0)] - [SerializableFieldAttr("[CommandProperty(AccessLevel.GameMaster)]")] + [SerializedCommandProperty(AccessLevel.GameMaster)] private SkillName _skill; [InvalidateProperties] [SerializableField(1)] - [SerializableFieldAttr("[CommandProperty(AccessLevel.GameMaster)]")] + [SerializedCommandProperty(AccessLevel.GameMaster)] private double _required; [CanBeNull] [InvalidateProperties] [SerializableField(2)] - [SerializableFieldAttr("[CommandProperty(AccessLevel.GameMaster)]")] + [SerializedCommandProperty(AccessLevel.GameMaster)] private TextDefinition _message; [Constructible] @@ -423,15 +423,15 @@ public partial class SkillTeleporter : Teleporter public partial class KeywordTeleporter : Teleporter { [SerializableField(0)] - [SerializableFieldAttr("[CommandProperty(AccessLevel.GameMaster)]")] + [SerializedCommandProperty(AccessLevel.GameMaster)] private string _substring; [SerializableField(1)] - [SerializableFieldAttr("[CommandProperty(AccessLevel.GameMaster)]")] + [SerializedCommandProperty(AccessLevel.GameMaster)] private int _keyword; [SerializableField(2)] - [SerializableFieldAttr("[CommandProperty(AccessLevel.GameMaster)]")] + [SerializedCommandProperty(AccessLevel.GameMaster)] private int _range; [Constructible] @@ -513,18 +513,18 @@ public partial class WaitTeleporter : KeywordTeleporter [CanBeNull] [InvalidateProperties] [SerializableField(0)] - [SerializableFieldAttr("[CommandProperty(AccessLevel.GameMaster)]")] + [SerializedCommandProperty(AccessLevel.GameMaster)] private TextDefinition _startMessage; [CanBeNull] [InvalidateProperties] [SerializableField(1)] - [SerializableFieldAttr("[CommandProperty(AccessLevel.GameMaster)]")] + [SerializedCommandProperty(AccessLevel.GameMaster)] private TextDefinition _progressMessage; [InvalidateProperties] [SerializableField(2)] - [SerializableFieldAttr("[CommandProperty(AccessLevel.GameMaster)]")] + [SerializedCommandProperty(AccessLevel.GameMaster)] private bool _showTimeRemaining; [Constructible] diff --git a/Projects/UOContent/Items/Misc/WarningItem.cs b/Projects/UOContent/Items/Misc/WarningItem.cs index 85cd73954..de957f244 100644 --- a/Projects/UOContent/Items/Misc/WarningItem.cs +++ b/Projects/UOContent/Items/Misc/WarningItem.cs @@ -11,7 +11,7 @@ public partial class WarningItem : Item private bool m_Broadcasting; [SerializableField(0)] - [SerializableFieldAttr("[CommandProperty(AccessLevel.GameMaster)]")] + [SerializedCommandProperty(AccessLevel.GameMaster)] private TextDefinition _warningMessage; // Field 1 @@ -134,7 +134,7 @@ public partial class WarningItem : Item public partial class HintItem : WarningItem { [SerializableField(0)] - [SerializableFieldAttr("[CommandProperty(AccessLevel.GameMaster)]")] + [SerializedCommandProperty(AccessLevel.GameMaster)] private TextDefinition _hintMessage; [Constructible] diff --git a/Projects/UOContent/Items/Misc/WayPoint.cs b/Projects/UOContent/Items/Misc/WayPoint.cs index b00c8f1a5..171231865 100644 --- a/Projects/UOContent/Items/Misc/WayPoint.cs +++ b/Projects/UOContent/Items/Misc/WayPoint.cs @@ -8,7 +8,7 @@ namespace Server.Items; public partial class WayPoint : Item { [SerializableField(0)] - [SerializableFieldAttr("[CommandProperty(AccessLevel.GameMaster)]")] + [SerializedCommandProperty(AccessLevel.GameMaster)] private WayPoint _nextPoint; [Constructible] diff --git a/Projects/UOContent/Items/Misc/WindChimes.cs b/Projects/UOContent/Items/Misc/WindChimes.cs index 88471997d..d0d774be4 100644 --- a/Projects/UOContent/Items/Misc/WindChimes.cs +++ b/Projects/UOContent/Items/Misc/WindChimes.cs @@ -10,7 +10,7 @@ public abstract partial class BaseWindChimes : Item { [InvalidateProperties] [SerializableField(0)] - [SerializableFieldAttr("[CommandProperty(AccessLevel.GameMaster)]")] + [SerializedCommandProperty(AccessLevel.GameMaster)] private bool _turnedOn; public BaseWindChimes(int itemID) : base(itemID) diff --git a/Projects/UOContent/Items/Resources/Blacksmithing/Ingots.cs b/Projects/UOContent/Items/Resources/Blacksmithing/Ingots.cs index 3b6fcec7e..b8206e8bd 100644 --- a/Projects/UOContent/Items/Resources/Blacksmithing/Ingots.cs +++ b/Projects/UOContent/Items/Resources/Blacksmithing/Ingots.cs @@ -6,7 +6,7 @@ namespace Server.Items public abstract partial class BaseIngot : Item, ICommodity { [InvalidateProperties] - [SerializableFieldAttr("[CommandProperty(AccessLevel.GameMaster)]")] + [SerializedCommandProperty(AccessLevel.GameMaster)] [SerializableField(0)] private CraftResource _resource; diff --git a/Projects/UOContent/Items/Resources/Blacksmithing/Ore.cs b/Projects/UOContent/Items/Resources/Blacksmithing/Ore.cs index 1f076db1e..59999eab7 100644 --- a/Projects/UOContent/Items/Resources/Blacksmithing/Ore.cs +++ b/Projects/UOContent/Items/Resources/Blacksmithing/Ore.cs @@ -18,7 +18,7 @@ namespace Server.Items } [InvalidateProperties] - [SerializableFieldAttr("[CommandProperty(AccessLevel.GameMaster)]")] + [SerializedCommandProperty(AccessLevel.GameMaster)] [SerializableField(0)] private CraftResource _resource; diff --git a/Projects/UOContent/Items/Resources/Fishing/BigFish.cs b/Projects/UOContent/Items/Resources/Fishing/BigFish.cs index 49dc2bc76..e6c488b45 100644 --- a/Projects/UOContent/Items/Resources/Fishing/BigFish.cs +++ b/Projects/UOContent/Items/Resources/Fishing/BigFish.cs @@ -7,7 +7,7 @@ namespace Server.Items public partial class BigFish : Item, ICarvable { [InvalidateProperties] - [SerializableFieldAttr("[CommandProperty(AccessLevel.GameMaster)]")] + [SerializedCommandProperty(AccessLevel.GameMaster)] [SerializableField(0)] private Mobile _fisher; diff --git a/Projects/UOContent/Items/Resources/Tailor/Hides.cs b/Projects/UOContent/Items/Resources/Tailor/Hides.cs index 4e4b1f6e4..a026322ef 100644 --- a/Projects/UOContent/Items/Resources/Tailor/Hides.cs +++ b/Projects/UOContent/Items/Resources/Tailor/Hides.cs @@ -6,7 +6,7 @@ namespace Server.Items public abstract partial class BaseHides : Item, ICommodity { [InvalidateProperties] - [SerializableFieldAttr("[CommandProperty(AccessLevel.GameMaster)]")] + [SerializedCommandProperty(AccessLevel.GameMaster)] [SerializableField(0)] private CraftResource _resource; diff --git a/Projects/UOContent/Items/Resources/Tailor/Leathers.cs b/Projects/UOContent/Items/Resources/Tailor/Leathers.cs index 9af30b92e..bc4f46291 100644 --- a/Projects/UOContent/Items/Resources/Tailor/Leathers.cs +++ b/Projects/UOContent/Items/Resources/Tailor/Leathers.cs @@ -6,7 +6,7 @@ namespace Server.Items public abstract partial class BaseLeather : Item, ICommodity { [InvalidateProperties] - [SerializableFieldAttr("[CommandProperty(AccessLevel.GameMaster)]")] + [SerializedCommandProperty(AccessLevel.GameMaster)] [SerializableField(0)] private CraftResource _resource; diff --git a/Projects/UOContent/Items/Skill Items/Lumberjack/Log.cs b/Projects/UOContent/Items/Skill Items/Lumberjack/Log.cs index e3a37d000..82772546f 100644 --- a/Projects/UOContent/Items/Skill Items/Lumberjack/Log.cs +++ b/Projects/UOContent/Items/Skill Items/Lumberjack/Log.cs @@ -7,7 +7,7 @@ namespace Server.Items public partial class Log : Item, ICommodity, IAxe { [InvalidateProperties] - [SerializableFieldAttr("[CommandProperty(AccessLevel.GameMaster)]")] + [SerializedCommandProperty(AccessLevel.GameMaster)] [SerializableField(0)] private CraftResource _resource; 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 f81879b89..25d7c9882 100644 --- a/Projects/UOContent/Items/Skill Items/Tailor Items/Dyetubs/DyeTub.cs +++ b/Projects/UOContent/Items/Skill Items/Tailor Items/Dyetubs/DyeTub.cs @@ -16,11 +16,11 @@ namespace Server.Items public partial class DyeTub : Item, ISecurable { [SerializableField(0)] - [SerializableFieldAttr("[CommandProperty(AccessLevel.GameMaster)]")] + [SerializedCommandProperty(AccessLevel.GameMaster)] private SecureLevel _level; [SerializableField(1, isVirtual: true)] - [SerializableFieldAttr("[CommandProperty(AccessLevel.GameMaster)]")] + [SerializedCommandProperty(AccessLevel.GameMaster)] private bool _redyable; [Constructible] diff --git a/Projects/UOContent/Items/Skill Items/Tailor Items/Dyetubs/FurnitureDyeTub.cs b/Projects/UOContent/Items/Skill Items/Tailor Items/Dyetubs/FurnitureDyeTub.cs index 8b403c3f7..599a43d2b 100644 --- a/Projects/UOContent/Items/Skill Items/Tailor Items/Dyetubs/FurnitureDyeTub.cs +++ b/Projects/UOContent/Items/Skill Items/Tailor Items/Dyetubs/FurnitureDyeTub.cs @@ -7,7 +7,7 @@ namespace Server.Items public partial class FurnitureDyeTub : DyeTub, IRewardItem { [SerializableField(0)] - [SerializableFieldAttr("[CommandProperty(AccessLevel.GameMaster)]")] + [SerializedCommandProperty(AccessLevel.GameMaster)] private bool _isRewardItem; [Constructible] diff --git a/Projects/UOContent/Items/Skill Items/Tailor Items/Dyetubs/LeatherDyeTub.cs b/Projects/UOContent/Items/Skill Items/Tailor Items/Dyetubs/LeatherDyeTub.cs index 2e94d43e7..c429a7b5d 100644 --- a/Projects/UOContent/Items/Skill Items/Tailor Items/Dyetubs/LeatherDyeTub.cs +++ b/Projects/UOContent/Items/Skill Items/Tailor Items/Dyetubs/LeatherDyeTub.cs @@ -7,7 +7,7 @@ namespace Server.Items public partial class LeatherDyeTub : DyeTub, IRewardItem { [SerializableField(0)] - [SerializableFieldAttr("[CommandProperty(AccessLevel.GameMaster)]")] + [SerializedCommandProperty(AccessLevel.GameMaster)] private bool _isRewardItem; [Constructible] diff --git a/Projects/UOContent/Items/Skill Items/Tailor Items/Dyetubs/RewardBlackDyeTub.cs b/Projects/UOContent/Items/Skill Items/Tailor Items/Dyetubs/RewardBlackDyeTub.cs index c8c0ef7c1..23fc7adf1 100644 --- a/Projects/UOContent/Items/Skill Items/Tailor Items/Dyetubs/RewardBlackDyeTub.cs +++ b/Projects/UOContent/Items/Skill Items/Tailor Items/Dyetubs/RewardBlackDyeTub.cs @@ -7,7 +7,7 @@ namespace Server.Items public partial class RewardBlackDyeTub : DyeTub, IRewardItem { [SerializableField(0)] - [SerializableFieldAttr("[CommandProperty(AccessLevel.GameMaster)]")] + [SerializedCommandProperty(AccessLevel.GameMaster)] private bool _isRewardItem; [Constructible] diff --git a/Projects/UOContent/Items/Skill Items/Tailor Items/Dyetubs/RunebookDyeTub.cs b/Projects/UOContent/Items/Skill Items/Tailor Items/Dyetubs/RunebookDyeTub.cs index 6d202d49a..439491a78 100644 --- a/Projects/UOContent/Items/Skill Items/Tailor Items/Dyetubs/RunebookDyeTub.cs +++ b/Projects/UOContent/Items/Skill Items/Tailor Items/Dyetubs/RunebookDyeTub.cs @@ -7,7 +7,7 @@ namespace Server.Items public partial class RunebookDyeTub : DyeTub, IRewardItem { [SerializableField(0)] - [SerializableFieldAttr("[CommandProperty(AccessLevel.GameMaster)]")] + [SerializedCommandProperty(AccessLevel.GameMaster)] private bool _isRewardItem; [Constructible] diff --git a/Projects/UOContent/Items/Skill Items/Tailor Items/Dyetubs/SpecialDyeTub.cs b/Projects/UOContent/Items/Skill Items/Tailor Items/Dyetubs/SpecialDyeTub.cs index 34630ac87..c0ebbd0e2 100644 --- a/Projects/UOContent/Items/Skill Items/Tailor Items/Dyetubs/SpecialDyeTub.cs +++ b/Projects/UOContent/Items/Skill Items/Tailor Items/Dyetubs/SpecialDyeTub.cs @@ -7,7 +7,7 @@ namespace Server.Items public partial class SpecialDyeTub : DyeTub, IRewardItem { [SerializableField(0)] - [SerializableFieldAttr("[CommandProperty(AccessLevel.GameMaster)]")] + [SerializedCommandProperty(AccessLevel.GameMaster)] private bool _isRewardItem; [Constructible] diff --git a/Projects/UOContent/Items/Skill Items/Tailor Items/Dyetubs/StatuetteDyeTub.cs b/Projects/UOContent/Items/Skill Items/Tailor Items/Dyetubs/StatuetteDyeTub.cs index 9fa04835a..5118941dd 100644 --- a/Projects/UOContent/Items/Skill Items/Tailor Items/Dyetubs/StatuetteDyeTub.cs +++ b/Projects/UOContent/Items/Skill Items/Tailor Items/Dyetubs/StatuetteDyeTub.cs @@ -7,7 +7,7 @@ namespace Server.Items public partial class StatuetteDyeTub : DyeTub, IRewardItem { [SerializableField(0)] - [SerializableFieldAttr("[CommandProperty(AccessLevel.GameMaster)]")] + [SerializedCommandProperty(AccessLevel.GameMaster)] private bool _isRewardItem; [Constructible] diff --git a/Projects/UOContent/Items/Wands/BaseWand.cs b/Projects/UOContent/Items/Wands/BaseWand.cs index 0549b7a6c..4dc29a241 100644 --- a/Projects/UOContent/Items/Wands/BaseWand.cs +++ b/Projects/UOContent/Items/Wands/BaseWand.cs @@ -26,12 +26,12 @@ namespace Server.Items public abstract partial class BaseWand : BaseBashing { [InvalidateProperties] - [SerializableFieldAttr("[CommandProperty(AccessLevel.GameMaster)]")] + [SerializedCommandProperty(AccessLevel.GameMaster)] [SerializableField(0)] private WandEffect _wandEffect; [InvalidateProperties] - [SerializableFieldAttr("[CommandProperty(AccessLevel.GameMaster)]")] + [SerializedCommandProperty(AccessLevel.GameMaster)] [SerializableField(1)] private int _charges; diff --git a/Projects/UOContent/Items/Weapons/Axes/BaseAxe.cs b/Projects/UOContent/Items/Weapons/Axes/BaseAxe.cs index 1051e22c7..ef004d641 100644 --- a/Projects/UOContent/Items/Weapons/Axes/BaseAxe.cs +++ b/Projects/UOContent/Items/Weapons/Axes/BaseAxe.cs @@ -18,12 +18,12 @@ namespace Server.Items { [SerializableField(0)] [InvalidateProperties] - [SerializableFieldAttr("[CommandProperty(AccessLevel.GameMaster)]")] + [SerializedCommandProperty(AccessLevel.GameMaster)] private bool _showUsesRemaining; [SerializableField(1)] [InvalidateProperties] - [SerializableFieldAttr("[CommandProperty(AccessLevel.GameMaster)]")] + [SerializedCommandProperty(AccessLevel.GameMaster)] private int _usesRemaining; public BaseAxe(int itemID) : base(itemID) => _usesRemaining = 150; diff --git a/Projects/UOContent/Items/Weapons/Maces/FireworksWand.cs b/Projects/UOContent/Items/Weapons/Maces/FireworksWand.cs index c28b20f8f..a755d8426 100644 --- a/Projects/UOContent/Items/Weapons/Maces/FireworksWand.cs +++ b/Projects/UOContent/Items/Weapons/Maces/FireworksWand.cs @@ -8,7 +8,7 @@ namespace Server.Items { [SerializableField(0)] [InvalidateProperties] - [SerializableFieldAttr("[CommandProperty(AccessLevel.GameMaster)]")] + [SerializedCommandProperty(AccessLevel.GameMaster)] private int _charges; [Constructible] diff --git a/Projects/UOContent/Items/Weapons/PoleArms/BasePoleArm.cs b/Projects/UOContent/Items/Weapons/PoleArms/BasePoleArm.cs index ea56669ff..cc535befd 100644 --- a/Projects/UOContent/Items/Weapons/PoleArms/BasePoleArm.cs +++ b/Projects/UOContent/Items/Weapons/PoleArms/BasePoleArm.cs @@ -12,12 +12,12 @@ namespace Server.Items { [SerializableField(0)] [InvalidateProperties] - [SerializableFieldAttr("[CommandProperty(AccessLevel.GameMaster)]")] + [SerializedCommandProperty(AccessLevel.GameMaster)] private bool _showUsesRemaining; [SerializableField(1)] [InvalidateProperties] - [SerializableFieldAttr("[CommandProperty(AccessLevel.GameMaster)]")] + [SerializedCommandProperty(AccessLevel.GameMaster)] private int _usesRemaining; public BasePoleArm(int itemID) : base(itemID) => _usesRemaining = 150; diff --git a/Projects/UOContent/Items/Weapons/Ranged/BaseRanged.cs b/Projects/UOContent/Items/Weapons/Ranged/BaseRanged.cs index b17429a7a..884cd0657 100644 --- a/Projects/UOContent/Items/Weapons/Ranged/BaseRanged.cs +++ b/Projects/UOContent/Items/Weapons/Ranged/BaseRanged.cs @@ -11,12 +11,12 @@ namespace Server.Items { [SerializableField(0)] [InvalidateProperties] - [SerializableFieldAttr("[CommandProperty(AccessLevel.GameMaster)]")] + [SerializedCommandProperty(AccessLevel.GameMaster)] private bool _balanced; [SerializableField(1)] [InvalidateProperties] - [SerializableFieldAttr("[CommandProperty(AccessLevel.GameMaster)]")] + [SerializedCommandProperty(AccessLevel.GameMaster)] private int _velocity; private TimerExecutionToken _recoveryTimerToken; diff --git a/Projects/UOContent/Mobiles/Vendors/RentedVendor.cs b/Projects/UOContent/Mobiles/Vendors/RentedVendor.cs index d2192f64e..8dec4fad0 100644 --- a/Projects/UOContent/Mobiles/Vendors/RentedVendor.cs +++ b/Projects/UOContent/Mobiles/Vendors/RentedVendor.cs @@ -74,28 +74,28 @@ public partial class RentedVendor : PlayerVendor private int _rentalDurationId; // TODO: Replace this with something more robust [SerializableField(1)] - [SerializableFieldAttr("[CommandProperty(AccessLevel.GameMaster)]")] + [SerializedCommandProperty(AccessLevel.GameMaster)] private int _rentalPrice; [SerializableField(2)] - [SerializableFieldAttr("[CommandProperty(AccessLevel.GameMaster)]")] + [SerializedCommandProperty(AccessLevel.GameMaster)] private bool _landlordRenew; [SerializableField(3)] - [SerializableFieldAttr("[CommandProperty(AccessLevel.GameMaster)]")] + [SerializedCommandProperty(AccessLevel.GameMaster)] private bool _renterRenew; [SerializableField(4)] - [SerializableFieldAttr("[CommandProperty(AccessLevel.GameMaster)]")] + [SerializedCommandProperty(AccessLevel.GameMaster)] private int _renewalPrice; [SerializableField(5)] - [SerializableFieldAttr("[CommandProperty(AccessLevel.GameMaster)]")] + [SerializedCommandProperty(AccessLevel.GameMaster)] private int _rentalGold; [DeltaDateTime] [SerializableField(6)] - [SerializableFieldAttr("[CommandProperty(AccessLevel.GameMaster)]")] + [SerializedCommandProperty(AccessLevel.GameMaster)] private DateTime _rentalExpireTime; [CommandProperty(AccessLevel.GameMaster)] diff --git a/Projects/UOContent/UOContent.csproj b/Projects/UOContent/UOContent.csproj index 3a211b083..65c9aa1ae 100755 --- a/Projects/UOContent/UOContent.csproj +++ b/Projects/UOContent/UOContent.csproj @@ -37,8 +37,8 @@ - - + +