Merge branch 'Acendency-IndustrialCoreEffect' of https://github.com/Ebag333/Pyfa into Ebag333-Acendency-IndustrialCoreEffect

This commit is contained in:
blitzman
2016-11-22 20:00:00 -05:00

View File

@@ -1,29 +1,114 @@
# 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"),
stackingPenalties=True)
# 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"),
"maxRange",
src.getModifiedItemAttr("industrialCoreRemoteLogisticsRangeBonus"),
stackingPenalties=True
)
fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Capital Shield Emission Systems"),
"falloffEffectiveness",
src.getModifiedItemAttr("industrialCoreRemoteLogisticsRangeBonus"),
stackingPenalties=True
)
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"),
stackingPenalties=True
)
# 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.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
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("Drones"),
"damageMultiplier",
src.getModifiedItemAttr("industrialCoreBonusDroneDamageHP"),
stackingPenalties=True
)
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)
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"))