30 lines
1.5 KiB
Python
30 lines
1.5 KiB
Python
# structureModuleEffectWeaponDisruption
|
|
#
|
|
# Used by:
|
|
# Variations of structure module: Standup Weapon Disruptor I (2 of 2)
|
|
|
|
type = "active", "projected"
|
|
|
|
|
|
def handler(fit, module, context, *args, **kwargs):
|
|
if "projected" in context:
|
|
for srcAttr, tgtAttr in (
|
|
("aoeCloudSizeBonus", "aoeCloudSize"),
|
|
("aoeVelocityBonus", "aoeVelocity"),
|
|
("missileVelocityBonus", "maxVelocity"),
|
|
("explosionDelayBonus", "explosionDelay"),
|
|
):
|
|
fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill("Missile Launcher Operation"),
|
|
tgtAttr, module.getModifiedItemAttr(srcAttr),
|
|
stackingPenalties=True, *args, **kwargs)
|
|
|
|
fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Gunnery"),
|
|
"trackingSpeed", module.getModifiedItemAttr("trackingSpeedBonus"),
|
|
stackingPenalties=True, *args, **kwargs)
|
|
fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Gunnery"),
|
|
"maxRange", module.getModifiedItemAttr("maxRangeBonus"),
|
|
stackingPenalties=True, *args, **kwargs)
|
|
fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Gunnery"),
|
|
"falloff", module.getModifiedItemAttr("falloffBonus"),
|
|
stackingPenalties=True, *args, **kwargs)
|