fix: Codegens remaining construction items (#859)

This commit is contained in:
Kamron Batman 2021-11-21 10:45:07 -08:00 • committed by GitHub
parent 1bec4feb0d
commit c8043e8dd2
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
25 changed files with 164 additions and 381 deletions

View file

@ -80,9 +80,8 @@ namespace Server.Items
if (m_Mobile.KarmaLocked) if (m_Mobile.KarmaLocked)
{ {
m_Mobile.SendLocalizedMessage( // Your karma has been locked. Your karma can no longer be raised.
1060192 m_Mobile.SendLocalizedMessage(1060192);
); // Your karma has been locked. Your karma can no longer be raised.
} }
else else
{ {
@ -112,20 +111,17 @@ namespace Server.Items
} }
} }
public class AnkhWest : Item [Serializable(0, false)]
public partial class AnkhWest : Item
{ {
private InternalItem m_Item; [SerializableField(0)]
private InternalItem _item;
[Constructible] [Constructible]
public AnkhWest(bool bloodied = false) : base(bloodied ? 0x1D98 : 0x3) public AnkhWest(bool bloodied = false) : base(bloodied ? 0x1D98 : 0x3)
{ {
Movable = false; Movable = false;
_item = new InternalItem(bloodied, this);
m_Item = new InternalItem(bloodied, this);
}
public AnkhWest(Serial serial) : base(serial)
{
} }
public override bool HandlesOnMovement => true; // Tell the core that we implement OnMovement public override bool HandlesOnMovement => true; // Tell the core that we implement OnMovement
@ -138,9 +134,9 @@ namespace Server.Items
set set
{ {
base.Hue = value; base.Hue = value;
if (m_Item.Hue != value) if (_item.Hue != value)
{ {
m_Item.Hue = value; _item.Hue = value;
} }
} }
} }
@ -166,17 +162,17 @@ namespace Server.Items
public override void OnLocationChange(Point3D oldLocation) public override void OnLocationChange(Point3D oldLocation)
{ {
if (m_Item != null) if (_item != null)
{ {
m_Item.Location = new Point3D(X, Y + 1, Z); _item.Location = new Point3D(X, Y + 1, Z);
} }
} }
public override void OnMapChange() public override void OnMapChange()
{ {
if (m_Item != null) if (_item != null)
{ {
m_Item.Map = Map; _item.Map = Map;
} }
} }
@ -184,40 +180,19 @@ namespace Server.Items
{ {
base.OnAfterDelete(); base.OnAfterDelete();
m_Item?.Delete(); _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<InternalItem>();
} }
[Serializable(0, false)]
private class InternalItem : Item private class InternalItem : Item
{ {
private AnkhWest m_Item; [SerializableField(0)]
private AnkhWest _item;
public InternalItem(bool bloodied, AnkhWest item) : base(bloodied ? 0x1D97 : 0x2) public InternalItem(bool bloodied, AnkhWest item) : base(bloodied ? 0x1D97 : 0x2)
{ {
Movable = false; Movable = false;
_item = item;
m_Item = item;
}
public InternalItem(Serial serial) : base(serial)
{
} }
public override bool HandlesOnMovement => true; // Tell the core that we implement OnMovement public override bool HandlesOnMovement => true; // Tell the core that we implement OnMovement
@ -230,26 +205,26 @@ namespace Server.Items
set set
{ {
base.Hue = value; base.Hue = value;
if (m_Item.Hue != value) if (_item.Hue != value)
{ {
m_Item.Hue = value; _item.Hue = value;
} }
} }
} }
public override void OnLocationChange(Point3D oldLocation) public override void OnLocationChange(Point3D oldLocation)
{ {
if (m_Item != null) if (_item != null)
{ {
m_Item.Location = new Point3D(X, Y - 1, Z); _item.Location = new Point3D(X, Y - 1, Z);
} }
} }
public override void OnMapChange() public override void OnMapChange()
{ {
if (m_Item != null) if (_item != null)
{ {
m_Item.Map = Map; _item.Map = Map;
} }
} }
@ -257,7 +232,7 @@ namespace Server.Items
{ {
base.OnAfterDelete(); base.OnAfterDelete();
m_Item?.Delete(); _item?.Delete();
} }
public override void OnMovement(Mobile m, Point3D oldLocation) public override void OnMovement(Mobile m, Point3D oldLocation)
@ -278,43 +253,22 @@ namespace Server.Items
{ {
Ankhs.Resurrect(m, this); Ankhs.Resurrect(m, this);
} }
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<AnkhWest>();
}
} }
} }
[TypeAlias("Server.Items.AnkhEast")] [TypeAlias("Server.Items.AnkhEast")]
public class AnkhNorth : Item [Serializable(0, false)]
public partial class AnkhNorth : Item
{ {
private InternalItem m_Item; [SerializableField(0)]
private InternalItem _item;
[Constructible] [Constructible]
public AnkhNorth(bool bloodied = false) : base(bloodied ? 0x1E5D : 0x4) public AnkhNorth(bool bloodied = false) : base(bloodied ? 0x1E5D : 0x4)
{ {
Movable = false; Movable = false;
m_Item = new InternalItem(bloodied, this); _item = new InternalItem(bloodied, this);
}
public AnkhNorth(Serial serial)
: base(serial)
{
} }
public override bool HandlesOnMovement => true; // Tell the core that we implement OnMovement public override bool HandlesOnMovement => true; // Tell the core that we implement OnMovement
@ -327,9 +281,9 @@ namespace Server.Items
set set
{ {
base.Hue = value; base.Hue = value;
if (m_Item.Hue != value) if (_item.Hue != value)
{ {
m_Item.Hue = value; _item.Hue = value;
} }
} }
} }
@ -355,17 +309,17 @@ namespace Server.Items
public override void OnLocationChange(Point3D oldLocation) public override void OnLocationChange(Point3D oldLocation)
{ {
if (m_Item != null) if (_item != null)
{ {
m_Item.Location = new Point3D(X + 1, Y, Z); _item.Location = new Point3D(X + 1, Y, Z);
} }
} }
public override void OnMapChange() public override void OnMapChange()
{ {
if (m_Item != null) if (_item != null)
{ {
m_Item.Map = Map; _item.Map = Map;
} }
} }
@ -373,42 +327,21 @@ namespace Server.Items
{ {
base.OnAfterDelete(); base.OnAfterDelete();
m_Item?.Delete(); _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<InternalItem>();
} }
[TypeAlias("Server.Items.AnkhEast+InternalItem")] [TypeAlias("Server.Items.AnkhEast+InternalItem")]
[Serializable(0, false)]
private class InternalItem : Item private class InternalItem : Item
{ {
private AnkhNorth m_Item; [SerializableField(0)]
private AnkhNorth _item;
public InternalItem(bool bloodied, AnkhNorth item) public InternalItem(bool bloodied, AnkhNorth item)
: base(bloodied ? 0x1E5C : 0x5) : base(bloodied ? 0x1E5C : 0x5)
{ {
Movable = false; Movable = false;
_item = item;
m_Item = item;
}
public InternalItem(Serial serial) : base(serial)
{
} }
public override bool HandlesOnMovement => true; // Tell the core that we implement OnMovement public override bool HandlesOnMovement => true; // Tell the core that we implement OnMovement
@ -421,26 +354,26 @@ namespace Server.Items
set set
{ {
base.Hue = value; base.Hue = value;
if (m_Item.Hue != value) if (_item.Hue != value)
{ {
m_Item.Hue = value; _item.Hue = value;
} }
} }
} }
public override void OnLocationChange(Point3D oldLocation) public override void OnLocationChange(Point3D oldLocation)
{ {
if (m_Item != null) if (_item != null)
{ {
m_Item.Location = new Point3D(X - 1, Y, Z); _item.Location = new Point3D(X - 1, Y, Z);
} }
} }
public override void OnMapChange() public override void OnMapChange()
{ {
if (m_Item != null) if (_item != null)
{ {
m_Item.Map = Map; _item.Map = Map;
} }
} }
@ -448,7 +381,7 @@ namespace Server.Items
{ {
base.OnAfterDelete(); base.OnAfterDelete();
m_Item?.Delete(); _item?.Delete();
} }
public override void OnMovement(Mobile m, Point3D oldLocation) public override void OnMovement(Mobile m, Point3D oldLocation)
@ -469,24 +402,6 @@ namespace Server.Items
{ {
Ankhs.Resurrect(m, this); Ankhs.Resurrect(m, this);
} }
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<AnkhNorth>();
}
} }
} }
} }

