diff --git a/eos/effects/ammoinfluencecapneed.py b/eos/effects/ammoinfluencecapneed.py index c695d8ff3..c9c0392f4 100644 --- a/eos/effects/ammoinfluencecapneed.py +++ b/eos/effects/ammoinfluencecapneed.py @@ -1,7 +1,7 @@ # ammoInfluenceCapNeed # # Used by: -# Items from category: Charge (458 of 829) +# Items from category: Charge (458 of 831) type = "passive" def handler(fit, module, context): # Dirty hack to work around cap charges setting cap booster diff --git a/eos/effects/ammoinfluencerange.py b/eos/effects/ammoinfluencerange.py index bb1853379..ba42613de 100644 --- a/eos/effects/ammoinfluencerange.py +++ b/eos/effects/ammoinfluencerange.py @@ -1,7 +1,7 @@ # ammoInfluenceRange # # Used by: -# Items from category: Charge (559 of 829) +# Items from category: Charge (559 of 831) type = "passive" def handler(fit, module, context): module.multiplyItemAttr("maxRange", module.getModifiedChargeAttr("weaponRangeMultiplier")) \ No newline at end of file diff --git a/eos/effects/armorhpbonusadd.py b/eos/effects/armorhpbonusadd.py index 2ea8082d2..a075cb025 100644 --- a/eos/effects/armorhpbonusadd.py +++ b/eos/effects/armorhpbonusadd.py @@ -1,7 +1,7 @@ # armorHPBonusAdd # # Used by: -# Modules from group: Armor Reinforcer (38 of 38) +# Modules from group: Armor Reinforcer (41 of 41) type = "passive" def handler(fit, module, context): fit.ship.increaseItemAttr("armorHP", module.getModifiedItemAttr("armorHPBonusAdd")) \ No newline at end of file diff --git a/eos/effects/armorreinforcermassadd.py b/eos/effects/armorreinforcermassadd.py index 4c00614b8..5c2eb6a85 100644 --- a/eos/effects/armorreinforcermassadd.py +++ b/eos/effects/armorreinforcermassadd.py @@ -1,7 +1,7 @@ # armorReinforcerMassAdd # # Used by: -# Modules from group: Armor Reinforcer (38 of 38) +# Modules from group: Armor Reinforcer (41 of 41) # Modules from group: Entosis Link (2 of 2) type = "passive" def handler(fit, module, context): diff --git a/eos/effects/elitebonusheavyinterdictorswarpdisruptfieldgeneratorwarpscramblerange2.py b/eos/effects/elitebonusheavyinterdictorswarpdisruptfieldgeneratorwarpscramblerange2.py index 889199e4d..9c8dc5046 100644 --- a/eos/effects/elitebonusheavyinterdictorswarpdisruptfieldgeneratorwarpscramblerange2.py +++ b/eos/effects/elitebonusheavyinterdictorswarpdisruptfieldgeneratorwarpscramblerange2.py @@ -1,7 +1,7 @@ # eliteBonusHeavyInterdictorsWarpDisruptFieldGeneratorWarpScrambleRange2 # # Used by: -# Ships from group: Heavy Interdiction Cruiser (4 of 4) +# Ships from group: Heavy Interdiction Cruiser (4 of 5) type = "passive" def handler(fit, ship, context): level = fit.character.getSkill("Heavy Interdiction Cruisers").level diff --git a/eos/effects/interceptor2warpscramblerange.py b/eos/effects/interceptor2warpscramblerange.py index d5ab4823d..8de21fae9 100644 --- a/eos/effects/interceptor2warpscramblerange.py +++ b/eos/effects/interceptor2warpscramblerange.py @@ -1,7 +1,7 @@ # Interceptor2WarpScrambleRange # # Used by: -# Ships from group: Interceptor (5 of 9) +# Ships from group: Interceptor (5 of 10) type = "passive" def handler(fit, ship, context): level = fit.character.getSkill("Interceptors").level diff --git a/eos/effects/interceptormwdsignatureradiusbonus.py b/eos/effects/interceptormwdsignatureradiusbonus.py index 82b696eae..9dedb49a4 100644 --- a/eos/effects/interceptormwdsignatureradiusbonus.py +++ b/eos/effects/interceptormwdsignatureradiusbonus.py @@ -1,7 +1,7 @@ # interceptorMWDSignatureRadiusBonus # # Used by: -# Ships from group: Interceptor (9 of 9) +# Ships from group: Interceptor (9 of 10) type = "passive" def handler(fit, ship, context): level = fit.character.getSkill("Interceptors").level diff --git a/eos/effects/modeagilitypostdiv.py b/eos/effects/modeagilitypostdiv.py index 1f8ece16e..591290d5c 100644 --- a/eos/effects/modeagilitypostdiv.py +++ b/eos/effects/modeagilitypostdiv.py @@ -1,7 +1,7 @@ # modeAgilityPostDiv # # Used by: -# Modules named like: Propulsion Mode (3 of 3) +# Modules named like: Propulsion Mode (4 of 4) type = "passive" def handler(fit, module, context): fit.ship.multiplyItemAttr( diff --git a/eos/effects/modearmorresonancepostdiv.py b/eos/effects/modearmorresonancepostdiv.py index 27121df39..708fafc9e 100644 --- a/eos/effects/modearmorresonancepostdiv.py +++ b/eos/effects/modearmorresonancepostdiv.py @@ -1,8 +1,7 @@ # modeArmorResonancePostDiv # # Used by: -# Module: Confessor Defense Mode -# Module: Svipul Defense Mode +# Modules named like: Defense Mode (3 of 4) type = "passive" def handler(fit, module, context): for srcResType, tgtResType in ( diff --git a/eos/effects/modehullresonancepostdiv.py b/eos/effects/modehullresonancepostdiv.py new file mode 100644 index 000000000..bc38b1e18 --- /dev/null +++ b/eos/effects/modehullresonancepostdiv.py @@ -0,0 +1,16 @@ +# modeHullResonancePostDiv +# +# Used by: +# Module: Hecate Defense Mode +type = "passive" +def handler(fit, module, context): + for srcResType, tgtResType in ( + ("Em", "em"), + ("Explosive", "explosive"), + ("Kinetic", "kinetic"), + ("Thermic", "thermal") + ): + fit.ship.multiplyItemAttr( + "{0}DamageResonance".format(tgtResType), + 1 / module.getModifiedItemAttr("mode{0}ResistancePostDiv".format(srcResType)) + ) diff --git a/eos/effects/modemwdboostpostdiv.py b/eos/effects/modemwdboostpostdiv.py new file mode 100644 index 000000000..5669e906b --- /dev/null +++ b/eos/effects/modemwdboostpostdiv.py @@ -0,0 +1,13 @@ +# modeMWDBoostPostDiv +# +# Used by: +# Module: Hecate Propulsion Mode +type = "passive" +def handler(fit, module, context): + fit.modules.filteredItemMultiply( + lambda mod: mod.item.requiresSkill("High Speed Maneuvering"), + "speedFactor", + 1 / module.getModifiedItemAttr("modeMWDVelocityPostDiv"), + stackingPenalties=True, + penaltyGroup="postDiv" + ) diff --git a/eos/effects/modemwdcappostdiv.py b/eos/effects/modemwdcappostdiv.py new file mode 100644 index 000000000..7ad0ba151 --- /dev/null +++ b/eos/effects/modemwdcappostdiv.py @@ -0,0 +1,11 @@ +# modeMWDCapPostDiv +# +# Used by: +# Module: Hecate Propulsion Mode +type = "passive" +def handler(fit, module, context): + fit.modules.filteredItemMultiply( + lambda mod: mod.item.requiresSkill("High Speed Maneuvering"), + "capacitorNeed", + 1 / module.getModifiedItemAttr("modeMWDCapPostDiv") + ) diff --git a/eos/effects/modevelocitypostdiv.py b/eos/effects/modevelocitypostdiv.py index f3b1090ab..a781893c6 100644 --- a/eos/effects/modevelocitypostdiv.py +++ b/eos/effects/modevelocitypostdiv.py @@ -1,7 +1,7 @@ # modeVelocityPostDiv # # Used by: -# Modules named like: Propulsion Mode (3 of 3) +# Modules named like: Propulsion Mode (3 of 4) type = "passive" def handler(fit, module, context): fit.ship.multiplyItemAttr( diff --git a/eos/effects/offensivedefensivereduction.py b/eos/effects/offensivedefensivereduction.py index 70e98cca9..cc6abc5f5 100644 --- a/eos/effects/offensivedefensivereduction.py +++ b/eos/effects/offensivedefensivereduction.py @@ -1,6 +1,7 @@ # OffensiveDefensiveReduction # # Used by: +# Celestials named like: Drifter Incursion (6 of 6) # Celestials named like: Incursion ship attributes effects (3 of 3) runTime = "early" type = ("projected", "offline") diff --git a/eos/effects/probelaunchercpupercentbonustacticaldestroyer.py b/eos/effects/probelaunchercpupercentbonustacticaldestroyer.py index 05cd1f11c..99cbeb9b7 100644 --- a/eos/effects/probelaunchercpupercentbonustacticaldestroyer.py +++ b/eos/effects/probelaunchercpupercentbonustacticaldestroyer.py @@ -1,7 +1,7 @@ # probeLauncherCPUPercentBonusTacticalDestroyer # # Used by: -# Ships from group: Tactical Destroyer (3 of 3) +# Ships from group: Tactical Destroyer (4 of 4) type = "passive" def handler(fit, ship, context): fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Astrometrics"), diff --git a/eos/effects/shipbonuspiratesmallhybriddmg.py b/eos/effects/shipbonuspiratesmallhybriddmg.py index 6ddeae4e6..986b5d59b 100644 --- a/eos/effects/shipbonuspiratesmallhybriddmg.py +++ b/eos/effects/shipbonuspiratesmallhybriddmg.py @@ -2,6 +2,7 @@ # # Used by: # Ship: Daredevil +# Ship: Hecate type = "passive" def handler(fit, ship, context): fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Small Hybrid Turret"), diff --git a/eos/effects/shipbonusrhmlrofcb.py b/eos/effects/shipbonusrhmlrofcb.py index c1a1f4c5f..058aa2b9e 100644 --- a/eos/effects/shipbonusrhmlrofcb.py +++ b/eos/effects/shipbonusrhmlrofcb.py @@ -1,3 +1,7 @@ +# shipBonusRHMLROFCB +# +# Used by: +# Ship: Scorpion Navy Issue type = "passive" def handler(fit, ship, context): level = fit.character.getSkill("Caldari Battleship").level diff --git a/eos/effects/shipcappropulsionjamming.py b/eos/effects/shipcappropulsionjamming.py index 8523593ca..9f7e60a39 100644 --- a/eos/effects/shipcappropulsionjamming.py +++ b/eos/effects/shipcappropulsionjamming.py @@ -1,7 +1,7 @@ # shipCapPropulsionJamming # # Used by: -# Ships from group: Interceptor (9 of 9) +# Ships from group: Interceptor (9 of 10) # Ship: Atron # Ship: Condor # Ship: Executioner diff --git a/eos/effects/shipheatdamagegallentetacticaldestroyer3.py b/eos/effects/shipheatdamagegallentetacticaldestroyer3.py new file mode 100644 index 000000000..9d09f8dc6 --- /dev/null +++ b/eos/effects/shipheatdamagegallentetacticaldestroyer3.py @@ -0,0 +1,9 @@ +# shipHeatDamageGallenteTacticalDestroyer3 +# +# Used by: +# Ship: Hecate +type = "passive" +def handler(fit, ship, context): + level = fit.character.getSkill("Gallente Tactical Destroyer").level + fit.modules.filteredItemBoost(lambda mod: True, "heatDamage", + ship.getModifiedItemAttr("shipBonusTacticalDestroyerGallente3") * level) diff --git a/eos/effects/shipmodemaxtargetrangepostdiv.py b/eos/effects/shipmodemaxtargetrangepostdiv.py index 4e160e1cc..e38ed8dfe 100644 --- a/eos/effects/shipmodemaxtargetrangepostdiv.py +++ b/eos/effects/shipmodemaxtargetrangepostdiv.py @@ -1,7 +1,7 @@ # shipModeMaxTargetRangePostDiv # # Used by: -# Modules named like: Sharpshooter Mode (3 of 3) +# Modules named like: Sharpshooter Mode (4 of 4) type = "passive" def handler(fit, module, context): fit.ship.multiplyItemAttr( diff --git a/eos/effects/shipmodescanrespostdiv.py b/eos/effects/shipmodescanrespostdiv.py index d7cc9b72a..f89c8152f 100644 --- a/eos/effects/shipmodescanrespostdiv.py +++ b/eos/effects/shipmodescanrespostdiv.py @@ -1,7 +1,7 @@ # shipModeScanResPostDiv # # Used by: -# Modules named like: Sharpshooter Mode (3 of 3) +# Modules named like: Sharpshooter Mode (4 of 4) type = "passive" def handler(fit, module, context): fit.ship.multiplyItemAttr( diff --git a/eos/effects/shipmodescanstrengthpostdiv.py b/eos/effects/shipmodescanstrengthpostdiv.py index 7e4613108..eac3f8b61 100644 --- a/eos/effects/shipmodescanstrengthpostdiv.py +++ b/eos/effects/shipmodescanstrengthpostdiv.py @@ -1,7 +1,7 @@ # shipModeScanStrengthPostDiv # # Used by: -# Modules named like: Sharpshooter Mode (3 of 3) +# Modules named like: Sharpshooter Mode (4 of 4) type = "passive" def handler(fit, module, context): for scanType in ("Gravimetric", "Magnetometric", "Radar", "Ladar"): diff --git a/eos/effects/shipmodeshtoptimalrangepostdiv.py b/eos/effects/shipmodeshtoptimalrangepostdiv.py new file mode 100644 index 000000000..4b38fdd71 --- /dev/null +++ b/eos/effects/shipmodeshtoptimalrangepostdiv.py @@ -0,0 +1,13 @@ +# shipModeSHTOptimalRangePostDiv +# +# Used by: +# Module: Hecate Sharpshooter Mode +type = "passive" +def handler(fit, module, context): + fit.modules.filteredItemMultiply( + lambda mod: mod.item.requiresSkill("Small Hybrid Turret"), + "maxRange", + 1 / module.getModifiedItemAttr("modeMaxRangePostDiv"), + stackingPenalties=True, + penaltyGroup="postDiv" + ) diff --git a/eos/effects/shipshtrofgallentetacticaldestroyer1.py b/eos/effects/shipshtrofgallentetacticaldestroyer1.py new file mode 100644 index 000000000..3d288c289 --- /dev/null +++ b/eos/effects/shipshtrofgallentetacticaldestroyer1.py @@ -0,0 +1,9 @@ +# shipSHTRoFGallenteTacticalDestroyer1 +# +# Used by: +# Ship: Hecate +type = "passive" +def handler(fit, ship, context): + level = fit.character.getSkill("Gallente Tactical Destroyer").level + fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Small Hybrid Turret"), + "speed", ship.getModifiedItemAttr("shipBonusTacticalDestroyerGallente1") * level) diff --git a/eos/effects/shipshttrackinggallentetacticaldestroyer2.py b/eos/effects/shipshttrackinggallentetacticaldestroyer2.py new file mode 100644 index 000000000..a2d6a612c --- /dev/null +++ b/eos/effects/shipshttrackinggallentetacticaldestroyer2.py @@ -0,0 +1,9 @@ +# shipSHTTrackingGallenteTacticalDestroyer2 +# +# Used by: +# Ship: Hecate +type = "passive" +def handler(fit, ship, context): + level = fit.character.getSkill("Gallente Tactical Destroyer").level + fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Small Hybrid Turret"), + "trackingSpeed", ship.getModifiedItemAttr("shipBonusTacticalDestroyerGallente2") * level) diff --git a/eos/effects/systemdamagedrones.py b/eos/effects/systemdamagedrones.py index 889c75378..c887cc51f 100644 --- a/eos/effects/systemdamagedrones.py +++ b/eos/effects/systemdamagedrones.py @@ -1,6 +1,7 @@ # systemDamageDrones # # Used by: +# Celestials named like: Drifter Incursion (6 of 6) # Celestials named like: Magnetar Effect Beacon Class (6 of 6) runTime = "early" type = ("projected", "offline") diff --git a/eos/effects/systemdamageemmissiles.py b/eos/effects/systemdamageemmissiles.py index eb12ddce3..61e1c5b7c 100644 --- a/eos/effects/systemdamageemmissiles.py +++ b/eos/effects/systemdamageemmissiles.py @@ -1,6 +1,7 @@ # systemDamageEmMissiles # # Used by: +# Celestials named like: Drifter Incursion (6 of 6) # Celestials named like: Magnetar Effect Beacon Class (6 of 6) runTime = "early" type = ("projected", "offline") diff --git a/eos/effects/systemdamageexplosivemissiles.py b/eos/effects/systemdamageexplosivemissiles.py index ade40917f..85eec6530 100644 --- a/eos/effects/systemdamageexplosivemissiles.py +++ b/eos/effects/systemdamageexplosivemissiles.py @@ -1,6 +1,7 @@ # systemDamageExplosiveMissiles # # Used by: +# Celestials named like: Drifter Incursion (6 of 6) # Celestials named like: Magnetar Effect Beacon Class (6 of 6) runTime = "early" type = ("projected", "offline") diff --git a/eos/effects/systemdamagekineticmissiles.py b/eos/effects/systemdamagekineticmissiles.py index cb35e4613..b36d47690 100644 --- a/eos/effects/systemdamagekineticmissiles.py +++ b/eos/effects/systemdamagekineticmissiles.py @@ -1,6 +1,7 @@ # systemDamageKineticMissiles # # Used by: +# Celestials named like: Drifter Incursion (6 of 6) # Celestials named like: Magnetar Effect Beacon Class (6 of 6) runTime = "early" type = ("projected", "offline") diff --git a/eos/effects/systemdamagemultipliergunnery.py b/eos/effects/systemdamagemultipliergunnery.py index d940a0b73..70849fa79 100644 --- a/eos/effects/systemdamagemultipliergunnery.py +++ b/eos/effects/systemdamagemultipliergunnery.py @@ -1,6 +1,7 @@ # systemDamageMultiplierGunnery # # Used by: +# Celestials named like: Drifter Incursion (6 of 6) # Celestials named like: Magnetar Effect Beacon Class (6 of 6) runTime = "early" type = ("projected", "offline") diff --git a/eos/effects/systemdamagethermalmissiles.py b/eos/effects/systemdamagethermalmissiles.py index 2738832a7..3dee7a4c8 100644 --- a/eos/effects/systemdamagethermalmissiles.py +++ b/eos/effects/systemdamagethermalmissiles.py @@ -1,6 +1,7 @@ # systemDamageThermalMissiles # # Used by: +# Celestials named like: Drifter Incursion (6 of 6) # Celestials named like: Magnetar Effect Beacon Class (6 of 6) runTime = "early" type = ("projected", "offline") diff --git a/eos/effects/systemmaxvelocity.py b/eos/effects/systemmaxvelocity.py index 9f3e78ec3..13c3bdd7f 100644 --- a/eos/effects/systemmaxvelocity.py +++ b/eos/effects/systemmaxvelocity.py @@ -2,6 +2,7 @@ # # Used by: # Celestials named like: Black Hole Effect Beacon Class (6 of 6) +# Celestials named like: Drifter Incursion (6 of 6) runTime = "early" type = ("projected", "offline") def handler(fit, beacon, context): diff --git a/eos/effects/systemsmartbombemdamage.py b/eos/effects/systemsmartbombemdamage.py index 20f06d156..44964f681 100644 --- a/eos/effects/systemsmartbombemdamage.py +++ b/eos/effects/systemsmartbombemdamage.py @@ -1,6 +1,7 @@ # systemSmartBombEmDamage # # Used by: +# Celestials named like: Drifter Incursion (6 of 6) # Celestials named like: Red Giant Beacon Class (6 of 6) runTime = "early" type = ("projected", "offline") diff --git a/eos/effects/systemsmartbombexplosivedamage.py b/eos/effects/systemsmartbombexplosivedamage.py index 40e6ffde9..e27857d85 100644 --- a/eos/effects/systemsmartbombexplosivedamage.py +++ b/eos/effects/systemsmartbombexplosivedamage.py @@ -1,6 +1,7 @@ # systemSmartBombExplosiveDamage # # Used by: +# Celestials named like: Drifter Incursion (6 of 6) # Celestials named like: Red Giant Beacon Class (6 of 6) runTime = "early" type = ("projected", "offline") diff --git a/eos/effects/systemsmartbombkineticdamage.py b/eos/effects/systemsmartbombkineticdamage.py index 41d317e4d..0e8d9730b 100644 --- a/eos/effects/systemsmartbombkineticdamage.py +++ b/eos/effects/systemsmartbombkineticdamage.py @@ -1,6 +1,7 @@ # systemSmartBombKineticDamage # # Used by: +# Celestials named like: Drifter Incursion (6 of 6) # Celestials named like: Red Giant Beacon Class (6 of 6) runTime = "early" type = ("projected", "offline") diff --git a/eos/effects/systemsmartbombthermaldamage.py b/eos/effects/systemsmartbombthermaldamage.py index 0237c98f4..c5ae52efb 100644 --- a/eos/effects/systemsmartbombthermaldamage.py +++ b/eos/effects/systemsmartbombthermaldamage.py @@ -1,6 +1,7 @@ # systemSmartBombThermalDamage # # Used by: +# Celestials named like: Drifter Incursion (6 of 6) # Celestials named like: Red Giant Beacon Class (6 of 6) runTime = "early" type = ("projected", "offline") diff --git a/staticdata/eve.db b/staticdata/eve.db index 032a2a351..8a6253db8 100644 Binary files a/staticdata/eve.db and b/staticdata/eve.db differ diff --git a/staticdata/icons/ships/35683.png b/staticdata/icons/ships/35683.png new file mode 100644 index 000000000..cdd0594e8 Binary files /dev/null and b/staticdata/icons/ships/35683.png differ