Add overrides for new AT ships

This commit is contained in:
Anton Vorobyov
2022-12-11 06:08:51 +04:00
parent d6501df509
commit e2273f90b4
2 changed files with 398 additions and 14 deletions

View File

@@ -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')

View File

@@ -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)