fix: Codgens more addons (#685)

* Fixes after deserialization not executing for older versions of an object
* Codegens more addons
This commit is contained in:
Kamron Batman 2021-08-15 17:55:04 -07:00 committed by GitHub
parent 25fa9b397b
commit 4c265562bb
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
255 changed files with 1514 additions and 3742 deletions

View file

@ -53,6 +53,22 @@ namespace SerializationGenerator
source.AppendLine();
}
var afterDeserialization = classSymbol
.GetMembers()
.OfType<IMethodSymbol>()
.FirstOrDefault(
m =>
m.ReturnsVoid &&
m.Parameters.Length == 0 &&
m.GetAttributes()
.Any(
attr => SymbolEqualityComparer.Default.Equals(
attr.AttributeClass,
compilation.GetTypeByMetadataName(SymbolMetadata.AFTERDESERIALIZATION_ATTRIBUTE)
)
)
);
// Version
source.AppendLine($"{indent}var version = reader.{(encodedVersion ? "ReadEncodedInt" : "ReadInt")}();");
@ -73,6 +89,10 @@ namespace SerializationGenerator
source.AppendLine($"{indent}{{");
source.AppendLine($"{indent} MigrateFrom(new V{migrationVersion}Content(reader));");
source.AppendLine($"{indent} ((Server.ISerializable)this).MarkDirty();");
if (afterDeserialization != null)
{
source.AppendLine($"{indent} Timer.DelayCall({afterDeserialization.Name});");
}
source.AppendLine($"{indent} return;");
source.AppendLine($"{indent}}}");
}
@ -84,6 +104,10 @@ namespace SerializationGenerator
source.AppendLine($"{indent}{{");
source.AppendLine($"{indent} Deserialize(reader, version);");
source.AppendLine($"{indent} ((Server.ISerializable)this).MarkDirty();");
if (afterDeserialization != null)
{
source.AppendLine($"{indent} Timer.DelayCall({afterDeserialization.Name});");
}
source.AppendLine($"{indent} return;");
source.AppendLine($"{indent}}}");
}
@ -99,22 +123,6 @@ namespace SerializationGenerator
);
}
var afterDeserialization = classSymbol
.GetMembers()
.OfType<IMethodSymbol>()
.FirstOrDefault(
m =>
m.ReturnsVoid &&
m.Parameters.Length == 0 &&
m.GetAttributes()
.Any(
attr => SymbolEqualityComparer.Default.Equals(
attr.AttributeClass,
compilation.GetTypeByMetadataName(SymbolMetadata.AFTERDESERIALIZATION_ATTRIBUTE)
)
)
);
if (afterDeserialization != null)
{
source.AppendLine();

View file

@ -53,6 +53,7 @@ namespace Server.Items
Hue = CraftResources.GetHue(m_Resource);
InvalidateProperties();
this.MarkDirty();
}
}
}

View file

@ -4,8 +4,9 @@ using Server.Targeting;
namespace Server.Items
{
[Serializable(0, false)]
[Flippable(0x14F0, 0x14EF)]
public abstract class BaseAddonDeed : Item
public abstract partial class BaseAddonDeed : Item
{
private CraftResource m_Resource;
@ -19,10 +20,6 @@ namespace Server.Items
}
}
public BaseAddonDeed(Serial serial) : base(serial)
{
}
public abstract BaseAddon Addon { get; }
[CommandProperty(AccessLevel.GameMaster)]
@ -41,25 +38,6 @@ namespace Server.Items
}
}
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();
if (Weight == 0.0)
{
Weight = 1.0;
}
}
public override void OnDoubleClick(Mobile from)
{
if (IsChildOf(from.Backpack))
@ -93,7 +71,11 @@ namespace Server.Items
return;
}
if (m_Deed.IsChildOf(from.Backpack))
if (!m_Deed.IsChildOf(from.Backpack))
{
from.SendLocalizedMessage(1042001); // That must be in your pack for you to use it.
}
else
{
var addon = m_Deed.Addon;
@ -134,10 +116,6 @@ namespace Server.Items
addon.Delete();
}
}
else
{
from.SendLocalizedMessage(1042001); // That must be in your pack for you to use it.
}
}
}
}

View file

@ -1,6 +1,7 @@
namespace Server.Items
{
public class BrownBearRugEastAddon : BaseAddon
[Serializable(0, false)]
public partial class BrownBearRugEastAddon : BaseAddon
{
[Constructible]
public BrownBearRugEastAddon()
@ -16,57 +17,23 @@ namespace Server.Items
AddComponent(new AddonComponent(0x1E48), -1, -1, 0);
}
public BrownBearRugEastAddon(Serial serial) : base(serial)
{
}
public override BaseAddonDeed Deed => new BrownBearRugEastDeed();
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 BrownBearRugEastDeed : BaseAddonDeed
[Serializable(0, false)]
public partial class BrownBearRugEastDeed : BaseAddonDeed
{
[Constructible]
public BrownBearRugEastDeed()
{
}
public BrownBearRugEastDeed(Serial serial) : base(serial)
{
}
public override BaseAddon Addon => new BrownBearRugEastAddon();
public override int LabelNumber => 1049397; // a brown bear rug deed facing 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();
}
}
public class BrownBearRugSouthAddon : BaseAddon
[Serializable(0, false)]
public partial class BrownBearRugSouthAddon : BaseAddon
{
[Constructible]
public BrownBearRugSouthAddon()
@ -82,57 +49,23 @@ namespace Server.Items
AddComponent(new AddonComponent(0x1E3E), -1, -1, 0);
}
public BrownBearRugSouthAddon(Serial serial) : base(serial)
{
}
public override BaseAddonDeed Deed => new BrownBearRugSouthDeed();
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 BrownBearRugSouthDeed : BaseAddonDeed
[Serializable(0, false)]
public partial class BrownBearRugSouthDeed : BaseAddonDeed
{
[Constructible]
public BrownBearRugSouthDeed()
{
}
public BrownBearRugSouthDeed(Serial serial) : base(serial)
{
}
public override BaseAddon Addon => new BrownBearRugSouthAddon();
public override int LabelNumber => 1049398; // a brown bear rug deed facing 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();
}
}
public class PolarBearRugEastAddon : BaseAddon
[Serializable(0, false)]
public partial class PolarBearRugEastAddon : BaseAddon
{
[Constructible]
public PolarBearRugEastAddon()
@ -148,57 +81,23 @@ namespace Server.Items
AddComponent(new AddonComponent(0x1E5B), -1, -1, 0);
}
public PolarBearRugEastAddon(Serial serial) : base(serial)
{
}
public override BaseAddonDeed Deed => new PolarBearRugEastDeed();
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 PolarBearRugEastDeed : BaseAddonDeed
[Serializable(0, false)]
public partial class PolarBearRugEastDeed : BaseAddonDeed
{
[Constructible]
public PolarBearRugEastDeed()
{
}
public PolarBearRugEastDeed(Serial serial) : base(serial)
{
}
public override BaseAddon Addon => new PolarBearRugEastAddon();
public override int LabelNumber => 1049399; // a polar bear rug deed facing 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();
}
}
public class PolarBearRugSouthAddon : BaseAddon
[Serializable(0, false)]
public partial class PolarBearRugSouthAddon : BaseAddon
{
[Constructible]
public PolarBearRugSouthAddon()
@ -214,53 +113,18 @@ namespace Server.Items
AddComponent(new AddonComponent(0x1E51), -1, -1, 0);
}
public PolarBearRugSouthAddon(Serial serial) : base(serial)
{
}
public override BaseAddonDeed Deed => new PolarBearRugSouthDeed();
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 PolarBearRugSouthDeed : BaseAddonDeed
[Serializable(0, false)]
public partial class PolarBearRugSouthDeed : BaseAddonDeed
{
[Constructible]
public PolarBearRugSouthDeed()
{
}
public PolarBearRugSouthDeed(Serial serial) : base(serial)
{
}
public override BaseAddon Addon => new PolarBearRugSouthAddon();
public override int LabelNumber => 1049400; // a polar bear rug deed facing 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();
}
}
}

View file

@ -1,6 +1,7 @@
namespace Server.Items
{
public class BloodPentagram : BaseAddon
[Serializable(0, false)]
public partial class BloodPentagram : BaseAddon
{
[Constructible]
public BloodPentagram()
@ -45,23 +46,5 @@ namespace Server.Items
AddComponent(new AddonComponent(0x1D02), 5, 3, 0);
AddComponent(new AddonComponent(0x1D03), 5, 4, 0);
}
public BloodPentagram(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

@ -2,17 +2,14 @@ using Server.Network;
namespace Server.Items
{
public class DartBoard : AddonComponent
[Serializable(0)]
public partial class DartBoard : AddonComponent
{
[Constructible]
public DartBoard(bool east = true) : base(east ? 0x1E2F : 0x1E2E)
{
}
public DartBoard(Serial serial) : base(serial)
{
}
public override bool NeedsWall => true;
public override Point3D WallPosition => East ? new Point3D(-1, 0, 0) : new Point3D(0, -1, 0);
@ -75,163 +72,65 @@ namespace Server.Items
var rand = Utility.RandomDouble();
int message;
if (rand < 0.05)
int message = rand switch
{
message = 500752; // BULLSEYE! 50 Points!
}
else if (rand < 0.20)
{
message = 500753; // Just missed the center! 20 points.
}
else if (rand < 0.45)
{
message = 500754; // 10 point shot.
}
else if (rand < 0.70)
{
message = 500755; // 5 pointer.
}
else if (rand < 0.85)
{
message = 500756; // 1 point. Bad throw.
}
else
{
message = 500757; // Missed.
}
< 0.05 => 500752,
< 0.20 => 500753,
< 0.45 => 500754,
< 0.70 => 500755,
< 0.85 => 500756,
_ => 500757
};
PublicOverheadMessage(MessageType.Regular, 0x3B2, message);
}
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 DartBoardEastAddon : BaseAddon
[Serializable(0)]
public partial class DartBoardEastAddon : BaseAddon
{
public DartBoardEastAddon()
{
AddComponent(new DartBoard(), 0, 0, 0);
}
public DartBoardEastAddon(Serial serial) : base(serial)
{
}
public override BaseAddonDeed Deed => new DartBoardEastDeed();
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 DartBoardEastDeed : BaseAddonDeed
[Serializable(0)]
public partial class DartBoardEastDeed : BaseAddonDeed
{
[Constructible]
public DartBoardEastDeed()
{
}
public DartBoardEastDeed(Serial serial) : base(serial)
{
}
public override BaseAddon Addon => new DartBoardEastAddon();
public override int LabelNumber => 1044326; // dartboard (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();
}
}
public class DartBoardSouthAddon : BaseAddon
[Serializable(0)]
public partial class DartBoardSouthAddon : BaseAddon
{
public DartBoardSouthAddon()
{
AddComponent(new DartBoard(false), 0, 0, 0);
}
public DartBoardSouthAddon(Serial serial) : base(serial)
{
}
public override BaseAddonDeed Deed => new DartBoardSouthDeed();
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 DartBoardSouthDeed : BaseAddonDeed
[Serializable(0)]
public partial class DartBoardSouthDeed : BaseAddonDeed
{
[Constructible]
public DartBoardSouthDeed()
{
}
public DartBoardSouthDeed(Serial serial) : base(serial)
{
}
public override BaseAddon Addon => new DartBoardSouthAddon();
public override int LabelNumber => 1044325; // dartboard (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();
}
}
}

View file

@ -1,6 +1,7 @@
namespace Server.Items
{
public class ElvenBedEastAddon : BaseAddon
[Serializable(0)]
public partial class ElvenBedEastAddon : BaseAddon
{
[Constructible]
public ElvenBedEastAddon()
@ -9,53 +10,18 @@ namespace Server.Items
AddComponent(new AddonComponent(0x304C), 1, 0, 0);
}
public ElvenBedEastAddon(Serial serial) : base(serial)
{
}
public override BaseAddonDeed Deed => new ElvenBedEastDeed();
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 ElvenBedEastDeed : BaseAddonDeed
[Serializable(0)]
public partial class ElvenBedEastDeed : BaseAddonDeed
{
[Constructible]
public ElvenBedEastDeed()
{
}
public ElvenBedEastDeed(Serial serial) : base(serial)
{
}
public override BaseAddon Addon => new ElvenBedEastAddon();
public override int LabelNumber => 1072861; // elven bed (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();
}
}
}

View file

@ -1,6 +1,7 @@
namespace Server.Items
{
public class ElvenBedSouthAddon : BaseAddon
[Serializable(0)]
public partial class ElvenBedSouthAddon : BaseAddon
{
[Constructible]
public ElvenBedSouthAddon()
@ -9,53 +10,18 @@ namespace Server.Items
AddComponent(new AddonComponent(0x3051), 0, -1, 0);
}
public ElvenBedSouthAddon(Serial serial) : base(serial)
{
}
public override BaseAddonDeed Deed => new ElvenBedSouthDeed();
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 ElvenBedSouthDeed : BaseAddonDeed
[Serializable(0)]
public partial class ElvenBedSouthDeed : BaseAddonDeed
{
[Constructible]
public ElvenBedSouthDeed()
{
}
public ElvenBedSouthDeed(Serial serial) : base(serial)
{
}
public override BaseAddon Addon => new ElvenBedSouthAddon();
public override int LabelNumber => 1072860; // elven bed (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();
}
}
}

View file

@ -1,6 +1,7 @@
namespace Server.Items
{
public class ElvenDresserEastAddon : BaseAddon
[Serializable(0)]
public partial class ElvenDresserEastAddon : BaseAddon
{
[Constructible]
public ElvenDresserEastAddon()
@ -9,53 +10,18 @@ namespace Server.Items
AddComponent(new AddonComponent(0x30E3), 0, -1, 0);
}
public ElvenDresserEastAddon(Serial serial) : base(serial)
{
}
public override BaseAddonDeed Deed => new ElvenDresserEastDeed();
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 ElvenDresserEastDeed : BaseAddonDeed
[Serializable(0)]
public partial class ElvenDresserEastDeed : BaseAddonDeed
{
[Constructible]
public ElvenDresserEastDeed()
{
}
public ElvenDresserEastDeed(Serial serial) : base(serial)
{
}
public override BaseAddon Addon => new ElvenDresserEastAddon();
public override int LabelNumber => 1073388; // elven dresser (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();
}
}
}

View file

