Skip to content

Commit b7377ad

Browse files
committed
Add breacher damage control support (effect, graphs, jargon)
1 parent 83985d9 commit b7377ad

3 files changed

Lines changed: 47 additions & 3 deletions

File tree

eos/effects.py

Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -43719,6 +43719,21 @@ def handler(fit, src, context, projectionRange, **kwargs):
4371943719
src.getModifiedItemAttr('shipBonusGD2'), skill='Gallente Destroyer', **kwargs)
4372043720

4372143721

43722+
class Effect12916(BaseEffect):
43723+
"""
43724+
moduleBonusBreacherPodDamageControl
43725+
43726+
Used by:
43727+
Module: Breach Control
43728+
"""
43729+
43730+
type = 'active'
43731+
43732+
@staticmethod
43733+
def handler(fit, src, context, projectionRange, **kwargs):
43734+
fit.ship.boostItemAttr('breacherPodDamageResistance', src.getModifiedItemAttr('breacherPodActivatedDamageReceivedPercentage'), **kwargs)
43735+
43736+
4372243737
class Effect12923(BaseEffect):
4372343738
"""
4372443739
dScanRangeBonus
@@ -43734,6 +43749,22 @@ def handler(fit, src, context, projectionRange, **kwargs):
4373443749
fit.ship.boostItemAttr('maxDirectionalScanRange', src.getModifiedItemAttr('dScanRangeBonus'), **kwargs)
4373543750

4373643751

43752+
class Effect12924(BaseEffect):
43753+
"""
43754+
proximityDbuffTacticalDestroyerHPAddEffect
43755+
43756+
Used by:
43757+
Ships from group: Tactical Destroyer (5 of 5)
43758+
"""
43759+
43760+
type = 'passive'
43761+
43762+
@staticmethod
43763+
def handler(fit, src, context, projectionRange, **kwargs):
43764+
for attr in ('shieldCapacity', 'armorHP', 'hp'):
43765+
fit.ship.increaseItemAttr(attr, src.getModifiedItemAttr('proximityDbuffEffectTacticalDestroyerHP'), **kwargs)
43766+
43767+
4373743768
class Effect12940(BaseEffect):
4373843769
"""
4373943770
capNeedBonusEffectLasersOnline

graphs/data/fitDamageStats/calc/application.py

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -100,7 +100,7 @@ def getApplicationPerKey(src, tgt, atkSpeed, atkAngle, distance, tgtSpeed, tgtAn
100100
distance=distance,
101101
tgtSigRadius=tgtSigRadius)
102102
elif mod.isBreacher:
103-
applicationMap[mod] = getBreacherMult(mod=mod, distance=distance) if inLockRange else 0
103+
applicationMap[mod] = getBreacherMult(mod=mod, tgt=tgt, distance=distance) if inLockRange else 0
104104
for drone in src.item.activeDronesIter():
105105
if not drone.isDealingDamage():
106106
continue
@@ -195,7 +195,7 @@ def getLauncherMult(mod, distance, tgtSpeed, tgtSigRadius):
195195
return distanceFactor * applicationFactor
196196

197197

198-
def getBreacherMult(mod, distance):
198+
def getBreacherMult(mod, tgt, distance):
199199
missileMaxRangeData = mod.missileMaxRangeData
200200
if missileMaxRangeData is None:
201201
return 0
@@ -207,7 +207,10 @@ def getBreacherMult(mod, distance):
207207
distanceFactor = higherChance
208208
else:
209209
distanceFactor = 0
210-
return distanceFactor
210+
resistMult = 1
211+
if tgt.isFit:
212+
resistMult = tgt.item.ship.getModifiedItemAttr('breacherPodDamageResistance', 1)
213+
return distanceFactor * resistMult
211214

212215

213216
def getSmartbombMult(mod, distance):

service/jargon/defaults.yaml

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -269,6 +269,7 @@ bcs:
269269
bcu:
270270
- 'bcu'
271271
- 'ballistic control system'
272+
- 'breach control'
272273
vts:
273274
- 'vts'
274275
- 'vorton tuning system'
@@ -659,6 +660,15 @@ adc:
659660
adcu:
660661
- 'adcu'
661662
- 'assault damage control'
663+
bc:
664+
- 'bc'
665+
- 'breach control'
666+
bdc:
667+
- 'bdc'
668+
- 'breach control'
669+
bdcu:
670+
- 'bdcu'
671+
- 'breach control'
662672
ehe:
663673
- 'ehe'
664674
- 'emergency hull energizer'

0 commit comments

Comments
 (0)