• Welcome to the Kancolle Wiki!
  • If you have any questions regarding site content, account registration, etc., please visit the KanColle Wiki Discord

Changes

Jump to navigation Jump to search
Return a bare bones ShipData instead when module require fails.
Line 15: Line 15:  
model = ""
 
model = ""
 
end
 
end
 +
--check if we already have it
 
if ships[name] and ships[name][model] then
 
if ships[name] and ships[name][model] then
 
return ships[name][model]
 
return ships[name][model]
 
else
 
else
local ship_table = require(mw.ustring.format('Module:%s', name))
+
--Catch a failed require
local ship = ShipData(ship_table[model])
+
local success, ship_table = pcall(function () return require(mw.ustring.format('Module:%s', name)) end)
 +
--require succeeded
 +
if success then
 +
ship_table = ship_table[model]
 +
if not ship_table then
 +
--create a ShipData with what we have
 +
ship_table = {_name = name, _suffix = model}
 +
end
 +
--require failed
 +
else
 +
--create a ShipData with what we have
 +
ship_table = {_name = name, _suffix = model}
 +
end
 +
local ship = ShipData(ship_table)
 
if not ships[name] then
 
if not ships[name] then
 
ships[name] = {}
 
ships[name] = {}
Anonymous user

Navigation menu