Merge branch 'master' into test-3

Conflicts:
	eos/gamedata.py
	eos/saveddata/booster.py
	eos/saveddata/character.py
	gui/builtinAdditionPanes/commandView.py
	gui/builtinContextMenus/commandFits.py
	gui/builtinMarketBrowser/itemView.py
	gui/builtinMarketBrowser/marketTree.py
	gui/builtinPreferenceViews/pyfaGeneralPreferences.py
	gui/builtinShipBrowser/categoryItem.py
	gui/builtinShipBrowser/fitItem.py
	gui/builtinShipBrowser/navigationPanel.py
	gui/builtinShipBrowser/raceSelector.py
	gui/builtinShipBrowser/shipItem.py
	gui/builtinStatsViews/priceViewFull.py
	gui/builtinViews/fittingView.py
	gui/characterEditor.py
	gui/characterSelection.py
	gui/chromeTabs.py
	gui/crestFittings.py
	gui/itemStats.py
	gui/mainFrame.py
	scripts/itemDiff.py
	service/price.py
This commit is contained in:
blitzmann
2017-11-23 11:19:05 -05:00
462 changed files with 12862 additions and 2421 deletions

View File

@@ -6332,7 +6332,7 @@
description: icon for the station service slot
iconFile: res:/UI/Texture/classes/Fitting/stationServiceSlot.png
21513:
description: Focused Warp Disruption Script
description: Focused Warp Scrambling Script
iconFile: res:/ui/texture/icons/118_64_12.png
21514:
description: Upwell Male Jacket
@@ -6889,3 +6889,234 @@
21742:
description: Icon for the Xmas crates
iconFile: res:/UI/Texture/Icons/Inventory/holidayCrate.png
21743:
description: Focused Warp Disruption Script
iconFile: res:/ui/texture/icons/118_64_15.png
21744:
description: SOE Exploration Suit Female
iconFile: res:/UI/Asset/mannequin/outer/45514_female_Outer_ExplorationSuit_F01_Types_ExplorationSuit_F01_SOE.png
21745:
description: Caldari Exploration Suit Female
iconFile: res:/UI/Asset/mannequin/outer/45515_female_Outer_ExplorationSuit_F01_Types_ExplorationSuit_F01_Caldari.png
21746:
description: Minmatar Exploration Suit Female
iconFile: res:/UI/Asset/mannequin/outer/45516_female_Outer_ExplorationSuit_F01_Types_ExplorationSuit_F01_Minmatar.png
21747:
description: Gallente Exploration Suit Female
iconFile: res:/UI/Asset/mannequin/outer/45517_female_Outer_ExplorationSuit_F01_Types_ExplorationSuit_F01_Gallente.png
21748:
description: Amarr Exploration Suit Female
iconFile: res:/UI/Asset/mannequin/outer/45518_female_Outer_ExplorationSuit_F01_Types_ExplorationSuit_F01_Amarr.png
21749:
description: Caldari Orange Exploration Suit Female
iconFile: res:/UI/Asset/mannequin/outer/45519_female_Outer_ExplorationSuit_F01_Types_ExplorationSuit_F01_CaldariOrange.png
21750:
description: ORE Exploration Suit Female
iconFile: res:/UI/Asset/mannequin/outer/45520_female_Outer_ExplorationSuit_F01_Types_ExplorationSuit_F01_ORE.png
21751:
description: Gallente Exploration Suit Male
iconFile: res:/UI/Asset/mannequin/outer/45521_male_outer_ExplorationSuit_M01_Types_ExplorationSuit_M01_Gallente.png
21752:
description: ORE Exploration Suit Male
iconFile: res:/UI/Asset/mannequin/outer/45522_male_outer_ExplorationSuit_M01_Types_ExplorationSuit_M01_ORE.png
21753:
description: SOE Exploration Suit Male
iconFile: res:/UI/Asset/mannequin/outer/45523_male_outer_ExplorationSuit_M01_Types_ExplorationSuit_M01_SOE.png
21754:
description: Caldari Exploration Suit Male
iconFile: res:/UI/Asset/mannequin/outer/45524_male_outer_ExplorationSuit_M01_Types_ExplorationSuit_M01_Caldari.png
21755:
description: Minmatar Exploration Suit Male
iconFile: res:/UI/Asset/mannequin/outer/45525_male_outer_ExplorationSuit_M01_Types_ExplorationSuit_M01_Minmatar.png
21756:
description: Amarr Exploration Suit Male
iconFile: res:/UI/Asset/mannequin/outer/45526_male_outer_ExplorationSuit_M01_Types_ExplorationSuit_M01_Amarr.png
21757:
description: Caldari Orange Exploration Suit Male
iconFile: res:/UI/Asset/mannequin/outer/45527_male_outer_ExplorationSuit_M01_Types_ExplorationSuit_M01_CaldariOrange.png
21760:
description: Project Discovery Crate Icon
iconFile: res:/UI/Texture/classes/ItemPacks/SplashImages/ProjectDiscoveryPlaceholder.png
21763:
description: 45734_female_TopMiddle_TshirtF01_Types_TshirtF01_Exo.png
iconFile: res:/UI/Asset/mannequin/topmiddle/45734_female_TopMiddle_TshirtF01_Types_TshirtF01_Exo.png
21764:
description: 45735_female_Outer_ExplorationSuit_F01_Types_ExplorationSuit_F01_Exo.png
iconFile: res:/UI/Asset/mannequin/outer/45735_female_Outer_ExplorationSuit_F01_Types_ExplorationSuit_F01_Exo.png
21765:
description: 45737_female_Outer_LabCoatF01_Types_LabCoatF01_Exo.png
iconFile: res:/UI/Asset/mannequin/outer/45737_female_Outer_LabCoatF01_Types_LabCoatF01_Exo.png
21766:
description: 45738_female_Outer_JacketMilF01_Types_JacketMilF01_exo.png
iconFile: res:/UI/Asset/mannequin/outer/45738_female_Outer_JacketMilF01_Types_JacketMilF01_exo.png
21767:
description: 45739_female_hair_HeadWear_Cap_F01_Types_HeadWear_Cap_F01_Exo.png
iconFile: res:/UI/Asset/mannequin/hair/45739_female_hair_HeadWear_Cap_F01_Types_HeadWear_Cap_F01_Exo.png
21768:
description: 45740_male_hair_HeadWear_Cap_M01_Types_HeadWear_Cap_M01_Exo.png
iconFile: res:/UI/Asset/mannequin/hair/45740_male_hair_HeadWear_Cap_M01_Types_HeadWear_Cap_M01_Exo.png
21769:
description: 45741_male_outer_ExplorationSuit_M01_Types_ExplorationSuit_M01_Exo.png
iconFile: res:/UI/Asset/mannequin/outer/45741_male_outer_ExplorationSuit_M01_Types_ExplorationSuit_M01_Exo.png
21770:
description: 45742_male_outer_JacketMilM02_Types_JacketMilM02_exo.png
iconFile: res:/UI/Asset/mannequin/outer/45742_male_outer_JacketMilM02_Types_JacketMilM02_exo.png
21771:
description: 45743_male_TopMiddle_TshirtM01_Types_TshirtM01_Exo.png
iconFile: res:/UI/Asset/mannequin/topmiddle/45743_male_TopMiddle_TshirtM01_Types_TshirtM01_Exo.png
21772:
description: 45744_male_outer_LabCoatM01_Types_LabCoatM01_Exo.png
iconFile: res:/UI/Asset/mannequin/outer/45744_male_outer_LabCoatM01_Types_LabCoatM01_Exo.png
21773:
description: 45745_male_Accessories_Glasses_Glasses_Exo_M01_Types_Glasses_Exo_M01_clear.png
iconFile: res:/UI/Asset/mannequin/accessories_glasses/45745_male_Accessories_Glasses_Glasses_Exo_M01_Types_Glasses_Exo_M01_clear.png
21774:
description: Structure Moon Drilling Service Module
iconFile: res:/UI/Texture/Icons/128_64_1.png
21775:
description: 45736_female_Accessories_Glasses_Glasses_Exo_F01_Types_Glasses_Exo_F01_clear.png
iconFile: res:/UI/Asset/mannequin/accessories_glasses/45736_female_Accessories_Glasses_Glasses_Exo_F01_Types_Glasses_Exo_F01_clear.png
21778:
description: 46038_male_outer_ExplorationSuit_M01_Types_ExplorationSuit_M01_IGC.png
iconFile: res:/UI/Asset/mannequin/outer/46038_male_outer_ExplorationSuit_M01_Types_ExplorationSuit_M01_IGC.png
21779:
description: 46039_female_Outer_ExplorationSuit_F01_Types_ExplorationSuit_F01_IGC.png
iconFile: res:/UI/Asset/mannequin/outer/46039_female_Outer_ExplorationSuit_F01_Types_ExplorationSuit_F01_IGC.png
21780:
description: 46274_male_outer_JacketPrtm01_Types_JacketPrtm01_valkyrie
iconFile: res:/UI/Asset/mannequin/outer/46274_male_outer_JacketPrtm01_Types_JacketPrtm01_valkyrie.png
21781:
description: 46273_female_Outer_JacketPrtF01_Types_JacketPrtF01_valkyrie
iconFile: res:/UI/Asset/mannequin/outer/46273_female_Outer_JacketPrtF01_Types_JacketPrtF01_valkyrie.png
21783:
description: ReactionBackdrop
iconFile: res:/ui/texture/icons/reaction.png
21784:
description: Valkyrie Data Core
iconFile: res:/UI/Texture/Icons/Inventory/dataCore.png
21785:
description: Valkyrie Relic Vault
iconFile: res:/UI/Texture/Icons/Inventory/relicVault.png
21787:
description: refinery rig drill
iconFile: res:/UI/Texture/Icons/Modules/refinery_ChunkStabilization.png
21788:
description: refinery rig reactions
iconFile: res:/UI/Texture/Icons/Modules/refinery_MiningYield.png
21789:
description: refinery reaction module booster
iconFile: res:/UI/Texture/Icons/Modules/refinery_BoosterReactions.png
21790:
description: refinery module hybrid reactions
iconFile: res:/UI/Texture/Icons/Modules/refinery_HybridReactions.png
21791:
description: refinery module adv reactions
iconFile: res:/UI/Texture/Icons/Modules/refinery_T2Reactions.png
21792:
description: moon asteroid ubi
iconFile: res:/UI/Texture/Icons/Inventory/moonAsteroid_R4.png
21793:
description: moon asteroid com
iconFile: res:/UI/Texture/Icons/Inventory/moonAsteroid_R8.png
21794:
description: moon asteroid unc
iconFile: res:/UI/Texture/Icons/Inventory/moonAsteroid_R16.png
21795:
description: moon asteroid rar
iconFile: res:/UI/Texture/Icons/Inventory/moonAsteroid_R32.png
21796:
description: moon asteroid exc
iconFile: res:/UI/Texture/Icons/Inventory/moonAsteroid_R64.png
21797:
description: moon asteroid ubi jkpt
iconFile: res:/UI/Texture/Icons/Inventory/moonAsteroid_JackpotR4.png
21798:
description: moon asteroid com jkpt
iconFile: res:/UI/Texture/Icons/Inventory/moonAsteroid_JackpotR8.png
21799:
description: moon asteroid unc jkpt
iconFile: res:/UI/Texture/Icons/Inventory/moonAsteroid_JackpotR16.png
21800:
description: moon asteroid rar jkpt
iconFile: res:/UI/Texture/Icons/Inventory/moonAsteroid_JackpotR32.png
21801:
description: moon asteroid exc jkpt
iconFile: res:/UI/Texture/Icons/Inventory/moonAsteroid_JackpotR64.png
21802:
description: Icon for the Gallente Resource Wars corporation
iconFile: res:/ui/texture/corps/federalStrategicMateriel.png
21803:
description: Icon for the Amarr Resource Wars corporation
iconFile: res:/ui/texture/corps/imperialWarReserves.png
21804:
description: Icon for the Minmatar Resource Wars corporation
iconFile: res:/ui/texture/corps/republicFleetOrdnance.png
21805:
description: Icon for the Caldari Resource Wars corporation
iconFile: res:/ui/texture/corps/stateMilitaryStockpile.png
21807:
description: 46658_female_Outer_JacketAGF01_Types_JacketAGF01_Gallente_RW.png
iconFile: res:/UI/Asset/mannequin/outer/46658_female_Outer_JacketAGF01_Types_JacketAGF01_Gallente_RW.png
21808:
description: 46659_male_outer_JacketCMM01_Types_JacketCMM01_Caldari.png
iconFile: res:/UI/Asset/mannequin/outer/46659_male_outer_JacketCMM01_Types_JacketCMM01_Caldari.png
21809:
description: 46660_female_Outer_JacketAGF01_Types_JacketAGF01_Gallente.png
iconFile: res:/UI/Asset/mannequin/outer/46660_female_Outer_JacketAGF01_Types_JacketAGF01_Gallente.png
21810:
description: 46661_female_Outer_JacketCMF01_Types_JacketCMF01_Minmatar_RW.png
iconFile: res:/UI/Asset/mannequin/outer/46661_female_Outer_JacketCMF01_Types_JacketCMF01_Minmatar_RW.png
21811:
description: 46662_male_outer_JacketAGM01_Types_JacketAGM01_Amarr.png
iconFile: res:/UI/Asset/mannequin/outer/46662_male_outer_JacketAGM01_Types_JacketAGM01_Amarr.png
21812:
description: 46663_female_Outer_JacketAGF01_Types_JacketAGF01_Amarr.png
iconFile: res:/UI/Asset/mannequin/outer/46663_female_Outer_JacketAGF01_Types_JacketAGF01_Amarr.png
21813:
description: 46664_male_outer_JacketCMM01_Types_JacketCMM01_Minmatar.png
iconFile: res:/UI/Asset/mannequin/outer/46664_male_outer_JacketCMM01_Types_JacketCMM01_Minmatar.png
21814:
description: 46665_male_outer_JacketAGM01_Types_JacketAGM01_Gallente.pn
iconFile: res:/UI/Asset/mannequin/outer/46665_male_outer_JacketAGM01_Types_JacketAGM01_Gallente.png
21815:
description: 46666_male_outer_JacketAGM01_Types_JacketAGM01_Amarr_RW.png
iconFile: res:/UI/Asset/mannequin/outer/46666_male_outer_JacketAGM01_Types_JacketAGM01_Amarr_RW.png
21816:
description: 46667_male_outer_JacketAGM01_Types_JacketAGM01_Gallente_RW.png
iconFile: res:/UI/Asset/mannequin/outer/46667_male_outer_JacketAGM01_Types_JacketAGM01_Gallente_RW.png
21817:
description: 46668_female_Outer_JacketAGF01_Types_JacketAGF01_Amarr_RW.png
iconFile: res:/UI/Asset/mannequin/outer/46668_female_Outer_JacketAGF01_Types_JacketAGF01_Amarr_RW.png
21818:
description: 46669_female_Outer_JacketCMF01_Types_JacketCMF01_Caldari.png
iconFile: res:/UI/Asset/mannequin/outer/46669_female_Outer_JacketCMF01_Types_JacketCMF01_Caldari.png
21819:
description: 46674_male_outer_JacketCMM01_Types_JacketCMM01_Minmatar_RW.png
iconFile: res:/UI/Asset/mannequin/outer/46674_male_outer_JacketCMM01_Types_JacketCMM01_Minmatar_RW.png
21820:
description: 46671_female_Outer_JacketCMF01_Types_JacketCMF01_Caldari_RW.png
iconFile: res:/UI/Asset/mannequin/outer/46671_female_Outer_JacketCMF01_Types_JacketCMF01_Caldari_RW.png
21821:
description: 46672_male_outer_JacketCMM01_Types_JacketCMM01_Caldari_RW.png
iconFile: res:/UI/Asset/mannequin/outer/46672_male_outer_JacketCMM01_Types_JacketCMM01_Caldari_RW.png
21822:
description: 46673_female_Outer_JacketCMF01_Types_JacketCMF01_Minmatar.png
iconFile: res:/UI/Asset/mannequin/outer/46673_female_Outer_JacketCMF01_Types_JacketCMF01_Minmatar.png
21823:
description: Resource Wars Asteroid Icon
iconFile: res:/UI/Texture/Icons/Inventory/rwAsteroid.png
21829:
description: Biochemical materials
iconFile: res:/ui/texture/icons/Inventory/biochemMaterials.png
21830:
description: Amarr RW reward crate icon
iconFile: res:/UI/Texture/Icons/Inventory/crateAmarr.png
21831:
description: Caldari RW reward crate icon
iconFile: res:/UI/Texture/Icons/Inventory/crateCaldari.png
21832:
description: Gallente RW reward crate icon
iconFile: res:/UI/Texture/Icons/Inventory/crateGallente.png
21833:
description: Minmatar RW reward crate icon
iconFile: res:/UI/Texture/Icons/Inventory/crateMinmatar.png

