Files
abysmal-isle/Scripts/Items/Decorative/SilverSaplingReplica.cs
Unstable Kitsune b918192e4e Overwrite
Complete Overwrite of the Folder with the free shard. ServUO 57.3 has been added.
2023-11-28 23:20:26 -05:00

121 lines
3.2 KiB
C#

using System;
using Server.Gumps;
using Server.Network;
namespace Server.Items
{
public class SilverSaplingReplica : Item
{
public override int LabelNumber { get { return ItemID == 17095 ? 1095967 : 1095968; } } // silver sapling replica - potted silver sapling replica
[Constructable]
public SilverSaplingReplica(int id)
: base(id)
{
Weight = 5.0;
}
public SilverSaplingReplica(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 SilverSaplingReplicaDeed : Item
{
public override int LabelNumber { get { return 1113934; } } // Silver Sapling Deed
[Constructable]
public SilverSaplingReplicaDeed()
: base(0x14F0)
{
LootType = LootType.Blessed;
}
public SilverSaplingReplicaDeed(Serial serial)
: base(serial)
{
}
public override void OnDoubleClick(Mobile from)
{
if (IsChildOf(from.Backpack))
{
from.CloseGump(typeof(InternalGump));
from.SendGump(new InternalGump(this));
}
else
{
from.SendLocalizedMessage(1042010); // You must have the object in your backpack to use it.
}
}
public override void Serialize(GenericWriter writer)
{
base.Serialize(writer);
writer.Write(0); // version
}
public override void Deserialize(GenericReader reader)
{
base.Deserialize(reader);
int version = reader.ReadInt();
}
private class InternalGump : Gump
{
private readonly Item Deed;
public InternalGump(Item deed)
: base(100, 180)
{
Deed = deed;
AddPage(0);
AddBackground(25, 0, 190, 200, 0xA28);
AddLabel(70, 12, 0x3E3, "Select one:");
AddPage(1);
AddItem(62, 70, 0x42C7);
AddButton(75, 50, 0x845, 0x846, 17095, GumpButtonType.Reply, 0);
AddItem(123, 70, 0x42C8);
AddButton(135, 50, 0x845, 0x846, 17096, GumpButtonType.Reply, 0);
}
public override void OnResponse(NetState sender, RelayInfo info)
{
if (Deed == null || Deed.Deleted)
return;
Mobile m = sender.Mobile;
switch (info.ButtonID)
{
case 0: break;
default:
{
m.AddToBackpack(new SilverSaplingReplica(info.ButtonID));
Deed.Delete();
break;
}
}
}
}
}
}