View file

@ -1,145 +1,45 @@
namespace Server.Items namespace Server.Items
{ {
[Furniture] [Furniture]
public class ElegantLowTable : Item [Serializable(0, false)]
public partial class ElegantLowTable : Item
{ {
[Constructible] [Constructible]
public ElegantLowTable() : base(0x2819) => Weight = 1.0; public ElegantLowTable() : base(0x2819) => Weight = 1.0;
public ElegantLowTable(Serial serial) : base(serial)
{
}
public override void Serialize(IGenericWriter writer)
{
base.Serialize(writer);
writer.Write(0);
}
public override void Deserialize(IGenericReader reader)
{
base.Deserialize(reader);
var version = reader.ReadInt();
}
} }
[Furniture] [Furniture]
public class PlainLowTable : Item [Serializable(0, false)]
public partial class PlainLowTable : Item
{ {
[Constructible] [Constructible]
public PlainLowTable() : base(0x281A) => Weight = 1.0; public PlainLowTable() : base(0x281A) => Weight = 1.0;
public PlainLowTable(Serial serial) : base(serial)
{
}
public override void Serialize(IGenericWriter writer)
{
base.Serialize(writer);
writer.Write(0);
}
public override void Deserialize(IGenericReader reader)
{
base.Deserialize(reader);
var version = reader.ReadInt();
}
} }
[Furniture] [Furniture]
[Flippable(0xB90, 0xB7D)] [Flippable(0xB90, 0xB7D)]
public class LargeTable : Item [Serializable(0, false)]
public partial class LargeTable : Item
{ {
[Constructible] [Constructible]
public LargeTable() : base(0xB90) => Weight = 1.0; public LargeTable() : base(0xB90) => Weight = 1.0;
public LargeTable(Serial serial) : base(serial)
{
}
public override void Serialize(IGenericWriter writer)
{
base.Serialize(writer);
writer.Write(0);
}
public override void Deserialize(IGenericReader reader)
{
base.Deserialize(reader);
var version = reader.ReadInt();
if (Weight == 4.0)
{
Weight = 1.0;
}
}
} }
[Furniture] [Furniture]
[Flippable(0xB35, 0xB34)] [Flippable(0xB35, 0xB34)]
public class Nightstand : Item [Serializable(0, false)]
public partial class Nightstand : Item
{ {
[Constructible] [Constructible]
public Nightstand() : base(0xB35) => Weight = 1.0; public Nightstand() : base(0xB35) => Weight = 1.0;
public Nightstand(Serial serial) : base(serial)
{
}
public override void Serialize(IGenericWriter writer)
{
base.Serialize(writer);
writer.Write(0);
}
public override void Deserialize(IGenericReader reader)
{
base.Deserialize(reader);
var version = reader.ReadInt();
if (Weight == 4.0)
{
Weight = 1.0;
}
}
} }
[Furniture] [Furniture]
[Flippable(0xB8F, 0xB7C)] [Flippable(0xB8F, 0xB7C)]
public class YewWoodTable : Item [Serializable(0, false)]
public partial class YewWoodTable : Item
{ {
[Constructible] [Constructible]
public YewWoodTable() : base(0xB8F) => Weight = 1.0; public YewWoodTable() : base(0xB8F) => Weight = 1.0;
public YewWoodTable(Serial serial) : base(serial)
{
}
public override void Serialize(IGenericWriter writer)
{
base.Serialize(writer);
writer.Write(0);
}
public override void Deserialize(IGenericReader reader)
{
base.Deserialize(reader);
var version = reader.ReadInt();
if (Weight == 4.0)
{
Weight = 1.0;
}
}
} }
} }

