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,86 @@
using System;
using Server.Mobiles;
namespace Server.Items
{
public class HeroOfTheUnlovedTitleDeed : BaseRewardTitleDeed
{
public override TextDefinition Title { get { return 1157649; } } // Hero of the Unloved
[Constructable]
public HeroOfTheUnlovedTitleDeed()
{
}
public HeroOfTheUnlovedTitleDeed(Serial serial)
: base(serial)
{
}
public override void Serialize(GenericWriter writer)
{
base.Serialize(writer);
writer.Write((int)0);
}
public override void Deserialize(GenericReader reader)
{
base.Deserialize(reader);
int v = reader.ReadInt();
}
}
public class SaviorOfTheDementedTitleDeed : BaseRewardTitleDeed
{
public override TextDefinition Title { get { return 1157651; } } // Savior of the Demented
[Constructable]
public SaviorOfTheDementedTitleDeed()
{
}
public SaviorOfTheDementedTitleDeed(Serial serial)
: base(serial)
{
}
public override void Serialize(GenericWriter writer)
{
base.Serialize(writer);
writer.Write((int)0);
}
public override void Deserialize(GenericReader reader)
{
base.Deserialize(reader);
int v = reader.ReadInt();
}
}
public class SlayerOfThePumpkinKingTitleDeed : BaseRewardTitleDeed
{
public override TextDefinition Title { get { return 1157650; } } // Slayer of the Pumpkin King
[Constructable]
public SlayerOfThePumpkinKingTitleDeed()
{
}
public SlayerOfThePumpkinKingTitleDeed(Serial serial)
: base(serial)
{
}
public override void Serialize(GenericWriter writer)
{
base.Serialize(writer);
writer.Write((int)0);
}
public override void Deserialize(GenericReader reader)
{
base.Deserialize(reader);
int v = reader.ReadInt();
}
}
}

View File

@@ -0,0 +1,63 @@
using System;
using Server;
using Server.Events.Halloween;
namespace Server.Items
{
public class JackInTheBox : Item
{
public override int LabelNumber { get { return 1157655; } } // Jack in the Box
private DateTime _LastUse;
[Constructable]
public JackInTheBox()
: base(0x9F64)
{
}
public override void OnDoubleClick(Mobile from)
{
if (_LastUse + TimeSpan.FromSeconds(20) < DateTime.UtcNow)
{
ItemID = 0x9F64;
Effects.PlaySound(GetWorldLocation(), Map, 1661);
Timer.DelayCall(TimeSpan.FromSeconds(9), () =>
{
ItemID = 0x9F65;
Timer.DelayCall(TimeSpan.FromSeconds(5), () =>
{
ItemID = 0x9F64;
});
});
_LastUse = DateTime.UtcNow;
}
else
{
from.SendLocalizedMessage(501789); // You must wait before trying again.
}
}
public JackInTheBox(Serial serial)
: base(serial)
{
}
public override void Serialize(GenericWriter writer)
{
base.Serialize(writer);
writer.Write((int)0);
}
public override void Deserialize(GenericReader reader)
{
base.Deserialize(reader);
int v = reader.ReadInt();
}
}
}

View File

