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)
{
m_Mobile.SendLocalizedMessage(
1060192
); // Your karma has been locked. Your karma can no longer be raised.
// Your karma has been locked. Your karma can no longer be raised.
m_Mobile.SendLocalizedMessage(1060192);
}
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]
public AnkhWest(bool bloodied = false) : base(bloodied ? 0x1D98 : 0x3)
{
Movable = false;
m_Item = new InternalItem(bloodied, this);
}
public AnkhWest(Serial serial) : base(serial)
{
_item = new InternalItem(bloodied, this);
}
public override bool HandlesOnMovement => true; // Tell the core that we implement OnMovement
@ -138,9 +134,9 @@ namespace Server.Items
set
{
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)
{
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()
{
if (m_Item != null)
if (_item != null)
{
m_Item.Map = Map;
_item.Map = Map;
}
}
@ -184,40 +180,19 @@ namespace Server.Items
{
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<InternalItem>();
_item?.Delete();
}
[Serializable(0, false)]
private class InternalItem : Item
{
private AnkhWest m_Item;
[SerializableField(0)]
private AnkhWest _item;
public InternalItem(bool bloodied, AnkhWest item) : base(bloodied ? 0x1D97 : 0x2)
{
Movable = false;
m_Item = item;
}
public InternalItem(Serial serial) : base(serial)
{
_item = item;
}
public override bool HandlesOnMovement => true; // Tell the core that we implement OnMovement
@ -230,26 +205,26 @@ namespace Server.Items
set
{
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)
{
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()
{
if (m_Item != null)
if (_item != null)
{
m_Item.Map = Map;
_item.Map = Map;
}
}
@ -257,7 +232,7 @@ namespace Server.Items
{
base.OnAfterDelete();
m_Item?.Delete();
_item?.Delete();
}
public override void OnMovement(Mobile m, Point3D oldLocation)
@ -278,43 +253,22 @@ namespace Server.Items
{
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")]
public class AnkhNorth : Item
[Serializable(0, false)]
public partial class AnkhNorth : Item
{
private InternalItem m_Item;
[SerializableField(0)]
private InternalItem _item;
[Constructible]
public AnkhNorth(bool bloodied = false) : base(bloodied ? 0x1E5D : 0x4)
{
Movable = false;
m_Item = new InternalItem(bloodied, this);
}
public AnkhNorth(Serial serial)
: base(serial)
{
_item = new InternalItem(bloodied, this);
}
public override bool HandlesOnMovement => true; // Tell the core that we implement OnMovement
@ -327,9 +281,9 @@ namespace Server.Items
set
{
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)
{
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()
{
if (m_Item != null)
if (_item != null)
{
m_Item.Map = Map;
_item.Map = Map;
}
}
@ -373,42 +327,21 @@ namespace Server.Items
{
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<InternalItem>();
_item?.Delete();
}
[TypeAlias("Server.Items.AnkhEast+InternalItem")]
[Serializable(0, false)]
private class InternalItem : Item
{
private AnkhNorth m_Item;
[SerializableField(0)]
private AnkhNorth _item;
public InternalItem(bool bloodied, AnkhNorth item)
: base(bloodied ? 0x1E5C : 0x5)
{
Movable = false;
m_Item = item;
}
public InternalItem(Serial serial) : base(serial)
{
_item = item;
}
public override bool HandlesOnMovement => true; // Tell the core that we implement OnMovement
@ -421,26 +354,26 @@ namespace Server.Items
set
{
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)
{
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()
{
if (m_Item != null)
if (_item != null)
{
m_Item.Map = Map;
_item.Map = Map;
}
}
@ -448,7 +381,7 @@ namespace Server.Items
{
base.OnAfterDelete();
m_Item?.Delete();
_item?.Delete();
}
public override void OnMovement(Mobile m, Point3D oldLocation)
@ -469,24 +402,6 @@ namespace Server.Items
{
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
{
[Furniture]
public class ElegantLowTable : Item
[Serializable(0, false)]
public partial class ElegantLowTable : Item
{
[Constructible]
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]
public class PlainLowTable : Item
[Serializable(0, false)]
public partial class PlainLowTable : Item
{
[Constructible]
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]
[Flippable(0xB90, 0xB7D)]
public class LargeTable : Item
[Serializable(0, false)]
public partial class LargeTable : Item
{
[Constructible]
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]
[Flippable(0xB35, 0xB34)]
public class Nightstand : Item
[Serializable(0, false)]
public partial class Nightstand : Item
{
[Constructible]
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]
[Flippable(0xB8F, 0xB7C)]
public class YewWoodTable : Item
[Serializable(0, false)]
public partial class YewWoodTable : Item
{
[Constructible]
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]
[Flippable(0xB4A, 0xB49, 0xB4B, 0xB4C)]
public class WritingTable : Item
[Serializable(0, false)]
public partial class WritingTable : Item
{
[Constructible]
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
{
public abstract class BaseWall : Item
[Serializable(0, false)]
public abstract partial class BaseWall : Item
{
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
}
public class DarkWoodWall : BaseWall
[Serializable(0, false)]
public partial class DarkWoodWall : BaseWall
{
[Constructible]
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
}
public class ThickGrayStoneWall : BaseWall
[Serializable(0, false)]
public partial class ThickGrayStoneWall : BaseWall
{
[Constructible]
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
}
public class ThinBrickWall : BaseWall
[Serializable(0, false)]
public partial class ThinBrickWall : BaseWall
{
[Constructible]
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
}
public class ThinStoneWall : BaseWall
[Serializable(0, false)]
public partial class ThinStoneWall : BaseWall
{
[Constructible]
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
}
public class WhiteStoneWall : BaseWall
[Serializable(0, false)]
public partial class WhiteStoneWall : BaseWall
{
[Constructible]
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"
}