MCPcopy Index your code
hub / github.com/pyfa-org/Pyfa / handler

Method handler

eos/effects.py:28606–28674  ·  view source on GitHub ↗
(fit, src, context, projectionRange, **kwargs)

Source from the content-addressed store, hash-verified

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

Callers

nothing calls this directly

Calls 7

filteredItemBoostMethod · 0.80
requiresSkillMethod · 0.80
boostItemAttrMethod · 0.80
multiplyItemAttrMethod · 0.80
increaseItemAttrMethod · 0.80
forceItemAttrMethod · 0.80
getModifiedItemAttrMethod · 0.45

Tested by

no test coverage detected