diff --git a/eos/effects/boostermodifyboosterarmorpenalties.py b/eos/effects/boostermodifyboosterarmorpenalties.py index a8b30251b..0714422d4 100644 --- a/eos/effects/boostermodifyboosterarmorpenalties.py +++ b/eos/effects/boostermodifyboosterarmorpenalties.py @@ -4,6 +4,7 @@ # Implants named like: Eifyr and Co. 'Alchemist' Neurotoxin Control NC (2 of 2) # Implants named like: grade Edge (10 of 12) # Skill: Neurotoxin Control +runTime = 'early' type = "passive" diff --git a/gui/builtinViewColumns/misc.py b/gui/builtinViewColumns/misc.py index c4c124e44..85a0d545b 100644 --- a/gui/builtinViewColumns/misc.py +++ b/gui/builtinViewColumns/misc.py @@ -93,7 +93,9 @@ class Miscellanea(ViewColumn): text = "" tooltip = "" elif max(doomsday_duration / doomsday_dottime, 1) > 1: - text = "{0} dmg over {1} s".format(formatAmount(volley * (doomsday_duration / doomsday_dottime), 3, 0, 3), doomsday_duration / 1000) + text = "{} over {}s".format( + formatAmount(volley * (doomsday_duration / doomsday_dottime), 3, 0, 6), + formatAmount((doomsday_duration / 1000), 0, 0, 0)) tooltip = "Raw damage done over time" else: text = "{0} dmg".format(formatAmount(volley * (doomsday_duration / doomsday_dottime), 3, 0, 3)) diff --git a/service/jargon/defaults.yaml b/service/jargon/defaults.yaml index 636d19a11..761fc8473 100644 --- a/service/jargon/defaults.yaml +++ b/service/jargon/defaults.yaml @@ -1,9 +1,8 @@ -#Default jargon - comment out as necessary. +# Default jargon - comment out as necessary. -#Note that some of these are experimental abbreviations which don't have any real purpose and are simply there to play with - -#shortcuts +# Note that some of these are experimental abbreviations which don't have any real purpose and are simply there to play with +# shortcuts 1: I 2: II lrg: Large @@ -13,27 +12,28 @@ sml: Small # mic: Micro # (ineffective) xl: X-Large -# Derp. +# sizes large: heavy heavy: large -#language fixes (american/british differences) - +# language fixes (american/british differences) armour: armor neutraliser: neutralizer stabiliser: stabilizer energised: energized economiser: economizer -#definitions - +# races cn: Caldari Navy rf: Republic Fleet in: Imperial Navy fn: Federation Navy +ts: True Sansha +db: Dark Blood +dg: Dread Guristas +ss: Shadow Serpentis -#weapons - +# weapons ac: AutoCannon rt: Artillery arty: Artillery @@ -125,8 +125,7 @@ rp: Reaper disco: Smartbomb sbomb: Smartbomb -#Propulsion Modules - +# Propulsion Modules ab: Afterburner mwd: Microwarpdrive smwd: 5mn @@ -147,8 +146,7 @@ nano: Nanofiber Internal Structure boosh: Micro Jump Field Generator mjfg: Micro Jump Field Generator -#Tank Modules - +# Tank Modules 100pl: 100mm Plates 200pl: 200mm Plates 400pl: 400mm Plates @@ -195,8 +193,7 @@ knra: Kinetic Deflection Amplifier emra: EM Ward Amplifier exra: Explosive Deflection Amplifier -#Weapon Upgrades - +# Weapon Upgrades bcs: Ballistic Control System bcu: Ballistic Control System bc: Ballistic Control System @@ -218,8 +215,8 @@ gs: Gyrostabilizer hs: Heat Sink # Fleet Assistance - rsebo: Remote Sensor Booster +reccm: Remote Sensor Booster rct: Remote Capacitor Transmitter et: Remote Capacitor Transmitter rar: Remote Armor Repairer @@ -232,7 +229,6 @@ cdb: Command Burst cp: Command Processor # EWAR - wd: Warp Disruptor ws: Warp Scrambler sw: Stasis Webifier @@ -251,7 +247,6 @@ md: Guidance Disruptor point: Warp Disruptor # Engineering - cpr: Capacitor Power Relay cpu: Co-Processor coproc: Co-Processor @@ -265,11 +260,11 @@ spr: Shield Power Relay cb: Capacitor Booster cbat: Cap Battery cbst: Capacitor Booster +sa: Signal Amplifier sigamp: Signal Amplifier mapc: Micro Auxiliary Power Core # Ammo/Charges - am: Antimatter cnam: Caldari Navy Antimatter fnam: Federation Navy Antimatter @@ -292,7 +287,6 @@ bubble: Warp Disrupt Probe ars: Armor Resistance Script # Rigs - acr: Ancillary Current Router ccc: Capacitor Control Circuit smc: Semiconductor Memory Cell diff --git a/service/port/multibuy.py b/service/port/multibuy.py index 2bf2d7a8a..f50750e76 100644 --- a/service/port/multibuy.py +++ b/service/port/multibuy.py @@ -19,50 +19,45 @@ from service.fit import Fit as svcFit -from service.port.eft import SLOT_ORDER as EFT_SLOT_ORDER def exportMultiBuy(fit): - export = "%s\n" % fit.ship.item.name - stuff = {} - sFit = svcFit.getInstance() + itemCounts = {} + + def addItem(item, quantity=1): + if item not in itemCounts: + itemCounts[item] = 0 + itemCounts[item] += quantity + + exportCharges = svcFit.getInstance().serviceFittingOptions["exportCharges"] for module in fit.modules: - slot = module.slot - if slot not in stuff: - stuff[slot] = [] - curr = "%s\n" % module.item.name if module.item else "" - if module.charge and sFit.serviceFittingOptions["exportCharges"]: - curr += "%s x%s\n" % (module.charge.name, module.numCharges) - stuff[slot].append(curr) + if module.item: + addItem(module.item) + if exportCharges and module.charge: + addItem(module.charge, module.numCharges) - for slotType in EFT_SLOT_ORDER: - data = stuff.get(slotType) - if data is not None: - # export += "\n" - for curr in data: - export += curr + for drone in fit.drones: + addItem(drone.item, drone.amount) - if len(fit.drones) > 0: - for drone in fit.drones: - export += "%s x%s\n" % (drone.item.name, drone.amount) + for fighter in fit.fighters: + addItem(fighter.item, fighter.amountActive) - if len(fit.cargo) > 0: - for cargo in fit.cargo: - export += "%s x%s\n" % (cargo.item.name, cargo.amount) + for cargo in fit.cargo: + addItem(cargo.item, cargo.amount) - if len(fit.implants) > 0: - for implant in fit.implants: - export += "%s\n" % implant.item.name + for implant in fit.implants: + addItem(implant.item) - if len(fit.boosters) > 0: - for booster in fit.boosters: - export += "%s\n" % booster.item.name + for booster in fit.boosters: + addItem(booster.item) - if len(fit.fighters) > 0: - for fighter in fit.fighters: - export += "%s x%s\n" % (fighter.item.name, fighter.amountActive) + exportLines = [] + exportLines.append(fit.ship.item.name) + for item in sorted(itemCounts, key=lambda i: (i.group.category.name, i.group.name, i.name)): + count = itemCounts[item] + if count == 1: + exportLines.append(item.name) + else: + exportLines.append('{} x{}'.format(item.name, count)) - if export[-1] == "\n": - export = export[:-1] - - return export + return "\n".join(exportLines)