From aa3043b0ca3e0ac949175c24ea5d633573cf1acf Mon Sep 17 00:00:00 2001 From: DarkPhoenix Date: Mon, 10 Dec 2018 15:08:52 +0300 Subject: [PATCH] Change mutadapative RR to use spoolup calculator --- eos/effects/boostershieldcapacitypenalty.py | 2 +- eos/effects/dohacking.py | 2 +- eos/effects/dronearmordamagebonuseffect.py | 2 +- eos/effects/dronehullrepairbonuseffect.py | 2 +- eos/effects/droneshieldbonusbonuseffect.py | 2 +- eos/effects/iceharvesterdurationmultiplier.py | 1 + eos/effects/mediumremoterepfittingadjustment.py | 1 + eos/effects/minercpuusagemultiplypercent2.py | 1 + eos/effects/miningyieldmultiplypercent.py | 1 + eos/effects/missileaoevelocitybonus.py | 1 + eos/effects/missileaoevelocitybonusonline.py | 1 + eos/effects/missiledmgbonus.py | 2 +- eos/effects/missilelauncherspeedmultiplier.py | 2 +- eos/effects/overloadrofbonus.py | 2 +- eos/effects/overloadselfdurationbonus.py | 4 ++-- ...tecapacitortransmitterpowerneedbonuseffect.py | 2 +- eos/effects/shieldtransportcpuneedbonuseffect.py | 2 +- ...shipbonusmutadaptiveremoterepairrangerole3.py | 4 ++++ ...aptiveremoterepamountelitebonuslogisitics2.py | 4 ++++ ...ptiveremoterepcapneedelitebonuslogisitics1.py | 4 ++++ .../shipbonusmutadaptiveremotereprangepc1.py | 4 ++++ eos/effects/shipbonusmutadaptiverepamountpc1.py | 4 ++++ eos/effects/shipbonusmutadaptiverepcapneedpc2.py | 4 ++++ eos/effects/shipbonusnosneutcapneedrolebonus2.py | 5 +++++ ...shipbonusremotecapacitortransferrangerole1.py | 5 +++++ ...pbonusrole5remotearmorrepairpowergridbonus.py | 2 +- .../shipbonussmartbombcapneedrolebonus2.py | 2 ++ .../shipmoduleremotearmormutadaptiverepairer.py | 16 +++++++++++++--- 28 files changed, 68 insertions(+), 16 deletions(-) diff --git a/eos/effects/boostershieldcapacitypenalty.py b/eos/effects/boostershieldcapacitypenalty.py index 90f290bc1..41108747f 100644 --- a/eos/effects/boostershieldcapacitypenalty.py +++ b/eos/effects/boostershieldcapacitypenalty.py @@ -1,7 +1,7 @@ # boosterShieldCapacityPenalty # # Used by: -# Implants from group: Booster (12 of 69) +# Implants from group: Booster (12 of 71) type = "boosterSideEffect" # User-friendly name for the side effect diff --git a/eos/effects/dohacking.py b/eos/effects/dohacking.py index 233d29404..ddd2a7205 100644 --- a/eos/effects/dohacking.py +++ b/eos/effects/dohacking.py @@ -1,7 +1,7 @@ # doHacking # # Used by: -# Modules from group: Data Miners (9 of 9) +# Modules from group: Data Miners (10 of 10) type = "active" diff --git a/eos/effects/dronearmordamagebonuseffect.py b/eos/effects/dronearmordamagebonuseffect.py index 144ad59d4..a5cfb52fe 100644 --- a/eos/effects/dronearmordamagebonuseffect.py +++ b/eos/effects/dronearmordamagebonuseffect.py @@ -1,7 +1,7 @@ # droneArmorDamageBonusEffect # # Used by: -# Ships from group: Logistics (5 of 6) +# Ships from group: Logistics (6 of 7) # Ship: Exequror # Ship: Scythe type = "passive" diff --git a/eos/effects/dronehullrepairbonuseffect.py b/eos/effects/dronehullrepairbonuseffect.py index e12dbbd2e..532f3e28e 100644 --- a/eos/effects/dronehullrepairbonuseffect.py +++ b/eos/effects/dronehullrepairbonuseffect.py @@ -1,7 +1,7 @@ # droneHullRepairBonusEffect # # Used by: -# Ships from group: Logistics (5 of 6) +# Ships from group: Logistics (6 of 7) # Ship: Exequror # Ship: Scythe type = "passive" diff --git a/eos/effects/droneshieldbonusbonuseffect.py b/eos/effects/droneshieldbonusbonuseffect.py index 1c83ed29d..2f2d1e6c5 100644 --- a/eos/effects/droneshieldbonusbonuseffect.py +++ b/eos/effects/droneshieldbonusbonuseffect.py @@ -1,7 +1,7 @@ # droneShieldBonusBonusEffect # # Used by: -# Ships from group: Logistics (5 of 6) +# Ships from group: Logistics (6 of 7) # Ship: Exequror # Ship: Scythe type = "passive" diff --git a/eos/effects/iceharvesterdurationmultiplier.py b/eos/effects/iceharvesterdurationmultiplier.py index 2b2cc75c8..b3e6eaec9 100644 --- a/eos/effects/iceharvesterdurationmultiplier.py +++ b/eos/effects/iceharvesterdurationmultiplier.py @@ -1,6 +1,7 @@ # iceHarvesterDurationMultiplier # # Used by: +# Module: Frostline 'Omnivore' Harvester Upgrade # Ship: Endurance type = "passive" diff --git a/eos/effects/mediumremoterepfittingadjustment.py b/eos/effects/mediumremoterepfittingadjustment.py index b5d4c577c..ca17447c1 100644 --- a/eos/effects/mediumremoterepfittingadjustment.py +++ b/eos/effects/mediumremoterepfittingadjustment.py @@ -1,6 +1,7 @@ # mediumRemoteRepFittingAdjustment # # Used by: +# Modules from group: Mutadaptive Remote Armor Repairer (4 of 5) # Variations of module: Medium Remote Armor Repairer I (12 of 12) # Variations of module: Medium Remote Shield Booster I (11 of 11) # Module: Medium Ancillary Remote Armor Repairer diff --git a/eos/effects/minercpuusagemultiplypercent2.py b/eos/effects/minercpuusagemultiplypercent2.py index 7b8e6025a..7cba56603 100644 --- a/eos/effects/minercpuusagemultiplypercent2.py +++ b/eos/effects/minercpuusagemultiplypercent2.py @@ -2,6 +2,7 @@ # # Used by: # Variations of module: Mining Laser Upgrade I (5 of 5) +# Module: Frostline 'Omnivore' Harvester Upgrade type = "passive" diff --git a/eos/effects/miningyieldmultiplypercent.py b/eos/effects/miningyieldmultiplypercent.py index 281b7169f..a02b4333b 100644 --- a/eos/effects/miningyieldmultiplypercent.py +++ b/eos/effects/miningyieldmultiplypercent.py @@ -2,6 +2,7 @@ # # Used by: # Variations of module: Mining Laser Upgrade I (5 of 5) +# Module: Frostline 'Omnivore' Harvester Upgrade type = "passive" diff --git a/eos/effects/missileaoevelocitybonus.py b/eos/effects/missileaoevelocitybonus.py index 74a56e8bc..31a8999c2 100644 --- a/eos/effects/missileaoevelocitybonus.py +++ b/eos/effects/missileaoevelocitybonus.py @@ -1,3 +1,4 @@ +# Not used by any item type = "passive" def handler(fit, src, context): fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Missile Launcher Operation"), "aoeVelocity", src.getModifiedItemAttr("aoeVelocityBonus"), stackingPenalties=True, skill="Target Navigation Prediction") diff --git a/eos/effects/missileaoevelocitybonusonline.py b/eos/effects/missileaoevelocitybonusonline.py index e5d0d27c9..03ddd6715 100644 --- a/eos/effects/missileaoevelocitybonusonline.py +++ b/eos/effects/missileaoevelocitybonusonline.py @@ -2,6 +2,7 @@ # # Used by: # Modules from group: Missile Guidance Enhancer (3 of 3) +# Module: ML-EKP 'Polybolos' Ballistic Control System type = "passive" diff --git a/eos/effects/missiledmgbonus.py b/eos/effects/missiledmgbonus.py index 263ba9834..4fca60500 100644 --- a/eos/effects/missiledmgbonus.py +++ b/eos/effects/missiledmgbonus.py @@ -1,7 +1,7 @@ # missileDMGBonus # # Used by: -# Modules from group: Ballistic Control system (21 of 21) +# Modules from group: Ballistic Control system (22 of 22) type = "passive" diff --git a/eos/effects/missilelauncherspeedmultiplier.py b/eos/effects/missilelauncherspeedmultiplier.py index 68a2bd707..2655e614e 100644 --- a/eos/effects/missilelauncherspeedmultiplier.py +++ b/eos/effects/missilelauncherspeedmultiplier.py @@ -1,7 +1,7 @@ # missileLauncherSpeedMultiplier # # Used by: -# Modules from group: Ballistic Control system (21 of 21) +# Modules from group: Ballistic Control system (22 of 22) type = "passive" diff --git a/eos/effects/overloadrofbonus.py b/eos/effects/overloadrofbonus.py index 47f64d418..b362b9cc5 100644 --- a/eos/effects/overloadrofbonus.py +++ b/eos/effects/overloadrofbonus.py @@ -2,7 +2,7 @@ # # Used by: # Modules from group: Missile Launcher Torpedo (22 of 22) -# Items from market group: Ship Equipment > Turrets & Bays (429 of 881) +# Items from market group: Ship Equipment > Turrets & Bays (429 of 882) # Module: Interdiction Sphere Launcher I type = "overheat" diff --git a/eos/effects/overloadselfdurationbonus.py b/eos/effects/overloadselfdurationbonus.py index fd4a5561c..e4ecde55c 100644 --- a/eos/effects/overloadselfdurationbonus.py +++ b/eos/effects/overloadselfdurationbonus.py @@ -1,17 +1,17 @@ # overloadSelfDurationBonus # # Used by: +# Modules from group: Ancillary Remote Shield Booster (4 of 4) # Modules from group: Capacitor Booster (59 of 59) # Modules from group: Energy Neutralizer (54 of 54) # Modules from group: Energy Nosferatu (54 of 54) # Modules from group: Hull Repair Unit (25 of 25) # Modules from group: Remote Armor Repairer (39 of 39) # Modules from group: Remote Capacitor Transmitter (41 of 41) -# Modules from group: Remote Hull Repairer (8 of 8) # Modules from group: Remote Shield Booster (38 of 38) # Modules from group: Smart Bomb (118 of 118) # Modules from group: Warp Disrupt Field Generator (7 of 7) -# Modules named like: Ancillary Remote (8 of 8) +# Modules named like: Remote Repairer (56 of 56) # Module: Reactive Armor Hardener # Module: Target Spectrum Breaker type = "overheat" diff --git a/eos/effects/remotecapacitortransmitterpowerneedbonuseffect.py b/eos/effects/remotecapacitortransmitterpowerneedbonuseffect.py index f9c254dd9..54897ba12 100644 --- a/eos/effects/remotecapacitortransmitterpowerneedbonuseffect.py +++ b/eos/effects/remotecapacitortransmitterpowerneedbonuseffect.py @@ -1,7 +1,7 @@ # remoteCapacitorTransmitterPowerNeedBonusEffect # # Used by: -# Ships from group: Logistics (3 of 6) +# Ships from group: Logistics (3 of 7) type = "passive" diff --git a/eos/effects/shieldtransportcpuneedbonuseffect.py b/eos/effects/shieldtransportcpuneedbonuseffect.py index bd96b3efc..427290a3f 100644 --- a/eos/effects/shieldtransportcpuneedbonuseffect.py +++ b/eos/effects/shieldtransportcpuneedbonuseffect.py @@ -1,7 +1,7 @@ # shieldTransportCpuNeedBonusEffect # # Used by: -# Ships from group: Logistics (3 of 6) +# Ships from group: Logistics (3 of 7) type = "passive" diff --git a/eos/effects/shipbonusmutadaptiveremoterepairrangerole3.py b/eos/effects/shipbonusmutadaptiveremoterepairrangerole3.py index 64537a267..64fca9ffb 100644 --- a/eos/effects/shipbonusmutadaptiveremoterepairrangerole3.py +++ b/eos/effects/shipbonusmutadaptiveremoterepairrangerole3.py @@ -1,3 +1,7 @@ +# shipBonusMutadaptiveRemoteRepairRangeRole3 +# +# Used by: +# Ship: Rodiva type = "passive" def handler(fit, src, context): fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == "Mutadaptive Remote Armor Repairer", "maxRange", src.getModifiedItemAttr("shipBonusRole3")) diff --git a/eos/effects/shipbonusmutadaptiveremoterepamountelitebonuslogisitics2.py b/eos/effects/shipbonusmutadaptiveremoterepamountelitebonuslogisitics2.py index 4af3e6358..b8ae258c3 100644 --- a/eos/effects/shipbonusmutadaptiveremoterepamountelitebonuslogisitics2.py +++ b/eos/effects/shipbonusmutadaptiveremoterepamountelitebonuslogisitics2.py @@ -1,3 +1,7 @@ +# shipBonusMutadaptiveRemoteRepAmounteliteBonusLogisitics2 +# +# Used by: +# Ship: Zarmazd type = "passive" def handler(fit, src, context): fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == "Mutadaptive Remote Armor Repairer", "armorDamageAmount", src.getModifiedItemAttr("eliteBonusLogistics2"), skill="Logistics Cruisers") diff --git a/eos/effects/shipbonusmutadaptiveremoterepcapneedelitebonuslogisitics1.py b/eos/effects/shipbonusmutadaptiveremoterepcapneedelitebonuslogisitics1.py index bea5b3ece..b936f644c 100644 --- a/eos/effects/shipbonusmutadaptiveremoterepcapneedelitebonuslogisitics1.py +++ b/eos/effects/shipbonusmutadaptiveremoterepcapneedelitebonuslogisitics1.py @@ -1,3 +1,7 @@ +# shipBonusMutadaptiveRemoteRepCapNeedeliteBonusLogisitics1 +# +# Used by: +# Ship: Zarmazd type = "passive" def handler(fit, src, context): fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == "Mutadaptive Remote Armor Repairer", "capacitorNeed", src.getModifiedItemAttr("eliteBonusLogistics1"), skill="Logistics Cruisers") diff --git a/eos/effects/shipbonusmutadaptiveremotereprangepc1.py b/eos/effects/shipbonusmutadaptiveremotereprangepc1.py index 86140949b..67b2da620 100644 --- a/eos/effects/shipbonusmutadaptiveremotereprangepc1.py +++ b/eos/effects/shipbonusmutadaptiveremotereprangepc1.py @@ -1,3 +1,7 @@ +# shipBonusMutadaptiveRemoteRepRangePC1 +# +# Used by: +# Ship: Zarmazd type = "passive" def handler(fit, src, context): fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == "Mutadaptive Remote Armor Repairer", "maxRange", src.getModifiedItemAttr("shipBonusPC1"), skill="Precursor Cruiser") diff --git a/eos/effects/shipbonusmutadaptiverepamountpc1.py b/eos/effects/shipbonusmutadaptiverepamountpc1.py index 4026ea44e..7e892f3e4 100644 --- a/eos/effects/shipbonusmutadaptiverepamountpc1.py +++ b/eos/effects/shipbonusmutadaptiverepamountpc1.py @@ -1,3 +1,7 @@ +# shipBonusMutadaptiveRepAmountPC1 +# +# Used by: +# Ship: Rodiva type = "passive" def handler(fit, src, context): fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == "Mutadaptive Remote Armor Repairer", "armorDamageAmount", src.getModifiedItemAttr("shipBonusPC1"), skill="Precursor Cruiser") diff --git a/eos/effects/shipbonusmutadaptiverepcapneedpc2.py b/eos/effects/shipbonusmutadaptiverepcapneedpc2.py index 659fd7ddc..22348514a 100644 --- a/eos/effects/shipbonusmutadaptiverepcapneedpc2.py +++ b/eos/effects/shipbonusmutadaptiverepcapneedpc2.py @@ -1,3 +1,7 @@ +# shipBonusMutadaptiveRepCapNeedPC2 +# +# Used by: +# Ship: Rodiva type = "passive" def handler(fit, src, context): fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == "Mutadaptive Remote Armor Repairer", "capacitorNeed", src.getModifiedItemAttr("shipBonusPC2"), skill="Precursor Cruiser") diff --git a/eos/effects/shipbonusnosneutcapneedrolebonus2.py b/eos/effects/shipbonusnosneutcapneedrolebonus2.py index 0ecb109c3..314736818 100644 --- a/eos/effects/shipbonusnosneutcapneedrolebonus2.py +++ b/eos/effects/shipbonusnosneutcapneedrolebonus2.py @@ -1,3 +1,8 @@ +# shipBonusNosNeutCapNeedRoleBonus2 +# +# Used by: +# Ship: Rodiva +# Ship: Zarmazd type = "passive" def handler(fit, src, context): fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Capacitor Emission Systems"), "capacitorNeed", src.getModifiedItemAttr("shipBonusRole2")) diff --git a/eos/effects/shipbonusremotecapacitortransferrangerole1.py b/eos/effects/shipbonusremotecapacitortransferrangerole1.py index f46e0061b..22e7efe3b 100644 --- a/eos/effects/shipbonusremotecapacitortransferrangerole1.py +++ b/eos/effects/shipbonusremotecapacitortransferrangerole1.py @@ -1,3 +1,8 @@ +# shipBonusRemoteCapacitorTransferRangeRole1 +# +# Used by: +# Ship: Rodiva +# Ship: Zarmazd type = "passive" def handler(fit, src, context): fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == "Remote Capacitor Transmitter", "maxRange", src.getModifiedItemAttr("shipBonusRole1")) diff --git a/eos/effects/shipbonusrole5remotearmorrepairpowergridbonus.py b/eos/effects/shipbonusrole5remotearmorrepairpowergridbonus.py index 3f764d908..5e87c2241 100644 --- a/eos/effects/shipbonusrole5remotearmorrepairpowergridbonus.py +++ b/eos/effects/shipbonusrole5remotearmorrepairpowergridbonus.py @@ -1,7 +1,7 @@ # shipBonusRole5RemoteArmorRepairPowergridBonus # # Used by: -# Ships from group: Logistics (3 of 6) +# Ships from group: Logistics (3 of 7) type = "passive" diff --git a/eos/effects/shipbonussmartbombcapneedrolebonus2.py b/eos/effects/shipbonussmartbombcapneedrolebonus2.py index 62bd5dcba..71df39ec4 100644 --- a/eos/effects/shipbonussmartbombcapneedrolebonus2.py +++ b/eos/effects/shipbonussmartbombcapneedrolebonus2.py @@ -6,8 +6,10 @@ # Ship: Hydra # Ship: Kikimora # Ship: Leshak +# Ship: Rodiva # Ship: Tiamat # Ship: Vedmak +# Ship: Zarmazd type = "passive" diff --git a/eos/effects/shipmoduleremotearmormutadaptiverepairer.py b/eos/effects/shipmoduleremotearmormutadaptiverepairer.py index 4423fe5a4..7086495bb 100644 --- a/eos/effects/shipmoduleremotearmormutadaptiverepairer.py +++ b/eos/effects/shipmoduleremotearmormutadaptiverepairer.py @@ -1,8 +1,18 @@ +# ShipModuleRemoteArmorMutadaptiveRepairer +# +# Used by: +# Modules from group: Mutadaptive Remote Armor Repairer (5 of 5) +from eos.utils.spoolSupport import SpoolType, calculateSpoolup + + type = "projected", "active" def handler(fit, container, context, **kwargs): if "projected" in context: - bonus = container.getModifiedItemAttr("armorDamageAmount") - duration = container.getModifiedItemAttr("duration") / 1000.0 - fit.extraAttributes.increase("armorRepair", bonus / duration, **kwargs) + repAmountBase = container.getModifiedItemAttr("armorDamageAmount") + cycleTime = container.getModifiedItemAttr("duration") / 1000.0 + repSpoolMax = container.getModifiedItemAttr("repairMultiplierBonusMax") + repSpoolPerCycle = container.getModifiedItemAttr("repairMultiplierBonusPerCycle") + repAmount = repAmountBase * (1 + calculateSpoolup(repSpoolMax, repSpoolPerCycle, cycleTime, container.spoolType, container.spoolAmount)) + fit.extraAttributes.increase("armorRepair", repAmount / cycleTime, **kwargs)