1
scripts/icons.json Normal file

File diff suppressed because one or more lines are too long

View File

@@ -57,10 +57,12 @@ def main(old, new, groups=True, effects=True, attributes=True, renames=True):
implemented = set()
for filename in os.listdir(effectspath):
basename, extension = filename.rsplit('.', 1)
if filename.startswith("_") or not filename.endswith(".py"):
continue
basename, _ = filename.rsplit('.', 1)
# Ignore non-py files and exclude implementation-specific 'effect'
if extension == "py" and basename not in ("__init__",):
implemented.add(basename)
implemented.add(basename)
# Effects' names are used w/o any special symbols by eos
stripspec = "[^A-Za-z0-9]"
@@ -89,15 +91,15 @@ def main(old, new, groups=True, effects=True, attributes=True, renames=True):
dictionary[id] = name
for id in set(old_namedata.keys()).intersection(list(new_namedata.keys())):
oldname = old_namedata[id]
newname = new_namedata[id]
oldname = old_namedata[id] if old_namedata[id] is not None else 'None'
newname = new_namedata[id] if new_namedata[id] is not None else 'None'
if oldname != newname:
ren_dict[id] = (oldname, newname)
return
def printrenames(ren_dict, title, implementedtag=False):
if len(ren_dict) > 0:
print(('\nRenamed ' + title + ':'))
print('\nRenamed ' + title + ':')
for id in sorted(ren_dict):
couple = ren_dict[id]
if implementedtag:
@@ -431,6 +433,9 @@ def main(old, new, groups=True, effects=True, attributes=True, renames=True):
title = 'items'
printrenames(ren_items, title)
print
print
if effects or attributes or groups:
# Print legend only when there're any interesting changes
if len(global_itmdata[S["removed"]]) > 0 or len(global_itmdata[S["changed"]]) > 0 or len(global_itmdata[S["added"]]) > 0:

