From 4d8a891fd8136247ab04f6eee614ad4188a43da1 Mon Sep 17 00:00:00 2001 From: DarkPhoenix Date: Thu, 30 Nov 2023 22:32:04 +0600 Subject: [PATCH] Update effects --- eos/effects.py | 219 +++++++++++++++++-------------------------------- 1 file changed, 73 insertions(+), 146 deletions(-) diff --git a/eos/effects.py b/eos/effects.py index 6ff6b8a26..240362aa1 100644 --- a/eos/effects.py +++ b/eos/effects.py @@ -1511,6 +1511,7 @@ class Effect512(BaseEffect): Ship: Atron Ship: Federation Navy Comet Ship: Pacifier + Ship: Shapash Ship: Taranis """ @@ -1712,6 +1713,7 @@ class Effect562(BaseEffect): Variations of ship: Vexor (3 of 4) Ship: Adrestia Ship: Arazu + Ship: Cybele Ship: Deimos Ship: Enforcer Ship: Exequror Navy Issue @@ -14883,6 +14885,7 @@ class Effect4473(BaseEffect): Used by: Ship: Adrestia + Ship: Cybele Ship: Mimir """ @@ -15443,6 +15446,7 @@ class Effect4620(BaseEffect): Used by: Ship: Garmur + Ship: Shapash Ship: Utu """ @@ -15461,6 +15465,7 @@ class Effect4621(BaseEffect): Used by: Ship: Cambion Ship: Etana + Ship: Shapash Ship: Utu """ @@ -15542,6 +15547,7 @@ class Effect4626(BaseEffect): Used by: Ship: Adrestia + Ship: Cybele Ship: Orthrus """ @@ -40117,6 +40123,23 @@ def handler(fit, ship, context, projectionRange, **kwargs): 'speed', ship.getModifiedItemAttr('shipBonusRole7'), **kwargs) +class Effect11767(BaseEffect): + """ + shipBonusHybridTrackingATC3 + + Used by: + Ship: Cybele + """ + + type = 'passive' + + @staticmethod + def handler(fit, src, context, projectionRange, **kwargs): + fit.modules.filteredItemBoost( + lambda mod: mod.item.requiresSkill('Medium Hybrid Turret'), 'trackingSpeed', + src.getModifiedItemAttr('eliteBonusHeavyGunship1'), skill='Heavy Assault Cruisers', **kwargs) + + class Effect11919(BaseEffect): """ shipBonusDestroyerMD1Falloff @@ -40342,28 +40365,12 @@ def handler(fit, beacon, context, projectionRange, **kwargs): stackingPenalties=True, penaltyGroup='postMul', **kwargs) -class Effect12003(BaseEffect): - """ - vortonTurretSpeeBonusPostPercentSpeedLocationShipModulesRequiringVortonProjectorOperation - - Used by: - Implants named like: Halcyon R Booster (5 of 5) - """ - - type = 'passive' - - @staticmethod - def handler(fit, booster, context, projectionRange, **kwargs): - fit.modules.filteredItemBoost( - lambda mod: mod.item.requiresSkill('Vorton Projector Operation'), 'speed', - booster.getModifiedItemAttr('turretSpeeBonus'), **kwargs) - - -class Effect100100(BaseEffect): +class Effect11992(BaseEffect): """ - pyfaCustomShapashAfArAmount + shipBonusArmorPlateMassAT Used by: + Ship: Cybele Ship: Shapash """ @@ -40372,50 +40379,47 @@ class Effect100100(BaseEffect): @staticmethod def handler(fit, ship, context, projectionRange, **kwargs): fit.modules.filteredItemBoost( - lambda mod: mod.item.requiresSkill('Repair Systems'), - 'armorDamageAmount', 10, skill='Assault Frigates', **kwargs) + lambda mod: mod.item.group.name == 'Armor Plate', 'massAddition', + ship.getModifiedItemAttr('shipBonusATF3'), **kwargs) -class Effect100101(BaseEffect): +class Effect11993(BaseEffect): """ - pyfaCustomShapashAfShtTrackingOptimal + shipBonusRepairSystemsBonusATC3 Used by: - Ship: Shapash + Ship: Cybele """ type = 'passive' @staticmethod - def handler(fit, ship, context, projectionRange, **kwargs): - fit.modules.filteredItemBoost( - lambda mod: mod.item.requiresSkill('Small Hybrid Turret'), - 'maxRange', 10, skill='Assault Frigates', **kwargs) + def handler(fit, src, context, projectionRange, **kwargs): fit.modules.filteredItemBoost( - lambda mod: mod.item.requiresSkill('Small Hybrid Turret'), - 'trackingSpeed', 10, skill='Assault Frigates', **kwargs) + lambda mod: mod.item.requiresSkill('Repair Systems'), 'armorDamageAmount', + src.getModifiedItemAttr('shipBonusGC3'), skill='Gallente Cruiser', **kwargs) -class Effect100102(BaseEffect): +class Effect11994(BaseEffect): """ - pyfaCustomShapashGfShtDamage + shipBonusHybridFalloffATC3 Used by: - Ship: Shapash + Ship: Cybele """ type = 'passive' @staticmethod - def handler(fit, ship, context, projectionRange, **kwargs): + def handler(fit, src, context, projectionRange, **kwargs): fit.modules.filteredItemBoost( - lambda mod: mod.item.requiresSkill('Small Hybrid Turret'), - 'damageMultiplier', 10, skill='Gallente Frigate', **kwargs) + lambda mod: mod.item.requiresSkill('Medium Hybrid Turret'), 'falloff', + src.getModifiedItemAttr('eliteBonusHeavyGunship2'), skill='Heavy Assault Cruisers', **kwargs) -class Effect100103(BaseEffect): +class Effect11995(BaseEffect): """ - pyfaCustomShapashGfPointRange + shipBonusHeatAfterburnerATGF Used by: Ship: Shapash @@ -40424,15 +40428,15 @@ class Effect100103(BaseEffect): type = 'passive' @staticmethod - def handler(fit, ship, context, projectionRange, **kwargs): + def handler(fit, src, context, projectionRange, **kwargs): fit.modules.filteredItemBoost( - lambda mod: mod.item.group.name == 'Warp Scrambler', - 'maxRange', 10, skill='Gallente Frigate', **kwargs) + lambda mod: mod.item.requiresSkill('Afterburner'), 'overloadSpeedFactorBonus', + src.getModifiedItemAttr('shipBonusGF2'), skill='Gallente Frigate', **kwargs) -class Effect100104(BaseEffect): +class Effect11996(BaseEffect): """ - pyfaCustomShapashGfPropOverheat + shipBonusMWDHeatATGF Used by: Ship: Shapash @@ -40441,30 +40445,15 @@ class Effect100104(BaseEffect): type = 'passive' @staticmethod - def handler(fit, ship, context, projectionRange, **kwargs): + def handler(fit, src, context, projectionRange, **kwargs): fit.modules.filteredItemBoost( - lambda mod: mod.item.requiresSkill('Afterburner') or mod.item.requiresSkill('High Speed Maneuvering'), - 'overloadSpeedFactorBonus', 10, skill='Gallente Frigate', **kwargs) - - -class Effect100105(BaseEffect): - """ - pyfaCustomShapashRolePlateMass - - Used by: - Ship: Shapash - """ - - type = 'passive' - - @staticmethod - def handler(fit, ship, context, projectionRange, **kwargs): - fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == 'Armor Plate', 'massAddition', -100, **kwargs) + lambda mod: mod.item.requiresSkill('High Speed Maneuvering'), 'overloadSpeedFactorBonus', + src.getModifiedItemAttr('shipBonusGF2'), skill='Gallente Frigate', **kwargs) -class Effect100106(BaseEffect): +class Effect11997(BaseEffect): """ - pyfaCustomShapashRoleHeat + shipBonusArmorRepATGF Used by: Ship: Shapash @@ -40473,120 +40462,58 @@ class Effect100106(BaseEffect): type = 'passive' @staticmethod - def handler(fit, ship, context, projectionRange, **kwargs): - fit.modules.filteredItemBoost(lambda mod: True, 'heatDamage', -50, **kwargs) - - -class Effect100200(BaseEffect): - """ - pyfaCustomCybeleHacMhtFalloff - - Used by: - Ship: Cybele - """ - - type = 'passive' - - @staticmethod - def handler(fit, ship, context, projectionRange, **kwargs): - fit.modules.filteredItemBoost( - lambda mod: mod.item.requiresSkill('Medium Hybrid Turret'), - 'falloff', 10, skill='Heavy Assault Cruisers', **kwargs) - - -class Effect100201(BaseEffect): - """ - pyfaCustomCybeleHacMhtTracking - - Used by: - Ship: Cybele - """ - - type = 'passive' - - @staticmethod - def handler(fit, ship, context, projectionRange, **kwargs): + def handler(fit, src, context, projectionRange, **kwargs): fit.modules.filteredItemBoost( - lambda mod: mod.item.requiresSkill('Medium Hybrid Turret'), - 'trackingSpeed', 7.5, skill='Heavy Assault Cruisers', **kwargs) + lambda mod: mod.item.requiresSkill('Repair Systems'), 'armorDamageAmount', + src.getModifiedItemAttr('eliteBonusGunship1'), skill='Assault Frigates', **kwargs) -class Effect100202(BaseEffect): +class Effect11998(BaseEffect): """ - pyfaCustomCybeleGcMhtDamage + shipBonusSmallHybridMaxRangeATF3 Used by: - Ship: Cybele + Ship: Shapash """ type = 'passive' @staticmethod - def handler(fit, ship, context, projectionRange, **kwargs): + def handler(fit, src, context, projectionRange, **kwargs): fit.modules.filteredItemBoost( - lambda mod: mod.item.requiresSkill('Medium Hybrid Turret'), - 'damageMultiplier', 20, skill='Gallente Cruiser', **kwargs) + lambda mod: mod.item.requiresSkill('Small Hybrid Turret'), 'maxRange', + src.getModifiedItemAttr('eliteBonusGunship2'), skill='Assault Frigates', **kwargs) -class Effect100203(BaseEffect): +class Effect11999(BaseEffect): """ - pyfaCustomCybeleGcArAmount + shipBonusSmallHybridTrackingSpeedATF3 Used by: - Ship: Cybele + Ship: Shapash """ type = 'passive' @staticmethod - def handler(fit, ship, context, projectionRange, **kwargs): + def handler(fit, src, context, projectionRange, **kwargs): fit.modules.filteredItemBoost( - lambda mod: mod.item.requiresSkill('Repair Systems'), - 'armorDamageAmount', 10, skill='Gallente Cruiser', **kwargs) + lambda mod: mod.item.requiresSkill('Small Hybrid Turret'), 'trackingSpeed', + src.getModifiedItemAttr('eliteBonusGunship2'), skill='Assault Frigates', **kwargs) -class Effect100204(BaseEffect): +class Effect12003(BaseEffect): """ - pyfaCustomCybeleGcPointRange + vortonTurretSpeeBonusPostPercentSpeedLocationShipModulesRequiringVortonProjectorOperation Used by: - Ship: Cybele + Implants named like: Halcyon R Booster (5 of 5) """ type = 'passive' @staticmethod - def handler(fit, ship, context, projectionRange, **kwargs): + def handler(fit, booster, context, projectionRange, **kwargs): fit.modules.filteredItemBoost( - lambda mod: mod.item.group.name == 'Warp Scrambler', - 'maxRange', 25, skill='Gallente Cruiser', **kwargs) - - -class Effect100205(BaseEffect): - """ - pyfaCustomCybeleRoleVelocity - - Used by: - Ship: Cybele - """ - - type = 'passive' - - @staticmethod - def handler(fit, ship, context, projectionRange, **kwargs): - fit.ship.boostItemAttr('maxVelocity', 30, **kwargs) - - -class Effect100206(BaseEffect): - """ - pyfaCustomCybeleRolePlateMass - - Used by: - Ship: Cybele - """ - - type = 'passive' - - @staticmethod - def handler(fit, ship, context, projectionRange, **kwargs): - fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == 'Armor Plate', 'massAddition', -100, **kwargs) + lambda mod: mod.item.requiresSkill('Vorton Projector Operation'), 'speed', + booster.getModifiedItemAttr('turretSpeeBonus'), **kwargs)