ModernUO/Projects/UOContent/Items/Addons/JackOLantern.cs
Kamron Batman 4c265562bb
fix: Codgens more addons (#685)
* Fixes after deserialization not executing for older versions of an object
* Codegens more addons
2021-08-15 17:55:04 -07:00

55 lines
1.5 KiB
C#

namespace Server.Items
{
[Serializable(0)]
public partial class JackOLantern : BaseAddon
{
[Constructible]
public JackOLantern() : this(Utility.Random(2) < 1)
{
}
[Constructible]
public JackOLantern(bool south)
{
AddComponent(new AddonComponent(5703), 0, 0, +0);
const int hue = 1161;
if (!south)
{
AddComponent(GetComponent(3178, 0), 0, 0, -1);
AddComponent(GetComponent(3883, hue), 0, 0, +1);
AddComponent(GetComponent(3862, hue), 0, 0, +0);
}
else
{
AddComponent(GetComponent(3179, 0), 0, 0, +0);
AddComponent(GetComponent(3885, hue), 0, 0, -1);
AddComponent(GetComponent(3871, hue), 0, 0, +0);
}
}
public override bool ShareHue => false;
private static AddonComponent GetComponent(int itemID, int hue) =>
new(itemID)
{
Hue = hue,
Name = "jack-o-lantern"
};
private void Deserialize(IGenericReader reader, int version)
{
for (var i = 0; i < Components.Count; ++i)
{
var ac = Components[i];
ac.Name = "jack-o-lantern";
if (ac.Hue == 2118)
{
ac.Hue = 1161;
}
}
}
}
}