Fix svipul's sensor str effect on sharpshooter mode
This commit is contained in:
@@ -4,5 +4,9 @@
|
||||
# Modules named like: Propulsion Mode (2 of 2)
|
||||
type = "passive"
|
||||
def handler(fit, module, context):
|
||||
fit.ship.multiplyItemAttr("agility", 1/module.getModifiedItemAttr("modeAgilityPostDiv"),
|
||||
stackingPenalties = True, penaltyGroup="postDiv")
|
||||
fit.ship.multiplyItemAttr(
|
||||
"agility",
|
||||
1 / module.getModifiedItemAttr("modeAgilityPostDiv"),
|
||||
stackingPenalties=True,
|
||||
penaltyGroup="postDiv"
|
||||
)
|
||||
|
||||
@@ -4,12 +4,15 @@
|
||||
# Modules named like: Defense Mode (2 of 2)
|
||||
type = "passive"
|
||||
def handler(fit, module, context):
|
||||
for resType in ("Em", "Explosive", "Kinetic"):
|
||||
fit.ship.multiplyItemAttr("armor{0}DamageResonance".format(resType),
|
||||
1/module.getModifiedItemAttr("mode{0}ResistancePostDiv".format(resType)),
|
||||
stackingPenalties = True, penaltyGroup="postDiv")
|
||||
|
||||
# Thermal != Thermic
|
||||
fit.ship.multiplyItemAttr("armorThermalDamageResonance",
|
||||
1/module.getModifiedItemAttr("modeThermicResistancePostDiv"),
|
||||
stackingPenalties = True, penaltyGroup="postDiv")
|
||||
for srcResType, tgtResType in (
|
||||
("Em", "Em"),
|
||||
("Explosive", "Explosive"),
|
||||
("Kinetic", "Kinetic"),
|
||||
("Thermic", "Thermal")
|
||||
):
|
||||
fit.ship.multiplyItemAttr(
|
||||
"armor{0}DamageResonance".format(tgtResType),
|
||||
1 / module.getModifiedItemAttr("mode{0}ResistancePostDiv".format(srcResType)),
|
||||
stackingPenalties=True,
|
||||
penaltyGroup="postDiv"
|
||||
)
|
||||
|
||||
@@ -4,6 +4,10 @@
|
||||
# Module: Svipul Defense Mode
|
||||
type = "passive"
|
||||
def handler(fit, module, context):
|
||||
fit.modules.filteredItemMultiply(lambda mod: mod.item.requiresSkill("High Speed Maneuvering"),
|
||||
"signatureRadiusBonus", 1/module.getModifiedItemAttr("modeMWDSigPenaltyPostDiv"),
|
||||
stackingPenalties = True, penaltyGroup="postDiv")
|
||||
fit.modules.filteredItemMultiply(
|
||||
lambda mod: mod.item.requiresSkill("High Speed Maneuvering"),
|
||||
"signatureRadiusBonus",
|
||||
1 / module.getModifiedItemAttr("modeMWDSigPenaltyPostDiv"),
|
||||
stackingPenalties=True,
|
||||
penaltyGroup="postDiv"
|
||||
)
|
||||
|
||||
@@ -4,12 +4,15 @@
|
||||
# Module: Svipul Defense Mode
|
||||
type = "passive"
|
||||
def handler(fit, module, context):
|
||||
for resType in ("Em", "Explosive", "Kinetic"):
|
||||
fit.ship.multiplyItemAttr("shield{0}DamageResonance".format(resType),
|
||||
1/module.getModifiedItemAttr("mode{0}ResistancePostDiv".format(resType)),
|
||||
stackingPenalties = True, penaltyGroup="postDiv")
|
||||
|
||||
# Thermal != Thermic
|
||||
fit.ship.multiplyItemAttr("shieldThermalDamageResonance",
|
||||
1/module.getModifiedItemAttr("modeThermicResistancePostDiv"),
|
||||
stackingPenalties = True, penaltyGroup="postDiv")
|
||||
for srcResType, tgtResType in (
|
||||
("Em", "Em"),
|
||||
("Explosive", "Explosive"),
|
||||
("Kinetic", "Kinetic"),
|
||||
("Thermic", "Thermal")
|
||||
):
|
||||
fit.ship.multiplyItemAttr(
|
||||
"shield{0}DamageResonance".format(tgtResType),
|
||||
1 / module.getModifiedItemAttr("mode{0}ResistancePostDiv".format(srcResType)),
|
||||
stackingPenalties=True,
|
||||
penaltyGroup="postDiv"
|
||||
)
|
||||
|
||||
@@ -4,5 +4,9 @@
|
||||
# Modules named like: Propulsion Mode (2 of 2)
|
||||
type = "passive"
|
||||
def handler(fit, module, context):
|
||||
fit.ship.multiplyItemAttr("maxVelocity", 1/module.getModifiedItemAttr("modeVelocityPostDiv"),
|
||||
stackingPenalties = True, penaltyGroup="postDiv")
|
||||
fit.ship.multiplyItemAttr(
|
||||
"maxVelocity",
|
||||
1 / module.getModifiedItemAttr("modeVelocityPostDiv"),
|
||||
stackingPenalties=True,
|
||||
penaltyGroup="postDiv"
|
||||
)
|
||||
|
||||
@@ -5,7 +5,9 @@
|
||||
# Module: QA ECCM
|
||||
type = "active"
|
||||
def handler(fit, module, context):
|
||||
for type in ("Gravimetric", "Magnetometric", "Radar", "Ladar"):
|
||||
fit.ship.boostItemAttr("scan%sStrength" % type,
|
||||
module.getModifiedItemAttr("scan%sStrengthPercent" % type),
|
||||
stackingPenalties = True)
|
||||
for scanType in ("Gravimetric", "Magnetometric", "Radar", "Ladar"):
|
||||
fit.ship.boostItemAttr(
|
||||
"scan{}Strength".format(scanType),
|
||||
module.getModifiedItemAttr("scan{}StrengthPercent".format(scanType)),
|
||||
stackingPenalties=True
|
||||
)
|
||||
|
||||
@@ -4,5 +4,9 @@
|
||||
# Modules named like: Sharpshooter Mode (2 of 2)
|
||||
type = "passive"
|
||||
def handler(fit, module, context):
|
||||
fit.ship.multiplyItemAttr("maxTargetRange", 1/module.getModifiedItemAttr("modeMaxTargetRangePostDiv"),
|
||||
stackingPenalties = True, penaltyGroup="postDiv")
|
||||
fit.ship.multiplyItemAttr(
|
||||
"maxTargetRange",
|
||||
1 / module.getModifiedItemAttr("modeMaxTargetRangePostDiv"),
|
||||
stackingPenalties=True,
|
||||
penaltyGroup="postDiv"
|
||||
)
|
||||
|
||||
@@ -4,5 +4,9 @@
|
||||
# Modules named like: Sharpshooter Mode (2 of 2)
|
||||
type = "passive"
|
||||
def handler(fit, module, context):
|
||||
fit.ship.multiplyItemAttr("scanResolution", 1/module.getModifiedItemAttr("modeScanResPostDiv"),
|
||||
stackingPenalties = True, penaltyGroup="postDiv")
|
||||
fit.ship.multiplyItemAttr(
|
||||
"scanResolution",
|
||||
1 / module.getModifiedItemAttr("modeScanResPostDiv"),
|
||||
stackingPenalties=True,
|
||||
penaltyGroup="postDiv"
|
||||
)
|
||||
|
||||
@@ -4,5 +4,10 @@
|
||||
# Modules named like: Sharpshooter Mode (2 of 2)
|
||||
type = "passive"
|
||||
def handler(fit, module, context):
|
||||
fit.ship.multiplyItemAttr("scanRadarStrength", 1/module.getModifiedItemAttr("modeRadarStrengthPostDiv"),
|
||||
stackingPenalties = True, penaltyGroup="postDiv")
|
||||
for scanType in ("Gravimetric", "Magnetometric", "Radar", "Ladar"):
|
||||
fit.ship.multiplyItemAttr(
|
||||
"scan{}Strength".format(scanType),
|
||||
1 / (module.getModifiedItemAttr("mode{}StrengthPostDiv".format(scanType)) or 1),
|
||||
stackingPenalties=True,
|
||||
penaltyGroup="postDiv"
|
||||
)
|
||||
|
||||
@@ -4,6 +4,10 @@
|
||||
# Module: Confessor Sharpshooter Mode
|
||||
type = "passive"
|
||||
def handler(fit, module, context):
|
||||
fit.modules.filteredItemMultiply(lambda mod: mod.item.requiresSkill("Small Energy Turret"),
|
||||
"maxRange", 1/module.getModifiedItemAttr("modeMaxRangePostDiv"),
|
||||
stackingPenalties=True, penaltyGroup="postDiv")
|
||||
fit.modules.filteredItemMultiply(
|
||||
lambda mod: mod.item.requiresSkill("Small Energy Turret"),
|
||||
"maxRange",
|
||||
1 / module.getModifiedItemAttr("modeMaxRangePostDiv"),
|
||||
stackingPenalties=True,
|
||||
penaltyGroup="postDiv"
|
||||
)
|
||||
|
||||
@@ -4,6 +4,10 @@
|
||||
# Module: Svipul Sharpshooter Mode
|
||||
type = "passive"
|
||||
def handler(fit, module, context):
|
||||
fit.modules.filteredItemMultiply(lambda mod: mod.item.requiresSkill("Small Projectile Turret"),
|
||||
"trackingSpeed", 1/module.getModifiedItemAttr("modeTrackingPostDiv"),
|
||||
stackingPenalties=True, penaltyGroup="postDiv")
|
||||
fit.modules.filteredItemMultiply(
|
||||
lambda mod: mod.item.requiresSkill("Small Projectile Turret"),
|
||||
"trackingSpeed",
|
||||
1 / module.getModifiedItemAttr("modeTrackingPostDiv"),
|
||||
stackingPenalties=True,
|
||||
penaltyGroup="postDiv"
|
||||
)
|
||||
|
||||
Reference in New Issue
Block a user