question: @ Override protected int calcAttackValue ( ) { double av = 0 ; int range = RangeType . rangeBracket ( nRange , wtype . getATRanges ( ) , true , false ) ; for ( int wId : weapon . getBayWeapons ( ) ) { Mounted m = ae . getEquipment ( wId ) ; if ( ! m . isBreached ( ) && ! m . isDestroyed ( ) && ! m . isJammed ( ) ) { WeaponType bayWType = ( ( WeaponType ) m . getType ( ) ) ; if ( range == WeaponType . RANGE_SHORT ) { av = av + bayWType . getShortAV ( ) ; } else if ( range == WeaponType . RANGE_MED ) { av = av + bayWType . getMedAV ( ) ; } else if ( range == WeaponType . RANGE_LONG ) { av = av + bayWType . getLongAV ( ) ; } else if ( range == WeaponType . RANGE_EXT ) { av = av + bayWType . getExtAV ( ) ; } } } if ( bDirect ) { av = Math . min ( av + ( toHit . getMoS ( ) / 3 ) , av * 2 ) ; } if ( bGlancing ) { av = ( int ) Math . floor ( av / 2.0 ) ; } av = ( int ) Math . floor ( getBracketingMultiplier ( ) * av ) ; return ( int ) Math . ceil ( av ) ; }
target:  Calculate the attack value based on range