Files
pyfa/eos/effects/warpdisruptsphere.py
Neugeniko 77a66a66ea Redefine Warp Disruption Field Generators operation
If we are applying effects onto our self, disallowAssistance all the time, and go into low mass/high sig etc mode when no script is loaded.

If we are projecting effects, modify warpScrambleStatus all the time, and turn off modules requiring 'High Speed Maneuvering' (MWDs) or "Micro Jump Drive Operation" (MJD etc) if a scrambling script is loaded.
2018-03-07 15:25:57 +11:00

33 lines
1.5 KiB
Python

# warpDisruptSphere
#
# Used by:
# Modules from group: Warp Disrupt Field Generator (7 of 7)
from eos.saveddata.module import State
type = "projected", "active"
runTime = "early"
def handler(fit, module, context):
if "projected" in context:
fit.ship.increaseItemAttr("warpScrambleStatus", module.getModifiedItemAttr("warpScrambleStrength"))
if module.charge is not None and module.charge.ID == 45010:
for mod in fit.modules:
if not mod.isEmpty and mod.item.requiresSkill("High Speed Maneuvering") and mod.state > State.ONLINE:
mod.state = State.ONLINE
if not mod.isEmpty and mod.item.requiresSkill("Micro Jump Drive Operation") and mod.state > State.ONLINE:
mod.state = State.ONLINE
else:
if module.charge is None:
fit.ship.boostItemAttr("mass", module.getModifiedItemAttr("massBonusPercentage"))
fit.ship.boostItemAttr("signatureRadius", module.getModifiedItemAttr("signatureRadiusBonus"))
fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == "Propulsion Module",
"speedBoostFactor", module.getModifiedItemAttr("speedBoostFactorBonus"))
fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == "Propulsion Module",
"speedFactor", module.getModifiedItemAttr("speedFactorBonus"))
fit.ship.forceItemAttr("disallowAssistance", 1)