Changes

no edit summary
Line 631: Line 631:  
function EquipmentData:gun_fit_group()
 
function EquipmentData:gun_fit_group()
 
return self._gun_fit_group
 
return self._gun_fit_group
 +
end
 +
 +
function EquipmentData:_load_compatibility()
 +
if not EquipmentCompatibility then
 +
EquipmentCompatibility = mw.loadData('Module:Data/EquipmentRefit')
 +
end
 +
end
 +
 +
local function convert_compatibility(compatibility_table, equipment_type, name)
 +
local value = compatibility_table[name] or compatibility_table[equipment_type]
 +
return value == true and 1 or type(value) == 'string' and {value = 2, note = value, code = value} or 0
 
end
 
end
    
function EquipmentData:equippable(ship_type)
 
function EquipmentData:equippable(ship_type)
 
self:_load_compatibility()
 
self:_load_compatibility()
local equipment_type = self:type()
  −
local name = self:name()
   
if not ship_type then
 
if not ship_type then
 
local result = {}
 
local result = {}
 
for ship_type, compatibility_table in pairs(EquipmentCompatibility) do
 
for ship_type, compatibility_table in pairs(EquipmentCompatibility) do
result[ship_type] = compatibility_table[name] or compatibility_table[equipment_type] or 0
+
result[ship_type] = convert_compatibility(compatibility_table, self:type(), self:name())
 
end
 
end
 
return result
 
return result
 +
end
 +
local compatibility_table = EquipmentCompatibility[ship_type]
 +
if not compatibility_table then
 +
return nil
 +
end
 +
local compatibility = convert_compatibility(compatibility_table, self:type(), self:name())
 +
if type(compatibility) ~= "table" then
 +
return compatibility
 
else
 
else
local compatibility_table = EquipmentCompatibility[ship_type]
+
return compatibility.value, compatibility.note
if compatibility_table then
  −
local compatibility = compatibility_table[name] or compatibility_table[equipment_type] or 0
  −
if type(compatibility) ~= "table" then
  −
return compatibility
  −
else
  −
return compatibility.value, compatibility.note
  −
end
  −
end
  −
end
  −
end
  −
 
  −
function EquipmentData:_load_compatibility()
  −
if not EquipmentCompatibility then
  −
EquipmentCompatibility = mw.loadData('Module:EquipmentCompatibility')
   
end
 
end
 
end
 
end
cssedit, gkautomate
7,064

edits