// created on 9/9/2003 at 8:40 AM using System; using Server; using Server.Network; using Server.Items; namespace Server.Items { [FlipableAttribute( 0x26C2, 0x26CC )] public class ElvishBow : BaseRanged { public SkillMod m_SkillMod0; public SkillMod m_SkillMod1; public override int EffectID{ get{ return 0xF42; } } public override Type AmmoType{ get{ return typeof( Arrow ); } } public override Item Ammo{ get{ return new Arrow(); } } public override int InitMinHits{ get{ return 255; } } public override int InitMaxHits{ get{ return 255; } } public override WeaponAbility PrimaryAbility{ get{ return WeaponAbility.ParalyzingBlow; } } public override WeaponAbility SecondaryAbility{ get{ return WeaponAbility.MortalStrike; } } public override int AosStrengthReq{ get{ return 30; } } public override int AosMinDamage{ get{ return 16; } } public override int AosMaxDamage{ get{ return 18; } } public override int AosSpeed{ get{ return 25; } } public override int OldStrengthReq{ get{ return 20; } } public override int OldMinDamage{ get{ return 9; } } public override int OldMaxDamage{ get{ return 41; } } public override int OldSpeed{ get{ return 20; } } public override int DefMaxRange{ get{ return 15; } } public override WeaponAnimation DefAnimation{ get{ return WeaponAnimation.ShootBow; } } [Constructable] public ElvishBow() : base( 0x26C2 ) { Weight = 4.0; Hue = 0x460; Name = "Elvish Bow"; Layer = Layer.TwoHanded; DurabilityLevel = WeaponDurabilityLevel.Indestructible; AccuracyLevel = WeaponAccuracyLevel.Supremely; //Attributes.BonusDex = 10; Attributes.WeaponSpeed = 10; Attributes.WeaponDamage = 60; DefineMods(); } private void DefineMods() { m_SkillMod0 = new DefaultSkillMod( SkillName.Tactics, true, 10 ); m_SkillMod1 = new DefaultSkillMod( SkillName.Archery, true, 10 ); } private void SetMods( Mobile m ) { m.AddSkillMod( m_SkillMod0 ); m.AddSkillMod( m_SkillMod1 ); } public override bool OnEquip( Mobile from ) { SetMods( from ); return true; } public override void OnRemoved( object parent ) { if ( parent is Mobile ) { if ( m_SkillMod0 != null ) m_SkillMod0.Remove(); if ( m_SkillMod1 != null ) m_SkillMod1.Remove(); } } public ElvishBow( Serial serial ) : base( serial ) { DefineMods(); if ( Parent != null && this.Parent is Mobile ) SetMods( (Mobile)Parent ); } 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(); } } } // created on 9/29/2003 at 8:57 PM