Editing Module:Vehicle specifications
From Emergency Response: Liberty County Wiki
More actions
The edit can be undone.
Please check the comparison below to verify that this is what you want to do, and then publish the changes below to finish undoing the edit.
| Latest revision | Your text | ||
| Line 1: | Line 1: | ||
local p = {} |
local p = {} |
||
local semantic = require('mw.semantic') |
|||
function p.main(frame) |
function p.main(frame) |
||
local getArgs = require('Module:Arguments').getArgs |
local getArgs = require('Module:Arguments').getArgs |
||
local args = getArgs(frame) |
local args = getArgs(frame) |
||
local title = mw.uri.encode(mw.title.getCurrentTitle().text, 'WIKI'); |
|||
local wikitext = '|-|General=\n\n{|class="wikitable vehicle-specifications-table' |
|||
local wikitext = '|-|General=\n{|class="wikitable vehicle-specifications-table' |
|||
if args['manufacturer'] then |
|||
wikitext = wikitext .. '\n\n|-\n\n|Manufacturer\n\n|' .. args['manufacturer'] |
|||
end |
|||
wikitext = wikitext .. '\n|-\n|Manufacturer\n|' .. args['manufacturer'] |
|||
end |
|||
if args['model'] then |
|||
wikitext = wikitext .. '\n\n|-\n\n|Model\n\n|' .. args['model'] |
|||
end |
|||
wikitext = wikitext .. '\n|-\n|Model\n|' .. args['model'] |
|||
end |
|||
if args['trim'] then |
|||
wikitext = wikitext .. '\n\n|-\n\n|Trim\n\n|' .. args['trim'] |
|||
end |
|||
wikitext = wikitext .. '\n|-\n|Trim\n|' .. args['trim'] |
|||
end |
|||
if args['model_year'] then |
|||
wikitext = wikitext .. '\n\n|-\n\n|Model year\n\n|' .. args['model_year'] |
|||
end |
|||
wikitext = wikitext .. '\n|-\n|Model year\n|' .. args['model_year'] |
|||
end |
|||
if args['vehicle_id'] then |
|||
wikitext = wikitext .. '\n\n|-\n\n|Vehicle ID\n\n|' .. args['vehicle_id'] |
|||
end |
|||
wikitext = wikitext .. '\n|-\n|Vehicle ID\n|' .. args['vehicle_id'] |
|||
end |
|||
if args['team'] then |
|||
wikitext = wikitext .. '\n\n|-\n\n|Team\n\n|' .. args['team'] |
|||
end |
|||
wikitext = wikitext .. '\n|-\n|Team\n|' .. args['team'] |
|||
end |
|||
if args['form_factor'] then |
|||
wikitext = wikitext .. '\n\n|-\n\n|Form factor\n\n|' .. args['form_factor'] |
|||
end |
|||
wikitext = wikitext .. '\n|-\n|Form factor\n|' .. args['form_factor'] |
|||
end |
|||
if args['type'] then |
|||
wikitext = wikitext .. '\n\n|-\n\n|Type\n\n|' .. args['type'] |
|||
semantic.set{ ['Type'] = args['type'] } |
|||
end |
|||
if args['Class'] then |
|||
if args['class'] then -- Fixed case from 'Class' to 'class' for consistency |
|||
wikitext = wikitext .. '\n\n|-\n\n|Class\n\n|' .. args['class'] |
|||
end |
|||
if args['price'] then |
|||
wikitext = wikitext .. '\n\n|-\n\n|Price\n\n|' .. args['price'] |
|||
end |
|||
if args['discounted_price'] then |
|||
wikitext = wikitext .. '\n\n|-\n\n|Discounted price\n\n|' .. args['discounted_price'] |
|||
end |
|||
if args['rank'] then |
|||
wikitext = wikitext .. '\n\n|-\n\n|Rank\n\n|' .. args['rank'] |
|||
end |
|||
if not (args['form_factor'] == 'Trailer') then |
|||
wikitext = wikitext .. '\n\n|}\n\n|-|Performance=\n\n{|class="wikitable vehicle-specifications-table' |
|||
end |
|||
if args['top_speed'] then |
|||
wikitext = wikitext .. '\n\n|-\n\n|Top speed\n\n|' .. args['top_speed'] .. ' <small>MPH</small>' |
|||
end |
|||
if args['top_reverse_speed'] then |
|||
wikitext = wikitext .. '\n\n|-\n\n|Top reverse speed\n\n|' .. args['top_reverse_speed'] .. ' <small>MPH</small>' |
|||
end |
|||
if args['acceleration'] then |
|||
wikitext = wikitext .. '\n\n|-\n\n|Acceleration <small>(0-60)</small>\n\n|' .. args['acceleration'] .. ' <small>seconds</small>' |
|||
end |
|||
if args['deceleration'] then |
|||
wikitext = wikitext .. '\n\n|-\n\n|Deceleration <small>(60-0)</small>\n\n|' .. args['deceleration'] .. ' <small>seconds</small>' |
|||
end |
|||
if not (args['form_factor'] == 'Trailer') then |
|||
wikitext = wikitext .. '\n\n|}\n\n|-|Structure=\n\n{|class="wikitable vehicle-specifications-table' |
|||
wikitext = wikitext .. '\n|}\n<div class="vehicle-charts-tabber">{{#tag:tabber|Acceleration={{#chart:' .. title .. '_acceleration.chart|data=' .. title .. '_acceleration.tab}}{{!}}-{{!}}Deceleration={{#chart:' .. title .. '_deceleration.chart|data=' .. title .. '_deceleration.tab}}}}</div>' |
|||
end |
|||
if args['transmission'] then |
|||
wikitext = wikitext .. '\n\n|-\n\n|Transmission\n\n|' .. args['transmission'] .. '<small>-speed automatic/sequential</small>' |
|||
end |
|||
if args['fuel_capacity'] then |
|||
wikitext = wikitext .. '\n\n|-\n\n|Fuel capacity\n\n|' .. args['fuel_capacity'] .. ' <small>gallons</small>' |
|||
end |
|||
if args['battery_size'] then |
|||
wikitext = wikitext .. '\n\n|-\n\n|Battery size\n\n|' .. args['battery_size'] .. ' <small>kWh</small>' |
|||
end |
|||
if args['drivetrain'] then |
|||
wikitext = wikitext .. '\n\n|-\n\n|Drivetrain\n\n|' .. args['drivetrain'] .. '<small>-wheel drive</small>' |
|||
end |
|||
if args['health'] then |
|||
wikitext = wikitext .. '\n\n|-\n\n|Health\n\n|' .. args['health'] .. ' <small>HP</small>' |
|||
end |
|||
wikitext = wikitext .. '\n\n|}\n\n|-|Frame=\n\n{|class="wikitable vehicle-specifications-table' |
|||
if args['health'] then |
|||
wikitext = wikitext .. '\n|-\n|Health\n|' .. args['health'] .. ' <small>HP</small>' |
|||
if args['seats'] then |
|||
end |
|||
wikitext = wikitext .. '\n\n|-\n\n|Seats\n\n|' .. args['seats'] |
|||
end |
|||
wikitext = wikitext .. '\n|}\n|-|Frame=\n{|class="wikitable vehicle-specifications-table' |
|||
if args['wheels'] then |
|||
wikitext = wikitext .. '\n\n|-\n\n|Wheels\n\n|' .. args['wheels'] |
|||
end |
|||
if args['inspired_by'] then |
|||
wikitext = wikitext .. '\n\n|-\n\n|Inspired by\n\n|' .. args['inspired_by'] |
|||
end |
|||
wikitext = wikitext .. '\n\n|}' |
|||
if args['inspired_by'] and args['inspired_by_url'] then |
|||
wikitext = wikitext .. '\n|-\n|Inspired by\n|[' .. args['inspired_by_url'] .. ' ' .. args['inspired_by'] .. ']' |
|||
else |
|||
if args['inspired_by'] then |
|||
wikitext = wikitext .. '\n|-\n|Inspired by\n|' .. args['inspired_by'] |
|||
end |
|||
end |
|||
wikitext = wikitext .. '\n|}' |
|||
-- Bulk semantic setting at the end: Always include all properties, setting to args value or '' (to trigger removal if previously set) |
|||
local properties = {} |
|||
local prop_map = { |
|||
{arg = 'manufacturer', prop = 'Manufacturer'}, |
|||
{arg = 'model', prop = 'Model'}, |
|||
{arg = 'trim', prop = 'Trim'}, |
|||
{arg = 'model_year', prop = 'Model year'}, |
|||
{arg = 'vehicle_id', prop = 'Vehicle ID'}, |
|||
{arg = 'team', prop = 'Team'}, |
|||
{arg = 'form_factor', prop = 'Form factor'}, |
|||
{arg = 'type', prop = 'Type'}, |
|||
{arg = 'class', prop = 'Class'}, |
|||
{arg = 'price', prop = 'Price'}, |
|||
{arg = 'discounted_price', prop = 'Discounted price'}, |
|||
{arg = 'rank', prop = 'Rank'}, |
|||
{arg = 'top_speed', prop = 'Top speed'}, |
|||
{arg = 'top_reverse_speed', prop = 'Top reverse speed'}, |
|||
{arg = 'acceleration', prop = 'Acceleration'}, |
|||
{arg = 'deceleration', prop = 'Deceleration'}, |
|||
{arg = 'transmission', prop = 'Transmission'}, |
|||
{arg = 'fuel_capacity', prop = 'Fuel capacity'}, |
|||
{arg = 'battery_size', prop = 'Battery size'}, |
|||
{arg = 'drivetrain', prop = 'Drivetrain'}, |
|||
{arg = 'health', prop = 'Health'}, |
|||
{arg = 'seats', prop = 'Seats'}, |
|||
{arg = 'wheels', prop = 'Wheels'}, |
|||
{arg = 'inspired_by', prop = 'Inspired by'}, |
|||
{arg = 'inspired_by_url', prop = 'Inspired by URL'} |
|||
} |
|||
for _, mapping in ipairs(prop_map) do |
|||
properties[mapping.prop] = args[mapping.arg] or '' |
|||
end |
|||
mw.smw.set(properties) |
|||
return wikitext |
return wikitext |
||