Class SRMWeapon

All Implemented Interfaces:
Serializable, ITechnology
Direct Known Subclasses:
AdvancedSRMWeapon, CLBASRM1, CLBASRM1OS, CLBASRM2, CLBASRM2OS, CLBASRM3, CLBASRM3OS, CLBASRM4, CLBASRM4OS, CLBASRM5, CLBASRM5OS, CLBASRM6, CLBASRM6OS, CLImprovedSRM2, CLImprovedSRM4, CLImprovedSRM6, CLPrototypeStreakSRMWeapon, CLSRM1, CLSRM1OS, CLSRM2, CLSRM2IOS, CLSRM2OS, CLSRM3, CLSRM3OS, CLSRM4, CLSRM4IOS, CLSRM4OS, CLSRM5, CLSRM5OS, CLSRM6, CLSRM6IOS, CLSRM6OS, ISBASRM1, ISBASRM1OS, ISBASRM2, ISBASRM2OS, ISBASRM3, ISBASRM3OS, ISBASRM4, ISBASRM4OS, ISBASRM5, ISBASRM5OS, ISBASRM6, ISBASRM6OS, ISSRM1, ISSRM1OS, ISSRM2, ISSRM2IOS, ISSRM2OS, ISSRM2Primitive, ISSRM3, ISSRM3OS, ISSRM4, ISSRM4IOS, ISSRM4OS, ISSRM4Primitive, ISSRM5, ISSRM5OS, ISSRM6, ISSRM6IOS, ISSRM6OS, ISSRM6Primitive, StreakSRMWeapon

public abstract class SRMWeapon extends MissileWeapon
See Also:
  • Constructor Details

    • SRMWeapon

      public SRMWeapon()
  • Method Details

    • getTonnage

      public double getTonnage(Entity entity, int location, double size)
      Description copied from class: EquipmentType
      Calculates the weight of the equipment. If entity is null, equipment without a fixed weight will return EquipmentType.TONNAGE_VARIABLE.
      Overrides:
      getTonnage in class EquipmentType
      Parameters:
      entity - The unit the equipment is mounted on
      location - The mount location
      size - The size (for variable-sized equipment)
      Returns:
      The weight of the equipment in tons
    • getCorrectHandler

      public AttackHandler getCorrectHandler(ToHitData toHit, WeaponAttackAction waa, Game game, TWGameManager manager)
      Overrides:
      getCorrectHandler in class MissileWeapon
    • getBattleForceDamage

      public double getBattleForceDamage(int range, Mounted<?> fcs)
      Description copied from class: WeaponType
      Damage calculation for BattleForce and AlphaStrike for missile weapons that may have advanced fire control
      Overrides:
      getBattleForceDamage in class MissileWeapon
      Parameters:
      range - - the range in hexes
      fcs - - linked Artemis or Apollo FCS (null for none)
      Returns:
      - damage in BattleForce scale
    • getBattleForceDamage

      public double getBattleForceDamage(int range, int baSquadSize)
      Description copied from class: WeaponType
      BattleForce-scale damage for BattleArmor, using cluster hits table based on squad size. AlphaStrike uses a different method.
      Overrides:
      getBattleForceDamage in class MissileWeapon
      Parameters:
      range - - the range in hexes
      baSquadSize - - the number of suits in the squad/point/level i
      Returns:
      - damage in BattleForce scale
    • getBattleForceClass

      public int getBattleForceClass()
      Overrides:
      getBattleForceClass in class WeaponType
      Returns:
      The class of weapons for those that are tracked separately from standard damage (AlphaStrike)
    • getSortingName

      public String getSortingName()
      Description copied from class: EquipmentType
      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.
      Overrides:
      getSortingName in class EquipmentType
      Returns:
      A String similar to getName() but modified to support a better sorting
    • getSRMHandler

      @Nullable public static AttackHandler getSRMHandler(ToHitData toHit, WeaponAttackAction waa, Game game, TWGameManager manager)