using System; namespace Server.Items { [FlipableAttribute( 0x1442, 0x1443 )] public class Axeoftheorcs : BaseAxe { public static DateTime LastEffectTime = DateTime.Now; public override int InitMinHits{ get{ return 255; } } public override int InitMaxHits{ get{ return 255; } } public override WeaponAbility PrimaryAbility{ get{ return WeaponAbility.CrushingBlow; } } public override WeaponAbility SecondaryAbility{ get{ return WeaponAbility.ParalyzingBlow; } } public override int AosStrengthReq{ get{ return 40; } } public override int AosMinDamage{ get{ return 15; } } public override int AosMaxDamage{ get{ return 17; } } public override int AosSpeed{ get{ return 28; } } public override int OldStrengthReq{ get{ return 40; } } public override int OldMinDamage{ get{ return 6; } } public override int OldMaxDamage{ get{ return 34; } } public override int OldSpeed{ get{ return 30; } } public override int DefHitSound{ get{ return 0x237; } } public override int DefMissSound{ get{ return 0x23A; } } [Constructable] public Axeoftheorcs() : base( 0x1443) { Weight = 6.0; Hue = 1150; Name = "Axe of the orcs"; } public override void OnDoubleClick( Mobile from ) { if ( Parent != from ) { from.SendMessage( "You must wear this armor to transform"); } else if ( from.Mounted ) { from.SendMessage( "You Cannot Transform While Mounted"); } else if ( from.TithingPoints < 100 ) { from.SendMessage( "You Need At Least 100 Tithing Points to Transform" ); } else { if ( from.BodyValue == 0x190 || from.BodyValue == 0x191 ) { from.TithingPoints = ( from.TithingPoints - 1000 ); from.BodyValue = 138; from.HueMod = 0x0; from.PlaySound( 705 ); from.NameMod = "an orc lord"; from.VirtualArmorMod = 50; Effects.SendLocationParticles( EffectItem.Create( from.Location, from.Map, EffectItem.DefaultDuration ), 0x376A, 1, 29, 0x47D, 2, 9962, 0 ); Effects.SendLocationParticles( EffectItem.Create( new Point3D( from.X, from.Y, from.Z - 7 ), from.Map, EffectItem.DefaultDuration ), 0x37C4, 1, 29, 0x47D, 2, 9502, 0 ); from.AddToBackpack( new Antidote() ); } else { if (from.Female == true ) { from.BodyValue = 0x191; from.PlaySound( 705 ); from.NameMod = null; from.VirtualArmorMod = 0; Effects.SendLocationParticles( EffectItem.Create( from.Location, from.Map, EffectItem.DefaultDuration ), 0x376A, 1, 29, 0x47D, 2, 9962, 0 ); Effects.SendLocationParticles( EffectItem.Create( new Point3D( from.X, from.Y, from.Z - 7 ), from.Map, EffectItem.DefaultDuration ), 0x37C4, 1, 29, 0x47D, 2, 9502, 0 ); } else { from.BodyValue = 0x190; from.PlaySound( 705 ); from.NameMod = null; from.VirtualArmorMod = 0; from.HueMod = -1; Effects.SendLocationParticles( EffectItem.Create( from.Location, from.Map, EffectItem.DefaultDuration ), 0x376A, 1, 29, 0x47D, 2, 9962, 0 ); Effects.SendLocationParticles( EffectItem.Create( new Point3D( from.X, from.Y, from.Z - 7 ), from.Map, EffectItem.DefaultDuration ), 0x37C4, 1, 29, 0x47D, 2, 9502, 0 ); } } } } public Axeoftheorcs( Serial serial ) : base( serial ) { } public override void OnHit( Mobile attacker, Mobile defender ) { if ( DateTime.Now > LastEffectTime + TimeSpan.FromSeconds( 10.0 ) ) { defender.PlaySound( 0x208 ); Effects.SendTargetEffect( defender, 0x3709, 32 ); defender.Damage( Utility.Random( 20, 20 ) ); LastEffectTime = DateTime.Now; } base.OnHit( attacker, defender ); } public override void Serialize( GenericWriter writer ) { base.Serialize( writer ); writer.Write( (int) 0 ); // version writer.Write( (DateTime) LastEffectTime ); } public override void Deserialize( GenericReader reader ) { base.Deserialize( reader ); int version = reader.ReadInt(); LastEffectTime = reader.ReadDateTime(); } } }// created on 10/16/2003 at 11:23 PM