fix(content): Adds addons to code gen (#624)
* Codegens more addons. * Fixes up some source generation issues.
This commit is contained in:
parent
360143478a
commit
2de4717390
42 changed files with 345 additions and 697 deletions
|
|
@ -47,7 +47,7 @@ namespace SerializableMigration
|
|||
return false;
|
||||
}
|
||||
|
||||
ruleArguments = requiresParent ? new[] { "DeserializationRequiresParent" } : Array.Empty<string>();
|
||||
ruleArguments = new[] { requiresParent ? "DeserializationRequiresParent" : "" };
|
||||
return true;
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -1,6 +1,7 @@
|
|||
namespace Server.Items
|
||||
{
|
||||
public class AbbatoirAddon : BaseAddon
|
||||
[Serializable(0, false)]
|
||||
public partial class AbbatoirAddon : BaseAddon
|
||||
{
|
||||
[Constructible]
|
||||
public AbbatoirAddon()
|
||||
|
|
@ -16,53 +17,18 @@ namespace Server.Items
|
|||
AddComponent(new AddonComponent(0x1212), 1, 1, 0);
|
||||
}
|
||||
|
||||
public AbbatoirAddon(Serial serial) : base(serial)
|
||||
{
|
||||
}
|
||||
|
||||
public override BaseAddonDeed Deed => new AbbatoirDeed();
|
||||
|
||||
public override void Serialize(IGenericWriter writer)
|
||||
{
|
||||
base.Serialize(writer);
|
||||
|
||||
writer.Write(0); // version
|
||||
}
|
||||
|
||||
public override void Deserialize(IGenericReader reader)
|
||||
{
|
||||
base.Deserialize(reader);
|
||||
|
||||
var version = reader.ReadInt();
|
||||
}
|
||||
}
|
||||
|
||||
public class AbbatoirDeed : BaseAddonDeed
|
||||
[Serializable(0, false)]
|
||||
public partial class AbbatoirDeed : BaseAddonDeed
|
||||
{
|
||||
[Constructible]
|
||||
public AbbatoirDeed()
|
||||
{
|
||||
}
|
||||
|
||||
public AbbatoirDeed(Serial serial) : base(serial)
|
||||
{
|
||||
}
|
||||
|
||||
public override BaseAddon Addon => new AbbatoirAddon();
|
||||
public override int LabelNumber => 1044329; // abbatoir
|
||||
|
||||
public override void Serialize(IGenericWriter writer)
|
||||
{
|
||||
base.Serialize(writer);
|
||||
|
||||
writer.Write(0); // version
|
||||
}
|
||||
|
||||
public override void Deserialize(IGenericReader reader)
|
||||
{
|
||||
base.Deserialize(reader);
|
||||
|
||||
var version = reader.ReadInt();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -3,110 +3,41 @@ using Server.Engines.Craft;
|
|||
namespace Server.Items
|
||||
{
|
||||
[Anvil]
|
||||
public class AnvilComponent : AddonComponent
|
||||
[Serializable(0, false)]
|
||||
public partial class AnvilComponent : AddonComponent
|
||||
{
|
||||
[Constructible]
|
||||
public AnvilComponent(int itemID) : base(itemID)
|
||||
{
|
||||
}
|
||||
|
||||
public AnvilComponent(Serial serial) : base(serial)
|
||||
{
|
||||
}
|
||||
|
||||
public override void Serialize(IGenericWriter writer)
|
||||
{
|
||||
base.Serialize(writer);
|
||||
|
||||
writer.Write(0); // version
|
||||
}
|
||||
|
||||
public override void Deserialize(IGenericReader reader)
|
||||
{
|
||||
base.Deserialize(reader);
|
||||
|
||||
var version = reader.ReadInt();
|
||||
}
|
||||
}
|
||||
|
||||
[Forge]
|
||||
public class ForgeComponent : AddonComponent
|
||||
[Serializable(0, false)]
|
||||
public partial class ForgeComponent : AddonComponent
|
||||
{
|
||||
[Constructible]
|
||||
public ForgeComponent(int itemID) : base(itemID)
|
||||
{
|
||||
}
|
||||
|
||||
public ForgeComponent(Serial serial) : base(serial)
|
||||
{
|
||||
}
|
||||
|
||||
public override void Serialize(IGenericWriter writer)
|
||||
{
|
||||
base.Serialize(writer);
|
||||
|
||||
writer.Write(0); // version
|
||||
}
|
||||
|
||||
public override void Deserialize(IGenericReader reader)
|
||||
{
|
||||
base.Deserialize(reader);
|
||||
|
||||
var version = reader.ReadInt();
|
||||
}
|
||||
}
|
||||
|
||||
public class LocalizedAddonComponent : AddonComponent
|
||||
[Serializable(0, false)]
|
||||
public partial class LocalizedAddonComponent : AddonComponent
|
||||
{
|
||||
private int m_LabelNumber;
|
||||
[InvalidateProperties]
|
||||
[SerializableField(0)]
|
||||
[SerializableFieldAttr("[CommandProperty(AccessLevel.GameMaster)]")]
|
||||
private int _number;
|
||||
|
||||
[Constructible]
|
||||
public LocalizedAddonComponent(int itemID, int labelNumber) : base(itemID) => m_LabelNumber = labelNumber;
|
||||
public LocalizedAddonComponent(int itemID, int labelNumber) : base(itemID) => _number = labelNumber;
|
||||
|
||||
public LocalizedAddonComponent(Serial serial) : base(serial)
|
||||
{
|
||||
}
|
||||
|
||||
[CommandProperty(AccessLevel.GameMaster)]
|
||||
public int Number
|
||||
{
|
||||
get => m_LabelNumber;
|
||||
set
|
||||
{
|
||||
m_LabelNumber = value;
|
||||
InvalidateProperties();
|
||||
}
|
||||
}
|
||||
|
||||
public override int LabelNumber => m_LabelNumber;
|
||||
|
||||
public override void Serialize(IGenericWriter writer)
|
||||
{
|
||||
base.Serialize(writer);
|
||||
|
||||
writer.Write(0); // version
|
||||
|
||||
writer.Write(m_LabelNumber);
|
||||
}
|
||||
|
||||
public override void Deserialize(IGenericReader reader)
|
||||
{
|
||||
base.Deserialize(reader);
|
||||
|
||||
var version = reader.ReadInt();
|
||||
|
||||
switch (version)
|
||||
{
|
||||
case 0:
|
||||
{
|
||||
m_LabelNumber = reader.ReadInt();
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
public override int LabelNumber => _number;
|
||||
}
|
||||
|
||||
public class AddonComponent : Item, IChoppable
|
||||
[Serializable(1, false)]
|
||||
public partial class AddonComponent : Item, IChoppable
|
||||
{
|
||||
private static readonly LightEntry[] m_Entries =
|
||||
{
|
||||
|
|
@ -171,15 +102,13 @@ namespace Server.Items
|
|||
ApplyLightTo(this);
|
||||
}
|
||||
|
||||
public AddonComponent(Serial serial) : base(serial)
|
||||
{
|
||||
}
|
||||
[SerializableField(0)]
|
||||
[SerializableFieldAttr("[CommandProperty(AccessLevel.GameMaster)]")]
|
||||
public BaseAddon _addon;
|
||||
|
||||
[CommandProperty(AccessLevel.GameMaster)]
|
||||
public BaseAddon Addon { get; set; }
|
||||
|
||||
[CommandProperty(AccessLevel.GameMaster)]
|
||||
public Point3D Offset { get; set; }
|
||||
[SerializableField(1)]
|
||||
[SerializableFieldAttr("[CommandProperty(AccessLevel.GameMaster)]")]
|
||||
public Point3D _offset;
|
||||
|
||||
[Hue, CommandProperty(AccessLevel.GameMaster)]
|
||||
public override int Hue
|
||||
|
|
@ -189,9 +118,9 @@ namespace Server.Items
|
|||
{
|
||||
base.Hue = value;
|
||||
|
||||
if (Addon?.ShareHue == true)
|
||||
if (_addon?.ShareHue == true)
|
||||
{
|
||||
Addon.Hue = value;
|
||||
_addon.Hue = value;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -201,9 +130,9 @@ namespace Server.Items
|
|||
|
||||
public void OnChop(Mobile from)
|
||||
{
|
||||
if (Addon != null && from.InRange(GetWorldLocation(), 3))
|
||||
if (_addon != null && from.InRange(GetWorldLocation(), 3))
|
||||
{
|
||||
Addon.OnChop(from);
|
||||
_addon.OnChop(from);
|
||||
}
|
||||
else
|
||||
{
|
||||
|
|
@ -213,22 +142,22 @@ namespace Server.Items
|
|||
|
||||
public override void OnDoubleClick(Mobile from)
|
||||
{
|
||||
Addon?.OnComponentUsed(this, from);
|
||||
_addon?.OnComponentUsed(this, from);
|
||||
}
|
||||
|
||||
public override void OnLocationChange(Point3D old)
|
||||
{
|
||||
if (Addon != null)
|
||||
if (_addon != null)
|
||||
{
|
||||
Addon.Location = new Point3D(X - Offset.X, Y - Offset.Y, Z - Offset.Z);
|
||||
_addon.Location = new Point3D(X - _offset.X, Y - _offset.Y, Z - _offset.Z);
|
||||
}
|
||||
}
|
||||
|
||||
public override void OnMapChange()
|
||||
{
|
||||
if (Addon != null)
|
||||
if (_addon != null)
|
||||
{
|
||||
Addon.Map = Map;
|
||||
_addon.Map = Map;
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -236,47 +165,24 @@ namespace Server.Items
|
|||
{
|
||||
base.OnAfterDelete();
|
||||
|
||||
Addon?.Delete();
|
||||
_addon?.Delete();
|
||||
}
|
||||
|
||||
public override void Serialize(IGenericWriter writer)
|
||||
private void Deserialize(IGenericReader reader, int version)
|
||||
{
|
||||
base.Serialize(writer);
|
||||
|
||||
writer.Write(1); // version
|
||||
|
||||
writer.Write(Addon);
|
||||
writer.Write(Offset);
|
||||
}
|
||||
|
||||
public override void Deserialize(IGenericReader reader)
|
||||
{
|
||||
base.Deserialize(reader);
|
||||
|
||||
var version = reader.ReadInt();
|
||||
|
||||
switch (version)
|
||||
{
|
||||
case 1:
|
||||
case 0:
|
||||
{
|
||||
Addon = reader.ReadEntity<BaseAddon>();
|
||||
Offset = reader.ReadPoint3D();
|
||||
|
||||
Addon?.OnComponentLoaded(this);
|
||||
|
||||
ApplyLightTo(this);
|
||||
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
if (version < 1 && Weight == 0)
|
||||
{
|
||||
Weight = -1;
|
||||
}
|
||||
}
|
||||
|
||||
[AfterDeserialization]
|
||||
private void AfterDeserialization()
|
||||
{
|
||||
_addon?.OnComponentLoaded(this);
|
||||
ApplyLightTo(this);
|
||||
}
|
||||
|
||||
public static void ApplyLightTo(Item item)
|
||||
{
|
||||
if ((item.ItemData.Flags & TileFlag.LightSource) == 0)
|
||||
|
|
|
|||
|
|
@ -3,7 +3,8 @@ using Server.ContextMenus;
|
|||
|
||||
namespace Server.Items
|
||||
{
|
||||
public class AddonContainerComponent : Item, IChoppable
|
||||
[Serializable(0, false)]
|
||||
public partial class AddonContainerComponent : Item, IChoppable
|
||||
{
|
||||
[Constructible]
|
||||
public AddonContainerComponent(int itemID) : base(itemID)
|
||||
|
|
@ -13,18 +14,16 @@ namespace Server.Items
|
|||
AddonComponent.ApplyLightTo(this);
|
||||
}
|
||||
|
||||
public AddonContainerComponent(Serial serial) : base(serial)
|
||||
{
|
||||
}
|
||||
|
||||
public virtual bool NeedsWall => false;
|
||||
public virtual Point3D WallPosition => Point3D.Zero;
|
||||
|
||||
[CommandProperty(AccessLevel.GameMaster)]
|
||||
public BaseAddonContainer Addon { get; set; }
|
||||
[SerializableField(0)]
|
||||
[SerializableFieldAttr("[CommandProperty(AccessLevel.GameMaster)]")]
|
||||
public BaseAddonContainer _addon;
|
||||
|
||||
[CommandProperty(AccessLevel.GameMaster)]
|
||||
public Point3D Offset { get; set; }
|
||||
[SerializableField(1)]
|
||||
[SerializableFieldAttr("[CommandProperty(AccessLevel.GameMaster)]")]
|
||||
public Point3D _offset;
|
||||
|
||||
[Hue, CommandProperty(AccessLevel.GameMaster)]
|
||||
public override int Hue
|
||||
|
|
@ -34,18 +33,18 @@ namespace Server.Items
|
|||
{
|
||||
base.Hue = value;
|
||||
|
||||
if (Addon?.ShareHue == true)
|
||||
if (_addon?.ShareHue == true)
|
||||
{
|
||||
Addon.Hue = value;
|
||||
_addon.Hue = value;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public virtual void OnChop(Mobile from)
|
||||
{
|
||||
if (Addon != null && from.InRange(GetWorldLocation(), 3))
|
||||
if (_addon != null && from.InRange(GetWorldLocation(), 3))
|
||||
{
|
||||
Addon.OnChop(from);
|
||||
_addon.OnChop(from);
|
||||
}
|
||||
else
|
||||
{
|
||||
|
|
@ -53,39 +52,26 @@ namespace Server.Items
|
|||
}
|
||||
}
|
||||
|
||||
public override bool OnDragDrop(Mobile from, Item dropped)
|
||||
{
|
||||
if (Addon != null)
|
||||
{
|
||||
return Addon.OnDragDrop(from, dropped);
|
||||
}
|
||||
public override bool OnDragDrop(Mobile from, Item dropped) => _addon?.OnDragDrop(from, dropped) == true;
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
public override void OnDoubleClick(Mobile from)
|
||||
{
|
||||
Addon?.OnComponentUsed(this, from);
|
||||
}
|
||||
public override void OnDoubleClick(Mobile from) => _addon?.OnComponentUsed(this, @from);
|
||||
|
||||
public override void OnLocationChange(Point3D old)
|
||||
{
|
||||
if (Addon != null)
|
||||
if (_addon != null)
|
||||
{
|
||||
Addon.Location = new Point3D(X - Offset.X, Y - Offset.Y, Z - Offset.Z);
|
||||
_addon.Location = new Point3D(X - _offset.X, Y - _offset.Y, Z - _offset.Z);
|
||||
}
|
||||
}
|
||||
|
||||
public override void GetContextMenuEntries(Mobile from, List<ContextMenuEntry> list)
|
||||
{
|
||||
Addon?.GetContextMenuEntries(from, list);
|
||||
}
|
||||
public override void GetContextMenuEntries(Mobile from, List<ContextMenuEntry> list) =>
|
||||
_addon?.GetContextMenuEntries(from, list);
|
||||
|
||||
public override void OnMapChange()
|
||||
{
|
||||
if (Addon != null)
|
||||
if (_addon != null)
|
||||
{
|
||||
Addon.Map = Map;
|
||||
_addon.Map = Map;
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -93,73 +79,25 @@ namespace Server.Items
|
|||
{
|
||||
base.OnAfterDelete();
|
||||
|
||||
Addon?.Delete();
|
||||
_addon?.Delete();
|
||||
}
|
||||
|
||||
public override void Serialize(IGenericWriter writer)
|
||||
[AfterDeserialization]
|
||||
private void AfterDeserialization()
|
||||
{
|
||||
base.Serialize(writer);
|
||||
|
||||
writer.Write(0); // version
|
||||
|
||||
writer.Write(Addon);
|
||||
writer.Write(Offset);
|
||||
}
|
||||
|
||||
public override void Deserialize(IGenericReader reader)
|
||||
{
|
||||
base.Deserialize(reader);
|
||||
|
||||
var version = reader.ReadInt();
|
||||
|
||||
Addon = reader.ReadEntity<BaseAddonContainer>();
|
||||
Offset = reader.ReadPoint3D();
|
||||
|
||||
Addon?.OnComponentLoaded(this);
|
||||
|
||||
_addon?.OnComponentLoaded(this);
|
||||
AddonComponent.ApplyLightTo(this);
|
||||
}
|
||||
}
|
||||
|
||||
public class LocalizedContainerComponent : AddonContainerComponent
|
||||
[Serializable(0, false)]
|
||||
public partial class LocalizedContainerComponent : AddonContainerComponent
|
||||
{
|
||||
private int m_LabelNumber;
|
||||
[SerializableField(0, setter: "private")]
|
||||
private int _number;
|
||||
|
||||
public LocalizedContainerComponent(int itemID, int labelNumber) : base(itemID) => m_LabelNumber = labelNumber;
|
||||
public LocalizedContainerComponent(int itemID, int labelNumber) : base(itemID) => _number = labelNumber;
|
||||
|
||||
public LocalizedContainerComponent(Serial serial) : base(serial)
|
||||
{
|
||||
}
|
||||
|
||||
public override int LabelNumber
|
||||
{
|
||||
get
|
||||
{
|
||||
if (m_LabelNumber > 0)
|
||||
{
|
||||
return m_LabelNumber;
|
||||
}
|
||||
|
||||
return base.LabelNumber;
|
||||
}
|
||||
}
|
||||
|
||||
public override void Serialize(IGenericWriter writer)
|
||||
{
|
||||
base.Serialize(writer);
|
||||
|
||||
writer.Write(0); // version
|
||||
|
||||
writer.Write(m_LabelNumber);
|
||||
}
|
||||
|
||||
public override void Deserialize(IGenericReader reader)
|
||||
{
|
||||
base.Deserialize(reader);
|
||||
|
||||
var version = reader.ReadInt();
|
||||
|
||||
m_LabelNumber = reader.ReadInt();
|
||||
}
|
||||
public override int LabelNumber => _number > 0 ? _number : base.LabelNumber;
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,6 +1,7 @@
|
|||
namespace Server.Items
|
||||
{
|
||||
public class AlchemistTableEastAddon : BaseAddon
|
||||
[Serializable(0)]
|
||||
public partial class AlchemistTableEastAddon : BaseAddon
|
||||
{
|
||||
[Constructible]
|
||||
public AlchemistTableEastAddon()
|
||||
|
|
@ -8,53 +9,18 @@ namespace Server.Items
|
|||
AddComponent(new AddonComponent(0x2DD3), 0, 0, 0);
|
||||
}
|
||||
|
||||
public AlchemistTableEastAddon(Serial serial) : base(serial)
|
||||
{
|
||||
}
|
||||
|
||||
public override BaseAddonDeed Deed => new AlchemistTableEastDeed();
|
||||
|
||||
public override void Serialize(IGenericWriter writer)
|
||||
{
|
||||
base.Serialize(writer);
|
||||
|
||||
writer.WriteEncodedInt(1); // version
|
||||
}
|
||||
|
||||
public override void Deserialize(IGenericReader reader)
|
||||
{
|
||||
base.Deserialize(reader);
|
||||
|
||||
var version = reader.ReadEncodedInt();
|
||||
}
|
||||
}
|
||||
|
||||
public class AlchemistTableEastDeed : BaseAddonDeed
|
||||
[Serializable(0)]
|
||||
public partial class AlchemistTableEastDeed : BaseAddonDeed
|
||||
{
|
||||
[Constructible]
|
||||
public AlchemistTableEastDeed()
|
||||
{
|
||||
}
|
||||
|
||||
public AlchemistTableEastDeed(Serial serial) : base(serial)
|
||||
{
|
||||
}
|
||||
|
||||
public override BaseAddon Addon => new AlchemistTableEastAddon();
|
||||
public override int LabelNumber => 1073397; // alchemist table (east)
|
||||
|
||||
public override void Serialize(IGenericWriter writer)
|
||||
{
|
||||
base.Serialize(writer);
|
||||
|
||||
writer.WriteEncodedInt(0); // version
|
||||
}
|
||||
|
||||
public override void Deserialize(IGenericReader reader)
|
||||
{
|
||||
base.Deserialize(reader);
|
||||
|
||||
var version = reader.ReadEncodedInt();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,6 +1,7 @@
|
|||
namespace Server.Items
|
||||
{
|
||||
public class AlchemistTableSouthAddon : BaseAddon
|
||||
[Serializable(0)]
|
||||
public partial class AlchemistTableSouthAddon : BaseAddon
|
||||
{
|
||||
[Constructible]
|
||||
public AlchemistTableSouthAddon()
|
||||
|
|
@ -8,53 +9,18 @@ namespace Server.Items
|
|||
AddComponent(new AddonComponent(0x2DD4), 0, 0, 0);
|
||||
}
|
||||
|
||||
public AlchemistTableSouthAddon(Serial serial) : base(serial)
|
||||
{
|
||||
}
|
||||
|
||||
public override BaseAddonDeed Deed => new AlchemistTableSouthDeed();
|
||||
|
||||
public override void Serialize(IGenericWriter writer)
|
||||
{
|
||||
base.Serialize(writer);
|
||||
|
||||
writer.WriteEncodedInt(1); // version
|
||||
}
|
||||
|
||||
public override void Deserialize(IGenericReader reader)
|
||||
{
|
||||
base.Deserialize(reader);
|
||||
|
||||
var version = reader.ReadEncodedInt();
|
||||
}
|
||||
}
|
||||
|
||||
public class AlchemistTableSouthDeed : BaseAddonDeed
|
||||
[Serializable(0)]
|
||||
public partial class AlchemistTableSouthDeed : BaseAddonDeed
|
||||
{
|
||||
[Constructible]
|
||||
public AlchemistTableSouthDeed()
|
||||
{
|
||||
}
|
||||
|
||||
public AlchemistTableSouthDeed(Serial serial) : base(serial)
|
||||
{
|
||||
}
|
||||
|
||||
public override BaseAddon Addon => new AlchemistTableSouthAddon();
|
||||
public override int LabelNumber => 1073396; // alchemist table (south)
|
||||
|
||||
public override void Serialize(IGenericWriter writer)
|
||||
{
|
||||
base.Serialize(writer);
|
||||
|
||||
writer.WriteEncodedInt(0); // version
|
||||
}
|
||||
|
||||
public override void Deserialize(IGenericReader reader)
|
||||
{
|
||||
base.Deserialize(reader);
|
||||
|
||||
var version = reader.ReadEncodedInt();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,6 +1,7 @@
|
|||
namespace Server.Items
|
||||
{
|
||||
public class AnvilEastAddon : BaseAddon
|
||||
[Serializable(0, false)]
|
||||
public partial class AnvilEastAddon : BaseAddon
|
||||
{
|
||||
[Constructible]
|
||||
public AnvilEastAddon()
|
||||
|
|
@ -8,53 +9,18 @@ namespace Server.Items
|
|||
AddComponent(new AnvilComponent(0xFAF), 0, 0, 0);
|
||||
}
|
||||
|
||||
public AnvilEastAddon(Serial serial) : base(serial)
|
||||
{
|
||||
}
|
||||
|
||||
public override BaseAddonDeed Deed => new AnvilEastDeed();
|
||||
|
||||
public override void Serialize(IGenericWriter writer)
|
||||
{
|
||||
base.Serialize(writer);
|
||||
|
||||
writer.Write(0); // version
|
||||
}
|
||||
|
||||
public override void Deserialize(IGenericReader reader)
|
||||
{
|
||||
base.Deserialize(reader);
|
||||
|
||||
var version = reader.ReadInt();
|
||||
}
|
||||
}
|
||||
|
||||
public class AnvilEastDeed : BaseAddonDeed
|
||||
[Serializable(0, false)]
|
||||
public partial class AnvilEastDeed : BaseAddonDeed
|
||||
{
|
||||
[Constructible]
|
||||
public AnvilEastDeed()
|
||||
{
|
||||
}
|
||||
|
||||
public AnvilEastDeed(Serial serial) : base(serial)
|
||||
{
|
||||
}
|
||||
|
||||
public override BaseAddon Addon => new AnvilEastAddon();
|
||||
public override int LabelNumber => 1044333; // anvil (east)
|
||||
|
||||
public override void Serialize(IGenericWriter writer)
|
||||
{
|
||||
base.Serialize(writer);
|
||||
|
||||
writer.Write(0); // version
|
||||
}
|
||||
|
||||
public override void Deserialize(IGenericReader reader)
|
||||
{
|
||||
base.Deserialize(reader);
|
||||
|
||||
var version = reader.ReadInt();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,6 +1,7 @@
|
|||
namespace Server.Items
|
||||
{
|
||||
public class AnvilSouthAddon : BaseAddon
|
||||
[Serializable(0, false)]
|
||||
public partial class AnvilSouthAddon : BaseAddon
|
||||
{
|
||||
[Constructible]
|
||||
public AnvilSouthAddon()
|
||||
|
|
@ -8,53 +9,18 @@ namespace Server.Items
|
|||
AddComponent(new AnvilComponent(0xFB0), 0, 0, 0);
|
||||
}
|
||||
|
||||
public AnvilSouthAddon(Serial serial) : base(serial)
|
||||
{
|
||||
}
|
||||
|
||||
public override BaseAddonDeed Deed => new AnvilSouthDeed();
|
||||
|
||||
public override void Serialize(IGenericWriter writer)
|
||||
{
|
||||
base.Serialize(writer);
|
||||
|
||||
writer.Write(0); // version
|
||||
}
|
||||
|
||||
public override void Deserialize(IGenericReader reader)
|
||||
{
|
||||
base.Deserialize(reader);
|
||||
|
||||
var version = reader.ReadInt();
|
||||
}
|
||||
}
|
||||
|
||||
public class AnvilSouthDeed : BaseAddonDeed
|
||||
[Serializable(0, false)]
|
||||
public partial class AnvilSouthDeed : BaseAddonDeed
|
||||
{
|
||||
[Constructible]
|
||||
public AnvilSouthDeed()
|
||||
{
|
||||
}
|
||||
|
||||
public AnvilSouthDeed(Serial serial) : base(serial)
|
||||
{
|
||||
}
|
||||
|
||||
public override BaseAddon Addon => new AnvilSouthAddon();
|
||||
public override int LabelNumber => 1044334; // anvil (south)
|
||||
|
||||
public override void Serialize(IGenericWriter writer)
|
||||
{
|
||||
base.Serialize(writer);
|
||||
|
||||
writer.Write(0); // version
|
||||
}
|
||||
|
||||
public override void Deserialize(IGenericReader reader)
|
||||
{
|
||||
base.Deserialize(reader);
|
||||
|
||||
var version = reader.ReadInt();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,6 +1,7 @@
|
|||
namespace Server.Items
|
||||
{
|
||||
public class ArcaneBookshelfEastAddon : BaseAddon
|
||||
[Serializable(0)]
|
||||
public partial class ArcaneBookshelfEastAddon : BaseAddon
|
||||
{
|
||||
[Constructible]
|
||||
public ArcaneBookshelfEastAddon()
|
||||
|
|
@ -9,53 +10,18 @@ namespace Server.Items
|
|||
AddComponent(new AddonComponent(0x3085), -1, 0, 0);
|
||||
}
|
||||
|
||||
public ArcaneBookshelfEastAddon(Serial serial) : base(serial)
|
||||
{
|
||||
}
|
||||
|
||||
public override BaseAddonDeed Deed => new ArcaneBookshelfEastDeed();
|
||||
|
||||
public override void Serialize(IGenericWriter writer)
|
||||
{
|
||||
base.Serialize(writer);
|
||||
|
||||
writer.WriteEncodedInt(0); // version
|
||||
}
|
||||
|
||||
public override void Deserialize(IGenericReader reader)
|
||||
{
|
||||
base.Deserialize(reader);
|
||||
|
||||
var version = reader.ReadEncodedInt();
|
||||
}
|
||||
}
|
||||
|
||||
public class ArcaneBookshelfEastDeed : BaseAddonDeed
|
||||
[Serializable(0)]
|
||||
public partial class ArcaneBookshelfEastDeed : BaseAddonDeed
|
||||
{
|
||||
[Constructible]
|
||||
public ArcaneBookshelfEastDeed()
|
||||
{
|
||||
}
|
||||
|
||||
public ArcaneBookshelfEastDeed(Serial serial) : base(serial)
|
||||
{
|
||||
}
|
||||
|
||||
public override BaseAddon Addon => new ArcaneBookshelfEastAddon();
|
||||
public override int LabelNumber => 1073371; // arcane bookshelf (east)
|
||||
|
||||
public override void Serialize(IGenericWriter writer)
|
||||
{
|
||||
base.Serialize(writer);
|
||||
|
||||
writer.WriteEncodedInt(0); // version
|
||||
}
|
||||
|
||||
public override void Deserialize(IGenericReader reader)
|
||||
{
|
||||
base.Deserialize(reader);
|
||||
|
||||
var version = reader.ReadEncodedInt();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,6 +1,7 @@
|
|||
namespace Server.Items
|
||||
{
|
||||
public class ArcaneBookshelfSouthAddon : BaseAddon
|
||||
[Serializable(0)]
|
||||
public partial class ArcaneBookshelfSouthAddon : BaseAddon
|
||||
{
|
||||
[Constructible]
|
||||
public ArcaneBookshelfSouthAddon()
|
||||
|
|
@ -9,53 +10,18 @@ namespace Server.Items
|
|||
AddComponent(new AddonComponent(0x3086), 0, 1, 0);
|
||||
}
|
||||
|
||||
public ArcaneBookshelfSouthAddon(Serial serial) : base(serial)
|
||||
{
|
||||
}
|
||||
|
||||
public override BaseAddonDeed Deed => new ArcaneBookshelfSouthDeed();
|
||||
|
||||
public override void Serialize(IGenericWriter writer)
|
||||
{
|
||||
base.Serialize(writer);
|
||||
|
||||
writer.WriteEncodedInt(0); // version
|
||||
}
|
||||
|
||||
public override void Deserialize(IGenericReader reader)
|
||||
{
|
||||
base.Deserialize(reader);
|
||||
|
||||
var version = reader.ReadEncodedInt();
|
||||
}
|
||||
}
|
||||
|
||||
public class ArcaneBookshelfSouthDeed : BaseAddonDeed
|
||||
[Serializable(0)]
|
||||
public partial class ArcaneBookshelfSouthDeed : BaseAddonDeed
|
||||
{
|
||||
[Constructible]
|
||||
public ArcaneBookshelfSouthDeed()
|
||||
{
|
||||
}
|
||||
|
||||
public ArcaneBookshelfSouthDeed(Serial serial) : base(serial)
|
||||
{
|
||||
}
|
||||
|
||||
public override BaseAddon Addon => new ArcaneBookshelfSouthAddon();
|
||||
public override int LabelNumber => 1072871; // arcane bookshelf (south)
|
||||
|
||||
public override void Serialize(IGenericWriter writer)
|
||||
{
|
||||
base.Serialize(writer);
|
||||
|
||||
writer.WriteEncodedInt(0); // version
|
||||
}
|
||||
|
||||
public override void Deserialize(IGenericReader reader)
|
||||
{
|
||||
base.Deserialize(reader);
|
||||
|
||||
var version = reader.ReadEncodedInt();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,6 +1,7 @@
|
|||
namespace Server.Items
|
||||
{
|
||||
public class ArcaneCircleAddon : BaseAddon
|
||||
[Serializable(1)]
|
||||
public partial class ArcaneCircleAddon : BaseAddon
|
||||
{
|
||||
[Constructible]
|
||||
public ArcaneCircleAddon()
|
||||
|
|
@ -16,25 +17,10 @@ namespace Server.Items
|
|||
AddComponent(new AddonComponent(0x307B), 1, 1, 0);
|
||||
}
|
||||
|
||||
public ArcaneCircleAddon(Serial serial) : base(serial)
|
||||
{
|
||||
}
|
||||
|
||||
public override BaseAddonDeed Deed => new ArcaneCircleDeed();
|
||||
|
||||
public override void Serialize(IGenericWriter writer)
|
||||
private void Deserialize(IGenericReader reader, int version)
|
||||
{
|
||||
base.Serialize(writer);
|
||||
|
||||
writer.WriteEncodedInt(1); // version
|
||||
}
|
||||
|
||||
public override void Deserialize(IGenericReader reader)
|
||||
{
|
||||
base.Deserialize(reader);
|
||||
|
||||
var version = reader.ReadEncodedInt();
|
||||
|
||||
if (version == 0)
|
||||
{
|
||||
ValidationQueue<ArcaneCircleAddon>.Add(this);
|
||||
|
|
@ -54,32 +40,15 @@ namespace Server.Items
|
|||
}
|
||||
}
|
||||
|
||||
public class ArcaneCircleDeed : BaseAddonDeed
|
||||
[Serializable(0)]
|
||||
public partial class ArcaneCircleDeed : BaseAddonDeed
|
||||
{
|
||||
[Constructible]
|
||||
public ArcaneCircleDeed()
|
||||
{
|
||||
}
|
||||
|
||||
public ArcaneCircleDeed(Serial serial) : base(serial)
|
||||
{
|
||||
}
|
||||
|
||||
public override BaseAddon Addon => new ArcaneCircleAddon();
|
||||
public override int LabelNumber => 1072703; // arcane circle
|
||||
|
||||
public override void Serialize(IGenericWriter writer)
|
||||
{
|
||||
base.Serialize(writer);
|
||||
|
||||
writer.WriteEncodedInt(0); // version
|
||||
}
|
||||
|
||||
public override void Deserialize(IGenericReader reader)
|
||||
{
|
||||
base.Deserialize(reader);
|
||||
|
||||
var version = reader.ReadEncodedInt();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,6 +1,7 @@
|
|||
namespace Server.Items
|
||||
{
|
||||
public class ArcanistStatueEastAddon : BaseAddon
|
||||
[Serializable(0)]
|
||||
public partial class ArcanistStatueEastAddon : BaseAddon
|
||||
{
|
||||
[Constructible]
|
||||
public ArcanistStatueEastAddon()
|
||||
|
|
@ -8,53 +9,18 @@ namespace Server.Items
|
|||
AddComponent(new AddonComponent(0x2D0E), 0, 0, 0);
|
||||
}
|
||||
|
||||
public ArcanistStatueEastAddon(Serial serial) : base(serial)
|
||||
{
|
||||
}
|
||||
|
||||
public override BaseAddonDeed Deed => new ArcanistStatueEastDeed();
|
||||
|
||||
public override void Serialize(IGenericWriter writer)
|
||||
{
|
||||
base.Serialize(writer);
|
||||
|
||||
writer.WriteEncodedInt(0); // version
|
||||
}
|
||||
|
||||
public override void Deserialize(IGenericReader reader)
|
||||
{
|
||||
base.Deserialize(reader);
|
||||
|
||||
var version = reader.ReadEncodedInt();
|
||||
}
|
||||
}
|
||||
|
||||
public class ArcanistStatueEastDeed : BaseAddonDeed
|
||||
[Serializable(0)]
|
||||
public partial class ArcanistStatueEastDeed : BaseAddonDeed
|
||||
{
|
||||
[Constructible]
|
||||
public ArcanistStatueEastDeed()
|
||||
{
|
||||
}
|
||||
|
||||
public ArcanistStatueEastDeed(Serial serial) : base(serial)
|
||||
{
|
||||
}
|
||||
|
||||
public override BaseAddon Addon => new ArcanistStatueEastAddon();
|
||||
public override int LabelNumber => 1072886; // arcanist statue (east)
|
||||
|
||||
public override void Serialize(IGenericWriter writer)
|
||||
{
|
||||
base.Serialize(writer);
|
||||
|
||||
writer.WriteEncodedInt(0); // version
|
||||
}
|
||||
|
||||
public override void Deserialize(IGenericReader reader)
|
||||
{
|
||||
base.Deserialize(reader);
|
||||
|
||||
var version = reader.ReadEncodedInt();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,6 +1,7 @@
|
|||
namespace Server.Items
|
||||
{
|
||||
public class ArcanistStatueSouthAddon : BaseAddon
|
||||
[Serializable(0)]
|
||||
public partial class ArcanistStatueSouthAddon : BaseAddon
|
||||
{
|
||||
[Constructible]
|
||||
public ArcanistStatueSouthAddon()
|
||||
|
|
@ -8,53 +9,18 @@ namespace Server.Items
|
|||
AddComponent(new AddonComponent(0x2D0F), 0, 0, 0);
|
||||
}
|
||||
|
||||
public ArcanistStatueSouthAddon(Serial serial) : base(serial)
|
||||
{
|
||||
}
|
||||
|
||||
public override BaseAddonDeed Deed => new ArcanistStatueSouthDeed();
|
||||
|
||||
public override void Serialize(IGenericWriter writer)
|
||||
{
|
||||
base.Serialize(writer);
|
||||
|
||||
writer.WriteEncodedInt(0); // version
|
||||
}
|
||||
|
||||
public override void Deserialize(IGenericReader reader)
|
||||
{
|
||||
base.Deserialize(reader);
|
||||
|
||||
var version = reader.ReadEncodedInt();
|
||||
}
|
||||
}
|
||||
|
||||
public class ArcanistStatueSouthDeed : BaseAddonDeed
|
||||
[Serializable(0)]
|
||||
public partial class ArcanistStatueSouthDeed : BaseAddonDeed
|
||||
{
|
||||
[Constructible]
|
||||
public ArcanistStatueSouthDeed()
|
||||
{
|
||||
}
|
||||
|
||||
public ArcanistStatueSouthDeed(Serial serial) : base(serial)
|
||||
{
|
||||
}
|
||||
|
||||
public override BaseAddon Addon => new ArcanistStatueSouthAddon();
|
||||
public override int LabelNumber => 1072885; // arcanist statue (south)
|
||||
|
||||
public override void Serialize(IGenericWriter writer)
|
||||
{
|
||||
base.Serialize(writer);
|
||||
|
||||
writer.WriteEncodedInt(0); // version
|
||||
}
|
||||
|
||||
public override void Deserialize(IGenericReader reader)
|
||||
{
|
||||
base.Deserialize(reader);
|
||||
|
||||
var version = reader.ReadEncodedInt();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -4,8 +4,9 @@ using Server.Network;
|
|||
|
||||
namespace Server.Items
|
||||
{
|
||||
[Serializable(0, false)]
|
||||
[FlippableAttribute(0x100A /*East*/, 0x100B /*South*/)]
|
||||
public class ArcheryButte : AddonComponent
|
||||
public partial class ArcheryButte : AddonComponent
|
||||
{
|
||||
private static readonly TimeSpan UseDelay = TimeSpan.FromSeconds(2.0);
|
||||
|
||||
|
|
@ -14,19 +15,17 @@ namespace Server.Items
|
|||
[Constructible]
|
||||
public ArcheryButte(int itemID = 0x100A) : base(itemID)
|
||||
{
|
||||
MinSkill = -25.0;
|
||||
MaxSkill = +25.0;
|
||||
_minSkill = -25.0;
|
||||
_maxSkill = +25.0;
|
||||
}
|
||||
|
||||
public ArcheryButte(Serial serial) : base(serial)
|
||||
{
|
||||
}
|
||||
[SerializableField(0)]
|
||||
[SerializableFieldAttr("[CommandProperty(AccessLevel.GameMaster)]")]
|
||||
private double _minSkill;
|
||||
|
||||
[CommandProperty(AccessLevel.GameMaster)]
|
||||
public double MinSkill { get; set; }
|
||||
|
||||
[CommandProperty(AccessLevel.GameMaster)]
|
||||
public double MaxSkill { get; set; }
|
||||
[SerializableField(1)]
|
||||
[SerializableFieldAttr("[CommandProperty(AccessLevel.GameMaster)]")]
|
||||
private double _maxSkill;
|
||||
|
||||
[CommandProperty(AccessLevel.GameMaster)]
|
||||
public DateTime LastUse { get; set; }
|
||||
|
|
@ -38,15 +37,17 @@ namespace Server.Items
|
|||
set => ItemID = value ? 0x100A : 0x100B;
|
||||
}
|
||||
|
||||
[CommandProperty(AccessLevel.GameMaster)]
|
||||
public int Arrows { get; set; }
|
||||
[SerializableField(2)]
|
||||
[SerializableFieldAttr("[CommandProperty(AccessLevel.GameMaster)]")]
|
||||
private int _arrows;
|
||||
|
||||
[CommandProperty(AccessLevel.GameMaster)]
|
||||
public int Bolts { get; set; }
|
||||
[SerializableField(3)]
|
||||
[SerializableFieldAttr("[CommandProperty(AccessLevel.GameMaster)]")]
|
||||
private int _bolts;
|
||||
|
||||
public override void OnDoubleClick(Mobile from)
|
||||
{
|
||||
if ((Arrows > 0 || Bolts > 0) && from.InRange(GetWorldLocation(), 1))
|
||||
if ((_arrows > 0 || _bolts > 0) && from.InRange(GetWorldLocation(), 1))
|
||||
{
|
||||
Gather(from);
|
||||
}
|
||||
|
|
@ -60,14 +61,14 @@ namespace Server.Items
|
|||
{
|
||||
from.LocalOverheadMessage(MessageType.Regular, 0x3B2, 500592); // You gather the arrows and bolts.
|
||||
|
||||
if (Arrows > 0)
|
||||
if (_arrows > 0)
|
||||
{
|
||||
from.AddToBackpack(new Arrow(Arrows));
|
||||
from.AddToBackpack(new Arrow(_arrows));
|
||||
}
|
||||
|
||||
if (Bolts > 0)
|
||||
if (_bolts > 0)
|
||||
{
|
||||
from.AddToBackpack(new Bolt(Bolts));
|
||||
from.AddToBackpack(new Bolt(_bolts));
|
||||
}
|
||||
|
||||
Arrows = 0;
|
||||
|
|
@ -90,7 +91,7 @@ namespace Server.Items
|
|||
|
||||
public void Fire(Mobile from)
|
||||
{
|
||||
if (!(from.Weapon is BaseRanged bow))
|
||||
if (@from.Weapon is not BaseRanged bow)
|
||||
{
|
||||
SendLocalizedMessageTo(from, 500593); // You must practice with ranged weapons on this.
|
||||
return;
|
||||
|
|
@ -180,7 +181,7 @@ namespace Server.Items
|
|||
|
||||
var se = GetEntryFor(from);
|
||||
|
||||
if (!from.CheckSkill(bow.Skill, MinSkill, MaxSkill))
|
||||
if (!from.CheckSkill(bow.Skill, _minSkill, _maxSkill))
|
||||
{
|
||||
from.PlaySound(bow.MissSound);
|
||||
|
||||
|
|
@ -231,7 +232,7 @@ namespace Server.Items
|
|||
splitScore = 5;
|
||||
}
|
||||
|
||||
var split = isKnown && (Arrows + Bolts) * 0.02 > Utility.RandomDouble();
|
||||
var split = isKnown && (_arrows + _bolts) * 0.02 > Utility.RandomDouble();
|
||||
|
||||
if (split)
|
||||
{
|
||||
|
|
@ -268,41 +269,13 @@ namespace Server.Items
|
|||
}
|
||||
}
|
||||
|
||||
public override void Serialize(IGenericWriter writer)
|
||||
[AfterDeserialization]
|
||||
private void AfterDeserialization()
|
||||
{
|
||||
base.Serialize(writer);
|
||||
|
||||
writer.Write(0);
|
||||
|
||||
writer.Write(MinSkill);
|
||||
writer.Write(MaxSkill);
|
||||
writer.Write(Arrows);
|
||||
writer.Write(Bolts);
|
||||
}
|
||||
|
||||
public override void Deserialize(IGenericReader reader)
|
||||
{
|
||||
base.Deserialize(reader);
|
||||
|
||||
var version = reader.ReadInt();
|
||||
|
||||
switch (version)
|
||||
if (_minSkill == 0.0 && _maxSkill == 30.0)
|
||||
{
|
||||
case 0:
|
||||
{
|
||||
MinSkill = reader.ReadDouble();
|
||||
MaxSkill = reader.ReadDouble();
|
||||
Arrows = reader.ReadInt();
|
||||
Bolts = reader.ReadInt();
|
||||
|
||||
if (MinSkill == 0.0 && MaxSkill == 30.0)
|
||||
{
|
||||
MinSkill = -25.0;
|
||||
MaxSkill = +25.0;
|
||||
}
|
||||
|
||||
break;
|
||||
}
|
||||
_minSkill = -25.0;
|
||||
_maxSkill = +25.0;
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -320,7 +293,8 @@ namespace Server.Items
|
|||
}
|
||||
}
|
||||
|
||||
public class ArcheryButteAddon : BaseAddon
|
||||
[Serializable(0, false)]
|
||||
public partial class ArcheryButteAddon : BaseAddon
|
||||
{
|
||||
[Constructible]
|
||||
public ArcheryButteAddon()
|
||||
|
|
@ -328,53 +302,18 @@ namespace Server.Items
|
|||
AddComponent(new ArcheryButte(), 0, 0, 0);
|
||||
}
|
||||
|
||||
public ArcheryButteAddon(Serial serial) : base(serial)
|
||||
{
|
||||
}
|
||||
|
||||
public override BaseAddonDeed Deed => new ArcheryButteDeed();
|
||||
|
||||
public override void Serialize(IGenericWriter writer)
|
||||
{
|
||||
base.Serialize(writer);
|
||||
|
||||
writer.Write(0); // version
|
||||
}
|
||||
|
||||
public override void Deserialize(IGenericReader reader)
|
||||
{
|
||||
base.Deserialize(reader);
|
||||
|
||||
var version = reader.ReadInt();
|
||||
}
|
||||
}
|
||||
|
||||
public class ArcheryButteDeed : BaseAddonDeed
|
||||
[Serializable(0, false)]
|
||||
public partial class ArcheryButteDeed : BaseAddonDeed
|
||||
{
|
||||
[Constructible]
|
||||
public ArcheryButteDeed()
|
||||
{
|
||||
}
|
||||
|
||||
public ArcheryButteDeed(Serial serial) : base(serial)
|
||||
{
|
||||
}
|
||||
|
||||
public override BaseAddon Addon => new ArcheryButteAddon();
|
||||
public override int LabelNumber => 1024106; // archery butte
|
||||
|
||||
public override void Serialize(IGenericWriter writer)
|
||||
{
|
||||
base.Serialize(writer);
|
||||
|
||||
writer.Write(0); // version
|
||||
}
|
||||
|
||||
public override void Deserialize(IGenericReader reader)
|
||||
{
|
||||
base.Deserialize(reader);
|
||||
|
||||
var version = reader.ReadInt();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -0,0 +1,5 @@
|
|||
{
|
||||
"version": 0,
|
||||
"type": "Server.Items.AbbatoirAddon",
|
||||
"properties": []
|
||||
}
|
||||
|
|
@ -0,0 +1,5 @@
|
|||
{
|
||||
"version": 0,
|
||||
"type": "Server.Items.AbbatoirDeed",
|
||||
"properties": []
|
||||
}
|
||||
|
|
@ -0,0 +1,20 @@
|
|||
{
|
||||
"version": 1,
|
||||
"type": "Server.Items.AddonComponent",
|
||||
"properties": [
|
||||
{
|
||||
"name": "Addon",
|
||||
"type": "Server.Items.BaseAddon",
|
||||
"rule": "SerializableInterfaceMigrationRule",
|
||||
"ruleArguments": []
|
||||
},
|
||||
{
|
||||
"name": "Offset",
|
||||
"type": "Server.Point3D",
|
||||
"rule": "PrimitiveUOTypeMigrationRule",
|
||||
"ruleArguments": [
|
||||
"Point3D"
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
|
|
@ -0,0 +1,20 @@
|
|||
{
|
||||
"version": 0,
|
||||
"type": "Server.Items.AddonContainerComponent",
|
||||
"properties": [
|
||||
{
|
||||
"name": "Addon",
|
||||
"type": "Server.Items.BaseAddonContainer",
|
||||
"rule": "SerializableInterfaceMigrationRule",
|
||||
"ruleArguments": []
|
||||
},
|
||||
{
|
||||
"name": "Offset",
|
||||
"type": "Server.Point3D",
|
||||
"rule": "PrimitiveUOTypeMigrationRule",
|
||||
"ruleArguments": [
|
||||
"Point3D"
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
|
|
@ -0,0 +1,5 @@
|
|||
{
|
||||
"version": 0,
|
||||
"type": "Server.Items.AlchemistTableEastAddon",
|
||||
"properties": []
|
||||
}
|
||||
|
|
@ -0,0 +1,5 @@
|
|||
{
|
||||
"version": 0,
|
||||
"type": "Server.Items.AlchemistTableEastDeed",
|
||||
"properties": []
|
||||
}
|
||||
|
|
@ -0,0 +1,5 @@
|
|||
{
|
||||
"version": 0,
|
||||
"type": "Server.Items.AlchemistTableSouthAddon",
|
||||
"properties": []
|
||||
}
|
||||
|
|
@ -0,0 +1,5 @@
|
|||
{
|
||||
"version": 0,
|
||||
"type": "Server.Items.AlchemistTableSouthDeed",
|
||||
"properties": []
|
||||
}
|
||||
|
|
@ -0,0 +1,5 @@
|
|||
{
|
||||
"version": 0,
|
||||
"type": "Server.Items.AnvilComponent",
|
||||
"properties": []
|
||||
}
|
||||
|
|
@ -0,0 +1,5 @@
|
|||
{
|
||||
"version": 0,
|
||||
"type": "Server.Items.AnvilEastAddon",
|
||||
"properties": []
|
||||
}
|
||||
|
|
@ -0,0 +1,5 @@
|
|||
{
|
||||
"version": 0,
|
||||
"type": "Server.Items.AnvilEastDeed",
|
||||
"properties": []
|
||||
}
|
||||
|
|
@ -0,0 +1,5 @@
|
|||
{
|
||||
"version": 0,
|
||||
"type": "Server.Items.AnvilSouthAddon",
|
||||
"properties": []
|
||||
}
|
||||
|
|
@ -0,0 +1,5 @@
|
|||
{
|
||||
"version": 0,
|
||||
"type": "Server.Items.AnvilSouthDeed",
|
||||
"properties": []
|
||||
}
|
||||
|
|
@ -0,0 +1,5 @@
|
|||
{
|
||||
"version": 0,
|
||||
"type": "Server.Items.ArcaneBookshelfEastAddon",
|
||||
"properties": []
|
||||
}
|
||||
|
|
@ -0,0 +1,5 @@
|
|||
{
|
||||
"version": 0,
|
||||
"type": "Server.Items.ArcaneBookshelfEastDeed",
|
||||
"properties": []
|
||||
}
|
||||
|
|
@ -0,0 +1,5 @@
|
|||
{
|
||||
"version": 0,
|
||||
"type": "Server.Items.ArcaneBookshelfSouthAddon",
|
||||
"properties": []
|
||||
}
|
||||
|
|
@ -0,0 +1,5 @@
|
|||
{
|
||||
"version": 0,
|
||||
"type": "Server.Items.ArcaneBookshelfSouthDeed",
|
||||
"properties": []
|
||||
}
|
||||
|
|
@ -0,0 +1,5 @@
|
|||
{
|
||||
"version": 1,
|
||||
"type": "Server.Items.ArcaneCircleAddon",
|
||||
"properties": []
|
||||
}
|
||||
|
|
@ -0,0 +1,5 @@
|
|||
{
|
||||
"version": 0,
|
||||
"type": "Server.Items.ArcaneCircleDeed",
|
||||
"properties": []
|
||||
}
|
||||
|
|
@ -0,0 +1,5 @@
|
|||
{
|
||||
"version": 0,
|
||||
"type": "Server.Items.ArcanistStatueEastAddon",
|
||||
"properties": []
|
||||
}
|
||||
|
|
@ -0,0 +1,5 @@
|
|||
{
|
||||
"version": 0,
|
||||
"type": "Server.Items.ArcanistStatueEastDeed",
|
||||
"properties": []
|
||||
}
|
||||
|
|
@ -0,0 +1,5 @@
|
|||
{
|
||||
"version": 0,
|
||||
"type": "Server.Items.ArcanistStatueSouthAddon",
|
||||
"properties": []
|
||||
}
|
||||
|
|
@ -0,0 +1,5 @@
|
|||
{
|
||||
"version": 0,
|
||||
"type": "Server.Items.ArcanistStatueSouthDeed",
|
||||
"properties": []
|
||||
}
|
||||
|
|
@ -0,0 +1,30 @@
|
|||
{
|
||||
"version": 0,
|
||||
"type": "Server.Items.ArcheryButte",
|
||||
"properties": [
|
||||
{
|
||||
"name": "MinSkill",
|
||||
"type": "double",
|
||||
"rule": "PrimitiveTypeMigrationRule",
|
||||
"ruleArguments": []
|
||||
},
|
||||
{
|
||||
"name": "MaxSkill",
|
||||
"type": "double",
|
||||
"rule": "PrimitiveTypeMigrationRule",
|
||||
"ruleArguments": []
|
||||
},
|
||||
{
|
||||
"name": "Arrows",
|
||||
"type": "int",
|
||||
"rule": "PrimitiveTypeMigrationRule",
|
||||
"ruleArguments": []
|
||||
},
|
||||
{
|
||||
"name": "Bolts",
|
||||
"type": "int",
|
||||
"rule": "PrimitiveTypeMigrationRule",
|
||||
"ruleArguments": []
|
||||
}
|
||||
]
|
||||
}
|
||||
|
|
@ -0,0 +1,5 @@
|
|||
{
|
||||
"version": 0,
|
||||
"type": "Server.Items.ArcheryButteAddon",
|
||||
"properties": []
|
||||
}
|
||||
|
|
@ -0,0 +1,5 @@
|
|||
{
|
||||
"version": 0,
|
||||
"type": "Server.Items.ArcheryButteDeed",
|
||||
"properties": []
|
||||
}
|
||||
|
|
@ -0,0 +1,5 @@
|
|||
{
|
||||
"version": 0,
|
||||
"type": "Server.Items.ForgeComponent",
|
||||
"properties": []
|
||||
}
|
||||
|
|
@ -0,0 +1,12 @@
|
|||
{
|
||||
"version": 0,
|
||||
"type": "Server.Items.LocalizedAddonComponent",
|
||||
"properties": [
|
||||
{
|
||||
"name": "Number",
|
||||
"type": "int",
|
||||
"rule": "PrimitiveTypeMigrationRule",
|
||||
"ruleArguments": []
|
||||
}
|
||||
]
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue