Package megamek.common.weapons.handlers
Class SwarmWeaponAttackHandler
java.lang.Object
megamek.common.weapons.handlers.WeaponHandler
megamek.common.weapons.handlers.SwarmWeaponAttackHandler
- All Implemented Interfaces:
Serializable,AttackHandler
- Since:
- Feb 21, 2013
- See Also:
-
Field Summary
Fields inherited from class megamek.common.weapons.handlers.WeaponHandler
advancedPD, ammoType, amsBayEngaged, amsBayEngagedCap, amsBayEngagedMissile, amsEngaged, announcedEntityFiring, apdsEngaged, attackingEntity, attackValue, bDirect, bGlancing, bLowProfileGlancing, bMissed, bSalvo, calcDmgPerHitReport, CapMissileAMSMod, CapMissileArmor, CapMissileMissed, CounterAV, damageType, firstHit, game, gameManager, generalDamageType, hit, insertedAttacks, isJammed, isStrafing, isStrafingFirstShot, missed, nDamPerHit, nRange, nSalvoBonus, nukeS2S, numRapidFireHits, numWeapons, numWeaponsHit, originalAV, parentBayHandler, pdBayEngaged, pdBayEngagedCap, pdBayEngagedMissile, pdOverheated, roll, secondShot, sSalvoType, subjectId, target, throughFront, toHit, typeName, underWater, weapon, weaponAttackAction, weaponEntity, weaponType -
Constructor Summary
ConstructorsConstructorDescriptionSwarmWeaponAttackHandler(ToHitData toHit, WeaponAttackAction waa, Game g, TWGameManager m) -
Method Summary
Modifier and TypeMethodDescriptionprotected intCalculate the damage per hit.protected intCalculate the number of hitsprotected voidhandleEntityDamage(Entity entityTarget, Vector<Report> vPhaseReport, IBuilding bldg, int hits, int nCluster, int bldgAbsorbs) Override to handle zero-damage swarm attacks.Methods inherited from class megamek.common.weapons.handlers.WeaponHandler
absorbBuildingDamage, addGlancingBlowReports, addHeat, allShotsHit, announcedEntityFiring, applyGlancingBlowModifier, applyGlancingBlowModifier, calcAeroDamage, calcAttackValue, calcCapMissileAMSMod, calcCounterAV, calculateNumCluster, calculateNumClusterAero, canEngageCapitalMissile, cares, checkLI, checkPDConditions, checkTerrain, doAmmoFeedProblemCheck, doChecks, getAttacker, getAttackerId, getBracketingMultiplier, getCapMisMod, getCapMissileAMSMod, getClusterModifiers, getCounterAV, getFireTNRoll, getLargeCraftHeat, getNumberWeapons, getParentBayHandler, getSalvoBonus, getTotalGlancingBlowFactor, getWeaponAttackAction, handle, handleArtilleryDriftMarker, handleBuildingDamage, handleClearDamage, handleClearDamage, handleIgnitionDamage, handlePartialCoverHit, handleSpecialMiss, initHit, insertAttacks, isLowProfileGlancingBlow, isStrafing, isStrafingFirstShot, isThunderBolt, reportMiss, reportMiss, restore, setAMSBayReportingFlag, setAnnouncedEntityFiring, setDone, setGlancingBlowFlags, setParentBayHandler, setPDBayReportingFlag, setStrafing, setStrafingFirstShot, specialResolution, unitGainsPartialCoverFromWater, unitStickingOutOfBuilding, useAmmo, usesClusterTable
-
Constructor Details
-
SwarmWeaponAttackHandler
public SwarmWeaponAttackHandler(ToHitData toHit, WeaponAttackAction waa, Game g, TWGameManager m) throws EntityLoadingException - Throws:
EntityLoadingException
-
-
Method Details
-
calcDamagePerHit
protected int calcDamagePerHit()Description copied from class:WeaponHandlerCalculate the damage per hit.- Overrides:
calcDamagePerHitin classWeaponHandler- Returns:
- an
intrepresenting the damage dealt per hit.
-
calcHits
Description copied from class:WeaponHandlerCalculate the number of hits- Overrides:
calcHitsin classWeaponHandler- Parameters:
vPhaseReport- - theVectorcontaining the phase report.- Returns:
- an
intcontaining the number of hits.
-
handleEntityDamage
protected void handleEntityDamage(Entity entityTarget, Vector<Report> vPhaseReport, IBuilding bldg, int hits, int nCluster, int bldgAbsorbs) Override to handle zero-damage swarm attacks. Per BattleTech rules, critical hits are a separate outcome from damage - even with zero damage, swarm attacks should still roll for critical hits. See issue #5584.- Overrides:
handleEntityDamagein classWeaponHandler
-