Package megamek.common.weapons
Class Weapon
java.lang.Object
megamek.common.equipment.EquipmentType
megamek.common.equipment.WeaponType
megamek.common.weapons.Weapon
- All Implemented Interfaces:
Serializable,ITechnology
- Direct Known Subclasses:
AltitudeBombAttack,AmmoWeapon,BAFlamerWeapon,BAMGWeapon,BayWeapon,CLBAAPGaussRifle,CLBAGrenadeLauncherHeavy,CLBALBX,CLBAMGBearhunterSuperheavy,CLBAMGBearhunterSuperheavyACi,CLBAMicroBomb,CLBAMortarHeavy,CLBAMortarLight,CLBARecoillessRifleHeavy,CLBARecoillessRifleLight,CLBARecoillessRifleMedium,DiveBombAttack,EnergyWeapon,InfantryAttack,InfantryWeapon,ISBAAPDS,ISBAFiredrakeNeedler,ISBAGaussRifleDavidLight,ISBAGaussRifleGrandMauler,ISBAGaussRifleKingDavidLight,ISBAGaussRifleMagshot,ISBAGaussRifleTsunami,ISBAGrenadeLauncherMicro,ISBAPlasmaRifle,ISBAPopUpMineLauncher,ISFireExtinguisher,SpaceBombAttack,TAGWeapon
A class representing a weapon.
- Since:
- May 10, 2004
- See Also:
-
Field Summary
FieldsModifier and TypeFieldDescriptionstatic final Stringstatic final Stringstatic final Stringstatic final Stringstatic final Stringstatic final Stringstatic final Stringstatic final Stringstatic final Stringstatic final Stringstatic final Stringstatic final Stringstatic final Stringstatic final Stringstatic final Stringstatic final Stringstatic final Stringstatic final Stringstatic final Stringstatic final Stringstatic final Stringstatic final Stringstatic final Stringstatic final Stringstatic final Stringstatic final Stringstatic final Stringstatic final Stringstatic final Stringstatic final Stringstatic final Stringstatic final Stringstatic final Stringstatic final StringFields 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.fire(WeaponAttackAction weaponAttackAction, Game game, TWGameManager gameManager) getCorrectHandler(ToHitData toHit, WeaponAttackAction waa, Game game, TWGameManager gameManager) Methods inherited from class megamek.common.equipment.WeaponType
addFlags, adjustBattleForceDamageForMinRange, canBeMountedOnBaDwp, getAlphaStrikeHeat, getAlphaStrikeHeatDamage, getAmmoType, getAtClass, getATRanges, getBADamageClass, getBattleForceClass, getBattleForceDamage, getBattleForceDamage, getBattleForceDamage, 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, 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
-
Field Details
-
MODE_FLAMER_DAMAGE
- See Also:
-
MODE_FLAMER_HEAT
- See Also:
-
MODE_AMS_ON
- See Also:
-
MODE_AMS_OFF
- See Also:
-
MODE_AMS_MANUAL
- See Also:
-
MODE_CAP_LASER_AAA
- See Also:
-
MODE_CAPITAL_BRACKET_80
- See Also:
-
MODE_CAPITAL_BRACKET_60
- See Also:
-
MODE_CAPITAL_BRACKET_40
- See Also:
-
MODE_CAP_MISSILE_WAYPOINT_BEARING_EXT
- See Also:
-
MODE_CAP_MISSILE_WAYPOINT_BEARING_LONG
- See Also:
-
MODE_CAP_MISSILE_WAYPOINT_BEARING_MED
- See Also:
-
MODE_CAP_MISSILE_WAYPOINT_BEARING_SHORT
- See Also:
-
MODE_CAP_MISSILE_WAYPOINT
- See Also:
-
MODE_CAP_MISSILE_BEARING_EXT
- See Also:
-
MODE_CAP_MISSILE_BEARING_LONG
- See Also:
-
MODE_CAP_MISSILE_BEARING_MED
- See Also:
-
MODE_CAP_MISSILE_BEARING_SHORT
- See Also:
-
MODE_CAP_MISSILE_TELE_OPERATED
- See Also:
-
MODE_AC_RAPID
- See Also:
-
MODE_AC_SINGLE
- See Also:
-
MODE_UAC_ULTRA
- See Also:
-
MODE_RAC_TWO_SHOT
- See Also:
-
MODE_RAC_THREE_SHOT
- See Also:
-
MODE_RAC_FOUR_SHOT
- See Also:
-
MODE_RAC_FIVE_SHOT
- See Also:
-
MODE_RAC_SIX_SHOT
- See Also:
-
MODE_GAUSS_POWERED_UP
- See Also:
-
MODE_GAUSS_POWERED_DOWN
- See Also:
-
MODE_MISSILE_INDIRECT
- See Also:
-
MODE_INDIRECT_HEAT
- See Also:
-
MODE_PPC_CHARGE
- See Also:
-
MODE_POINT_DEFENSE
- See Also:
-
MODE_NORMAL
- See Also:
-
-
Constructor Details
-
Weapon
public Weapon()
-
-
Method Details
-
fire
@Nullable public AttackHandler fire(WeaponAttackAction weaponAttackAction, Game game, TWGameManager gameManager) -
getCorrectHandler
@Nullable public AttackHandler getCorrectHandler(ToHitData toHit, WeaponAttackAction waa, Game game, TWGameManager gameManager) -
adaptToGameOptions
Adapt 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()!- Parameters:
gameOptions- The GameOptions (game.getOptions())
-