(fit, src, context, projectionRange, **kwargs)
| 28604 | |
| 28605 | @staticmethod |
| 28606 | def handler(fit, src, context, projectionRange, **kwargs): |
| 28607 | # Remote effect bonuses (duration / amount / range / falloff) |
| 28608 | for skill, amtAttr, stack in ( |
| 28609 | ('Capital Remote Armor Repair Systems', 'armorDamageAmount', True), |
| 28610 | ('Capital Shield Emission Systems', 'shieldBonus', True), |
| 28611 | ('Capital Capacitor Emission Systems', 'powerTransferAmount', False), |
| 28612 | ('Capital Remote Hull Repair Systems', 'structureDamageAmount', False)): |
| 28613 | fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill(skill), 'duration', |
| 28614 | src.getModifiedItemAttr('siegeRemoteLogisticsDurationBonus'), **kwargs) |
| 28615 | fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill(skill), amtAttr, |
| 28616 | src.getModifiedItemAttr('siegeRemoteLogisticsAmountBonus'), |
| 28617 | stackingPenalties=stack, **kwargs) |
| 28618 | fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill(skill), 'maxRange', |
| 28619 | src.getModifiedItemAttr('siegeRemoteLogisticsRangeBonus'), stackingPenalties=True, **kwargs) |
| 28620 | fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill(skill), 'falloffEffectiveness', |
| 28621 | src.getModifiedItemAttr('siegeRemoteLogisticsRangeBonus'), stackingPenalties=True, **kwargs) |
| 28622 | |
| 28623 | # Local armor/shield rep effects (duration / amount) |
| 28624 | for skill, amtAttr in ( |
| 28625 | ('Capital Shield Operation', 'shieldBonus'), |
| 28626 | ('Capital Repair Systems', 'armorDamageAmount')): |
| 28627 | fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill(skill), 'duration', |
| 28628 | src.getModifiedItemAttr('siegeLocalLogisticsDurationBonus'), **kwargs) |
| 28629 | fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill(skill), amtAttr, |
| 28630 | src.getModifiedItemAttr('siegeLocalLogisticsAmountBonus'), |
| 28631 | stackingPenalties=True, **kwargs) |
| 28632 | |
| 28633 | # Speed bonus |
| 28634 | fit.ship.boostItemAttr('maxVelocity', src.getModifiedItemAttr('speedFactor'), stackingPenalties=True, **kwargs) |
| 28635 | |
| 28636 | # Scan resolution multiplier |
| 28637 | fit.ship.multiplyItemAttr('scanResolution', src.getModifiedItemAttr('scanResolutionMultiplier'), |
| 28638 | stackingPenalties=True, **kwargs) |
| 28639 | |
| 28640 | # Mass multiplier |
| 28641 | fit.ship.multiplyItemAttr('mass', src.getModifiedItemAttr('siegeMassMultiplier'), stackingPenalties=True, **kwargs) |
| 28642 | |
| 28643 | # Max locked targets |
| 28644 | fit.ship.increaseItemAttr('maxLockedTargets', src.getModifiedItemAttr('maxLockedTargetsBonus'), **kwargs) |
| 28645 | |
| 28646 | # EW cap need increase |
| 28647 | groups = [ |
| 28648 | 'Burst Jammer', |
| 28649 | 'Weapon Disruptor', |
| 28650 | 'ECM', |
| 28651 | 'Stasis Grappler', |
| 28652 | 'Sensor Dampener', |
| 28653 | 'Target Painter'] |
| 28654 | |
| 28655 | fit.modules.filteredItemBoost(lambda mod: mod.item.group.name in groups or |
| 28656 | mod.item.requiresSkill('Propulsion Jamming'), |
| 28657 | 'capacitorNeed', src.getModifiedItemAttr('ewCapacitorNeedBonus'), **kwargs) |
| 28658 | |
| 28659 | # todo: test for April 2016 release |
| 28660 | # Block EWAR & projected effects |
| 28661 | fit.ship.forceItemAttr('disallowOffensiveModifiers', src.getModifiedItemAttr('disallowOffensiveModifiers'), **kwargs) |
| 28662 | fit.ship.forceItemAttr('disallowAssistance', src.getModifiedItemAttr('disallowAssistance'), **kwargs) |
| 28663 |
nothing calls this directly
no test coverage detected