74 lines
2.3 KiB
C#
74 lines
2.3 KiB
C#
using System;
|
|
using ModernUO.Serialization;
|
|
using Server.Factions;
|
|
using Server.Mobiles;
|
|
using Server.Spells;
|
|
using Server.Spells.Fifth;
|
|
using Server.Spells.Ninjitsu;
|
|
using Server.Spells.Seventh;
|
|
|
|
namespace Server.Items;
|
|
|
|
[SerializationGenerator(0, false)]
|
|
public partial class TribalPaint : Item
|
|
{
|
|
[Constructible]
|
|
public TribalPaint() : base(0x9EC)
|
|
{
|
|
Hue = 2101;
|
|
Stackable = Core.ML;
|
|
}
|
|
|
|
public override double DefaultWeight => 2.0;
|
|
|
|
public override int LabelNumber => 1040000; // savage kin paint
|
|
|
|
public override void OnDoubleClick(Mobile from)
|
|
{
|
|
if (!IsChildOf(from.Backpack))
|
|
{
|
|
from.SendLocalizedMessage(1042001); // That must be in your pack for you to use it.
|
|
return;
|
|
}
|
|
|
|
if (Sigil.ExistsOn(from))
|
|
{
|
|
from.SendLocalizedMessage(1010465); // You cannot disguise yourself while holding a sigil.
|
|
}
|
|
else if (!from.CanBeginAction<IncognitoSpell>())
|
|
{
|
|
from.SendLocalizedMessage(501698); // You cannot disguise yourself while incognitoed.
|
|
}
|
|
else if (!from.CanBeginAction<PolymorphSpell>())
|
|
{
|
|
from.SendLocalizedMessage(501699); // You cannot disguise yourself while polymorphed.
|
|
}
|
|
else if (TransformationSpellHelper.UnderTransformation(from))
|
|
{
|
|
from.SendLocalizedMessage(501699); // You cannot disguise yourself while polymorphed.
|
|
}
|
|
else if (AnimalForm.UnderTransformation(from))
|
|
{
|
|
from.SendLocalizedMessage(1061634); // You cannot disguise yourself while in that form.
|
|
}
|
|
else if (from.IsBodyMod || from.FindItemOnLayer(Layer.Helm) is OrcishKinMask)
|
|
{
|
|
from.SendLocalizedMessage(501605); // You are already disguised.
|
|
}
|
|
else
|
|
{
|
|
from.BodyMod = from.Female ? 184 : 183;
|
|
from.HueMod = 0;
|
|
|
|
if (from is PlayerMobile mobile)
|
|
{
|
|
mobile.SavagePaintExpiration = TimeSpan.FromDays(7.0);
|
|
}
|
|
|
|
// You now bear the markings of the savage tribe. Your body paint will last about a week or you can remove it with an oil cloth.
|
|
from.SendLocalizedMessage(1042537);
|
|
|
|
Consume();
|
|
}
|
|
}
|
|
}
|