View file

@ -2,32 +2,10 @@ namespace Server.Items
{ {
[Furniture] [Furniture]
[Flippable(0xB4A, 0xB49, 0xB4B, 0xB4C)] [Flippable(0xB4A, 0xB49, 0xB4B, 0xB4C)]
public class WritingTable : Item [Serializable(0, false)]
public partial class WritingTable : Item
{ {
[Constructible] [Constructible]
public WritingTable() : base(0xB4A) => Weight = 1.0; public WritingTable() : base(0xB4A) => Weight = 1.0;
public WritingTable(Serial serial) : base(serial)
{
}
public override void Serialize(IGenericWriter writer)
{
base.Serialize(writer);
writer.Write(0);
}
public override void Deserialize(IGenericReader reader)
{
base.Deserialize(reader);
var version = reader.ReadInt();
if (Weight == 4.0)
{
Weight = 1.0;
}
}
} }
} }

View file

@ -1,25 +1,8 @@
namespace Server.Items namespace Server.Items
{ {
public abstract class BaseWall : Item [Serializable(0, false)]
public abstract partial class BaseWall : Item
{ {
public BaseWall(int itemID) : base(itemID) => Movable = false; public BaseWall(int itemID) : base(itemID) => Movable = false;
public BaseWall(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();
}
} }
} }

View file

@ -24,29 +24,12 @@ namespace Server.Items
EastWallVShort EastWallVShort
} }
public class DarkWoodWall : BaseWall [Serializable(0, false)]
public partial class DarkWoodWall : BaseWall
{ {
[Constructible] [Constructible]
public DarkWoodWall(DarkWoodWallTypes type) : base(0x0006 + (int)type) public DarkWoodWall(DarkWoodWallTypes type) : base(0x0006 + (int)type)
{ {
} }
public DarkWoodWall(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();
}
} }
} }

View file

