Add the four main combat boost module effects

This commit is contained in:
blitzman
2016-11-20 00:59:07 -05:00
parent 08be50caf2
commit eade4f0ebd

View File

@@ -16,17 +16,71 @@ def handler(fit, module, context, **kwargs):
def runEffect(id, value):
print "RUN EFFECT: ", fit,
if id == 21: # Skirmish Burst: Interdiction Maneuvers: Tackle Range
print "Tackle Range"
return
groups = ("Stasis Web", "Warp Scrambler")
fit.modules.filteredItemBoost(lambda mod: mod.item.group.name in groups,
"maxRange", value,
stackingPenalties=True)
if id == 10:
print "Shield Resists"
print "Inside the CHARGE"
if id == 10: # Shield Burst: Shield Harmonizing: Shield Resistance
for damageType in ("Em", "Explosive", "Thermal", "Kinetic"):
fit.ship.boostItemAttr("shield%sDamageResonance" % damageType, value, stackingPenalties=True)
if id == 11: # Shield Burst: Active Shielding: Repair Duration/Capacitor
fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Shield Operation") or mod.item.requiresSkill("Shield Emission Systems"), "capacitorNeed", value)
fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Shield Operation") or mod.item.requiresSkill("Shield Emission Systems"), "duration", value)
if id == 12: # Shield Burst: Shield Extension: Shield HP
fit.ship.boostItemAttr("shieldCapacity", value, stackingPenalties=True)
if id == 13: # Armor Burst: Armor Energizing: Armor Resistance
for damageType in ("Em", "Thermal", "Explosive", "Kinetic"):
fit.ship.boostItemAttr("armor%sDamageResonance" % damageType, value, stackingPenalties=True)
if id == 14: # Armor Burst: Rapid Repair: Repair Duration/Capacitor
fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Remote Armor Repair Systems") or mod.item.requiresSkill("Repair Systems"), "capacitorNeed", value)
fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Remote Armor Repair Systems") or mod.item.requiresSkill("Repair Systems"), "duration", value)
if id == 15: # Armor Burst: Armor Reinforcement: Armor HP
fit.ship.boostItemAttr("armorHP", value, stackingPenalties=True)
if id == 16: # Information Burst: Sensor Optimization: Scan Resolution
fit.ship.boostItemAttr("scanResolution", value, stackingPenalties=True)
if id == 17: # Information Burst: Electronic Superiority: EWAR Range and Strength
pass
groups = ("ECM", "Sensor Dampener", "Weapon Disruptor", "Target Painter")
fit.modules.filteredItemBoost(lambda mod: mod.item.group.name in groups, "maxRange", value, stackingPenalties=True)
fit.modules.filteredItemBoost(lambda mod: mod.item.group.name in groups, "falloffEffectiveness", value, stackingPenalties=True)
for scanType in ("Magnetometric", "Radar", "Ladar", "Gravimetric"):
fit.modules.filteredItemBoost(lambda mod: mod.item.group.nam == "ECM", "scan%sStrengthBonus" % scanType, value, stackingPenalties=True)
for attr in ("missileVelocityBonus", "explosionDelayBonus", "aoeVelocityBonus", "falloffBonus",
"maxRangeBonus", "aoeCloudSizeBonus", "trackingSpeedBonus"):
fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == "Weapon Disruptor", attr, value)
for attr in ("maxTargetRangeBonus", "scanResolutionBonus"):
fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == "Sensor Dampener", attr, value)
fit.modules.filteredItemBoost(lambda mod: mod.item.gorup.name == "Target Painter", "signatureRadiusBonus", value, stackingPenalties=True)
if id == 18: # Information Burst: Electronic Hardening: Scan Strength
for scanType in ("Gravimetric", "Radar", "Ladar", "Magnetometric"):
fit.ship.boostItemAttr("scan%sStrength" % scanType, value, stackingPenalties=True)
if id == 19: # Information Burst: Electronic Hardening: RSD/RWD Resistance
fit.ship.boostItemAttr("sensorDampenerResistance", value)
fit.ship.boostItemAttr("weaponDisruptionResistance", value)
if id == 26: # Information Burst: Sensor Optimization: Targeting Range
fit.ship.boostItemAttr("maxTargetRange", value)
if id == 20: # Skirmish Burst: Evasive Maneuvers: Signature Radius
fit.ship.boostItemAttr("signatureRadius", value, stackingPenalties=True)
if id == 21: # Skirmish Burst: Interdiction Maneuvers: Tackle Range
groups = ("Stasis Web", "Warp Scrambler")
fit.modules.filteredItemBoost(lambda mod: mod.item.group.name in groups, "maxRange", value,
stackingPenalties=True)
if id == 22: # Skirmish Burst: Rapid Deployment: AB/MWD Speed Increase
fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Afterburner") or mod.item.requiresSkill("High Speed Maneuvering"), "speedFactor", value, stackingPenalties=True)
for x in xrange(1, 4):
if module.getModifiedChargeAttr("warfareBuff{}ID".format(x)):