From Dark and Darker Wiki
m (2nd attempt at nowiki on the debug_mode output) Tag: Reverted |
m (simplify debug_mode example again) Tag: Manual revert |
||
Line 24: | Line 24: | ||
-- Return the drawn wikitext | -- Return the drawn wikitext | ||
if debug_mode then | if debug_mode then | ||
return | return wikitext | ||
else | else | ||
return mw.getCurrentFrame():preprocess(wikitext) | return mw.getCurrentFrame():preprocess(wikitext) |
Revision as of 00:59, 21 December 2024
Overview
Functions for Sorcerer's Merge Spells and their component spells. Data comes from Data:MergeSpells.json
Functions
draw_merge_recipe
Draws a visual for the components that make up a given merge spell
Parameters
- merge_spell - 1st parameter - the name of the merge spell without spaces but capitalized properly, i.e. ElementalBolt
Example
{| class="wikitable sortable jquery-tablesorter ClassesTable" style="min-width:360px;> ! style="width:15%" class="headerSort" role="columnheader button" title="Sort ascending" | Merge Spell ! style="width:15%" class="headerSort" role="columnheader button" title="Sort ascending" | Parent Spell 1 ! style="width:15%" class="headerSort" role="columnheader button" title="Sort ascending" | Parent Spell 2 |- | {{#invoke:MergeSpells|draw_merge_recipe|ElementalBolt}} |}
Merge Spell | Parent Spell 1 | Parent Spell 2 |
---|---|---|
ElementalBolt |
FireArrow |
WaterBolt |
local p = {}
local merge_spells = mw.loadJsonData("Data:MergeSpells.json")
function p.draw_merge_recipe(merge_spell, debug_mode)
if type(merge_spell) == "table" and merge_spell.args then -- if called via wikitext instead of lua
local frame = merge_spell
merge_spell = frame.args[1]
debug_mode = frame.args["debug_mode"]
end
-- Validate and cast to bool
if debug_mode == nil then debug_mode = false else debug_mode = true end
-- Retrieve the merge spell's component spells
component_spells = merge_spells[merge_spell]
if component_spells == nil then return merge_spell .. " is not a valid merge spell" end
-- Draw them
wikitext = "| [[File:Icon_Spell " .. merge_spell .. ".png|link=|96px]] <br> " .. merge_spell .. "\n"
for i, component_spell in ipairs(component_spells) do
wikitext = wikitext .. "| [[File:Icon_Spell " .. component_spell .. ".png|link=|96px]] <br> " .. component_spell .. "\n"
end
-- Return the drawn wikitext
if debug_mode then
return wikitext
else
return mw.getCurrentFrame():preprocess(wikitext)
end
end
return p