mirror of
https://github.com/EDCD/EDMarketConnector.git
synced 2025-04-15 08:40:34 +03:00
Tidy up handling of Discovery Scanners and Docking Computer.
This commit is contained in:
parent
69466eb26e
commit
2cb27ddc0e
10
coriolis.py
10
coriolis.py
@ -57,7 +57,7 @@ weaponmount_map = {
|
||||
|
||||
# Modules that have a name as well as a group
|
||||
bulkheads = outfitting.armour_map.values()
|
||||
scanners = [x[0] for x in outfitting.stellar_map.values()]
|
||||
scanners = [x[0] for x in outfitting.misc_internal_map.values()]
|
||||
countermeasures = [x[0] for x in outfitting.countermeasure_map.values()]
|
||||
fixup_map = {
|
||||
'Advanced Plasma Accelerator' : ('Plasma Accelerator', 'Advanced Plasma Accelerator'),
|
||||
@ -134,15 +134,15 @@ def export(data):
|
||||
loadout['components'][category][standard_map[module['name']]] = thing
|
||||
else:
|
||||
# All other items have a "group" member, some also have a "name"
|
||||
if module['name'] in scanners:
|
||||
if module['name'] in fixup_map:
|
||||
thing['group'], name = fixup_map[module['name']]
|
||||
if name: thing['name'] = name
|
||||
elif module['name'] in scanners:
|
||||
thing['group'] = 'Scanner'
|
||||
thing['name'] = module['name']
|
||||
elif module['name'] in countermeasures:
|
||||
thing['group'] = 'Countermeasure'
|
||||
thing['name'] = module['name']
|
||||
elif module['name'] in fixup_map:
|
||||
thing['group'], name = fixup_map[module['name']]
|
||||
if name: thing['name'] = name
|
||||
else:
|
||||
thing['group'] = module['name']
|
||||
|
||||
|
@ -174,6 +174,14 @@ rating_map = {
|
||||
'5': 'A',
|
||||
}
|
||||
|
||||
misc_internal_map = {
|
||||
('detailedsurfacescanner', 'tiny') : ('Detailed Surface Scanner', 'C'),
|
||||
('dockingcomputer', 'standard') : ('Standard Docking Computer', 'E'),
|
||||
('stellarbodydiscoveryscanner', 'standard') : ('Basic Discovery Scanner', 'E'),
|
||||
('stellarbodydiscoveryscanner', 'intermediate') : ('Intermediate Discovery Scanner', 'D'),
|
||||
('stellarbodydiscoveryscanner', 'advanced') : ('Advanced Discovery Scanner', 'C'),
|
||||
}
|
||||
|
||||
standard_map = {
|
||||
# 'armour' : handled separately
|
||||
'engine' : 'Thrusters',
|
||||
@ -185,13 +193,6 @@ standard_map = {
|
||||
'sensors' : 'Sensors',
|
||||
}
|
||||
|
||||
stellar_map = {
|
||||
'standard' : ('Basic Discovery Scanner', 'E'),
|
||||
'intermediate' : ('Intermediate Discovery Scanner', 'D'),
|
||||
'advanced' : ('Advanced Discovery Scanner', 'C'),
|
||||
'tiny' : ('Detailed Surface Scanner', 'C'),
|
||||
}
|
||||
|
||||
internal_map = {
|
||||
'cargorack' : 'Cargo Rack',
|
||||
'collection' : 'Collector Limpet Controller',
|
||||
@ -280,28 +281,22 @@ def lookup(module):
|
||||
elif name[0]=='hpt':
|
||||
raise AssertionError('%s: Unknown weapon "%s"' % (module['id'], name[1]))
|
||||
|
||||
# Stellar scanners - e.g. Int_StellarBodyDiscoveryScanner_Standard
|
||||
elif name[1] in ['stellarbodydiscoveryscanner', 'detailedsurfacescanner']:
|
||||
new['category'] = 'internal'
|
||||
new['name'], new['rating'] = stellar_map[name[2]]
|
||||
new['class'] = '1'
|
||||
elif name[0]!='int':
|
||||
raise AssertionError('%s: Unknown prefix "%s"' % (module['id'], name[0]))
|
||||
|
||||
# Docking Computer - e.g. Int_DockingComputer_Standard
|
||||
elif name[1] == 'dockingcomputer' and name[2] == 'standard':
|
||||
# Miscellaneous Class 1 - e.g. Int_StellarBodyDiscoveryScanner_Advanced, Int_DockingComputer_Standard
|
||||
elif (name[1],name[2]) in misc_internal_map:
|
||||
# Reported category is not necessarily helpful. e.g. "Int_DockingComputer_Standard" has category "utility"
|
||||
new['category'] = 'internal'
|
||||
new['name'] = 'Standard Docking Computer'
|
||||
new['name'], new['rating'] = misc_internal_map[(name[1],name[2])]
|
||||
new['class'] = '1'
|
||||
new['rating'] = 'E'
|
||||
|
||||
# Standard & Internal
|
||||
else:
|
||||
# Reported category is not necessarily helpful. e.g. "Int_DockingComputer_Standard" has category "utility"
|
||||
if name[0] != 'int': raise AssertionError('%s: Unknown prefix "%s"' % (module['id'], name[0]))
|
||||
|
||||
if name[1] == 'dronecontrol': # e.g. Int_DroneControl_Collection_Size1_Class1
|
||||
name.pop(0)
|
||||
|
||||
if name[1] in standard_map: # e.g. Int_Engine_Size2_Class1
|
||||
if name[1] in standard_map: # e.g. Int_Engine_Size2_Class1, Int_ShieldGenerator_Size8_Class5_Strong
|
||||
new['category'] = 'standard'
|
||||
new['name'] = standard_map[len(name)>4 and (name[1],name[4]) or name[1]]
|
||||
elif name[1] in internal_map: # e.g. Int_CargoRack_Size8_Class1
|
||||
|
Loading…
x
Reference in New Issue
Block a user