Files
abysmal-isle/Scripts/Gumps/ConfirmMountStatuetteGump.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

66 lines
2.0 KiB
C#

using System;
using Server.Mobiles;
using Server.Network;
namespace Server.Gumps
{
public class ConfirmMountStatuetteGump : BaseConfirmGump
{
private readonly Item m_Item;
public ConfirmMountStatuetteGump(Item item)
: base()
{
m_Item = item;
}
public override int LabelNumber { get { return 1075084; } } // This statuette will be destroyed when its trapped creature is summoned. The creature will be bonded to you but will disappear if released. <br><br>Do you wish to proceed?
public override void Confirm(Mobile from)
{
if (m_Item == null || m_Item.Deleted)
return;
BaseCreature m = null;
if (m_Item is ICreatureStatuette)
{
m = Activator.CreateInstance(((ICreatureStatuette)m_Item).CreatureType) as BaseCreature;
}
if (m != null)
{
if ((from.Followers + m.ControlSlots) > from.FollowersMax)
{
m.Delete();
from.SendLocalizedMessage(1114321); // You have too many followers to control that pet.
}
else
{
m.SetControlMaster(from);
m.IsBonded = true;
m.MoveToWorld(from.Location, from.Map);
m_Item.Delete();
PetTrainingHelper.GetAbilityProfile(m, true).OnTame();
Timer.DelayCall(TimeSpan.FromSeconds(1), () =>
{
m.PrivateOverheadMessage(MessageType.Regular, 0x3B2, 502799, from.NetState); // It seems to accept you as master.
from.SendLocalizedMessage(1049666); // Your pet has bonded with you!
});
}
}
}
}
}
namespace Server.Mobiles
{
public interface ICreatureStatuette
{
Type CreatureType { get; }
}
}