Changes

no edit summary
Line 4: Line 4:  
-- TODO: Get stats from Module:Data/Ship instead of relying on Module:ELiteShipsKai to retrieve from Module:Data/Ships/<ShipName>
 
-- TODO: Get stats from Module:Data/Ship instead of relying on Module:ELiteShipsKai to retrieve from Module:Data/Ships/<ShipName>
 
-- TODO: Automate coloring without Module:EliteShipsKai
 
-- TODO: Automate coloring without Module:EliteShipsKai
 +
-- TODO: Handle equipment
    
local ListOfSortable = {}
 
local ListOfSortable = {}
Line 15: Line 16:  
}
 
}
   −
local function GenerateTable(shipClass, remodelSuffix, notes, coloring, ...)
+
local function GenerateTable(equipmentOrShip, itemType, remodelSuffix, notes, coloring, ...)
local shipClass = shipClass or frame.args[1] or "??"
+
local success,data
local success, data = U.loadData("Data/Ship")
+
if equipmentOrShip == 'Equipment' then
if not success then return "No data for ships: " .. shipClass end
+
success, data = U.loadData("Data/Equipment")
 +
elseif equipmentOrShip == "Ship" then
 +
success, data = U.loadData("Data/Ship")
 +
else
 +
return "Invalid equipOrShip value: " .. equipOrShip
 +
end
 +
if not success then return "No data for ships: " .. itemType end
 
 
 
local result = string.format(template.header)
 
local result = string.format(template.header)
Line 30: Line 37:  
 
 
for k, v in pairs(data) do
 
for k, v in pairs(data) do
if v.type == shipClass and v.remodellv ~= '' then
+
if v.type == itemType and v.remodellv ~= '' then
 
local name = v.name[3]
 
local name = v.name[3]
 
local success = 0
 
local success = 0
Line 55: Line 62:     
function ListOfSortable.ParseAndGenerate(frame)
 
function ListOfSortable.ParseAndGenerate(frame)
local shipClass = {}
+
local equipmentOrShip = {}
if frame.args['shipClass']   ~= nil then shipClass = frame.args['shipClass'] end
+
if frame.args['equipmentOrShip'] ~= nil then equipmentOrShip = frame.args['equipmentOrShip'] end
 +
local itemType = {}
 +
if frame.args['itemType']     ~= nil then itemType        = frame.args['itemType'] end
 
local remodelSuffix = {}
 
local remodelSuffix = {}
if frame.args['remodelSuffix'] ~= nil then remodelSuffix = U.split(frame.args['remodelSuffix'], ',') end
+
if frame.args['remodelSuffix']   ~= nil then remodelSuffix   = U.split(frame.args['remodelSuffix'], ',') end
 
local notes = {}
 
local notes = {}
if frame.args['notes']   ~= nil then notes = U.split(frame.args['notes'], ',\n') end
+
if frame.args['notes']     ~= nil then notes     = U.split(frame.args['notes'], ',\n') end
 
local coloring = {}
 
local coloring = {}
if frame.args['coloring']   ~= nil then coloring = U.split(frame.args['coloring'], ',\n') end
+
if frame.args['coloring']     ~= nil then coloring     = U.split(frame.args['coloring'], ',\n') end
 
 
return GenerateTable(shipClass, remodelSuffix, notes, coloring)
+
return GenerateTable(equipmentOrShip, itemType, remodelSuffix, notes, coloring)
 
end
 
end
   Line 107: Line 116:  
-- "ammo_operator = <",
 
-- "ammo_operator = <",
 
-- "reference_type = 2"}))
 
-- "reference_type = 2"}))
 +
 +
local frame = {}
 +
frame.args = {}
 +
frame.args['equipmentOrShip'] = "Equipment"
 +
frame.args['itemType'] = "Small Caliber Main Gun"
 +
frame.args['itemType'] = "Destroyer"
 +
frame.args['remodelSuffix'] = ""
 +
frame.args['notes'] = ""
 +
frame.args['coloring'] = ""
 +
mw.log(ListOfSortable.ParseAndGenerate(frame))
 
 
 
local frame = {}
 
local frame = {}
 
frame.args = {}
 
frame.args = {}
frame.args['shipClass'] = "Destroyer"
+
frame.args['equipmentOrShip'] = "Ship"
 +
frame.args['itemType'] = "Destroyer"
 
frame.args['remodelSuffix'] = "B Kai,D Kai,Mk.II,Zwei,Kai"
 
frame.args['remodelSuffix'] = "B Kai,D Kai,Mk.II,Zwei,Kai"
 
frame.args['notes'] = "Mikazuki/Kai_notes = Can equip [[Daihatsu Landing Craft|Daihatsu]],\nMutsuki/Kai Ni_notes = 2nd remodel. Can equip [[Daihatsu Landing Craft|Daihatsu]],\nKisaragi/Kai Ni_notes = 2nd remodel. Can equip [[Daihatsu Landing Craft|Daihatsu]],\nSatsuki/Kai Ni_notes = 2nd remodel. Can equip [[Daihatsu Landing Craft|Daihatsu]] & [[Special Type 2 Amphibious Landing Craft|Type 2 Landing Craft]],\nFumizuki/Kai Ni_notes = 2nd remodel. Can equip [[Daihatsu Landing Craft|Daihatsu]] & [[Special Type 2 Amphibious Landing Craft|Type 2 Landing Craft]]"
 
frame.args['notes'] = "Mikazuki/Kai_notes = Can equip [[Daihatsu Landing Craft|Daihatsu]],\nMutsuki/Kai Ni_notes = 2nd remodel. Can equip [[Daihatsu Landing Craft|Daihatsu]],\nKisaragi/Kai Ni_notes = 2nd remodel. Can equip [[Daihatsu Landing Craft|Daihatsu]],\nSatsuki/Kai Ni_notes = 2nd remodel. Can equip [[Daihatsu Landing Craft|Daihatsu]] & [[Special Type 2 Amphibious Landing Craft|Type 2 Landing Craft]],\nFumizuki/Kai Ni_notes = 2nd remodel. Can equip [[Daihatsu Landing Craft|Daihatsu]] & [[Special Type 2 Amphibious Landing Craft|Type 2 Landing Craft]]"
Line 117: Line 137:  
end
 
end
   −
--return { render = render, test = test } --swap comments to test
+
return { render = render, test = test } --swap comments to test
return ListOfSortable
+
--return ListOfSortable
    
-- TEST: p.test()
 
-- TEST: p.test()
1,031

edits