diff --git a/config.py b/config.py index 097fdb570..28791a782 100644 --- a/config.py +++ b/config.py @@ -19,10 +19,10 @@ debug = False saveInRoot = False # Version data -version = "1.34.0" +version = "1.35.0" tag = "Stable" -expansionName = " Arms Race" -expansionVersion = "1.3" +expansionName = "YC120.2" +expansionVersion = "1.1" evemonMinVersion = "4081" pyfaPath = None diff --git a/eos/effects/accessdifficultybonusmodifierrequiringhacking.py b/eos/effects/accessdifficultybonusmodifierrequiringhacking.py index 6bb5ffdd7..2094f08d3 100644 --- a/eos/effects/accessdifficultybonusmodifierrequiringhacking.py +++ b/eos/effects/accessdifficultybonusmodifierrequiringhacking.py @@ -2,6 +2,7 @@ # # Used by: # Modules named like: Memetic Algorithm Bank (8 of 8) +# Implant: Neural Lace 'Blackglass' Net Intrusion 920-40 # Implant: Poteque 'Prospector' Environmental Analysis EY-1005 # Implant: Poteque 'Prospector' Hacking HC-905 type = "passive" diff --git a/eos/effects/ammoinfluencecapneed.py b/eos/effects/ammoinfluencecapneed.py index 6a2a2854f..d5110c5f1 100644 --- a/eos/effects/ammoinfluencecapneed.py +++ b/eos/effects/ammoinfluencecapneed.py @@ -1,7 +1,7 @@ # ammoInfluenceCapNeed # # Used by: -# Items from category: Charge (478 of 924) +# Items from category: Charge (478 of 925) type = "passive" diff --git a/eos/effects/ammoinfluencerange.py b/eos/effects/ammoinfluencerange.py index 43abc89ab..1c7d4ea44 100644 --- a/eos/effects/ammoinfluencerange.py +++ b/eos/effects/ammoinfluencerange.py @@ -1,7 +1,7 @@ # ammoInfluenceRange # # Used by: -# Items from category: Charge (572 of 924) +# Items from category: Charge (572 of 925) type = "passive" diff --git a/eos/effects/ammospeedmultiplier.py b/eos/effects/ammospeedmultiplier.py index e375d6738..31ebe295b 100644 --- a/eos/effects/ammospeedmultiplier.py +++ b/eos/effects/ammospeedmultiplier.py @@ -1,7 +1,7 @@ # ammoSpeedMultiplier # # Used by: -# Charges from group: Festival Charges (22 of 22) +# Charges from group: Festival Charges (23 of 23) # Charges from group: Interdiction Probe (2 of 2) type = "passive" diff --git a/eos/effects/damagecontrol.py b/eos/effects/damagecontrol.py index e047e6afa..05589e15a 100644 --- a/eos/effects/damagecontrol.py +++ b/eos/effects/damagecontrol.py @@ -1,8 +1,7 @@ # damageControl # # Used by: -# Variations of module: Damage Control I (16 of 16) -# Module: Civilian Damage Control +# Modules from group: Damage Control (22 of 27) type = "passive" diff --git a/eos/effects/dohacking.py b/eos/effects/dohacking.py index cf029e12d..233d29404 100644 --- a/eos/effects/dohacking.py +++ b/eos/effects/dohacking.py @@ -1,7 +1,7 @@ # doHacking # # Used by: -# Modules from group: Data Miners (17 of 18) +# Modules from group: Data Miners (9 of 9) type = "active" diff --git a/eos/effects/elitebonusgunshipdronecapacity2.py b/eos/effects/elitebonusgunshipdronecapacity2.py index 47dc4249b..61cf46c51 100644 --- a/eos/effects/elitebonusgunshipdronecapacity2.py +++ b/eos/effects/elitebonusgunshipdronecapacity2.py @@ -1,7 +1,4 @@ -# eliteBonusGunshipDroneCapacity2 -# -# Used by: -# Ship: Ishkur +# Not used by any item type = "passive" diff --git a/eos/effects/elitebonusgunshipdronetracking2.py b/eos/effects/elitebonusgunshipdronetracking2.py new file mode 100644 index 000000000..10d8c753d --- /dev/null +++ b/eos/effects/elitebonusgunshipdronetracking2.py @@ -0,0 +1,7 @@ +# Not used by any item +type = "passive" + + +def handler(fit, src, context): + fit.drones.filteredItemBoost(lambda mod: mod.item.requiresSkill("Drones"), "trackingSpeed", + src.getModifiedItemAttr("eliteBonusGunship2"), stackingPenalties=True, skill="Assault Frigates") diff --git a/eos/effects/elitebonusgunshipemmissiledamage1.py b/eos/effects/elitebonusgunshipemmissiledamage1.py new file mode 100644 index 000000000..ae5a4aed2 --- /dev/null +++ b/eos/effects/elitebonusgunshipemmissiledamage1.py @@ -0,0 +1,10 @@ +# eliteBonusGunshipEMMissileDamage1 +# +# Used by: +# Ship: Jaguar +type = "passive" + + +def handler(fit, src, context): + fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill("Missile Launcher Operation"), "emDamage", + src.getModifiedItemAttr("eliteBonusGunship1"), skill="Assault Frigates") diff --git a/eos/effects/elitebonusgunshipexplosionvelocity2.py b/eos/effects/elitebonusgunshipexplosionvelocity2.py new file mode 100644 index 000000000..e17de01c1 --- /dev/null +++ b/eos/effects/elitebonusgunshipexplosionvelocity2.py @@ -0,0 +1,10 @@ +# eliteBonusGunshipExplosionVelocity2 +# +# Used by: +# Ship: Jaguar +type = "passive" + + +def handler(fit, src, context): + fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill("Missile Launcher Operation"), "aoeVelocity", + src.getModifiedItemAttr("eliteBonusGunship2"), stackingPenalties=True, skill="Assault Frigates") diff --git a/eos/effects/elitebonusgunshipexplosivemissiledamage1.py b/eos/effects/elitebonusgunshipexplosivemissiledamage1.py new file mode 100644 index 000000000..626f6ce51 --- /dev/null +++ b/eos/effects/elitebonusgunshipexplosivemissiledamage1.py @@ -0,0 +1,10 @@ +# eliteBonusGunshipExplosiveMissileDamage1 +# +# Used by: +# Ship: Jaguar +type = "passive" + + +def handler(fit, src, context): + fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill("Missile Launcher Operation"), "explosiveDamage", + src.getModifiedItemAttr("eliteBonusGunship1"), skill="Assault Frigates") diff --git a/eos/effects/elitebonusgunshipkineticmissiledamage1.py b/eos/effects/elitebonusgunshipkineticmissiledamage1.py new file mode 100644 index 000000000..18afde89e --- /dev/null +++ b/eos/effects/elitebonusgunshipkineticmissiledamage1.py @@ -0,0 +1,10 @@ +# eliteBonusGunshipKineticMissileDamage1 +# +# Used by: +# Ship: Jaguar +type = "passive" + + +def handler(fit, src, context): + fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill("Missile Launcher Operation"), "kineticDamage", + src.getModifiedItemAttr("eliteBonusGunship1"), skill="Assault Frigates") diff --git a/eos/effects/elitebonusgunshipprojectiledamage2.py b/eos/effects/elitebonusgunshipprojectiledamage2.py index 09f2df3ad..81ad55805 100644 --- a/eos/effects/elitebonusgunshipprojectiledamage2.py +++ b/eos/effects/elitebonusgunshipprojectiledamage2.py @@ -1,7 +1,4 @@ -# eliteBonusGunshipProjectileDamage2 -# -# Used by: -# Ship: Jaguar +# Not used by any item type = "passive" diff --git a/eos/effects/elitebonusgunshipprojectileoptimal1.py b/eos/effects/elitebonusgunshipprojectileoptimal1.py index b1df7d247..75327d04f 100644 --- a/eos/effects/elitebonusgunshipprojectileoptimal1.py +++ b/eos/effects/elitebonusgunshipprojectileoptimal1.py @@ -1,7 +1,4 @@ -# eliteBonusGunshipProjectileOptimal1 -# -# Used by: -# Ship: Jaguar +# Not used by any item type = "passive" diff --git a/eos/effects/elitebonusgunshipthermalmissiledamage1.py b/eos/effects/elitebonusgunshipthermalmissiledamage1.py new file mode 100644 index 000000000..04ee9c25d --- /dev/null +++ b/eos/effects/elitebonusgunshipthermalmissiledamage1.py @@ -0,0 +1,10 @@ +# eliteBonusGunshipThermalMissileDamage1 +# +# Used by: +# Ship: Jaguar +type = "passive" + + +def handler(fit, src, context): + fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill("Missile Launcher Operation"), "thermalDamage", + src.getModifiedItemAttr("eliteBonusGunship1"), skill="Assault Frigates") diff --git a/eos/effects/hackingskillvirusbonus.py b/eos/effects/hackingskillvirusbonus.py index 35c3be199..45610c4f9 100644 --- a/eos/effects/hackingskillvirusbonus.py +++ b/eos/effects/hackingskillvirusbonus.py @@ -2,6 +2,7 @@ # # Used by: # Modules named like: Memetic Algorithm Bank (8 of 8) +# Implant: Neural Lace 'Blackglass' Net Intrusion 920-40 # Implant: Poteque 'Prospector' Environmental Analysis EY-1005 # Implant: Poteque 'Prospector' Hacking HC-905 # Skill: Hacking diff --git a/eos/effects/hackingvirusstrengthbonus.py b/eos/effects/hackingvirusstrengthbonus.py index d830a228e..6307a9224 100644 --- a/eos/effects/hackingvirusstrengthbonus.py +++ b/eos/effects/hackingvirusstrengthbonus.py @@ -1,4 +1,7 @@ -# Not used by any item +# hackingVirusStrengthBonus +# +# Used by: +# Implant: Neural Lace 'Blackglass' Net Intrusion 920-40 type = "passive" diff --git a/eos/effects/modulebonusassaultdamagecontrol.py b/eos/effects/modulebonusassaultdamagecontrol.py new file mode 100644 index 000000000..a7a6d9551 --- /dev/null +++ b/eos/effects/modulebonusassaultdamagecontrol.py @@ -0,0 +1,16 @@ +# moduleBonusAssaultDamageControl +# +# Used by: +# Variations of module: Assault Damage Control I (5 of 5) +type = "active" +runTime = "early" + + +def handler(fit, src, context): + for layer, attrPrefix in (('shield', 'shield'), ('armor', 'armor'), ('hull', '')): + for damageType in ('Kinetic', 'Thermal', 'Explosive', 'Em'): + bonus = "%s%sDamageResonance" % (attrPrefix, damageType) + bonus = "%s%s" % (bonus[0].lower(), bonus[1:]) + booster = "%s%sDamageResonance" % (layer, damageType) + + src.forceItemAttr(booster, src.getModifiedItemAttr("resistanceMultiplier")) diff --git a/eos/effects/remotewebifiermaxrangebonus.py b/eos/effects/remotewebifiermaxrangebonus.py new file mode 100644 index 000000000..19498882a --- /dev/null +++ b/eos/effects/remotewebifiermaxrangebonus.py @@ -0,0 +1,10 @@ +# remoteWebifierMaxRangeBonus +# +# Used by: +# Implants named like: Inquest 'Eros' Stasis Webifier MR (3 of 3) +type = "passive" + + +def handler(fit, src, context): + fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == "Stasis Web", "maxRange", + src.getModifiedItemAttr("stasisWebRangeBonus"), stackingPenalties=True) diff --git a/eos/effects/shipmissilerofmf2.py b/eos/effects/shipmissilerofmf2.py index 140e856db..4661fbef0 100644 --- a/eos/effects/shipmissilerofmf2.py +++ b/eos/effects/shipmissilerofmf2.py @@ -2,6 +2,7 @@ # # Used by: # Ship: Breacher +# Ship: Jaguar type = "passive" diff --git a/eos/effects/shippdmgbonusmf.py b/eos/effects/shippdmgbonusmf.py index 4fa2ee88e..0a359917e 100644 --- a/eos/effects/shippdmgbonusmf.py +++ b/eos/effects/shippdmgbonusmf.py @@ -1,11 +1,12 @@ # shipPDmgBonusMF # # Used by: -# Variations of ship: Rifter (3 of 3) # Variations of ship: Slasher (3 of 3) # Ship: Cheetah # Ship: Freki # Ship: Republic Fleet Firetail +# Ship: Rifter +# Ship: Wolf type = "passive" diff --git a/eos/effects/shipprojectiletrackingmf2.py b/eos/effects/shipprojectiletrackingmf2.py index 88b8f6226..588b6c7ff 100644 --- a/eos/effects/shipprojectiletrackingmf2.py +++ b/eos/effects/shipprojectiletrackingmf2.py @@ -2,7 +2,6 @@ # # Used by: # Variations of ship: Slasher (3 of 3) -# Ship: Jaguar # Ship: Republic Fleet Firetail # Ship: Wolf type = "passive" diff --git a/eos/effects/shipsetrofaf.py b/eos/effects/shipsetrofaf.py new file mode 100644 index 000000000..32ae50ab6 --- /dev/null +++ b/eos/effects/shipsetrofaf.py @@ -0,0 +1,10 @@ +# shipSETROFAF +# +# Used by: +# Ship: Retribution +type = "passive" + + +def handler(fit, src, context): + fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Small Energy Turret"), "speed", + src.getModifiedItemAttr("shipBonusAF"), stackingPenalties=True, skill="Amarr Frigate") diff --git a/eos/effects/shipsettrackingbonusaf.py b/eos/effects/shipsettrackingbonusaf.py index f14d24419..f8e952ffc 100644 --- a/eos/effects/shipsettrackingbonusaf.py +++ b/eos/effects/shipsettrackingbonusaf.py @@ -1,7 +1,4 @@ -# shipSETTrackingBonusAF -# -# Used by: -# Ship: Retribution +# Not used by any item type = "passive" diff --git a/eos/effects/shipshieldboostmf.py b/eos/effects/shipshieldboostmf.py index 1931f684d..ced5d2799 100644 --- a/eos/effects/shipshieldboostmf.py +++ b/eos/effects/shipshieldboostmf.py @@ -2,6 +2,7 @@ # # Used by: # Ship: Breacher +# Ship: Jaguar type = "passive" diff --git a/eve.db b/eve.db index 688a52300..4b5816334 100644 Binary files a/eve.db and b/eve.db differ diff --git a/gui/builtinAdditionPanes/boosterView.py b/gui/builtinAdditionPanes/boosterView.py index 3d589b4ba..ab80209ec 100644 --- a/gui/builtinAdditionPanes/boosterView.py +++ b/gui/builtinAdditionPanes/boosterView.py @@ -51,6 +51,7 @@ class BoosterView(d.Display): "Base Name", "Side Effects", "Price", + "Miscellanea", ] def __init__(self, parent): diff --git a/gui/builtinViewColumns/misc.py b/gui/builtinViewColumns/misc.py index 35e2f20a9..e99e89eae 100644 --- a/gui/builtinViewColumns/misc.py +++ b/gui/builtinViewColumns/misc.py @@ -72,6 +72,10 @@ class Miscellanea(ViewColumn): if itemGroup == "Ship Modifiers": return "", None + elif itemGroup == "Booster": + stuff.getModifiedItemAttr("boosterDuration") + text = "{0} min".format(formatAmount(stuff.getModifiedItemAttr("boosterDuration") / 1000 / 60, 3, 0, 3)) + return text, "Booster Duration" elif itemGroup in ("Energy Weapon", "Hybrid Weapon", "Projectile Weapon", "Combat Drone", "Fighter Drone"): trackingSpeed = stuff.getModifiedItemAttr("trackingSpeed") if not trackingSpeed: diff --git a/imgs/icons/101_4.png b/imgs/icons/101_4.png new file mode 100644 index 000000000..483eba933 Binary files /dev/null and b/imgs/icons/101_4.png differ diff --git a/imgs/icons/5_11.png b/imgs/icons/5_11.png index 8cdd226a0..ccba9e12c 100644 Binary files a/imgs/icons/5_11.png and b/imgs/icons/5_11.png differ diff --git a/imgs/icons/89_4.png b/imgs/icons/89_4.png index f5134aee1..2b7790645 100644 Binary files a/imgs/icons/89_4.png and b/imgs/icons/89_4.png differ diff --git a/imgs/icons/assaultdamagecontrol.png b/imgs/icons/assaultdamagecontrol.png new file mode 100644 index 000000000..7ac3dc99c Binary files /dev/null and b/imgs/icons/assaultdamagecontrol.png differ diff --git a/service/conversions/releaseFeb2018.py b/service/conversions/releaseFeb2018.py new file mode 100644 index 000000000..69017e5c7 --- /dev/null +++ b/service/conversions/releaseFeb2018.py @@ -0,0 +1,18 @@ +""" +Conversion pack for ~ Feb 2018 release +""" + +CONVERSIONS = { + "Standup AXL Missile Launcher I": "Standup Anticapital Missile Launcher I", + "Standup ASML Missile Launcher I": "Standup Multirole Missile Launcher I", + "Standup Warp Scrambler I": "Standup Focused Warp Disruptor I", + "Standup M-Set Scan Resolution I": "Standup M-Set Enhanced Targeting System I", + "Standup M-Set Scan Resolution II": "Standup M-Set Enhanced Targeting System II", + "Standup AXL-S Missile": "Standup Super-heavy Torpedo", + "Standup AXL-C Missile": "Standup XL Cruise Missile", + "Standup ASML-LD Missile": "Standup Cruise Missile", + "Standup ASML-MD Missile": "Standup Heavy Missile", + "Standup ASML-SD Missile": "Standup Light Missile", + "Standup AM Guided Bomb": "Standup Heavy Guided Bomb", + "Standup AS Guided Bomb": "Standup Light Guided Bomb", +}