View File

@@ -190,12 +190,11 @@ def main(db, json_path):
# can do it here - just add them to initial set
eveTypes = set()
for row in data["evetypes"]:
# 1306 - group Ship Modifiers, for items like tactical t3 ship modes
# (3638, 3634, 3636, 3640) - Civilian weapons
# (41549, 41548, 41551, 41550) - Micro Bombs (Fighters)
if (row["published"] or row['groupID'] == 1306
or row['typeID'] in (3638, 3634, 3636, 3640)
or row['typeID'] in (41549, 41548, 41551,41550)):
if (row["published"]
or row['groupID'] == 1306 # group Ship Modifiers, for items like tactical t3 ship modes
or row['typeName'].startswith('Civilian') # Civilian weapons
or row['typeID'] in (41549, 41548, 41551,41550) # Micro Bombs (Fighters)
):
eveTypes.add(row["typeID"])
# ignore checker
@@ -214,6 +213,9 @@ def main(db, json_path):
for row in table:
# We don't care about some kind of rows, filter it out if so
if not isIgnored(jsonName, row):
if jsonName == 'evetypes' and row["typeName"].startswith('Civilian'): # Apparently people really want Civilian modules available
row["published"] = True
instance = tables[jsonName]()
# fix for issue 80
if jsonName is "icons" and "res:/ui/texture/icons/" in str(row["iconFile"]).lower():
@@ -243,6 +245,11 @@ def main(db, json_path):
eos.db.gamedata_session.commit()
# CCP still has 5 subsystems assigned to T3Cs, even though only 4 are available / usable. They probably have some
# old legacy requirement or assumption that makes it difficult for them to change this value in the data. But for
# pyfa, we can do it here as a post-processing step
eos.db.gamedata_engine.execute("UPDATE dgmtypeattribs SET value = 4.0 WHERE attributeID = ?", (1367,))
print("done")
if __name__ == "__main__":