@ -34,29 +34,12 @@ namespace Server.Items
EastWindow2 EastWindow2
} }
public class ThickGrayStoneWall : BaseWall [Serializable(0, false)]
public partial class ThickGrayStoneWall : BaseWall
{ {
[Constructible] [Constructible]
public ThickGrayStoneWall(ThickGrayStoneWallTypes type) : base(0x007A + (int)type) public ThickGrayStoneWall(ThickGrayStoneWallTypes type) : base(0x007A + (int)type)
{ {
} }
public ThickGrayStoneWall(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();
}
} }
} }

View file

@ -40,29 +40,12 @@ namespace Server.Items
EastWallVShort EastWallVShort
} }
public class ThinBrickWall : BaseWall [Serializable(0, false)]
public partial class ThinBrickWall : BaseWall
{ {
[Constructible] [Constructible]
public ThinBrickWall(ThinBrickWallTypes type) : base(0x0033 + (int)type) public ThinBrickWall(ThinBrickWallTypes type) : base(0x0033 + (int)type)
{ {
} }
public ThinBrickWall(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();
}
} }
} }

View file

@ -29,29 +29,12 @@ namespace Server.Items
EastWallShort2 EastWallShort2
} }
public class ThinStoneWall : BaseWall [Serializable(0, false)]
public partial class ThinStoneWall : BaseWall
{ {
[Constructible] [Constructible]
public ThinStoneWall(ThinStoneWallTypes type) : base(0x001A + (int)type) public ThinStoneWall(ThinStoneWallTypes type) : base(0x001A + (int)type)
{ {
} }
public ThinStoneWall(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();
}
} }
} }

View file

@ -47,29 +47,12 @@ namespace Server.Items
EastWallVVShort EastWallVVShort
} }
public class WhiteStoneWall : BaseWall [Serializable(0, false)]
public partial class WhiteStoneWall : BaseWall
{ {
[Constructible] [Constructible]
public WhiteStoneWall(WhiteStoneWallTypes type) : base(0x0057 + (int)type) public WhiteStoneWall(WhiteStoneWallTypes type) : base(0x0057 + (int)type)
{ {
} }
public WhiteStoneWall(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();
}
} }
} }

View file

@ -0,0 +1,11 @@
{
"version": 0,
"type": "Server.Items.AnkhNorth.InternalItem",
"properties": [
{
"name": "Item",
"type": "Server.Items.AnkhNorth",
"rule": "SerializableInterfaceMigrationRule"
}
]
}

View file

@ -0,0 +1,11 @@
{
"version": 0,
"type": "Server.Items.AnkhNorth",
"properties": [
{
"name": "Item",
"type": "Server.Items.AnkhNorth.InternalItem",
"rule": "SerializableInterfaceMigrationRule"
}
]
}

View file

@ -0,0 +1,11 @@
{
"version": 0,
"type": "Server.Items.AnkhWest.InternalItem",
"properties": [
{
"name": "Item",
"type": "Server.Items.AnkhWest",
"rule": "SerializableInterfaceMigrationRule"
}
]
}

View file

@ -0,0 +1,11 @@
{
"version": 0,
"type": "Server.Items.AnkhWest",
"properties": [
{
"name": "Item",
"type": "Server.Items.AnkhWest.InternalItem",
"rule": "SerializableInterfaceMigrationRule"
}
]
}

View file

@ -0,0 +1,4 @@
{
"version": 0,
"type": "Server.Items.BaseWall"
}

View file

@ -0,0 +1,4 @@
{
"version": 0,
"type": "Server.Items.DarkWoodWall"
}

View file

@ -0,0 +1,4 @@
{
"version": 0,
"type": "Server.Items.ElegantLowTable"
}

View file

@ -0,0 +1,4 @@
{
"version": 0,
"type": "Server.Items.LargeTable"
}

View file

@ -0,0 +1,4 @@
{
"version": 0,
"type": "Server.Items.Nightstand"
}

View file

@ -0,0 +1,4 @@
{
"version": 0,
"type": "Server.Items.PlainLowTable"
}

View file

@ -0,0 +1,4 @@
{
"version": 0,
"type": "Server.Items.ThickGrayStoneWall"
}

View file

@ -0,0 +1,4 @@
{
"version": 0,
"type": "Server.Items.ThinBrickWall"
}

View file

@ -0,0 +1,4 @@
{
"version": 0,
"type": "Server.Items.ThinStoneWall"
}

View file

@ -0,0 +1,4 @@
{
"version": 0,
"type": "Server.Items.WhiteStoneWall"
}

View file

@ -0,0 +1,4 @@
{
"version": 0,
"type": "Server.Items.WritingTable"
}

View file

@ -0,0 +1,4 @@
{
"version": 0,
"type": "Server.Items.YewWoodTable"
}