Overwrite
Complete Overwrite of the Folder with the free shard. ServUO 57.3 has been added.
This commit is contained in:
124
Scripts/Items/StoreBought/NameChangeToken.cs
Normal file
124
Scripts/Items/StoreBought/NameChangeToken.cs
Normal 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?
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user