Class AdvancedSRMWeapon
java.lang.Object
megamek.common.equipment.EquipmentType
megamek.common.equipment.WeaponType
megamek.common.weapons.Weapon
megamek.common.weapons.AmmoWeapon
megamek.common.weapons.missiles.MissileWeapon
megamek.common.weapons.srms.SRMWeapon
megamek.common.weapons.battleArmor.AdvancedSRMWeapon
- All Implemented Interfaces:
Serializable,ITechnology
- Direct Known Subclasses:
CLAdvancedSRM1,CLAdvancedSRM1OS,CLAdvancedSRM2,CLAdvancedSRM2OS,CLAdvancedSRM3,CLAdvancedSRM3OS,CLAdvancedSRM4,CLAdvancedSRM4OS,CLAdvancedSRM5,CLAdvancedSRM5OS,CLAdvancedSRM6,CLAdvancedSRM6OS
- 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 TypeMethodDescriptionintdoublegetBattleForceDamage(int range) non-squad size version for AlphaStrike base damagedoublegetBattleForceDamage(int range, int baSquadSize) BattleForce-scale damage for BattleArmor, using cluster hits table based on squad size.getCorrectHandler(ToHitData toHit, WeaponAttackAction waa, Game game, TWGameManager manager) Sorting with the String returned by this method results in an improved ordering and grouping of equipment than by getName(); for example, AC2/5/10/20 will appear in that order instead of the order AC10/2/20/5 and S/M/L Lasers will be grouped together.Methods inherited from class megamek.common.weapons.srms.SRMWeapon
getBattleForceDamage, getSRMHandler, getTonnageMethods inherited from class megamek.common.weapons.missiles.MissileWeapon
canBeMountedOnBaDwpMethods inherited from class megamek.common.weapons.AmmoWeapon
checkAmmo, fireMethods inherited from class megamek.common.weapons.Weapon
adaptToGameOptionsMethods inherited from class megamek.common.equipment.WeaponType
addFlags, adjustBattleForceDamageForMinRange, getAlphaStrikeHeat, getAlphaStrikeHeatDamage, getAmmoType, getAtClass, getATRanges, getBADamageClass, getBayType, getBayType, getBV, getCost, getDamage, 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, getStaticTechLevel, getStructureCost, getStructureFromName, getStructureTechAdvancement, getStructureType, getStructureTypeAbbrev, getStructureTypeName, getStructureTypeName, getSupportVeeSlots, getTankSlots, getTechAdvancement, getTechBase, getTechLevel, getTechLevel, getTechLevels, getTechRating, getToHitModifier, getToHitModifierAtRange, 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
-
AdvancedSRMWeapon
public AdvancedSRMWeapon()
-
-
Method Details
-
getCorrectHandler
@Nullable public AttackHandler getCorrectHandler(ToHitData toHit, WeaponAttackAction waa, Game game, TWGameManager manager) - Overrides:
getCorrectHandlerin classSRMWeapon
-
getBattleForceDamage
public double getBattleForceDamage(int range) non-squad size version for AlphaStrike base damage- Overrides:
getBattleForceDamagein classMissileWeapon- Parameters:
range- The range in hexes- Returns:
- Damage in BattleForce scale
-
getBattleForceDamage
public double getBattleForceDamage(int range, int baSquadSize) Description copied from class:WeaponTypeBattleForce-scale damage for BattleArmor, using cluster hits table based on squad size. AlphaStrike uses a different method.- Overrides:
getBattleForceDamagein classSRMWeapon- Parameters:
range- - the range in hexesbaSquadSize- - the number of suits in the squad/point/level i- Returns:
- - damage in BattleForce scale
-
getBattleForceClass
public int getBattleForceClass()- Overrides:
getBattleForceClassin classSRMWeapon- Returns:
- The class of weapons for those that are tracked separately from standard damage (AlphaStrike)
-
getSortingName
Description copied from class:EquipmentTypeSorting with the String returned by this method results in an improved ordering and grouping of equipment than by getName(); for example, AC2/5/10/20 will appear in that order instead of the order AC10/2/20/5 and S/M/L Lasers will be grouped together.- Overrides:
getSortingNamein classSRMWeapon- Returns:
- A String similar to getName() but modified to support a better sorting
-