View File

@@ -15,7 +15,7 @@
#define MyAppName "pyfa"
#define MyAppPublisher "pyfa"
#define MyAppURL "https://forums.eveonline.com/default.aspx?g=posts&t=466425&p=1"
#define MyAppURL "https://forums.eveonline.com/t/27156"
#define MyAppExeName "pyfa.exe"
; What version starts with the new structure (1.x.0). This is used to determine if we run directory structure cleanup

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,89 @@
Electronic Subsystem Technology,Core Subsystem Technology
Amarr Electronic Systems,Amarr Core Systems
Gallente Electronic Systems,Gallente Core Systems
Caldari Electronic Systems,Caldari Core Systems
Minmatar Electronic Systems,Minmatar Core Systems
Datacore - Electronic Subsystems Engineering,Datacore - Core Subsystems Engineering
Malfunctioning Electromechanical Component,Malfunctioning Power Cores
Wrecked Electromechanical Component,Wrecked Power Cores
Intact Electromechanical Component,Intact Power Cores
Legion Electronics - Energy Parasitic Complex,Legion Core - Energy Parasitic Complex
Legion Electronics - Tactical Targeting Network,Legion Core - Dissolution Sequencer
Legion Electronics - Dissolution Sequencer,Legion Core - Dissolution Sequencer
Legion Electronics - Emergent Locus Analyzer,Legion Core - Dissolution Sequencer
Tengu Electronics - Obfuscation Manifold,Tengu Core - Obfuscation Manifold
Tengu Electronics - CPU Efficiency Gate,Tengu Core - Electronic Efficiency Gate
Tengu Electronics - Dissolution Sequencer,Tengu Core - Electronic Efficiency Gate
Tengu Electronics - Emergent Locus Analyzer,Tengu Core - Electronic Efficiency Gate
Proteus Electronics - Friction Extension Processor,Proteus Core - Friction Extension Processor
Proteus Electronics - CPU Efficiency Gate,Proteus Core - Electronic Efficiency Gate
Proteus Electronics - Dissolution Sequencer,Proteus Core - Electronic Efficiency Gate
Proteus Electronics - Emergent Locus Analyzer,Proteus Core - Electronic Efficiency Gate
Loki Electronics - Immobility Drivers,Loki Core - Immobility Drivers
Loki Electronics - Tactical Targeting Network,Loki Core - Dissolution Sequencer
Loki Electronics - Dissolution Sequencer,Loki Core - Dissolution Sequencer
Loki Electronics - Emergent Locus Analyzer,Loki Core - Dissolution Sequencer
Tengu Engineering - Power Core Multiplier,Tengu Core - Augmented Graviton Reactor
Tengu Engineering - Augmented Capacitor Reservoir,Tengu Core - Augmented Graviton Reactor
Tengu Engineering - Capacitor Regeneration Matrix,Tengu Core - Augmented Graviton Reactor
Tengu Engineering - Supplemental Coolant Injector,Tengu Core - Obfuscation Manifold
Proteus Engineering - Power Core Multiplier,Proteus Core - Augmented Fusion Reactor
Proteus Engineering - Augmented Capacitor Reservoir,Proteus Core - Augmented Fusion Reactor
Proteus Engineering - Capacitor Regeneration Matrix,Proteus Core - Augmented Fusion Reactor
Proteus Engineering - Supplemental Coolant Injector,Proteus Core - Friction Extension Processor
Loki Engineering - Power Core Multiplier,Loki Core - Augmented Nuclear Reactor
Loki Engineering - Augmented Capacitor Reservoir,Loki Core - Augmented Nuclear Reactor
Loki Engineering - Capacitor Regeneration Matrix,Loki Core - Augmented Nuclear Reactor
Loki Engineering - Supplemental Coolant Injector,Loki Core - Immobility Drivers
Legion Engineering - Power Core Multiplier,Legion Core - Augmented Antimatter Reactor
Legion Engineering - Augmented Capacitor Reservoir,Legion Core - Augmented Antimatter Reactor
Legion Engineering - Capacitor Regeneration Matrix,Legion Core - Augmented Antimatter Reactor
Legion Engineering - Supplemental Coolant Injector,Legion Core - Energy Parasitic Complex
Legion Propulsion - Chassis Optimization,Legion Propulsion - Intercalated Nanofibers
Legion Propulsion - Fuel Catalyst,Legion Propulsion - Wake Limiter
Legion Propulsion - Wake Limiter,Legion Propulsion - Wake Limiter
Legion Propulsion - Interdiction Nullifier,Legion Propulsion - Interdiction Nullifier
Tengu Propulsion - Intercalated Nanofibers,Tengu Propulsion - Chassis Optimization
Tengu Propulsion - Gravitational Capacitor,Tengu Propulsion - Chassis Optimization
Tengu Propulsion - Fuel Catalyst,Tengu Propulsion - Fuel Catalyst
Tengu Propulsion - Interdiction Nullifier,Tengu Propulsion - Interdiction Nullifier
Proteus Propulsion - Wake Limiter,Proteus Propulsion - Localized Injectors
Proteus Propulsion - Localized Injectors,Proteus Propulsion - Localized Injectors
Proteus Propulsion - Gravitational Capacitor,Proteus Propulsion - Hyperspatial Optimization
Proteus Propulsion - Interdiction Nullifier,Proteus Propulsion - Interdiction Nullifier
Loki Propulsion - Chassis Optimization,Loki Propulsion - Intercalated Nanofibers
Loki Propulsion - Intercalated Nanofibers,Loki Propulsion - Intercalated Nanofibers
Loki Propulsion - Fuel Catalyst,Loki Propulsion - Wake Limiter
Loki Propulsion - Interdiction Nullifier,Loki Propulsion - Interdiction Nullifier
Legion Defensive - Adaptive Augmenter,Legion Defensive - Augmented Plating
Legion Defensive - Nanobot Injector,Legion Defensive - Nanobot Injector
Legion Defensive - Augmented Plating,Legion Defensive - Augmented Plating
Legion Defensive - Warfare Processor,Legion Defensive - Augmented Plating
Tengu Defensive - Adaptive Shielding,Tengu Defensive - Supplemental Screening
Tengu Defensive - Amplification Node,Tengu Defensive - Amplification Node
Tengu Defensive - Supplemental Screening,Tengu Defensive - Supplemental Screening
Tengu Defensive - Warfare Processor,Tengu Defensive - Supplemental Screening
Loki Defensive - Adaptive Shielding,Loki Defensive - Augmented Durability
Loki Defensive - Adaptive Augmenter,Loki Defensive - Augmented Durability
Loki Defensive - Amplification Node,Loki Defensive - Adaptive Defense Node
Loki Defensive - Warfare Processor,Loki Defensive - Augmented Durability
Proteus Defensive - Adaptive Augmenter,Proteus Defensive - Augmented Plating
Proteus Defensive - Nanobot Injector,Proteus Defensive - Nanobot Injector
Proteus Defensive - Augmented Plating,Proteus Defensive - Augmented Plating
Proteus Defensive - Warfare Processor,Proteus Defensive - Augmented Plating
Legion Offensive - Drone Synthesis Projector,Legion Offensive - Assault Optimization
Legion Offensive - Assault Optimization,Legion Offensive - Assault Optimization
Legion Offensive - Liquid Crystal Magnifiers,Legion Offensive - Liquid Crystal Magnifiers
Legion Offensive - Covert Reconfiguration,Legion Offensive - Liquid Crystal Magnifiers
Tengu Offensive - Accelerated Ejection Bay,Tengu Offensive - Accelerated Ejection Bay
Tengu Offensive - Rifling Launcher Pattern,Tengu Offensive - Accelerated Ejection Bay
Tengu Offensive - Magnetic Infusion Basin,Tengu Offensive - Magnetic Infusion Basin
Tengu Offensive - Covert Reconfiguration,Tengu Offensive - Accelerated Ejection Bay
Proteus Offensive - Dissonic Encoding Platform,Proteus Offensive - Hybrid Encoding Platform
Proteus Offensive - Hybrid Propulsion Armature,Proteus Offensive - Hybrid Encoding Platform
Proteus Offensive - Drone Synthesis Projector,Proteus Offensive - Drone Synthesis Projector
Proteus Offensive - Covert Reconfiguration,Proteus Offensive - Hybrid Encoding Platform
Loki Offensive - Turret Concurrence Registry,Loki Offensive - Projectile Scoping Array
Loki Offensive - Projectile Scoping Array,Loki Offensive - Projectile Scoping Array
Loki Offensive - Hardpoint Efficiency Configuration,Loki Offensive - Launcher Efficiency Configuration
Loki Offensive - Covert Reconfiguration,Loki Offensive - Projectile Scoping Array
1 Electronic Subsystem Technology Core Subsystem Technology
2 Amarr Electronic Systems Amarr Core Systems
3 Gallente Electronic Systems Gallente Core Systems
4 Caldari Electronic Systems Caldari Core Systems
5 Minmatar Electronic Systems Minmatar Core Systems
6 Datacore - Electronic Subsystems Engineering Datacore - Core Subsystems Engineering
7 Malfunctioning Electromechanical Component Malfunctioning Power Cores
8 Wrecked Electromechanical Component Wrecked Power Cores
9 Intact Electromechanical Component Intact Power Cores
10 Legion Electronics - Energy Parasitic Complex Legion Core - Energy Parasitic Complex
11 Legion Electronics - Tactical Targeting Network Legion Core - Dissolution Sequencer
12 Legion Electronics - Dissolution Sequencer Legion Core - Dissolution Sequencer
13 Legion Electronics - Emergent Locus Analyzer Legion Core - Dissolution Sequencer
14 Tengu Electronics - Obfuscation Manifold Tengu Core - Obfuscation Manifold
15 Tengu Electronics - CPU Efficiency Gate Tengu Core - Electronic Efficiency Gate
16 Tengu Electronics - Dissolution Sequencer Tengu Core - Electronic Efficiency Gate
17 Tengu Electronics - Emergent Locus Analyzer Tengu Core - Electronic Efficiency Gate
18 Proteus Electronics - Friction Extension Processor Proteus Core - Friction Extension Processor
19 Proteus Electronics - CPU Efficiency Gate Proteus Core - Electronic Efficiency Gate
20 Proteus Electronics - Dissolution Sequencer Proteus Core - Electronic Efficiency Gate
21 Proteus Electronics - Emergent Locus Analyzer Proteus Core - Electronic Efficiency Gate
22 Loki Electronics - Immobility Drivers Loki Core - Immobility Drivers
23 Loki Electronics - Tactical Targeting Network Loki Core - Dissolution Sequencer
24 Loki Electronics - Dissolution Sequencer Loki Core - Dissolution Sequencer
25 Loki Electronics - Emergent Locus Analyzer Loki Core - Dissolution Sequencer
26 Tengu Engineering - Power Core Multiplier Tengu Core - Augmented Graviton Reactor
27 Tengu Engineering - Augmented Capacitor Reservoir Tengu Core - Augmented Graviton Reactor
28 Tengu Engineering - Capacitor Regeneration Matrix Tengu Core - Augmented Graviton Reactor
29 Tengu Engineering - Supplemental Coolant Injector Tengu Core - Obfuscation Manifold
30 Proteus Engineering - Power Core Multiplier Proteus Core - Augmented Fusion Reactor
31 Proteus Engineering - Augmented Capacitor Reservoir Proteus Core - Augmented Fusion Reactor
32 Proteus Engineering - Capacitor Regeneration Matrix Proteus Core - Augmented Fusion Reactor
33 Proteus Engineering - Supplemental Coolant Injector Proteus Core - Friction Extension Processor
34 Loki Engineering - Power Core Multiplier Loki Core - Augmented Nuclear Reactor
35 Loki Engineering - Augmented Capacitor Reservoir Loki Core - Augmented Nuclear Reactor
36 Loki Engineering - Capacitor Regeneration Matrix Loki Core - Augmented Nuclear Reactor
37 Loki Engineering - Supplemental Coolant Injector Loki Core - Immobility Drivers
38 Legion Engineering - Power Core Multiplier Legion Core - Augmented Antimatter Reactor
39 Legion Engineering - Augmented Capacitor Reservoir Legion Core - Augmented Antimatter Reactor
40 Legion Engineering - Capacitor Regeneration Matrix Legion Core - Augmented Antimatter Reactor
41 Legion Engineering - Supplemental Coolant Injector Legion Core - Energy Parasitic Complex
42 Legion Propulsion - Chassis Optimization Legion Propulsion - Intercalated Nanofibers
43 Legion Propulsion - Fuel Catalyst Legion Propulsion - Wake Limiter
44 Legion Propulsion - Wake Limiter Legion Propulsion - Wake Limiter
45 Legion Propulsion - Interdiction Nullifier Legion Propulsion - Interdiction Nullifier
46 Tengu Propulsion - Intercalated Nanofibers Tengu Propulsion - Chassis Optimization
47 Tengu Propulsion - Gravitational Capacitor Tengu Propulsion - Chassis Optimization
48 Tengu Propulsion - Fuel Catalyst Tengu Propulsion - Fuel Catalyst
49 Tengu Propulsion - Interdiction Nullifier Tengu Propulsion - Interdiction Nullifier
50 Proteus Propulsion - Wake Limiter Proteus Propulsion - Localized Injectors
51 Proteus Propulsion - Localized Injectors Proteus Propulsion - Localized Injectors
52 Proteus Propulsion - Gravitational Capacitor Proteus Propulsion - Hyperspatial Optimization
53 Proteus Propulsion - Interdiction Nullifier Proteus Propulsion - Interdiction Nullifier
54 Loki Propulsion - Chassis Optimization Loki Propulsion - Intercalated Nanofibers
55 Loki Propulsion - Intercalated Nanofibers Loki Propulsion - Intercalated Nanofibers
56 Loki Propulsion - Fuel Catalyst Loki Propulsion - Wake Limiter
57 Loki Propulsion - Interdiction Nullifier Loki Propulsion - Interdiction Nullifier
58 Legion Defensive - Adaptive Augmenter Legion Defensive - Augmented Plating
59 Legion Defensive - Nanobot Injector Legion Defensive - Nanobot Injector
60 Legion Defensive - Augmented Plating Legion Defensive - Augmented Plating
61 Legion Defensive - Warfare Processor Legion Defensive - Augmented Plating
62 Tengu Defensive - Adaptive Shielding Tengu Defensive - Supplemental Screening
63 Tengu Defensive - Amplification Node Tengu Defensive - Amplification Node
64 Tengu Defensive - Supplemental Screening Tengu Defensive - Supplemental Screening
65 Tengu Defensive - Warfare Processor Tengu Defensive - Supplemental Screening
66 Loki Defensive - Adaptive Shielding Loki Defensive - Augmented Durability
67 Loki Defensive - Adaptive Augmenter Loki Defensive - Augmented Durability
68 Loki Defensive - Amplification Node Loki Defensive - Adaptive Defense Node
69 Loki Defensive - Warfare Processor Loki Defensive - Augmented Durability
70 Proteus Defensive - Adaptive Augmenter Proteus Defensive - Augmented Plating
71 Proteus Defensive - Nanobot Injector Proteus Defensive - Nanobot Injector
72 Proteus Defensive - Augmented Plating Proteus Defensive - Augmented Plating
73 Proteus Defensive - Warfare Processor Proteus Defensive - Augmented Plating
74 Legion Offensive - Drone Synthesis Projector Legion Offensive - Assault Optimization
75 Legion Offensive - Assault Optimization Legion Offensive - Assault Optimization
76 Legion Offensive - Liquid Crystal Magnifiers Legion Offensive - Liquid Crystal Magnifiers
77 Legion Offensive - Covert Reconfiguration Legion Offensive - Liquid Crystal Magnifiers
78 Tengu Offensive - Accelerated Ejection Bay Tengu Offensive - Accelerated Ejection Bay
79 Tengu Offensive - Rifling Launcher Pattern Tengu Offensive - Accelerated Ejection Bay
80 Tengu Offensive - Magnetic Infusion Basin Tengu Offensive - Magnetic Infusion Basin
81 Tengu Offensive - Covert Reconfiguration Tengu Offensive - Accelerated Ejection Bay
82 Proteus Offensive - Dissonic Encoding Platform Proteus Offensive - Hybrid Encoding Platform
83 Proteus Offensive - Hybrid Propulsion Armature Proteus Offensive - Hybrid Encoding Platform
84 Proteus Offensive - Drone Synthesis Projector Proteus Offensive - Drone Synthesis Projector
85 Proteus Offensive - Covert Reconfiguration Proteus Offensive - Hybrid Encoding Platform
86 Loki Offensive - Turret Concurrence Registry Loki Offensive - Projectile Scoping Array
87 Loki Offensive - Projectile Scoping Array Loki Offensive - Projectile Scoping Array
88 Loki Offensive - Hardpoint Efficiency Configuration Loki Offensive - Launcher Efficiency Configuration
89 Loki Offensive - Covert Reconfiguration Loki Offensive - Projectile Scoping Array