@@ -0,0 +1,317 @@
using System;
using Server;
using Server.Events.Halloween;
namespace Server.Items
{
public class JacksBagOfTricks : Item
{
public override int LabelNumber { get { return 1157656; } } // Jack's Bag of Tricks
private DateTime _NextUse;
[CommandProperty(AccessLevel.GameMaster)]
public DateTime NextUse
{
get { return _NextUse; }
set { _NextUse = value; }
}
[Constructable]
public JacksBagOfTricks()
: base(0x9F85)
{
}
public override void OnDoubleClick(Mobile from)
{
if (DateTime.Now.Month == 10 || from.AccessLevel > AccessLevel.Player)
{
if (_NextUse < DateTime.UtcNow)
{
Item item = null;
if (0.1 > Utility.RandomDouble())
{
item = HolidaySettings.RandomTreat;
}
else
{
switch (Utility.Random(6))
{
case 0: item = new RancidReindeerMeat(); break;
case 1: item = new GlassyCandyCane(); break;
case 2: item = new NamedSeveredElfEars(); break;
case 3: item = new SuspiciousGiftBox(); break;
case 4: item = new InsultingDoll(); break;
case 5: item = new SpikedEggnog(); break;
}
}
if (item != null)
{
if (from.Backpack == null || !from.Backpack.TryDropItem(from, item, false))
item.MoveToWorld(from.Location, from.Map);
NextUse = DateTime.UtcNow + TimeSpan.FromDays(1);
}
}
else
{
from.SendLocalizedMessage(1157633); // You have already used this today.
}
}
else
{
from.SendLocalizedMessage(1157632); // This only works during the Month of October.
}
}
public JacksBagOfTricks(Serial serial)
: base(serial)
{
}
public override void Serialize(GenericWriter writer)
{
base.Serialize(writer);
writer.Write((int)0);
writer.Write(NextUse);
}
public override void Deserialize(GenericReader reader)
{
base.Deserialize(reader);
int v = reader.ReadInt();
NextUse = reader.ReadDateTime();
}
}
[Flipable(0x1E90, 0x1E91)]
public class RancidReindeerMeat : Item
{
public override int LabelNumber { get { return 1157634; } } // Rancid Reindeer Meat
[Constructable]
public RancidReindeerMeat()
: base(0x1E90)
{
Hue = 2707;
}
public RancidReindeerMeat(Serial serial)
: base(serial)
{
}
public override void OnDoubleClick(Mobile m)
{
if (IsChildOf(m.Backpack))
{
PrivateOverheadMessage(Server.Network.MessageType.Regular, 0, 1157635, m.NetState); // *It smells terrible!*
}
}
public override void Serialize(GenericWriter writer)
{
base.Serialize(writer);
writer.Write((int)0);
}
public override void Deserialize(GenericReader reader)
{
base.Deserialize(reader);
int v = reader.ReadInt();
}
}
[Flipable(0x9DC3, 0x9DC4)]
public class GlassyCandyCane : Item
{
public override int LabelNumber { get { return 1157636; } } // Glass Candy Cane
[Constructable]
public GlassyCandyCane()
: base(0x9DC3)
{
Hue = 1927;
}
public GlassyCandyCane(Serial serial)
: base(serial)
{
}
public override void Serialize(GenericWriter writer)
{
base.Serialize(writer);
writer.Write((int)0);
}
public override void Deserialize(GenericReader reader)
{
base.Deserialize(reader);
int v = reader.ReadInt();
}
}
[Flipable(0x312D, 0x312E)]
public class NamedSeveredElfEars : Item
{
private string _Name;
[Constructable]
public NamedSeveredElfEars()
: base(0x312D)
{
_Name = _Names[Utility.Random(_Names.Length)];
}
public override void AddNameProperty(ObjectPropertyList list)
{
list.Add(1157637, _Name); // The Severed Ears of an Elf Named ~1_NAME~
}
private string[] _Names =
{
"Alabaster Snowball", "Pepper Minstix", "Wunorse Openslae", "Sugarplum Mary"
};
public override void OnDoubleClick(Mobile m)
{
if (IsChildOf(m.Backpack))
{
PrivateOverheadMessage(Server.Network.MessageType.Regular, 0, 1157638, m.NetState); // *You hear the faint jingle of cheery bells...*
}
}
public NamedSeveredElfEars(Serial serial)
: base(serial)
{
}
public override void Serialize(GenericWriter writer)
{
base.Serialize(writer);
writer.Write((int)0);
writer.Write(_Name);
}
public override void Deserialize(GenericReader reader)
{
base.Deserialize(reader);
int v = reader.ReadInt();
_Name = reader.ReadString();
}
}
public class SuspiciousGiftBox : Container
{
public override int LabelNumber { get { return 1157639; } } // Suspicious Gift Box
[Constructable]
public SuspiciousGiftBox()
: base(0x232A)
{
Hue = 1976;
}
public override void OnDoubleClick(Mobile m)
{
if (IsChildOf(m.Backpack))
{
PrivateOverheadMessage(Server.Network.MessageType.Regular, 0, 1157640, m.NetState); // Uh oh...
}
}
public SuspiciousGiftBox(Serial serial)
: base(serial)
{
}
public override void Serialize(GenericWriter writer)
{
base.Serialize(writer);
writer.Write((int)0);
}
public override void Deserialize(GenericReader reader)
{
base.Deserialize(reader);
int v = reader.ReadInt();
}
}
[Flipable(0x48E2, 0x48E3)]
public class InsultingDoll : Item
{
public override int LabelNumber { get { return 1157641; } } // Insulting Doll
[Constructable]
public InsultingDoll()
: base(0x48E2)
{
Hue = 1933;
}
public override void OnDoubleClick(Mobile m)
{
if (IsChildOf(m.Backpack))
{
PrivateOverheadMessage(Server.Network.MessageType.Regular, 0, Utility.RandomMinMax(1157642, 1157646), m.NetState);
}
}
public InsultingDoll(Serial serial)
: base(serial)
{
}
public override void Serialize(GenericWriter writer)
{
base.Serialize(writer);
writer.Write((int)0);
}
public override void Deserialize(GenericReader reader)
{
base.Deserialize(reader);
int v = reader.ReadInt();
}
}
public class SpikedEggnog : Item
{
public override int LabelNumber { get { return 1157647; } } // Spiked Egg Nog
[Constructable]
public SpikedEggnog()
: base(0x142A)
{
Hue = 2711;
}
public SpikedEggnog(Serial serial)
: base(serial)
{
}
public override void Serialize(GenericWriter writer)
{
base.Serialize(writer);
writer.Write((int)0);
}
public override void Deserialize(GenericReader reader)
{
base.Deserialize(reader);
int v = reader.ReadInt();
}
}
}