@ -1,6 +1,7 @@
namespace Server.Items
{
public class ElvenDresserSouthAddon : BaseAddon
[Serializable(0)]
public partial class ElvenDresserSouthAddon : BaseAddon
{
[Constructible]
public ElvenDresserSouthAddon()
@ -9,53 +10,18 @@ namespace Server.Items
AddComponent(new AddonComponent(0x30E6), 1, 0, 0);
}
public ElvenDresserSouthAddon(Serial serial) : base(serial)
{
}
public override BaseAddonDeed Deed => new ElvenDresserSouthDeed();
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 ElvenDresserSouthDeed : BaseAddonDeed
[Serializable(0)]
public partial class ElvenDresserSouthDeed : BaseAddonDeed
{
[Constructible]
public ElvenDresserSouthDeed()
{
}
public ElvenDresserSouthDeed(Serial serial) : base(serial)
{
}
public override BaseAddon Addon => new ElvenDresserSouthAddon();
public override int LabelNumber => 1072864; // elven dresser (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();
}
}
}

View file

@ -1,6 +1,7 @@
namespace Server.Items
{
public class ElvenForgeAddon : BaseAddon
[Serializable(0)]
public partial class ElvenForgeAddon : BaseAddon
{
[Constructible]
public ElvenForgeAddon()
@ -8,53 +9,18 @@ namespace Server.Items
AddComponent(new AddonComponent(0x2DD8), 0, 0, 0);
}
public ElvenForgeAddon(Serial serial) : base(serial)
{
}
public override BaseAddonDeed Deed => new ElvenForgeDeed();
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 ElvenForgeDeed : BaseAddonDeed
[Serializable(0)]
public partial class ElvenForgeDeed : BaseAddonDeed
{
[Constructible]
public ElvenForgeDeed()
{
}
public ElvenForgeDeed(Serial serial) : base(serial)
{
}
public override BaseAddon Addon => new ElvenForgeAddon();
public override int LabelNumber => 1072875; // squirrel 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();
}
}
}

View file

@ -1,6 +1,7 @@
namespace Server.Items
{
public class ElvenLoveseatEastAddon : BaseAddon
[Serializable(0)]
public partial class ElvenLoveseatEastAddon : BaseAddon
{
[Constructible]
public ElvenLoveseatEastAddon()
@ -9,53 +10,18 @@ namespace Server.Items
AddComponent(new AddonComponent(0x3088), 1, 0, 0);
}
public ElvenLoveseatEastAddon(Serial serial) : base(serial)
{
}
public override BaseAddonDeed Deed => new ElvenLoveseatEastDeed();
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 ElvenLoveseatEastDeed : BaseAddonDeed
[Serializable(0)]
public partial class ElvenLoveseatEastDeed : BaseAddonDeed
{
[Constructible]
public ElvenLoveseatEastDeed()
{
}
public ElvenLoveseatEastDeed(Serial serial) : base(serial)
{
}
public override BaseAddon Addon => new ElvenLoveseatEastAddon();
public override int LabelNumber => 1073372; // elven loveseat (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();
}
}
}

View file

@ -1,6 +1,7 @@
namespace Server.Items
{
public class ElvenLoveseatSouthAddon : BaseAddon
[Serializable(0)]
public partial class ElvenLoveseatSouthAddon : BaseAddon
{
[Constructible]
public ElvenLoveseatSouthAddon()
@ -9,53 +10,18 @@ namespace Server.Items
AddComponent(new AddonComponent(0x308B), 0, -1, 0);
}
public ElvenLoveseatSouthAddon(Serial serial) : base(serial)
{
}
public override BaseAddonDeed Deed => new ElvenLoveseatSouthDeed();
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 ElvenLoveseatSouthDeed : BaseAddonDeed
[Serializable(0)]
public partial class ElvenLoveseatSouthDeed : BaseAddonDeed
{
[Constructible]
public ElvenLoveseatSouthDeed()
{
}
public ElvenLoveseatSouthDeed(Serial serial) : base(serial)
{
}
public override BaseAddon Addon => new ElvenLoveseatSouthAddon();
public override int LabelNumber => 1072867; // elven loveseat (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();
}
}
}

View file

@ -2,7 +2,8 @@ using System;
namespace Server.Items
{
public class ElvenSpinningwheelEastAddon : BaseAddon, ISpinningWheel
[Serializable(0)]
public partial class ElvenSpinningwheelEastAddon : BaseAddon, ISpinningWheel
{
private Timer m_Timer;
@ -12,10 +13,6 @@ namespace Server.Items
AddComponent(new AddonComponent(0x2DD9), 0, 0, 0);
}
public ElvenSpinningwheelEastAddon(Serial serial) : base(serial)
{
}
public override BaseAddonDeed Deed => new ElvenSpinningwheelEastDeed();
public bool Spinning => m_Timer != null;
@ -38,20 +35,6 @@ namespace Server.Items
}
}
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 override void OnComponentLoaded(AddonComponent c)
{
switch (c.ItemID)
@ -110,32 +93,15 @@ namespace Server.Items
}
}
public class ElvenSpinningwheelEastDeed : BaseAddonDeed
[Serializable(0)]
public partial class ElvenSpinningwheelEastDeed : BaseAddonDeed
{
[Constructible]
public ElvenSpinningwheelEastDeed()
{
}
public ElvenSpinningwheelEastDeed(Serial serial) : base(serial)
{
}
public override BaseAddon Addon => new ElvenSpinningwheelEastAddon();
public override int LabelNumber => 1073393; // elven spinning wheel (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();
}
}
}

View file

@ -2,7 +2,8 @@ using System;
namespace Server.Items
{
public class ElvenSpinningwheelSouthAddon : BaseAddon, ISpinningWheel
[Serializable(0)]
public partial class ElvenSpinningwheelSouthAddon : BaseAddon, ISpinningWheel
{
private Timer m_Timer;
@ -12,10 +13,6 @@ namespace Server.Items
AddComponent(new AddonComponent(0x2DDA), 0, 0, 0);
}
public ElvenSpinningwheelSouthAddon(Serial serial) : base(serial)
{
}
public override BaseAddonDeed Deed => new ElvenSpinningwheelSouthDeed();
public bool Spinning => m_Timer != null;
@ -39,20 +36,6 @@ namespace Server.Items
}
}
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 override void OnComponentLoaded(AddonComponent c)
{
switch (c.ItemID)
@ -112,32 +95,15 @@ namespace Server.Items
}
}
public class ElvenSpinningwheelSouthDeed : BaseAddonDeed
[Serializable(0)]
public partial class ElvenSpinningwheelSouthDeed : BaseAddonDeed
{
[Constructible]
public ElvenSpinningwheelSouthDeed()
{
}
public ElvenSpinningwheelSouthDeed(Serial serial) : base(serial)
{
}
public override BaseAddon Addon => new ElvenSpinningwheelSouthAddon();
public override int LabelNumber => 1072878; // spinning wheel (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();
}
}
}

View file

@ -1,6 +1,7 @@
namespace Server.Items
{
public class ElvenStoveEastAddon : BaseAddon
[Serializable(0)]
public partial class ElvenStoveEastAddon : BaseAddon
{
[Constructible]
public ElvenStoveEastAddon()
@ -8,53 +9,18 @@ namespace Server.Items
AddComponent(new AddonComponent(0x2DDB), 0, 0, 0);
}
public ElvenStoveEastAddon(Serial serial) : base(serial)
{
}
public override BaseAddonDeed Deed => new ElvenStoveEastDeed();
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 ElvenStoveEastDeed : BaseAddonDeed
[Serializable(0)]
public partial class ElvenStoveEastDeed : BaseAddonDeed
{
[Constructible]
public ElvenStoveEastDeed()
{
}
public ElvenStoveEastDeed(Serial serial) : base(serial)
{
}
public override BaseAddon Addon => new ElvenStoveEastAddon();
public override int LabelNumber => 1073395; // elven oven (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();
}
}
}

View file

@ -1,6 +1,7 @@
namespace Server.Items
{
public class ElvenStoveSouthAddon : BaseAddon
[Serializable(0)]
public partial class ElvenStoveSouthAddon : BaseAddon
{
[Constructible]
public ElvenStoveSouthAddon()
@ -8,25 +9,7 @@ namespace Server.Items
AddComponent(new AddonComponent(0x2DDC), 0, 0, 0);
}
public ElvenStoveSouthAddon(Serial serial) : base(serial)
{
}
public override BaseAddonDeed Deed => new ElvenStoveSouthDeed();
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 ElvenStoveSouthDeed : BaseAddonDeed
@ -42,19 +25,5 @@ namespace Server.Items
public override BaseAddon Addon => new ElvenStoveSouthAddon();
public override int LabelNumber => 1073394; // elven oven (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();
}
}
}

View file

@ -15,19 +15,7 @@ namespace Server.Items
public override BaseAddonDeed Deed => new ElvenWashBasinEastDeed();
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 ElvenWashBasinEastDeed : BaseAddonDeed
@ -44,18 +32,6 @@ namespace Server.Items
public override BaseAddon Addon => new ElvenWashBasinEastAddon();
public override int LabelNumber => 1073387; // elven wash basin (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();
}
}
}

View file

@ -15,19 +15,7 @@ namespace Server.Items
public override BaseAddonDeed Deed => new ElvenWashBasinSouthDeed();
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 ElvenWashBasinSouthDeed : BaseAddonDeed
@ -44,18 +32,6 @@ namespace Server.Items
public override BaseAddon Addon => new ElvenWashBasinSouthAddon();
public override int LabelNumber => 1072865; // elven wash basin (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();
}
}
}

View file

@ -16,19 +16,7 @@ namespace Server.Items
public override BaseAddonDeed Deed => new FancyElvenTableEastDeed();
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 FancyElvenTableEastDeed : BaseAddonDeed
@ -45,18 +33,6 @@ namespace Server.Items
public override BaseAddon Addon => new FancyElvenTableEastAddon();
public override int LabelNumber => 1073386; // hardwood 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();
}
}
}

View file

@ -1,6 +1,7 @@
namespace Server.Items
{
public class FancyElvenTableSouthAddon : BaseAddon
[Serializable(0)]
public partial class FancyElvenTableSouthAddon : BaseAddon
{
[Constructible]
public FancyElvenTableSouthAddon()
@ -10,53 +11,18 @@ namespace Server.Items
AddComponent(new AddonComponent(0x3097), 0, -1, 0);
}
public FancyElvenTableSouthAddon(Serial serial) : base(serial)
{
}
public override BaseAddonDeed Deed => new FancyElvenTableSouthDeed();
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 FancyElvenTableSouthDeed : BaseAddonDeed
[Serializable(0)]
public partial class FancyElvenTableSouthDeed : BaseAddonDeed
{
[Constructible]
public FancyElvenTableSouthDeed()
{
}
public FancyElvenTableSouthDeed(Serial serial) : base(serial)
{
}
public override BaseAddon Addon => new FancyElvenTableSouthAddon();
public override int LabelNumber => 1073385; // hardwood 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();
}
}
}

View file

@ -1,6 +1,7 @@
namespace Server.Items
{
public class FireColumnAddon : BaseAddon
[Serializable(0, false)]
public partial class FireColumnAddon : BaseAddon
{
[Constructible]
public FireColumnAddon(bool bloody = false)
@ -27,25 +28,6 @@ namespace Server.Items
}
}
public FireColumnAddon(Serial serial)
: base(serial)
{
}
public override bool ShareHue => false;
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

@ -16,7 +16,8 @@ namespace Server.Items
Working
}
public class FlourMillEastAddon : BaseAddon, IFlourMill
[Serializable(1, false)]
public partial class FlourMillEastAddon : BaseAddon, IFlourMill
{
private static readonly int[][] m_StageTable =
{
@ -25,7 +26,7 @@ namespace Server.Items
new[] { 0x1924, 0x1924, 0x1928 }
};
private int m_Flour;
private int _flour;
[Constructible]
public FlourMillEastAddon()
@ -35,17 +36,13 @@ namespace Server.Items
AddComponent(new AddonComponent(0x1924), 1, 0, 0);
}
public FlourMillEastAddon(Serial serial) : base(serial)
{
}
public override BaseAddonDeed Deed => new FlourMillEastDeed();
[CommandProperty(AccessLevel.GameMaster)]
public bool HasFlour => m_Flour > 0;
public bool HasFlour => _flour > 0;
[CommandProperty(AccessLevel.GameMaster)]
public bool IsFull => m_Flour >= MaxFlour;
public bool IsFull => _flour >= MaxFlour;
[CommandProperty(AccessLevel.GameMaster)]
public bool IsWorking { get; private set; }
@ -53,14 +50,16 @@ namespace Server.Items
[CommandProperty(AccessLevel.GameMaster)]
public int MaxFlour => 2;
[SerializableField(0)]
[CommandProperty(AccessLevel.GameMaster)]
public int CurFlour
{
get => m_Flour;
get => _flour;
set
{
m_Flour = Math.Max(0, Math.Min(value, MaxFlour));
_flour = Math.Clamp(value, 0, MaxFlour);
UpdateStage();
this.MarkDirty();
}
}
@ -86,7 +85,7 @@ namespace Server.Items
if (from.PlaceInBackpack(flour))
{
m_Flour = 0;
_flour = 0;
}
else
{
@ -165,60 +164,26 @@ namespace Server.Items
}
}
public override void Serialize(IGenericWriter writer)
private void Deserialize(IGenericReader reader, int version)
{
base.Serialize(writer);
writer.Write(1); // version
writer.Write(m_Flour);
}
public override void Deserialize(IGenericReader reader)
[AfterDeserialization]
private void AfterDeserialization()
{
base.Deserialize(reader);
var version = reader.ReadInt();
switch (version)
{
case 1:
{
m_Flour = reader.ReadInt();
break;
}
}
UpdateStage();
}
}
public class FlourMillEastDeed : BaseAddonDeed
[Serializable(0, false)]
public partial class FlourMillEastDeed : BaseAddonDeed
{
[Constructible]
public FlourMillEastDeed()
{
}
public FlourMillEastDeed(Serial serial) : base(serial)
{
}
public override BaseAddon Addon => new FlourMillEastAddon();
public override int LabelNumber => 1044347; // flour mill (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();
}
}
}

View file

@ -3,7 +3,8 @@ using Server.Network;
namespace Server.Items
{
public class FlourMillSouthAddon : BaseAddon, IFlourMill
[Serializable(1, false)]
public partial class FlourMillSouthAddon : BaseAddon, IFlourMill
{
private static readonly int[][] m_StageTable =
{
@ -22,10 +23,6 @@ namespace Server.Items
AddComponent(new AddonComponent(0x1930), 0, 1, 0);
}
public FlourMillSouthAddon(Serial serial) : base(serial)
{
}
public override BaseAddonDeed Deed => new FlourMillSouthDeed();
[CommandProperty(AccessLevel.GameMaster)]
@ -154,60 +151,26 @@ namespace Server.Items
}
}
public override void Serialize(IGenericWriter writer)
private void Deserialize(IGenericReader reader, int version)
{
base.Serialize(writer);
writer.Write(1); // version
writer.Write(m_Flour);
}
public override void Deserialize(IGenericReader reader)
[AfterDeserialization]
private void AfterDeserialization()
{
base.Deserialize(reader);
var version = reader.ReadInt();
switch (version)
{
case 1:
{
m_Flour = reader.ReadInt();
break;
}
}
UpdateStage();
}
}
public class FlourMillSouthDeed : BaseAddonDeed
[Serializable(0, false)]
public partial class FlourMillSouthDeed : BaseAddonDeed
{
[Constructible]
public FlourMillSouthDeed()
{
}
public FlourMillSouthDeed(Serial serial) : base(serial)
{
}
public override BaseAddon Addon => new FlourMillSouthAddon();
public override int LabelNumber => 1044348; // flour mill (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();
}
}
}

