Documentation Module:Focus/doc
Implements {{Focus}}.
Submodules
The following modules are used as needed.
| Submodule | Tags |
|---|---|
| Module:Focus/generic | GENERIC, WARLORD, HOA |
| Module:Focus/tfv | AST, CAN, SAF, NZL |
| Module:Focus/dod | CZE, HUN, ROM, YUG |
| Module:Focus/wtt | GER, JAP, CHI, PRC, MAN, CHISHARED |
| Module:Focus/mtg | ENG, USA, HOL, MEX, |
| Module:Focus/lar | FRA, FRE, VIC, POR, SPR, SPA |
| Module:Focus/bftb | BUL, GRE, TUR |
| Module:Focus/nsb | SOV, POL, EST, LAT, LIT, BALTIC |
| Module:Focus/bba | ITA, ETH, SWI |
| Module:Focus/aat | DEN, FIN, ICE, NOR, SWE, NORDIC |
| Module:Focus/toa | ARG, BRA, CHL, PRU, URG, GUAY, SMB |
| Module:Focus/gtd | AUS, BEL, COG, BELCOG, HUN2, HABSBURG |
| Module:Focus/goe | AFG, IRQ, RAJ2, PER |
Adding/editing focuses
First, go to the appropriate subpage for the country you want to edit.
- Add
To keep the order, find focus above/below the one you want to add.
To add a focus, start with the country tag followed by the focus ID in square brackets, example: sov['sov_infrastructure_effort_nsb'] = { }
Then, based on the parameters listed below, add an entry.
- Edit
To edit the focus, find it and simply edit it.
Parameters
| Parameter | Required | Type | Example | Note |
|---|---|---|---|---|
| name | Yes | String | "Army Effort" |
Focus name from localization file. |
| icon | Yes | String Table |
"goal_generic_allies_build_infantry" |
Focus icon. Focus icons. [1] is default. |
| suffix | No | String | "C" |
Should be used only if 2 or more focuses have the same name. Remember to update Template:Focus/doc. |
| linkName | No | String | "Develop Capital" |
In case when anchor name in nf page is different than localization name. |
| page | No | String | "ger" |
Set focus page. See: Module:Focus/Config (cfg.pages) |
| continuous | No | Bool | true |
If focus is from continuous focus file. |
Example entry: fra['fra_autoroutes'] = { name = "Autoroutes", icon = "goal_generic_construct_infrastructure" }
The national focus page should be placed at the end of the module, right after the loops.
--------------------------------------------------------------------------------
--
-- Module:Focus
--
--------------------------------------------------------------------------------
local cfg = mw.loadData("Module:Focus/Config")
local p = {}
function p.main(frame)
local args = frame.args
local aTag = args['tag']
--Check tag
if cfg.tags.chinese_warlords[aTag] then --Set chinese warlords tag to "warlord"
aTag = "warlord"
elseif cfg.tags.hoa_nations[aTag] then --Set horn of africa countries tag to "hoa"
aTag = "hoa"
elseif not cfg.tags.tagset[aTag] then
return "<span style=\"color: red; font-size: 11px;\">(Unrecognized focus TAG \"" .. aTag .. "\" for [[Template:Focus]])</span>[[Category:Pages with unrecognized focus strings]]"
end
--Load only 1 module at a time (One page per dlc)
local dlcPage = "Module:Focus/" .. cfg.tags.tagset[aTag]
local tag = mw.loadData(dlcPage)[aTag]
--Check id
if not tag[args['id']] then
return "<span style=\"color: red; font-size: 11px;\">(Unrecognized focus id \"" .. args['id'] .. "\" in TAG \"" .. aTag .. "\" for [[Template:Focus]])</span>[[Category:Pages with unrecognized focus strings]]"
end
local id = tag[args['id']]
--page
local page = ""
if id.continuous then
page = cfg.pages.continuous
else
page = cfg.pages[id.page]
end
--icon
local icon = ""
if args.icon ~= nil and args.icon ~= "" then
icon = args.icon
elseif type(id.icon) == "table" then
args.iconid = tonumber(args.iconid)
if id.icon[args.iconid] then
icon = id.icon[args.iconid]
else --Fallback value (default) if out of range
icon = id.icon[1]
end
else
icon = id.icon
end
--text
local text = ""
if args.text ~= nil and args.text ~= "" then
text = args.text
else
text = id.name
end
--
local linkName = ""
if id.linkName == nil then
linkName = "#" .. id.name
else
linkName = "#" .. id.linkName
end
if id.suffix ~= nil then
linkName = linkName .. " " .. id.suffix
end
--
if args['nolink'] == "yes" then
icon = string.format("[[File:%s.png|%s|%s|link=%s]]", icon, text, args['size'], linkName)
else
icon = string.format("[[File:%s.png|%s|%s|link=%s]]", icon, text, args['size'], page .. linkName)
text = string.format("[[%s|%s]]", page .. linkName, text)
end
return icon .. text
end
return p