Add overrides for new AT ships
This commit is contained in:
134
db_update.py
134
db_update.py
@@ -641,6 +641,140 @@ def update_db():
|
||||
effect.effectName = effectName
|
||||
item.effects[effectName] = effect
|
||||
|
||||
def hardcodeGeri():
|
||||
attrMap = {
|
||||
# Fitting
|
||||
'powerOutput': 50,
|
||||
'cpuOutput': 200,
|
||||
'capacitorCapacity': 325,
|
||||
'rechargeRate': 130000,
|
||||
# Slots
|
||||
'hiSlots': 5,
|
||||
'medSlots': 4,
|
||||
'lowSlots': 4,
|
||||
'launcherSlotsLeft': 3,
|
||||
'turretSlotsLeft': 2,
|
||||
# Rigs
|
||||
'rigSlots': 2,
|
||||
'rigSize': 1,
|
||||
'upgradeCapacity': 400,
|
||||
# Shield
|
||||
'shieldCapacity': 1000,
|
||||
'shieldEmDamageResonance': 1 - 0.75,
|
||||
'shieldThermalDamageResonance': 1 - 0.6,
|
||||
'shieldKineticDamageResonance': 1 - 0.4,
|
||||
'shieldExplosiveDamageResonance': 1 - 0.5,
|
||||
# Armor
|
||||
'armorHP': 1000,
|
||||
'armorEmDamageResonance': 1 - 0.9,
|
||||
'armorThermalDamageResonance': 1 - 0.675,
|
||||
'armorKineticDamageResonance': 1 - 0.25,
|
||||
'armorExplosiveDamageResonance': 1 - 0.1,
|
||||
# Structure
|
||||
'hp': 700,
|
||||
'emDamageResonance': 1 - 0.33,
|
||||
'thermalDamageResonance': 1 - 0.33,
|
||||
'kineticDamageResonance': 1 - 0.33,
|
||||
'explosiveDamageResonance': 1 - 0.33,
|
||||
'mass': 1309000,
|
||||
'volume': 27289,
|
||||
'capacity': 260,
|
||||
# Navigation
|
||||
'maxVelocity': 440,
|
||||
'agility': 2.5,
|
||||
'warpSpeedMultiplier': 5.5,
|
||||
# Drones
|
||||
'droneCapacity': 50,
|
||||
'droneBandwidth': 10,
|
||||
# Targeting
|
||||
'maxTargetRange': 42000,
|
||||
'maxLockedTargets': 6,
|
||||
'scanRadarStrength': 0,
|
||||
'scanLadarStrength': 12,
|
||||
'scanMagnetometricStrength': 0,
|
||||
'scanGravimetricStrength': 0,
|
||||
'signatureRadius': 33,
|
||||
'scanResolution': 770}
|
||||
effectMap = {
|
||||
100100: 'pyfaCustomGeriAfExploVel',
|
||||
100101: 'pyfaCustomGeriAfRof',
|
||||
100102: 'pyfaCustomGeriMfDmg',
|
||||
100103: 'pyfaCustomGeriMfRep',
|
||||
100104: 'pyfaCustomGeriRoleWebDroneStr',
|
||||
100105: 'pyfaCustomGeriRoleWebDroneHP',
|
||||
100106: 'pyfaCustomGeriRoleWebDroneSpeed',
|
||||
100107: 'pyfaCustomGeriRoleMWDSigBloom'}
|
||||
_hardcodeAttribs(74141, attrMap)
|
||||
_hardcodeEffects(74141, effectMap)
|
||||
|
||||
def hardcodeBestla():
|
||||
attrMap = {
|
||||
# Fitting
|
||||
'powerOutput': 1300,
|
||||
'cpuOutput': 500,
|
||||
'capacitorCapacity': 1500,
|
||||
'rechargeRate': 200000,
|
||||
'hiSlots': 6,
|
||||
'medSlots': 5,
|
||||
'lowSlots': 5,
|
||||
'launcherSlotsLeft': 4,
|
||||
'turretSlotsLeft': 2,
|
||||
# Rigs
|
||||
'rigSlots': 2,
|
||||
'rigSize': 2,
|
||||
'upgradeCapacity': 400,
|
||||
# Shield
|
||||
'shieldCapacity': 3000,
|
||||
'shieldEmDamageResonance': 1 - 0.75,
|
||||
'shieldThermalDamageResonance': 1 - 0.6,
|
||||
'shieldKineticDamageResonance': 1 - 0.4,
|
||||
'shieldExplosiveDamageResonance': 1 - 0.5,
|
||||
# Armor
|
||||
'armorHP': 3000,
|
||||
'armorEmDamageResonance': 1 - 0.9,
|
||||
'armorThermalDamageResonance': 1 - 0.675,
|
||||
'armorKineticDamageResonance': 1 - 0.25,
|
||||
'armorExplosiveDamageResonance': 1 - 0.1,
|
||||
# Structure
|
||||
'hp': 1600,
|
||||
'emDamageResonance': 1 - 0.33,
|
||||
'thermalDamageResonance': 1 - 0.33,
|
||||
'kineticDamageResonance': 1 - 0.33,
|
||||
'explosiveDamageResonance': 1 - 0.33,
|
||||
'mass': 11650000,
|
||||
'volume': 96000,
|
||||
'capacity': 660,
|
||||
# Navigation
|
||||
'maxVelocity': 300,
|
||||
'agility': 0.47,
|
||||
'warpSpeedMultiplier': 4.5,
|
||||
# Drones
|
||||
'droneCapacity': 125,
|
||||
'droneBandwidth': 20,
|
||||
# Targeting
|
||||
'maxTargetRange': 80000,
|
||||
'maxLockedTargets': 7,
|
||||
'scanRadarStrength': 0,
|
||||
'scanLadarStrength': 22,
|
||||
'scanMagnetometricStrength': 0,
|
||||
'scanGravimetricStrength': 0,
|
||||
'signatureRadius': 120,
|
||||
'scanResolution': 340}
|
||||
effectMap = {
|
||||
100200: 'pyfaCustomBestlaHacExploVel',
|
||||
100201: 'pyfaCustomBestlaHacRof',
|
||||
100202: 'pyfaCustomBestlaMcDmg',
|
||||
100203: 'pyfaCustomBestlaMcRep',
|
||||
100204: 'pyfaCustomBestlaRoleWebDroneStr',
|
||||
100205: 'pyfaCustomBestlaRoleWebDroneHP',
|
||||
100206: 'pyfaCustomBestlaRoleWebDroneSpeed'}
|
||||
_hardcodeAttribs(74316, attrMap)
|
||||
_hardcodeEffects(74316, effectMap)
|
||||
|
||||
hardcodeGeri()
|
||||
hardcodeBestla()
|
||||
|
||||
|
||||
eos.db.gamedata_session.commit()
|
||||
eos.db.gamedata_engine.execute('VACUUM')
|
||||
|
||||
|
||||
278
eos/effects.py
278
eos/effects.py
@@ -7430,7 +7430,6 @@ class Effect2647(BaseEffect):
|
||||
eliteBonusHeavyGunshipHeavyMissileLauncherRof2
|
||||
|
||||
Used by:
|
||||
Ship: Bestla
|
||||
Ship: Cerberus
|
||||
Ship: Muninn
|
||||
"""
|
||||
@@ -7449,7 +7448,6 @@ class Effect2648(BaseEffect):
|
||||
eliteBonusHeavyGunshipHeavyAssaultMissileLauncherRof2
|
||||
|
||||
Used by:
|
||||
Ship: Bestla
|
||||
Ship: Cerberus
|
||||
Ship: Muninn
|
||||
"""
|
||||
@@ -7468,7 +7466,6 @@ class Effect2649(BaseEffect):
|
||||
eliteBonusHeavyGunshipAssaultMissileLauncherRof2
|
||||
|
||||
Used by:
|
||||
Ship: Bestla
|
||||
Ship: Cerberus
|
||||
Ship: Muninn
|
||||
"""
|
||||
@@ -16361,7 +16358,7 @@ class Effect4902(BaseEffect):
|
||||
MWDSignatureRadiusRoleBonus
|
||||
|
||||
Used by:
|
||||
Ships from group: Assault Frigate (10 of 14)
|
||||
Ships from group: Assault Frigate (9 of 14)
|
||||
Ships from group: Command Destroyer (5 of 5)
|
||||
"""
|
||||
|
||||
@@ -17471,7 +17468,6 @@ class Effect5090(BaseEffect):
|
||||
|
||||
Used by:
|
||||
Ship: Breacher
|
||||
Ship: Geri
|
||||
Ship: Jaguar
|
||||
"""
|
||||
|
||||
@@ -21827,7 +21823,6 @@ class Effect5778(BaseEffect):
|
||||
|
||||
Used by:
|
||||
Ship: Breacher
|
||||
Ship: Geri
|
||||
Ship: Jaguar
|
||||
"""
|
||||
|
||||
@@ -33648,7 +33643,6 @@ class Effect7013(BaseEffect):
|
||||
eliteBonusGunshipKineticMissileDamage1
|
||||
|
||||
Used by:
|
||||
Ship: Geri
|
||||
Ship: Jaguar
|
||||
"""
|
||||
|
||||
@@ -33665,7 +33659,6 @@ class Effect7014(BaseEffect):
|
||||
eliteBonusGunshipThermalMissileDamage1
|
||||
|
||||
Used by:
|
||||
Ship: Geri
|
||||
Ship: Jaguar
|
||||
"""
|
||||
|
||||
@@ -33682,7 +33675,6 @@ class Effect7015(BaseEffect):
|
||||
eliteBonusGunshipEMMissileDamage1
|
||||
|
||||
Used by:
|
||||
Ship: Geri
|
||||
Ship: Jaguar
|
||||
"""
|
||||
|
||||
@@ -33699,7 +33691,6 @@ class Effect7016(BaseEffect):
|
||||
eliteBonusGunshipExplosiveMissileDamage1
|
||||
|
||||
Used by:
|
||||
Ship: Geri
|
||||
Ship: Jaguar
|
||||
"""
|
||||
|
||||
@@ -33716,7 +33707,6 @@ class Effect7017(BaseEffect):
|
||||
eliteBonusGunshipExplosionVelocity2
|
||||
|
||||
Used by:
|
||||
Ship: Geri
|
||||
Ship: Jaguar
|
||||
"""
|
||||
|
||||
@@ -39052,7 +39042,6 @@ class Effect11411(BaseEffect):
|
||||
shipMissileDmgMC2
|
||||
|
||||
Used by:
|
||||
Ship: Bestla
|
||||
Ship: Muninn
|
||||
"""
|
||||
|
||||
@@ -39071,7 +39060,6 @@ class Effect11412(BaseEffect):
|
||||
shipBonusShieldArmorResonanceMC
|
||||
|
||||
Used by:
|
||||
Ship: Bestla
|
||||
Ship: Muninn
|
||||
"""
|
||||
|
||||
@@ -39095,7 +39083,6 @@ class Effect11413(BaseEffect):
|
||||
eliteBonusHeavyGunshipMissileExplosionVelocity1
|
||||
|
||||
Used by:
|
||||
Ship: Bestla
|
||||
Ship: Muninn
|
||||
"""
|
||||
|
||||
@@ -39487,3 +39474,266 @@ class Effect11454(BaseEffect):
|
||||
fit.modules.filteredItemBoost(
|
||||
lambda mod: mod.item.group.name == 'Stasis Grappler', 'falloffEffectiveness',
|
||||
ship.getModifiedItemAttr('shipBonusDreadnoughtM4'), skill='Minmatar Dreadnought', **kwargs)
|
||||
|
||||
|
||||
class Effect100100(BaseEffect):
|
||||
"""
|
||||
pyfaCustomGeriAfExploVel
|
||||
|
||||
Used by:
|
||||
Ship: Geri
|
||||
"""
|
||||
|
||||
type = 'passive'
|
||||
|
||||
@staticmethod
|
||||
def handler(fit, ship, context, projectionRange, **kwargs):
|
||||
fit.modules.filteredChargeBoost(
|
||||
lambda mod: mod.charge.requiresSkill('Light Missiles') or mod.charge.requiresSkill('Rockets'),
|
||||
'aoeVelocity', 7.5, skill='Assault Frigates', **kwargs)
|
||||
|
||||
|
||||
|
||||
class Effect100101(BaseEffect):
|
||||
"""
|
||||
pyfaCustomGeriAfRof
|
||||
|
||||
Used by:
|
||||
Ship: Geri
|
||||
"""
|
||||
|
||||
type = 'passive'
|
||||
|
||||
@staticmethod
|
||||
def handler(fit, ship, context, projectionRange, **kwargs):
|
||||
fit.modules.filteredItemBoost(
|
||||
lambda mod: mod.item.group.name in ('Missile Launcher Rocket', 'Missile Launcher Light'),
|
||||
'speed', -7.5, skill='Assault Frigates', **kwargs)
|
||||
|
||||
|
||||
|
||||
class Effect100102(BaseEffect):
|
||||
"""
|
||||
pyfaCustomGeriMfDmg
|
||||
|
||||
Used by:
|
||||
Ship: Geri
|
||||
"""
|
||||
|
||||
type = 'passive'
|
||||
|
||||
@staticmethod
|
||||
def handler(fit, src, context, projectionRange, **kwargs):
|
||||
for dmgType in ('em', 'kinetic', 'explosive', 'thermal'):
|
||||
fit.modules.filteredChargeBoost(
|
||||
lambda mod: mod.charge.requiresSkill('Light Missiles') or mod.charge.requiresSkill('Rockets'),
|
||||
f'{dmgType}Damage', 7.5, skill='Minmatar Frigate', **kwargs)
|
||||
|
||||
|
||||
class Effect100103(BaseEffect):
|
||||
"""
|
||||
pyfaCustomGeriMfRep
|
||||
|
||||
Used by:
|
||||
Ship: Geri
|
||||
"""
|
||||
|
||||
type = 'passive'
|
||||
|
||||
@staticmethod
|
||||
def handler(fit, src, context, projectionRange, **kwargs):
|
||||
fit.modules.filteredItemBoost(
|
||||
lambda mod: mod.item.requiresSkill('Shield Operation'),
|
||||
'shieldBonus', 7.5, skill='Minmatar Frigate', **kwargs)
|
||||
fit.modules.filteredItemBoost(
|
||||
lambda mod: mod.item.requiresSkill('Repair Systems'),
|
||||
'armorDamageAmount', 7.5, skill='Minmatar Frigate', **kwargs)
|
||||
|
||||
|
||||
class Effect100104(BaseEffect):
|
||||
"""
|
||||
pyfaCustomGeriRoleWebDroneStr
|
||||
|
||||
Used by:
|
||||
Ship: Geri
|
||||
"""
|
||||
|
||||
type = 'passive'
|
||||
|
||||
@staticmethod
|
||||
def handler(fit, ship, context, projectionRange, **kwargs):
|
||||
fit.drones.filteredItemBoost(lambda drone: drone.item.requiresSkill('Drones'), 'speedFactor', 500, **kwargs)
|
||||
|
||||
|
||||
class Effect100105(BaseEffect):
|
||||
"""
|
||||
pyfaCustomGeriRoleWebDroneHP
|
||||
|
||||
Used by:
|
||||
Ship: Geri
|
||||
"""
|
||||
|
||||
type = 'passive'
|
||||
|
||||
@staticmethod
|
||||
def handler(fit, ship, context, projectionRange, **kwargs):
|
||||
for layer in ('shieldCapacity', 'armorHP', 'hp'):
|
||||
fit.drones.filteredItemBoost(lambda drone: drone.item.requiresSkill('Drones'), layer, 250, **kwargs)
|
||||
|
||||
|
||||
class Effect100106(BaseEffect):
|
||||
"""
|
||||
pyfaCustomGeriRoleWebDroneSpeed
|
||||
|
||||
Used by:
|
||||
Ship: Geri
|
||||
"""
|
||||
|
||||
type = 'passive'
|
||||
|
||||
@staticmethod
|
||||
def handler(fit, ship, context, projectionRange, **kwargs):
|
||||
fit.drones.filteredItemBoost(
|
||||
lambda drone: drone.item.requiresSkill('Drones'), 'maxVelocity', 50, **kwargs)
|
||||
|
||||
|
||||
class Effect100107(BaseEffect):
|
||||
"""
|
||||
pyfaCustomGeriRoleMWDSigBloom
|
||||
|
||||
Used by:
|
||||
Ship: Geri
|
||||
"""
|
||||
|
||||
type = 'passive'
|
||||
|
||||
@staticmethod
|
||||
def handler(fit, ship, context, projectionRange, **kwargs):
|
||||
fit.modules.filteredItemBoost(
|
||||
lambda mod: mod.item.requiresSkill('High Speed Maneuvering'),
|
||||
'signatureRadiusBonus', -50, **kwargs)
|
||||
|
||||
|
||||
class Effect100200(BaseEffect):
|
||||
"""
|
||||
pyfaCustomBestlaHacExploVel
|
||||
|
||||
Used by:
|
||||
Ship: Bestla
|
||||
"""
|
||||
|
||||
type = 'passive'
|
||||
|
||||
@staticmethod
|
||||
def handler(fit, ship, context, projectionRange, **kwargs):
|
||||
fit.modules.filteredChargeBoost(
|
||||
lambda mod: mod.charge.requiresSkill('Heavy Assault Missiles') or mod.charge.requiresSkill('Heavy Missiles'),
|
||||
'aoeVelocity', 10, skill='Heavy Assault Cruisers', **kwargs)
|
||||
|
||||
|
||||
|
||||
class Effect100201(BaseEffect):
|
||||
"""
|
||||
pyfaCustomBestlaHacRof
|
||||
|
||||
Used by:
|
||||
Ship: Bestla
|
||||
"""
|
||||
|
||||
type = 'passive'
|
||||
|
||||
@staticmethod
|
||||
def handler(fit, ship, context, projectionRange, **kwargs):
|
||||
fit.modules.filteredItemBoost(
|
||||
lambda mod: mod.item.group.name in (
|
||||
'Missile Launcher Heavy Assault', 'Missile Launcher Heavy', 'Missile Launcher Rapid Heavy'),
|
||||
'speed', -10, skill='Heavy Assault Cruisers', **kwargs)
|
||||
|
||||
|
||||
|
||||
class Effect100202(BaseEffect):
|
||||
"""
|
||||
pyfaCustomBestlaMcDmg
|
||||
|
||||
Used by:
|
||||
Ship: Bestla
|
||||
"""
|
||||
|
||||
type = 'passive'
|
||||
|
||||
@staticmethod
|
||||
def handler(fit, src, context, projectionRange, **kwargs):
|
||||
for dmgType in ('em', 'kinetic', 'explosive', 'thermal'):
|
||||
fit.modules.filteredChargeBoost(
|
||||
lambda mod: (
|
||||
mod.charge.requiresSkill('Light Missiles')
|
||||
or mod.charge.requiresSkill('Heavy Assault Missiles')
|
||||
or mod.charge.requiresSkill('Heavy Missiles')),
|
||||
f'{dmgType}Damage', 10, skill='Minmatar Cruiser', **kwargs)
|
||||
|
||||
|
||||
class Effect100203(BaseEffect):
|
||||
"""
|
||||
pyfaCustomBestlaMcRep
|
||||
|
||||
Used by:
|
||||
Ship: Bestla
|
||||
"""
|
||||
|
||||
type = 'passive'
|
||||
|
||||
@staticmethod
|
||||
def handler(fit, src, context, projectionRange, **kwargs):
|
||||
fit.modules.filteredItemBoost(
|
||||
lambda mod: mod.item.requiresSkill('Shield Operation'),
|
||||
'shieldBonus', 10, skill='Minmatar Cruiser', **kwargs)
|
||||
fit.modules.filteredItemBoost(
|
||||
lambda mod: mod.item.requiresSkill('Repair Systems'),
|
||||
'armorDamageAmount', 10, skill='Minmatar Cruiser', **kwargs)
|
||||
|
||||
|
||||
class Effect100204(BaseEffect):
|
||||
"""
|
||||
pyfaCustomBestlaRoleWebDroneStr
|
||||
|
||||
Used by:
|
||||
Ship: Bestla
|
||||
"""
|
||||
|
||||
type = 'passive'
|
||||
|
||||
@staticmethod
|
||||
def handler(fit, ship, context, projectionRange, **kwargs):
|
||||
fit.drones.filteredItemBoost(lambda drone: drone.item.requiresSkill('Drones'), 'speedFactor', 500, **kwargs)
|
||||
|
||||
|
||||
class Effect100205(BaseEffect):
|
||||
"""
|
||||
pyfaCustomBestlaRoleWebDroneHP
|
||||
|
||||
Used by:
|
||||
Ship: Bestla
|
||||
"""
|
||||
|
||||
type = 'passive'
|
||||
|
||||
@staticmethod
|
||||
def handler(fit, ship, context, projectionRange, **kwargs):
|
||||
for layer in ('shieldCapacity', 'armorHP', 'hp'):
|
||||
fit.drones.filteredItemBoost(lambda drone: drone.item.requiresSkill('Drones'), layer, 500, **kwargs)
|
||||
|
||||
|
||||
class Effect100206(BaseEffect):
|
||||
"""
|
||||
pyfaCustomBestlaRoleWebDroneSpeed
|
||||
|
||||
Used by:
|
||||
Ship: Bestla
|
||||
"""
|
||||
|
||||
type = 'passive'
|
||||
|
||||
@staticmethod
|
||||
def handler(fit, ship, context, projectionRange, **kwargs):
|
||||
fit.drones.filteredItemBoost(
|
||||
lambda drone: drone.item.requiresSkill('Drones'), 'maxVelocity', 50, **kwargs)
|
||||
|
||||
Reference in New Issue
Block a user