View file

@ -1,6 +1,7 @@
namespace Server.Items
{
public class LightFlowerTapestryEastAddon : BaseAddon
[Serializable(0, false)]
public partial class LightFlowerTapestryEastAddon : BaseAddon
{
[Constructible]
public LightFlowerTapestryEastAddon()
@ -9,57 +10,23 @@ namespace Server.Items
AddComponent(new AddonComponent(0xFDB), 0, 1, 0);
}
public LightFlowerTapestryEastAddon(Serial serial) : base(serial)
{
}
public override BaseAddonDeed Deed => new LightFlowerTapestryEastDeed();
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 LightFlowerTapestryEastDeed : BaseAddonDeed
[Serializable(0, false)]
public partial class LightFlowerTapestryEastDeed : BaseAddonDeed
{
[Constructible]
public LightFlowerTapestryEastDeed()
{
}
public LightFlowerTapestryEastDeed(Serial serial) : base(serial)
{
}
public override BaseAddon Addon => new LightFlowerTapestryEastAddon();
public override int LabelNumber => 1049393; // a flower tapestry deed facing 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();
}
}
public class LightFlowerTapestrySouthAddon : BaseAddon
[Serializable(0, false)]
public partial class LightFlowerTapestrySouthAddon : BaseAddon
{
[Constructible]
public LightFlowerTapestrySouthAddon()
@ -68,57 +35,23 @@ namespace Server.Items
AddComponent(new AddonComponent(0xFDA), 1, 0, 0);
}
public LightFlowerTapestrySouthAddon(Serial serial) : base(serial)
{
}
public override BaseAddonDeed Deed => new LightFlowerTapestrySouthDeed();
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 LightFlowerTapestrySouthDeed : BaseAddonDeed
[Serializable(0, false)]
public partial class LightFlowerTapestrySouthDeed : BaseAddonDeed
{
[Constructible]
public LightFlowerTapestrySouthDeed()
{
}
public LightFlowerTapestrySouthDeed(Serial serial) : base(serial)
{
}
public override BaseAddon Addon => new LightFlowerTapestrySouthAddon();
public override int LabelNumber => 1049394; // a flower tapestry deed facing 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();
}
}
public class DarkFlowerTapestryEastAddon : BaseAddon
[Serializable(0, false)]
public partial class DarkFlowerTapestryEastAddon : BaseAddon
{
[Constructible]
public DarkFlowerTapestryEastAddon()
@ -127,57 +60,23 @@ namespace Server.Items
AddComponent(new AddonComponent(0xFDF), 0, 1, 0);
}
public DarkFlowerTapestryEastAddon(Serial serial) : base(serial)
{
}
public override BaseAddonDeed Deed => new DarkFlowerTapestryEastDeed();
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 DarkFlowerTapestryEastDeed : BaseAddonDeed
[Serializable(0, false)]
public partial class DarkFlowerTapestryEastDeed : BaseAddonDeed
{
[Constructible]
public DarkFlowerTapestryEastDeed()
{
}
public DarkFlowerTapestryEastDeed(Serial serial) : base(serial)
{
}
public override BaseAddon Addon => new DarkFlowerTapestryEastAddon();
public override int LabelNumber => 1049395; // a dark flower tapestry deed facing 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();
}
}
public class DarkFlowerTapestrySouthAddon : BaseAddon
[Serializable(0, false)]
public partial class DarkFlowerTapestrySouthAddon : BaseAddon
{
[Constructible]
public DarkFlowerTapestrySouthAddon()
@ -186,53 +85,18 @@ namespace Server.Items
AddComponent(new AddonComponent(0xFDE), 1, 0, 0);
}
public DarkFlowerTapestrySouthAddon(Serial serial) : base(serial)
{
}
public override BaseAddonDeed Deed => new DarkFlowerTapestrySouthDeed();
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 DarkFlowerTapestrySouthDeed : BaseAddonDeed
[Serializable(0, false)]
public partial class DarkFlowerTapestrySouthDeed : BaseAddonDeed
{
[Constructible]
public DarkFlowerTapestrySouthDeed()
{
}
public DarkFlowerTapestrySouthDeed(Serial serial) : base(serial)
{
}
public override BaseAddon Addon => new DarkFlowerTapestrySouthAddon();
public override int LabelNumber => 1049396; // a dark flower tapestry deed facing 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();
}
}
}

View file

@ -1,6 +1,7 @@
namespace Server.Items
{
public class GiantWeb1 : BaseAddon
[Serializable(0)]
public partial class GiantWeb1 : BaseAddon
{
[Constructible]
public GiantWeb1()
@ -18,28 +19,10 @@ namespace Server.Items
);
}
}
public GiantWeb1(Serial serial)
: base(serial)
{
}
public override void Serialize(IGenericWriter writer)
{
base.Serialize(writer);
writer.Write((byte)0); // version
}
public override void Deserialize(IGenericReader reader)
{
base.Deserialize(reader);
int version = reader.ReadByte();
}
}
public class GiantWeb2 : BaseAddon
[Serializable(0)]
public partial class GiantWeb2 : BaseAddon
{
[Constructible]
public GiantWeb2()
@ -57,28 +40,10 @@ namespace Server.Items
);
}
}
public GiantWeb2(Serial serial)
: base(serial)
{
}
public override void Serialize(IGenericWriter writer)
{
base.Serialize(writer);
writer.Write((byte)0); // version
}
public override void Deserialize(IGenericReader reader)
{
base.Deserialize(reader);
int version = reader.ReadByte();
}
}
public class GiantWeb3 : BaseAddon
[Serializable(0)]
public partial class GiantWeb3 : BaseAddon
{
[Constructible]
public GiantWeb3()
@ -96,28 +61,10 @@ namespace Server.Items
);
}
}
public GiantWeb3(Serial serial)
: base(serial)
{
}
public override void Serialize(IGenericWriter writer)
{
base.Serialize(writer);
writer.Write((byte)0); // version
}
public override void Deserialize(IGenericReader reader)
{
base.Deserialize(reader);
int version = reader.ReadByte();
}
}
public class GiantWeb4 : BaseAddon
[Serializable(0)]
public partial class GiantWeb4 : BaseAddon
{
[Constructible]
public GiantWeb4()
@ -135,28 +82,10 @@ namespace Server.Items
);
}
}
public GiantWeb4(Serial serial)
: base(serial)
{
}
public override void Serialize(IGenericWriter writer)
{
base.Serialize(writer);
writer.Write((byte)0); // version
}
public override void Deserialize(IGenericReader reader)
{
base.Deserialize(reader);
int version = reader.ReadByte();
}
}
public class GiantWeb5 : BaseAddon
[Serializable(0)]
public partial class GiantWeb5 : BaseAddon
{
[Constructible]
public GiantWeb5()
@ -174,28 +103,10 @@ namespace Server.Items
);
}
}
public GiantWeb5(Serial serial)
: base(serial)
{
}
public override void Serialize(IGenericWriter writer)
{
base.Serialize(writer);
writer.Write((byte)0); // version
}
public override void Deserialize(IGenericReader reader)
{
base.Deserialize(reader);
int version = reader.ReadByte();
}
}
public class GiantWeb6 : BaseAddon
[Serializable(0)]
public partial class GiantWeb6 : BaseAddon
{
[Constructible]
public GiantWeb6()
@ -213,24 +124,5 @@ namespace Server.Items
);
}
}
public GiantWeb6(Serial serial)
: base(serial)
{
}
public override void Serialize(IGenericWriter writer)
{
base.Serialize(writer);
writer.Write((byte)0); // version
}
public override void Deserialize(IGenericReader reader)
{
base.Deserialize(reader);
int version = reader.ReadByte();
}
}
}

View file

@ -1,6 +1,7 @@
namespace Server.Items
{
public class GozaMatEastAddon : BaseAddon
[Serializable(0, false)]
public partial class GozaMatEastAddon : BaseAddon
{
[Constructible]
public GozaMatEastAddon(int hue = 0)
@ -10,59 +11,25 @@ namespace Server.Items
Hue = hue;
}
public GozaMatEastAddon(Serial serial) : base(serial)
{
}
public override BaseAddonDeed Deed => new GozaMatEastDeed();
public override bool RetainDeedHue => true;
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 GozaMatEastDeed : BaseAddonDeed
[Serializable(0, false)]
public partial class GozaMatEastDeed : BaseAddonDeed
{
[Constructible]
public GozaMatEastDeed()
{
}
public GozaMatEastDeed(Serial serial) : base(serial)
{
}
public override BaseAddon Addon => new GozaMatEastAddon(Hue);
public override int LabelNumber => 1030404; // goza (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();
}
}
public class GozaMatSouthAddon : BaseAddon
[Serializable(0, false)]
public partial class GozaMatSouthAddon : BaseAddon
{
[Constructible]
public GozaMatSouthAddon(int hue = 0)
@ -72,59 +39,25 @@ namespace Server.Items
Hue = hue;
}
public GozaMatSouthAddon(Serial serial) : base(serial)
{
}
public override BaseAddonDeed Deed => new GozaMatSouthDeed();
public override bool RetainDeedHue => true;
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 GozaMatSouthDeed : BaseAddonDeed
[Serializable(0, false)]
public partial class GozaMatSouthDeed : BaseAddonDeed
{
[Constructible]
public GozaMatSouthDeed()
{
}
public GozaMatSouthDeed(Serial serial) : base(serial)
{
}
public override BaseAddon Addon => new GozaMatSouthAddon(Hue);
public override int LabelNumber => 1030405; // goza (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();
}
}
public class SquareGozaMatEastAddon : BaseAddon
[Serializable(0, false)]
public partial class SquareGozaMatEastAddon : BaseAddon
{
[Constructible]
public SquareGozaMatEastAddon(int hue = 0)
@ -133,60 +66,26 @@ namespace Server.Items
Hue = hue;
}
public SquareGozaMatEastAddon(Serial serial) : base(serial)
{
}
public override BaseAddonDeed Deed => new SquareGozaMatEastDeed();
public override int LabelNumber => 1030688; // goza mat
public override bool RetainDeedHue => true;
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 SquareGozaMatEastDeed : BaseAddonDeed
[Serializable(0, false)]
public partial class SquareGozaMatEastDeed : BaseAddonDeed
{
[Constructible]
public SquareGozaMatEastDeed()
{
}
public SquareGozaMatEastDeed(Serial serial) : base(serial)
{
}
public override BaseAddon Addon => new SquareGozaMatEastAddon(Hue);
public override int LabelNumber => 1030407; // square goza (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();
}
}
public class SquareGozaMatSouthAddon : BaseAddon
[Serializable(0, false)]
public partial class SquareGozaMatSouthAddon : BaseAddon
{
[Constructible]
public SquareGozaMatSouthAddon(int hue = 0)
@ -195,59 +94,25 @@ namespace Server.Items
Hue = hue;
}
public SquareGozaMatSouthAddon(Serial serial) : base(serial)
{
}
public override BaseAddonDeed Deed => new SquareGozaMatSouthDeed();
public override bool RetainDeedHue => true;
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 SquareGozaMatSouthDeed : BaseAddonDeed
[Serializable(0, false)]
public partial class SquareGozaMatSouthDeed : BaseAddonDeed
{
[Constructible]
public SquareGozaMatSouthDeed()
{
}
public SquareGozaMatSouthDeed(Serial serial) : base(serial)
{
}
public override BaseAddon Addon => new SquareGozaMatSouthAddon(Hue);
public override int LabelNumber => 1030406; // square goza (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();
}
}
public class BrocadeGozaMatEastAddon : BaseAddon
[Serializable(0, false)]
public partial class BrocadeGozaMatEastAddon : BaseAddon
{
[Constructible]
public BrocadeGozaMatEastAddon(int hue = 0)
@ -257,59 +122,25 @@ namespace Server.Items
Hue = hue;
}
public BrocadeGozaMatEastAddon(Serial serial) : base(serial)
{
}
public override BaseAddonDeed Deed => new BrocadeGozaMatEastDeed();
public override bool RetainDeedHue => true;
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 BrocadeGozaMatEastDeed : BaseAddonDeed
[Serializable(0, false)]
public partial class BrocadeGozaMatEastDeed : BaseAddonDeed
{
[Constructible]
public BrocadeGozaMatEastDeed()
{
}
public BrocadeGozaMatEastDeed(Serial serial) : base(serial)
{
}
public override BaseAddon Addon => new BrocadeGozaMatEastAddon(Hue);
public override int LabelNumber => 1030408; // brocade goza (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();
}
}
public class BrocadeGozaMatSouthAddon : BaseAddon
[Serializable(0, false)]
public partial class BrocadeGozaMatSouthAddon : BaseAddon
{
[Constructible]
public BrocadeGozaMatSouthAddon(int hue = 0)
@ -319,59 +150,25 @@ namespace Server.Items
Hue = hue;
}
public BrocadeGozaMatSouthAddon(Serial serial) : base(serial)
{
}
public override BaseAddonDeed Deed => new BrocadeGozaMatSouthDeed();
public override bool RetainDeedHue => true;
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 BrocadeGozaMatSouthDeed : BaseAddonDeed
[Serializable(0, false)]
public partial class BrocadeGozaMatSouthDeed : BaseAddonDeed
{
[Constructible]
public BrocadeGozaMatSouthDeed()
{
}
public BrocadeGozaMatSouthDeed(Serial serial) : base(serial)
{
}
public override BaseAddon Addon => new BrocadeGozaMatSouthAddon(Hue);
public override int LabelNumber => 1030409; // brocade goza (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();
}
}
public class BrocadeSquareGozaMatEastAddon : BaseAddon
[Serializable(0, false)]
public partial class BrocadeSquareGozaMatEastAddon : BaseAddon
{
[Constructible]
public BrocadeSquareGozaMatEastAddon(int hue = 0)
@ -380,59 +177,25 @@ namespace Server.Items
Hue = hue;
}
public BrocadeSquareGozaMatEastAddon(Serial serial) : base(serial)
{
}
public override BaseAddonDeed Deed => new BrocadeSquareGozaMatEastDeed();
public override bool RetainDeedHue => true;
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 BrocadeSquareGozaMatEastDeed : BaseAddonDeed
[Serializable(0, false)]
public partial class BrocadeSquareGozaMatEastDeed : BaseAddonDeed
{
[Constructible]
public BrocadeSquareGozaMatEastDeed()
{
}
public BrocadeSquareGozaMatEastDeed(Serial serial) : base(serial)
{
}
public override BaseAddon Addon => new BrocadeSquareGozaMatEastAddon(Hue);
public override int LabelNumber => 1030411; // brocade square goza (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();
}
}
public class BrocadeSquareGozaMatSouthAddon : BaseAddon
[Serializable(0, false)]
public partial class BrocadeSquareGozaMatSouthAddon : BaseAddon
{
[Constructible]
public BrocadeSquareGozaMatSouthAddon(int hue = 0)
@ -441,55 +204,20 @@ namespace Server.Items
Hue = hue;
}
public BrocadeSquareGozaMatSouthAddon(Serial serial) : base(serial)
{
}
public override BaseAddonDeed Deed => new BrocadeSquareGozaMatSouthDeed();
public override bool RetainDeedHue => true;
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 BrocadeSquareGozaMatSouthDeed : BaseAddonDeed
[Serializable(0, false)]
public partial class BrocadeSquareGozaMatSouthDeed : BaseAddonDeed
{
[Constructible]
public BrocadeSquareGozaMatSouthDeed()
{
}
public BrocadeSquareGozaMatSouthDeed(Serial serial) : base(serial)
{
}
public override BaseAddon Addon => new BrocadeSquareGozaMatSouthAddon(Hue);
public override int LabelNumber => 1030410; // brocade square goza (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();
}
}
}

