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,43 @@
using System;
using Server;
namespace Server.Items
{
public class AnniversaryBag18th : Bag
{
public override int LabelNumber { get { return 1156141; } } // 18th Anniversary Gift Bag
[Constructable]
public AnniversaryBag18th()
: this(null)
{
}
[Constructable]
public AnniversaryBag18th(Mobile m)
{
Hue = 1164;
DropItem(new RecipeScroll(Utility.RandomBool() ? 701 : 702));
DropItem(new AnniversaryPlate(m));
DropItem(new EnchantedTimepiece());
DropItem(new AnniversaryCard(m));
}
public AnniversaryBag18th(Serial serial)
: base(serial)
{
}
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();
}
}
}

View File

@@ -0,0 +1,56 @@
using System;
using Server;
namespace Server.Items
{
[Flipable(0x9C14, 0x9C15)]
public class AnniversaryCard : Item
{
[CommandProperty(AccessLevel.GameMaster)]
public string Args { get; set; }
private string[] _Staff = new string[] { Server.Misc.ServerList.ServerName }; // TODO: Get More
[Constructable]
public AnniversaryCard()
: this(null)
{
}
[Constructable]
public AnniversaryCard(Mobile m) : base(0x9C14)
{
Hue = 124;
Args = String.Format("{0}\t{1}", _Staff[Utility.Random(_Staff.Length)], m != null ? m.Name : "you");
}
public override void AddNameProperty(ObjectPropertyList list)
{
list.Add(1156145, Args); // A Personally Written Anniversary Card from ~1_name~ to ~2_name~
list.Add(1062613, "#1156146");
}
public AnniversaryCard(Serial serial)
: base(serial)
{
}
public override void Serialize( GenericWriter writer )
{
base.Serialize( writer );
writer.Write( (int) 0 ); // version
writer.Write(Args);
}
public override void Deserialize( GenericReader reader )
{
base.Deserialize( reader );
int version = reader.ReadInt();
Args = reader.ReadString();
}
}
}

View File

@@ -0,0 +1,68 @@
using System;
using Server;
namespace Server.Items
{
public class AnniversaryPlate : Item
{
public override int LabelNumber { get { return 1156149; } } // An Ornately Decorated Commemorative Plate
[CommandProperty(AccessLevel.GameMaster)]
public TextDefinition LabelType { get; set; }
[Constructable]
public AnniversaryPlate()
: this(null)
{
}
[Constructable]
public AnniversaryPlate(Mobile m) : base(0x9BC8)
{
if(m != null && .01 > Utility.RandomDouble())
LabelType = String.Format("{0} first adventure in Britannia!", m.Name); // No Cliloc???
else
LabelType = Utility.RandomMinMax(1156150, 1156157);
}
public override void AddNameProperty(ObjectPropertyList list)
{
list.Add(1156149); // An Ornately Decorated Commemorative Plate
if (LabelType.Number > 0)
list.Add(1062613, String.Format("#{0}", LabelType.Number.ToString()));
else if (LabelType.String != null)
list.Add(1062613, LabelType.String);
}
public override void GetProperties(ObjectPropertyList list)
{
base.GetProperties(list);
if(LabelType.Number > 0)
list.Add(LabelType.Number);
else if (LabelType.String != null)
list.Add(LabelType.String);
}
public AnniversaryPlate(Serial serial) : base(serial)
{
}
public override void Serialize( GenericWriter writer )
{
base.Serialize( writer );
writer.Write( (int) 0 ); // version
TextDefinition.Serialize(writer, LabelType);
}
public override void Deserialize( GenericReader reader )
{
base.Deserialize( reader );
int version = reader.ReadInt();
LabelType = TextDefinition.Deserialize(reader);
}
}
}

View File

@@ -0,0 +1,31 @@
using System;
using Server;
namespace Server.Items
{
public class AnniversaryVaseShort : Item
{
public override int LabelNumber { get { return 1156148; } } // Short 18th Anniversary Vase
[Constructable]
public AnniversaryVaseShort() : base(0x9BCA)
{
}
public AnniversaryVaseShort(Serial serial) : base(serial)
{
}
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();
}
}
}

