Changes

no edit summary
Line 9: Line 9:  
}
 
}
    +
--Return the full name of the ship.
 
function ShipData:name()
 
function ShipData:name()
 
local suffix = self:display_suffix()
 
local suffix = self:display_suffix()
Line 18: Line 19:  
end
 
end
    +
--Return the unique name of the ship.
 +
--Differs from name() for some boss enemies that have a legacy role suffix,
 +
--which isn't shown for unique_name().
 
function ShipData:unique_name()
 
function ShipData:unique_name()
 
local suffix = self:suffix()
 
local suffix = self:suffix()
Line 27: Line 31:  
end
 
end
    +
--Return the name of the module containing this ship.
 +
--Note: This is pretty iffy. Try not to use it, it's badly defined.
 
function ShipData:module_name()
 
function ShipData:module_name()
 
if self._module_name then
 
if self._module_name then
Line 34: Line 40:  
end
 
end
    +
--The base name of the ship.
 
function ShipData:base_name()
 
function ShipData:base_name()
 
return self._name
 
return self._name
 
end
 
end
    +
--The suffix of the ship. Does not include legacy role suffixes.
 
function ShipData:suffix()
 
function ShipData:suffix()
 
return self._suffix
 
return self._suffix
 
end
 
end
    +
--The suffix of the ship. Includes legacy role suffixes.
 
function ShipData:display_suffix()
 
function ShipData:display_suffix()
 
if self._display_suffix ~= nil then
 
if self._display_suffix ~= nil then
Line 49: Line 58:  
end
 
end
    +
--A group of values passable to Formatting:format_link() to create a wikitext link to this ship.
 
function ShipData:link()
 
function ShipData:link()
 
if self._page then
 
if self._page then
Line 57: Line 67:  
end
 
end
    +
--A group of values passable to Formatting:format_link() to create a wikitext link to the base page of this ship.
 +
--E.g. Shigure instead of Shigure Kai Ni.
 
function ShipData:base_link()
 
function ShipData:base_link()
 
if self._page then
 
if self._page then
Line 560: Line 572:  
function ShipData:seasonal()
 
function ShipData:seasonal()
 
return self._seasonal
 
return self._seasonal
 +
end
 +
 +
--The voice actor for this ship. A string, or nil if unknown.
 +
--EXPERIMENTAL, DO NOT USE. Spec for this feature may rapidly change.
 +
function ShipData:voice_actor()
 +
if self._voice_actor ~= nil then
 +
return self._voice_actor
 +
elseif self._voice_actor_reference or self:remodel_from() then
 +
Ship = Ship or require(self._constructor_module)
 +
return Ship:create_from_reference(self._voice_actor_reference or self:remodel_from(), self):voice_actor()
 +
end
 +
    return self._voice_actor
 +
end
 +
 +
--The artist for this ship. A string, or nil if unknown.
 +
--EXPERIMENTAL, DO NOT USE. Spec for this feature may rapidly change.
 +
function ShipData:artist()
 +
if self._artist ~= nil then
 +
return self._artist
 +
elseif self._artist_reference or self:remodel_from() then
 +
Ship = Ship or require(self._constructor_module)
 +
return Ship:create_from_reference(self._artist_reference or self:remodel_from(), self):artist()
 +
end
 +
    return self._artist
 +
end
 +
 +
--The availability for this ship.
 +
--false = not available.
 +
--nil = unknown.
 +
--Otherwise a table with obtainment methods under numeric keys and optional detailed data under the obtainment method key.
 +
--E.g. {"buildable", "drop", "event_reward", "event_drop",
 +
--      drop = {{1/*world*/, 4/*map*/, "B"/*node*/, 3/*formation (optional)*/}, {3, 2, "A"}},
 +
--      event_reward = {{2016/*year*/, 4/*1 = winter, 4 = spring, 7 = summer, 10 = fall*/, 5/*map*/}},
 +
--      event_drop = {{2016, 4, 7, "N"}}}
 +
--EXPERIMENTAL, DO NOT USE. Spec for this feature may rapidly change.
 +
function ShipData:availability()
 +
    if self:remodel_from() then
 +
Ship = Ship or require(self._constructor_module)
 +
return Ship:create_from_reference(self:remodel_from(), self):availability()
 +
else
 +
    local availability = self._availability or {}
 +
    if self:buildable() then
 +
        table.insert(availability, "buildable")
 +
    end
 +
    if self:buildable_lsc() then
 +
        table.insert(availability, "lsc")
 +
    end
 +
    if #availability == 0 then
 +
        return self._availability
 +
    end
 +
        return availability
 +
end
 +
end
 +
 +
--The implementation date for this ship. A 3-tuple of year, month, day (JST) as a table, or nil if unknown.
 +
--EXPERIMENTAL, DO NOT USE. Spec for this feature may rapidly change.
 +
function ShipData:implementation_date()
 +
if self._implementation_date ~= nil then
 +
return self._implementation_date
 +
elseif self._implementation_date_reference or self:remodel_from() then
 +
Ship = Ship or require(self._constructor_module)
 +
return Ship:create_from_reference(self._implementation_date_reference or self:remodel_from(), self):implementation_date()
 +
end
 +
    return self._implementation_date
 
end
 
end
  
Anonymous user