From b35bdd4e331fdf7518d05042eb403ed6f7827449 Mon Sep 17 00:00:00 2001 From: DarkPhoenix Date: Thu, 2 May 2019 19:50:40 +0300 Subject: [PATCH] Add triglavian invasion effects --- eos/effects.py | 90 +++++++++++++++++++++++++ gui/builtinContextMenus/envEffectAdd.py | 5 +- 2 files changed, 93 insertions(+), 2 deletions(-) diff --git a/eos/effects.py b/eos/effects.py index 2a302c092..ab6999ae3 100644 --- a/eos/effects.py +++ b/eos/effects.py @@ -35621,6 +35621,96 @@ class Effect7186(BaseEffect): 'armorHP', ship.getModifiedItemAttr('shipBonusRole8')) +class Effect7193(BaseEffect): + """ + systemMiningCycleTimeBonus + + Used by: + Celestials named like: Invasion Effects (3 of 3) + """ + + runTime = 'early' + type = ('projected', 'passive') + + @staticmethod + def handler(fit, beacon, context): + fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Mining'), + 'duration', beacon.getModifiedItemAttr('miningDurationMultiplier'), + stackingPenalties=True) + + fit.drones.filteredItemBoost(lambda drone: drone.item.requiresSkill('Mining'), + 'duration', beacon.getModifiedItemAttr('miningDurationMultiplier'), + stackingPenalties=True) + + +class Effect7194(BaseEffect): + """ + systemHullHPBonusPercent + + Used by: + Celestials named like: Invasion Effects (3 of 3) + """ + + runTime = 'early' + type = ('projected', 'passive') + + @staticmethod + def handler(fit, beacon, context): + fit.ship.boostItemAttr('hp', beacon.getModifiedItemAttr('hullHpBonus'), stackingPenalties=True) + + +class Effect7195(BaseEffect): + """ + systemAgilityBonusPercent + + Used by: + Celestials named like: Invasion Effects (3 of 3) + """ + + runTime = 'early' + type = ('projected', 'passive') + + @staticmethod + def handler(fit, beacon, context): + fit.ship.boostItemAttr('agility', beacon.getModifiedItemAttr('agilityBonus'), stackingPenalties=True) + + +class Effect7202(BaseEffect): + """ + systemDroneSpeedBonusPercent + + Used by: + Celestials named like: Invasion Effects (3 of 3) + """ + + runTime = 'early' + type = ('projected', 'passive') + + @staticmethod + def handler(fit, beacon, context): + fit.drones.filteredItemBoost(lambda drone: drone.item.requiresSkill('Drones'), + 'maxVelocity', beacon.getModifiedItemAttr('droneMaxVelocityBonus'), + stackingPenalties=True) + + +class Effect7203(BaseEffect): + """ + systemDroneDamageBonusPercent + + Used by: + Celestials named like: Invasion Effects (3 of 3) + """ + + runTime = 'early' + type = ('projected', 'passive') + + @staticmethod + def handler(fit, beacon, context): + fit.drones.filteredItemBoost(lambda drone: drone.item.requiresSkill('Drones'), + 'damageMultiplier', beacon.getModifiedItemAttr('droneDamageBonus'), + stackingPenalties=True) + + class Effect7204(BaseEffect): """ shipArmorEMResistancePF2 diff --git a/gui/builtinContextMenus/envEffectAdd.py b/gui/builtinContextMenus/envEffectAdd.py index 4dcfdbba6..4bfdad9b3 100644 --- a/gui/builtinContextMenus/envEffectAdd.py +++ b/gui/builtinContextMenus/envEffectAdd.py @@ -123,7 +123,8 @@ class AddEnvironmentEffect(ContextMenuUnconditional): # Expressions for matching when detecting effects we're looking for if incursions: - validgroups = ("Incursion ship attributes effects",) + validgroups = ("Incursion ship attributes effects", + "Invasion Effects") else: validgroups = ("Black Hole Effect Beacon", "Cataclysmic Variable Effect Beacon", @@ -133,7 +134,7 @@ class AddEnvironmentEffect(ContextMenuUnconditional): "Wolf Rayet Effect Beacon") # Stuff we don't want to see in names - garbages = ("Effect", "Beacon", "ship attributes effects") + garbages = ("Effects?", "Beacon", "ship attributes effects") # Get group with all the system-wide beacons grp = sMkt.getGroup("Effect Beacon")