View File

@@ -0,0 +1,31 @@
using System;
using Server;
namespace Server.Items
{
public class AnniversaryVaseTall : Item
{
public override int LabelNumber { get { return 1156147; } } // Tall 18th Anniversary Vase
[Constructable]
public AnniversaryVaseTall() : base(0x9BC7)
{
}
public AnniversaryVaseTall(Serial serial) : base(serial)
{
}
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();
}
}
}

View File

@@ -0,0 +1,134 @@
using System;
using Server;
using System.Collections.Generic;
using System.Linq;
namespace Server.Items
{
public class EnchantedTimepiece : Item
{
public override int LabelNumber
{
get
{
int hour, min;
Clock.GetTime(this.Map, GetWorldLocation().X, GetWorldLocation().Y, out hour, out min);
if (hour > 20 || hour < 4)
return 1156199; // Moon Dial
return 1123890; // Sun Dial
//return 1077186;
}
}
[CommandProperty(AccessLevel.GameMaster)]
public override int ItemID
{
get
{
int id = base.ItemID;
if (id != GetID())
return GetID();
return id;
}
set
{
base.ItemID = value;
}
}
[Constructable]
public EnchantedTimepiece() : base(0x9BC6)
{
_TimePieces.Add(this);
}
public override void OnDoubleClick(Mobile from)
{
int genericNumber;
string exactTime;
Clock.GetTime(from, out genericNumber, out exactTime);
SendLocalizedMessageTo(from, genericNumber);
SendLocalizedMessageTo(from, 1042958, exactTime); // ~1_TIME~ to be exact
}
public void InvalidateID()
{
int hour, min;
Clock.GetTime(this.Map, GetWorldLocation().X, GetWorldLocation().Y, out hour, out min);
if (hour > 12)
hour -= 12;
int id = 0x9BBA + Math.Max(0, (hour - 1));
if (id != ItemID)
ItemID = id;
}
private int GetID()
{
int id = 0x9BC6;
if (!Movable && this.Map != Map.Internal)
{
int hour, min;
Clock.GetTime(this.Map, GetWorldLocation().X, GetWorldLocation().Y, out hour, out min);
if (hour > 12)
hour -= 12;
id = 0x9BBA + Math.Max(0, (hour - 1));
}
return id;
}
public override void Delete()
{
base.Delete();
if (_TimePieces.Contains(this))
_TimePieces.Remove(this);
}
private static List<EnchantedTimepiece> _TimePieces = new List<EnchantedTimepiece>();
public static void Initialize()
{
Timer.DelayCall(TimeSpan.FromMinutes(1), TimeSpan.FromMinutes(1), () =>
{
foreach (EnchantedTimepiece tp in _TimePieces.Where(t => t != null && !t.Movable && t.Map != Map.Internal))
{
tp.InvalidateID();
}
});
}
public EnchantedTimepiece(Serial serial) : base(serial)
{
}
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();
_TimePieces.Add(this);
}
}
}

View File

@@ -0,0 +1,33 @@
using System;
using Server;
using Server.Items;
namespace Server.Misc
{
public class AnniversaryGiver18th : GiftGiver
{
public static void Initialize()
{
GiftGiving.Register(new AnniversaryGiver18th());
}
public override DateTime Start { get { return new DateTime(2016, 4, 08); } }
public override DateTime Finish { get { return new DateTime(2016, 12, 31); } }
public override TimeSpan MinimumAge { get { return TimeSpan.FromHours(12); } }
public override void GiveGift(Mobile mob)
{
Bag bag = new AnniversaryBag18th(mob);
switch (GiveGift(mob, bag))
{
case GiftResult.Backpack:
mob.SendLocalizedMessage(1156142); // Happy 18th Anniversary! We have placed a gift for you in your backpack.
break;
case GiftResult.BankBox:
mob.SendLocalizedMessage(1156143); // Happy 18th Anniversary! We have placed a gift for you in your bank box.
break;
}
}
}
}