<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en-GB">
	<id>https://secrets.warcraftwatch.com/w/index.php?action=history&amp;feed=atom&amp;title=Module%3AGarrison_ability</id>
	<title>Module:Garrison ability - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://secrets.warcraftwatch.com/w/index.php?action=history&amp;feed=atom&amp;title=Module%3AGarrison_ability"/>
	<link rel="alternate" type="text/html" href="https://secrets.warcraftwatch.com/w/index.php?title=Module:Garrison_ability&amp;action=history"/>
	<updated>2026-05-06T17:51:19Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.44.0</generator>
	<entry>
		<id>https://secrets.warcraftwatch.com/w/index.php?title=Module:Garrison_ability&amp;diff=7174&amp;oldid=prev</id>
		<title>imported&gt;Kaydeethree at 20:21, 20 December 2014</title>
		<link rel="alternate" type="text/html" href="https://secrets.warcraftwatch.com/w/index.php?title=Module:Garrison_ability&amp;diff=7174&amp;oldid=prev"/>
		<updated>2014-12-20T20:21:12Z</updated>

		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;local getArgs = require(&amp;#039;Module:Arguments&amp;#039;).getArgs&lt;br /&gt;
local p = {}&lt;br /&gt;
local data = mw.loadData(&amp;#039;Module:Garrison ability/data&amp;#039;)&lt;br /&gt;
&lt;br /&gt;
local function composeImage(data, size)&lt;br /&gt;
  return string.format(&amp;#039;[[File:%s.png|%s|%s: %s|alt=%s|link=Garrison Missions#Counters]]&amp;#039;, data[2], size, data[1], data[3], data[1])&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
local function composeList(data,size)&lt;br /&gt;
  return string.format(&amp;quot;* &amp;lt;span class=\&amp;quot;linkicon\&amp;quot;&amp;gt;[[File:%s.png|%s|link=|alt=]]&amp;lt;/span&amp;gt; &amp;#039;&amp;#039;&amp;#039;%s&amp;#039;&amp;#039;&amp;#039; — %s&amp;quot;, data[2] ,size ,data[1] ,data[3])&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
local function composeName(data,size)&lt;br /&gt;
  return string.format(&amp;quot;%s&amp;lt;br&amp;gt;%s&amp;quot;,composeImage(data,size),data[1])&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
local modeSwitch = {&lt;br /&gt;
  [&amp;#039;icon&amp;#039;] = composeImage,&lt;br /&gt;
  [&amp;#039;list&amp;#039;] = composeList,&lt;br /&gt;
  [&amp;#039;name&amp;#039;] = composeName,&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
function p.abilities(frame)&lt;br /&gt;
  local args = getArgs(frame, {wrappers = &amp;#039;Template:Garrison ability&amp;#039;})&lt;br /&gt;
  return p._abilities(args)&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function p._abilities(args)&lt;br /&gt;
  local size=args.size or &amp;#039;18px&amp;#039;&lt;br /&gt;
  args.size = nil&lt;br /&gt;
&lt;br /&gt;
  local compose=modeSwitch[args.mode or &amp;#039;icon&amp;#039;]&lt;br /&gt;
  local sep = (args.mode == &amp;#039;list&amp;#039;) and &amp;#039;\n&amp;#039; or &amp;#039; &amp;#039;&lt;br /&gt;
  args.mode = nil&lt;br /&gt;
&lt;br /&gt;
  local t = {}&lt;br /&gt;
  for k,v in ipairs(args) do&lt;br /&gt;
    if type(k) == &amp;#039;number&amp;#039; then&lt;br /&gt;
      local d = data[string.lower(v)]&lt;br /&gt;
      if d ~= nil then&lt;br /&gt;
        t[#t+1] = compose(d,size)&lt;br /&gt;
      end&lt;br /&gt;
    end&lt;br /&gt;
  end&lt;br /&gt;
&lt;br /&gt;
  return table.concat(t,sep)&lt;br /&gt;
end&lt;br /&gt;
return p&lt;/div&gt;</summary>
		<author><name>imported&gt;Kaydeethree</name></author>
	</entry>
</feed>