From Dark and Darker Wiki
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
- debug_mode - optional, named parameter - true/false, defaults to false - true will output the raw wikitext, false will preprocess the wikitext sorry its not working
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}} |}Script error: The function "draw_merge_recipe" does not exist.
Merge Spell | Parent Spell 1 | Parent Spell 2 |
---|
local p = {}
local merge_spells = mw.loadJsonData("Data:MergeSpells.json")
function 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 = merge_spell .. "<br>"
for i, component_spell in ipairs(component_spells) do
wikitext = wikitext .. component_spell .. "<br>"
end
-- Return the drawn wikitext
if debug_mode then
return wikitext
else
return mw.getCurrentFrame():preprocess(wikitext)
end
end
return p