View file

@ -1,6 +1,7 @@
namespace Server.Items
{
public class GrayBrickFireplaceEastAddon : BaseAddon
[Serializable(0, false)]
public partial class GrayBrickFireplaceEastAddon : BaseAddon
{
[Constructible]
public GrayBrickFireplaceEastAddon()
@ -9,53 +10,18 @@ namespace Server.Items
AddComponent(new AddonComponent(0x937), 0, 1, 0);
}
public GrayBrickFireplaceEastAddon(Serial serial) : base(serial)
{
}
public override BaseAddonDeed Deed => new GrayBrickFireplaceEastDeed();
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 GrayBrickFireplaceEastDeed : BaseAddonDeed
[Serializable(0, false)]
public partial class GrayBrickFireplaceEastDeed : BaseAddonDeed
{
[Constructible]
public GrayBrickFireplaceEastDeed()
{
}
public GrayBrickFireplaceEastDeed(Serial serial) : base(serial)
{
}
public override BaseAddon Addon => new GrayBrickFireplaceEastAddon();
public override int LabelNumber => 1061846; // grey brick fireplace (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();
}
}
}

View file

@ -1,6 +1,7 @@
namespace Server.Items
{
public class GrayBrickFireplaceSouthAddon : BaseAddon
[Serializable(0, false)]
public partial class GrayBrickFireplaceSouthAddon : BaseAddon
{
[Constructible]
public GrayBrickFireplaceSouthAddon()
@ -9,53 +10,18 @@ namespace Server.Items
AddComponent(new AddonComponent(0x945), 0, 0, 0);
}
public GrayBrickFireplaceSouthAddon(Serial serial) : base(serial)
{
}
public override BaseAddonDeed Deed => new GrayBrickFireplaceSouthDeed();
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 GrayBrickFireplaceSouthDeed : BaseAddonDeed
[Serializable(0, false)]
public partial class GrayBrickFireplaceSouthDeed : BaseAddonDeed
{
[Constructible]
public GrayBrickFireplaceSouthDeed()
{
}
public GrayBrickFireplaceSouthDeed(Serial serial) : base(serial)
{
}
public override BaseAddon Addon => new GrayBrickFireplaceSouthAddon();
public override int LabelNumber => 1061847; // grey brick fireplace (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();
}
}
}

View file

@ -1,10 +1,10 @@
namespace Server.Items
{
public class JackOLantern : BaseAddon
[Serializable(0)]
public partial class JackOLantern : BaseAddon
{
[Constructible]
public JackOLantern()
: this(Utility.Random(2) < 1)
public JackOLantern() : this(Utility.Random(2) < 1)
{
}
@ -14,7 +14,6 @@ namespace Server.Items
AddComponent(new AddonComponent(5703), 0, 0, +0);
const int hue = 1161;
// ( 1 > Utility.Random( 5 ) ? 2118 : 1161 );
if (!south)
{
@ -30,11 +29,6 @@ namespace Server.Items
}
}
public JackOLantern(Serial serial)
: base(serial)
{
}
public override bool ShareHue => false;
private static AddonComponent GetComponent(int itemID, int hue) =>
@ -44,47 +38,16 @@ namespace Server.Items
Name = "jack-o-lantern"
};
public override void Serialize(IGenericWriter writer)
{
base.Serialize(writer);
writer.Write((byte)2); // version
}
public override void Deserialize(IGenericReader reader)
{
base.Deserialize(reader);
int version = reader.ReadByte();
if (version <= 1)
{
Timer.StartTimer(() => Fix(version));
}
}
private void Fix(int version)
private void Deserialize(IGenericReader reader, int version)
{
for (var i = 0; i < Components.Count; ++i)
{
var ac = Components[i];
switch (version)
{
case 1:
{
ac.Name = "jack-o-lantern";
goto case 0;
}
case 0:
{
if (ac.Hue == 2118)
{
ac.Hue = 1161;
}
ac.Name = "jack-o-lantern";
break;
}
if (ac.Hue == 2118)
{
ac.Hue = 1161;
}
}
}

View file

@ -1,6 +1,7 @@
namespace Server.Items
{
public class LargeBedEastAddon : BaseAddon
[Serializable(0, false)]
public partial class LargeBedEastAddon : BaseAddon
{
[Constructible]
public LargeBedEastAddon()
@ -11,25 +12,7 @@ namespace Server.Items
AddComponent(new AddonComponent(0xA78), 1, 1, 0);
}
public LargeBedEastAddon(Serial serial) : base(serial)
{
}
public override BaseAddonDeed Deed => new LargeBedEastDeed();
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 LargeBedEastDeed : BaseAddonDeed

View file

@ -1,6 +1,7 @@
namespace Server.Items
{
public class LargeBedSouthAddon : BaseAddon
[Serializable(0, false)]
public partial class LargeBedSouthAddon : BaseAddon
{
[Constructible]
public LargeBedSouthAddon()
@ -11,53 +12,18 @@ namespace Server.Items
AddComponent(new AddonComponent(0xA7E), 1, 1, 0);
}
public LargeBedSouthAddon(Serial serial) : base(serial)
{
}
public override BaseAddonDeed Deed => new LargeBedSouthDeed();
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 LargeBedSouthDeed : BaseAddonDeed
[Serializable(0, false)]
public partial class LargeBedSouthDeed : BaseAddonDeed
{
[Constructible]
public LargeBedSouthDeed()
{
}
public LargeBedSouthDeed(Serial serial) : base(serial)
{
}
public override BaseAddon Addon => new LargeBedSouthAddon();
public override int LabelNumber => 1044323; // large bed (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();
}
}
}

View file

@ -1,6 +1,7 @@
namespace Server.Items
{
public class LargeForgeEastAddon : BaseAddon
[Serializable(0, false)]
public partial class LargeForgeEastAddon : BaseAddon
{
[Constructible]
public LargeForgeEastAddon()
@ -11,53 +12,18 @@ namespace Server.Items
AddComponent(new ForgeComponent(0x1992), 0, 3, 0);
}
public LargeForgeEastAddon(Serial serial) : base(serial)
{
}
public override BaseAddonDeed Deed => new LargeForgeEastDeed();
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 LargeForgeEastDeed : BaseAddonDeed
[Serializable(0, false)]
public partial class LargeForgeEastDeed : BaseAddonDeed
{
[Constructible]
public LargeForgeEastDeed()
{
}
public LargeForgeEastDeed(Serial serial) : base(serial)
{
}
public override BaseAddon Addon => new LargeForgeEastAddon();
public override int LabelNumber => 1044331; // large forge (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();
}
}
}

View file

@ -1,6 +1,7 @@
namespace Server.Items
{
public class LargeForgeSouthAddon : BaseAddon
[Serializable(0, false)]
public partial class LargeForgeSouthAddon : BaseAddon
{
[Constructible]
public LargeForgeSouthAddon()
@ -11,53 +12,18 @@ namespace Server.Items
AddComponent(new ForgeComponent(0x199E), 3, 0, 0);
}
public LargeForgeSouthAddon(Serial serial) : base(serial)
{
}
public override BaseAddonDeed Deed => new LargeForgeSouthDeed();
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 LargeForgeSouthDeed : BaseAddonDeed
[Serializable(0, false)]
public partial class LargeForgeSouthDeed : BaseAddonDeed
{
[Constructible]
public LargeForgeSouthDeed()
{
}
public LargeForgeSouthDeed(Serial serial) : base(serial)
{
}
public override BaseAddon Addon => new LargeForgeSouthAddon();
public override int LabelNumber => 1044332; // large forge (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();
}
}
}

View file

@ -1,6 +1,7 @@
namespace Server.Items
{
public class LargeStoneTableEastAddon : BaseAddon
[Serializable(0, false)]
public partial class LargeStoneTableEastAddon : BaseAddon
{
[Constructible]
public LargeStoneTableEastAddon(int hue = 0)
@ -10,56 +11,20 @@ namespace Server.Items
AddComponent(new AddonComponent(0x1201), 0, 2, 0);
Hue = hue;
}
public LargeStoneTableEastAddon(Serial serial) : base(serial)
{
}
public override BaseAddonDeed Deed => new LargeStoneTableEastDeed();
public override bool RetainDeedHue => true;
public override void Serialize(IGenericWriter writer)
{
base.Serialize(writer);
writer.Write(1); // version
}
public override void Deserialize(IGenericReader reader)
{
base.Deserialize(reader);
var version = reader.ReadInt();
}
}
public class LargeStoneTableEastDeed : BaseAddonDeed
[Serializable(0, false)]
public partial class LargeStoneTableEastDeed : BaseAddonDeed
{
[Constructible]
public LargeStoneTableEastDeed()
{
}
public LargeStoneTableEastDeed(Serial serial) : base(serial)
{
}
public override BaseAddon Addon => new LargeStoneTableEastAddon(Hue);
public override int LabelNumber => 1044511; // large stone table (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();
}
}
}

View file

@ -1,6 +1,7 @@
namespace Server.Items
{
public class LargeStoneTableSouthAddon : BaseAddon
[Serializable(0, false)]
public partial class LargeStoneTableSouthAddon : BaseAddon
{
[Constructible]
public LargeStoneTableSouthAddon(int hue = 0)
@ -11,55 +12,20 @@ namespace Server.Items
Hue = hue;
}
public LargeStoneTableSouthAddon(Serial serial) : base(serial)
{
}
public override BaseAddonDeed Deed => new LargeStoneTableSouthDeed();
public override bool RetainDeedHue => true;
public override void Serialize(IGenericWriter writer)
{
base.Serialize(writer);
writer.Write(1); // version
}
public override void Deserialize(IGenericReader reader)
{
base.Deserialize(reader);
var version = reader.ReadInt();
}
}
public class LargeStoneTableSouthDeed : BaseAddonDeed
[Serializable(0, false)]
public partial class LargeStoneTableSouthDeed : BaseAddonDeed
{
[Constructible]
public LargeStoneTableSouthDeed()
{
}
public LargeStoneTableSouthDeed(Serial serial) : base(serial)
{
}
public override BaseAddon Addon => new LargeStoneTableSouthAddon(Hue);
public override int LabelNumber => 1044512; // large stone table (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();
}
}
}

View file

@ -5,8 +5,12 @@ namespace Server.Items
int Phase { get; set; }
}
public class LoomEastAddon : BaseAddon, ILoom
[Serializable(1, false)]
public partial class LoomEastAddon : BaseAddon, ILoom
{
[SerializableField(0)]
private int _phase;
[Constructible]
public LoomEastAddon()
{
@ -14,66 +18,22 @@ namespace Server.Items
AddComponent(new AddonComponent(0x105F), 0, 1, 0);
}
public LoomEastAddon(Serial serial) : base(serial)
{
}
public override BaseAddonDeed Deed => new LoomEastDeed();
public int Phase { get; set; }
public override void Serialize(IGenericWriter writer)
private void Deserialize(IGenericReader reader, int version)
{
base.Serialize(writer);
writer.Write(1); // version
writer.Write(Phase);
}
public override void Deserialize(IGenericReader reader)
{
base.Deserialize(reader);
var version = reader.ReadInt();
switch (version)
{
case 1:
{
Phase = reader.ReadInt();
break;
}
}
}
}
public class LoomEastDeed : BaseAddonDeed
[Serializable(0, false)]
public partial class LoomEastDeed : BaseAddonDeed
{
[Constructible]
public LoomEastDeed()
{
}
public LoomEastDeed(Serial serial) : base(serial)
{
}
public override BaseAddon Addon => new LoomEastAddon();
public override int LabelNumber => 1044343; // loom (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();
}
}
}

View file

@ -1,7 +1,11 @@
namespace Server.Items
{
public class LoomSouthAddon : BaseAddon, ILoom
[Serializable(1, false)]
public partial class LoomSouthAddon : BaseAddon, ILoom
{
[SerializableField(0)]
private int _phase;
[Constructible]
public LoomSouthAddon()
{
@ -9,66 +13,22 @@ namespace Server.Items
AddComponent(new AddonComponent(0x1062), 1, 0, 0);
}
public LoomSouthAddon(Serial serial) : base(serial)
{
}
public override BaseAddonDeed Deed => new LoomSouthDeed();
public int Phase { get; set; }
public override void Serialize(IGenericWriter writer)
private void Deserialize(IGenericReader reader, int version)
{
base.Serialize(writer);
writer.Write(1); // version
writer.Write(Phase);
}
public override void Deserialize(IGenericReader reader)
{
base.Deserialize(reader);
var version = reader.ReadInt();
switch (version)
{
case 1:
{
Phase = reader.ReadInt();
break;
}
}
}
}
public class LoomSouthDeed : BaseAddonDeed
[Serializable(0, false)]
public partial class LoomSouthDeed : BaseAddonDeed
{
[Constructible]
public LoomSouthDeed()
{
}
public LoomSouthDeed(Serial serial) : base(serial)
{
}
public override BaseAddon Addon => new LoomSouthAddon();
public override int LabelNumber => 1044344; // loom (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();
}
}
}

View file