View File

@@ -0,0 +1,86 @@
using System;
using Server;
using Server.Events.Halloween;
namespace Server.Items
{
public class ShackledHeartOfThePumpkinKing : Item
{
public override int LabelNumber { get { return 1157653; } } // Shackled Heart of the Pumpkin King
private Timer Timer { get; set; }
[Constructable]
public ShackledHeartOfThePumpkinKing()
: base(0x4A9C)
{
}
public override void OnDoubleClick(Mobile m)
{
if (Timer == null)
{
m.SendLocalizedMessage(1157631); // Thou shall know the pain of a chained heart...
m.SendSound(Utility.RandomMinMax(0x423, 0x427));
Timer = new InternalTimer(m, this);
}
else
{
m.SendLocalizedMessage(1157630); // You are already bleeding!
}
}
private class InternalTimer : Timer
{
public Mobile Owner { get; set; }
public ShackledHeartOfThePumpkinKing Heart { get; set; }
public int Ticks { get; set; }
public InternalTimer(Mobile m, ShackledHeartOfThePumpkinKing heart)
: base(TimeSpan.FromSeconds(2), TimeSpan.FromSeconds(2))
{
Owner = m;
Heart = heart;
Start();
}
protected override void OnTick()
{
if (!Owner.Alive || Owner.Map == Map.Internal || Ticks++ >= 5)
{
Stop();
Heart.Timer = null;
}
else
{
Owner.PlaySound(0x133);
var blood = new Blood();
blood.ItemID = Utility.Random(0x122A, 5);
blood.MoveToWorld(Owner.Location, Owner.Map);
}
}
}
public ShackledHeartOfThePumpkinKing(Serial serial)
: base(serial)
{
}
public override void Serialize(GenericWriter writer)
{
base.Serialize(writer);
writer.Write((int)0);
}
public override void Deserialize(GenericReader reader)
{
base.Deserialize(reader);
int v = reader.ReadInt();
}
}
}