(fit, container, context, projectionRange, **kwargs)
| 30619 | |
| 30620 | @staticmethod |
| 30621 | def handler(fit, container, context, projectionRange, **kwargs): |
| 30622 | if 'projected' not in context: |
| 30623 | return |
| 30624 | if fit.ship.getModifiedItemAttr('disallowOffensiveModifiers'): |
| 30625 | return |
| 30626 | if container.getModifiedItemAttr('maxRange', 0) < (projectionRange or 0): |
| 30627 | return |
| 30628 | for srcAttr, tgtAttr in ( |
| 30629 | ('trackingSpeedBonus', 'trackingSpeed'), |
| 30630 | ('maxRangeBonus', 'maxRange'), |
| 30631 | ('falloffBonus', 'falloff') |
| 30632 | ): |
| 30633 | fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Gunnery'), |
| 30634 | tgtAttr, container.getModifiedItemAttr(srcAttr), |
| 30635 | stackingPenalties=True, **kwargs) |
| 30636 | |
| 30637 | |
| 30638 | class Effect6695(BaseEffect): |
nothing calls this directly
no test coverage detected