mirror of
https://github.com/EDCD/EDMarketConnector.git
synced 2025-04-18 09:57:40 +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
|
# Modules that have a name as well as a group
|
||||||
bulkheads = outfitting.armour_map.values()
|
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()]
|
countermeasures = [x[0] for x in outfitting.countermeasure_map.values()]
|
||||||
fixup_map = {
|
fixup_map = {
|
||||||
'Advanced Plasma Accelerator' : ('Plasma Accelerator', 'Advanced Plasma Accelerator'),
|
'Advanced Plasma Accelerator' : ('Plasma Accelerator', 'Advanced Plasma Accelerator'),
|
||||||
@ -134,15 +134,15 @@ def export(data):
|
|||||||
loadout['components'][category][standard_map[module['name']]] = thing
|
loadout['components'][category][standard_map[module['name']]] = thing
|
||||||
else:
|
else:
|
||||||
# All other items have a "group" member, some also have a "name"
|
# 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['group'] = 'Scanner'
|
||||||
thing['name'] = module['name']
|
thing['name'] = module['name']
|
||||||
elif module['name'] in countermeasures:
|
elif module['name'] in countermeasures:
|
||||||
thing['group'] = 'Countermeasure'
|
thing['group'] = 'Countermeasure'
|
||||||
thing['name'] = module['name']
|
thing['name'] = module['name']
|
||||||
elif module['name'] in fixup_map:
|
|
||||||
thing['group'], name = fixup_map[module['name']]
|
|
||||||
if name: thing['name'] = name
|
|
||||||
else:
|
else:
|
||||||
thing['group'] = module['name']
|
thing['group'] = module['name']
|
||||||
|
|
||||||
|
@ -174,6 +174,14 @@ rating_map = {
|
|||||||
'5': 'A',
|
'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 = {
|
standard_map = {
|
||||||
# 'armour' : handled separately
|
# 'armour' : handled separately
|
||||||
'engine' : 'Thrusters',
|
'engine' : 'Thrusters',
|
||||||
@ -185,13 +193,6 @@ standard_map = {
|
|||||||
'sensors' : 'Sensors',
|
'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 = {
|
internal_map = {
|
||||||
'cargorack' : 'Cargo Rack',
|
'cargorack' : 'Cargo Rack',
|
||||||
'collection' : 'Collector Limpet Controller',
|
'collection' : 'Collector Limpet Controller',
|
||||||
@ -280,28 +281,22 @@ def lookup(module):
|
|||||||
elif name[0]=='hpt':
|
elif name[0]=='hpt':
|
||||||
raise AssertionError('%s: Unknown weapon "%s"' % (module['id'], name[1]))
|
raise AssertionError('%s: Unknown weapon "%s"' % (module['id'], name[1]))
|
||||||
|
|
||||||
# Stellar scanners - e.g. Int_StellarBodyDiscoveryScanner_Standard
|
elif name[0]!='int':
|
||||||
elif name[1] in ['stellarbodydiscoveryscanner', 'detailedsurfacescanner']:
|
raise AssertionError('%s: Unknown prefix "%s"' % (module['id'], name[0]))
|
||||||
new['category'] = 'internal'
|
|
||||||
new['name'], new['rating'] = stellar_map[name[2]]
|
|
||||||
new['class'] = '1'
|
|
||||||
|
|
||||||
# Docking Computer - e.g. Int_DockingComputer_Standard
|
# Miscellaneous Class 1 - e.g. Int_StellarBodyDiscoveryScanner_Advanced, Int_DockingComputer_Standard
|
||||||
elif name[1] == 'dockingcomputer' and name[2] == '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['category'] = 'internal'
|
||||||
new['name'] = 'Standard Docking Computer'
|
new['name'], new['rating'] = misc_internal_map[(name[1],name[2])]
|
||||||
new['class'] = '1'
|
new['class'] = '1'
|
||||||
new['rating'] = 'E'
|
|
||||||
|
|
||||||
# Standard & Internal
|
# Standard & Internal
|
||||||
else:
|
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
|
if name[1] == 'dronecontrol': # e.g. Int_DroneControl_Collection_Size1_Class1
|
||||||
name.pop(0)
|
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['category'] = 'standard'
|
||||||
new['name'] = standard_map[len(name)>4 and (name[1],name[4]) or name[1]]
|
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
|
elif name[1] in internal_map: # e.g. Int_CargoRack_Size8_Class1
|
||||||
|
Loading…
x
Reference in New Issue
Block a user