@@ -44066,3 +44066,177 @@ def handler(fit, ship, context, projectionRange, **kwargs):
4406644066 fit.modules.filteredItemBoost(
4406744067 lambda mod: mod.item.requiresSkill('High Speed Maneuvering'),
4406844068 'signatureRadiusBonus', -50, **kwargs)
44069+
44070+
44071+ class Effect100200(BaseEffect):
44072+ """
44073+ pyfaCustomPenitenceRecEneOptimal
44074+
44075+ Used by:
44076+ Ship: Penitence
44077+ """
44078+
44079+ type = 'passive'
44080+
44081+ @staticmethod
44082+ def handler(fit, src, context, projectionRange, **kwargs):
44083+ fit.modules.filteredItemBoost(
44084+ lambda mod: mod.item.group.name in ('Energy Neutralizer', 'Energy Nosferatu'),
44085+ 'maxRange', 50, skill='Recon Ships', **kwargs)
44086+
44087+
44088+ class Effect100201(BaseEffect):
44089+ """
44090+ pyfaCustomPenitenceRecEneFalloff
44091+
44092+ Used by:
44093+ Ship: Penitence
44094+ """
44095+
44096+ type = 'passive'
44097+
44098+ @staticmethod
44099+ def handler(fit, src, context, projectionRange, **kwargs):
44100+ fit.modules.filteredItemBoost(
44101+ lambda mod: mod.item.group.name in ('Energy Neutralizer', 'Energy Nosferatu'),
44102+ 'falloffEffectiveness', 30, skill='Recon Ships', **kwargs)
44103+
44104+
44105+ class Effect100202(BaseEffect):
44106+ """
44107+ pyfaCustomPenitenceRecEneAmount
44108+
44109+ Used by:
44110+ Ship: Penitence
44111+ """
44112+
44113+ type = 'passive'
44114+
44115+ @staticmethod
44116+ def handler(fit, src, context, projectionRange, **kwargs):
44117+ fit.modules.filteredItemBoost(
44118+ lambda mod: mod.item.group.name == 'Energy Neutralizer',
44119+ 'energyNeutralizerAmount', 40, skill='Recon Ships', **kwargs)
44120+ fit.modules.filteredItemBoost(
44121+ lambda mod: mod.item.group.name == 'Energy Nosferatu',
44122+ 'powerTransferAmount', 40, skill='Recon Ships', **kwargs)
44123+
44124+
44125+ class Effect100203(BaseEffect):
44126+ """
44127+ pyfaCustomPenitenceHicWdfgOptimal
44128+
44129+ Used by:
44130+ Ship: Penitence
44131+ """
44132+
44133+ type = 'passive'
44134+
44135+ @staticmethod
44136+ def handler(fit, ship, context, projectionRange, **kwargs):
44137+ fit.modules.filteredItemBoost(
44138+ lambda mod: mod.item.group.name == 'Warp Disrupt Field Generator',
44139+ 'warpScrambleRange', 10, skill='Heavy Interdiction Cruisers', **kwargs)
44140+
44141+
44142+ class Effect100204(BaseEffect):
44143+ """
44144+ pyfaCustomPenitenceAmcWdStr
44145+
44146+ Used by:
44147+ Ship: Penitence
44148+ """
44149+
44150+ type = 'passive'
44151+
44152+ @staticmethod
44153+ def handler(fit, src, context, projectionRange, **kwargs):
44154+ for attrName in (
44155+ 'trackingSpeedBonus', 'explosionDelayBonus', 'maxRangeBonus', 'falloffBonus',
44156+ 'missileVelocityBonus', 'aoeVelocityBonus', 'aoeCloudSizeBonus'
44157+ ):
44158+ fit.modules.filteredItemBoost(
44159+ lambda mod: mod.item.requiresSkill('Weapon Disruption'), attrName,
44160+ 10, skill='Amarr Cruiser', **kwargs)
44161+
44162+
44163+ class Effect100205(BaseEffect):
44164+ """
44165+ pyfaCustomPenitenceAmcDroneHpDmg
44166+
44167+ Used by:
44168+ Ship: Penitence
44169+ """
44170+
44171+ type = 'passive'
44172+
44173+ @staticmethod
44174+ def handler(fit, ship, context, projectionRange, **kwargs):
44175+ for type in ('shieldCapacity', 'armorHP', 'hp', 'damageMultiplier'):
44176+ fit.drones.filteredItemBoost(
44177+ lambda drone: drone.item.requiresSkill('Drones'),
44178+ type, 25, skill='Amarr Cruiser', **kwargs)
44179+
44180+
44181+ class Effect100206(BaseEffect):
44182+ """
44183+ pyfaCustomPenitenceAmcDroneControl
44184+
44185+ Used by:
44186+ Ship: Penitence
44187+ """
44188+
44189+ type = 'passive'
44190+
44191+ @staticmethod
44192+ def handler(fit, ship, context, projectionRange, **kwargs):
44193+ fit.extraAttributes.increase('droneControlRange', 7500, skill='Amarr Cruiser', **kwargs)
44194+
44195+
44196+ class Effect100207(BaseEffect):
44197+ """
44198+ pyfaCustomPenitenceRoleArmorRes
44199+
44200+ Used by:
44201+ Ship: Penitence
44202+ """
44203+
44204+ type = 'passive'
44205+
44206+ @staticmethod
44207+ def handler(fit, ship, context, projectionRange, **kwargs):
44208+ for dmgType in ('em', 'thermal', 'kinetic', 'explosive'):
44209+ fit.ship.boostItemAttr('armor{}DamageResonance'.format(dmgType.capitalize()), -20, **kwargs)
44210+
44211+
44212+ class Effect100208(BaseEffect):
44213+ """
44214+ pyfaCustomPenitenceRoleDroneSpeed
44215+
44216+ Used by:
44217+ Ship: Penitence
44218+ """
44219+
44220+ type = 'passive'
44221+
44222+ @staticmethod
44223+ def handler(fit, ship, context, projectionRange, **kwargs):
44224+ fit.drones.filteredItemBoost(lambda drone: drone.item.requiresSkill('Drones'), 'maxVelocity', 12.5, **kwargs)
44225+
44226+
44227+ class Effect100209(BaseEffect):
44228+ """
44229+ pyfaCustomPenitenceRoleWdfgSig
44230+
44231+ Used by:
44232+ Ship: Penitence
44233+ """
44234+
44235+ runTime = 'early'
44236+ type = 'passive'
44237+
44238+ @staticmethod
44239+ def handler(fit, ship, context, projectionRange, **kwargs):
44240+ fit.modules.filteredItemBoost(
44241+ lambda mod: mod.item.group.name == 'Warp Disrupt Field Generator',
44242+ 'signatureRadiusBonus', -50, **kwargs)
0 commit comments