fix: Codegens torches, candles, and lanterns (#1078)

This commit is contained in:
Kamron Batman 2022-06-18 08:39:44 -07:00 committed by GitHub
parent 7a7637d2b5
commit 354f7e2f41
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
3 changed files with 71 additions and 136 deletions

View file

@ -1,37 +1,22 @@
using System;
using ModernUO.Serialization;
namespace Server.Items
namespace Server.Items;
[SerializationGenerator(0)]
public partial class Candle : BaseEquipableLight
{
public class Candle : BaseEquipableLight
[Constructible]
public Candle() : base(0xA28)
{
[Constructible]
public Candle() : base(0xA28)
{
Duration = Burnout ? TimeSpan.FromMinutes(20) : TimeSpan.Zero;
Burning = false;
Duration = Burnout ? TimeSpan.FromMinutes(20) : TimeSpan.Zero;
Burning = false;
Stackable = true;
Light = LightType.Circle150;
Weight = 1.0;
}
public Candle(Serial serial) : base(serial)
{
}
public override int LitItemID => 0xA0F;
public override int UnlitItemID => 0xA28;
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();
}
Stackable = true;
Light = LightType.Circle150;
Weight = 1.0;
}
public override int LitItemID => 0xA0F;
public override int UnlitItemID => 0xA28;
}

View file

@ -1,61 +1,31 @@
using System;
using ModernUO.Serialization;
namespace Server.Items
namespace Server.Items;
[SerializationGenerator(0)]
public partial class Lantern : BaseEquipableLight
{
public class Lantern : BaseEquipableLight
[Constructible]
public Lantern() : base(0xA25)
{
[Constructible]
public Lantern() : base(0xA25)
{
Duration = Burnout ? TimeSpan.FromMinutes(20) : TimeSpan.Zero;
Duration = Burnout ? TimeSpan.FromMinutes(20) : TimeSpan.Zero;
Burning = false;
Light = LightType.Circle300;
Weight = 2.0;
}
public Lantern(Serial serial) : base(serial)
{
}
public override int LitItemID => ItemID is 0xA15 or 0xA17 ? ItemID : 0xA22;
public override int UnlitItemID => ItemID == 0xA18 ? ItemID : 0xA25;
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();
}
Burning = false;
Light = LightType.Circle300;
Weight = 2.0;
}
public class LanternOfSouls : Lantern
{
[Constructible]
public LanternOfSouls() => Hue = 0x482;
public override int LitItemID => ItemID is 0xA15 or 0xA17 ? ItemID : 0xA22;
public LanternOfSouls(Serial serial) : base(serial)
{
}
public override int LabelNumber => 1061618; // Lantern of Souls
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 override int UnlitItemID => ItemID == 0xA18 ? ItemID : 0xA25;
}
[SerializationGenerator(0)]
public partial class LanternOfSouls : Lantern
{
[Constructible]
public LanternOfSouls() => Hue = 0x482;
public override int LabelNumber => 1061618; // Lantern of Souls
}

View file

@ -1,66 +1,46 @@
using System;
using ModernUO.Serialization;
using Server.Mobiles;
namespace Server.Items
namespace Server.Items;
[SerializationGenerator(0, false)]
public partial class Torch : BaseEquipableLight
{
public class Torch : BaseEquipableLight
[Constructible]
public Torch() : base(0xF6B)
{
[Constructible]
public Torch() : base(0xF6B)
{
Duration = Burnout ? TimeSpan.FromMinutes(30) : TimeSpan.Zero;
Burning = false;
Duration = Burnout ? TimeSpan.FromMinutes(30) : TimeSpan.Zero;
Burning = false;
Stackable = true;
Light = LightType.Circle300;
Weight = 1.0;
Stackable = true;
Light = LightType.Circle300;
Weight = 1.0;
}
public override int LitItemID => 0xA12;
public override int UnlitItemID => 0xF6B;
public override int LitSound => 0x54;
public override int UnlitSound => 0x4BB;
public override void OnAdded(IEntity parent)
{
base.OnAdded(parent);
if (parent is Mobile mobile && Burning)
{
MeerMage.StopEffect(mobile, true);
}
}
public Torch(Serial serial) : base(serial)
public override void Ignite()
{
base.Ignite();
if (Parent is Mobile mobile && Burning)
{
}
public override int LitItemID => 0xA12;
public override int UnlitItemID => 0xF6B;
public override int LitSound => 0x54;
public override int UnlitSound => 0x4BB;
public override void OnAdded(IEntity parent)
{
base.OnAdded(parent);
if (parent is Mobile mobile && Burning)
{
MeerMage.StopEffect(mobile, true);
}
}
public override void Ignite()
{
base.Ignite();
if (Parent is Mobile mobile && Burning)
{
MeerMage.StopEffect(mobile, true);
}
}
public override void Serialize(IGenericWriter writer)
{
base.Serialize(writer);
writer.Write(0);
}
public override void Deserialize(IGenericReader reader)
{
base.Deserialize(reader);
var version = reader.ReadInt();
if (Weight == 2.0)
{
Weight = 1.0;
}
MeerMage.StopEffect(mobile, true);
}
}
}