Difference between revisions of "Module:Factions"
Jump to navigation
Jump to search
m (Test) |
(More tests) |
||
Line 9: | Line 9: | ||
AuriganDirectorate = 'Aurigan Directorate', | AuriganDirectorate = 'Aurigan Directorate', | ||
AuriganMercenaries = 'Mercenaries', | AuriganMercenaries = 'Mercenaries', | ||
− | AuriganPirates = 'Pirates', | + | AuriganPirates = '[[Local Pirates|Pirates]]', |
− | AuriganRestoration = 'Aurigan Restoration (Arano)', | + | AuriganRestoration = '[[Aurigan Coalition|Aurigan Restoration (Arano)]]', |
− | Chainelane = 'Chainelane Isles', | + | Chainelane = '[[Chainelane Isles]]', |
− | Circinus = 'Circinus Federation', | + | Circinus = '[[Circinus Federation]]', |
− | ClanDiamondShark = 'Clan Diamond Shark', | + | ClanDiamondShark = '[[Clan Diamond Shark]]', |
− | ClanGhostBear = 'Clan Ghost Bear', | + | ClanGhostBear = '[[Clan Ghost Bear]]', |
− | ClanJadeFalcon = 'Clan Jade Falcon', | + | ClanJadeFalcon = '[[Clan Jade Falcon]]', |
− | ClanNovaCat = 'Clan Nova Cat', | + | ClanNovaCat = '[[Clan Nova Cat]]', |
− | ClanWolf = 'Clan Wolf', | + | ClanWolf = '[[Clan Wolf]]', |
− | ComStar = 'ComStar', | + | ComStar = '[[ComStar]]', |
− | Davion = 'Federated Suns (Davion)', | + | Davion = '[[Federated Suns|Federated Suns (Davion)]]', |
− | Delphi = 'New Delphi Compact', | + | Delphi = '[[New Delphi Compact]]', |
− | Hanse = 'Hanseatic League', | + | Hanse = '[[Hanseatic League]]', |
− | JarnFolk = ' | + | JarnFolk = '[[JàrnFòlk]]', |
− | Kurita = 'Draconis Combine (Kurita)', | + | Kurita = '[[Draconis Combine|Draconis Combine (Kurita)]]', |
− | Liao = 'Capellan Confederation (Liao)', | + | Liao = '[[Capellan Confederation|Capellan Confederation (Liao)]]', |
Locals = 'Local Government', | Locals = 'Local Government', | ||
MagistracyOfCanopus = '[[Magistracy of Canopus]]', | MagistracyOfCanopus = '[[Magistracy of Canopus]]', | ||
− | Marian = 'Marian Hegemony', | + | Marian = '[[Marian Hegemony]]', |
− | Marik = 'Free Worlds League (Marik)', | + | Marik = '[[Free Worlds League|Free Worlds League (Marik)]]', |
− | Outworld = ' | + | Outworld = '[[Outworlds Alliance]]', |
− | Rasalhague = 'Free Rasalhague Republic', | + | Rasalhague = '[[Free Rasalhague Republic]]', |
− | Rim = 'Rim Collection', | + | Rim = '[[Rim Collection]]', |
− | Steiner = 'Lyran Commonwealth (Steiner)', | + | Steiner = '[[Lyran Commonwealth|Lyran Commonwealth (Steiner)]]', |
− | TaurianConcordat = 'Taurian Concordat', | + | TaurianConcordat = '[[Taurian Concordat]]', |
− | Tortuga = 'Tortuga Dominions' | + | Tortuga = '[[Tortuga Dominions]]' |
} | } | ||
Revision as of 21:46, 15 March 2021
Documentation for this module may be created at Module:Factions/doc
-- Module:Factions handles translating faction tags to their full names local p = {} local mechs = require('Module:Mech').core local getArgs = require('Module:Arguments').getArgs p.factionTags = { AuriganDirectorate = 'Aurigan Directorate', AuriganMercenaries = 'Mercenaries', AuriganPirates = '[[Local Pirates|Pirates]]', AuriganRestoration = '[[Aurigan Coalition|Aurigan Restoration (Arano)]]', Chainelane = '[[Chainelane Isles]]', Circinus = '[[Circinus Federation]]', ClanDiamondShark = '[[Clan Diamond Shark]]', ClanGhostBear = '[[Clan Ghost Bear]]', ClanJadeFalcon = '[[Clan Jade Falcon]]', ClanNovaCat = '[[Clan Nova Cat]]', ClanWolf = '[[Clan Wolf]]', ComStar = '[[ComStar]]', Davion = '[[Federated Suns|Federated Suns (Davion)]]', Delphi = '[[New Delphi Compact]]', Hanse = '[[Hanseatic League]]', JarnFolk = '[[JàrnFòlk]]', Kurita = '[[Draconis Combine|Draconis Combine (Kurita)]]', Liao = '[[Capellan Confederation|Capellan Confederation (Liao)]]', Locals = 'Local Government', MagistracyOfCanopus = '[[Magistracy of Canopus]]', Marian = '[[Marian Hegemony]]', Marik = '[[Free Worlds League|Free Worlds League (Marik)]]', Outworld = '[[Outworlds Alliance]]', Rasalhague = '[[Free Rasalhague Republic]]', Rim = '[[Rim Collection]]', Steiner = '[[Lyran Commonwealth|Lyran Commonwealth (Steiner)]]', TaurianConcordat = '[[Taurian Concordat]]', Tortuga = '[[Tortuga Dominions]]' } function p.factionMechs(frame) local tpl_args = getArgs(frame, {parentFirst=true}) local faction = tpl_args[1] local where = string.format('Mech.MechTags HOLDS "%s"', faction) -- when querying for mechs, set the limit to 2000. this is arbitrarily high -- (larger than the total number of mechs). without this, factions with lots -- of mechs would not show all of them. local factionMechData = mw.ext.cargo.query( 'Mech,Chassis','Chassis.Name=Name,Chassis.VariantName=VariantName', { join = 'Mech.ChassisID=Chassis.Id', where=where, limit=2000 } ) local mechsList = mw.html.create('ul') mechsList:cssText('column-count: 3;-moz-column-count: 3;-webkit-column-count: 3') for _, mech in ipairs(factionMechData) do mechsList:tag('li'):wikitext(string.format( '[[%s#%s|%s %s]]', mech['Name'], mech['VariantName'], mech['Name'], mech['VariantName'] )) end return mechsList end function p.mechFactions(frame) local tpl_args = getArgs(frame, {parentFirst=true}) variant = tpl_args[1] local mech = mechs.mech.byVariant(variant) if mech == nil then return mw.html.create('div').wikitext("''Mech not found''") end local tags = {} local factionList = mw.html.create('ul') for _, tag in ipairs(mech.tags) do if p.factionTags[tag] ~= nil then table.insert(tags, p.factionTags[tag]) end end table.sort(tags) for _, tag in ipairs(tags) do factionList:tag('li'):wikitext(tag) end return factionList end return p