(fit, module, context, projectionRange, **kwargs)
| 29802 | |
| 29803 | @staticmethod |
| 29804 | def handler(fit, module, context, projectionRange, **kwargs): |
| 29805 | if 'projected' not in context: |
| 29806 | return |
| 29807 | if fit.ship.getModifiedItemAttr('disallowAssistance'): |
| 29808 | return |
| 29809 | if module.charge and module.charge.name == 'Nanite Repair Paste': |
| 29810 | multiplier = 3 |
| 29811 | else: |
| 29812 | multiplier = 1 |
| 29813 | amount = module.getModifiedItemAttr('armorDamageAmount') * multiplier |
| 29814 | amount *= calculateRangeFactor( |
| 29815 | srcOptimalRange=module.getModifiedItemAttr('maxRange'), |
| 29816 | srcFalloffRange=module.getModifiedItemAttr('falloffEffectiveness'), |
| 29817 | distance=projectionRange) |
| 29818 | speed = module.getModifiedItemAttr('duration') / 1000.0 |
| 29819 | fit._armorRr.append((amount, speed)) |
| 29820 | fit._armorRrPreSpool.append((amount, speed)) |
| 29821 | fit._armorRrFullSpool.append((amount, speed)) |
| 29822 | |
| 29823 | |
| 29824 | class Effect6652(BaseEffect): |
nothing calls this directly
no test coverage detected