Overwrite

Complete Overwrite of the Folder with the free shard. ServUO 57.3 has been added.
This commit is contained in:
Unstable Kitsune
2023-11-28 23:20:26 -05:00
parent 3cd54811de
commit b918192e4e
11608 changed files with 2644205 additions and 47 deletions

View File

@@ -0,0 +1,65 @@
using System;
namespace Server.Items
{
public abstract class BaseEquipableLight : BaseLight
{
[Constructable]
public BaseEquipableLight(int itemID)
: base(itemID)
{
Layer = Layer.TwoHanded;
}
public BaseEquipableLight(Serial serial)
: base(serial)
{
}
public override void Ignite()
{
if (!(Parent is Mobile) && RootParent is Mobile)
{
Mobile holder = (Mobile)RootParent;
if (holder.EquipItem(this))
{
if (this is Candle)
holder.SendLocalizedMessage(502969); // You put the candle in your left hand.
else if (this is Torch)
holder.SendLocalizedMessage(502971); // You put the torch in your left hand.
base.Ignite();
}
else
{
holder.SendLocalizedMessage(502449); // You cannot hold this item.
}
}
else
{
base.Ignite();
}
}
public override void OnAdded(object parent)
{
if (Burning && parent is Container)
Douse();
base.OnAdded(parent);
}
public override void Serialize(GenericWriter writer)
{
base.Serialize(writer);
writer.Write((int)0);
}
public override void Deserialize(GenericReader reader)
{
base.Deserialize(reader);
int version = reader.ReadInt();
}
}
}

View File

@@ -0,0 +1,52 @@
using System;
namespace Server.Items
{
public class Candle : BaseEquipableLight
{
[Constructable]
public Candle()
: base(0xA28)
{
if (Burnout)
this.Duration = TimeSpan.FromMinutes(20);
else
this.Duration = TimeSpan.Zero;
this.Burning = false;
this.Light = LightType.Circle150;
this.Weight = 1.0;
}
public Candle(Serial serial)
: base(serial)
{
}
public override int LitItemID
{
get
{
return 0xA0F;
}
}
public override int UnlitItemID
{
get
{
return 0xA28;
}
}
public override void Serialize(GenericWriter writer)
{
base.Serialize(writer);
writer.Write((int)0);
}
public override void Deserialize(GenericReader reader)
{
base.Deserialize(reader);
int version = reader.ReadInt();
}
}
}

View File

@@ -0,0 +1,91 @@
using System;
namespace Server.Items
{
public class Lantern : BaseEquipableLight
{
[Constructable]
public Lantern()
: base(0xA25)
{
if (Burnout)
this.Duration = TimeSpan.FromMinutes(20);
else
this.Duration = TimeSpan.Zero;
this.Burning = false;
this.Light = LightType.Circle300;
this.Weight = 2.0;
}
public Lantern(Serial serial)
: base(serial)
{
}
public override int LitItemID
{
get
{
if (this.ItemID == 0xA15 || this.ItemID == 0xA17)
return this.ItemID;
return 0xA22;
}
}
public override int UnlitItemID
{
get
{
if (this.ItemID == 0xA18)
return this.ItemID;
return 0xA25;
}
}
public override void Serialize(GenericWriter writer)
{
base.Serialize(writer);
writer.Write((int)0);
}
public override void Deserialize(GenericReader reader)
{
base.Deserialize(reader);
int version = reader.ReadInt();
}
}
public class LanternOfSouls : Lantern
{
[Constructable]
public LanternOfSouls()
{
this.Hue = 0x482;
}
public LanternOfSouls(Serial serial)
: base(serial)
{
}
public override int LabelNumber
{
get
{
return 1061618;
}
}// Lantern of Souls
public override void Serialize(GenericWriter writer)
{
base.Serialize(writer);
writer.Write((int)0);
}
public override void Deserialize(GenericReader reader)
{
base.Deserialize(reader);
int version = reader.ReadInt();
}
}
}

View File

@@ -0,0 +1,66 @@
using System;
namespace Server.Items
{
public class Torch : BaseEquipableLight
{
public override int LitItemID { get { return 0xA12; } }
public override int UnlitItemID { get { return 0xF6B; } }
public override int LitSound { get { return 0x54; } }
public override int UnlitSound { get { return 0x4BB; } }
[Constructable]
public Torch()
: base(0xF6B)
{
if (Burnout)
Duration = TimeSpan.FromMinutes(30);
else
Duration = TimeSpan.Zero;
Burning = false;
Light = LightType.Circle300;
Weight = 1.0;
}
public Torch(Serial serial)
: base(serial)
{
}
public override void OnAdded(object parent)
{
base.OnAdded(parent);
if (parent is Mobile && Burning)
{
Mobiles.MeerMage.StopEffect((Mobile)parent, true);
SwarmContext.CheckRemove((Mobile)parent);
}
}
public override void Ignite()
{
base.Ignite();
if (Parent is Mobile && Burning)
{
Mobiles.MeerMage.StopEffect((Mobile)Parent, true);
SwarmContext.CheckRemove((Mobile)Parent);
}
}
public override void Serialize(GenericWriter writer)
{
base.Serialize(writer);
writer.Write((int)0);
}
public override void Deserialize(GenericReader reader)
{
base.Deserialize(reader);
int version = reader.ReadInt();
}
}
}

View File

@@ -0,0 +1,52 @@
using System;
namespace Server.Items
{
public class TwilightLantern : Lantern
{
[Constructable]
public TwilightLantern()
: base()
{
this.Hue = Utility.RandomBool() ? 142 : 947;
}
public TwilightLantern(Serial serial)
: base(serial)
{
}
public override string DefaultName
{
get
{
return "Twilight Lantern";
}
}
public override bool AllowEquipedCast(Mobile from)
{
return true;
}
public override void GetProperties(ObjectPropertyList list)
{
base.GetProperties(list);
list.Add(1060482); // Spell Channeling
}
public override void Serialize(GenericWriter writer)
{
base.Serialize(writer);
writer.Write((int)0); // version
}
public override void Deserialize(GenericReader reader)
{
base.Deserialize(reader);
int version = reader.ReadInt();
}
}
}