@ -1,6 +1,7 @@
namespace Server.Items
{
public class MediumStoneTableEastAddon : BaseAddon
[Serializable(0, false)]
public partial class MediumStoneTableEastAddon : BaseAddon
{
[Constructible]
public MediumStoneTableEastAddon(int hue = 0)
@ -10,55 +11,20 @@ namespace Server.Items
Hue = hue;
}
public MediumStoneTableEastAddon(Serial serial) : base(serial)
{
}
public override BaseAddonDeed Deed => new MediumStoneTableEastDeed();
public override bool RetainDeedHue => true;
public override void Serialize(IGenericWriter writer)
{
base.Serialize(writer);
writer.Write(1); // version
}
public override void Deserialize(IGenericReader reader)
{
base.Deserialize(reader);
var version = reader.ReadInt();
}
}
public class MediumStoneTableEastDeed : BaseAddonDeed
[Serializable(0, false)]
public partial class MediumStoneTableEastDeed : BaseAddonDeed
{
[Constructible]
public MediumStoneTableEastDeed()
{
}
public MediumStoneTableEastDeed(Serial serial) : base(serial)
{
}
public override BaseAddon Addon => new MediumStoneTableEastAddon(Hue);
public override int LabelNumber => 1044508; // stone table (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();
}
}
}

View file

@ -1,6 +1,7 @@
namespace Server.Items
{
public class MediumStoneTableSouthAddon : BaseAddon
[Serializable(0, false)]
public partial class MediumStoneTableSouthAddon : BaseAddon
{
[Constructible]
public MediumStoneTableSouthAddon(int hue = 0)
@ -10,55 +11,20 @@ namespace Server.Items
Hue = hue;
}
public MediumStoneTableSouthAddon(Serial serial) : base(serial)
{
}
public override BaseAddonDeed Deed => new MediumStoneTableSouthDeed();
public override bool RetainDeedHue => true;
public override void Serialize(IGenericWriter writer)
{
base.Serialize(writer);
writer.Write(1); // version
}
public override void Deserialize(IGenericReader reader)
{
base.Deserialize(reader);
var version = reader.ReadInt();
}
}
public class MediumStoneTableSouthDeed : BaseAddonDeed
[Serializable(0, false)]
public partial class MediumStoneTableSouthDeed : BaseAddonDeed
{
[Constructible]
public MediumStoneTableSouthDeed()
{
}
public MediumStoneTableSouthDeed(Serial serial) : base(serial)
{
}
public override BaseAddon Addon => new MediumStoneTableSouthAddon(Hue);
public override int LabelNumber => 1044509; // stone table (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();
}
}
}

View file

@ -1,6 +1,7 @@
namespace Server.Items
{
public class OrnateElvenTableEastAddon : BaseAddon
[Serializable(0)]
public partial class OrnateElvenTableEastAddon : BaseAddon
{
[Constructible]
public OrnateElvenTableEastAddon()
@ -10,53 +11,18 @@ namespace Server.Items
AddComponent(new AddonComponent(0x308C), 1, 0, 0);
}
public OrnateElvenTableEastAddon(Serial serial) : base(serial)
{
}
public override BaseAddonDeed Deed => new OrnateElvenTableEastDeed();
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 OrnateElvenTableEastDeed : BaseAddonDeed
[Serializable(0)]
public partial class OrnateElvenTableEastDeed : BaseAddonDeed
{
[Constructible]
public OrnateElvenTableEastDeed()
{
}
public OrnateElvenTableEastDeed(Serial serial) : base(serial)
{
}
public override BaseAddon Addon => new OrnateElvenTableEastAddon();
public override int LabelNumber => 1073384; // ornate 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();
}
}
}

View file

@ -1,6 +1,7 @@
namespace Server.Items
{
public class OrnateElvenTableSouthAddon : BaseAddon
[Serializable(0)]
public partial class OrnateElvenTableSouthAddon : BaseAddon
{
[Constructible]
public OrnateElvenTableSouthAddon()
@ -10,53 +11,18 @@ namespace Server.Items
AddComponent(new AddonComponent(0x3091), 0, -1, 0);
}
public OrnateElvenTableSouthAddon(Serial serial) : base(serial)
{
}
public override BaseAddonDeed Deed => new OrnateElvenTableSouthDeed();
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 OrnateElvenTableSouthDeed : BaseAddonDeed
[Serializable(0)]
public partial class OrnateElvenTableSouthDeed : BaseAddonDeed
{
[Constructible]
public OrnateElvenTableSouthDeed()
{
}
public OrnateElvenTableSouthDeed(Serial serial) : base(serial)
{
}
public override BaseAddon Addon => new OrnateElvenTableSouthAddon();
public override int LabelNumber => 1072869; // ornate 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();
}
}
}

View file

@ -1,6 +1,7 @@
namespace Server.Items
{
public class ParrotPerchAddon : BaseAddon
[Serializable(0)]
public partial class ParrotPerchAddon : BaseAddon
{
[Constructible]
public ParrotPerchAddon()
@ -8,53 +9,18 @@ namespace Server.Items
AddComponent(new AddonComponent(0x2FF4), 0, 0, 0);
}
public ParrotPerchAddon(Serial serial) : base(serial)
{
}
public override BaseAddonDeed Deed => new ParrotPerchDeed();
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 ParrotPerchDeed : BaseAddonDeed
[Serializable(0)]
public partial class ParrotPerchDeed : BaseAddonDeed
{
[Constructible]
public ParrotPerchDeed()
{
}
public ParrotPerchDeed(Serial serial) : base(serial)
{
}
public override BaseAddon Addon => new ParrotPerchAddon();
public override int LabelNumber => 1072617; // parrot perch
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();
}
}
}

View file

@ -1,6 +1,7 @@
namespace Server.Items
{
public class PentagramAddon : BaseAddon
[Serializable(0, false)]
public partial class PentagramAddon : BaseAddon
{
[Constructible]
public PentagramAddon()
@ -16,53 +17,18 @@ namespace Server.Items
AddComponent(new AddonComponent(0xFED), 1, 1, 0);
}
public PentagramAddon(Serial serial) : base(serial)
{
}
public override BaseAddonDeed Deed => new PentagramDeed();
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 PentagramDeed : BaseAddonDeed
[Serializable(0, false)]
public partial class PentagramDeed : BaseAddonDeed
{
[Constructible]
public PentagramDeed()
{
}
public PentagramDeed(Serial serial) : base(serial)
{
}
public override BaseAddon Addon => new PentagramAddon();
public override int LabelNumber => 1044328; // pentagram
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

@ -2,27 +2,26 @@ using System;
namespace Server.Items
{
[Serializable(0, false)]
[Flippable(0x1EC0, 0x1EC3)]
public class PickpocketDip : AddonComponent
public partial class PickpocketDip : AddonComponent
{
private Timer m_Timer;
[SerializableField(0)]
[SerializableFieldAttr("[CommandProperty(AccessLevel.GameMaster)]")]
private double _minSkill;
[SerializableField(1)]
[SerializableFieldAttr("[CommandProperty(AccessLevel.GameMaster)]")]
private double _maxSkill;
public PickpocketDip(int itemID) : base(itemID)
{
MinSkill = -25.0;
MaxSkill = +25.0;
}
public PickpocketDip(Serial serial) : base(serial)
{
}
[CommandProperty(AccessLevel.GameMaster)]
public double MinSkill { get; set; }
[CommandProperty(AccessLevel.GameMaster)]
public double MaxSkill { get; set; }
[CommandProperty(AccessLevel.GameMaster)]
public bool Swinging => m_Timer != null;
@ -84,10 +83,8 @@ namespace Server.Items
}
else if (from.Skills.Stealing.Base >= MaxSkill)
{
SendLocalizedMessageTo(
from,
501830
); // Your ability to steal cannot improve any further by simply practicing on a dummy.
// Your ability to steal cannot improve any further by simply practicing on a dummy.
SendLocalizedMessageTo(from, 501830);
}
else if (from.Mounted)
{
@ -99,39 +96,9 @@ 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);
}
public override void Deserialize(IGenericReader reader)
{
base.Deserialize(reader);
var version = reader.ReadInt();
switch (version)
{
case 0:
{
MinSkill = reader.ReadDouble();
MaxSkill = reader.ReadDouble();
if (MinSkill == 0.0 && MaxSkill == 30.0)
{
MinSkill = -25.0;
MaxSkill = +25.0;
}
break;
}
}
UpdateItemID();
}
@ -151,65 +118,30 @@ namespace Server.Items
}
}
public class PickpocketDipEastAddon : BaseAddon
[Serializable(0, false)]
public partial class PickpocketDipEastAddon : BaseAddon
{
[Constructible]
public PickpocketDipEastAddon()
{
AddComponent(new PickpocketDip(0x1EC3), 0, 0, 0);
}
public PickpocketDipEastAddon(Serial serial) : base(serial)
{
}
public override BaseAddonDeed Deed => new PickpocketDipEastDeed();
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 PickpocketDipEastDeed : BaseAddonDeed
[Serializable(0, false)]
public partial class PickpocketDipEastDeed : BaseAddonDeed
{
[Constructible]
public PickpocketDipEastDeed()
{
}
public PickpocketDipEastDeed(Serial serial) : base(serial)
{
}
public override BaseAddon Addon => new PickpocketDipEastAddon();
public override int LabelNumber => 1044337; // pickpocket dip (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();
}
}
public class PickpocketDipSouthAddon : BaseAddon
[Serializable(0, false)]
public partial class PickpocketDipSouthAddon : BaseAddon
{
[Constructible]
public PickpocketDipSouthAddon()
@ -217,53 +149,18 @@ namespace Server.Items
AddComponent(new PickpocketDip(0x1EC0), 0, 0, 0);
}
public PickpocketDipSouthAddon(Serial serial) : base(serial)
{
}
public override BaseAddonDeed Deed => new PickpocketDipSouthDeed();
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 PickpocketDipSouthDeed : BaseAddonDeed
[Serializable(0, false)]
public partial class PickpocketDipSouthDeed : BaseAddonDeed
{
[Constructible]
public PickpocketDipSouthDeed()
{
}
public PickpocketDipSouthDeed(Serial serial) : base(serial)
{
}
public override BaseAddon Addon => new PickpocketDipSouthAddon();
public override int LabelNumber => 1044338; // pickpocket dip (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();
}
}
}

View file

@ -1,6 +1,7 @@
namespace Server.Items
{
public class PyramidAddon : BaseAddon
[Serializable(0)]
public partial class PyramidAddon : BaseAddon
{
[Constructible]
public PyramidAddon()
@ -29,25 +30,6 @@ namespace Server.Items
AddComponent(new AddonComponent(1010), -1, 0, 5);
}
public PyramidAddon(Serial serial)
: base(serial)
{
}
public override bool ShareHue => false;
public override void Serialize(IGenericWriter writer)
{
base.Serialize(writer);
writer.Write((byte)0); // version
}
public override void Deserialize(IGenericReader reader)
{
base.Deserialize(reader);
int version = reader.ReadByte();
}
}
}

View file

@ -2,16 +2,13 @@ using System;
namespace Server.Items
{
public class RejuvinationAddonComponent : AddonComponent
[Serializable(0, false)]
public partial class RejuvinationAddonComponent : AddonComponent
{
public RejuvinationAddonComponent(int itemID) : base(itemID)
{
}
public RejuvinationAddonComponent(Serial serial) : base(serial)
{
}
public override void OnDoubleClick(Mobile from)
{
if (from.BeginAction<RejuvinationAddonComponent>())
@ -20,19 +17,17 @@ namespace Server.Items
var random = Utility.Random(1, 4);
if (random == 1 || random == 4)
if (random is 1 or 4)
{
from.Hits = from.HitsMax;
SendLocalizedMessageTo(from, 500801); // A sense of warmth fills your body!
}
if (random == 2 || random == 4)
else if (random is 2 or 4)
{
from.Mana = from.ManaMax;
SendLocalizedMessageTo(from, 500802); // A feeling of power surges through your veins!
}
if (random == 3 || random == 4)
else if (random is 3 or 4)
{
from.Stam = from.StamMax;
SendLocalizedMessageTo(from, 500803); // You feel as though you've slept for days!
@ -54,23 +49,10 @@ namespace Server.Items
SendLocalizedMessageTo(from, 500807); // You feel completely rejuvinated!
}
}
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();
}
}
public abstract class BaseRejuvinationAnkh : BaseAddon
[Serializable(0, false)]
public abstract partial class BaseRejuvinationAnkh : BaseAddon
{
private DateTime m_NextMessage;
@ -78,46 +60,27 @@ namespace Server.Items
{
}
public BaseRejuvinationAnkh(Serial serial) : base(serial)
{
}
public override bool HandlesOnMovement => true;
public override void OnMovement(Mobile m, Point3D oldLocation)
{
base.OnMovement(m, oldLocation);
if (m.Player && Utility.InRange(Location, m.Location, 3) && !Utility.InRange(Location, oldLocation, 3))
if (m.Player && Utility.InRange(Location, m.Location, 3) &&
!Utility.InRange(Location, oldLocation, 3) && Core.Now >= m_NextMessage)
{
if (Core.Now >= m_NextMessage)
if (Components.Count > 0)
{
if (Components.Count > 0)
{
Components[0].SendLocalizedMessageTo(m, 1010061); // An overwhelming sense of peace fills you.
}
m_NextMessage = Core.Now + TimeSpan.FromSeconds(25.0);
Components[0].SendLocalizedMessageTo(m, 1010061); // An overwhelming sense of peace fills you.
}
m_NextMessage = Core.Now + TimeSpan.FromSeconds(25.0);
}
}
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();
}
}
public class RejuvinationAnkhWest : BaseRejuvinationAnkh
[Serializable(0, false)]
public partial class RejuvinationAnkhWest : BaseRejuvinationAnkh
{
[Constructible]
public RejuvinationAnkhWest()
@ -125,27 +88,10 @@ namespace Server.Items
AddComponent(new RejuvinationAddonComponent(0x3), 0, 0, 0);
AddComponent(new RejuvinationAddonComponent(0x2), 0, 1, 0);
}
public RejuvinationAnkhWest(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();
}
}
public class RejuvinationAnkhNorth : BaseRejuvinationAnkh
[Serializable(0, false)]
public partial class RejuvinationAnkhNorth : BaseRejuvinationAnkh
{
[Constructible]
public RejuvinationAnkhNorth()
@ -153,23 +99,5 @@ namespace Server.Items
AddComponent(new RejuvinationAddonComponent(0x4), 0, 0, 0);
AddComponent(new RejuvinationAddonComponent(0x5), 1, 0, 0);
}
public RejuvinationAnkhNorth(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();
}
}
}

View file

