146 lines
4.5 KiB
C#
146 lines
4.5 KiB
C#
using System;
|
|
using Server;
|
|
using Server.Mobiles;
|
|
using Server.Engines.CreatureStealing;
|
|
using Server.Engines.Craft;
|
|
|
|
namespace Server.Items
|
|
{
|
|
[Alterable(typeof(DefTinkering), typeof(GargishSmugglersEdge))]
|
|
public class SmugglersEdge : ButcherKnife
|
|
{
|
|
public override int LabelNumber { get { return 1071499; } } // Smuggler's Edge
|
|
public override bool CanFortify { get { return false; } }
|
|
public override bool IsArtifact { get { return true; } }
|
|
|
|
[Constructable]
|
|
public SmugglersEdge()
|
|
{
|
|
Hue = 1461;
|
|
|
|
WeaponAttributes.UseBestSkill = 1;
|
|
Attributes.SpellChanneling = 1;
|
|
Attributes.WeaponSpeed = 30;
|
|
|
|
if (!Siege.SiegeShard)
|
|
LootType = LootType.Blessed;
|
|
}
|
|
|
|
public override int InitMinHits { get { return 255; } }
|
|
public override int InitMaxHits { get { return 255; } }
|
|
public override int AosMinDamage { get { return 9; } }
|
|
public override int AosMaxDamage { get { return 11; } }
|
|
|
|
public SmugglersEdge(Serial serial)
|
|
: base(serial)
|
|
{
|
|
}
|
|
|
|
public override void OnHit(Mobile attacker, IDamageable damageable, double damageBonus)
|
|
{
|
|
base.OnHit(attacker, damageable, damageBonus);
|
|
|
|
if (damageable is BaseCreature)
|
|
{
|
|
if (attacker.FindItemOnLayer(Layer.TwoHanded) != null)
|
|
{
|
|
attacker.SendLocalizedMessage(1071501); // Your left hand must be free to steal an item from the creature.
|
|
}
|
|
else if (attacker is PlayerMobile)
|
|
{
|
|
StealingHandler.HandleSmugglersEdgeSteal((BaseCreature)damageable, (PlayerMobile)attacker);
|
|
}
|
|
}
|
|
}
|
|
|
|
public override void GetProperties(ObjectPropertyList list)
|
|
{
|
|
base.GetProperties(list);
|
|
list.Add(1071500); // Monster Stealing
|
|
}
|
|
|
|
public override void Serialize(GenericWriter writer)
|
|
{
|
|
base.Serialize(writer);
|
|
writer.Write((int)1); // version
|
|
}
|
|
|
|
public override void Deserialize(GenericReader reader)
|
|
{
|
|
base.Deserialize(reader);
|
|
int version = reader.ReadInt();
|
|
|
|
if (version == 0)
|
|
Attributes.WeaponSpeed = 30;
|
|
}
|
|
}
|
|
|
|
public class GargishSmugglersEdge : GargishButcherKnife
|
|
{
|
|
public override int LabelNumber { get { return 1071499; } } // Smuggler's Edge
|
|
public override bool CanFortify { get { return false; } }
|
|
public override bool IsArtifact { get { return true; } }
|
|
|
|
[Constructable]
|
|
public GargishSmugglersEdge()
|
|
{
|
|
Hue = 1461;
|
|
|
|
WeaponAttributes.UseBestSkill = 1;
|
|
Attributes.SpellChanneling = 1;
|
|
Attributes.WeaponSpeed = 30;
|
|
|
|
if (!Siege.SiegeShard)
|
|
LootType = LootType.Blessed;
|
|
}
|
|
|
|
public override int InitMinHits { get { return 255; } }
|
|
public override int InitMaxHits { get { return 255; } }
|
|
public override int AosMinDamage { get { return 9; } }
|
|
public override int AosMaxDamage { get { return 11; } }
|
|
|
|
public GargishSmugglersEdge(Serial serial)
|
|
: base(serial)
|
|
{
|
|
}
|
|
|
|
public override void OnHit(Mobile attacker, IDamageable damageable, double damageBonus)
|
|
{
|
|
base.OnHit(attacker, damageable, damageBonus);
|
|
|
|
if (damageable is BaseCreature)
|
|
{
|
|
if (attacker.FindItemOnLayer(Layer.TwoHanded) != null)
|
|
{
|
|
attacker.SendLocalizedMessage(1071501); // Your left hand must be free to steal an item from the creature.
|
|
}
|
|
else if (attacker is PlayerMobile)
|
|
{
|
|
StealingHandler.HandleSmugglersEdgeSteal((BaseCreature)damageable, (PlayerMobile)attacker);
|
|
}
|
|
}
|
|
}
|
|
|
|
public override void GetProperties(ObjectPropertyList list)
|
|
{
|
|
base.GetProperties(list);
|
|
list.Add(1071500); // Monster Stealing
|
|
}
|
|
|
|
public override void Serialize(GenericWriter writer)
|
|
{
|
|
base.Serialize(writer);
|
|
writer.Write((int)1); // version
|
|
}
|
|
|
|
public override void Deserialize(GenericReader reader)
|
|
{
|
|
base.Deserialize(reader);
|
|
int version = reader.ReadInt();
|
|
|
|
if (version == 0)
|
|
Attributes.WeaponSpeed = 30;
|
|
}
|
|
}
|
|
}
|