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,124 @@
using System;
using Server;
using Server.Mobiles;
using Server.Gumps;
using Server.Misc;
namespace Server.Items
{
public class NameChangeToken : Item, IPromotionalToken
{
public override int LabelNumber { get { return 1070997; } } // a promotional token
public TextDefinition ItemName { get { return 1075247; } } // name change
public Type GumpType { get { return typeof(NameChangeConfirmGump); } }
[Constructable]
public NameChangeToken()
: base(0x2AAA)
{
LootType = LootType.Blessed;
}
public override void OnDoubleClick(Mobile from)
{
if (!IsChildOf(from.Backpack))
{
from.SendLocalizedMessage(1062334); // This item must be in your backpack to be used.
}
else if (from is PlayerMobile)
{
from.CloseGump(typeof(NameChangeConfirmGump));
BaseGump.SendGump(new NameChangeConfirmGump((PlayerMobile)from, this));
}
}
public override void GetProperties(ObjectPropertyList list)
{
base.GetProperties(list);
list.Add(1070998, ItemName.ToString()); // Use this to redeem<br>Your ~1_PROMO~ : name change
}
public NameChangeToken(Serial serial)
: base(serial)
{
}
public override void Serialize(GenericWriter writer)
{
base.Serialize(writer);
writer.Write(0);
}
public override void Deserialize(GenericReader reader)
{
base.Deserialize(reader);
int version = reader.ReadInt();
}
}
public class NameChangeConfirmGump : BaseGump
{
public NameChangeToken Token { get; private set; }
public NameChangeConfirmGump(PlayerMobile pm, NameChangeToken token)
: base(pm, 100, 100)
{
Token = token;
}
public override void AddGumpLayout()
{
AddBackground(0, 0, 291, 179, 9200);
AddImageTiled(5, 5, 281, 20, 2702);
AddImageTiled(5, 30, 281, 120, 2702);
AddHtmlLocalized(8, 5, 279, 20, 1075241, 0x7FFF, false, false); // Change your character's name
AddHtmlLocalized(8, 30, 279, 16, 1075242, 0x7FFF, false, false); // Enter your new name (16 characters max, English characters only):
AddImageTiled(8, 50, 276, 20, 0xDB0);
AddTextEntry(9, 50, 275, 20, 0, 0, "");
AddHtmlLocalized(8, 70, 279, 80, 1075561, 0x7FFF, false, false); // Clicking OK will permanently change your character's name. Reversing this requires the purchase of an additional name change token. For more details, <A HREF="http://store2.origin.com/store/ea/en_US/DisplayProductDetailsPage/productID.244034900">visit our web site</A>.
AddButton(5, 152, 0xFB1, 0xFB3, 0, GumpButtonType.Reply, 0);
AddHtmlLocalized(40, 152, 100, 20, 1011012, 0x7FFF, false, false); // CANCEL
AddButton(126, 152, 0xFB7, 0xFB9, 1, GumpButtonType.Reply, 0);
AddHtmlLocalized(160, 152, 120, 20, 1075243, 0x7FFF, false, false); // Change my name!
}
public override void OnResponse(RelayInfo info)
{
if (info.ButtonID == 1 && Token.IsChildOf(User.Backpack))
{
TextRelay relay = info.GetTextEntry(0);
if (relay != null)
{
var text = relay.Text;
if (string.IsNullOrEmpty(text))
{
User.SendLocalizedMessage(1075245); // Your name cannot be blank.
}
else if (text.Length > 16)
{
User.SendLocalizedMessage(1075244); // That name is too long.
}
else if (!NameVerification.Validate(text, 2, 16, true, false, true, 1, NameVerification.SpaceDashPeriodQuote))
{
User.SendLocalizedMessage(1075246); // That name is not valid.
}
else
{
User.Name = text;
Token.Delete();
User.SendMessage("You have successfully changed your name."); // TODO: Message?
}
}
}
}
}
}