@ -3,10 +3,15 @@ using Server.Mobiles;
namespace Server.Items
{
public class SHTeleComponent : AddonComponent
[Serializable(0, false)]
public partial class SHTeleComponent : AddonComponent
{
private bool m_Active;
private SHTeleComponent m_TeleDest;
private bool _active;
private SHTeleComponent _teleDest;
[SerializableField(2)]
[SerializableFieldAttr("[CommandProperty(AccessLevel.GameMaster)]")]
private Point3D _teleOffset;
[Constructible]
public SHTeleComponent(int itemID = 0x1775) : this(itemID, new Point3D(0, 0, 0))
@ -19,21 +24,22 @@ namespace Server.Items
Movable = false;
Hue = 1;
m_Active = true;
_active = true;
TeleOffset = offset;
}
public SHTeleComponent(Serial serial) : base(serial)
{
}
[SerializableField(0)]
[CommandProperty(AccessLevel.GameMaster)]
public bool Active
{
get => m_Active;
get => _active;
set
{
m_Active = value;
if (value != _active)
{
_active = value;
this.MarkDirty();
}
if (Addon is SHTeleporter sourceAddon)
{
@ -42,23 +48,18 @@ namespace Server.Items
}
}
[CommandProperty(AccessLevel.GameMaster)]
public Point3D TeleOffset { get; set; }
[CommandProperty(AccessLevel.GameMaster)]
public Point3D TelePoint
{
get => new(Location.X + TeleOffset.X, Location.Y + TeleOffset.Y, Location.Z + TeleOffset.Z);
set => TeleOffset = new Point3D(value.X - Location.X, value.Y - Location.Y, value.Z - Location.Z);
}
[SerializableField(1)]
[CommandProperty(AccessLevel.GameMaster)]
public SHTeleComponent TeleDest
{
get => m_TeleDest;
get => _teleDest;
set
{
m_TeleDest = value;
if (value != _teleDest)
{
_teleDest = value;
this.MarkDirty();
}
if (Addon is SHTeleporter sourceAddon)
{
@ -67,19 +68,26 @@ namespace Server.Items
}
}
[CommandProperty(AccessLevel.GameMaster)]
public Point3D TelePoint
{
get => new(Location.X + TeleOffset.X, Location.Y + TeleOffset.Y, Location.Z + TeleOffset.Z);
set => TeleOffset = new Point3D(value.X - Location.X, value.Y - Location.Y, value.Z - Location.Z);
}
public override string DefaultName => "a hole";
public override void OnDoubleClick(Mobile m)
{
if (!m_Active || m_TeleDest?.Deleted != false || m_TeleDest.Map == Map.Internal)
if (!_active || _teleDest?.Deleted != false || _teleDest.Map == Map.Internal)
{
return;
}
if (m.InRange(this, 3))
{
var map = m_TeleDest.Map;
var p = m_TeleDest.TelePoint;
var map = _teleDest.Map;
var p = _teleDest.TelePoint;
BaseCreature.TeleportPets(m, p, map);
@ -95,39 +103,37 @@ namespace Server.Items
{
OnDoubleClick(m);
}
public override void Serialize(IGenericWriter writer)
{
base.Serialize(writer);
writer.Write(0); // version
writer.Write(m_Active);
writer.Write(m_TeleDest);
writer.Write(TeleOffset);
}
public override void Deserialize(IGenericReader reader)
{
base.Deserialize(reader);
var version = reader.ReadInt();
m_Active = reader.ReadBool();
m_TeleDest = reader.ReadEntity<SHTeleComponent>();
TeleOffset = reader.ReadPoint3D();
}
}
public class SHTeleporter : BaseAddon
[Serializable(0, false)]
public partial class SHTeleporter : BaseAddon
{
private bool m_Changing;
[SerializableField(0, setter: "private")]
[SerializableFieldAttr("[CommandProperty(AccessLevel.GameMaster)]")]
private bool _external;
[SerializableField(1, setter: "private")]
[SerializableFieldAttr("[CommandProperty(AccessLevel.GameMaster)]")]
private SHTeleComponent _upTele;
[SerializableField(2, setter: "private")]
[SerializableFieldAttr("[CommandProperty(AccessLevel.GameMaster)]")]
private SHTeleComponent _rightTele;
[SerializableField(3, setter: "private")]
[SerializableFieldAttr("[CommandProperty(AccessLevel.GameMaster)]")]
private SHTeleComponent _downTele;
[SerializableField(4, setter: "private")]
[SerializableFieldAttr("[CommandProperty(AccessLevel.GameMaster)]")]
private SHTeleComponent _leftTele;
[Constructible]
public SHTeleporter(bool external = true)
{
m_Changing = false;
External = external;
_external = external;
if (external)
{
@ -166,19 +172,6 @@ namespace Server.Items
AddComponent(LeftTele, 0, 1, 0);
}
public SHTeleporter(Serial serial) : base(serial) => m_Changing = false;
[CommandProperty(AccessLevel.GameMaster)]
public bool External { get; private set; }
public SHTeleComponent UpTele { get; private set; }
public SHTeleComponent RightTele { get; private set; }
public SHTeleComponent DownTele { get; private set; }
public SHTeleComponent LeftTele { get; private set; }
public override bool ShareHue => false;
public static void Initialize()
@ -279,34 +272,6 @@ namespace Server.Items
m_Changing = false;
}
public override void Serialize(IGenericWriter writer)
{
base.Serialize(writer);
writer.Write(0); // version
writer.Write(External);
writer.Write(UpTele);
writer.Write(RightTele);
writer.Write(DownTele);
writer.Write(LeftTele);
}
public override void Deserialize(IGenericReader reader)
{
base.Deserialize(reader);
var version = reader.ReadInt();
External = reader.ReadBool();
UpTele = (SHTeleComponent)reader.ReadEntity<Item>();
RightTele = (SHTeleComponent)reader.ReadEntity<Item>();
DownTele = (SHTeleComponent)reader.ReadEntity<Item>();
LeftTele = (SHTeleComponent)reader.ReadEntity<Item>();
}
public class SHTeleporterCreator
{
private int m_Count;

View file

@ -1,6 +1,7 @@
namespace Server.Items
{
public class SandstoneFireplaceEastAddon : BaseAddon
[Serializable(0, false)]
public partial class SandstoneFireplaceEastAddon : BaseAddon
{
[Constructible]
public SandstoneFireplaceEastAddon()
@ -9,53 +10,18 @@ namespace Server.Items
AddComponent(new AddonComponent(0x475), 0, 1, 0);
}
public SandstoneFireplaceEastAddon(Serial serial) : base(serial)
{
}
public override BaseAddonDeed Deed => new SandstoneFireplaceEastDeed();
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 SandstoneFireplaceEastDeed : BaseAddonDeed
[Serializable(0, false)]
public partial class SandstoneFireplaceEastDeed : BaseAddonDeed
{
[Constructible]
public SandstoneFireplaceEastDeed()
{
}
public SandstoneFireplaceEastDeed(Serial serial) : base(serial)
{
}
public override BaseAddon Addon => new SandstoneFireplaceEastAddon();
public override int LabelNumber => 1061844; // sandstone fireplace (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();
}
}
}

View file

@ -1,6 +1,7 @@
namespace Server.Items
{
public class SandstoneFireplaceSouthAddon : BaseAddon
[Serializable(0, false)]
public partial class SandstoneFireplaceSouthAddon : BaseAddon
{
[Constructible]
public SandstoneFireplaceSouthAddon()
@ -9,53 +10,18 @@ namespace Server.Items
AddComponent(new AddonComponent(0x47B), 0, 0, 0);
}
public SandstoneFireplaceSouthAddon(Serial serial) : base(serial)
{
}
public override BaseAddonDeed Deed => new SandstoneFireplaceSouthDeed();
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 SandstoneFireplaceSouthDeed : BaseAddonDeed
[Serializable(0, false)]
public partial class SandstoneFireplaceSouthDeed : BaseAddonDeed
{
[Constructible]
public SandstoneFireplaceSouthDeed()
{
}
public SandstoneFireplaceSouthDeed(Serial serial) : base(serial)
{
}
public override BaseAddon Addon => new SandstoneFireplaceSouthAddon();
public override int LabelNumber => 1061845; // sandstone fireplace (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();
}
}
}

View file

@ -1,6 +1,7 @@
namespace Server.Items
{
public class SandstoneFountainAddon : BaseAddon
[Serializable(0, false)]
public partial class SandstoneFountainAddon : BaseAddon
{
[Constructible]
public SandstoneFountainAddon()
@ -29,23 +30,5 @@ namespace Server.Items
AddComponent(new AddonComponent(itemID++), -1, -2, 0);
AddComponent(new AddonComponent(++itemID), -2, -2, 0);
}
public SandstoneFountainAddon(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

@ -1,6 +1,7 @@
namespace Server.Items
{
public class SerpentPillarAddon : BaseAddon
[Serializable(0, false)]
public partial class SerpentPillarAddon : BaseAddon
{
[Constructible]
public SerpentPillarAddon()
@ -24,24 +25,5 @@ namespace Server.Items
AddComponent(new AddonComponent(9033), +1, +0, 0);
AddComponent(new AddonComponent(9034), +1, -1, 0);
}
public SerpentPillarAddon(Serial serial)
: base(serial)
{
}
public override void Serialize(IGenericWriter writer)
{
base.Serialize(writer);
writer.Write((byte)0); // version
}
public override void Deserialize(IGenericReader reader)
{
base.Deserialize(reader);
int version = reader.ReadByte();
}
}
}

View file

@ -2,7 +2,8 @@ using Server.Engines.Craft;
namespace Server.Items
{
public class ShrineOfWisdomAddon : BaseAddon
[Serializable(0, false)]
public partial class ShrineOfWisdomAddon : BaseAddon
{
[Constructible]
public ShrineOfWisdomAddon()
@ -13,52 +14,17 @@ namespace Server.Items
AddComponent(new ShrineOfWisdomComponent(0x14D5), 1, 1, 0);
Hue = 0x47E;
}
public ShrineOfWisdomAddon(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 ShrineOfWisdomComponent : AddonComponent
[Serializable(0, false)]
public partial class ShrineOfWisdomComponent : AddonComponent
{
[Constructible]
public ShrineOfWisdomComponent(int itemID) : base(itemID)
{
}
public ShrineOfWisdomComponent(Serial serial) : base(serial)
{
}
public override int LabelNumber => 1062046; // Shrine of Wisdom
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

@ -1,6 +1,7 @@
namespace Server.Items
{
public class SkullPileAddon : BaseAddon
[Serializable(0)]
public partial class SkullPileAddon : BaseAddon
{
[Constructible]
public SkullPileAddon()
@ -14,24 +15,5 @@ namespace Server.Items
AddComponent(new AddonComponent(6878), 2, -1, 0);
AddComponent(new AddonComponent(6879), 2, 0, 0);
}
public SkullPileAddon(Serial serial)
: base(serial)
{
}
public override void Serialize(IGenericWriter writer)
{
base.Serialize(writer);
writer.Write((byte)0); // version
}
public override void Deserialize(IGenericReader reader)
{
base.Deserialize(reader);
int version = reader.ReadByte();
}
}
}

View file

@ -1,6 +1,7 @@
namespace Server.Items
{
public class SmallBedEastAddon : BaseAddon
[Serializable(0, false)]
public partial class SmallBedEastAddon : BaseAddon
{
[Constructible]
public SmallBedEastAddon()
@ -9,53 +10,18 @@ namespace Server.Items
AddComponent(new AddonComponent(0xA62), 1, 0, 0);
}
public SmallBedEastAddon(Serial serial) : base(serial)
{
}
public override BaseAddonDeed Deed => new SmallBedEastDeed();
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 SmallBedEastDeed : BaseAddonDeed
[Serializable(0, false)]
public partial class SmallBedEastDeed : BaseAddonDeed
{
[Constructible]
public SmallBedEastDeed()
{
}
public SmallBedEastDeed(Serial serial) : base(serial)
{
}
public override BaseAddon Addon => new SmallBedEastAddon();
public override int LabelNumber => 1044322; // small bed (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();
}
}
}

View file

@ -1,6 +1,7 @@
namespace Server.Items
{
public class SmallBedSouthAddon : BaseAddon
[Serializable(0, false)]
public partial class SmallBedSouthAddon : BaseAddon
{
[Constructible]
public SmallBedSouthAddon()
@ -9,53 +10,18 @@ namespace Server.Items
AddComponent(new AddonComponent(0xA5C), 0, 1, 0);
}
public SmallBedSouthAddon(Serial serial) : base(serial)
{
}
public override BaseAddonDeed Deed => new SmallBedSouthDeed();
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 SmallBedSouthDeed : BaseAddonDeed
[Serializable(0, false)]
public partial class SmallBedSouthDeed : BaseAddonDeed
{
[Constructible]
public SmallBedSouthDeed()
{
}
public SmallBedSouthDeed(Serial serial) : base(serial)
{
}
public override BaseAddon Addon => new SmallBedSouthAddon();
public override int LabelNumber => 1044321; // small bed (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();
}
}
}

View file

@ -1,6 +1,7 @@
namespace Server.Items
{
public class SmallForgeAddon : BaseAddon
[Serializable(0, false)]
public partial class SmallForgeAddon : BaseAddon
{
[Constructible]
public SmallForgeAddon()
@ -8,53 +9,18 @@ namespace Server.Items
AddComponent(new ForgeComponent(0xFB1), 0, 0, 0);
}
public SmallForgeAddon(Serial serial) : base(serial)
{
}
public override BaseAddonDeed Deed => new SmallForgeDeed();
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 SmallForgeDeed : BaseAddonDeed
[Serializable(0, false)]
public partial class SmallForgeDeed : BaseAddonDeed
{
[Constructible]
public SmallForgeDeed()
{
}
public SmallForgeDeed(Serial serial) : base(serial)
{
}
public override BaseAddon Addon => new SmallForgeAddon();
public override int LabelNumber => 1044330; // small forge
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

@ -1,20 +1,18 @@
using System.Collections.Generic;
using Server.Commands;
using Server.Mobiles;
using Server.Network;
using Server.Spells;
namespace Server.Items
{
public class SolenAntHoleComponent : AddonComponent
[Serializable(0)]
public partial class SolenAntHoleComponent : AddonComponent
{
public SolenAntHoleComponent(int itemID) : base(itemID)
{
}
public SolenAntHoleComponent(Serial serial) : base(serial)
{
}
public override void OnDoubleClick(Mobile from)
{
if (from.InRange(this, 2))
@ -37,30 +35,18 @@ namespace Server.Items
from.LocalOverheadMessage(MessageType.Regular, 0x3B2, 1019045); // I can't reach that.
}
}
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 SolenAntHole : BaseAddon
[Serializable(0)]
public partial class SolenAntHole : BaseAddon
{
private List<Mobile> m_Spawned;
[SerializableField(0, getter: "private", setter: "private")]
private List<Mobile> _spawned;
[Constructible]
public SolenAntHole()
{
m_Spawned = new List<Mobile>();
_spawned = new List<Mobile>();
AddComponent(new AddonComponent(0x914), "dirt", 0, 0, 0, 0);
AddComponent(new SolenAntHoleComponent(0x122A), "a hole", 0x1, 0, 0, 0);
@ -74,10 +60,6 @@ namespace Server.Items
AddComponent(new AddonComponent(0xED3), "dirt", 0, 0, 1, 0);
}
public SolenAntHole(Serial serial) : base(serial)
{
}
public override bool ShareHue => false;
public override bool HandlesOnMovement => true;
@ -142,7 +124,7 @@ namespace Server.Items
public void SpawnAnt(BaseCreature ant)
{
m_Spawned.Add(ant);
this.Add(_spawned, ant);
var map = Map;
var p = Location;
@ -162,33 +144,15 @@ namespace Server.Items
public bool SpawnKilled()
{
for (var i = m_Spawned.Count - 1; i >= 0; i--)
for (var i = _spawned.Count - 1; i >= 0; i--)
{
if (!m_Spawned[i].Alive || m_Spawned[i].Deleted)
if (!_spawned[i].Alive || _spawned[i].Deleted)
{
m_Spawned.RemoveAt(i);
this.RemoveAt(_spawned, i);
}
}
return m_Spawned.Count < 2;
}
public override void Serialize(IGenericWriter writer)
{
base.Serialize(writer);
writer.WriteEncodedInt(0); // version
writer.Write(m_Spawned);
}
public override void Deserialize(IGenericReader reader)
{
base.Deserialize(reader);
var version = reader.ReadEncodedInt();
m_Spawned = reader.ReadEntityList<Mobile>();
return _spawned.Count < 2;
}
}
}

View file

@ -10,7 +10,8 @@ namespace Server.Items
void BeginSpin(SpinCallback callback, Mobile from, int hue);
}
public class SpinningwheelEastAddon : BaseAddon, ISpinningWheel
[Serializable(0, false)]
public partial class SpinningwheelEastAddon : BaseAddon, ISpinningWheel
{
private Timer m_Timer;
@ -20,10 +21,6 @@ namespace Server.Items
AddComponent(new AddonComponent(0x1019), 0, 0, 0);
}
public SpinningwheelEastAddon(Serial serial) : base(serial)
{
}
public override BaseAddonDeed Deed => new SpinningwheelEastDeed();
public bool Spinning => m_Timer != null;
@ -47,20 +44,6 @@ namespace Server.Items
}
}
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 override void OnComponentLoaded(AddonComponent c)
{
switch (c.ItemID)
@ -120,32 +103,15 @@ namespace Server.Items
}
}
public class SpinningwheelEastDeed : BaseAddonDeed
[Serializable(0, false)]
public partial class SpinningwheelEastDeed : BaseAddonDeed
{
[Constructible]
public SpinningwheelEastDeed()
{
}
public SpinningwheelEastDeed(Serial serial) : base(serial)
{
}
public override BaseAddon Addon => new SpinningwheelEastAddon();
public override int LabelNumber => 1044341; // spining wheel (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();
}
}
}

View file

@ -2,7 +2,8 @@ using System;
namespace Server.Items
{
public class SpinningwheelSouthAddon : BaseAddon, ISpinningWheel
[Serializable(0, false)]
public partial class SpinningwheelSouthAddon : BaseAddon, ISpinningWheel
{
private Timer m_Timer;
@ -12,10 +13,6 @@ namespace Server.Items
AddComponent(new AddonComponent(0x1015), 0, 0, 0);
}
public SpinningwheelSouthAddon(Serial serial) : base(serial)
{
}
public override BaseAddonDeed Deed => new SpinningwheelSouthDeed();
public bool Spinning => m_Timer != null;
@ -39,20 +36,6 @@ namespace Server.Items
}
}
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 override void OnComponentLoaded(AddonComponent c)
{
switch (c.ItemID)
@ -112,32 +95,15 @@ namespace Server.Items
}
}
public class SpinningwheelSouthDeed : BaseAddonDeed
[Serializable(0, false)]
public partial class SpinningwheelSouthDeed : BaseAddonDeed
{
[Constructible]
public SpinningwheelSouthDeed()
{
}
public SpinningwheelSouthDeed(Serial serial) : base(serial)
{
}
public override BaseAddon Addon => new SpinningwheelSouthAddon();
public override int LabelNumber => 1044342; // spining wheel (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();
}
}
}

