Skip to content

Commit c4cf1d1

Browse files
committed
Implement Cobra effects
1 parent f76f7e8 commit c4cf1d1

File tree

1 file changed

+103
-1
lines changed

1 file changed

+103
-1
lines changed

eos/effects.py

Lines changed: 103 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -40868,7 +40868,6 @@ class Effect12165(BaseEffect):
4086840868

4086940869
@staticmethod
4087040870
def handler(fit, ship, context, projectionRange, **kwargs):
40871-
4087240871
# Get pilot sec status bonus directly here, instead of going through the intermediary effects
4087340872
try:
4087440873
sec_status = ship.owner.getPilotSecurity(low_limit=-10, high_limit=0)
@@ -40888,6 +40887,25 @@ def handler(fit, ship, context, projectionRange, **kwargs):
4088840887
f'{dmgType}Damage', bonus, **kwargs)
4088940888

4089040889

40890+
class Effect12176(BaseEffect):
40891+
"""
40892+
shipBonusAllShieldresistATCC1
40893+
40894+
Used by:
40895+
Ship: Cobra
40896+
"""
40897+
40898+
type = 'passive'
40899+
40900+
@staticmethod
40901+
def handler(fit, ship, context, projectionRange, **kwargs):
40902+
for dmgType in ('em', 'thermal', 'kinetic', 'explosive'):
40903+
fit.ship.boostItemAttr(
40904+
'shield{}DamageResonance'.format(dmgType.capitalize()),
40905+
ship.getModifiedItemAttr('shipBonusCC3'),
40906+
skill='Caldari Cruiser', **kwargs)
40907+
40908+
4089140909
class Effect12179(BaseEffect):
4089240910
"""
4089340911
ShipBonusAllShieldResistATCF1
@@ -40907,6 +40925,72 @@ def handler(fit, ship, context, projectionRange, **kwargs):
4090740925
skill='Caldari Frigate', **kwargs)
4090840926

4090940927

40928+
class Effect12180(BaseEffect):
40929+
"""
40930+
roleBonusATCruiserMJDFittingReduction
40931+
40932+
Used by:
40933+
Ship: Cobra
40934+
"""
40935+
40936+
type = 'passive'
40937+
40938+
@staticmethod
40939+
def handler(fit, ship, context, projectionRange, **kwargs):
40940+
fit.modules.filteredItemBoost(
40941+
lambda mod: mod.item.group.name == 'Micro Jump Drive',
40942+
'cpu', ship.getModifiedItemAttr('flagCruiserFittingBonusPropMods'), **kwargs)
40943+
fit.modules.filteredItemBoost(
40944+
lambda mod: mod.item.group.name == 'Micro Jump Drive',
40945+
'power', ship.getModifiedItemAttr('flagCruiserFittingBonusPropMods'), **kwargs)
40946+
40947+
40948+
class Effect12181(BaseEffect):
40949+
"""
40950+
ATcruiserTackleBonus1
40951+
40952+
Used by:
40953+
Ship: Cobra
40954+
"""
40955+
40956+
type = 'passive'
40957+
40958+
@staticmethod
40959+
def handler(fit, ship, context, projectionRange, **kwargs):
40960+
# Get pilot sec status bonus directly here, instead of going through the intermediary effects
40961+
try:
40962+
sec_status = ship.owner.getPilotSecurity(low_limit=-10, high_limit=0)
40963+
except (KeyboardInterrupt, SystemExit):
40964+
raise
40965+
except:
40966+
return
40967+
bonus = ship.getModifiedItemAttr('ATcruiserStasisWebifierBonus') * sec_status
40968+
fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == 'Stasis Web', 'maxRange', bonus, **kwargs)
40969+
40970+
40971+
class Effect12202(BaseEffect):
40972+
"""
40973+
ATcruiserTackleBonus2
40974+
40975+
Used by:
40976+
Ship: Cobra
40977+
"""
40978+
40979+
type = 'passive'
40980+
40981+
@staticmethod
40982+
def handler(fit, ship, context, projectionRange, **kwargs):
40983+
# Get pilot sec status bonus directly here, instead of going through the intermediary effects
40984+
try:
40985+
sec_status = ship.owner.getPilotSecurity(low_limit=-10, high_limit=0)
40986+
except (KeyboardInterrupt, SystemExit):
40987+
raise
40988+
except:
40989+
return
40990+
bonus = ship.getModifiedItemAttr('ATcruiserScramblerDisruptorBonus') * sec_status
40991+
fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == 'Warp Scrambler', 'maxRange', bonus, **kwargs)
40992+
40993+
4091040994
class Effect12203(BaseEffect):
4091140995
"""
4091240996
ATfrigDroneBonus
@@ -40923,3 +41007,21 @@ def handler(fit, ship, context, projectionRange, **kwargs):
4092341007
fit.drones.filteredItemBoost(
4092441008
lambda drone: drone.item.requiresSkill('Light Drone Operation'),
4092541009
attr, ship.getModifiedItemAttr('ATfrigDroneBonus'), **kwargs)
41010+
41011+
41012+
class Effect12214(BaseEffect):
41013+
"""
41014+
AtcruiserDroneBonus
41015+
41016+
Used by:
41017+
Ship: Cobra
41018+
"""
41019+
41020+
type = 'passive'
41021+
41022+
@staticmethod
41023+
def handler(fit, ship, context, projectionRange, **kwargs):
41024+
for attr in ('shieldCapacity', 'armorHP', 'hp', 'damageMultiplier'):
41025+
fit.drones.filteredItemBoost(
41026+
lambda drone: drone.item.requiresSkill('Medium Drone Operation'),
41027+
attr, ship.getModifiedItemAttr('ATcruiserDroneBonus'), **kwargs)

0 commit comments

Comments
 (0)