Files
abysmal-isle/Scripts/Items/Consumables/TribalPaint.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

91 lines
3.0 KiB
C#

using System;
using Server.Mobiles;
using Server.Spells;
namespace Server.Items
{
public class TribalPaint : Item
{
[Constructable]
public TribalPaint()
: base(0x9EC)
{
this.Hue = 2101;
this.Weight = 2.0;
this.Stackable = Core.ML;
}
public TribalPaint(Serial serial)
: base(serial)
{
}
public override int LabelNumber
{
get
{
return 1040000;
}
}// savage kin paint
public override void OnDoubleClick(Mobile from)
{
if (this.IsChildOf(from.Backpack))
{
if (Factions.Sigil.ExistsOn(from))
{
from.SendLocalizedMessage(1010465); // You cannot disguise yourself while holding a sigil.
}
else if (!from.CanBeginAction(typeof(Spells.Fifth.IncognitoSpell)))
{
from.SendLocalizedMessage(501698); // You cannot disguise yourself while incognitoed.
}
else if (!from.CanBeginAction(typeof(Spells.Seventh.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 (Spells.Ninjitsu.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)
((PlayerMobile)from).SavagePaintExpiration = TimeSpan.FromDays(7.0);
from.SendLocalizedMessage(1042537); // 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.
this.Consume();
}
}
else
{
from.SendLocalizedMessage(1042001); // That must be in your pack for you to use it.
}
}
public override void Serialize(GenericWriter writer)
{
base.Serialize(writer);
writer.Write((int)0);
}
public override void Deserialize(GenericReader reader)
{
base.Deserialize(reader);
int version = reader.ReadInt();
}
}
}