89 lines
2.2 KiB
C#
89 lines
2.2 KiB
C#
using System;
|
|
|
|
namespace Server.Items
|
|
{
|
|
public abstract class BaseBashing : BaseMeleeWeapon
|
|
{
|
|
public BaseBashing(int itemID)
|
|
: base(itemID)
|
|
{
|
|
}
|
|
|
|
public BaseBashing(Serial serial)
|
|
: base(serial)
|
|
{
|
|
}
|
|
|
|
public override int DefHitSound
|
|
{
|
|
get
|
|
{
|
|
return 0x233;
|
|
}
|
|
}
|
|
public override int DefMissSound
|
|
{
|
|
get
|
|
{
|
|
return 0x239;
|
|
}
|
|
}
|
|
public override SkillName DefSkill
|
|
{
|
|
get
|
|
{
|
|
return SkillName.Macing;
|
|
}
|
|
}
|
|
public override WeaponType DefType
|
|
{
|
|
get
|
|
{
|
|
return WeaponType.Bashing;
|
|
}
|
|
}
|
|
public override WeaponAnimation DefAnimation
|
|
{
|
|
get
|
|
{
|
|
return WeaponAnimation.Bash1H;
|
|
}
|
|
}
|
|
public override void Serialize(GenericWriter writer)
|
|
{
|
|
base.Serialize(writer);
|
|
|
|
writer.Write((int)0); // version
|
|
}
|
|
|
|
public override void Deserialize(GenericReader reader)
|
|
{
|
|
base.Deserialize(reader);
|
|
|
|
int version = reader.ReadInt();
|
|
}
|
|
|
|
public override void OnHit(Mobile attacker, IDamageable defender, double damageBonus)
|
|
{
|
|
base.OnHit(attacker, defender, damageBonus);
|
|
|
|
if(defender is Mobile)
|
|
((Mobile)defender).Stam -= Utility.Random(3, 3); // 3-5 points of stamina loss
|
|
}
|
|
|
|
public override double GetBaseDamage(Mobile attacker)
|
|
{
|
|
double damage = base.GetBaseDamage(attacker);
|
|
|
|
if (!Core.AOS && (attacker.Player || attacker.Body.IsHuman) && this.Layer == Layer.TwoHanded && (attacker.Skills[SkillName.Anatomy].Value / 400.0) >= Utility.RandomDouble())
|
|
{
|
|
damage *= 1.5;
|
|
|
|
attacker.SendMessage("You deliver a crushing blow!"); // Is this not localized?
|
|
attacker.PlaySound(0x11C);
|
|
}
|
|
|
|
return damage;
|
|
}
|
|
}
|
|
} |