Merge remote-tracking branch 'origin/master' into spoolup_support
This commit is contained in:
@@ -1,7 +1,7 @@
|
||||
# boosterArmorHpPenalty
|
||||
#
|
||||
# Used by:
|
||||
# Implants named like: Booster (12 of 33)
|
||||
# Implants named like: Booster (12 of 35)
|
||||
type = "boosterSideEffect"
|
||||
|
||||
# User-friendly name for the side effect
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
# boosterShieldCapacityPenalty
|
||||
#
|
||||
# Used by:
|
||||
# Implants from group: Booster (12 of 65)
|
||||
# Implants from group: Booster (12 of 69)
|
||||
type = "boosterSideEffect"
|
||||
|
||||
# User-friendly name for the side effect
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
#
|
||||
# Used by:
|
||||
# Ships from group: Carrier (4 of 4)
|
||||
# Ships from group: Combat Battlecruiser (13 of 13)
|
||||
# Ships from group: Combat Battlecruiser (14 of 14)
|
||||
# Ships from group: Command Ship (8 of 8)
|
||||
# Ships from group: Force Auxiliary (6 of 6)
|
||||
# Ships from group: Supercarrier (6 of 6)
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
# disintegratorWeaponDamageMultiply
|
||||
#
|
||||
# Used by:
|
||||
# Modules from group: Entropic Radiation Sink (3 of 3)
|
||||
# Modules from group: Entropic Radiation Sink (4 of 4)
|
||||
type = "passive"
|
||||
|
||||
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
# disintegratorWeaponSpeedMultiply
|
||||
#
|
||||
# Used by:
|
||||
# Modules from group: Entropic Radiation Sink (3 of 3)
|
||||
# Modules from group: Entropic Radiation Sink (4 of 4)
|
||||
type = "passive"
|
||||
|
||||
|
||||
|
||||
@@ -2,6 +2,8 @@
|
||||
#
|
||||
# Used by:
|
||||
# Modules named like: Drone Speed Augmentor (6 of 8)
|
||||
# Implant: Overmind 'Goliath' Drone Tuner T25-10S
|
||||
# Implant: Overmind 'Hawkmoth' Drone Tuner S10-25T
|
||||
type = "passive"
|
||||
|
||||
|
||||
|
||||
@@ -1,3 +1,7 @@
|
||||
# eliteBonusCovertOps3PCTdamagePerCycle
|
||||
#
|
||||
# Used by:
|
||||
# Ship: Hydra
|
||||
type = "passive"
|
||||
|
||||
|
||||
|
||||
@@ -1,10 +0,0 @@
|
||||
# eliteBonusMaxDmgMultiBonusAdd
|
||||
#
|
||||
# Used by:
|
||||
# Ship: Hydra
|
||||
type = "passive"
|
||||
|
||||
|
||||
def handler(fit, src, context):
|
||||
fit.modules.filteredItemIncrease(lambda mod: mod.item.requiresSkill("Small Precursor Weapon"), "damageMultiplierBonusMax",
|
||||
src.getModifiedItemAttr("eliteBonusCovertOps3"), skill="Covert Ops")
|
||||
@@ -1,10 +0,0 @@
|
||||
# eliteBonusReconMaxDmgMultiMaxHPT
|
||||
#
|
||||
# Used by:
|
||||
# Ship: Tiamat
|
||||
type = "passive"
|
||||
|
||||
|
||||
def handler(fit, src, context):
|
||||
fit.modules.filteredItemIncrease(lambda mod: mod.item.requiresSkill("Medium Precursor Weapon"), "damageMultiplierBonusMax",
|
||||
src.getModifiedItemAttr("eliteBonusReconShip3"), skill="Recon Ships")
|
||||
@@ -1,3 +1,7 @@
|
||||
# eliteBonusReconShip3PCTdamagePerCycle
|
||||
#
|
||||
# Used by:
|
||||
# Ship: Tiamat
|
||||
type = "passive"
|
||||
|
||||
|
||||
|
||||
@@ -1,3 +1,7 @@
|
||||
# emergencyHullEnergizer
|
||||
#
|
||||
# Used by:
|
||||
# Variations of module: Capital Emergency Hull Energizer I (5 of 5)
|
||||
type = "active"
|
||||
runtime = "late"
|
||||
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
# energyWeaponDamageMultiply
|
||||
#
|
||||
# Used by:
|
||||
# Modules from group: Heat Sink (18 of 18)
|
||||
# Modules from group: Heat Sink (19 of 19)
|
||||
type = "passive"
|
||||
|
||||
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
# energyWeaponSpeedMultiply
|
||||
#
|
||||
# Used by:
|
||||
# Modules from group: Heat Sink (18 of 18)
|
||||
# Modules from group: Heat Sink (19 of 19)
|
||||
type = "passive"
|
||||
|
||||
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
# hybridWeaponDamageMultiply
|
||||
#
|
||||
# Used by:
|
||||
# Modules from group: Magnetic Field Stabilizer (14 of 14)
|
||||
# Modules from group: Magnetic Field Stabilizer (15 of 15)
|
||||
type = "passive"
|
||||
|
||||
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
# hybridWeaponSpeedMultiply
|
||||
#
|
||||
# Used by:
|
||||
# Modules from group: Magnetic Field Stabilizer (14 of 14)
|
||||
# Modules from group: Magnetic Field Stabilizer (15 of 15)
|
||||
type = "passive"
|
||||
|
||||
|
||||
|
||||
@@ -1,3 +1,7 @@
|
||||
# massEntanglerEffect5
|
||||
#
|
||||
# Used by:
|
||||
# Module: Zero-Point Mass Entangler
|
||||
type = "active"
|
||||
|
||||
|
||||
|
||||
@@ -4,6 +4,7 @@
|
||||
# Modules from group: Frequency Mining Laser (3 of 3)
|
||||
# Modules from group: Mining Laser (15 of 15)
|
||||
# Modules from group: Strip Miner (5 of 5)
|
||||
# Module: Citizen Miner
|
||||
type = 'active'
|
||||
|
||||
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
# missileDMGBonus
|
||||
#
|
||||
# Used by:
|
||||
# Modules from group: Ballistic Control system (20 of 20)
|
||||
# Modules from group: Ballistic Control system (21 of 21)
|
||||
type = "passive"
|
||||
|
||||
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
# missileLauncherSpeedMultiplier
|
||||
#
|
||||
# Used by:
|
||||
# Modules from group: Ballistic Control system (20 of 20)
|
||||
# Modules from group: Ballistic Control system (21 of 21)
|
||||
type = "passive"
|
||||
|
||||
|
||||
|
||||
@@ -3,6 +3,7 @@
|
||||
# Used by:
|
||||
# Modules from group: Drone Damage Modules (11 of 11)
|
||||
# Modules named like: C3 'Hivaa Saitsuo' Ballistic Control System (2 of 2)
|
||||
# Module: Abyssal Ballistic Control System
|
||||
type = "passive"
|
||||
|
||||
|
||||
|
||||
@@ -7,6 +7,7 @@
|
||||
# Modules from group: Hull Repair Unit (25 of 25)
|
||||
# Modules from group: Remote Armor Repairer (39 of 39)
|
||||
# Modules from group: Remote Capacitor Transmitter (41 of 41)
|
||||
# Modules from group: Remote Hull Repairer (8 of 8)
|
||||
# Modules from group: Remote Shield Booster (38 of 38)
|
||||
# Modules from group: Smart Bomb (118 of 118)
|
||||
# Modules from group: Warp Disrupt Field Generator (7 of 7)
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
# projectileWeaponDamageMultiply
|
||||
#
|
||||
# Used by:
|
||||
# Modules from group: Gyrostabilizer (13 of 13)
|
||||
# Modules from group: Gyrostabilizer (14 of 14)
|
||||
type = "passive"
|
||||
|
||||
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
# projectileWeaponSpeedMultiply
|
||||
#
|
||||
# Used by:
|
||||
# Modules from group: Gyrostabilizer (13 of 13)
|
||||
# Modules from group: Gyrostabilizer (14 of 14)
|
||||
type = "passive"
|
||||
|
||||
|
||||
|
||||
@@ -1,3 +1,11 @@
|
||||
# roleBonusWarpSpeed
|
||||
#
|
||||
# Used by:
|
||||
# Ship: Cynabal
|
||||
# Ship: Dramiel
|
||||
# Ship: Leopard
|
||||
# Ship: Machariel
|
||||
# Ship: Victorieux Luxury Yacht
|
||||
type = "passive"
|
||||
|
||||
|
||||
|
||||
@@ -3,6 +3,7 @@
|
||||
# Used by:
|
||||
# Structure Modules from group: Structure Citadel Service Module (2 of 2)
|
||||
# Structure Modules from group: Structure Engineering Service Module (6 of 6)
|
||||
# Structure Modules from group: Structure Navigation Service Module (3 of 3)
|
||||
# Structure Modules from group: Structure Resource Processing Service Module (4 of 4)
|
||||
# Structure Module: Standup Moon Drill I
|
||||
type = "passive"
|
||||
|
||||
10
eos/effects/shiparmoremresistancepbc2.py
Normal file
10
eos/effects/shiparmoremresistancepbc2.py
Normal file
@@ -0,0 +1,10 @@
|
||||
# shipArmorEMResistancePBC2
|
||||
#
|
||||
# Used by:
|
||||
# Ship: Drekavac
|
||||
type = "passive"
|
||||
|
||||
|
||||
def handler(fit, ship, context):
|
||||
fit.ship.boostItemAttr("armorEmDamageResonance", ship.getModifiedItemAttr("shipBonusPBC2"),
|
||||
skill="Precursor Battlecruiser")
|
||||
10
eos/effects/shiparmorexplosiveresistancepbc2.py
Normal file
10
eos/effects/shiparmorexplosiveresistancepbc2.py
Normal file
@@ -0,0 +1,10 @@
|
||||
# shipArmorExplosiveResistancePBC2
|
||||
#
|
||||
# Used by:
|
||||
# Ship: Drekavac
|
||||
type = "passive"
|
||||
|
||||
|
||||
def handler(fit, ship, context):
|
||||
fit.ship.boostItemAttr("armorExplosiveDamageResonance", ship.getModifiedItemAttr("shipBonusPBC2"),
|
||||
skill="Precursor Battlecruiser")
|
||||
10
eos/effects/shiparmorkineticresistancepbc2.py
Normal file
10
eos/effects/shiparmorkineticresistancepbc2.py
Normal file
@@ -0,0 +1,10 @@
|
||||
# shipArmorKineticResistancePBC2
|
||||
#
|
||||
# Used by:
|
||||
# Ship: Drekavac
|
||||
type = "passive"
|
||||
|
||||
|
||||
def handler(fit, ship, context):
|
||||
fit.ship.boostItemAttr("armorKineticDamageResonance", ship.getModifiedItemAttr("shipBonusPBC2"),
|
||||
skill="Precursor Battlecruiser")
|
||||
10
eos/effects/shiparmorthermalresistancepbc2.py
Normal file
10
eos/effects/shiparmorthermalresistancepbc2.py
Normal file
@@ -0,0 +1,10 @@
|
||||
# shipArmorThermalResistancePBC2
|
||||
#
|
||||
# Used by:
|
||||
# Ship: Drekavac
|
||||
type = "passive"
|
||||
|
||||
|
||||
def handler(fit, ship, context):
|
||||
fit.ship.boostItemAttr("armorThermalDamageResonance", ship.getModifiedItemAttr("shipBonusPBC2"),
|
||||
skill="Precursor Battlecruiser")
|
||||
@@ -1,8 +1,7 @@
|
||||
# shipBonusDreadnoughtC2ShieldResists
|
||||
#
|
||||
# Used by:
|
||||
# Ship: Caiman
|
||||
# Ship: Phoenix
|
||||
# Variations of ship: Phoenix (2 of 2)
|
||||
type = "passive"
|
||||
|
||||
|
||||
|
||||
@@ -6,5 +6,5 @@ type = "passive"
|
||||
|
||||
|
||||
def handler(fit, ship, context):
|
||||
fit.drones.filteredItemBoost(lambda drone: drone.item.group.name == "Mining Drone",
|
||||
fit.drones.filteredItemBoost(lambda drone: drone.item.requiresSkill("Drones"),
|
||||
"miningAmount", ship.getModifiedItemAttr("shipBonusAC2"), skill="Amarr Cruiser")
|
||||
|
||||
@@ -7,5 +7,5 @@ type = "passive"
|
||||
|
||||
|
||||
def handler(fit, ship, context):
|
||||
fit.drones.filteredItemBoost(lambda drone: drone.item.group.name == "Mining Drone",
|
||||
fit.drones.filteredItemBoost(lambda drone: drone.item.requiresSkill("Mining Drone Operation"),
|
||||
"miningAmount", ship.getModifiedItemAttr("shipBonusGC2"), skill="Gallente Cruiser")
|
||||
|
||||
@@ -1,10 +0,0 @@
|
||||
# shipBonusForceAuxiliaryA3CapCapacity
|
||||
#
|
||||
# Used by:
|
||||
# Ship: Apostle
|
||||
type = "passive"
|
||||
|
||||
|
||||
def handler(fit, src, context):
|
||||
fit.ship.boostItemAttr("capacitorCapacity", src.getModifiedItemAttr("shipBonusForceAuxiliaryA3"),
|
||||
skill="Amarr Carrier")
|
||||
@@ -1,8 +1,7 @@
|
||||
# shipBonusForceAuxiliaryC2ShieldResists
|
||||
#
|
||||
# Used by:
|
||||
# Ship: Loggerhead
|
||||
# Ship: Minokawa
|
||||
# Variations of ship: Minokawa (2 of 2)
|
||||
type = "passive"
|
||||
|
||||
|
||||
|
||||
@@ -1,10 +0,0 @@
|
||||
# shipBonusForceAuxiliaryC3CapCapacity
|
||||
#
|
||||
# Used by:
|
||||
# Ship: Minokawa
|
||||
type = "passive"
|
||||
|
||||
|
||||
def handler(fit, src, context):
|
||||
fit.ship.boostItemAttr("capacitorCapacity", src.getModifiedItemAttr("shipBonusForceAuxiliaryC3"),
|
||||
skill="Caldari Carrier")
|
||||
@@ -1,10 +0,0 @@
|
||||
# shipBonusForceAuxiliaryG3CapBoosterStrength
|
||||
#
|
||||
# Used by:
|
||||
# Ship: Ninazu
|
||||
type = "passive"
|
||||
|
||||
|
||||
def handler(fit, src, context):
|
||||
fit.modules.filteredChargeBoost(lambda mod: mod.charge.group.name == "Capacitor Booster Charge", "capacitorBonus",
|
||||
src.getModifiedItemAttr("shipBonusForceAuxiliaryG3"), skill="Gallente Carrier")
|
||||
@@ -1,10 +0,0 @@
|
||||
# shipBonusForceAuxiliaryM3CapBoosterStrength
|
||||
#
|
||||
# Used by:
|
||||
# Ship: Lif
|
||||
type = "passive"
|
||||
|
||||
|
||||
def handler(fit, src, context):
|
||||
fit.modules.filteredChargeBoost(lambda mod: mod.charge.group.name == "Capacitor Booster Charge", "capacitorBonus",
|
||||
src.getModifiedItemAttr("shipBonusForceAuxiliaryM3"), skill="Minmatar Carrier")
|
||||
@@ -9,5 +9,5 @@ type = "passive"
|
||||
|
||||
|
||||
def handler(fit, container, context):
|
||||
fit.drones.filteredItemBoost(lambda drone: drone.item.group.name == "Mining Drone",
|
||||
fit.drones.filteredItemBoost(lambda drone: drone.item.requiresSkill("Mining Drone Operation"),
|
||||
"miningAmount", container.getModifiedItemAttr("rookieDroneBonus"))
|
||||
|
||||
@@ -2,7 +2,9 @@
|
||||
#
|
||||
# Used by:
|
||||
# Ship: Damavik
|
||||
# Ship: Drekavac
|
||||
# Ship: Hydra
|
||||
# Ship: Kikimora
|
||||
# Ship: Leshak
|
||||
# Ship: Tiamat
|
||||
# Ship: Vedmak
|
||||
|
||||
11
eos/effects/shipbonuspbc1disintegratordamage.py
Normal file
11
eos/effects/shipbonuspbc1disintegratordamage.py
Normal file
@@ -0,0 +1,11 @@
|
||||
# shipBonusPBC1DisintegratorDamage
|
||||
#
|
||||
# Used by:
|
||||
# Ship: Drekavac
|
||||
type = "passive"
|
||||
|
||||
|
||||
def handler(fit, ship, context):
|
||||
fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Medium Precursor Weapon"),
|
||||
"damageMultiplier", ship.getModifiedItemAttr("shipBonusPBC1"),
|
||||
skill="Precursor Battlecruiser")
|
||||
11
eos/effects/shipbonuspd1disintegratordamage.py
Normal file
11
eos/effects/shipbonuspd1disintegratordamage.py
Normal file
@@ -0,0 +1,11 @@
|
||||
# shipBonusPD1DisintegratorDamage
|
||||
#
|
||||
# Used by:
|
||||
# Ship: Kikimora
|
||||
type = "passive"
|
||||
|
||||
|
||||
def handler(fit, ship, context):
|
||||
fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Small Precursor Weapon"),
|
||||
"damageMultiplier", ship.getModifiedItemAttr("shipBonusPD1"),
|
||||
skill="Precursor Destroyer")
|
||||
11
eos/effects/shipbonuspd2disintegratormaxrange.py
Normal file
11
eos/effects/shipbonuspd2disintegratormaxrange.py
Normal file
@@ -0,0 +1,11 @@
|
||||
# shipBonusPD2DisintegratorMaxRange
|
||||
#
|
||||
# Used by:
|
||||
# Ship: Kikimora
|
||||
type = "passive"
|
||||
|
||||
|
||||
def handler(fit, ship, context):
|
||||
fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Small Precursor Weapon"),
|
||||
"maxRange", ship.getModifiedItemAttr("shipBonusPD2"),
|
||||
skill="Precursor Destroyer")
|
||||
@@ -2,7 +2,9 @@
|
||||
#
|
||||
# Used by:
|
||||
# Ship: Damavik
|
||||
# Ship: Drekavac
|
||||
# Ship: Hydra
|
||||
# Ship: Kikimora
|
||||
# Ship: Leshak
|
||||
# Ship: Tiamat
|
||||
# Ship: Vedmak
|
||||
|
||||
@@ -2,7 +2,9 @@
|
||||
#
|
||||
# Used by:
|
||||
# Ship: Damavik
|
||||
# Ship: Drekavac
|
||||
# Ship: Hydra
|
||||
# Ship: Kikimora
|
||||
# Ship: Leshak
|
||||
# Ship: Tiamat
|
||||
# Ship: Vedmak
|
||||
|
||||
@@ -1,8 +1,7 @@
|
||||
# shipBonusRole3XLTorpdeoVelocityBonus
|
||||
#
|
||||
# Used by:
|
||||
# Ship: Komodo
|
||||
# Ship: Leviathan
|
||||
# Variations of ship: Leviathan (2 of 2)
|
||||
type = "passive"
|
||||
|
||||
|
||||
|
||||
@@ -2,7 +2,9 @@
|
||||
#
|
||||
# Used by:
|
||||
# Ship: Damavik
|
||||
# Ship: Drekavac
|
||||
# Ship: Hydra
|
||||
# Ship: Kikimora
|
||||
# Ship: Leshak
|
||||
# Ship: Tiamat
|
||||
# Ship: Vedmak
|
||||
|
||||
@@ -1,8 +1,7 @@
|
||||
# shipBonusTitanA3WarpStrength
|
||||
#
|
||||
# Used by:
|
||||
# Ship: Avatar
|
||||
# Ship: Molok
|
||||
# Variations of ship: Avatar (2 of 2)
|
||||
type = "passive"
|
||||
|
||||
|
||||
|
||||
@@ -1,8 +1,7 @@
|
||||
# shipBonusTitanC2ROFBonus
|
||||
#
|
||||
# Used by:
|
||||
# Ship: Komodo
|
||||
# Ship: Leviathan
|
||||
# Variations of ship: Leviathan (2 of 2)
|
||||
type = "passive"
|
||||
|
||||
|
||||
|
||||
@@ -1,8 +1,7 @@
|
||||
# shipBonusTitanC3WarpStrength
|
||||
#
|
||||
# Used by:
|
||||
# Ship: Komodo
|
||||
# Ship: Leviathan
|
||||
# Variations of ship: Leviathan (2 of 2)
|
||||
type = "passive"
|
||||
|
||||
|
||||
|
||||
10
eos/effects/shiproledisintegratormaxrangecbc.py
Normal file
10
eos/effects/shiproledisintegratormaxrangecbc.py
Normal file
@@ -0,0 +1,10 @@
|
||||
# shipRoleDisintegratorMaxRangeCBC
|
||||
#
|
||||
# Used by:
|
||||
# Ship: Drekavac
|
||||
type = "passive"
|
||||
|
||||
|
||||
def handler(fit, ship, context):
|
||||
fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Medium Precursor Weapon"),
|
||||
"maxRange", ship.getModifiedItemAttr("roleBonusCBC"))
|
||||
@@ -1,7 +1,7 @@
|
||||
# skillBonusDroneDurability
|
||||
#
|
||||
# Used by:
|
||||
# Implants from group: Cyber Drones (2 of 2)
|
||||
# Implants from group: Cyber Drones (4 of 4)
|
||||
# Skill: Drone Durability
|
||||
type = "passive"
|
||||
|
||||
|
||||
@@ -1,7 +1,8 @@
|
||||
# skillBonusDroneInterfacing
|
||||
#
|
||||
# Used by:
|
||||
# Implants from group: Cyber Drones (2 of 2)
|
||||
# Implant: CreoDron 'Bumblebee' Drone Tuner T10-5D
|
||||
# Implant: CreoDron 'Yellowjacket' Drone Tuner D5-10T
|
||||
# Skill: Drone Interfacing
|
||||
type = "passive"
|
||||
|
||||
|
||||
10
eos/effects/smalldisintegratormaxrangebonus.py
Normal file
10
eos/effects/smalldisintegratormaxrangebonus.py
Normal file
@@ -0,0 +1,10 @@
|
||||
# smallDisintegratorMaxRangeBonus
|
||||
#
|
||||
# Used by:
|
||||
# Ship: Kikimora
|
||||
type = "passive"
|
||||
|
||||
|
||||
def handler(fit, ship, context):
|
||||
fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Small Precursor Weapon"),
|
||||
"maxRange", ship.getModifiedItemAttr("maxRangeBonus"))
|
||||
@@ -1,7 +1,8 @@
|
||||
# structureAoERoFRoleBonus
|
||||
#
|
||||
# Used by:
|
||||
# Items from category: Structure (11 of 14)
|
||||
# Items from category: Structure (11 of 17)
|
||||
# Structures from group: Citadel (8 of 9)
|
||||
type = "passive"
|
||||
|
||||
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
# structureArmorHPMultiply
|
||||
# structureArmorHPBonus
|
||||
#
|
||||
# Used by:
|
||||
# Structure Modules from group: Structure Armor Reinforcer (2 of 2)
|
||||
@@ -7,4 +7,4 @@ runTime = "early"
|
||||
|
||||
|
||||
def handler(fit, src, context):
|
||||
fit.ship.multiplyItemAttr("hiddenArmorHPMultiplier", src.getModifiedItemAttr("armorHPMultiplier"))
|
||||
fit.ship.boostItemAttr("hiddenArmorHPMultiplier", src.getModifiedItemAttr("armorHpBonus"), stackingPenalties=True)
|
||||
@@ -3,14 +3,20 @@
|
||||
# Used by:
|
||||
# Structure Modules from group: Structure Energy Neutralizer (5 of 5)
|
||||
from eos.saveddata.module import State
|
||||
from eos.modifiedAttributeDict import ModifiedAttributeDict
|
||||
|
||||
type = "active", "projected"
|
||||
|
||||
|
||||
def handler(fit, container, context):
|
||||
def handler(fit, src, context, **kwargs):
|
||||
amount = 0
|
||||
if "projected" in context:
|
||||
if (hasattr(container, "state") and container.state >= State.ACTIVE) or hasattr(container, "amountActive"):
|
||||
amount = container.getModifiedItemAttr("energyNeutralizerAmount")
|
||||
time = container.getModifiedItemAttr("duration")
|
||||
fit.addDrain(container, time, amount, 0)
|
||||
if (hasattr(src, "state") and src.state >= State.ACTIVE) or hasattr(src, "amountActive"):
|
||||
amount = src.getModifiedItemAttr("energyNeutralizerAmount")
|
||||
|
||||
if 'effect' in kwargs:
|
||||
amount *= ModifiedAttributeDict.getResistance(fit, kwargs['effect'])
|
||||
|
||||
time = src.getModifiedItemAttr("duration")
|
||||
|
||||
fit.addDrain(src, time, amount, 0)
|
||||
@@ -1,7 +1,7 @@
|
||||
# structureFullPowerStateHitpointModifier
|
||||
#
|
||||
# Used by:
|
||||
# Items from category: Structure (14 of 14)
|
||||
# Items from category: Structure (17 of 17)
|
||||
type = "passive"
|
||||
|
||||
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
# structureHiddenArmorHPMultiplier
|
||||
#
|
||||
# Used by:
|
||||
# Items from category: Structure (14 of 14)
|
||||
# Items from category: Structure (17 of 17)
|
||||
type = "passive"
|
||||
|
||||
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
# structureHiddenMissileDamageMultiplier
|
||||
#
|
||||
# Used by:
|
||||
# Items from category: Structure (14 of 14)
|
||||
# Items from category: Structure (14 of 17)
|
||||
type = "passive"
|
||||
|
||||
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
# targetAttack
|
||||
#
|
||||
# Used by:
|
||||
# Drones from group: Combat Drone (74 of 74)
|
||||
# Drones from group: Combat Drone (75 of 75)
|
||||
# Modules from group: Energy Weapon (212 of 214)
|
||||
type = 'active'
|
||||
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
# warpScramble
|
||||
# warpDisrupt
|
||||
#
|
||||
# Used by:
|
||||
# Modules named like: Warp Disruptor (28 of 28)
|
||||
@@ -4,15 +4,15 @@
|
||||
# Celestial: darkness_weather_1
|
||||
# Celestial: darkness_weather_2
|
||||
# Celestial: darkness_weather_3
|
||||
# Celestial: pvp_weather_1
|
||||
runTime = "early"
|
||||
type = ("projected", "passive", "gang")
|
||||
|
||||
|
||||
def handler(fit, beacon, context, **kwargs):
|
||||
for x in range(1, 3):
|
||||
for x in range(1, 5):
|
||||
if beacon.getModifiedItemAttr("warfareBuff{}ID".format(x)):
|
||||
value = beacon.getModifiedItemAttr("warfareBuff{}Value".format(x))
|
||||
id = beacon.getModifiedItemAttr("warfareBuff{}ID".format(x))
|
||||
|
||||
if id:
|
||||
fit.addCommandBonus(id, value, beacon, kwargs['effect'], 'early')
|
||||
|
||||
@@ -567,51 +567,67 @@ class Unit(EqBase):
|
||||
""" This is a mapping of various tweaks that we have to do between the internal representation of an attribute
|
||||
value and the display (for example, 'Millisecond' units have the display name of 's', so we have to convert value
|
||||
from ms to s) """
|
||||
# Each entry contains:
|
||||
# Function to convert value to display value
|
||||
# Function to convert value to display format (which sometimes can be a string)
|
||||
# Function which controls unit name used with attribute
|
||||
# Function to convert display value to value
|
||||
return {
|
||||
"Inverse Absolute Percent": (
|
||||
lambda v: (1 - v) * 100,
|
||||
lambda d: -1 * (d / 100) + 1,
|
||||
lambda u: u),
|
||||
lambda v: (1 - v) * 100,
|
||||
lambda u: u,
|
||||
lambda d: -1 * (d / 100) + 1),
|
||||
"Inversed Modifier Percent": (
|
||||
lambda v: (1 - v) * 100,
|
||||
lambda d: -1 * (d / 100) + 1,
|
||||
lambda u: u),
|
||||
lambda v: (1 - v) * 100,
|
||||
lambda u: u,
|
||||
lambda d: -1 * (d / 100) + 1),
|
||||
"Modifier Percent": (
|
||||
lambda v: (v - 1) * 100,
|
||||
lambda v: ("%+.2f" if ((v - 1) * 100) % 1 else "%+d") % ((v - 1) * 100),
|
||||
lambda d: (d / 100) + 1,
|
||||
lambda u: u),
|
||||
lambda u: u,
|
||||
lambda d: (d / 100) + 1),
|
||||
"Volume": (
|
||||
lambda v: v,
|
||||
lambda d: d,
|
||||
lambda u: "m³"),
|
||||
lambda v: v,
|
||||
lambda u: "m³",
|
||||
lambda d: d),
|
||||
"Sizeclass": (
|
||||
lambda v: v,
|
||||
lambda d: d,
|
||||
lambda u: ""),
|
||||
lambda v: v,
|
||||
lambda u: "",
|
||||
lambda d: d),
|
||||
"Absolute Percent": (
|
||||
lambda v: (v * 100),
|
||||
lambda d: d / 100,
|
||||
lambda u: u),
|
||||
lambda v: v * 100,
|
||||
lambda v: v * 100,
|
||||
lambda u: u,
|
||||
lambda d: d / 100),
|
||||
"Milliseconds": (
|
||||
lambda v: v / 1000.0,
|
||||
lambda d: d * 1000.0,
|
||||
lambda u: u),
|
||||
lambda v: v / 1000,
|
||||
lambda v: v / 1000,
|
||||
lambda u: u,
|
||||
lambda d: d * 1000),
|
||||
"Boolean": (
|
||||
lambda v: "Yes" if v == 1 else "No",
|
||||
lambda d: 1.0 if d == "Yes" else 0.0,
|
||||
lambda u: ""),
|
||||
lambda v: True if v else False,
|
||||
lambda v: "Yes" if v else "No",
|
||||
lambda u: "",
|
||||
lambda d: 1.0 if d == "Yes" else 0.0),
|
||||
"typeID": (
|
||||
self.itemIDCallback,
|
||||
None, # we could probably convert these back if we really tried hard enough
|
||||
lambda u: ""),
|
||||
self.itemIDCallback,
|
||||
lambda u: "",
|
||||
None), # we could probably convert these back if we really tried hard enough
|
||||
"groupID": (
|
||||
self.groupIDCallback,
|
||||
None,
|
||||
lambda u: ""),
|
||||
self.groupIDCallback,
|
||||
lambda u: "",
|
||||
None),
|
||||
"attributeID": (
|
||||
self.attributeIDCallback,
|
||||
None,
|
||||
lambda u: ""),
|
||||
self.attributeIDCallback,
|
||||
lambda u: "",
|
||||
None),
|
||||
}
|
||||
|
||||
@staticmethod
|
||||
@@ -634,25 +650,33 @@ class Unit(EqBase):
|
||||
attribute = eos.db.getAttributeInfo(v, eager="unit")
|
||||
return "%s (%d)" % (attribute.name.capitalize(), v)
|
||||
|
||||
def TranslateValue(self, value):
|
||||
def PreformatValue(self, value):
|
||||
"""Attributes have to be translated certain ways based on their unit (ex: decimals converting to percentages).
|
||||
This allows us to get an easy representation of how the attribute should be printed """
|
||||
|
||||
override = self.translations.get(self.name)
|
||||
if override is not None:
|
||||
return override[0](value), override[2](self.displayName)
|
||||
return override[1](value), override[2](self.displayName)
|
||||
|
||||
return value, self.displayName
|
||||
|
||||
def SimplifyValue(self, value):
|
||||
"""Takes the internal representation value and convert it into the display value"""
|
||||
|
||||
override = self.translations.get(self.name)
|
||||
if override is not None:
|
||||
return override[0](value)
|
||||
|
||||
return value
|
||||
|
||||
def ComplicateValue(self, value):
|
||||
"""Takes the display value and turns it back into the internal representation of it"""
|
||||
|
||||
override = self.translations.get(self.name)
|
||||
if override is not None:
|
||||
return override[1](value)
|
||||
return override[3](value)
|
||||
|
||||
return value
|
||||
|
||||
|
||||
class Traits(EqBase):
|
||||
pass
|
||||
|
||||
@@ -93,6 +93,8 @@ class FitDpsGraph(Graph):
|
||||
|
||||
# this is janky as fuck
|
||||
for fighter in fit.fighters:
|
||||
if not fighter.active:
|
||||
continue
|
||||
for ability in fighter.abilities:
|
||||
if ability.dealsDamage and ability.active:
|
||||
multiplier = self.calculateFighterMissileMultiplier(ability, data)
|
||||
|
||||
@@ -696,7 +696,7 @@ class Fit(object):
|
||||
self.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Shield Operation"),
|
||||
"duration", value, stackingPenalties=True)
|
||||
|
||||
# Abysmal Weather Effects
|
||||
# Abyssal Weather Effects
|
||||
|
||||
if warfareBuffID == 90: # Weather_electric_storm_EM_resistance_penalty
|
||||
for tankType in ("shield", "armor"):
|
||||
|
||||
Reference in New Issue
Block a user