Implement wubble application via interdiction module

This commit is contained in:
DarkPhoenix
2021-06-15 18:25:25 +03:00
parent 05d156c7f4
commit 9d97b27c3a
2 changed files with 4 additions and 31 deletions

View File

@@ -37,8 +37,6 @@ if ROOT_DIR not in sys.path:
sys.path.insert(0, ROOT_DIR)
GAMEDATA_SCHEMA_VERSION = 4
WUBBLE_EFFECT_ID = 1000000
def db_needs_update():
"""True if needs, false if it does not, none if we cannot check it."""
@@ -257,13 +255,6 @@ def update_db():
def processDogmaEffects():
print('processing dogmaeffects')
data = _readData('fsd_binary', 'dogmaeffects', keyIdName='effectID')
# Custom effect for wubble
data.append({
'effectID': WUBBLE_EFFECT_ID,
'effectName': 'pyfaCustomEffectWubble',
'published': False,
'isAssistance': False,
'isOffensive': False})
_addRows(data, eos.gamedata.Effect, fieldMap={'resistanceAttributeID': 'resistanceID'})
def processDogmaTypeEffects(eveTypesData):
@@ -277,7 +268,6 @@ def update_db():
for row in typeData.get('dogmaEffects', ()):
row['typeID'] = typeData['typeID']
newData.append(row)
newData.append({'typeID': 56748, 'effectID': WUBBLE_EFFECT_ID})
_addRows(newData, eos.gamedata.ItemEffect)
return newData

View File

@@ -616,7 +616,10 @@ class Effect101(BaseEffect):
if ecmStrengthBonus:
strModifier = 1 - min(1, ecmStrengthBonus / fit.scanStrength)
fit.ecmProjectedStr *= strModifier
elif src.item.group.name == 'Interdiction Sphere Launcher':
speedFactor = src.getModifiedChargeAttr('speedFactor')
if speedFactor:
fit.ship.boostItemAttr('maxVelocity', speedFactor, **kwargs)
class Effect118(BaseEffect):
"""
@@ -37511,23 +37514,3 @@ class Effect8157(BaseEffect):
fit.ship.boostItemAttr(
'shield{0}DamageResonance'.format(damageType), ship.getModifiedItemAttr('eliteBonusBlackOps2'),
skill='Black Ops', **kwargs)
class Effect1000000(BaseEffect):
"""
pyfaCustomEffectWubble
Used by:
Charge: Stasis Webification Probe
"""
type = 'passive', 'projected'
@staticmethod
def handler(fit, charge, context, projectionRange, **kwargs):
if 'projected' not in context:
return
if fit.ship.getModifiedItemAttr('disallowOffensiveModifiers'):
return
fit.ship.boostItemAttr('maxVelocity', charge.getModifiedItemAttr('speedFactor'),
stackingPenalties=True, **kwargs)