From 96505e44214e30d8b8eaf82a90dafa1ce53aec42 Mon Sep 17 00:00:00 2001 From: Ebag333 Date: Sun, 20 Nov 2016 18:37:12 -0800 Subject: [PATCH 1/7] Industrial core for Rorq --- eos/effects/industrialcoreeffect2.py | 109 ++++++++++++++++++++++----- 1 file changed, 90 insertions(+), 19 deletions(-) diff --git a/eos/effects/industrialcoreeffect2.py b/eos/effects/industrialcoreeffect2.py index d8f4e4898..546c0f7bd 100644 --- a/eos/effects/industrialcoreeffect2.py +++ b/eos/effects/industrialcoreeffect2.py @@ -1,29 +1,100 @@ # industrialCoreEffect2 # # Used by: -# Variations of module: Industrial Core I (2 of 2) +# Module: Industrial Core I type = "active" runTime = "early" -def handler(fit, module, context): - return - - # @todo: finish this +def handler(fit, src, context): fit.extraAttributes["siege"] = True - fit.ship.boostItemAttr("maxVelocity", module.getModifiedItemAttr("speedFactor")) - fit.ship.multiplyItemAttr("mass", module.getModifiedItemAttr("siegeMassMultiplier")) + fit.ship.boostItemAttr("maxVelocity", src.getModifiedItemAttr("speedFactor")) + fit.ship.multiplyItemAttr("mass", src.getModifiedItemAttr("siegeMassMultiplier")) + fit.ship.multiplyItemAttr("scanResolution", src.getModifiedItemAttr("scanResolutionMultiplier")) + # Remote Shield Repper Bonuses + fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Capital Shield Emission Systems"), + "duration", + src.getModifiedItemAttr("industrialCoreRemoteLogisticsDurationBonus"), + ) + fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Capital Shield Emission Systems"), + "capacitorNeed", + src.getModifiedItemAttr("industrialCoreRemoteLogisticsRangeBonus"), + ) - fit.modules.filteredItemIncrease(lambda mod: mod.item.group.name in - ( - "Command Burst", - ) and - mod.item.requiresSkill in - ( - "Shield Command", - ), - "warfareBuff4Multiplier", - module.getModifiedItemAttr("shipBonusORECapital3"), - skill="Capital Industrial Ships", - ) + # Local Shield Repper Bonuses + fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Capital Shield Operation"), + "duration", + src.getModifiedItemAttr("industrialCoreLocalLogisticsDurationBonus"), + ) + fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Capital Shield Operation"), + "shieldBonus", + src.getModifiedItemAttr("industrialCoreLocalLogisticsAmountBonus"), + ) + + # Mining Burst Bonuses + fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Mining Foreman"), + "warfareBuff1Value", + src.getModifiedItemAttr("industrialCoreBonusMiningBurstStrength"), + ) + + fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Mining Foreman"), + "warfareBuff2Value", + src.getModifiedItemAttr("industrialCoreBonusMiningBurstStrength"), + ) + + fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Mining Foreman"), + "warfareBuff3Value", + src.getModifiedItemAttr("industrialCoreBonusMiningBurstStrength"), + ) + + fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Mining Foreman"), + "warfareBuff4Value", + src.getModifiedItemAttr("industrialCoreBonusMiningBurstStrength"), + ) + + # Command Burst Range Bonus + fit.modules.filteredItemBoost(lambda mod: mod.item.group.name in + ( + "Command Burst", + ), + "buffDuration", + src.getModifiedItemAttr("industrialCoreBonusCommandBurstRange"), + ) + + # Drone Bonuses + fit.drones.filteredItemBoost(lambda drone: drone.item.requiresSkill("Ice Harvesting Drone Operation"), + "duration", + src.getModifiedItemAttr("industrialCoreBonusDroneIceHarvesting"), + ) + fit.drones.filteredItemBoost(lambda drone: drone.item.requiresSkill("Mining Drone Operation"), + "miningAmount", + src.getModifiedItemAttr("industrialCoreBonusDroneMining"), + ) + fit.drones.filteredItemBoost(lambda drone: drone.item.requiresSkill("Drones"), + "maxVelocity", + src.getModifiedItemAttr("industrialCoreBonusDroneVelocity"), + ) + fit.drones.filteredItemBoost(lambda drone: drone.item.requiresSkill("Ice Harvesting Drone Operation"), + "duration", + src.getModifiedItemAttr("industrialCoreBonusDroneIceHarvesting"), + ) + fit.drones.filteredItemBoost(lambda drone: drone.item.requiresSkill("Drones"), + "damageMultiplier", + src.getModifiedItemAttr("industrialCoreBonusDroneDamageHP"), + ) + fit.drones.filteredItemBoost(lambda drone: drone.item.requiresSkill("Drones"), + "shieldCapacity", + src.getModifiedItemAttr("industrialCoreBonusDroneDamageHP"), + ) + fit.drones.filteredItemBoost(lambda drone: drone.item.requiresSkill("Drones"), + "armorHP", + src.getModifiedItemAttr("industrialCoreBonusDroneDamageHP"), + ) + fit.drones.filteredItemBoost(lambda drone: drone.item.requiresSkill("Drones"), + "hp", + src.getModifiedItemAttr("industrialCoreBonusDroneDamageHP"), + ) + + # Todo: remote impedance (no reps, etc) +2 \ No newline at end of file From 130105ca9f1fe1239b5285ec5fca7ce357c7a93e Mon Sep 17 00:00:00 2001 From: Ebag333 Date: Mon, 21 Nov 2016 12:53:57 -0800 Subject: [PATCH 2/7] Fixed attribute, removed duplicate --- eos/effects/industrialcoreeffect2.py | 7 +------ 1 file changed, 1 insertion(+), 6 deletions(-) diff --git a/eos/effects/industrialcoreeffect2.py b/eos/effects/industrialcoreeffect2.py index 546c0f7bd..8cc07bf85 100644 --- a/eos/effects/industrialcoreeffect2.py +++ b/eos/effects/industrialcoreeffect2.py @@ -18,7 +18,7 @@ def handler(fit, src, context): src.getModifiedItemAttr("industrialCoreRemoteLogisticsDurationBonus"), ) fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Capital Shield Emission Systems"), - "capacitorNeed", + "maxRange", src.getModifiedItemAttr("industrialCoreRemoteLogisticsRangeBonus"), ) @@ -75,10 +75,6 @@ def handler(fit, src, context): "maxVelocity", src.getModifiedItemAttr("industrialCoreBonusDroneVelocity"), ) - fit.drones.filteredItemBoost(lambda drone: drone.item.requiresSkill("Ice Harvesting Drone Operation"), - "duration", - src.getModifiedItemAttr("industrialCoreBonusDroneIceHarvesting"), - ) fit.drones.filteredItemBoost(lambda drone: drone.item.requiresSkill("Drones"), "damageMultiplier", src.getModifiedItemAttr("industrialCoreBonusDroneDamageHP"), @@ -97,4 +93,3 @@ def handler(fit, src, context): ) # Todo: remote impedance (no reps, etc) -2 \ No newline at end of file From 1540c9463a987f570e53ed649d8f1e5f783edeac Mon Sep 17 00:00:00 2001 From: Ebag333 Date: Mon, 21 Nov 2016 13:10:59 -0800 Subject: [PATCH 3/7] Added unused attributes --- eos/effects/industrialcoreeffect2.py | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/eos/effects/industrialcoreeffect2.py b/eos/effects/industrialcoreeffect2.py index 8cc07bf85..a30ffd518 100644 --- a/eos/effects/industrialcoreeffect2.py +++ b/eos/effects/industrialcoreeffect2.py @@ -93,3 +93,9 @@ def handler(fit, src, context): ) # Todo: remote impedance (no reps, etc) + fit.ship.increaseItemAttr("warpScrambleStatus", src.getModifiedItemAttr("siegeModeWarpStatus")) + fit.ship.boostItemAttr("remoteRepairImpedance", src.getModifiedItemAttr("remoteRepairImpedanceBonus")) + fit.ship.increaseItemAttr("disallowTethering", src.getModifiedItemAttr("disallowTethering")) + fit.ship.boostItemAttr("sensorDampenerResistance", src.getModifiedItemAttr("sensorDampenerResistanceBonus")) + fit.ship.boostItemAttr("remoteAssistanceImpedance", src.getModifiedItemAttr("remoteAssistanceImpedanceBonus")) + fit.ship.increaseItemAttr("disallowDocking", src.getModifiedItemAttr("disallowDocking")) From dc4c4c7353e939e808f2157dfe5440de3edb48f5 Mon Sep 17 00:00:00 2001 From: Ebag333 Date: Tue, 22 Nov 2016 15:03:21 -0800 Subject: [PATCH 4/7] Change to skill req --- eos/effects/industrialcoreeffect2.py | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/eos/effects/industrialcoreeffect2.py b/eos/effects/industrialcoreeffect2.py index a30ffd518..935edada7 100644 --- a/eos/effects/industrialcoreeffect2.py +++ b/eos/effects/industrialcoreeffect2.py @@ -54,10 +54,7 @@ def handler(fit, src, context): ) # Command Burst Range Bonus - fit.modules.filteredItemBoost(lambda mod: mod.item.group.name in - ( - "Command Burst", - ), + fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Leadership"), "buffDuration", src.getModifiedItemAttr("industrialCoreBonusCommandBurstRange"), ) From a50f89db678202151b1fdfb7216d7c2a118aefd6 Mon Sep 17 00:00:00 2001 From: Ebag333 Date: Tue, 22 Nov 2016 16:36:19 -0800 Subject: [PATCH 5/7] Added stacking penalties, fixed range buff --- eos/effects/industrialcoreeffect2.py | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/eos/effects/industrialcoreeffect2.py b/eos/effects/industrialcoreeffect2.py index 935edada7..6c3cb4a27 100644 --- a/eos/effects/industrialcoreeffect2.py +++ b/eos/effects/industrialcoreeffect2.py @@ -10,7 +10,9 @@ def handler(fit, src, context): fit.extraAttributes["siege"] = True fit.ship.boostItemAttr("maxVelocity", src.getModifiedItemAttr("speedFactor")) fit.ship.multiplyItemAttr("mass", src.getModifiedItemAttr("siegeMassMultiplier")) - fit.ship.multiplyItemAttr("scanResolution", src.getModifiedItemAttr("scanResolutionMultiplier")) + fit.ship.multiplyItemAttr("scanResolution", + src.getModifiedItemAttr("scanResolutionMultiplier"), + stackingPenalties=True) # Remote Shield Repper Bonuses fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Capital Shield Emission Systems"), @@ -20,6 +22,7 @@ def handler(fit, src, context): fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Capital Shield Emission Systems"), "maxRange", src.getModifiedItemAttr("industrialCoreRemoteLogisticsRangeBonus"), + stackingPenalties=True ) # Local Shield Repper Bonuses @@ -30,6 +33,7 @@ def handler(fit, src, context): fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Capital Shield Operation"), "shieldBonus", src.getModifiedItemAttr("industrialCoreLocalLogisticsAmountBonus"), + stackingPenalties=True ) # Mining Burst Bonuses @@ -55,7 +59,7 @@ def handler(fit, src, context): # Command Burst Range Bonus fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Leadership"), - "buffDuration", + "maxRange", src.getModifiedItemAttr("industrialCoreBonusCommandBurstRange"), ) @@ -75,6 +79,7 @@ def handler(fit, src, context): fit.drones.filteredItemBoost(lambda drone: drone.item.requiresSkill("Drones"), "damageMultiplier", src.getModifiedItemAttr("industrialCoreBonusDroneDamageHP"), + stackingPenalties=True ) fit.drones.filteredItemBoost(lambda drone: drone.item.requiresSkill("Drones"), "shieldCapacity", From f1b9c788f33679e1dd3e7c4d33e7c9d2b0ce8513 Mon Sep 17 00:00:00 2001 From: Ebag333 Date: Tue, 22 Nov 2016 16:38:55 -0800 Subject: [PATCH 6/7] Added falloffeffectiveness --- eos/effects/industrialcoreeffect2.py | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/eos/effects/industrialcoreeffect2.py b/eos/effects/industrialcoreeffect2.py index 6c3cb4a27..e74ffe39b 100644 --- a/eos/effects/industrialcoreeffect2.py +++ b/eos/effects/industrialcoreeffect2.py @@ -61,6 +61,12 @@ def handler(fit, src, context): fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Leadership"), "maxRange", src.getModifiedItemAttr("industrialCoreBonusCommandBurstRange"), + stackingPenalties=True + ) + fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Leadership"), + "falloffEffectiveness", + src.getModifiedItemAttr("industrialCoreBonusCommandBurstRange"), + stackingPenalties=True ) # Drone Bonuses From 964493d70102dd2298b97393990d77eec8864e47 Mon Sep 17 00:00:00 2001 From: Ebag333 Date: Tue, 22 Nov 2016 16:52:53 -0800 Subject: [PATCH 7/7] add logi falloff --- eos/effects/industrialcoreeffect2.py | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/eos/effects/industrialcoreeffect2.py b/eos/effects/industrialcoreeffect2.py index e74ffe39b..13a0da556 100644 --- a/eos/effects/industrialcoreeffect2.py +++ b/eos/effects/industrialcoreeffect2.py @@ -24,6 +24,11 @@ def handler(fit, src, context): src.getModifiedItemAttr("industrialCoreRemoteLogisticsRangeBonus"), stackingPenalties=True ) + fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Capital Shield Emission Systems"), + "falloffEffectiveness", + src.getModifiedItemAttr("industrialCoreRemoteLogisticsRangeBonus"), + stackingPenalties=True + ) # Local Shield Repper Bonuses fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Capital Shield Operation"),