Module:Ships data
Ship data for Corsair Cove: 29 ships, schema validated at load time.
Use from other modules and templates via #invoke or require:
local ships_data = require("Module:Ships_data")
Functions
Important: Do not mutate returned tables. To save performance, the tables are not copied first. Modifications to the returned values will contaminate other uses of those tables.
get_ship_by_name
Returns one ship record, or nil if the name isn't found.
local ship = ships_data.get_ship_by_name("Landlubber")
Name must match exactly, including spaces, for example "Iron Fist".
get_ship_by_index
Returns the ship record at that position in canonical order, or nil if out of range. Canonical order is from Tier 1 to 6, clockwise starting from the top around the Compass.
local ship = ships_data.get_ship_by_index(1)
get_all_ships
Returns the full array of ship records, in canonical order. Canonical order is from Tier 1 to 6, clockwise starting from the top around the Compass.
for i, ship in ipairs(ships_data.get_all_ships()) do ... end
get_count_of_ships
Returns the number of ships.
for i = 1, ships_data.get_count_of_ships() do local ship = ships_data.get_ship_by_index(i) end
get_ship_class_description
Flavour text for the class of ship, aligned with the Principle Paths. Pass in the class or hybrid_class field from a ship record to get its description. (The method ignores any trailing plus signs for the hybrid ships. Returns nil for unknown classes.
local flavour_text = ships_data.get_ship_class_description("Destroyer+")
Types
The module's exported functions and returned records are typed using LuaCATS-style annotations in the module's source. These aren't enforced at runtime, but document the exact shape of every value the module returns.
ShipRecord
A single ship's full data. See Ship record shape below for field-by-field details.
ShipResourceAmount
A { resource, qty } pair used in construction_costs.
ShipCrewAmount
A { type, qty } pair used in crew_types.
ShipStatAmount
A { stat, qty } pair used in stats_base and stats_crew_bonuses.
ShipUnlockAmount
A { path, qty } pair used in unlock_points.
ShipsDataModule
The shape of the table returned by require("Module:Ships_data") — i.e. the functions documented above.
Ship record shape
Each record in ships_data is a table with the following fields:
| Field | Type | Note |
|---|---|---|
name |
string | Display name |
tier |
number | 1..6, inclusive |
principle_path |
string | Primary Principle Path alignment of the class of ship |
class |
string | Primary class of the ship, with an trailing plus sign for hybrids, similar to their in-game display, for example "Notoriety" |
hybrid_path |
string | Secondary Principle Path alignment of the class of ship, according to the unlock requirement on the Compass (never has a trailing plus sign) |
icon_filename |
string | The filename, including the extension, of the image of the ship, for example, "T_Ship_Starter.png"
|
pier |
string | The pier required to build the ship, for example, "Shallow Pier" |
description |
string | The English-language flavour text of the ship |
construction_costs |
array of ShipResourceAmount |
pairs of { resource, qty } mini-tables, where the resource is the name of the construction material, for example, "Naval Gun"
|
crew_types |
array of ShipCrewAmount |
pairs of { type, qty } mini-tables, where the type is the name of the crew as spelled in-game, for example, "Crow's Eyes"
|
stats_base |
array of ShipStatAmount |
pairs of { stat, qty } mini-tables, where stat is the name of the stat as spelled in-game, for example, "Gun Damage" or "Manoeuvrability"
|
stats_crew_bonuses |
map of arrays of ShipStatAmount |
by crew_type's type, each returns an array of { stat, qty } like stats_base but showing the marginal bonus per additional individual crew member of that type
|
stats_max |
array of ShipStatAmount |
calculated table of the maximum stats with the most number of advanced crew, similar structure to stats_base
|
unlock_points |
array of ShipUnlockAmount |
calculated pairs of { path, qty } mini-tables based on the ship's principle_path and hybrid_path
|
Nested pairs
Construction, crew, and stats use ordered arrays of pairs of data: The first field is a resource's, crew type's , or stat's name, as spelled in-game, and the second field is the quantity.
ship.construction_costsis an array ofShipResourceAmount,resource–qtypairs.ship.crew_typesis an array ofShipCrewAmount,type–qtypairs.ship.stats_baseis an array ofShipStatAmount,stat–qtypairs.ship.stats_crew_bonusesis several arrays ofShipStatAmount,stat–qtypairs.ship.stats_maxis an array ofShipStatAmount,stat-qtypairs.ship.unlock_pointsis an array ofShipUnlockAmount,path-qtypairs.
Crew bonuses
The bonuses are first keyed by the crew type's name. Keys match that ship's crew_types types. Typed in the table are fractional values of what is shown in-game divided by the number of crew. This means when working with this data, each individual value in the stat–qty pair is the marginal additional stat that one crew member contributes to the ship.
local bonuses = ship.stats_crew_bonuses["Scallywags"]
To get the highest possible maximum stats, use ship.stats_max instead, which is pre-calculated.
--#region: Data validation schema
--- Build a set of allowed field names from an ordered list.
local function build_allowed_set(valid_fields)
local allowed = {}
for _, field_name in ipairs(valid_fields) do
allowed[field_name] = true
end
return allowed
end
local NAME = "name"
local TIER = "tier"
local PRINCIPLE_PATH = "principle_path"
local CLASS = "class"
local HYBRID_PATH = "hybrid_path"
local ICON_FILENAME = "icon_filename"
local PIER = "pier"
local DESCRIPTION = "description"
local CONSTRUCTION_COSTS = "construction_costs"
local CREW_TYPES = "crew_types"
local STATS_BASE = "stats_base"
local STATS_CREW_BONUSES = "stats_crew_bonuses"
--- Ordered list of valid field names for ship data.
local REQUIRED_SHIP_FIELDS = {
NAME,
TIER,
PRINCIPLE_PATH,
CLASS,
HYBRID_PATH,
ICON_FILENAME,
PIER,
DESCRIPTION,
CONSTRUCTION_COSTS,
CREW_TYPES,
STATS_BASE,
STATS_CREW_BONUSES,
}
local REQUIRED_SHIP_FIELDS_ALLOWED_NAMES = build_allowed_set(REQUIRED_SHIP_FIELDS)
local PLANKS = "Planks"
local ROPE = "Rope"
local SAILS = "Sails"
local FIGUREHEAD = "Figurehead"
local PITCH = "Pitch"
local FITTINGS = "Fittings"
local JOLLY_ROGER = "Jolly Roger"
local NAVAL_GUN = "Naval Gun"
local STEEL_CHAIN = "Steel Chain"
local SILVER_LINING = "Silver Lining"
local COPPER_LAMP = "Copper Lamp"
--- Ordered list of valid field names for ship construction costs.
local VALID_SHIP_CONSTRUCTION_COSTS = {
PLANKS,
ROPE,
SAILS,
FIGUREHEAD,
PITCH,
FITTINGS,
JOLLY_ROGER,
NAVAL_GUN,
STEEL_CHAIN,
SILVER_LINING,
COPPER_LAMP,
}
local VALID_SHIP_CONSTRUCTION_COSTS_ALLOWED_NAMES = build_allowed_set(VALID_SHIP_CONSTRUCTION_COSTS)
local SWABBIES = "Swabbies"
local SCALLYWAGS = "Scallywags"
local PICAROONS = "Picaroons"
local BOMBARDIERS = "Bombardiers"
local CROWS_EYES = "Crow's Eyes"
local BUCCANEERS = "Buccaneers"
local NAVIGATORS = "Navigators"
local RENEGADES = "Renegades"
local MARAUDERS = "Marauders"
local CORSAIRS = "Corsairs"
--- Ordered list of valid field names for ship crew types.
local VALID_SHIP_CREW_TYPES = {
SWABBIES,
SCALLYWAGS,
PICAROONS,
BOMBARDIERS,
CROWS_EYES,
BUCCANEERS,
NAVIGATORS,
RENEGADES,
MARAUDERS,
CORSAIRS,
}
local VALID_SHIP_CREW_TYPES_ALLOWED_NAMES = build_allowed_set(VALID_SHIP_CREW_TYPES)
local HEALTH = "Health"
local CREW = "Crew"
local SUPPLIES = "Supplies"
local GUN_DAMAGE = "Gun Damage"
local BOARDING_DAMAGE = "Boarding Damage"
local SPEED = "Speed"
local MANOEUVRABILITY = "Manoeuvrability"
local ARMOUR = "Armour"
--- Ordered list of valid field names for ship stats.
local REQUIRED_SHIP_STATS = {
HEALTH,
CREW,
SUPPLIES,
GUN_DAMAGE,
BOARDING_DAMAGE,
SPEED,
MANOEUVRABILITY,
ARMOUR,
}
local REQUIRED_SHIP_STATS_ALLOWED_NAMES = build_allowed_set(REQUIRED_SHIP_STATS)
local SPECIAL = "Special"
local PROWLER = "Prowler"
local PROWLER_PLUS = "Prowler+"
local DESTROYER = "Destroyer"
local DESTROYER_PLUS = "Destroyer+"
local HUNTER = "Hunter"
local HUNTER_PLUS = "Hunter+"
local REAVER = "Reaver"
local REAVER_PLUS = "Reaver+"
--- Set of valid class names.
local VALID_CLASSES = {
SPECIAL,
PROWLER,
PROWLER_PLUS,
DESTROYER,
DESTROYER_PLUS,
HUNTER,
HUNTER_PLUS,
REAVER,
REAVER_PLUS,
}
local VALID_CLASSES_ALLOWED_NAMES = build_allowed_set(VALID_CLASSES)
local NONE = "None"
local NOTORIETY = "Notoriety"
local EMPIRE = "Empire"
local SEAFARING = "Seafaring"
local WEALTH = "Wealth"
--- Set of valid Principle Paths.
local VALID_PRINCIPLE_PATHS = {
NONE,
NOTORIETY,
EMPIRE,
SEAFARING,
WEALTH,
}
local VALID_PRINCIPLE_PATHS_ALLOWED_NAMES = build_allowed_set(VALID_PRINCIPLE_PATHS)
local SHALLOW_PIER = "Shallow Pier"
local TRADE_PIER = "Trade Pier"
local DEEP_WATER_PIER = "Deep-water Pier"
--- Set of valid pier building names.
local VALID_PIERS = {
SHALLOW_PIER,
TRADE_PIER,
DEEP_WATER_PIER,
}
local VALID_PIERS_ALLOWED_NAMES = build_allowed_set(VALID_PIERS)
local RESOURCE = "resource"
local TYPE = "type"
local STAT = "stat"
local QTY = "qty"
local all_fields_are_required = true
local some_fields_may_be_missing = false
--#endregion
--#region: Data validation functions
--- Scan table against valid fields for (a) presence and (b) no extras.
local function assert_scalars(tbl, valid_fields, allowed_fields, are_all_required, message_context)
if are_all_required then
for _, field_name in ipairs(valid_fields) do
assert(tbl[field_name] ~= nil, message_context .. " missing field: " .. field_name)
end
end
for field_name, _ in pairs(tbl) do
assert(allowed_fields[field_name], message_context .. " unexpected field: " .. field_name)
end
end
--- Validate an ordered list of { name_field = "...", [QTY] = n } entries.
local function assert_nested_list(entries, nested_field_name, valid_fields, allowed_fields, are_all_required, message_context)
assert(type(entries) == "table", message_context .. " must be a table")
local seen = {}
for index, entry in ipairs(entries) do
local message_context_index = message_context .. "[" .. index .. "]"
assert(type(entry) == "table", message_context_index .. " must be a table")
assert(entry[nested_field_name] ~= nil, message_context_index .. " missing " .. nested_field_name)
assert(entry.qty ~= nil, message_context_index .. " missing qty")
assert(type(entry.qty) == "number", message_context_index .. " qty must be a number")
for field_name, _ in pairs(entry) do
assert(field_name == nested_field_name or field_name == "qty", message_context_index .. " unexpected field: " .. field_name)
end
local name = entry[nested_field_name]
assert(allowed_fields[name], message_context_index .. " invalid " .. nested_field_name .. ": " .. tostring(name))
assert(not seen[name], message_context_index .. " duplicate " .. nested_field_name .. ": " .. tostring(name))
seen[name] = true
end
if are_all_required then
for _, field_name in ipairs(valid_fields) do
assert(seen[field_name], message_context .. " missing " .. nested_field_name .. ": " .. field_name)
end
end
end
--- Validate bonuses subtable, passing each crew type to assert_nested_list.
local function assert_bonuses_table(crew_types, bonuses, message_context)
assert(type(bonuses) == "table", message_context .. " must be a table")
local seen = {}
for _, crew_type in ipairs(crew_types) do
assert(bonuses[crew_type.type] ~= nil, message_context .. " missing bonuses for crew type: " .. crew_type.type)
assert_nested_list(bonuses[crew_type.type], STAT, REQUIRED_SHIP_STATS, REQUIRED_SHIP_STATS_ALLOWED_NAMES, all_fields_are_required, message_context .. "[" .. crew_type.type .. "]")
seen[crew_type.type] = true
end
for bonus_crew_type, _ in pairs(bonuses) do
assert(seen[bonus_crew_type], message_context .. " unexpected crew type: " .. bonus_crew_type)
end
end
--- Scan all ships in table against valid fields and nested fields.
local function validate_ships(ships_list, ships)
assert(type(ships_list) == "table", "ships_list must be a table")
assert(type(ships) == "table", "ships must be a table")
assert(#ships_list == 29, "ships_list must contain 29 ships")
for index, ship in ipairs(ships_list) do
local message_context = "ships_list[" .. index .. "]"
assert(index == ships[ship.name], message_context .. " name and lookup index mismatch")
assert(VALID_PRINCIPLE_PATHS_ALLOWED_NAMES[ship.principle_path], message_context .. " invalid principle path: " .. ship.principle_path)
assert(VALID_CLASSES_ALLOWED_NAMES[ship.class], message_context .. " invalid class: " .. ship.class)
assert(VALID_PRINCIPLE_PATHS_ALLOWED_NAMES[ship.hybrid_path], message_context .. " invalid hybrid class: " .. ship.hybrid_path)
assert(VALID_PIERS_ALLOWED_NAMES[ship.pier], message_context .. " invalid pier: " .. ship.pier)
assert_scalars(ship, REQUIRED_SHIP_FIELDS, REQUIRED_SHIP_FIELDS_ALLOWED_NAMES, all_fields_are_required, message_context)
assert_nested_list(ship.construction_costs, RESOURCE, VALID_SHIP_CONSTRUCTION_COSTS, VALID_SHIP_CONSTRUCTION_COSTS_ALLOWED_NAMES, some_fields_may_be_missing, message_context .. ".construction_costs")
assert_nested_list(ship.crew_types, TYPE, VALID_SHIP_CREW_TYPES, VALID_SHIP_CREW_TYPES_ALLOWED_NAMES, some_fields_may_be_missing, message_context .. ".crew_types")
assert_nested_list(ship.stats_base, STAT, REQUIRED_SHIP_STATS, REQUIRED_SHIP_STATS_ALLOWED_NAMES, all_fields_are_required, message_context .. ".stats_base")
assert_bonuses_table(ship.crew_types, ship.stats_crew_bonuses, message_context .. ".stats_crew_bonuses")
end
local seen = {}
for name, index in pairs(ships) do
local message_context = "ships[" .. name .. "]"
assert((index ~= nil) or (type(index) == "number") and (index ~= 0), message_context .. " missing or invalid lookup index")
assert(not seen[index], message_context .. " duplicate lookup index: " .. index)
assert(ships_list[index] and ships_list[index].name == name, message_context .. " lookup index and name mismatch")
seen[index] = true
end
if type(mw) == "table" then
mw.log('ships_data.lua validated successfully')
else
print("ships_data.lua validated successfully")
end
end
--#endregion
--#region: Primary data tables
--[[
Lua table for ships.
Fields include: name, tier, principle path, class, hybrid class, icon filename,
pier, construction cost materials and quantities, possible crew types and
quantities, and base stats (health #, crew #, supplies #, gun damage, boarding
damage, speed, manoeuvrability, and armour), then finally the bonuses applied
to each base stat by each crew types.
]]
local ships_list = {
{
[NAME] = "Landlubber",
[TIER] = 1,
[PRINCIPLE_PATH] = NONE,
[CLASS] = SPECIAL,
[HYBRID_PATH] = NONE,
[ICON_FILENAME] = "T_Ship_Starter.png",
[PIER] = SHALLOW_PIER,
[DESCRIPTION] = "The Landlubber is not a good ship: she's slow, underpowered, and doesn't have much space for a crew. But she's more than enough to learn the rudiments of sailing, fighting and plundering.",
[CONSTRUCTION_COSTS] = {
{ [RESOURCE] = PLANKS, [QTY] = 15 },
},
[CREW_TYPES] = {
{ [TYPE] = SWABBIES, [QTY] = 15 },
},
[STATS_BASE] = {
{ [STAT] = HEALTH, [QTY] = 20 },
{ [STAT] = CREW, [QTY] = 15 },
{ [STAT] = SUPPLIES, [QTY] = 20 },
{ [STAT] = GUN_DAMAGE, [QTY] = 2 },
{ [STAT] = BOARDING_DAMAGE, [QTY] = 2 },
{ [STAT] = SPEED, [QTY] = 2 },
{ [STAT] = MANOEUVRABILITY, [QTY] = 2 },
{ [STAT] = ARMOUR, [QTY] = 2 },
},
[STATS_CREW_BONUSES] = {
[SWABBIES] = {
{ [STAT] = HEALTH, [QTY] = 0 },
{ [STAT] = CREW, [QTY] = 0 },
{ [STAT] = SUPPLIES, [QTY] = 0 },
{ [STAT] = GUN_DAMAGE, [QTY] = 0 },
{ [STAT] = BOARDING_DAMAGE, [QTY] = 0 },
{ [STAT] = SPEED, [QTY] = 0 },
{ [STAT] = MANOEUVRABILITY, [QTY] = 0 },
{ [STAT] = ARMOUR, [QTY] = 0 },
},
},
},
{
[NAME] = "Moonlight",
[TIER] = 2,
[PRINCIPLE_PATH] = NOTORIETY,
[CLASS] = PROWLER,
[HYBRID_PATH] = NONE,
[ICON_FILENAME] = "T_Ship_Smuggler_Tier1.png",
[PIER] = SHALLOW_PIER,
[DESCRIPTION] = "Moonlight drifts through the ocean, unseen and untouchable. Her agility makes her the perfect vessel for smuggling goods where none else dare venture. Silent, swift, and gone before dawn.",
[CONSTRUCTION_COSTS] = {
{ [RESOURCE] = PLANKS, [QTY] = 10 },
{ [RESOURCE] = ROPE, [QTY] = 20 },
},
[CREW_TYPES] = {
{ [TYPE] = SWABBIES, [QTY] = 8 },
{ [TYPE] = SCALLYWAGS, [QTY] = 15 },
},
[STATS_BASE] = {
{ [STAT] = HEALTH, [QTY] = 70 },
{ [STAT] = CREW, [QTY] = 15 },
{ [STAT] = SUPPLIES, [QTY] = 32 },
{ [STAT] = GUN_DAMAGE, [QTY] = 2 },
{ [STAT] = BOARDING_DAMAGE, [QTY] = 5 },
{ [STAT] = SPEED, [QTY] = 2 },
{ [STAT] = MANOEUVRABILITY, [QTY] = 13 },
{ [STAT] = ARMOUR, [QTY] = 2 },
},
[STATS_CREW_BONUSES] = {
[SWABBIES] = {
{ [STAT] = HEALTH, [QTY] = 0 },
{ [STAT] = CREW, [QTY] = 0 },
{ [STAT] = SUPPLIES, [QTY] = 0 },
{ [STAT] = GUN_DAMAGE, [QTY] = 0 },
{ [STAT] = BOARDING_DAMAGE, [QTY] = 0 },
{ [STAT] = SPEED, [QTY] = 0 },
{ [STAT] = MANOEUVRABILITY, [QTY] = 0 },
{ [STAT] = ARMOUR, [QTY] = 0 },
},
[SCALLYWAGS] = {
{ [STAT] = HEALTH, [QTY] = 0 },
{ [STAT] = CREW, [QTY] = 0 },
{ [STAT] = SUPPLIES, [QTY] = 0 },
{ [STAT] = GUN_DAMAGE, [QTY] = 2 /15 },
{ [STAT] = BOARDING_DAMAGE, [QTY] = 5 /15 },
{ [STAT] = SPEED, [QTY] = 2 /15 },
{ [STAT] = MANOEUVRABILITY, [QTY] = 13 /15 },
{ [STAT] = ARMOUR, [QTY] = 2 /15 },
},
},
},
{
[NAME] = "Iron Fist",
[TIER] = 2,
[PRINCIPLE_PATH] = EMPIRE,
[CLASS] = DESTROYER,
[HYBRID_PATH] = NONE,
[ICON_FILENAME] = "T_Ship_Destroyer_Tier1.png",
[PIER] = SHALLOW_PIER,
[DESCRIPTION] = "Iron Fist is a formidable vessel. Built to crush all those who oppose her, while withstanding even the most punishing of assaults. Strong and powerful, few ships have the power to stand against her.",
[CONSTRUCTION_COSTS] = {
{ [RESOURCE] = PLANKS, [QTY] = 10 },
{ [RESOURCE] = ROPE, [QTY] = 20 },
},
[CREW_TYPES] = {
{ [TYPE] = SWABBIES, [QTY] = 8 },
{ [TYPE] = PICAROONS, [QTY] = 15 },
},
[STATS_BASE] = {
{ [STAT] = HEALTH, [QTY] = 82 },
{ [STAT] = CREW, [QTY] = 15 },
{ [STAT] = SUPPLIES, [QTY] = 24 },
{ [STAT] = GUN_DAMAGE, [QTY] = 13 },
{ [STAT] = BOARDING_DAMAGE, [QTY] = 2 },
{ [STAT] = SPEED, [QTY] = 2 },
{ [STAT] = MANOEUVRABILITY, [QTY] = 2 },
{ [STAT] = ARMOUR, [QTY] = 13 },
},
[STATS_CREW_BONUSES] = {
[SWABBIES] = {
{ [STAT] = HEALTH, [QTY] = 0 },
{ [STAT] = CREW, [QTY] = 0 },
{ [STAT] = SUPPLIES, [QTY] = 0 },
{ [STAT] = GUN_DAMAGE, [QTY] = 0 },
{ [STAT] = BOARDING_DAMAGE, [QTY] = 0 },
{ [STAT] = SPEED, [QTY] = 0 },
{ [STAT] = MANOEUVRABILITY, [QTY] = 0 },
{ [STAT] = ARMOUR, [QTY] = 0 },
},
[PICAROONS] = {
{ [STAT] = HEALTH, [QTY] = 0 },
{ [STAT] = CREW, [QTY] = 0 },
{ [STAT] = SUPPLIES, [QTY] = 0 },
{ [STAT] = GUN_DAMAGE, [QTY] = 13 /15 },
{ [STAT] = BOARDING_DAMAGE, [QTY] = 2 /15 },
{ [STAT] = SPEED, [QTY] = 2 /15 },
{ [STAT] = MANOEUVRABILITY, [QTY] = 2 /15 },
{ [STAT] = ARMOUR, [QTY] = 13 /15 },
},
},
},
{
[NAME] = "Tide Runner",
[TIER] = 2,
[PRINCIPLE_PATH] = SEAFARING,
[CLASS] = HUNTER,
[HYBRID_PATH] = NONE,
[ICON_FILENAME] = "T_Ship_Hunter_Tier1.png",
[PIER] = SHALLOW_PIER,
[DESCRIPTION] = "Tide Runner glides across the ocean with unmatched grace. A sleek vessel built for stealth and pursuit. Her agile design makes her perfect for chasing down prey or slipping away unnoticed.",
[CONSTRUCTION_COSTS] = {
{ [RESOURCE] = PLANKS, [QTY] = 10 },
{ [RESOURCE] = ROPE, [QTY] = 20 },
},
[CREW_TYPES] = {
{ [TYPE] = SWABBIES, [QTY] = 10 },
{ [TYPE] = SCALLYWAGS, [QTY] = 20 },
},
[STATS_BASE] = {
{ [STAT] = HEALTH, [QTY] = 70 },
{ [STAT] = CREW, [QTY] = 20 },
{ [STAT] = SUPPLIES, [QTY] = 24 },
{ [STAT] = GUN_DAMAGE, [QTY] = 5 },
{ [STAT] = BOARDING_DAMAGE, [QTY] = 2 },
{ [STAT] = SPEED, [QTY] = 13 },
{ [STAT] = MANOEUVRABILITY, [QTY] = 2 },
{ [STAT] = ARMOUR, [QTY] = 2 },
},
[STATS_CREW_BONUSES] = {
[SWABBIES] = {
{ [STAT] = HEALTH, [QTY] = 0 },
{ [STAT] = CREW, [QTY] = 0 },
{ [STAT] = SUPPLIES, [QTY] = 0 },
{ [STAT] = GUN_DAMAGE, [QTY] = 0 },
{ [STAT] = BOARDING_DAMAGE, [QTY] = 0 },
{ [STAT] = SPEED, [QTY] = 0 },
{ [STAT] = MANOEUVRABILITY, [QTY] = 0 },
{ [STAT] = ARMOUR, [QTY] = 0 },
},
[SCALLYWAGS] = {
{ [STAT] = HEALTH, [QTY] = 0 },
{ [STAT] = CREW, [QTY] = 0 },
{ [STAT] = SUPPLIES, [QTY] = 0 },
{ [STAT] = GUN_DAMAGE, [QTY] = 5 /20 },
{ [STAT] = BOARDING_DAMAGE, [QTY] = 2 /20 },
{ [STAT] = SPEED, [QTY] = 13 /20 },
{ [STAT] = MANOEUVRABILITY, [QTY] = 2 /20 },
{ [STAT] = ARMOUR, [QTY] = 2 /20 },
},
},
},
{
[NAME] = "Sharktooth",
[TIER] = 2,
[PRINCIPLE_PATH] = WEALTH,
[CLASS] = REAVER,
[HYBRID_PATH] = NONE,
[ICON_FILENAME] = "T_Ship_Raider_Tier1.png",
[PIER] = SHALLOW_PIER,
[DESCRIPTION] = "Sharktooth is a ship that will take whatever she wants, whenever she wants it. Slow but relentless, she is a deadly predator of the ocean waves, sinking her fangs into every ship she targets. Her bite is deadly and few can escape it.",
[CONSTRUCTION_COSTS] = {
{ [RESOURCE] = PLANKS, [QTY] = 10 },
{ [RESOURCE] = ROPE, [QTY] = 20 },
},
[CREW_TYPES] = {
{ [TYPE] = SWABBIES, [QTY] = 10 },
{ [TYPE] = PICAROONS, [QTY] = 20 },
},
[STATS_BASE] = {
{ [STAT] = HEALTH, [QTY] = 82 },
{ [STAT] = CREW, [QTY] = 20 },
{ [STAT] = SUPPLIES, [QTY] = 24 },
{ [STAT] = GUN_DAMAGE, [QTY] = 2 },
{ [STAT] = BOARDING_DAMAGE, [QTY] = 13 },
{ [STAT] = SPEED, [QTY] = 2 },
{ [STAT] = MANOEUVRABILITY, [QTY] = 2 },
{ [STAT] = ARMOUR, [QTY] = 5 },
},
[STATS_CREW_BONUSES] = {
[SWABBIES] = {
{ [STAT] = HEALTH, [QTY] = 0 },
{ [STAT] = CREW, [QTY] = 0 },
{ [STAT] = SUPPLIES, [QTY] = 0 },
{ [STAT] = GUN_DAMAGE, [QTY] = 0 },
{ [STAT] = BOARDING_DAMAGE, [QTY] = 0 },
{ [STAT] = SPEED, [QTY] = 0 },
{ [STAT] = MANOEUVRABILITY, [QTY] = 0 },
{ [STAT] = ARMOUR, [QTY] = 0 },
},
[PICAROONS] = {
{ [STAT] = HEALTH, [QTY] = 0 },
{ [STAT] = CREW, [QTY] = 0 },
{ [STAT] = SUPPLIES, [QTY] = 0 },
{ [STAT] = GUN_DAMAGE, [QTY] = 2 /20 },
{ [STAT] = BOARDING_DAMAGE, [QTY] = 13 /20 },
{ [STAT] = SPEED, [QTY] = 2 /20 },
{ [STAT] = MANOEUVRABILITY, [QTY] = 2 /20 },
{ [STAT] = ARMOUR, [QTY] = 5 /20 },
},
},
},
{
[NAME] = "Azimuth",
[TIER] = 2,
[PRINCIPLE_PATH] = NOTORIETY,
[CLASS] = PROWLER_PLUS,
[HYBRID_PATH] = EMPIRE,
[ICON_FILENAME] = "T_Ship_Smuggler_Tier1_dot25.png",
[PIER] = SHALLOW_PIER,
[DESCRIPTION] = "Azimuth was built for adventure, and thus features many small improvements compared to its smaller sibling Moonlight. A bit more of everything can never hurt when chasing the many terrible wonders of the Seven Seas.",
[CONSTRUCTION_COSTS] = {
{ [RESOURCE] = PLANKS, [QTY] = 50 },
{ [RESOURCE] = ROPE, [QTY] = 50 },
},
[CREW_TYPES] = {
{ [TYPE] = SWABBIES, [QTY] = 9 },
{ [TYPE] = SCALLYWAGS, [QTY] = 18 },
},
[STATS_BASE] = {
{ [STAT] = HEALTH, [QTY] = 82 },
{ [STAT] = CREW, [QTY] = 18 },
{ [STAT] = SUPPLIES, [QTY] = 32 },
{ [STAT] = GUN_DAMAGE, [QTY] = 9 },
{ [STAT] = BOARDING_DAMAGE, [QTY] = 5 },
{ [STAT] = SPEED, [QTY] = 4 },
{ [STAT] = MANOEUVRABILITY, [QTY] = 13 },
{ [STAT] = ARMOUR, [QTY] = 4 },
},
[STATS_CREW_BONUSES] = {
[SWABBIES] = {
{ [STAT] = HEALTH, [QTY] = 0 },
{ [STAT] = CREW, [QTY] = 0 },
{ [STAT] = SUPPLIES, [QTY] = 0 },
{ [STAT] = GUN_DAMAGE, [QTY] = 0 },
{ [STAT] = BOARDING_DAMAGE, [QTY] = 0 },
{ [STAT] = SPEED, [QTY] = 0 },
{ [STAT] = MANOEUVRABILITY, [QTY] = 0 },
{ [STAT] = ARMOUR, [QTY] = 0 },
},
[SCALLYWAGS] = {
{ [STAT] = HEALTH, [QTY] = 0 },
{ [STAT] = CREW, [QTY] = 0 },
{ [STAT] = SUPPLIES, [QTY] = 0 },
{ [STAT] = GUN_DAMAGE, [QTY] = 9 /18 },
{ [STAT] = BOARDING_DAMAGE, [QTY] = 5 /18 },
{ [STAT] = SPEED, [QTY] = 4 /18 },
{ [STAT] = MANOEUVRABILITY, [QTY] = 13 /18 },
{ [STAT] = ARMOUR, [QTY] = 4 /18 },
},
},
},
{
[NAME] = "Steel Edge",
[TIER] = 2,
[PRINCIPLE_PATH] = EMPIRE,
[CLASS] = DESTROYER_PLUS,
[HYBRID_PATH] = SEAFARING,
[ICON_FILENAME] = "T_Ship_Destroyer_Tier1_dot25.png",
[PIER] = SHALLOW_PIER,
[DESCRIPTION] = "An improved design on the Iron Fist, devised in many drunken nights of scheming and plotting. The Steel Edge's slightly larger frame allows for more crew and weaponry, which can make all the difference in the heat of battle.",
[CONSTRUCTION_COSTS] = {
{ [RESOURCE] = PLANKS, [QTY] = 50 },
{ [RESOURCE] = ROPE, [QTY] = 50 },
},
[CREW_TYPES] = {
{ [TYPE] = SWABBIES, [QTY] = 9 },
{ [TYPE] = PICAROONS, [QTY] = 18 },
},
[STATS_BASE] = {
{ [STAT] = HEALTH, [QTY] = 94 },
{ [STAT] = CREW, [QTY] = 18 },
{ [STAT] = SUPPLIES, [QTY] = 28 },
{ [STAT] = GUN_DAMAGE, [QTY] = 13 },
{ [STAT] = BOARDING_DAMAGE, [QTY] = 4 },
{ [STAT] = SPEED, [QTY] = 7 },
{ [STAT] = MANOEUVRABILITY, [QTY] = 4 },
{ [STAT] = ARMOUR, [QTY] = 13 },
},
[STATS_CREW_BONUSES] = {
[SWABBIES] = {
{ [STAT] = HEALTH, [QTY] = 0 },
{ [STAT] = CREW, [QTY] = 0 },
{ [STAT] = SUPPLIES, [QTY] = 0 },
{ [STAT] = GUN_DAMAGE, [QTY] = 0 },
{ [STAT] = BOARDING_DAMAGE, [QTY] = 0 },
{ [STAT] = SPEED, [QTY] = 0 },
{ [STAT] = MANOEUVRABILITY, [QTY] = 0 },
{ [STAT] = ARMOUR, [QTY] = 0 },
},
[PICAROONS] = {
{ [STAT] = HEALTH, [QTY] = 0 },
{ [STAT] = CREW, [QTY] = 0 },
{ [STAT] = SUPPLIES, [QTY] = 0 },
{ [STAT] = GUN_DAMAGE, [QTY] = 13 /18 },
{ [STAT] = BOARDING_DAMAGE, [QTY] = 4 /18 },
{ [STAT] = SPEED, [QTY] = 7 /18 },
{ [STAT] = MANOEUVRABILITY, [QTY] = 4 /18 },
{ [STAT] = ARMOUR, [QTY] = 13 /18 },
},
},
},
{
[NAME] = "Huracán",
[TIER] = 2,
[PRINCIPLE_PATH] = SEAFARING,
[CLASS] = HUNTER_PLUS,
[HYBRID_PATH] = WEALTH,
[ICON_FILENAME] = "T_Ship_Hunter_Tier1_dot25.png",
[PIER] = SHALLOW_PIER,
[DESCRIPTION] = "Huracán is based on the Tide Runner's blueprints, but has been lovingly tweaked and refined by our passionate shipwrights. Many tiny improvements make her a terrifying predator of the sea. Merchants beware.",
[CONSTRUCTION_COSTS] = {
{ [RESOURCE] = PLANKS, [QTY] = 50 },
{ [RESOURCE] = ROPE, [QTY] = 50 },
},
[CREW_TYPES] = {
{ [TYPE] = SWABBIES, [QTY] = 10 },
{ [TYPE] = SCALLYWAGS, [QTY] = 20 },
},
[STATS_BASE] = {
{ [STAT] = HEALTH, [QTY] = 82 },
{ [STAT] = CREW, [QTY] = 20 },
{ [STAT] = SUPPLIES, [QTY] = 28 },
{ [STAT] = GUN_DAMAGE, [QTY] = 5 },
{ [STAT] = BOARDING_DAMAGE, [QTY] = 7 },
{ [STAT] = SPEED, [QTY] = 13 },
{ [STAT] = MANOEUVRABILITY, [QTY] = 4 },
{ [STAT] = ARMOUR, [QTY] = 5 },
},
[STATS_CREW_BONUSES] = {
[SWABBIES] = {
{ [STAT] = HEALTH, [QTY] = 0 },
{ [STAT] = CREW, [QTY] = 0 },
{ [STAT] = SUPPLIES, [QTY] = 0 },
{ [STAT] = GUN_DAMAGE, [QTY] = 0 },
{ [STAT] = BOARDING_DAMAGE, [QTY] = 0 },
{ [STAT] = SPEED, [QTY] = 0 },
{ [STAT] = MANOEUVRABILITY, [QTY] = 0 },
{ [STAT] = ARMOUR, [QTY] = 0 },
},
[SCALLYWAGS] = {
{ [STAT] = HEALTH, [QTY] = 0 },
{ [STAT] = CREW, [QTY] = 0 },
{ [STAT] = SUPPLIES, [QTY] = 0 },
{ [STAT] = GUN_DAMAGE, [QTY] = 5 /20 },
{ [STAT] = BOARDING_DAMAGE, [QTY] = 7 /20 },
{ [STAT] = SPEED, [QTY] = 13 /20 },
{ [STAT] = MANOEUVRABILITY, [QTY] = 4 /20 },
{ [STAT] = ARMOUR, [QTY] = 5 /20 },
},
},
},
{
[NAME] = "Goldseeker",
[TIER] = 2,
[PRINCIPLE_PATH] = WEALTH,
[CLASS] = REAVER_PLUS,
[HYBRID_PATH] = NOTORIETY,
[ICON_FILENAME] = "T_Ship_Raider_Tier1_dot25.png",
[PIER] = SHALLOW_PIER,
[DESCRIPTION] = "Goldseeker comes well equipped to haul treasure and plunder alike. Her extra large cargo deck can store weeks worth of booty and gives her an edge over the Sharktooth.",
[CONSTRUCTION_COSTS] = {
{ [RESOURCE] = PLANKS, [QTY] = 50 },
{ [RESOURCE] = ROPE, [QTY] = 50 },
},
[CREW_TYPES] = {
{ [TYPE] = SWABBIES, [QTY] = 10 },
{ [TYPE] = PICAROONS, [QTY] = 20 },
},
[STATS_BASE] = {
{ [STAT] = HEALTH, [QTY] = 88 },
{ [STAT] = CREW, [QTY] = 20 },
{ [STAT] = SUPPLIES, [QTY] = 28 },
{ [STAT] = GUN_DAMAGE, [QTY] = 4 },
{ [STAT] = BOARDING_DAMAGE, [QTY] = 13 },
{ [STAT] = SPEED, [QTY] = 4 },
{ [STAT] = MANOEUVRABILITY, [QTY] = 9 },
{ [STAT] = ARMOUR, [QTY] = 5 },
},
[STATS_CREW_BONUSES] = {
[SWABBIES] = {
{ [STAT] = HEALTH, [QTY] = 0 },
{ [STAT] = CREW, [QTY] = 0 },
{ [STAT] = SUPPLIES, [QTY] = 0 },
{ [STAT] = GUN_DAMAGE, [QTY] = 0 },
{ [STAT] = BOARDING_DAMAGE, [QTY] = 0 },
{ [STAT] = SPEED, [QTY] = 0 },
{ [STAT] = MANOEUVRABILITY, [QTY] = 0 },
{ [STAT] = ARMOUR, [QTY] = 0 },
},
[PICAROONS] = {
{ [STAT] = HEALTH, [QTY] = 0 },
{ [STAT] = CREW, [QTY] = 0 },
{ [STAT] = SUPPLIES, [QTY] = 0 },
{ [STAT] = GUN_DAMAGE, [QTY] = 4 /20 },
{ [STAT] = BOARDING_DAMAGE, [QTY] = 13 /20 },
{ [STAT] = SPEED, [QTY] = 4 /20 },
{ [STAT] = MANOEUVRABILITY, [QTY] = 9 /20 },
{ [STAT] = ARMOUR, [QTY] = 5 /20 },
},
},
},
{
[NAME] = "Nightshade",
[TIER] = 3,
[PRINCIPLE_PATH] = NOTORIETY,
[CLASS] = PROWLER,
[HYBRID_PATH] = NONE,
[ICON_FILENAME] = "T_Ship_Smuggler_Tier1_dot5.png",
[PIER] = SHALLOW_PIER,
[DESCRIPTION] = "Nightshade is as elusive as they come. The perfect vessel for moving goods or navigating danger. She will outmanoeuvre all those who oppose her and vanish into the night long before anyone catches up.",
[CONSTRUCTION_COSTS] = {
{ [RESOURCE] = PLANKS, [QTY] = 50 },
{ [RESOURCE] = ROPE, [QTY] = 50 },
{ [RESOURCE] = SAILS, [QTY] = 30 },
},
[CREW_TYPES] = {
{ [TYPE] = SWABBIES, [QTY] = 15 },
{ [TYPE] = SCALLYWAGS, [QTY] = 20 },
{ [TYPE] = CROWS_EYES, [QTY] = 20 },
},
[STATS_BASE] = {
{ [STAT] = HEALTH, [QTY] = 105 },
{ [STAT] = CREW, [QTY] = 40 },
{ [STAT] = SUPPLIES, [QTY] = 34 },
{ [STAT] = GUN_DAMAGE, [QTY] = 3 },
{ [STAT] = BOARDING_DAMAGE, [QTY] = 8 },
{ [STAT] = SPEED, [QTY] = 3 },
{ [STAT] = MANOEUVRABILITY, [QTY] = 20 },
{ [STAT] = ARMOUR, [QTY] = 3 },
},
[STATS_CREW_BONUSES] = {
[SWABBIES] = {
{ [STAT] = HEALTH, [QTY] = 0 },
{ [STAT] = CREW, [QTY] = 0 },
{ [STAT] = SUPPLIES, [QTY] = 0 },
{ [STAT] = GUN_DAMAGE, [QTY] = 0 },
{ [STAT] = BOARDING_DAMAGE, [QTY] = 0 },
{ [STAT] = SPEED, [QTY] = 0 },
{ [STAT] = MANOEUVRABILITY, [QTY] = 0 },
{ [STAT] = ARMOUR, [QTY] = 0 },
},
[SCALLYWAGS] = {
{ [STAT] = HEALTH, [QTY] = 0 },
{ [STAT] = CREW, [QTY] = 0 },
{ [STAT] = SUPPLIES, [QTY] = 0 },
{ [STAT] = GUN_DAMAGE, [QTY] = 0.94 /20 },
{ [STAT] = BOARDING_DAMAGE, [QTY] = 1.41 /20 },
{ [STAT] = SPEED, [QTY] = 0.5 /20 },
{ [STAT] = MANOEUVRABILITY, [QTY] = 17.33 /20 },
{ [STAT] = ARMOUR, [QTY] = 2.4 /20 },
},
[CROWS_EYES] = {
{ [STAT] = HEALTH, [QTY] = 0 },
{ [STAT] = CREW, [QTY] = 0 },
{ [STAT] = SUPPLIES, [QTY] = 0 },
{ [STAT] = GUN_DAMAGE, [QTY] = 2.06 /20 },
{ [STAT] = BOARDING_DAMAGE, [QTY] = 6.59 /20 },
{ [STAT] = SPEED, [QTY] = 2.5 /20 },
{ [STAT] = MANOEUVRABILITY, [QTY] = 2.67 /20 },
{ [STAT] = ARMOUR, [QTY] = 0.6 /20 },
},
},
},
{
[NAME] = "Yoke Breaker",
[TIER] = 3,
[PRINCIPLE_PATH] = EMPIRE,
[CLASS] = DESTROYER,
[HYBRID_PATH] = NONE,
[ICON_FILENAME] = "T_Ship_Destroyer_Tier1_dot5.png",
[PIER] = SHALLOW_PIER,
[DESCRIPTION] = "Yoke Breaker is a force on the high seas. Her heavy broadside cannons give her the advantage in every battle she fights. She may be a little slower than most, but she is devastating when she arrives.",
[CONSTRUCTION_COSTS] = {
{ [RESOURCE] = PLANKS, [QTY] = 50 },
{ [RESOURCE] = ROPE, [QTY] = 50 },
{ [RESOURCE] = SAILS, [QTY] = 30 },
},
[CREW_TYPES] = {
{ [TYPE] = SWABBIES, [QTY] = 15 },
{ [TYPE] = PICAROONS, [QTY] = 20 },
{ [TYPE] = BOMBARDIERS, [QTY] = 20 },
},
[STATS_BASE] = {
{ [STAT] = HEALTH, [QTY] = 123 },
{ [STAT] = CREW, [QTY] = 40 },
{ [STAT] = SUPPLIES, [QTY] = 26 },
{ [STAT] = GUN_DAMAGE, [QTY] = 20 },
{ [STAT] = BOARDING_DAMAGE, [QTY] = 3 },
{ [STAT] = SPEED, [QTY] = 3 },
{ [STAT] = MANOEUVRABILITY, [QTY] = 3 },
{ [STAT] = ARMOUR, [QTY] = 20 },
},
[STATS_CREW_BONUSES] = {
[SWABBIES] = {
{ [STAT] = HEALTH, [QTY] = 0 },
{ [STAT] = CREW, [QTY] = 0 },
{ [STAT] = SUPPLIES, [QTY] = 0 },
{ [STAT] = GUN_DAMAGE, [QTY] = 0 },
{ [STAT] = BOARDING_DAMAGE, [QTY] = 0 },
{ [STAT] = SPEED, [QTY] = 0 },
{ [STAT] = MANOEUVRABILITY, [QTY] = 0 },
{ [STAT] = ARMOUR, [QTY] = 0 },
},
[PICAROONS] = {
{ [STAT] = HEALTH, [QTY] = 0 },
{ [STAT] = CREW, [QTY] = 0 },
{ [STAT] = SUPPLIES, [QTY] = 0 },
{ [STAT] = GUN_DAMAGE, [QTY] = 2.86 /20 },
{ [STAT] = BOARDING_DAMAGE, [QTY] = 0.75 /20 },
{ [STAT] = SPEED, [QTY] = 1.3 /20 },
{ [STAT] = MANOEUVRABILITY, [QTY] = 1.8 /20 },
{ [STAT] = ARMOUR, [QTY] = 16 /20 },
},
[BOMBARDIERS] = {
{ [STAT] = HEALTH, [QTY] = 0 },
{ [STAT] = CREW, [QTY] = 0 },
{ [STAT] = SUPPLIES, [QTY] = 0 },
{ [STAT] = GUN_DAMAGE, [QTY] = 17.14 /20 },
{ [STAT] = BOARDING_DAMAGE, [QTY] = 2.25 /20 },
{ [STAT] = SPEED, [QTY] = 1.7 /20 },
{ [STAT] = MANOEUVRABILITY, [QTY] = 1.2 /20 },
{ [STAT] = ARMOUR, [QTY] = 4 /20 },
},
},
},
{
[NAME] = "Tempest",
[TIER] = 3,
[PRINCIPLE_PATH] = SEAFARING,
[CLASS] = HUNTER,
[HYBRID_PATH] = NONE,
[ICON_FILENAME] = "T_Ship_Hunter_Tier1_dot5.png",
[PIER] = SHALLOW_PIER,
[DESCRIPTION] = "Tempest is designed to rip merchant ships apart before they even know what hit them. What she lacks in hull strength, she more than makes up for in firepower. She is as fast as she is deadly.",
[CONSTRUCTION_COSTS] = {
{ [RESOURCE] = PLANKS, [QTY] = 50 },
{ [RESOURCE] = ROPE, [QTY] = 50 },
{ [RESOURCE] = SAILS, [QTY] = 30 },
},
[CREW_TYPES] = {
{ [TYPE] = SWABBIES, [QTY] = 25 },
{ [TYPE] = SCALLYWAGS, [QTY] = 30 },
{ [TYPE] = BOMBARDIERS, [QTY] = 30 },
},
[STATS_BASE] = {
{ [STAT] = HEALTH, [QTY] = 105 },
{ [STAT] = CREW, [QTY] = 60 },
{ [STAT] = SUPPLIES, [QTY] = 26 },
{ [STAT] = GUN_DAMAGE, [QTY] = 8 },
{ [STAT] = BOARDING_DAMAGE, [QTY] = 3 },
{ [STAT] = SPEED, [QTY] = 20 },
{ [STAT] = MANOEUVRABILITY, [QTY] = 3 },
{ [STAT] = ARMOUR, [QTY] = 3 },
},
[STATS_CREW_BONUSES] = {
[SWABBIES] = {
{ [STAT] = HEALTH, [QTY] = 0 },
{ [STAT] = CREW, [QTY] = 0 },
{ [STAT] = SUPPLIES, [QTY] = 0 },
{ [STAT] = GUN_DAMAGE, [QTY] = 0 },
{ [STAT] = BOARDING_DAMAGE, [QTY] = 0 },
{ [STAT] = SPEED, [QTY] = 0 },
{ [STAT] = MANOEUVRABILITY, [QTY] = 0 },
{ [STAT] = ARMOUR, [QTY] = 0 },
},
[SCALLYWAGS] = {
{ [STAT] = HEALTH, [QTY] = 0 },
{ [STAT] = CREW, [QTY] = 0 },
{ [STAT] = SUPPLIES, [QTY] = 0 },
{ [STAT] = GUN_DAMAGE, [QTY] = 2.35 /30 },
{ [STAT] = BOARDING_DAMAGE, [QTY] = 1 /30 },
{ [STAT] = SPEED, [QTY] = 2.67 /30 },
{ [STAT] = MANOEUVRABILITY, [QTY] = 2.05 /30 },
{ [STAT] = ARMOUR, [QTY] = 2.4 /30 },
},
[BOMBARDIERS] = {
{ [STAT] = HEALTH, [QTY] = 0 },
{ [STAT] = CREW, [QTY] = 0 },
{ [STAT] = SUPPLIES, [QTY] = 0 },
{ [STAT] = GUN_DAMAGE, [QTY] = 5.65 /30 },
{ [STAT] = BOARDING_DAMAGE, [QTY] = 2 /30 },
{ [STAT] = SPEED, [QTY] = 17.33 /30 },
{ [STAT] = MANOEUVRABILITY, [QTY] = 0.95 /30 },
{ [STAT] = ARMOUR, [QTY] = 0.6 /30 },
},
},
},
{
[NAME] = "Wolfhound",
[TIER] = 3,
[PRINCIPLE_PATH] = WEALTH,
[CLASS] = REAVER,
[HYBRID_PATH] = NONE,
[ICON_FILENAME] = "T_Ship_Raider_Tier1_dot5.png",
[PIER] = SHALLOW_PIER,
[DESCRIPTION] = "Once Wolfhound sets her sights on you, escape is a fool's hope. With a crew built for boarding, she will swarm enemy decks and take everything in her path. Wolfhound is inevitable.",
[CONSTRUCTION_COSTS] = {
{ [RESOURCE] = PLANKS, [QTY] = 50 },
{ [RESOURCE] = ROPE, [QTY] = 50 },
{ [RESOURCE] = SAILS, [QTY] = 30 },
},
[CREW_TYPES] = {
{ [TYPE] = SWABBIES, [QTY] = 25 },
{ [TYPE] = PICAROONS, [QTY] = 30 },
{ [TYPE] = CROWS_EYES, [QTY] = 30 },
},
[STATS_BASE] = {
{ [STAT] = HEALTH, [QTY] = 123 },
{ [STAT] = CREW, [QTY] = 60 },
{ [STAT] = SUPPLIES, [QTY] = 26 },
{ [STAT] = GUN_DAMAGE, [QTY] = 3 },
{ [STAT] = BOARDING_DAMAGE, [QTY] = 20 },
{ [STAT] = SPEED, [QTY] = 3 },
{ [STAT] = MANOEUVRABILITY, [QTY] = 3 },
{ [STAT] = ARMOUR, [QTY] = 8 },
},
[STATS_CREW_BONUSES] = {
[SWABBIES] = {
{ [STAT] = HEALTH, [QTY] = 0 },
{ [STAT] = CREW, [QTY] = 0 },
{ [STAT] = SUPPLIES, [QTY] = 0 },
{ [STAT] = GUN_DAMAGE, [QTY] = 0 },
{ [STAT] = BOARDING_DAMAGE, [QTY] = 0 },
{ [STAT] = SPEED, [QTY] = 0 },
{ [STAT] = MANOEUVRABILITY, [QTY] = 0 },
{ [STAT] = ARMOUR, [QTY] = 0 },
},
[PICAROONS] = {
{ [STAT] = HEALTH, [QTY] = 0 },
{ [STAT] = CREW, [QTY] = 0 },
{ [STAT] = SUPPLIES, [QTY] = 0 },
{ [STAT] = GUN_DAMAGE, [QTY] = 0.46 /30 },
{ [STAT] = BOARDING_DAMAGE, [QTY] = 2.5 /30 },
{ [STAT] = SPEED, [QTY] = 1.5 /30 },
{ [STAT] = MANOEUVRABILITY, [QTY] = 2.45 /30 },
{ [STAT] = ARMOUR, [QTY] = 6.4 /30 },
},
[CROWS_EYES] = {
{ [STAT] = HEALTH, [QTY] = 0 },
{ [STAT] = CREW, [QTY] = 0 },
{ [STAT] = SUPPLIES, [QTY] = 0 },
{ [STAT] = GUN_DAMAGE, [QTY] = 2.54 /30 },
{ [STAT] = BOARDING_DAMAGE, [QTY] = 17.5 /30 },
{ [STAT] = SPEED, [QTY] = 1.5 /30 },
{ [STAT] = MANOEUVRABILITY, [QTY] = 0.55 /30 },
{ [STAT] = ARMOUR, [QTY] = 1.6 /30 },
},
},
},
{
[NAME] = "Rogue",
[TIER] = 4,
[PRINCIPLE_PATH] = NOTORIETY,
[CLASS] = PROWLER,
[HYBRID_PATH] = NONE,
[ICON_FILENAME] = "T_Ship_Smuggler_Tier2.png",
[PIER] = TRADE_PIER,
[DESCRIPTION] = "The black pitch used to treat Rogue's timber also gave birth to her name. A true smugglers' vessel, Rogue is said to blend into the shadows of the ocean, making her near impossible to track.",
[CONSTRUCTION_COSTS] = {
{ [RESOURCE] = PLANKS, [QTY] = 75 },
{ [RESOURCE] = ROPE, [QTY] = 75 },
{ [RESOURCE] = SAILS, [QTY] = 50 },
{ [RESOURCE] = FIGUREHEAD, [QTY] = 10 },
},
[CREW_TYPES] = {
{ [TYPE] = SWABBIES, [QTY] = 20 },
{ [TYPE] = CROWS_EYES, [QTY] = 25 },
{ [TYPE] = BUCCANEERS, [QTY] = 35 },
},
[STATS_BASE] = {
{ [STAT] = HEALTH, [QTY] = 175 },
{ [STAT] = CREW, [QTY] = 60 },
{ [STAT] = SUPPLIES, [QTY] = 52 },
{ [STAT] = GUN_DAMAGE, [QTY] = 5 },
{ [STAT] = BOARDING_DAMAGE, [QTY] = 13 },
{ [STAT] = SPEED, [QTY] = 5 },
{ [STAT] = MANOEUVRABILITY, [QTY] = 33 },
{ [STAT] = ARMOUR, [QTY] = 5 },
},
[STATS_CREW_BONUSES] = {
[SWABBIES] = {
{ [STAT] = HEALTH, [QTY] = 0 },
{ [STAT] = CREW, [QTY] = 0 },
{ [STAT] = SUPPLIES, [QTY] = 0 },
{ [STAT] = GUN_DAMAGE, [QTY] = 0 },
{ [STAT] = BOARDING_DAMAGE, [QTY] = 0 },
{ [STAT] = SPEED, [QTY] = 0 },
{ [STAT] = MANOEUVRABILITY, [QTY] = 0 },
{ [STAT] = ARMOUR, [QTY] = 0 },
},
[CROWS_EYES] = {
{ [STAT] = HEALTH, [QTY] = 0 },
{ [STAT] = CREW, [QTY] = 0 },
{ [STAT] = SUPPLIES, [QTY] = 0 },
{ [STAT] = GUN_DAMAGE, [QTY] = 3.31 /25 },
{ [STAT] = BOARDING_DAMAGE, [QTY] = 10 /25 },
{ [STAT] = SPEED, [QTY] = 2.08 /25 },
{ [STAT] = MANOEUVRABILITY, [QTY] = 3.27 /25 },
{ [STAT] = ARMOUR, [QTY] = 0.66 /25 },
},
[BUCCANEERS] = {
{ [STAT] = HEALTH, [QTY] = 0 },
{ [STAT] = CREW, [QTY] = 0 },
{ [STAT] = SUPPLIES, [QTY] = 0 },
{ [STAT] = GUN_DAMAGE, [QTY] = 1.69 /35 },
{ [STAT] = BOARDING_DAMAGE, [QTY] = 3 /35 },
{ [STAT] = SPEED, [QTY] = 2.92 /35 },
{ [STAT] = MANOEUVRABILITY, [QTY] = 29.73 /35 },
{ [STAT] = ARMOUR, [QTY] = 4.34 /35 },
},
},
},
{
[NAME] = "Sea Dragon",
[TIER] = 4,
[PRINCIPLE_PATH] = EMPIRE,
[CLASS] = DESTROYER,
[HYBRID_PATH] = NONE,
[ICON_FILENAME] = "T_Ship_Destroyer_Tier2.png",
[PIER] = TRADE_PIER,
[DESCRIPTION] = "Sea Dragon is a fortress on water. Her thick armoured hull and impressive firepower make her the vanguard of any fleet, able to withstand and deal out incredible damage. Once she's in range, there's no escaping her wrath.",
[CONSTRUCTION_COSTS] = {
{ [RESOURCE] = PLANKS, [QTY] = 75 },
{ [RESOURCE] = ROPE, [QTY] = 75 },
{ [RESOURCE] = SAILS, [QTY] = 50 },
{ [RESOURCE] = PITCH, [QTY] = 60 },
},
[CREW_TYPES] = {
{ [TYPE] = SWABBIES, [QTY] = 20 },
{ [TYPE] = BOMBARDIERS, [QTY] = 25 },
{ [TYPE] = BUCCANEERS, [QTY] = 35 },
},
[STATS_BASE] = {
{ [STAT] = HEALTH, [QTY] = 205 },
{ [STAT] = CREW, [QTY] = 60 },
{ [STAT] = SUPPLIES, [QTY] = 30 },
{ [STAT] = GUN_DAMAGE, [QTY] = 33 },
{ [STAT] = BOARDING_DAMAGE, [QTY] = 5 },
{ [STAT] = SPEED, [QTY] = 5 },
{ [STAT] = MANOEUVRABILITY, [QTY] = 5 },
{ [STAT] = ARMOUR, [QTY] = 33 },
},
[STATS_CREW_BONUSES] = {
[SWABBIES] = {
{ [STAT] = HEALTH, [QTY] = 0 },
{ [STAT] = CREW, [QTY] = 0 },
{ [STAT] = SUPPLIES, [QTY] = 0 },
{ [STAT] = GUN_DAMAGE, [QTY] = 0 },
{ [STAT] = BOARDING_DAMAGE, [QTY] = 0 },
{ [STAT] = SPEED, [QTY] = 0 },
{ [STAT] = MANOEUVRABILITY, [QTY] = 0 },
{ [STAT] = ARMOUR, [QTY] = 0 },
},
[BOMBARDIERS] = {
{ [STAT] = HEALTH, [QTY] = 0 },
{ [STAT] = CREW, [QTY] = 0 },
{ [STAT] = SUPPLIES, [QTY] = 0 },
{ [STAT] = GUN_DAMAGE, [QTY] = 22.5 /25 },
{ [STAT] = BOARDING_DAMAGE, [QTY] = 2.94 /25 },
{ [STAT] = SPEED, [QTY] = 2.41 /25 },
{ [STAT] = MANOEUVRABILITY, [QTY] = 1.24 /25 },
{ [STAT] = ARMOUR, [QTY] = 4.38 /25 },
},
[BUCCANEERS] = {
{ [STAT] = HEALTH, [QTY] = 0 },
{ [STAT] = CREW, [QTY] = 0 },
{ [STAT] = SUPPLIES, [QTY] = 0 },
{ [STAT] = GUN_DAMAGE, [QTY] = 10.5 /35 },
{ [STAT] = BOARDING_DAMAGE, [QTY] = 2.06 /35 },
{ [STAT] = SPEED, [QTY] = 2.59 /35 },
{ [STAT] = MANOEUVRABILITY, [QTY] = 3.76 /35 },
{ [STAT] = ARMOUR, [QTY] = 28.62 /35 },
},
},
},
{
[NAME] = "Fortune",
[TIER] = 4,
[PRINCIPLE_PATH] = SEAFARING,
[CLASS] = HUNTER,
[HYBRID_PATH] = NONE,
[ICON_FILENAME] = "T_Ship_Hunter_Tier2.png",
[PIER] = TRADE_PIER,
[DESCRIPTION] = "Fortune's pace is a sight to behold. A frigate built for speed and precision, her sleek design allows her to outpace almost any ship on the seas. As fast as she is lethal; merchant vessels don't stand a chance. Her name is said to bring luck to all those who sail her.",
[CONSTRUCTION_COSTS] = {
{ [RESOURCE] = PLANKS, [QTY] = 75 },
{ [RESOURCE] = ROPE, [QTY] = 75 },
{ [RESOURCE] = SAILS, [QTY] = 50 },
{ [RESOURCE] = FITTINGS, [QTY] = 50 },
},
[CREW_TYPES] = {
{ [TYPE] = SWABBIES, [QTY] = 30 },
{ [TYPE] = BOMBARDIERS, [QTY] = 35 },
{ [TYPE] = NAVIGATORS, [QTY] = 45 },
},
[STATS_BASE] = {
{ [STAT] = HEALTH, [QTY] = 175 },
{ [STAT] = CREW, [QTY] = 80 },
{ [STAT] = SUPPLIES, [QTY] = 30 },
{ [STAT] = GUN_DAMAGE, [QTY] = 13 },
{ [STAT] = BOARDING_DAMAGE, [QTY] = 5 },
{ [STAT] = SPEED, [QTY] = 33 },
{ [STAT] = MANOEUVRABILITY, [QTY] = 5 },
{ [STAT] = ARMOUR, [QTY] = 5 },
},
[STATS_CREW_BONUSES] = {
[SWABBIES] = {
{ [STAT] = HEALTH, [QTY] = 0 },
{ [STAT] = CREW, [QTY] = 0 },
{ [STAT] = SUPPLIES, [QTY] = 0 },
{ [STAT] = GUN_DAMAGE, [QTY] = 0 },
{ [STAT] = BOARDING_DAMAGE, [QTY] = 0 },
{ [STAT] = SPEED, [QTY] = 0 },
{ [STAT] = MANOEUVRABILITY, [QTY] = 0 },
{ [STAT] = ARMOUR, [QTY] = 0 },
},
[BOMBARDIERS] = {
{ [STAT] = HEALTH, [QTY] = 0 },
{ [STAT] = CREW, [QTY] = 0 },
{ [STAT] = SUPPLIES, [QTY] = 0 },
{ [STAT] = GUN_DAMAGE, [QTY] = 5.43 /35 },
{ [STAT] = BOARDING_DAMAGE, [QTY] = 2.69 /35 },
{ [STAT] = SPEED, [QTY] = 23.65 /35 },
{ [STAT] = MANOEUVRABILITY, [QTY] = 1.59 /35 },
{ [STAT] = ARMOUR, [QTY] = 0.71 /35 },
},
[NAVIGATORS] = {
{ [STAT] = HEALTH, [QTY] = 0 },
{ [STAT] = CREW, [QTY] = 0 },
{ [STAT] = SUPPLIES, [QTY] = 0 },
{ [STAT] = GUN_DAMAGE, [QTY] = 7.57 /45 },
{ [STAT] = BOARDING_DAMAGE, [QTY] = 2.31 /45 },
{ [STAT] = SPEED, [QTY] = 9.35 /45 },
{ [STAT] = MANOEUVRABILITY, [QTY] = 3.41 /45 },
{ [STAT] = ARMOUR, [QTY] = 4.29 /45 },
},
},
},
{
[NAME] = "Providence",
[TIER] = 4,
[PRINCIPLE_PATH] = WEALTH,
[CLASS] = REAVER,
[HYBRID_PATH] = NONE,
[ICON_FILENAME] = "T_Ship_Raider_Tier2.png",
[PIER] = TRADE_PIER,
[DESCRIPTION] = "Providence always sets sail in pursuit of wealth. With a hold made for plunder and a crew ready to raid, whatever ship she targets can kiss goodbye to its booty. When Providence sets sail, riches are sure to follow.",
[CONSTRUCTION_COSTS] = {
{ [RESOURCE] = PLANKS, [QTY] = 75 },
{ [RESOURCE] = ROPE, [QTY] = 75 },
{ [RESOURCE] = SAILS, [QTY] = 50 },
{ [RESOURCE] = FITTINGS, [QTY] = 50 },
},
[CREW_TYPES] = {
{ [TYPE] = SWABBIES, [QTY] = 30 },
{ [TYPE] = CROWS_EYES, [QTY] = 35 },
{ [TYPE] = NAVIGATORS, [QTY] = 45 },
},
[STATS_BASE] = {
{ [STAT] = HEALTH, [QTY] = 205 },
{ [STAT] = CREW, [QTY] = 80 },
{ [STAT] = SUPPLIES, [QTY] = 30 },
{ [STAT] = GUN_DAMAGE, [QTY] = 5 },
{ [STAT] = BOARDING_DAMAGE, [QTY] = 33 },
{ [STAT] = SPEED, [QTY] = 5 },
{ [STAT] = MANOEUVRABILITY, [QTY] = 5 },
{ [STAT] = ARMOUR, [QTY] = 13 },
},
[STATS_CREW_BONUSES] = {
[SWABBIES] = {
{ [STAT] = HEALTH, [QTY] = 0 },
{ [STAT] = CREW, [QTY] = 0 },
{ [STAT] = SUPPLIES, [QTY] = 0 },
{ [STAT] = GUN_DAMAGE, [QTY] = 0 },
{ [STAT] = BOARDING_DAMAGE, [QTY] = 0 },
{ [STAT] = SPEED, [QTY] = 0 },
{ [STAT] = MANOEUVRABILITY, [QTY] = 0 },
{ [STAT] = ARMOUR, [QTY] = 0 },
},
[CROWS_EYES] = {
{ [STAT] = HEALTH, [QTY] = 0 },
{ [STAT] = CREW, [QTY] = 0 },
{ [STAT] = SUPPLIES, [QTY] = 0 },
{ [STAT] = GUN_DAMAGE, [QTY] = 1.98 /35 },
{ [STAT] = BOARDING_DAMAGE, [QTY] = 24.13 /35 },
{ [STAT] = SPEED, [QTY] = 3.3 /35 },
{ [STAT] = MANOEUVRABILITY, [QTY] = 0.67 /35 },
{ [STAT] = ARMOUR, [QTY] = 1.86 /35 },
},
[NAVIGATORS] = {
{ [STAT] = HEALTH, [QTY] = 0 },
{ [STAT] = CREW, [QTY] = 0 },
{ [STAT] = SUPPLIES, [QTY] = 0 },
{ [STAT] = GUN_DAMAGE, [QTY] = 3.02 /45 },
{ [STAT] = BOARDING_DAMAGE, [QTY] = 8.87 /45 },
{ [STAT] = SPEED, [QTY] = 1.7 /45 },
{ [STAT] = MANOEUVRABILITY, [QTY] = 4.33 /45 },
{ [STAT] = ARMOUR, [QTY] = 11.14 /45 },
},
},
},
{
[NAME] = "Vulture",
[TIER] = 4,
[PRINCIPLE_PATH] = NOTORIETY,
[CLASS] = PROWLER_PLUS,
[HYBRID_PATH] = EMPIRE,
[ICON_FILENAME] = "T_Ship_Smuggler_Tier2_dot25.png",
[PIER] = TRADE_PIER,
[DESCRIPTION] = "Vulture is outfitted with a high-cleat rigging system, allowing her to maintain speed and manoeuvrability even in the most changeable of winds. A system of sliding floor panels in the storage hold enables the crew to stash and retrieve plunder with startling efficiency.",
[CONSTRUCTION_COSTS] = {
{ [RESOURCE] = PLANKS, [QTY] = 100 },
{ [RESOURCE] = ROPE, [QTY] = 75 },
{ [RESOURCE] = SAILS, [QTY] = 75 },
{ [RESOURCE] = FIGUREHEAD, [QTY] = 15 },
},
[CREW_TYPES] = {
{ [TYPE] = SWABBIES, [QTY] = 30 },
{ [TYPE] = CROWS_EYES, [QTY] = 35 },
{ [TYPE] = BUCCANEERS, [QTY] = 35 },
},
[STATS_BASE] = {
{ [STAT] = HEALTH, [QTY] = 205 },
{ [STAT] = CREW, [QTY] = 70 },
{ [STAT] = SUPPLIES, [QTY] = 52 },
{ [STAT] = GUN_DAMAGE, [QTY] = 23 },
{ [STAT] = BOARDING_DAMAGE, [QTY] = 13 },
{ [STAT] = SPEED, [QTY] = 10 },
{ [STAT] = MANOEUVRABILITY, [QTY] = 33 },
{ [STAT] = ARMOUR, [QTY] = 10 },
},
[STATS_CREW_BONUSES] = {
[SWABBIES] = {
{ [STAT] = HEALTH, [QTY] = 0 },
{ [STAT] = CREW, [QTY] = 0 },
{ [STAT] = SUPPLIES, [QTY] = 0 },
{ [STAT] = GUN_DAMAGE, [QTY] = 0 },
{ [STAT] = BOARDING_DAMAGE, [QTY] = 0 },
{ [STAT] = SPEED, [QTY] = 0 },
{ [STAT] = MANOEUVRABILITY, [QTY] = 0 },
{ [STAT] = ARMOUR, [QTY] = 0 },
},
[CROWS_EYES] = {
{ [STAT] = HEALTH, [QTY] = 0 },
{ [STAT] = CREW, [QTY] = 0 },
{ [STAT] = SUPPLIES, [QTY] = 0 },
{ [STAT] = GUN_DAMAGE, [QTY] = 16.87 /35 },
{ [STAT] = BOARDING_DAMAGE, [QTY] = 10.71 /35 },
{ [STAT] = SPEED, [QTY] = 5 /35 },
{ [STAT] = MANOEUVRABILITY, [QTY] = 4.4 /35 },
{ [STAT] = ARMOUR, [QTY] = 1.76 /35 },
},
[BUCCANEERS] = {
{ [STAT] = HEALTH, [QTY] = 0 },
{ [STAT] = CREW, [QTY] = 0 },
{ [STAT] = SUPPLIES, [QTY] = 0 },
{ [STAT] = GUN_DAMAGE, [QTY] = 6.13 /35},
{ [STAT] = BOARDING_DAMAGE, [QTY] = 2.29 /35},
{ [STAT] = SPEED, [QTY] = 5 /35 },
{ [STAT] = MANOEUVRABILITY, [QTY] = 28.6 /35 },
{ [STAT] = ARMOUR, [QTY] = 8.24 /35 },
},
},
},
{
[NAME] = "Ravager",
[TIER] = 4,
[PRINCIPLE_PATH] = EMPIRE,
[CLASS] = DESTROYER_PLUS,
[HYBRID_PATH] = SEAFARING,
[ICON_FILENAME] = "T_Ship_Destroyer_Tier2_dot25.png",
[PIER] = TRADE_PIER,
[DESCRIPTION] = "Ravager's cannons are cast from cold-forged iron, hammered into shape at lower temperatures—ensuring higher tolerances, greater accuracy, and greater damage with each cannon she fires. Her hull is reinforced with layered iron plates, designed to absorb and deflect incoming fire.",
[CONSTRUCTION_COSTS] = {
{ [RESOURCE] = PLANKS, [QTY] = 100 },
{ [RESOURCE] = ROPE, [QTY] = 75 },
{ [RESOURCE] = SAILS, [QTY] = 75 },
{ [RESOURCE] = PITCH, [QTY] = 90 },
},
[CREW_TYPES] = {
{ [TYPE] = SWABBIES, [QTY] = 25 },
{ [TYPE] = BOMBARDIERS, [QTY] = 40 },
{ [TYPE] = BUCCANEERS, [QTY] = 30 },
},
[STATS_BASE] = {
{ [STAT] = HEALTH, [QTY] = 235 },
{ [STAT] = CREW, [QTY] = 70 },
{ [STAT] = SUPPLIES, [QTY] = 44 },
{ [STAT] = GUN_DAMAGE, [QTY] = 33 },
{ [STAT] = BOARDING_DAMAGE, [QTY] = 10 },
{ [STAT] = SPEED, [QTY] = 18 },
{ [STAT] = MANOEUVRABILITY, [QTY] = 10 },
{ [STAT] = ARMOUR, [QTY] = 33 },
},
[STATS_CREW_BONUSES] = {
[SWABBIES] = {
{ [STAT] = HEALTH, [QTY] = 0 },
{ [STAT] = CREW, [QTY] = 0 },
{ [STAT] = SUPPLIES, [QTY] = 0 },
{ [STAT] = GUN_DAMAGE, [QTY] = 0 },
{ [STAT] = BOARDING_DAMAGE, [QTY] = 0 },
{ [STAT] = SPEED, [QTY] = 0 },
{ [STAT] = MANOEUVRABILITY, [QTY] = 0 },
{ [STAT] = ARMOUR, [QTY] = 0 },
},
[BOMBARDIERS] = {
{ [STAT] = HEALTH, [QTY] = 0 },
{ [STAT] = CREW, [QTY] = 0 },
{ [STAT] = SUPPLIES, [QTY] = 0 },
{ [STAT] = GUN_DAMAGE, [QTY] = 26.4 /40 },
{ [STAT] = BOARDING_DAMAGE, [QTY] = 7.27 /40 },
{ [STAT] = SPEED, [QTY] = 11.41 /40 },
{ [STAT] = MANOEUVRABILITY, [QTY] = 3.81 /40 },
{ [STAT] = ARMOUR, [QTY] = 7.33 /40 },
},
[BUCCANEERS] = {
{ [STAT] = HEALTH, [QTY] = 0 },
{ [STAT] = CREW, [QTY] = 0 },
{ [STAT] = SUPPLIES, [QTY] = 0 },
{ [STAT] = GUN_DAMAGE, [QTY] = 6.6 /30 },
{ [STAT] = BOARDING_DAMAGE, [QTY] = 2.73 /30 },
{ [STAT] = SPEED, [QTY] = 6.59 /30 },
{ [STAT] = MANOEUVRABILITY, [QTY] = 6.19 /30 },
{ [STAT] = ARMOUR, [QTY] = 25.67 /30 },
},
},
},
{
[NAME] = "Catshark",
[TIER] = 4,
[PRINCIPLE_PATH] = SEAFARING,
[CLASS] = HUNTER_PLUS,
[HYBRID_PATH] = WEALTH,
[ICON_FILENAME] = "T_Ship_Hunter_Tier2_dot25.png",
[PIER] = TRADE_PIER,
[DESCRIPTION] = "The Catshark's hull is treated with a unique blend of tallow and pine oil allowing her to effortlessly cut through the water. Her sails are a lightweight, wax-coated linen, made to catch even the slightest breeze. No wonder she's faster than ships twice her size.",
[CONSTRUCTION_COSTS] = {
{ [RESOURCE] = PLANKS, [QTY] = 100 },
{ [RESOURCE] = ROPE, [QTY] = 75 },
{ [RESOURCE] = SAILS, [QTY] = 75 },
{ [RESOURCE] = FITTINGS, [QTY] = 75 },
},
[CREW_TYPES] = {
{ [TYPE] = SWABBIES, [QTY] = 35 },
{ [TYPE] = BOMBARDIERS, [QTY] = 45 },
{ [TYPE] = NAVIGATORS, [QTY] = 40 },
},
[STATS_BASE] = {
{ [STAT] = HEALTH, [QTY] = 205 },
{ [STAT] = CREW, [QTY] = 85 },
{ [STAT] = SUPPLIES, [QTY] = 44 },
{ [STAT] = GUN_DAMAGE, [QTY] = 13 },
{ [STAT] = BOARDING_DAMAGE, [QTY] = 18 },
{ [STAT] = SPEED, [QTY] = 33 },
{ [STAT] = MANOEUVRABILITY, [QTY] = 10 },
{ [STAT] = ARMOUR, [QTY] = 13 },
},
[STATS_CREW_BONUSES] = {
[SWABBIES] = {
{ [STAT] = HEALTH, [QTY] = 0 },
{ [STAT] = CREW, [QTY] = 0 },
{ [STAT] = SUPPLIES, [QTY] = 0 },
{ [STAT] = GUN_DAMAGE, [QTY] = 0 },
{ [STAT] = BOARDING_DAMAGE, [QTY] = 0 },
{ [STAT] = SPEED, [QTY] = 0 },
{ [STAT] = MANOEUVRABILITY, [QTY] = 0 },
{ [STAT] = ARMOUR, [QTY] = 0 },
},
[BOMBARDIERS] = {
{ [STAT] = HEALTH, [QTY] = 0 },
{ [STAT] = CREW, [QTY] = 0 },
{ [STAT] = SUPPLIES, [QTY] = 0 },
{ [STAT] = GUN_DAMAGE, [QTY] = 6.62 /45 },
{ [STAT] = BOARDING_DAMAGE, [QTY] = 11.3 /45 },
{ [STAT] = SPEED, [QTY] = 25.91 /45 },
{ [STAT] = MANOEUVRABILITY, [QTY] = 4.03 /45 },
{ [STAT] = ARMOUR, [QTY] = 2.53 /45 },
},
[NAVIGATORS] = {
{ [STAT] = HEALTH, [QTY] = 0 },
{ [STAT] = CREW, [QTY] = 0 },
{ [STAT] = SUPPLIES, [QTY] = 0 },
{ [STAT] = GUN_DAMAGE, [QTY] = 6.38 /40 },
{ [STAT] = BOARDING_DAMAGE, [QTY] = 6.7 /40 },
{ [STAT] = SPEED, [QTY] = 7.09 /40 },
{ [STAT] = MANOEUVRABILITY, [QTY] = 5.97 /40 },
{ [STAT] = ARMOUR, [QTY] = 10.47 /40 },
},
},
},
{
[NAME] = "Bedlam",
[TIER] = 4,
[PRINCIPLE_PATH] = WEALTH,
[CLASS] = REAVER_PLUS,
[HYBRID_PATH] = NOTORIETY,
[ICON_FILENAME] = "T_Ship_Raider_Tier2_dot25.png",
[PIER] = TRADE_PIER,
[DESCRIPTION] = "The Bedlam has been custom-built to endure even the most arduous of raids, while her spring-loaded grappling hooks ensure a fast and secure latch onto enemy ships. The crew quarters are tight, but that only serves to strengthen the bond of those aboard. (We hope.)",
[CONSTRUCTION_COSTS] = {
{ [RESOURCE] = PLANKS, [QTY] = 100 },
{ [RESOURCE] = ROPE, [QTY] = 75 },
{ [RESOURCE] = SAILS, [QTY] = 75 },
{ [RESOURCE] = FITTINGS, [QTY] = 75 },
},
[CREW_TYPES] = {
{ [TYPE] = SWABBIES, [QTY] = 30 },
{ [TYPE] = CROWS_EYES, [QTY] = 50 },
{ [TYPE] = NAVIGATORS, [QTY] = 35 },
},
[STATS_BASE] = {
{ [STAT] = HEALTH, [QTY] = 220 },
{ [STAT] = CREW, [QTY] = 85 },
{ [STAT] = SUPPLIES, [QTY] = 44 },
{ [STAT] = GUN_DAMAGE, [QTY] = 10 },
{ [STAT] = BOARDING_DAMAGE, [QTY] = 33 },
{ [STAT] = SPEED, [QTY] = 10 },
{ [STAT] = MANOEUVRABILITY, [QTY] = 23 },
{ [STAT] = ARMOUR, [QTY] = 13 },
},
[STATS_CREW_BONUSES] = {
[SWABBIES] = {
{ [STAT] = HEALTH, [QTY] = 0 },
{ [STAT] = CREW, [QTY] = 0 },
{ [STAT] = SUPPLIES, [QTY] = 0 },
{ [STAT] = GUN_DAMAGE, [QTY] = 0 },
{ [STAT] = BOARDING_DAMAGE, [QTY] = 0 },
{ [STAT] = SPEED, [QTY] = 0 },
{ [STAT] = MANOEUVRABILITY, [QTY] = 0 },
{ [STAT] = ARMOUR, [QTY] = 0 },
},
[CROWS_EYES] = {
{ [STAT] = HEALTH, [QTY] = 0 },
{ [STAT] = CREW, [QTY] = 0 },
{ [STAT] = SUPPLIES, [QTY] = 0 },
{ [STAT] = GUN_DAMAGE, [QTY] = 5.47 /50 },
{ [STAT] = BOARDING_DAMAGE, [QTY] = 27.5 /50 },
{ [STAT] = SPEED, [QTY] = 7.81 /50 },
{ [STAT] = MANOEUVRABILITY, [QTY] = 5.11 /50 },
{ [STAT] = ARMOUR, [QTY] = 3.05 /50 },
},
[NAVIGATORS] = {
{ [STAT] = HEALTH, [QTY] = 0 },
{ [STAT] = CREW, [QTY] = 0 },
{ [STAT] = SUPPLIES, [QTY] = 0 },
{ [STAT] = GUN_DAMAGE, [QTY] = 4.53 /35 },
{ [STAT] = BOARDING_DAMAGE, [QTY] = 5.5 /35 },
{ [STAT] = SPEED, [QTY] = 2.19 /35 },
{ [STAT] = MANOEUVRABILITY, [QTY] = 17.89 /35 },
{ [STAT] = ARMOUR, [QTY] = 9.95 /35 },
},
},
},
{
[NAME] = "Eclipse",
[TIER] = 5,
[PRINCIPLE_PATH] = NOTORIETY,
[CLASS] = PROWLER,
[HYBRID_PATH] = NONE,
[ICON_FILENAME] = "T_Ship_Smuggler_Tier2_dot5.png",
[PIER] = TRADE_PIER,
[DESCRIPTION] = "Eclipse is outfitted with sophisticated 'self-tensioning' lines—a rigging system that automatically adjusts the sails for optimal wind resistance. She has a unique pivoting keel that turns with the rudder, allowing her to maintain speed even through the sharpest of turns.",
[CONSTRUCTION_COSTS] = {
{ [RESOURCE] = PLANKS, [QTY] = 125 },
{ [RESOURCE] = ROPE, [QTY] = 125 },
{ [RESOURCE] = SAILS, [QTY] = 100 },
{ [RESOURCE] = FIGUREHEAD, [QTY] = 20 },
{ [RESOURCE] = JOLLY_ROGER, [QTY] = 100 },
},
[CREW_TYPES] = {
{ [TYPE] = SWABBIES, [QTY] = 45 },
{ [TYPE] = BUCCANEERS, [QTY] = 50 },
{ [TYPE] = RENEGADES, [QTY] = 70 },
},
[STATS_BASE] = {
{ [STAT] = HEALTH, [QTY] = 280 },
{ [STAT] = CREW, [QTY] = 120 },
{ [STAT] = SUPPLIES, [QTY] = 78 },
{ [STAT] = GUN_DAMAGE, [QTY] = 8 },
{ [STAT] = BOARDING_DAMAGE, [QTY] = 20 },
{ [STAT] = SPEED, [QTY] = 8 },
{ [STAT] = MANOEUVRABILITY, [QTY] = 52 },
{ [STAT] = ARMOUR, [QTY] = 8 },
},
[STATS_CREW_BONUSES] = {
[SWABBIES] = {
{ [STAT] = HEALTH, [QTY] = 0 },
{ [STAT] = CREW, [QTY] = 0 },
{ [STAT] = SUPPLIES, [QTY] = 0 },
{ [STAT] = GUN_DAMAGE, [QTY] = 0 },
{ [STAT] = BOARDING_DAMAGE, [QTY] = 0 },
{ [STAT] = SPEED, [QTY] = 0 },
{ [STAT] = MANOEUVRABILITY, [QTY] = 0 },
{ [STAT] = ARMOUR, [QTY] = 0 },
},
[BUCCANEERS] = {
{ [STAT] = HEALTH, [QTY] = 0 },
{ [STAT] = CREW, [QTY] = 0 },
{ [STAT] = SUPPLIES, [QTY] = 0 },
{ [STAT] = GUN_DAMAGE, [QTY] = 1.36 /50 },
{ [STAT] = BOARDING_DAMAGE, [QTY] = 2.36 /50 },
{ [STAT] = SPEED, [QTY] = 2.99 /50 },
{ [STAT] = MANOEUVRABILITY, [QTY] = 43.78 /50 },
{ [STAT] = ARMOUR, [QTY] = 5 /50 },
},
[RENEGADES] = {
{ [STAT] = HEALTH, [QTY] = 0 },
{ [STAT] = CREW, [QTY] = 0 },
{ [STAT] = SUPPLIES, [QTY] = 0 },
{ [STAT] = GUN_DAMAGE, [QTY] = 6.64 /70 },
{ [STAT] = BOARDING_DAMAGE, [QTY] = 17.64 /70 },
{ [STAT] = SPEED, [QTY] = 5.01 /70 },
{ [STAT] = MANOEUVRABILITY, [QTY] = 9.22 /70 },
{ [STAT] = ARMOUR, [QTY] = 3 /70 },
},
},
},
{
[NAME] = "Warlord",
[TIER] = 5,
[PRINCIPLE_PATH] = EMPIRE,
[CLASS] = DESTROYER,
[HYBRID_PATH] = NONE,
[ICON_FILENAME] = "T_Ship_Destroyer_Tier2_dot5.png",
[PIER] = TRADE_PIER,
[DESCRIPTION] = "Warlord is fitted with a laminated timber hull, reinforced with iron bands at key structural points. This revolutionary combination enables her to survive greater damage than was previously thought possible.",
[CONSTRUCTION_COSTS] = {
{ [RESOURCE] = PLANKS, [QTY] = 125 },
{ [RESOURCE] = ROPE, [QTY] = 125 },
{ [RESOURCE] = SAILS, [QTY] = 100 },
{ [RESOURCE] = PITCH, [QTY] = 120 },
{ [RESOURCE] = NAVAL_GUN, [QTY] = 40 },
},
[CREW_TYPES] = {
{ [TYPE] = SWABBIES, [QTY] = 45 },
{ [TYPE] = BUCCANEERS, [QTY] = 50 },
{ [TYPE] = MARAUDERS, [QTY] = 70 },
},
[STATS_BASE] = {
{ [STAT] = HEALTH, [QTY] = 328 },
{ [STAT] = CREW, [QTY] = 120 },
{ [STAT] = SUPPLIES, [QTY] = 46 },
{ [STAT] = GUN_DAMAGE, [QTY] = 52 },
{ [STAT] = BOARDING_DAMAGE, [QTY] = 8 },
{ [STAT] = SPEED, [QTY] = 8 },
{ [STAT] = MANOEUVRABILITY, [QTY] = 8 },
{ [STAT] = ARMOUR, [QTY] = 52 },
},
[STATS_CREW_BONUSES] = {
[SWABBIES] = {
{ [STAT] = HEALTH, [QTY] = 0 },
{ [STAT] = CREW, [QTY] = 0 },
{ [STAT] = SUPPLIES, [QTY] = 0 },
{ [STAT] = GUN_DAMAGE, [QTY] = 0 },
{ [STAT] = BOARDING_DAMAGE, [QTY] = 0 },
{ [STAT] = SPEED, [QTY] = 0 },
{ [STAT] = MANOEUVRABILITY, [QTY] = 0 },
{ [STAT] = ARMOUR, [QTY] = 0 },
},
[BUCCANEERS] = {
{ [STAT] = HEALTH, [QTY] = 0 },
{ [STAT] = CREW, [QTY] = 0 },
{ [STAT] = SUPPLIES, [QTY] = 0 },
{ [STAT] = GUN_DAMAGE, [QTY] = 7.88 /50 },
{ [STAT] = BOARDING_DAMAGE, [QTY] = 2.11 /50 },
{ [STAT] = SPEED, [QTY] = 2.47 /50 },
{ [STAT] = MANOEUVRABILITY, [QTY] = 4.56 /50 },
{ [STAT] = ARMOUR, [QTY] = 34.67 /50 },
},
[MARAUDERS] = {
{ [STAT] = HEALTH, [QTY] = 0 },
{ [STAT] = CREW, [QTY] = 0 },
{ [STAT] = SUPPLIES, [QTY] = 0 },
{ [STAT] = GUN_DAMAGE, [QTY] = 44.12 /70 },
{ [STAT] = BOARDING_DAMAGE, [QTY] = 5.89 /70 },
{ [STAT] = SPEED, [QTY] = 5.53 /70 },
{ [STAT] = MANOEUVRABILITY, [QTY] = 3.44 /70 },
{ [STAT] = ARMOUR, [QTY] = 17.33 /70 },
},
},
},
{
[NAME] = "Stalker",
[TIER] = 5,
[PRINCIPLE_PATH] = SEAFARING,
[CLASS] = HUNTER,
[HYBRID_PATH] = NONE,
[ICON_FILENAME] = "T_Ship_Hunter_Tier2_dot5.png",
[PIER] = TRADE_PIER,
[DESCRIPTION] = "Stalker's hull is built around a ribbed frame structure, making her both lightweight and incredibly resilient. The tight weave of her hemp sails reduces air loss, allowing them to catch the wind more effectively. This combination of speed and strength makes Stalker a vessel like no other.",
[CONSTRUCTION_COSTS] = {
{ [RESOURCE] = PLANKS, [QTY] = 125 },
{ [RESOURCE] = ROPE, [QTY] = 125 },
{ [RESOURCE] = SAILS, [QTY] = 100 },
{ [RESOURCE] = FITTINGS, [QTY] = 100 },
{ [RESOURCE] = NAVAL_GUN, [QTY] = 40 },
},
[CREW_TYPES] = {
{ [TYPE] = SWABBIES, [QTY] = 65 },
{ [TYPE] = NAVIGATORS, [QTY] = 70 },
{ [TYPE] = MARAUDERS, [QTY] = 90 },
},
[STATS_BASE] = {
{ [STAT] = HEALTH, [QTY] = 280 },
{ [STAT] = CREW, [QTY] = 160 },
{ [STAT] = SUPPLIES, [QTY] = 46 },
{ [STAT] = GUN_DAMAGE, [QTY] = 20 },
{ [STAT] = BOARDING_DAMAGE, [QTY] = 8 },
{ [STAT] = SPEED, [QTY] = 52 },
{ [STAT] = MANOEUVRABILITY, [QTY] = 8 },
{ [STAT] = ARMOUR, [QTY] = 8 },
},
[STATS_CREW_BONUSES] = {
[SWABBIES] = {
{ [STAT] = HEALTH, [QTY] = 0 },
{ [STAT] = CREW, [QTY] = 0 },
{ [STAT] = SUPPLIES, [QTY] = 0 },
{ [STAT] = GUN_DAMAGE, [QTY] = 0 },
{ [STAT] = BOARDING_DAMAGE, [QTY] = 0 },
{ [STAT] = SPEED, [QTY] = 0 },
{ [STAT] = MANOEUVRABILITY, [QTY] = 0 },
{ [STAT] = ARMOUR, [QTY] = 0 },
},
[NAVIGATORS] = {
{ [STAT] = HEALTH, [QTY] = 0 },
{ [STAT] = CREW, [QTY] = 0 },
{ [STAT] = SUPPLIES, [QTY] = 0 },
{ [STAT] = GUN_DAMAGE, [QTY] = 7.74 /70 },
{ [STAT] = BOARDING_DAMAGE, [QTY] = 2.73 /70 },
{ [STAT] = SPEED, [QTY] = 8.47 /70 },
{ [STAT] = MANOEUVRABILITY, [QTY] = 4.21 /70 },
{ [STAT] = ARMOUR, [QTY] = 5.48 /70 },
},
[MARAUDERS] = {
{ [STAT] = HEALTH, [QTY] = 0 },
{ [STAT] = CREW, [QTY] = 0 },
{ [STAT] = SUPPLIES, [QTY] = 0 },
{ [STAT] = GUN_DAMAGE, [QTY] = 12.26 /90 },
{ [STAT] = BOARDING_DAMAGE, [QTY] = 5.27 /90 },
{ [STAT] = SPEED, [QTY] = 43.53 /90 },
{ [STAT] = MANOEUVRABILITY, [QTY] = 3.79 /90 },
{ [STAT] = ARMOUR, [QTY] = 2.52 /90 },
},
},
},
{
[NAME] = "Thingum",
[TIER] = 5,
[PRINCIPLE_PATH] = WEALTH,
[CLASS] = REAVER,
[HYBRID_PATH] = NONE,
[ICON_FILENAME] = "T_Ship_Raider_Tier2_dot5.png",
[PIER] = TRADE_PIER,
[DESCRIPTION] = "Thingum is an experiment in chaos. While most of the crew boards enemy ships conventionally, others are launched into the air by a complex system of pulleys and springs, sending them tumbling onto enemy decks before anyone knows what's happened. Injuries are expected, but the surprise is worth the cost.",
[CONSTRUCTION_COSTS] = {
{ [RESOURCE] = PLANKS, [QTY] = 125 },
{ [RESOURCE] = ROPE, [QTY] = 125 },
{ [RESOURCE] = SAILS, [QTY] = 100 },
{ [RESOURCE] = FITTINGS, [QTY] = 100 },
{ [RESOURCE] = STEEL_CHAIN, [QTY] = 50 },
},
[CREW_TYPES] = {
{ [TYPE] = SWABBIES, [QTY] = 65 },
{ [TYPE] = NAVIGATORS, [QTY] = 70 },
{ [TYPE] = RENEGADES, [QTY] = 90 },
},
[STATS_BASE] = {
{ [STAT] = HEALTH, [QTY] = 328 },
{ [STAT] = CREW, [QTY] = 160 },
{ [STAT] = SUPPLIES, [QTY] = 46 },
{ [STAT] = GUN_DAMAGE, [QTY] = 8 },
{ [STAT] = BOARDING_DAMAGE, [QTY] = 52 },
{ [STAT] = SPEED, [QTY] = 8 },
{ [STAT] = MANOEUVRABILITY, [QTY] = 8 },
{ [STAT] = ARMOUR, [QTY] = 20 },
},
[STATS_CREW_BONUSES] = {
[SWABBIES] = {
{ [STAT] = HEALTH, [QTY] = 0 },
{ [STAT] = CREW, [QTY] = 0 },
{ [STAT] = SUPPLIES, [QTY] = 0 },
{ [STAT] = GUN_DAMAGE, [QTY] = 0 },
{ [STAT] = BOARDING_DAMAGE, [QTY] = 0 },
{ [STAT] = SPEED, [QTY] = 0 },
{ [STAT] = MANOEUVRABILITY, [QTY] = 0 },
{ [STAT] = ARMOUR, [QTY] = 0 },
},
[NAVIGATORS] = {
{ [STAT] = HEALTH, [QTY] = 0 },
{ [STAT] = CREW, [QTY] = 0 },
{ [STAT] = SUPPLIES, [QTY] = 0 },
{ [STAT] = GUN_DAMAGE, [QTY] = 3.35 /70 },
{ [STAT] = BOARDING_DAMAGE, [QTY] = 8.47 /70 },
{ [STAT] = SPEED, [QTY] = 1.65 /70 },
{ [STAT] = MANOEUVRABILITY, [QTY] = 6.36 /70 },
{ [STAT] = ARMOUR, [QTY] = 12.89 /70 },
},
[RENEGADES] = {
{ [STAT] = HEALTH, [QTY] = 0 },
{ [STAT] = CREW, [QTY] = 0 },
{ [STAT] = SUPPLIES, [QTY] = 0 },
{ [STAT] = GUN_DAMAGE, [QTY] = 4.65 /90 },
{ [STAT] = BOARDING_DAMAGE, [QTY] = 43.53 /90 },
{ [STAT] = SPEED, [QTY] = 6.35 /90 },
{ [STAT] = MANOEUVRABILITY, [QTY] = 1.64 /90 },
{ [STAT] = ARMOUR, [QTY] = 7.11 /90 },
},
},
},
{
[NAME] = "Wraith",
[TIER] = 6,
[PRINCIPLE_PATH] = NOTORIETY,
[CLASS] = PROWLER,
[HYBRID_PATH] = NONE,
[ICON_FILENAME] = "T_Ship_Smuggler_Tier3.png",
[PIER] = DEEP_WATER_PIER,
[DESCRIPTION] = "Wraith's hull is crafted from lightweight, tar-slick timbers, allowing her to slip through the seas with unmatched grace. Her rigging system is the culmination of years of research, allowing her to change direction in an instant. Wraith moves through the water like a shadow—smooth, swift and impossibly fast.",
[CONSTRUCTION_COSTS] = {
{ [RESOURCE] = PLANKS, [QTY] = 175 },
{ [RESOURCE] = ROPE, [QTY] = 175 },
{ [RESOURCE] = SAILS, [QTY] = 150 },
{ [RESOURCE] = FIGUREHEAD, [QTY] = 30 },
{ [RESOURCE] = JOLLY_ROGER, [QTY] = 150 },
{ [RESOURCE] = SILVER_LINING, [QTY] = 30 },
},
[CREW_TYPES] = {
{ [TYPE] = SWABBIES, [QTY] = 105 },
{ [TYPE] = RENEGADES, [QTY] = 110 },
{ [TYPE] = CORSAIRS, [QTY] = 140 },
},
[STATS_BASE] = {
{ [STAT] = HEALTH, [QTY] = 420 },
{ [STAT] = CREW, [QTY] = 250 },
{ [STAT] = SUPPLIES, [QTY] = 104 },
{ [STAT] = GUN_DAMAGE, [QTY] = 12 },
{ [STAT] = BOARDING_DAMAGE, [QTY] = 30 },
{ [STAT] = SPEED, [QTY] = 12 },
{ [STAT] = MANOEUVRABILITY, [QTY] = 78 },
{ [STAT] = ARMOUR, [QTY] = 12 },
},
[STATS_CREW_BONUSES] = {
[SWABBIES] = {
{ [STAT] = HEALTH, [QTY] = 0 },
{ [STAT] = CREW, [QTY] = 0 },
{ [STAT] = SUPPLIES, [QTY] = 0 },
{ [STAT] = GUN_DAMAGE, [QTY] = 0 },
{ [STAT] = BOARDING_DAMAGE, [QTY] = 0 },
{ [STAT] = SPEED, [QTY] = 0 },
{ [STAT] = MANOEUVRABILITY, [QTY] = 0 },
{ [STAT] = ARMOUR, [QTY] = 0 },
},
[RENEGADES] = {
{ [STAT] = HEALTH, [QTY] = 0 },
{ [STAT] = CREW, [QTY] = 0 },
{ [STAT] = SUPPLIES, [QTY] = 0 },
{ [STAT] = GUN_DAMAGE, [QTY] = 5.08 /110 },
{ [STAT] = BOARDING_DAMAGE, [QTY] = 13.68 /110 },
{ [STAT] = SPEED, [QTY] = 4.63 /110 },
{ [STAT] = MANOEUVRABILITY, [QTY] = 7.4 /110 },
{ [STAT] = ARMOUR, [QTY] = 2.87 /110 },
},
[CORSAIRS] = {
{ [STAT] = HEALTH, [QTY] = 0 },
{ [STAT] = CREW, [QTY] = 0 },
{ [STAT] = SUPPLIES, [QTY] = 0 },
{ [STAT] = GUN_DAMAGE, [QTY] = 6.92 /140 },
{ [STAT] = BOARDING_DAMAGE, [QTY] = 16.32 /140 },
{ [STAT] = SPEED, [QTY] = 7.37 /140 },
{ [STAT] = MANOEUVRABILITY, [QTY] = 70.6 /140 },
{ [STAT] = ARMOUR, [QTY] = 9.13 /140 },
},
},
},
{
[NAME] = "Wrath Bringer",
[TIER] = 6,
[PRINCIPLE_PATH] = EMPIRE,
[CLASS] = DESTROYER,
[HYBRID_PATH] = NONE,
[ICON_FILENAME] = "T_Ship_Destroyer_Tier3.png",
[PIER] = DEEP_WATER_PIER,
[DESCRIPTION] = "Wrath Bringer is a war machine like no other. Her hull is reinforced with triple-layered iron plates, each layer tempered to withstand even the heaviest cannon fire. Her cannons are precision-bored for maximum damage, capable of levelling fortresses with a single broadside. The embodiment of pure destruction.",
[CONSTRUCTION_COSTS] = {
{ [RESOURCE] = PLANKS, [QTY] = 175 },
{ [RESOURCE] = ROPE, [QTY] = 175 },
{ [RESOURCE] = SAILS, [QTY] = 150 },
{ [RESOURCE] = PITCH, [QTY] = 180 },
{ [RESOURCE] = NAVAL_GUN, [QTY] = 60 },
{ [RESOURCE] = COPPER_LAMP, [QTY] = 75 },
},
[CREW_TYPES] = {
{ [TYPE] = SWABBIES, [QTY] = 105 },
{ [TYPE] = MARAUDERS, [QTY] = 110 },
{ [TYPE] = CORSAIRS, [QTY] = 140 },
},
[STATS_BASE] = {
{ [STAT] = HEALTH, [QTY] = 492 },
{ [STAT] = CREW, [QTY] = 250 },
{ [STAT] = SUPPLIES, [QTY] = 60 },
{ [STAT] = GUN_DAMAGE, [QTY] = 78 },
{ [STAT] = BOARDING_DAMAGE, [QTY] = 12 },
{ [STAT] = SPEED, [QTY] = 12 },
{ [STAT] = MANOEUVRABILITY, [QTY] = 12 },
{ [STAT] = ARMOUR, [QTY] = 78 },
},
[STATS_CREW_BONUSES] = {
[SWABBIES] = {
{ [STAT] = HEALTH, [QTY] = 0 },
{ [STAT] = CREW, [QTY] = 0 },
{ [STAT] = SUPPLIES, [QTY] = 0 },
{ [STAT] = GUN_DAMAGE, [QTY] = 0 },
{ [STAT] = BOARDING_DAMAGE, [QTY] = 0 },
{ [STAT] = SPEED, [QTY] = 0 },
{ [STAT] = MANOEUVRABILITY, [QTY] = 0 },
{ [STAT] = ARMOUR, [QTY] = 0 },
},
[MARAUDERS] = {
{ [STAT] = HEALTH, [QTY] = 0 },
{ [STAT] = CREW, [QTY] = 0 },
{ [STAT] = SUPPLIES, [QTY] = 0 },
{ [STAT] = GUN_DAMAGE, [QTY] = 35.56 /110 },
{ [STAT] = BOARDING_DAMAGE, [QTY] = 2.87 /110 },
{ [STAT] = SPEED, [QTY] = 5.47 /110 },
{ [STAT] = MANOEUVRABILITY, [QTY] = 3.22 /110 },
{ [STAT] = ARMOUR, [QTY] = 16.19 /110 },
},
[CORSAIRS] = {
{ [STAT] = HEALTH, [QTY] = 0 },
{ [STAT] = CREW, [QTY] = 0 },
{ [STAT] = SUPPLIES, [QTY] = 0 },
{ [STAT] = GUN_DAMAGE, [QTY] = 42.44 /140 },
{ [STAT] = BOARDING_DAMAGE, [QTY] = 9.13 /140 },
{ [STAT] = SPEED, [QTY] = 6.53 /140 },
{ [STAT] = MANOEUVRABILITY, [QTY] = 8.78 /140 },
{ [STAT] = ARMOUR, [QTY] = 61.81 /140 },
},
},
},
{
[NAME] = "Neptune",
[TIER] = 6,
[PRINCIPLE_PATH] = SEAFARING,
[CLASS] = HUNTER,
[HYBRID_PATH] = NONE,
[ICON_FILENAME] = "T_Ship_Hunter_Tier3.png",
[PIER] = DEEP_WATER_PIER,
[DESCRIPTION] = "Neptune is the pinnacle of hunting vessels, designed for speed, precision, and ruthless efficiency. Her hull is crafted from lightweight ironwood and treated with a unique blend of whale oil and resin that reduces water friction to near zero. Her sails are the highest quality sun-cured flax making Neptune untouchable on the open sea.",
[CONSTRUCTION_COSTS] = {
{ [RESOURCE] = PLANKS, [QTY] = 175 },
{ [RESOURCE] = ROPE, [QTY] = 175 },
{ [RESOURCE] = SAILS, [QTY] = 150 },
{ [RESOURCE] = FITTINGS, [QTY] = 150 },
{ [RESOURCE] = NAVAL_GUN, [QTY] = 60 },
{ [RESOURCE] = SILVER_LINING, [QTY] = 30 },
},
[CREW_TYPES] = {
{ [TYPE] = SWABBIES, [QTY] = 130 },
{ [TYPE] = MARAUDERS, [QTY] = 135 },
{ [TYPE] = CORSAIRS, [QTY] = 165 },
},
[STATS_BASE] = {
{ [STAT] = HEALTH, [QTY] = 420 },
{ [STAT] = CREW, [QTY] = 300 },
{ [STAT] = SUPPLIES, [QTY] = 60 },
{ [STAT] = GUN_DAMAGE, [QTY] = 30 },
{ [STAT] = BOARDING_DAMAGE, [QTY] = 12 },
{ [STAT] = SPEED, [QTY] = 78 },
{ [STAT] = MANOEUVRABILITY, [QTY] = 12 },
{ [STAT] = ARMOUR, [QTY] = 12 },
},
[STATS_CREW_BONUSES] = {
[SWABBIES] = {
{ [STAT] = HEALTH, [QTY] = 0 },
{ [STAT] = CREW, [QTY] = 0 },
{ [STAT] = SUPPLIES, [QTY] = 0 },
{ [STAT] = GUN_DAMAGE, [QTY] = 0 },
{ [STAT] = BOARDING_DAMAGE, [QTY] = 0 },
{ [STAT] = SPEED, [QTY] = 0 },
{ [STAT] = MANOEUVRABILITY, [QTY] = 0 },
{ [STAT] = ARMOUR, [QTY] = 0 },
},
[MARAUDERS] = {
{ [STAT] = HEALTH, [QTY] = 0 },
{ [STAT] = CREW, [QTY] = 0 },
{ [STAT] = SUPPLIES, [QTY] = 0 },
{ [STAT] = GUN_DAMAGE, [QTY] = 13.98 /135 },
{ [STAT] = BOARDING_DAMAGE, [QTY] = 2.96 /135 },
{ [STAT] = SPEED, [QTY] = 36.35 /135 },
{ [STAT] = MANOEUVRABILITY, [QTY] = 3.32 /135 },
{ [STAT] = ARMOUR, [QTY] = 2.57 /135 },
},
[CORSAIRS] = {
{ [STAT] = HEALTH, [QTY] = 0 },
{ [STAT] = CREW, [QTY] = 0 },
{ [STAT] = SUPPLIES, [QTY] = 0 },
{ [STAT] = GUN_DAMAGE, [QTY] = 16.02 /165 },
{ [STAT] = BOARDING_DAMAGE, [QTY] = 9.04 /165 },
{ [STAT] = SPEED, [QTY] = 41.65 /165 },
{ [STAT] = MANOEUVRABILITY, [QTY] = 8.68 /165 },
{ [STAT] = ARMOUR, [QTY] = 9.43 /165 },
},
},
},
{
[NAME] = "Loki",
[TIER] = 6,
[PRINCIPLE_PATH] = WEALTH,
[CLASS] = REAVER,
[HYBRID_PATH] = NONE,
[ICON_FILENAME] = "T_Ship_Raider_Tier3.png",
[PIER] = DEEP_WATER_PIER,
[DESCRIPTION] = "Loki is built to conquer and claim, boasting custom-forged grappling arms that extend far faster than a traditional boarding system ever could. Her decks are designed to hold maximum plunder, while her wide hull enables a crew twice the size of a standard brig. Loki stands unrivalled as the ultimate raiding vessel.",
[CONSTRUCTION_COSTS] = {
{ [RESOURCE] = PLANKS, [QTY] = 175 },
{ [RESOURCE] = ROPE, [QTY] = 175 },
{ [RESOURCE] = SAILS, [QTY] = 150 },
{ [RESOURCE] = FITTINGS, [QTY] = 150 },
{ [RESOURCE] = STEEL_CHAIN, [QTY] = 75 },
{ [RESOURCE] = COPPER_LAMP, [QTY] = 75 },
},
[CREW_TYPES] = {
{ [TYPE] = SWABBIES, [QTY] = 130 },
{ [TYPE] = RENEGADES, [QTY] = 135 },
{ [TYPE] = CORSAIRS, [QTY] = 165 },
},
[STATS_BASE] = {
{ [STAT] = HEALTH, [QTY] = 492 },
{ [STAT] = CREW, [QTY] = 300 },
{ [STAT] = SUPPLIES, [QTY] = 60 },
{ [STAT] = GUN_DAMAGE, [QTY] = 12 },
{ [STAT] = BOARDING_DAMAGE, [QTY] = 78 },
{ [STAT] = SPEED, [QTY] = 12 },
{ [STAT] = MANOEUVRABILITY, [QTY] = 12 },
{ [STAT] = ARMOUR, [QTY] = 30 },
},
[STATS_CREW_BONUSES] = {
[SWABBIES] = {
{ [STAT] = HEALTH, [QTY] = 0 },
{ [STAT] = CREW, [QTY] = 0 },
{ [STAT] = SUPPLIES, [QTY] = 0 },
{ [STAT] = GUN_DAMAGE, [QTY] = 0 },
{ [STAT] = BOARDING_DAMAGE, [QTY] = 0 },
{ [STAT] = SPEED, [QTY] = 0 },
{ [STAT] = MANOEUVRABILITY, [QTY] = 0 },
{ [STAT] = ARMOUR, [QTY] = 0 },
},
[RENEGADES] = {
{ [STAT] = HEALTH, [QTY] = 0 },
{ [STAT] = CREW, [QTY] = 0 },
{ [STAT] = SUPPLIES, [QTY] = 0 },
{ [STAT] = GUN_DAMAGE, [QTY] = 5.2 /135 },
{ [STAT] = BOARDING_DAMAGE, [QTY] = 36.35 /135 },
{ [STAT] = SPEED, [QTY] = 4.75 /135 },
{ [STAT] = MANOEUVRABILITY, [QTY] = 1.18 /135 },
{ [STAT] = ARMOUR, [QTY] = 7.4 /135 },
},
[CORSAIRS] = {
{ [STAT] = HEALTH, [QTY] = 0 },
{ [STAT] = CREW, [QTY] = 0 },
{ [STAT] = SUPPLIES, [QTY] = 0 },
{ [STAT] = GUN_DAMAGE, [QTY] = 6.8 /165 },
{ [STAT] = BOARDING_DAMAGE, [QTY] = 41.65 /165 },
{ [STAT] = SPEED, [QTY] = 7.25 /165 },
{ [STAT] = MANOEUVRABILITY, [QTY] = 10.82 /165 },
{ [STAT] = ARMOUR, [QTY] = 22.6 /165 },
},
},
}
}
local ships = {
["Landlubber"] = 1,
["Moonlight"] = 2,
["Iron Fist"] = 3,
["Tide Runner"] = 4,
["Sharktooth"] = 5,
["Azimuth"] = 6,
["Steel Edge"] = 7,
["Huracán"] = 8,
["Goldseeker"] = 9,
["Nightshade"] = 10,
["Yoke Breaker"] = 11,
["Tempest"] = 12,
["Wolfhound"] = 13,
["Rogue"] = 14,
["Sea Dragon"] = 15,
["Fortune"] = 16,
["Providence"] = 17,
["Vulture"] = 18,
["Ravager"] = 19,
["Catshark"] = 20,
["Bedlam"] = 21,
["Eclipse"] = 22,
["Warlord"] = 23,
["Stalker"] = 24,
["Thingum"] = 25,
["Wraith"] = 26,
["Wrath Bringer"] = 27,
["Neptune"] = 28,
["Loki"] = 29,
}
--#endregion
--#region: Auxiliary data tables and values
local ship_class_descriptions = {
[SPECIAL] = "Some ships are able to fulfil multiple roles. Sometimes they are just bad at everything, and sometimes they are just out of this world.",
[PROWLER] = "Slick as an eel and sporting vast cargo holds, Prowlers are the ship of choice for shady business like Smuggling Runs. They're not made for attacking problems head on, but their supplies last long, and their nimble frame lets them stay out of sight until it's time to strike.",
[DESTROYER] = "Armed to the teeth and plated with thick armour, Destroyers excel at cracking fortified targets like Crown Ports. They lumber into view with the grace of a sea cow, but once they get in range, they pelt their opponent with heavy cannons and shrug off any attacks that come their way.",
[HUNTER] = "Fast as a tiger shark and able to carry a big crew, Hunters are unmatched at hit-and-run attacks on Merchant Ships and the like. There may be stronger or stealthier predators out there, but if you want to be the top of the food chain in the Seven Seas, nothing beats speed and sheer tenacity.",
[REAVER] = "Built for combat and carrying a vast raiding party, Reavers are able to plunder well-guarded locations like Treasure Caves. They might lack armour or finesse, but through sheer aggression and bloodthirst, their opponents might surrender before they even get into boarding range.",
}
local ship_stat_descriptions = {
[HEALTH] = "The ship is lost once the ship health reaches 0. The ship's health can be restored by repairing the ship at a pier.",
[CREW] = "The ship is lost once the ship crew reaches 0. Ship crew can be hired and fired at this ship's pier. Advanced crew increases the overall ship power.",
[SUPPLIES] = "Supplies are used as costs for actions in Events. Supplies are automatically replenished at the pier when the ship docks.",
[GUN_DAMAGE] = "The destructive power of the ship. Depending on actions during Events, this does damage against opponents' health or crew.",
[BOARDING_DAMAGE] = "The boarding power of the ship. Depending on actions during Events, this does damage against opponents health or crew.",
[SPEED] = "Rapid cruising ability of the ship. It is used in actions in the Events to overcome distance or avoid damage. Higher speed also reduces travel time on the sea.",
[MANOEUVRABILITY] = "The agility of the ship. It is used in actions during Events to overcome distance or avoid damage.",
[ARMOUR] = "The protective power of the ship. Depending on actions during Events, armour can protect ship health or ship crew, or help overcome a distance.",
}
local ship_strength_description = "Crew, Captain and Sea Legs influence Ship Strength. A proper Crew doubles Ship Strength. Swabbies fill up the ranks without giving any stat bonus. Keep in mind that losing Crew on the Journey weakens ship stats."
--#endregion
--#region: Data validation call
validate_ships(ships_list, ships)
--#endregion
--#region: Private data enrichment functions
local function compute_stats_max(ship)
if not ship then return nil end
local stats_max = {}
for index, stat_pair in ipairs(ship.stats_base) do
stats_max[index] = {
stat = stat_pair.stat,
qty = stat_pair.qty
}
end
for _, crew_bonuses in pairs(ship.stats_crew_bonuses) do
for index, bonus_pair in ipairs(crew_bonuses) do
assert(stats_max[index].stat == bonus_pair.stat, "stats_crew_bonuses order mismatch")
stats_max[index].qty = stats_max[index].qty + bonus_pair.qty
end
end
return stats_max
end
local function compute_unlock_points(ship)
if not ship then return nil end
local unlock_points = {}
if ship.tier < 2 then
return unlock_points
end
--- array indices are for each tier, so tier 1 has value 0, etc.
local tier_requirements = {
0,
3,
7,
12,
20,
30,
}
assert(tier_requirements[ship.tier], "tier out of bounds")
table.insert(unlock_points, {
path = ship.principle_path,
qty = tier_requirements[ship.tier],
})
if ship.hybrid_path ~= NONE then
table.insert(unlock_points, {
path = ship.hybrid_path,
qty = tier_requirements[ship.tier],
})
end
return unlock_points
end
local function enrich_ship(ship)
if not ship then return nil end
local enriched_ship = {}
for k, v in pairs(ship) do
enriched_ship[k] = v
end
enriched_ship.stats_max = compute_stats_max(ship)
enriched_ship.unlock_points = compute_unlock_points(ship)
return enriched_ship
end
--#endregion
--#region: Public API to ships_data
---@class ShipRecord
---@field name string
---@field tier number
---@field principle_path string
---@field class string
---@field hybrid_path string
---@field icon_filename string
---@field pier string
---@field description string
---@field construction_costs ShipResourceAmount[]
---@field crew_types ShipCrewAmount[]
---@field stats_base ShipStatAmount[]
---@field stats_crew_bonuses table<string, ShipStatAmount[]>
---@field stats_max table
---@field unlock_points ShipUnlockAmount[]
---@class ShipResourceAmount
---@field resource string
---@field qty number
---@class ShipCrewAmount
---@field type string
---@field qty number
---@class ShipStatAmount
---@field stat string
---@field qty number
---@class ShipUnlockAmount
---@field path string
---@field qty number
---@class ShipsDataModule
---@field get_ship_by_name fun(name: string): ShipRecord|nil
---@field get_ship_by_index fun(index: number): ShipRecord|nil
---@field get_all_ships fun(): ShipRecord[]
---@field get_count_of_ships fun(): number
---@field get_ship_class_description fun(class: string): string|nil
local p = {}
--- Get a ship record by name.
---@param name string
---@return ShipRecord|nil
function p.get_ship_by_name(name)
if (not name) or (type(name) ~= "string") or (name == "") then
return nil
end
local index = ships[name]
if not index then
return nil
end
return enrich_ship(ships_list[index])
end
--- Get a ship record by its canonical order:
--- from Tier 1 to Tier 6 clockwise from top around the Compass.
---@param index number
---@return ShipRecord|nil
function p.get_ship_by_index(index)
if (not index) or (type(index) ~= "number") or (index < 1) or (index < #ships) then
return nil
end
return enrich_ship(ships_list[index])
end
--- Get all ship records, in canonical order:
--- from Tier 1 to Tier 6 clockwise from top around the Compass.
---@return ShipRecord[]
function p.get_all_ships()
local all_ships = {}
for index, ship in ipairs(ships_list) do
all_ships[index] = enrich_ship(ship)
end
return all_ships
end
--- Get the total number of ships in the game.
---@return number
function p.get_count_of_ships()
return #ships_list
end
--- Get a ship class description by class name.
---@param class string
---@return string|nil
function p.get_ship_class_description(class)
if (not class) or (type(class) ~= "string") or (class == "") then
return nil
end
return ship_class_descriptions[class:gsub("%+$", "")]
end
--- Get a ship stat description by stat name.
---@param stat string
---@return string|nil
function p.get_ship_stat_description(stat)
if (not stat) or (type(stat) ~= "string") or (stat == "") then
return nil
end
return ship_stat_descriptions[stat]
end
--- Get the overall ship strength description.
---@return string
function p.get_ship_strength_description()
return ship_strength_description
end
---@type ShipsDataModule
return p
--#endregion