View file

@ -1,6 +1,7 @@
namespace Server.Items
{
public class SquirrelStatueEastAddon : BaseAddon
[Serializable(0)]
public partial class SquirrelStatueEastAddon : BaseAddon
{
[Constructible]
public SquirrelStatueEastAddon()
@ -8,53 +9,18 @@ namespace Server.Items
AddComponent(new AddonComponent(0x2D10), 0, 0, 0);
}
public SquirrelStatueEastAddon(Serial serial) : base(serial)
{
}
public override BaseAddonDeed Deed => new SquirrelStatueEastDeed();
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 SquirrelStatueEastDeed : BaseAddonDeed
[Serializable(0)]
public partial class SquirrelStatueEastDeed : BaseAddonDeed
{
[Constructible]
public SquirrelStatueEastDeed()
{
}
public SquirrelStatueEastDeed(Serial serial) : base(serial)
{
}
public override BaseAddon Addon => new SquirrelStatueEastAddon();
public override int LabelNumber => 1073398; // squirrel 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();
}
}
}

View file

@ -1,6 +1,7 @@
namespace Server.Items
{
public class SquirrelStatueSouthAddon : BaseAddon
[Serializable(0)]
public partial class SquirrelStatueSouthAddon : BaseAddon
{
[Constructible]
public SquirrelStatueSouthAddon()
@ -8,25 +9,7 @@ namespace Server.Items
AddComponent(new AddonComponent(0x2D11), 0, 0, 0);
}
public SquirrelStatueSouthAddon(Serial serial) : base(serial)
{
}
public override BaseAddonDeed Deed => new SquirrelStatueSouthDeed();
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 SquirrelStatueSouthDeed : BaseAddonDeed
@ -36,25 +19,7 @@ namespace Server.Items
{
}
public SquirrelStatueSouthDeed(Serial serial) : base(serial)
{
}
public override BaseAddon Addon => new SquirrelStatueSouthAddon();
public override int LabelNumber => 1072884; // squirrel 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();
}
}
}

View file

@ -1,6 +1,7 @@
namespace Server.Items
{
public class StoneFireplaceEastAddon : BaseAddon
[Serializable(0, false)]
public partial class StoneFireplaceEastAddon : BaseAddon
{
[Constructible]
public StoneFireplaceEastAddon()
@ -9,53 +10,18 @@ namespace Server.Items
AddComponent(new AddonComponent(0x953), 0, 1, 0);
}
public StoneFireplaceEastAddon(Serial serial) : base(serial)
{
}
public override BaseAddonDeed Deed => new StoneFireplaceEastDeed();
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 StoneFireplaceEastDeed : BaseAddonDeed
[Serializable(0, false)]
public partial class StoneFireplaceEastDeed : BaseAddonDeed
{
[Constructible]
public StoneFireplaceEastDeed()
{
}
public StoneFireplaceEastDeed(Serial serial) : base(serial)
{
}
public override BaseAddon Addon => new StoneFireplaceEastAddon();
public override int LabelNumber => 1061848; // stone fireplace (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();
}
}
}

View file

@ -1,6 +1,7 @@
namespace Server.Items
{
public class StoneFireplaceSouthAddon : BaseAddon
[Serializable(0, false)]
public partial class StoneFireplaceSouthAddon : BaseAddon
{
[Constructible]
public StoneFireplaceSouthAddon()
@ -9,53 +10,18 @@ namespace Server.Items
AddComponent(new AddonComponent(0x961), 0, 0, 0);
}
public StoneFireplaceSouthAddon(Serial serial) : base(serial)
{
}
public override BaseAddonDeed Deed => new StoneFireplaceSouthDeed();
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 StoneFireplaceSouthDeed : BaseAddonDeed
[Serializable(0, false)]
public partial class StoneFireplaceSouthDeed : BaseAddonDeed
{
[Constructible]
public StoneFireplaceSouthDeed()
{
}
public StoneFireplaceSouthDeed(Serial serial) : base(serial)
{
}
public override BaseAddon Addon => new StoneFireplaceSouthAddon();
public override int LabelNumber => 1061849; // stone fireplace (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();
}
}
}

View file

@ -1,6 +1,7 @@
namespace Server.Items
{
public class StoneFountainAddon : BaseAddon
[Serializable(0, false)]
public partial class StoneFountainAddon : BaseAddon
{
[Constructible]
public StoneFountainAddon()
@ -29,23 +30,5 @@ namespace Server.Items
AddComponent(new AddonComponent(itemID++), -1, -2, 0);
AddComponent(new AddonComponent(++itemID), -2, -2, 0);
}
public StoneFountainAddon(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

@ -1,6 +1,7 @@
namespace Server.Items
{
public class StoneOvenEastAddon : BaseAddon
[Serializable(0, false)]
public partial class StoneOvenEastAddon : BaseAddon
{
[Constructible]
public StoneOvenEastAddon()
@ -9,53 +10,18 @@ namespace Server.Items
AddComponent(new AddonComponent(0x92B), 0, 1, 0);
}
public StoneOvenEastAddon(Serial serial) : base(serial)
{
}
public override BaseAddonDeed Deed => new StoneOvenEastDeed();
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 StoneOvenEastDeed : BaseAddonDeed
[Serializable(0, false)]
public partial class StoneOvenEastDeed : BaseAddonDeed
{
[Constructible]
public StoneOvenEastDeed()
{
}
public StoneOvenEastDeed(Serial serial) : base(serial)
{
}
public override BaseAddon Addon => new StoneOvenEastAddon();
public override int LabelNumber => 1044345; // stone oven (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();
}
}
}

View file

@ -1,6 +1,7 @@
namespace Server.Items
{
public class StoneOvenSouthAddon : BaseAddon
[Serializable(0, false)]
public partial class StoneOvenSouthAddon : BaseAddon
{
[Constructible]
public StoneOvenSouthAddon()
@ -9,53 +10,18 @@ namespace Server.Items
AddComponent(new AddonComponent(0x930), 0, 0, 0);
}
public StoneOvenSouthAddon(Serial serial) : base(serial)
{
}
public override BaseAddonDeed Deed => new StoneOvenSouthDeed();
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 StoneOvenSouthDeed : BaseAddonDeed
[Serializable(0, false)]
public partial class StoneOvenSouthDeed : BaseAddonDeed
{
[Constructible]
public StoneOvenSouthDeed()
{
}
public StoneOvenSouthDeed(Serial serial) : base(serial)
{
}
public override BaseAddon Addon => new StoneOvenSouthAddon();
public override int LabelNumber => 1044346; // stone oven (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();
}
}
}

View file

@ -1,6 +1,7 @@
namespace Server.Items
{
public class SmallStretchedHideEastAddon : BaseAddon
[Serializable(0, false)]
public partial class SmallStretchedHideEastAddon : BaseAddon
{
[Constructible]
public SmallStretchedHideEastAddon()
@ -8,57 +9,23 @@ namespace Server.Items
AddComponent(new AddonComponent(0x1069), 0, 0, 0);
}
public SmallStretchedHideEastAddon(Serial serial) : base(serial)
{
}
public override BaseAddonDeed Deed => new SmallStretchedHideEastDeed();
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 SmallStretchedHideEastDeed : BaseAddonDeed
[Serializable(0, false)]
public partial class SmallStretchedHideEastDeed : BaseAddonDeed
{
[Constructible]
public SmallStretchedHideEastDeed()
{
}
public SmallStretchedHideEastDeed(Serial serial) : base(serial)
{
}
public override BaseAddon Addon => new SmallStretchedHideEastAddon();
public override int LabelNumber => 1049401; // a small stretched hide deed facing 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();
}
}
public class SmallStretchedHideSouthAddon : BaseAddon
[Serializable(0, false)]
public partial class SmallStretchedHideSouthAddon : BaseAddon
{
[Constructible]
public SmallStretchedHideSouthAddon()
@ -66,57 +33,23 @@ namespace Server.Items
AddComponent(new AddonComponent(0x107A), 0, 0, 0);
}
public SmallStretchedHideSouthAddon(Serial serial) : base(serial)
{
}
public override BaseAddonDeed Deed => new SmallStretchedHideSouthDeed();
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 SmallStretchedHideSouthDeed : BaseAddonDeed
[Serializable(0, false)]
public partial class SmallStretchedHideSouthDeed : BaseAddonDeed
{
[Constructible]
public SmallStretchedHideSouthDeed()
{
}
public SmallStretchedHideSouthDeed(Serial serial) : base(serial)
{
}
public override BaseAddon Addon => new SmallStretchedHideSouthAddon();
public override int LabelNumber => 1049402; // a small stretched hide deed facing 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();
}
}
public class MediumStretchedHideEastAddon : BaseAddon
[Serializable(0, false)]
public partial class MediumStretchedHideEastAddon : BaseAddon
{
[Constructible]
public MediumStretchedHideEastAddon()
@ -124,57 +57,23 @@ namespace Server.Items
AddComponent(new AddonComponent(0x106B), 0, 0, 0);
}
public MediumStretchedHideEastAddon(Serial serial) : base(serial)
{
}
public override BaseAddonDeed Deed => new MediumStretchedHideEastDeed();
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 MediumStretchedHideEastDeed : BaseAddonDeed
[Serializable(0, false)]
public partial class MediumStretchedHideEastDeed : BaseAddonDeed
{
[Constructible]
public MediumStretchedHideEastDeed()
{
}
public MediumStretchedHideEastDeed(Serial serial) : base(serial)
{
}
public override BaseAddon Addon => new MediumStretchedHideEastAddon();
public override int LabelNumber => 1049403; // a medium stretched hide deed facing 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();
}
}
public class MediumStretchedHideSouthAddon : BaseAddon
[Serializable(0, false)]
public partial class MediumStretchedHideSouthAddon : BaseAddon
{
[Constructible]
public MediumStretchedHideSouthAddon()
@ -182,53 +81,18 @@ namespace Server.Items
AddComponent(new AddonComponent(0x107C), 0, 0, 0);
}
public MediumStretchedHideSouthAddon(Serial serial) : base(serial)
{
}
public override BaseAddonDeed Deed => new MediumStretchedHideSouthDeed();
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 MediumStretchedHideSouthDeed : BaseAddonDeed
[Serializable(0, false)]
public partial class MediumStretchedHideSouthDeed : BaseAddonDeed
{
[Constructible]
public MediumStretchedHideSouthDeed()
{
}
public MediumStretchedHideSouthDeed(Serial serial) : base(serial)
{
}
public override BaseAddon Addon => new MediumStretchedHideSouthAddon();
public override int LabelNumber => 1049404; // a medium stretched hide deed facing 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();
}
}
}

