From 96505e44214e30d8b8eaf82a90dafa1ce53aec42 Mon Sep 17 00:00:00 2001 From: Ebag333 Date: Sun, 20 Nov 2016 18:37:12 -0800 Subject: [PATCH] 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