fix: Codegens blacksmith, camping, and carpenter skill items (#1278)

This commit is contained in:
Kamron Batman 2022-11-24 00:57:23 -08:00 • committed by GitHub
parent 9c74276240
commit b006501535
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
28 changed files with 1272 additions and 1551 deletions

View file

@ -1,54 +1,21 @@
using ModernUO.Serialization;
using Server.Engines.Craft;
namespace Server.Items
namespace Server.Items;
[Anvil]
[Flippable(0xFAF, 0xFB0)]
[SerializationGenerator(0, false)]
public partial class Anvil : Item
{
[Flippable(0xFAF, 0xFB0), Anvil]
public class Anvil : Item
{
[Constructible]
public Anvil() : base(0xFAF) => Movable = false;
public Anvil(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 Forge : Item
{
[Constructible]
public Forge() : base(0xFB1) => Movable = false;
public Forge(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();
}
}
[Constructible]
public Anvil() : base(0xFAF) => Movable = false;
}
[Forge]
[SerializationGenerator(0, false)]
public partial class Forge : Item
{
[Constructible]
public Forge() : base(0xFB1) => Movable = false;
}

View file

@ -1,49 +1,87 @@
using ModernUO.Serialization;
using Server.Engines.Craft;
namespace Server.Items
{
[Forge]
public class LargeForgeWest : Item
{
private InternalItem m_Item;
private InternalItem2 m_Item2;
namespace Server.Items;
[Constructible]
public LargeForgeWest() : base(0x199A)
[Forge]
[SerializationGenerator(0, false)]
public partial class LargeForgeWest : Item
{
[SerializableField(0, getter: "private", setter: "private")]
private InternalItem _item;
[SerializableField(1, getter: "private", setter: "private")]
private InternalItem2 _item2;
[Constructible]
public LargeForgeWest() : base(0x199A)
{
Movable = false;
_item = new InternalItem(this);
_item2 = new InternalItem2(this);
}
public override void OnLocationChange(Point3D oldLocation)
{
if (_item != null)
{
_item.Location = new Point3D(X, Y + 1, Z);
}
if (_item2 != null)
{
_item2.Location = new Point3D(X, Y + 2, Z);
}
}
public override void OnMapChange()
{
if (_item != null)
{
_item.Map = Map;
}
if (_item2 != null)
{
_item2.Map = Map;
}
}
public override void OnAfterDelete()
{
base.OnAfterDelete();
_item?.Delete();
_item2?.Delete();
}
[Forge]
[SerializationGenerator(0, false)]
private partial class InternalItem : Item
{
private LargeForgeWest _parent;
public InternalItem(LargeForgeWest item) : base(0x1996)
{
Movable = false;
m_Item = new InternalItem(this);
m_Item2 = new InternalItem2(this);
}
public LargeForgeWest(Serial serial) : base(serial)
{
_parent = item;
}
public override void OnLocationChange(Point3D oldLocation)
{
if (m_Item != null)
if (_parent != null)
{
m_Item.Location = new Point3D(X, Y + 1, Z);
}
if (m_Item2 != null)
{
m_Item2.Location = new Point3D(X, Y + 2, Z);
_parent.Location = new Point3D(X, Y - 1, Z);
}
}
public override void OnMapChange()
{
if (m_Item != null)
if (_parent != null)
{
m_Item.Map = Map;
}
if (m_Item2 != null)
{
m_Item2.Map = Map;
_parent.Map = Map;
}
}
@ -51,189 +89,36 @@ namespace Server.Items
{
base.OnAfterDelete();
m_Item?.Delete();
m_Item2?.Delete();
}
public override void Serialize(IGenericWriter writer)
{
base.Serialize(writer);
writer.Write(0); // version
writer.Write(m_Item);
writer.Write(m_Item2);
}
public override void Deserialize(IGenericReader reader)
{
base.Deserialize(reader);
var version = reader.ReadInt();
m_Item = reader.ReadEntity<InternalItem>();
m_Item2 = reader.ReadEntity<InternalItem2>();
}
[Forge]
private class InternalItem : Item
{
private LargeForgeWest m_Item;
public InternalItem(LargeForgeWest item) : base(0x1996)
{
Movable = false;
m_Item = item;
}
public InternalItem(Serial serial) : base(serial)
{
}
public override void OnLocationChange(Point3D oldLocation)
{
if (m_Item != null)
{
m_Item.Location = new Point3D(X, Y - 1, Z);
}
}
public override void OnMapChange()
{
if (m_Item != null)
{
m_Item.Map = Map;
}
}
public override void OnAfterDelete()
{
base.OnAfterDelete();
m_Item?.Delete();
}
public override void Serialize(IGenericWriter writer)
{
base.Serialize(writer);
writer.Write(0); // version
writer.Write(m_Item);
}
public override void Deserialize(IGenericReader reader)
{
base.Deserialize(reader);
var version = reader.ReadInt();
m_Item = reader.ReadEntity<LargeForgeWest>();
}
}
[Forge]
private class InternalItem2 : Item
{
private LargeForgeWest m_Item;
public InternalItem2(LargeForgeWest item) : base(0x1992)
{
Movable = false;
m_Item = item;
}
public InternalItem2(Serial serial) : base(serial)
{
}
public override void OnLocationChange(Point3D oldLocation)
{
if (m_Item != null)
{
m_Item.Location = new Point3D(X, Y - 2, Z);
}
}
public override void OnMapChange()
{
if (m_Item != null)
{
m_Item.Map = Map;
}
}
public override void OnAfterDelete()
{
base.OnAfterDelete();
m_Item?.Delete();
}
public override void Serialize(IGenericWriter writer)
{
base.Serialize(writer);
writer.Write(0); // version
writer.Write(m_Item);
}
public override void Deserialize(IGenericReader reader)
{
base.Deserialize(reader);
var version = reader.ReadInt();
m_Item = reader.ReadEntity<LargeForgeWest>();
}
_parent?.Delete();
}
}
[Forge]
public class LargeForgeEast : Item
[SerializationGenerator(0, false)]
private partial class InternalItem2 : Item
{
private InternalItem m_Item;
private InternalItem2 m_Item2;
private LargeForgeWest _parent;
[Constructible]
public LargeForgeEast() : base(0x197A)
public InternalItem2(LargeForgeWest item) : base(0x1992)
{
Movable = false;
m_Item = new InternalItem(this);
m_Item2 = new InternalItem2(this);
}
public LargeForgeEast(Serial serial) : base(serial)
{
_parent = item;
}
public override void OnLocationChange(Point3D oldLocation)
{
if (m_Item != null)
if (_parent != null)
{
m_Item.Location = new Point3D(X + 1, Y, Z);
}
if (m_Item2 != null)
{
m_Item2.Location = new Point3D(X + 2, Y, Z);
_parent.Location = new Point3D(X, Y - 2, Z);
}
}
public override void OnMapChange()
{
if (m_Item != null)
if (_parent != null)
{
m_Item.Map = Map;
}
if (m_Item2 != null)
{
m_Item2.Map = Map;
_parent.Map = Map;
}
}
@ -241,144 +126,132 @@ namespace Server.Items
{
base.OnAfterDelete();
m_Item?.Delete();
m_Item2?.Delete();
}
public override void Serialize(IGenericWriter writer)
{
base.Serialize(writer);
writer.Write(0); // version
writer.Write(m_Item);
writer.Write(m_Item2);
}
public override void Deserialize(IGenericReader reader)
{
base.Deserialize(reader);
var version = reader.ReadInt();
m_Item = reader.ReadEntity<InternalItem>();
m_Item2 = reader.ReadEntity<InternalItem2>();
}
[Forge]
private class InternalItem : Item
{
private LargeForgeEast m_Item;
public InternalItem(LargeForgeEast item) : base(0x197E)
{
Movable = false;
m_Item = item;
}
public InternalItem(Serial serial) : base(serial)
{
}
public override void OnLocationChange(Point3D oldLocation)
{
if (m_Item != null)
{
m_Item.Location = new Point3D(X - 1, Y, Z);
}
}
public override void OnMapChange()
{
if (m_Item != null)
{
m_Item.Map = Map;
}
}
public override void OnAfterDelete()
{
base.OnAfterDelete();
m_Item?.Delete();
}
public override void Serialize(IGenericWriter writer)
{
base.Serialize(writer);
writer.Write(0); // version
writer.Write(m_Item);
}
public override void Deserialize(IGenericReader reader)
{
base.Deserialize(reader);
var version = reader.ReadInt();
m_Item = reader.ReadEntity<LargeForgeEast>();
}
}
[Forge]
private class InternalItem2 : Item
{
private LargeForgeEast m_Item;
public InternalItem2(LargeForgeEast item) : base(0x1982)
{
Movable = false;
m_Item = item;
}
public InternalItem2(Serial serial) : base(serial)
{
}
public override void OnLocationChange(Point3D oldLocation)
{
if (m_Item != null)
{
m_Item.Location = new Point3D(X - 2, Y, Z);
}
}
public override void OnMapChange()
{
if (m_Item != null)
{
m_Item.Map = Map;
}
}
public override void OnAfterDelete()
{
base.OnAfterDelete();
m_Item?.Delete();
}
public override void Serialize(IGenericWriter writer)
{
base.Serialize(writer);
writer.Write(0); // version
writer.Write(m_Item);
}
public override void Deserialize(IGenericReader reader)
{
base.Deserialize(reader);
var version = reader.ReadInt();
m_Item = reader.ReadEntity<LargeForgeEast>();
}
_parent?.Delete();
}
}
}
[Forge]
[SerializationGenerator(0, false)]
public partial class LargeForgeEast : Item
{
private InternalItem _item;
private InternalItem2 _item2;
[Constructible]
public LargeForgeEast() : base(0x197A)
{
Movable = false;
_item = new InternalItem(this);
_item2 = new InternalItem2(this);
}
public override void OnLocationChange(Point3D oldLocation)
{
if (_item != null)
{
_item.Location = new Point3D(X + 1, Y, Z);
}
if (_item2 != null)
{
_item2.Location = new Point3D(X + 2, Y, Z);
}
}
public override void OnMapChange()
{
if (_item != null)
{
_item.Map = Map;
}
if (_item2 != null)
{
_item2.Map = Map;
}
}
public override void OnAfterDelete()
{
base.OnAfterDelete();
_item?.Delete();
_item2?.Delete();
}
[Forge]
[SerializationGenerator(0, false)]
private partial class InternalItem : Item
{
private LargeForgeEast _parent;
public InternalItem(LargeForgeEast item) : base(0x197E)
{
Movable = false;
_parent = item;
}
public override void OnLocationChange(Point3D oldLocation)
{
if (_parent != null)
{
_parent.Location = new Point3D(X - 1, Y, Z);
}
}
public override void OnMapChange()
{
if (_parent != null)
{
_parent.Map = Map;
}
}
public override void OnAfterDelete()
{
base.OnAfterDelete();
_parent?.Delete();
}
}
[Forge]
[SerializationGenerator(0, false)]
private partial class InternalItem2 : Item
{
private LargeForgeEast _parent;
public InternalItem2(LargeForgeEast item) : base(0x1982)
{
Movable = false;
_parent = item;
}
public override void OnLocationChange(Point3D oldLocation)
{
if (_parent != null)
{
_parent.Location = new Point3D(X - 2, Y, Z);
}
}
public override void OnMapChange()
{
if (_parent != null)
{
_parent.Map = Map;
}
}
public override void OnAfterDelete()
{
base.OnAfterDelete();
_parent?.Delete();
}
}
}