Merge branch 'master' into i18n

# Conflicts:
#	staticdata/fsd_binary/typedogma.json
#	staticdata/fsd_lite/evetypes.json
#	staticdata/phobos/metadata.0.json
#	staticdata/phobos/traits.json
This commit is contained in:
blitzmann
2020-08-02 18:54:31 -04:00
10 changed files with 328 additions and 104 deletions

View File

@@ -6540,23 +6540,6 @@ class Effect2160(BaseEffect):
skill='Command Ships', **kwargs)
class Effect2161(BaseEffect):
"""
eliteBonusCommandShipHybridOptimalCS1
Used by:
Ship: Vulture
"""
type = 'passive'
@staticmethod
def handler(fit, ship, context, projectionRange, **kwargs):
fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Medium Hybrid Turret'),
'maxRange', ship.getModifiedItemAttr('eliteBonusCommandShips1'),
skill='Command Ships', **kwargs)
class Effect2179(BaseEffect):
"""
shipBonusDroneHitpointsGC2
@@ -11795,23 +11778,6 @@ class Effect3766(BaseEffect):
skill='Interceptors', **kwargs)
class Effect3767(BaseEffect):
"""
eliteBonusCommandShipsHeavyMissileExplosionVelocityCS2
Used by:
Ship: Claymore
"""
type = 'passive'
@staticmethod
def handler(fit, ship, context, projectionRange, **kwargs):
fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill('Heavy Missiles'),
'aoeVelocity', ship.getModifiedItemAttr('eliteBonusCommandShips2'),
skill='Command Ships', **kwargs)
class Effect3771(BaseEffect):
"""
armorHPBonusAddPassive
@@ -19585,9 +19551,9 @@ class Effect5342(BaseEffect):
shipArmorRepairing1GBC2
Used by:
Variations of ship: Myrmidon (2 of 2)
Ship: Astarte
Ship: Brutix
Ship: Myrmidon
"""
type = 'passive'
@@ -19670,7 +19636,7 @@ class Effect5351(BaseEffect):
shipShieldBoost1MBC1
Used by:
Variations of ship: Cyclone (2 of 2)
Ship: Cyclone
Ship: Sleipnir
"""
@@ -20823,23 +20789,6 @@ class Effect5497(BaseEffect):
'speed', ship.getModifiedItemAttr('eliteBonusCommandShips1'), skill='Command Ships', **kwargs)
class Effect5498(BaseEffect):
"""
eliteBonusCommandShipsHeavyAssaultMissileExplosionVelocityCS2
Used by:
Ship: Claymore
"""
type = 'passive'
@staticmethod
def handler(fit, ship, context, projectionRange, **kwargs):
fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill('Heavy Assault Missiles'),
'aoeVelocity', ship.getModifiedItemAttr('eliteBonusCommandShips2'),
skill='Command Ships', **kwargs)
class Effect5499(BaseEffect):
"""
eliteBonusCommandShipsHeavyAssaultMissileExplosionRadiusCS2
@@ -20891,26 +20840,9 @@ class Effect5501(BaseEffect):
skill='Command Ships', **kwargs)
class Effect5502(BaseEffect):
"""
eliteBonusCommandShipMediumHybridTrackingCS1
Used by:
Ship: Eos
"""
type = 'passive'
@staticmethod
def handler(fit, ship, context, projectionRange, **kwargs):
fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Medium Hybrid Turret'),
'trackingSpeed', ship.getModifiedItemAttr('eliteBonusCommandShips1'),
skill='Command Ships', **kwargs)
class Effect5503(BaseEffect):
"""
eliteBonusCommandShipHeavyDroneTrackingCS2
eliteBonusCommandShipDroneTrackingCS2
Used by:
Ship: Eos
@@ -20920,28 +20852,11 @@ class Effect5503(BaseEffect):
@staticmethod
def handler(fit, ship, context, projectionRange, **kwargs):
fit.drones.filteredItemBoost(lambda drone: drone.item.requiresSkill('Heavy Drone Operation'),
fit.drones.filteredItemBoost(lambda drone: drone.item.requiresSkill('Drones'),
'trackingSpeed', ship.getModifiedItemAttr('eliteBonusCommandShips2'),
skill='Command Ships', **kwargs)
class Effect5504(BaseEffect):
"""
eliteBonusCommandShipHeavyDroneVelocityCS2
Used by:
Ship: Eos
"""
type = 'passive'
@staticmethod
def handler(fit, ship, context, projectionRange, **kwargs):
fit.drones.filteredItemBoost(lambda drone: drone.item.requiresSkill('Heavy Drone Operation'),
'maxVelocity', ship.getModifiedItemAttr('eliteBonusCommandShips2'),
skill='Command Ships', **kwargs)
class Effect5505(BaseEffect):
"""
eliteBonusCommandShipMediumHybridRoFCS1
@@ -32068,7 +31983,7 @@ class Effect6783(BaseEffect):
Used by:
Ships from group: Carrier (4 of 4)
Ships from group: Combat Battlecruiser (14 of 14)
Ships from group: Command Ship (8 of 8)
Ships from group: Command Ship (4 of 8)
Ships from group: Force Auxiliary (6 of 6)
Ships from group: Supercarrier (6 of 6)
Ships from group: Titan (7 of 7)
@@ -36848,3 +36763,90 @@ class Effect8066(BaseEffect):
def handler(fit, implant, context, projectionRange, **kwargs):
fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Vorton Projector Operation'),
'damageMultiplier', implant.getModifiedItemAttr('damageMultiplierBonus'), **kwargs)
class Effect8068(BaseEffect):
"""
shipShieldResistanceBonusMBC1
Used by:
Ship: Claymore
"""
type = 'passive'
@staticmethod
def handler(fit, ship, context, projectionRange, **kwargs):
damageTypes = ('Em', 'Explosive', 'Kinetic', 'Thermal')
for damageType in damageTypes:
fit.ship.boostItemAttr(f'shield{damageType}DamageResonance', ship.getModifiedItemAttr('shipBonusMBC1'),
skill='Minmatar Battlecruiser', **kwargs)
class Effect8070(BaseEffect):
"""
eliteBonusCommandShipsHeavyHAMvelocityCS2
Used by:
Ship: Claymore
"""
type = 'passive'
@staticmethod
def handler(fit, ship, context, projectionRange, **kwargs):
fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill('Heavy Missiles') or
mod.charge.requiresSkill('Heavy Assault Missiles'),
'maxVelocity', ship.getModifiedItemAttr('eliteBonusCommandShips2'),
skill='Command Ships', **kwargs)
class Effect8071(BaseEffect):
"""
eliteBonusCommandShipDroneRangeCS1
Used by:
Ship: Eos
"""
type = 'passive'
@staticmethod
def handler(fit, ship, context, projectionRange, **kwargs):
fit.drones.filteredItemBoost(lambda drone: drone.item.requiresSkill('Drones'),
'maxRange', ship.getModifiedItemAttr('eliteBonusCommandShips1'),
skill='Command Ships', **kwargs)
class Effect8072(BaseEffect):
"""
shipArmorResistanceBonusGBC2
Used by:
Ship: Eos
"""
type = 'passive'
@staticmethod
def handler(fit, ship, context, projectionRange, **kwargs):
damageTypes = ('Em', 'Explosive', 'Kinetic', 'Thermal')
for damageType in damageTypes:
fit.ship.boostItemAttr(f'armor{damageType}DamageResonance', ship.getModifiedItemAttr('shipBonusGBC2'),
skill='Gallente Battlecruiser', **kwargs)
class Effect8073(BaseEffect):
"""
eliteBonusCommandShipShieldHPCS1
Used by:
Ship: Vulture
"""
type = 'passive'
@staticmethod
def handler(fit, ship, context, projectionRange, **kwargs):
fit.ship.boostItemAttr('shieldCapacity', ship.getModifiedItemAttr('eliteBonusCommandShips1'),
skill='Command Ships', **kwargs)

View File

@@ -755,6 +755,8 @@ class Fit:
if warfareBuffID == 79: # AOE_Beacon_bioluminescence_cloud
self.ship.boostItemAttr("signatureRadius", value, stackingPenalties=True)
self.drones.filteredItemBoost(lambda mod: mod.item.requiresSkill("Drones"),
"signatureRadius", value, stackingPenalties=True)
if warfareBuffID == 80: # AOE_Beacon_caustic_cloud_local_repair
self.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Repair Systems"),
@@ -777,7 +779,11 @@ class Fit:
if warfareBuffID == 90: # Weather_electric_storm_EM_resistance_penalty
for tankType in ("shield", "armor"):
self.ship.boostItemAttr("{}EmDamageResonance".format(tankType), value)
self.drones.filteredItemBoost(lambda mod: mod.item.requiresSkill("Drones"),
"{}EmDamageResonance".format(tankType), value)
self.ship.boostItemAttr("emDamageResonance", value) # for hull
self.drones.filteredItemBoost(lambda mod: mod.item.requiresSkill("Drones"),
"emDamageResonance", value) #for hull
if warfareBuffID == 92: # Weather_electric_storm_capacitor_recharge_bonus
self.ship.boostItemAttr("rechargeRate", value, stackingPenalties=True)
@@ -785,32 +791,54 @@ class Fit:
if warfareBuffID == 93: # Weather_xenon_gas_explosive_resistance_penalty
for tankType in ("shield", "armor"):
self.ship.boostItemAttr("{}ExplosiveDamageResonance".format(tankType), value)
self.drones.filteredItemBoost(lambda mod: mod.item.requiresSkill("Drones"),
"{}ExplosiveDamageResonance".format(tankType), value)
self.ship.boostItemAttr("explosiveDamageResonance", value) # for hull
self.drones.filteredItemBoost(lambda mod: mod.item.requiresSkill("Drones"),
"explosiveDamageResonance", value) # for hull
if warfareBuffID == 94: # Weather_xenon_gas_shield_hp_bonus
self.ship.boostItemAttr("shieldCapacity", value) # for hull
self.ship.boostItemAttr("shieldCapacity", value)
self.drones.filteredItemBoost(lambda mod: mod.item.requiresSkill("Drones"),
"shieldCapacity", value)
if warfareBuffID == 95: # Weather_infernal_thermal_resistance_penalty
for tankType in ("shield", "armor"):
self.ship.boostItemAttr("{}ThermalDamageResonance".format(tankType), value)
self.drones.filteredItemBoost(lambda mod: mod.item.requiresSkill("Drones"),
"{}ThermalDamageResonance".format(tankType), value)
self.ship.boostItemAttr("thermalDamageResonance", value) # for hull
self.drones.filteredItemBoost(lambda mod: mod.item.requiresSkill("Drones"),
"thermalDamageResonance", value) # for hull
if warfareBuffID == 96: # Weather_infernal_armor_hp_bonus
self.ship.boostItemAttr("armorHP", value) # for hull
self.ship.boostItemAttr("armorHP", value)
self.drones.filteredItemBoost(lambda mod: mod.item.requiresSkill("Drones"),
"armorHP", value)
if warfareBuffID == 97: # Weather_darkness_turret_range_penalty
self.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Gunnery"),
"maxRange", value, stackingPenalties=True)
self.drones.filteredItemBoost(lambda mod: mod.item.requiresSkill("Drones"),
"maxRange", value, stackingPenalties=True)
self.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Gunnery"),
"falloff", value, stackingPenalties=True)
self.drones.filteredItemBoost(lambda mod: mod.item.requiresSkill("Drones"),
"falloff", value, stackingPenalties=True)
if warfareBuffID == 98: # Weather_darkness_velocity_bonus
self.ship.boostItemAttr("maxVelocity", value)
self.drones.filteredItemBoost(lambda mod: mod.item.requiresSkill("Drones"),
"maxVelocity", value)
if warfareBuffID == 99: # Weather_caustic_toxin_kinetic_resistance_penalty
for tankType in ("shield", "armor"):
self.ship.boostItemAttr("{}KineticDamageResonance".format(tankType), value)
self.drones.filteredItemBoost(lambda mod: mod.item.requiresSkill("Drones"),
"{}KineticDamageResonance".format(tankType), value)
self.ship.boostItemAttr("kineticDamageResonance", value) # for hull
self.drones.filteredItemBoost(lambda mod: mod.item.requiresSkill("Drones"),
"kineticDamageResonance", value) # for hull
if warfareBuffID == 100: # Weather_caustic_toxin_scan_resolution_bonus
self.ship.boostItemAttr("scanResolution", value, stackingPenalties=True)