48
scripts/t3conversions.py Normal file
View File

@@ -0,0 +1,48 @@
# Prints out a fucking large python dictionary for use with the t3c conversion migration.\
# Requires eve-old.db file (which is the previous releases database so that we can lookup the old items)
# See https://community.eveonline.com/news/patch-notes/patch-notes-for-july-2017-release
import sys
from os.path import realpath, join, dirname, abspath
from sqlalchemy import MetaData, create_engine
from sqlalchemy.orm import sessionmaker
import csv
newDB = create_engine('sqlite:///' + unicode(realpath(join(dirname(abspath(__file__)), "..", "eve.db")), sys.getfilesystemencoding()))
oldDB = create_engine('sqlite:///' + unicode(realpath(join(dirname(abspath(__file__)), "..", "eve-old.db")), sys.getfilesystemencoding()))
oldItemMapping = {}
newItemMapping = {}
with open('t3conversionSheet.csv', 'r') as f:
reader = csv.reader(f)
print "conversion = {"
for row in reader:
fromList = []
toList = []
for x in xrange(1, 6):
try:
if (row[0], row[x]) not in oldItemMapping:
item = oldDB.execute("SELECT * FROM invtypes WHERE typeName LIKE ?", ("{}%{}".format(row[0], row[x]),)).first()
oldItemMapping[(row[0], row[x])] = item['typeID']
fromList.append(str(oldItemMapping[(row[0], row[x])]))
except:
pass
for x in xrange(6, 10):
if row[x] not in newItemMapping:
item = newDB.execute("SELECT * FROM invtypes WHERE typeName = ?",
(row[x],)).first()
newItemMapping[row[x]] = item['typeID']
toList.append(str(newItemMapping[row[x]]))
print "\tfrozenset([{}]): ({}),".format(','.join(fromList), ','.join(toList))
print "}"
with open('t3conversionSheetLoose.csv', 'r') as f:
reader = csv.reader(f)
print "conversion2 = {"
for row in reader:
oldItem = oldDB.execute("SELECT typeID FROM invtypes WHERE typeName = ?", (row[0],)).scalar()
newItem = newDB.execute("SELECT typeID FROM invtypes WHERE typeName = ?", (row[1],)).scalar()
print "\t{}: {},".format(oldItem, newItem)
print "}"