(fit, beacon, context, projectionRange, **kwargs)
| 36856 | |
| 36857 | @staticmethod |
| 36858 | def handler(fit, beacon, context, projectionRange, **kwargs): |
| 36859 | fit.modules.filteredItemMultiply(lambda mod: mod.item.requiresSkill('Gunnery'), |
| 36860 | 'damageMultiplier', beacon.getModifiedItemAttr('damageMultiplierMultiplier'), |
| 36861 | stackingPenalties=True, **kwargs) |
| 36862 | for attr in ('emDamage', 'explosiveDamage', 'kineticDamage', 'thermalDamage'): |
| 36863 | fit.modules.filteredChargeMultiply(lambda mod: mod.charge.requiresSkill('Missile Launcher Operation'), |
| 36864 | attr, beacon.getModifiedItemAttr('damageMultiplierMultiplier'), |
| 36865 | stackingPenalties=True, penaltyGroup='postMul', **kwargs) |
| 36866 | fit.drones.filteredItemMultiply(lambda drone: drone.item.requiresSkill('Drones'), |
| 36867 | 'damageMultiplier', beacon.getModifiedItemAttr('damageMultiplierMultiplier'), |
| 36868 | stackingPenalties=True, penaltyGroup='postMul', **kwargs) |
| 36869 | fit.fighters.filteredItemMultiply(lambda drone: drone.item.requiresSkill('Fighters'), |
| 36870 | 'damageMultiplier', beacon.getModifiedItemAttr('damageMultiplierMultiplier'), |
| 36871 | stackingPenalties=True, penaltyGroup='postMul', **kwargs) |
| 36872 | fit.modules.filteredItemMultiply(lambda mod: mod.item.requiresSkill('Gunnery'), |
| 36873 | 'trackingSpeed', beacon.getModifiedItemAttr('trackingSpeedMultiplier'), |
| 36874 | stackingPenalties=True, penaltyGroup='postMul', **kwargs) |
| 36875 | fit.drones.filteredItemMultiply(lambda drone: True, |
| 36876 | 'trackingSpeed', beacon.getModifiedItemAttr('trackingSpeedMultiplier'), |
| 36877 | stackingPenalties=True, penaltyGroup='postMul', **kwargs) |
| 36878 | for attr in ('fighterAbilityAttackMissileExplosionRadius', 'fighterAbilityMissilesExplosionRadius'): |
| 36879 | fit.fighters.filteredItemMultiply( |
| 36880 | lambda mod: mod.item.requiresSkill('Fighters'), |
| 36881 | attr, beacon.getModifiedItemAttr('aoeCloudSizeMultiplier'), |
| 36882 | stackingPenalties=True, penaltyGroup='postMul', **kwargs) |
| 36883 | fit.ship.multiplyItemAttr('armorHP', beacon.getModifiedItemAttr('armorHPMultiplier'), **kwargs) |
| 36884 | fit.modules.filteredChargeMultiply(lambda mod: mod.charge.requiresSkill('Missile Launcher Operation'), |
| 36885 | 'aoeCloudSize', beacon.getModifiedItemAttr('aoeCloudSizeMultiplier'), |
| 36886 | stackingPenalties=True, penaltyGroup='postMul', **kwargs) |
| 36887 | fit.ship.boostItemAttr('shieldThermalDamageResonance', |
| 36888 | beacon.getModifiedItemAttr('shieldThermalDamageResistanceBonus'), |
| 36889 | stackingPenalties=True, **kwargs) |
| 36890 | fit.ship.boostItemAttr('armorThermalDamageResonance', |
| 36891 | beacon.getModifiedItemAttr('armorThermalDamageResistanceBonus'), |
| 36892 | stackingPenalties=True, **kwargs) |
| 36893 | fit.ship.boostItemAttr('thermalDamageResonance', beacon.getModifiedItemAttr('thermalDamageResistanceBonus'), |
| 36894 | stackingPenalties=True, **kwargs) |
| 36895 | |
| 36896 | |
| 36897 | class Effect8117(BaseEffect): |
nothing calls this directly
no test coverage detected