<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://wiki.hoodedhorse.com/Heroes_of_Might_and_Magic_Olden_Era/index.php?action=history&amp;feed=atom&amp;title=Module%3ASpellInfobox</id>
	<title>Module:SpellInfobox - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.hoodedhorse.com/Heroes_of_Might_and_Magic_Olden_Era/index.php?action=history&amp;feed=atom&amp;title=Module%3ASpellInfobox"/>
	<link rel="alternate" type="text/html" href="https://wiki.hoodedhorse.com/Heroes_of_Might_and_Magic_Olden_Era/index.php?title=Module:SpellInfobox&amp;action=history"/>
	<updated>2026-09-18T00:02:17Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.44.5</generator>
	<entry>
		<id>https://wiki.hoodedhorse.com/Heroes_of_Might_and_Magic_Olden_Era/index.php?title=Module:SpellInfobox&amp;diff=36198&amp;oldid=prev</id>
		<title>76561198048502585 at 07:31, 3 August 2026</title>
		<link rel="alternate" type="text/html" href="https://wiki.hoodedhorse.com/Heroes_of_Might_and_Magic_Olden_Era/index.php?title=Module:SpellInfobox&amp;diff=36198&amp;oldid=prev"/>
		<updated>2026-08-03T07:31:39Z</updated>

		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;en&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Revision as of 07:31, 3 August 2026&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l28&quot;&gt;Line 28:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 28:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;------------------------------------------------------------------------------------------------------------------------&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;------------------------------------------------------------------------------------------------------------------------&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;local function findMasterfulSpecializationText(spellNameEn, lang)&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;local function findMasterfulSpecializationText(spellNameEn, lang)&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;    spellNameEn = mw.ustring.gsub(spellNameEn, &quot;[’&#039;]&quot;, &quot;%&quot;)&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;     local table = UtilQuery.run([[&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;     local table = UtilQuery.run([[&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;         tables =&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;         tables =&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;

&lt;!-- diff cache key HOMM_:diff:1.41:old-36192:rev-36198:php=table --&gt;
&lt;/table&gt;</summary>
		<author><name>76561198048502585</name></author>
	</entry>
	<entry>
		<id>https://wiki.hoodedhorse.com/Heroes_of_Might_and_Magic_Olden_Era/index.php?title=Module:SpellInfobox&amp;diff=36192&amp;oldid=prev</id>
		<title>76561198048502585: Created page with &quot;-- This module is intended as a supporting muscle for the SpellInfobox template. local p = {} local UtilQuery = require(&#039;Module:UtilQuery&#039;)  -- Displays a variable ------------------------------------------------------------------------------------------------------------------------ local function dump(target)     return &#039;&lt;pre&gt;&#039; .. mw.dumpObject(target) .. &#039;&lt;/pre&gt;&#039; end  -----------------------------------------------------------------------------------------------------...&quot;</title>
		<link rel="alternate" type="text/html" href="https://wiki.hoodedhorse.com/Heroes_of_Might_and_Magic_Olden_Era/index.php?title=Module:SpellInfobox&amp;diff=36192&amp;oldid=prev"/>
		<updated>2026-08-03T07:27:28Z</updated>

		<summary type="html">&lt;p&gt;Created page with &amp;quot;-- This module is intended as a supporting muscle for the SpellInfobox template. local p = {} local UtilQuery = require(&amp;#039;Module:UtilQuery&amp;#039;)  -- Displays a variable ------------------------------------------------------------------------------------------------------------------------ local function dump(target)     return &amp;#039;&amp;lt;pre&amp;gt;&amp;#039; .. mw.dumpObject(target) .. &amp;#039;&amp;lt;/pre&amp;gt;&amp;#039; end  -----------------------------------------------------------------------------------------------------...&amp;quot;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;-- This module is intended as a supporting muscle for the SpellInfobox template.&lt;br /&gt;
local p = {}&lt;br /&gt;
local UtilQuery = require(&amp;#039;Module:UtilQuery&amp;#039;)&lt;br /&gt;
&lt;br /&gt;
-- Displays a variable&lt;br /&gt;
------------------------------------------------------------------------------------------------------------------------&lt;br /&gt;
local function dump(target)&lt;br /&gt;
    return &amp;#039;&amp;lt;pre&amp;gt;&amp;#039; .. mw.dumpObject(target) .. &amp;#039;&amp;lt;/pre&amp;gt;&amp;#039;&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
------------------------------------------------------------------------------------------------------------------------&lt;br /&gt;
local function getSpellEnglishName(spellId)&lt;br /&gt;
    local table = UtilQuery.run([[&lt;br /&gt;
        tables =&lt;br /&gt;
            Translation = T&lt;br /&gt;
        | where =&lt;br /&gt;
            T.target_id = &amp;quot;%s&amp;quot;&lt;br /&gt;
            AND T.language = &amp;#039;en&amp;#039;&lt;br /&gt;
            AND T.type = &amp;#039;spell&amp;#039;&lt;br /&gt;
        | fields =&lt;br /&gt;
            T.name = name&lt;br /&gt;
        | limit =&lt;br /&gt;
            1&lt;br /&gt;
    ]], spellId)&lt;br /&gt;
    return (table[1] or { name = &amp;#039;&amp;#039; }).name&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
------------------------------------------------------------------------------------------------------------------------&lt;br /&gt;
local function findMasterfulSpecializationText(spellNameEn, lang)&lt;br /&gt;
    local table = UtilQuery.run([[&lt;br /&gt;
        tables =&lt;br /&gt;
            Translation = E,&lt;br /&gt;
            Translation = F&lt;br /&gt;
        | join on =&lt;br /&gt;
            E.target_id = F.target_id&lt;br /&gt;
        | where =&lt;br /&gt;
            E.description LIKE &amp;#039;%%starts with the “Masterful %s” spell%%&amp;#039;&lt;br /&gt;
            AND E.language = &amp;#039;en&amp;#039;&lt;br /&gt;
            AND F.language = &amp;#039;%s&amp;#039;&lt;br /&gt;
        | fields =&lt;br /&gt;
            F.description = description&lt;br /&gt;
        | limit =&lt;br /&gt;
            1&lt;br /&gt;
    ]], spellNameEn, lang)&lt;br /&gt;
    return (table[1] or { description = &amp;#039;&amp;#039; }).description&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
------------------------------------------------------------------------------------------------------------------------&lt;br /&gt;
function p.getMasterfulText(frame)&lt;br /&gt;
    local spellId = frame.args.id&lt;br /&gt;
    local lang = frame.args.lang&lt;br /&gt;
    local spellNameEn = getSpellEnglishName(spellId)&lt;br /&gt;
    local text = findMasterfulSpecializationText(spellNameEn, lang)&lt;br /&gt;
    local secondSentence = mw.ustring.match(text, &amp;quot;[.,。]%s*([^.。]+[.。])&amp;quot;) or &amp;#039;&amp;#039;&lt;br /&gt;
    return secondSentence&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
return p&lt;/div&gt;</summary>
		<author><name>76561198048502585</name></author>
	</entry>
</feed>