From cd41e9e9be38f7cb81e2a59d3cb2ea1d36962ac2 Mon Sep 17 00:00:00 2001 From: Ebag333 Date: Sun, 1 Jan 2017 03:08:38 -0800 Subject: [PATCH 1/2] Change to use skill rather than group, and modify correct attribute --- eos/effects/skillremoteecmdurationbonus.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/eos/effects/skillremoteecmdurationbonus.py b/eos/effects/skillremoteecmdurationbonus.py index d2b13bdad..182e10893 100644 --- a/eos/effects/skillremoteecmdurationbonus.py +++ b/eos/effects/skillremoteecmdurationbonus.py @@ -6,5 +6,5 @@ type = "passive" def handler(fit, skill, context): - fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == "Burst Projectors", - "duration", skill.getModifiedItemAttr("projECMDurationBonus") * skill.level) + fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Burst Projector Operation"), + "durationECMJammerBurstProjector", skill.getModifiedItemAttr("projECMDurationBonus") * skill.level) From 0056b704d4a54553a4fb86878e19eb6724b4ac4a Mon Sep 17 00:00:00 2001 From: Ebag333 Date: Mon, 2 Jan 2017 03:18:54 -0800 Subject: [PATCH 2/2] Add other projector effects. Only allow it to affect the specific attribute it's modifying. --- eos/effects/skillremoteecmdurationbonus.py | 27 ++++++++++++++++++++-- 1 file changed, 25 insertions(+), 2 deletions(-) diff --git a/eos/effects/skillremoteecmdurationbonus.py b/eos/effects/skillremoteecmdurationbonus.py index 182e10893..77c687f34 100644 --- a/eos/effects/skillremoteecmdurationbonus.py +++ b/eos/effects/skillremoteecmdurationbonus.py @@ -6,5 +6,28 @@ type = "passive" def handler(fit, skill, context): - fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Burst Projector Operation"), - "durationECMJammerBurstProjector", skill.getModifiedItemAttr("projECMDurationBonus") * skill.level) + # We need to make sure that the attribute exists, otherwise we add attributes that don't belong. See #927 + fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Burst Projector Operation") and + mod.item.getAttribute("duration"), + "duration", + skill.getModifiedItemAttr("projECMDurationBonus") * skill.level) + + fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Burst Projector Operation") and + mod.item.getAttribute("durationECMJammerBurstProjector"), + "durationECMJammerBurstProjector", + skill.getModifiedItemAttr("projECMDurationBonus") * skill.level) + + fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Burst Projector Operation") and + mod.item.getAttribute("durationTargetIlluminationBurstProjector"), + "durationTargetIlluminationBurstProjector", + skill.getModifiedItemAttr("projECMDurationBonus") * skill.level) + + fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Burst Projector Operation") and + mod.item.getAttribute("durationSensorDampeningBurstProjector"), + "durationSensorDampeningBurstProjector", + skill.getModifiedItemAttr("projECMDurationBonus") * skill.level) + + fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Burst Projector Operation") and + mod.item.getAttribute("durationWeaponDisruptionBurstProjector"), + "durationWeaponDisruptionBurstProjector", + skill.getModifiedItemAttr("projECMDurationBonus") * skill.level)