Class ACWeapon
java.lang.Object
megamek.common.equipment.EquipmentType
megamek.common.equipment.WeaponType
megamek.common.weapons.Weapon
megamek.common.weapons.AmmoWeapon
megamek.common.weapons.autoCannons.ACWeapon
- All Implemented Interfaces:
Serializable,ITechnology
- Direct Known Subclasses:
CLImprovedAC10,CLImprovedAC2,CLImprovedAC20,CLImprovedAC5,HVACWeapon,ISAC10,ISAC10i,ISAC10Primitive,ISAC15,ISAC2,ISAC20,ISAC20Primitive,ISAC2Primitive,ISAC5,ISAC5Primitive,ISGAC2,ISGAC4,ISGAC6,ISGAC8,LACWeapon,ProtoMekACWeapon
N.B. This class is overridden for AC/2, AC/5, AC/10, AC/10, NOT ultras/LB/RAC. (No difference between ACWeapon and
AmmoWeapon except the ability to use special ammunition (precision, AP, etc.))
- See Also:
-
Field Summary
Fields inherited from class megamek.common.weapons.Weapon
MODE_AC_RAPID, MODE_AC_SINGLE, MODE_AMS_MANUAL, MODE_AMS_OFF, MODE_AMS_ON, MODE_CAP_LASER_AAA, MODE_CAP_MISSILE_BEARING_EXT, MODE_CAP_MISSILE_BEARING_LONG, MODE_CAP_MISSILE_BEARING_MED, MODE_CAP_MISSILE_BEARING_SHORT, MODE_CAP_MISSILE_TELE_OPERATED, MODE_CAP_MISSILE_WAYPOINT, MODE_CAP_MISSILE_WAYPOINT_BEARING_EXT, MODE_CAP_MISSILE_WAYPOINT_BEARING_LONG, MODE_CAP_MISSILE_WAYPOINT_BEARING_MED, MODE_CAP_MISSILE_WAYPOINT_BEARING_SHORT, MODE_CAPITAL_BRACKET_40, MODE_CAPITAL_BRACKET_60, MODE_CAPITAL_BRACKET_80, MODE_FLAMER_DAMAGE, MODE_FLAMER_HEAT, MODE_GAUSS_POWERED_DOWN, MODE_GAUSS_POWERED_UP, MODE_INDIRECT_HEAT, MODE_MISSILE_INDIRECT, MODE_NORMAL, MODE_POINT_DEFENSE, MODE_PPC_CHARGE, MODE_RAC_FIVE_SHOT, MODE_RAC_FOUR_SHOT, MODE_RAC_SIX_SHOT, MODE_RAC_THREE_SHOT, MODE_RAC_TWO_SHOT, MODE_UAC_ULTRAFields inherited from class megamek.common.equipment.WeaponType
AIRBORNE_WEAPON_RANGES, ammoType, atClass, baDamageClass, BF_CLASS_AC, BF_CLASS_CAPITAL, BF_CLASS_CAPITAL_MISSILE, BF_CLASS_FLAK, BF_CLASS_IATM, BF_CLASS_LRM, BF_CLASS_MML, BF_CLASS_REL, BF_CLASS_SRM, BF_CLASS_STANDARD, BF_CLASS_SUBCAPITAL, BF_CLASS_TORPEDO, capital, CLASS_AC, CLASS_AMS, CLASS_AR10, CLASS_ARTILLERY, CLASS_ATM, CLASS_CAPITAL_AC, CLASS_CAPITAL_GAUSS, CLASS_CAPITAL_LASER, CLASS_CAPITAL_MD, CLASS_CAPITAL_MISSILE, CLASS_CAPITAL_PPC, CLASS_GAUSS, CLASS_LASER, CLASS_LBX_AC, CLASS_LRM, CLASS_MML, CLASS_MORTAR, CLASS_MRM, CLASS_NONE, CLASS_PLASMA, CLASS_POINT_DEFENSE, CLASS_PPC, CLASS_PULSE_LASER, CLASS_ROCKET_LAUNCHER, CLASS_SCREEN, CLASS_SRM, CLASS_SUB_CAPITAL_CANNON, CLASS_TELE_MISSILE, CLASS_THUNDERBOLT, damage, DAMAGE_ARTILLERY, DAMAGE_BY_CLUSTER_TABLE, DAMAGE_SPECIAL, DAMAGE_VARIABLE, damageLong, damageMedium, damageShort, explosionDamage, extAV, extremeRange, F_AC, F_AERO_WEAPON, F_ALT_BOMB, F_AMS, F_AMS_BAY, F_ANTI_SHIP, F_ARROW_IV, F_ARTEMIS_COMPATIBLE, F_ARTILLERY, F_ATM, F_AUTO_TARGET, F_B_POD, F_BA_INDIVIDUAL, F_BA_WEAPON, F_BALLISTIC, F_BOMB_WEAPON, F_BOMBAST_LASER, F_BURST_FIRE, F_C3M, F_C3MBS, F_CRUISE_MISSILE, F_CWS, F_DIRECT_FIRE, F_DIVE_BOMB, F_DOUBLE_ONE_SHOT, F_ENERGY, F_ER_FLAMER, F_EXTINGUISHER, F_FLAMER, F_GAUSS, F_HAG, F_HEAT_AS_DICE, F_HEAT_VARIABLE, F_HVAC, F_HYPER, F_INCENDIARY_NEEDLES, F_INDIRECT_FIRE, F_INF_AA, F_INF_ARCHAIC, F_INF_BURST, F_INF_CLIMBING_CLAWS, F_INF_DISPOSABLE, F_INF_ENCUMBER, F_INF_NONPENETRATING, F_INF_POINT_BLANK, F_INF_SUPPORT, F_INFANTRY, F_INFANTRY_ATTACK, F_INFANTRY_ONLY, F_INFERNO, F_LARGE_MISSILE, F_LASER, F_LRM, F_M_POD, F_MASS_DRIVER, F_MEK_MORTAR, F_MEK_WEAPON, F_MG, F_MGA, F_MISSILE, F_MISSILE_HITS, F_MML, F_MORTAR_TYPE_INDIRECT, F_MRM, F_NARC, F_NO_AIM, F_NO_FIRES, F_ONE_SHOT, F_PD_BAY, F_PLASMA, F_PLASMA_MFUK, F_PPC, F_PPC_CAPACITOR_COMPATIBLE, F_PROTO_WEAPON, F_PROTOTYPE, F_PULSE, F_REPEATING, F_SOLO_ATTACK, F_SPACE_BOMB, F_SRM, F_TAG, F_TANK_WEAPON, F_TASER, F_TSEMP, F_VGL, F_VSP, heat, heatAdjustmentForBvCalculation, infDamageClass, longAV, longRange, maxRange, medAV, mediumRange, minimumRange, missileArmor, rackSize, RANGE_EXT, RANGE_LONG, RANGE_MED, RANGE_SHORT, S_IMPROVED, shortAV, shortRange, subCapital, waterExtremeRange, waterLongRange, waterMediumRange, waterShortRange, WEAPON_BURST_1D6, WEAPON_BURST_2D6, WEAPON_BURST_3D6, WEAPON_BURST_4D6, WEAPON_BURST_5D6, WEAPON_BURST_6D6, WEAPON_BURST_7D6, WEAPON_BURST_HALF_D6, WEAPON_CLUSTER_BALLISTIC, WEAPON_CLUSTER_MISSILE, WEAPON_CLUSTER_MISSILE_1D6, WEAPON_CLUSTER_MISSILE_2D6, WEAPON_CLUSTER_MISSILE_3D6, WEAPON_DIRECT_FIRE, WEAPON_NA, WEAPON_PLASMA, WEAPON_PULSEFields inherited from class megamek.common.equipment.EquipmentType
allTypes, bv, BV_VARIABLE, cost, COST_VARIABLE, CRITICAL_SLOTS_VARIABLE, criticalSlots, endTurnModes, explosive, flags, hittable, instantModeSwitch, internalName, lookupHash, modes, name, namesVector, omniFixedOnly, rulesRefs, shortName, sortingName, spreadable, structureAbbreviations, structureCosts, structureNames, svSlots, T_ARMOR_AEROSPACE, T_ARMOR_ALUM, T_ARMOR_ANTI_PENETRATIVE_ABLATION, T_ARMOR_BA_FIRE_RESIST, T_ARMOR_BA_MIMETIC, T_ARMOR_BA_REACTIVE, T_ARMOR_BA_REFLECTIVE, T_ARMOR_BA_STANDARD, T_ARMOR_BA_STANDARD_ADVANCED, T_ARMOR_BA_STANDARD_PROTOTYPE, T_ARMOR_BA_STEALTH, T_ARMOR_BA_STEALTH_BASIC, T_ARMOR_BA_STEALTH_IMP, T_ARMOR_BA_STEALTH_PROTOTYPE, T_ARMOR_BALLISTIC_REINFORCED, T_ARMOR_COMMERCIAL, T_ARMOR_EDP, T_ARMOR_FERRO_ALUM_PROTO, T_ARMOR_FERRO_FIBROUS, T_ARMOR_FERRO_FIBROUS_PROTO, T_ARMOR_FERRO_LAMELLOR, T_ARMOR_HARDENED, T_ARMOR_HEAT_DISSIPATING, T_ARMOR_HEAVY_ALUM, T_ARMOR_HEAVY_FERRO, T_ARMOR_HEAVY_INDUSTRIAL, T_ARMOR_IMPACT_RESISTANT, T_ARMOR_INDUSTRIAL, T_ARMOR_LC_FERRO_CARBIDE, T_ARMOR_LC_FERRO_IMP, T_ARMOR_LC_LAMELLOR_FERRO_CARBIDE, T_ARMOR_LIGHT_ALUM, T_ARMOR_LIGHT_FERRO, T_ARMOR_PATCHWORK, T_ARMOR_PRIMITIVE, T_ARMOR_PRIMITIVE_AERO, T_ARMOR_PRIMITIVE_FIGHTER, T_ARMOR_REACTIVE, T_ARMOR_REFLECTIVE, T_ARMOR_STANDARD, T_ARMOR_STANDARD_PROTOMEK, T_ARMOR_STEALTH, T_ARMOR_STEALTH_VEHICLE, T_ARMOR_SV_BAR_10, T_ARMOR_SV_BAR_2, T_ARMOR_SV_BAR_3, T_ARMOR_SV_BAR_4, T_ARMOR_SV_BAR_5, T_ARMOR_SV_BAR_6, T_ARMOR_SV_BAR_7, T_ARMOR_SV_BAR_8, T_ARMOR_SV_BAR_9, T_ARMOR_UNKNOWN, T_STRUCTURE_COMPOSITE, T_STRUCTURE_ENDO_COMPOSITE, T_STRUCTURE_ENDO_PROTOTYPE, T_STRUCTURE_ENDO_STEEL, T_STRUCTURE_INDUSTRIAL, T_STRUCTURE_REINFORCED, T_STRUCTURE_STANDARD, T_STRUCTURE_UNKNOWN, TA_NONE, TA_STANDARD_STRUCTURE, tankSlots, techAdvancement, toHitModifier, tonnage, TONNAGE_VARIABLE, VARIABLE, YAML_VERSIONFields inherited from interface megamek.common.interfaces.ITechnology
DATE_ES, DATE_NONE, DATE_PS -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoidadaptToGameOptions(IGameOptions gameOptions) Adapt the weapon type to the Game Options such as PPC Field Inhibitors or Dial Down Damage, usually adding or removing modes.intdoublegetBattleForceDamage(int range) Damage calculation for BattleForce and AlphaStrikegetCorrectHandler(ToHitData toHit, WeaponAttackAction waa, Game game, TWGameManager gameManager) intMethods inherited from class megamek.common.weapons.AmmoWeapon
checkAmmo, fireMethods inherited from class megamek.common.equipment.WeaponType
addFlags, adjustBattleForceDamageForMinRange, canBeMountedOnBaDwp, getAlphaStrikeHeat, getAlphaStrikeHeatDamage, getAmmoType, getAtClass, getATRanges, getBADamageClass, getBattleForceDamage, getBattleForceDamage, getBayType, getBayType, getBV, getCost, getDamage, getExplosionDamage, getExtAV, getExtremeRange, getFireTN, getHeat, getHeatAdjustmentForBvCalculation, getInfantryDamageClass, getLongAV, getLongRange, getMaxRange, getMaxRange, getMaxRange, getMedAV, getMediumRange, getMinimumRange, getMissileArmor, getRackSize, getRanges, getRanges, getRoundExtAV, getRoundLongAV, getRoundMedAV, getRoundShortAV, getShortAV, getShortRange, getWExtremeRange, getWLongRange, getWMediumRange, getWRanges, getWShortRange, getYamlData, getYamlTypeName, hasFlag, hasIndirectFire, initializeTypes, isAlphaStrikeIndirectFire, isAlphaStrikePointDefense, isCapital, isSplittableOverCriticalSlots, isSubCapital, relevantToTargetingComputer, setAmmoType, setDamage, setLongRange, setMediumRange, setMinimumRange, setName, setRackSize, setShortRange, toStringMethods inherited from class megamek.common.equipment.EquipmentType
addEndTurnMode, addLookupName, addLookupName, addMode, addType, allTypes, clearLookupNames, clearModes, equals, get, get, getAllStructureCodeName, getAllTypes, getArmorFromName, getArmorType, getArmorTypeName, getArmorTypeName, getBaseAvailability, getBaseBV, getBaseCost, getBaseCriticalSlots, getBaseTonnage, getBV, getCommonDate, getCost, getDesc, getDesc, getEquipDateAsString, getExtinctionDate, getExtinctionDate, getExtinctionDate, getFlags, getInternalName, getIntroductionDate, getIntroductionDate, getIntroductionDate, getLookupCollisions, getMode, getModes, getModesCount, getModesCount, getName, getName, getNames, getNumCriticalSlots, getNumCriticalSlots, getProductionDate, getProductionDate, getPrototypeDate, getPrototypeDate, getRawCost, getReintroductionDate, getReintroductionDate, getReintroductionDate, getRulesRefs, getShortName, getShortName, getSortingName, getStaticTechLevel, getStructureCost, getStructureFromName, getStructureTechAdvancement, getStructureType, getStructureTypeAbbrev, getStructureTypeName, getStructureTypeName, getSupportVeeSlots, getTankSlots, getTechAdvancement, getTechBase, getTechLevel, getTechLevel, getTechLevels, getTechRating, getToHitModifier, getToHitModifierAtRange, getTonnage, getTonnage, getTonnage, getTonnage, hasAnyFlag, hasAnyFlag, hasFlag, hashCode, hasHitModifiersByRange, hasInstantModeSwitch, hasModes, hasModeType, is, isAnyOf, isArmorType, isC3Equipment, isClan, isEligibleForBeingArmored, isExplosive, isExplosive, isHittable, isIntroLevel, isMixedTech, isNextTurnModeSwitch, isOmniFixedOnly, isSpreadable, isStructureType, isUnofficial, isVariableBV, isVariableCost, isVariableCriticalSlots, isVariableSize, isVariableTonnage, matchesName, removeMode, setFlags, setInstantModeSwitch, setInternalName, setModes, variableMaxSize, variableStepSizeMethods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, waitMethods inherited from interface megamek.common.interfaces.ITechnology
calcEraAvailability, calcEraAvailability, calcYearAvailability, calcYearAvailability, calcYearAvailability, findMinimumRulesLevel, findMinimumRulesLevel, getAdvancedRange, getAdvancedRange, getCodeFromIOAbbr, getCodeFromMMAbbr, getCommonDate, getEraAvailabilityName, getEraAvailabilityName, getExperimentalRange, getExperimentalRange, getExtinctionRange, getExtinctionRange, getFullRatingName, getFullRatingName, getProductionDate, getPrototypeDate, getSimpleLevel, getSimpleLevel, getSimpleLevel, getStandardRange, getStandardRange, getTechRatingName, isAvailableIn, isAvailableIn, isAvailableIn, isExtinct, isExtinct, isExtinct, isLegal, isLegal
-
Constructor Details
-
ACWeapon
public ACWeapon()
-
-
Method Details
-
getCorrectHandler
@Nullable public AttackHandler getCorrectHandler(ToHitData toHit, WeaponAttackAction waa, Game game, TWGameManager gameManager) - Overrides:
getCorrectHandlerin classAmmoWeapon
-
getDamage
public int getDamage()- Overrides:
getDamagein classWeaponType
-
getBattleForceDamage
public double getBattleForceDamage(int range) Description copied from class:WeaponTypeDamage calculation for BattleForce and AlphaStrike- Overrides:
getBattleForceDamagein classWeaponType- Parameters:
range- The range in hexes- Returns:
- Damage in BattleForce scale
-
getBattleForceClass
public int getBattleForceClass()- Overrides:
getBattleForceClassin classWeaponType- Returns:
- The class of weapons for those that are tracked separately from standard damage (AlphaStrike)
-
adaptToGameOptions
Description copied from class:WeaponAdapt the weapon type to the Game Options such as PPC Field Inhibitors or Dial Down Damage, usually adding or removing modes. When overriding this in a weapon subclass, call super()!- Overrides:
adaptToGameOptionsin classWeapon- Parameters:
gameOptions- The GameOptions (game.getOptions())
-