View file

@ -1,6 +1,7 @@
namespace Server.Items
{
public class TallElvenBedEastAddon : BaseAddon
[Serializable(0)]
public partial class TallElvenBedEastAddon : BaseAddon
{
[Constructible]
public TallElvenBedEastAddon()
@ -11,53 +12,18 @@ namespace Server.Items
AddComponent(new AddonComponent(0x3052), 2, 0, 0);
}
public TallElvenBedEastAddon(Serial serial) : base(serial)
{
}
public override BaseAddonDeed Deed => new TallElvenBedEastDeed();
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 TallElvenBedEastDeed : BaseAddonDeed
[Serializable(0)]
public partial class TallElvenBedEastDeed : BaseAddonDeed
{
[Constructible]
public TallElvenBedEastDeed()
{
}
public TallElvenBedEastDeed(Serial serial) : base(serial)
{
}
public override BaseAddon Addon => new TallElvenBedEastAddon();
public override int LabelNumber => 1072859; // tall elven bed (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();
}
}
}

View file

@ -1,6 +1,7 @@
namespace Server.Items
{
public class TallElvenBedSouthAddon : BaseAddon
[Serializable(0)]
public partial class TallElvenBedSouthAddon : BaseAddon
{
[Constructible]
public TallElvenBedSouthAddon()
@ -11,53 +12,18 @@ namespace Server.Items
AddComponent(new AddonComponent(0x3056), 0, 1, 0); // angolo basso dx
}
public TallElvenBedSouthAddon(Serial serial) : base(serial)
{
}
public override BaseAddonDeed Deed => new TallElvenBedSouthDeed();
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 TallElvenBedSouthDeed : BaseAddonDeed
[Serializable(0)]
public partial class TallElvenBedSouthDeed : BaseAddonDeed
{
[Constructible]
public TallElvenBedSouthDeed()
{
}
public TallElvenBedSouthDeed(Serial serial) : base(serial)
{
}
public override BaseAddon Addon => new TallElvenBedSouthAddon();
public override int LabelNumber => 1072858; // tall elven bed (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();
}
}
}

View file

@ -1,6 +1,7 @@
namespace Server.Items
{
public class Telescope : BaseAddon
[Serializable(0, false)]
public partial class Telescope : BaseAddon
{
[Constructible]
public Telescope()
@ -81,23 +82,5 @@ namespace Server.Items
AddComponent(new AddonComponent(0x1471), 10, 5, 0);
AddComponent(new AddonComponent(0x1472), 10, 6, 0);
}
public Telescope(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

@ -2,11 +2,20 @@ using System;
namespace Server.Items
{
[Serializable(0, false)]
[Flippable(0x1070, 0x1074)]
public class TrainingDummy : AddonComponent
public partial class TrainingDummy : AddonComponent
{
private Timer m_Timer;
[SerializableField(0)]
[SerializableFieldAttr("[CommandProperty(AccessLevel.GameMaster)]")]
private double _minSkill;
[SerializableField(1)]
[SerializableFieldAttr("[CommandProperty(AccessLevel.GameMaster)]")]
private double _maxSkill;
[Constructible]
public TrainingDummy(int itemID = 0x1074) : base(itemID)
{
@ -14,16 +23,6 @@ namespace Server.Items
MaxSkill = +25.0;
}
public TrainingDummy(Serial serial) : base(serial)
{
}
[CommandProperty(AccessLevel.GameMaster)]
public double MinSkill { get; set; }
[CommandProperty(AccessLevel.GameMaster)]
public double MaxSkill { get; set; }
[CommandProperty(AccessLevel.GameMaster)]
public bool Swinging => m_Timer != null;
@ -100,39 +99,9 @@ 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);
}
public override void Deserialize(IGenericReader reader)
{
base.Deserialize(reader);
var version = reader.ReadInt();
switch (version)
{
case 0:
{
MinSkill = reader.ReadDouble();
MaxSkill = reader.ReadDouble();
if (MinSkill == 0.0 && MaxSkill == 30.0)
{
MinSkill = -25.0;
MaxSkill = +25.0;
}
break;
}
}
UpdateItemID();
}
@ -162,7 +131,8 @@ namespace Server.Items
}
}
public class TrainingDummyEastAddon : BaseAddon
[Serializable(0, false)]
public partial class TrainingDummyEastAddon : BaseAddon
{
[Constructible]
public TrainingDummyEastAddon()
@ -170,57 +140,23 @@ namespace Server.Items
AddComponent(new TrainingDummy(), 0, 0, 0);
}
public TrainingDummyEastAddon(Serial serial) : base(serial)
{
}
public override BaseAddonDeed Deed => new TrainingDummyEastDeed();
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 TrainingDummyEastDeed : BaseAddonDeed
[Serializable(0, false)]
public partial class TrainingDummyEastDeed : BaseAddonDeed
{
[Constructible]
public TrainingDummyEastDeed()
{
}
public TrainingDummyEastDeed(Serial serial) : base(serial)
{
}
public override BaseAddon Addon => new TrainingDummyEastAddon();
public override int LabelNumber => 1044335; // training dummy (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();
}
}
public class TrainingDummySouthAddon : BaseAddon
[Serializable(0, false)]
public partial class TrainingDummySouthAddon : BaseAddon
{
[Constructible]
public TrainingDummySouthAddon()
@ -228,53 +164,18 @@ namespace Server.Items
AddComponent(new TrainingDummy(0x1070), 0, 0, 0);
}
public TrainingDummySouthAddon(Serial serial) : base(serial)
{
}
public override BaseAddonDeed Deed => new TrainingDummySouthDeed();
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 TrainingDummySouthDeed : BaseAddonDeed
[Serializable(0, false)]
public partial class TrainingDummySouthDeed : BaseAddonDeed
{
[Constructible]
public TrainingDummySouthDeed()
{
}
public TrainingDummySouthDeed(Serial serial) : base(serial)
{
}
public override BaseAddon Addon => new TrainingDummySouthAddon();
public override int LabelNumber => 1044336; // training dummy (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();
}
}
}

View file

@ -1,6 +1,7 @@
namespace Server.Items
{
public class WarriorStatueEastAddon : BaseAddon
[Serializable(0)]
public partial class WarriorStatueEastAddon : BaseAddon
{
[Constructible]
public WarriorStatueEastAddon()
@ -8,53 +9,18 @@ namespace Server.Items
AddComponent(new AddonComponent(0x2D12), 0, 0, 0);
}
public WarriorStatueEastAddon(Serial serial) : base(serial)
{
}
public override BaseAddonDeed Deed => new WarriorStatueEastDeed();
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 WarriorStatueEastDeed : BaseAddonDeed
[Serializable(0)]
public partial class WarriorStatueEastDeed : BaseAddonDeed
{
[Constructible]
public WarriorStatueEastDeed()
{
}
public WarriorStatueEastDeed(Serial serial) : base(serial)
{
}
public override BaseAddon Addon => new WarriorStatueEastAddon();
public override int LabelNumber => 1072888; // warrior 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();
}
}
}

View file

@ -1,6 +1,7 @@
namespace Server.Items
{
public class WarriorStatueSouthAddon : BaseAddon
[Serializable(0)]
public partial class WarriorStatueSouthAddon : BaseAddon
{
[Constructible]
public WarriorStatueSouthAddon()
@ -8,53 +9,18 @@ namespace Server.Items
AddComponent(new AddonComponent(0x2D13), 0, 0, 0);
}
public WarriorStatueSouthAddon(Serial serial) : base(serial)
{
}
public override BaseAddonDeed Deed => new WarriorStatueSouthDeed();
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 WarriorStatueSouthDeed : BaseAddonDeed
[Serializable(0)]
public partial class WarriorStatueSouthDeed : BaseAddonDeed
{
[Constructible]
public WarriorStatueSouthDeed()
{
}
public WarriorStatueSouthDeed(Serial serial) : base(serial)
{
}
public override BaseAddon Addon => new WarriorStatueSouthAddon();
public override int LabelNumber => 1072887; // warrior 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();
}
}
}

View file

@ -1,6 +1,7 @@
namespace Server.Items
{
public class WaterTroughEastAddon : BaseAddon, IWaterSource
[Serializable(0, false)]
public partial class WaterTroughEastAddon : BaseAddon, IWaterSource
{
[Constructible]
public WaterTroughEastAddon()
@ -9,10 +10,6 @@ namespace Server.Items
AddComponent(new AddonComponent(0xB42), 0, 1, 0);
}
public WaterTroughEastAddon(Serial serial) : base(serial)
{
}
public override BaseAddonDeed Deed => new WaterTroughEastDeed();
int IHasQuantity.Quantity
@ -20,48 +17,17 @@ namespace Server.Items
get => 500;
set { }
}
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 WaterTroughEastDeed : BaseAddonDeed
[Serializable(0, false)]
public partial class WaterTroughEastDeed : BaseAddonDeed
{
[Constructible]
public WaterTroughEastDeed()
{
}
public WaterTroughEastDeed(Serial serial) : base(serial)
{
}
public override BaseAddon Addon => new WaterTroughEastAddon();
public override int LabelNumber => 1044349; // water trough (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();
}
}
}

View file

@ -1,6 +1,7 @@
namespace Server.Items
{
public class WaterTroughSouthAddon : BaseAddon, IWaterSource
[Serializable(0, false)]
public partial class WaterTroughSouthAddon : BaseAddon, IWaterSource
{
[Constructible]
public WaterTroughSouthAddon()
@ -9,10 +10,6 @@ namespace Server.Items
AddComponent(new AddonComponent(0xB44), 1, 0, 0);
}
public WaterTroughSouthAddon(Serial serial) : base(serial)
{
}
public override BaseAddonDeed Deed => new WaterTroughSouthDeed();
int IHasQuantity.Quantity
@ -20,48 +17,17 @@ namespace Server.Items
get => 500;
set { }
}
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 WaterTroughSouthDeed : BaseAddonDeed
[Serializable(0, false)]
public partial class WaterTroughSouthDeed : BaseAddonDeed
{
[Constructible]
public WaterTroughSouthDeed()
{
}
public WaterTroughSouthDeed(Serial serial) : base(serial)
{
}
public override BaseAddon Addon => new WaterTroughSouthAddon();
public override int LabelNumber => 1044350; // water trough (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();
}
}
}

View file

@ -1,6 +1,7 @@
namespace Server.Items
{
public class WaterVatEast : BaseAddon
[Serializable(0)]
public partial class WaterVatEast : BaseAddon
{
[Constructible]
public WaterVatEast()
@ -21,27 +22,10 @@ namespace Server.Items
AddComponent(new AddonComponent(0x21A4), -1, 2, 0);
AddComponent(new AddonComponent(0x21A4), 0, 3, 0);
}
public WaterVatEast(Serial serial) : base(serial)
{
}
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 WaterVatSouth : BaseAddon
[Serializable(0)]
public partial class WaterVatSouth : BaseAddon
{
[Constructible]
public WaterVatSouth()
@ -62,23 +46,5 @@ namespace Server.Items
AddComponent(new AddonComponent(0x21A4), -1, 2, 0);
AddComponent(new AddonComponent(0x21A4), 0, 3, 0);
}
public WaterVatSouth(Serial serial) : base(serial)
{
}
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();
}
}
}

View file

@ -0,0 +1,5 @@
{
"version": 0,
"type": "Server.Items.BaseAddonDeed",
"properties": []
}

View file

@ -0,0 +1,5 @@
{
"version": 0,
"type": "Server.Items.BaseRejuvinationAnkh",
"properties": []
}

View file

@ -0,0 +1,5 @@
{
"version": 0,
"type": "Server.Items.BloodPentagram",
"properties": []
}

View file

@ -0,0 +1,5 @@
{
"version": 0,
"type": "Server.Items.BrocadeGozaMatEastAddon",
"properties": []
}

View file

@ -0,0 +1,5 @@
{
"version": 0,
"type": "Server.Items.BrocadeGozaMatEastDeed",
"properties": []
}

View file

@ -0,0 +1,5 @@
{
"version": 0,
"type": "Server.Items.BrocadeGozaMatSouthAddon",
"properties": []
}

View file

@ -0,0 +1,5 @@
{
"version": 0,
"type": "Server.Items.BrocadeGozaMatSouthDeed",
"properties": []
}

View file

@ -0,0 +1,5 @@
{
"version": 0,
"type": "Server.Items.BrocadeSquareGozaMatEastAddon",
"properties": []
}

View file

@ -0,0 +1,5 @@
{
"version": 0,
"type": "Server.Items.BrocadeSquareGozaMatEastDeed",
"properties": []
}

View file

@ -0,0 +1,5 @@
{
"version": 0,
"type": "Server.Items.BrocadeSquareGozaMatSouthAddon",
"properties": []
}

View file

@ -0,0 +1,5 @@
{
"version": 0,
"type": "Server.Items.BrocadeSquareGozaMatSouthDeed",
"properties": []
}

View file

@ -0,0 +1,5 @@
{
"version": 0,
"type": "Server.Items.BrownBearRugEastAddon",
"properties": []
}

View file

@ -0,0 +1,5 @@
{
"version": 0,
"type": "Server.Items.BrownBearRugEastDeed",
"properties": []
}

View file

@ -0,0 +1,5 @@
{
"version": 0,
"type": "Server.Items.BrownBearRugSouthAddon",
"properties": []
}

View file

@ -0,0 +1,5 @@
{
"version": 0,
"type": "Server.Items.BrownBearRugSouthDeed",
"properties": []
}

View file

@ -0,0 +1,5 @@
{
"version": 0,
"type": "Server.Items.DarkFlowerTapestryEastAddon",
"properties": []
}

View file

@ -0,0 +1,5 @@
{
"version": 0,
"type": "Server.Items.DarkFlowerTapestryEastDeed",
"properties": []
}

View file

@ -0,0 +1,5 @@
{
"version": 0,
"type": "Server.Items.DarkFlowerTapestrySouthAddon",
"properties": []
}

View file

@ -0,0 +1,5 @@
{
"version": 0,
"type": "Server.Items.DarkFlowerTapestrySouthDeed",
"properties": []
}

View file

@ -0,0 +1,5 @@
{
"version": 0,
"type": "Server.Items.DartBoard",
"properties": []
}

View file

@ -0,0 +1,5 @@
{
"version": 0,
"type": "Server.Items.DartBoardEastAddon",
"properties": []
}

View file

@ -0,0 +1,5 @@
{
"version": 0,
"type": "Server.Items.DartBoardEastDeed",
"properties": []
}

View file

@ -0,0 +1,5 @@
{
"version": 0,
"type": "Server.Items.DartBoardSouthAddon",
"properties": []
}

Some files were not shown because too many files have changed in this diff Show more