<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://wiki.teriock.com/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Gpe</id>
	<title>Teriock - User contributions [en]</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.teriock.com/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Gpe"/>
	<link rel="alternate" type="text/html" href="https://wiki.teriock.com/index.php?title=Special:Contributions/Gpe"/>
	<updated>2026-08-10T03:32:44Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.46.0</generator>
	<entry>
		<id>https://wiki.teriock.com/index.php?title=Ability:Compulsive_Gambler&amp;diff=17920</id>
		<title>Ability:Compulsive Gambler</title>
		<link rel="alternate" type="text/html" href="https://wiki.teriock.com/index.php?title=Ability:Compulsive_Gambler&amp;diff=17920"/>
		<updated>2026-08-09T16:28:23Z</updated>

		<summary type="html">&lt;p&gt;Gpe: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{#invoke:A|a&lt;br /&gt;
|name=Compulsive Gambler&lt;br /&gt;
|pre=passive&lt;br /&gt;
|flaw=1&lt;br /&gt;
|e=You are {{L|Keyword|Inept}} at not gambling when someone offers you the chance to do so. If you have just lost a bet or game of chance, you are {{L|Keyword|Inept}} at not attempting it again.&lt;br /&gt;
}}&lt;/div&gt;</summary>
		<author><name>Gpe</name></author>
	</entry>
	<entry>
		<id>https://wiki.teriock.com/index.php?title=Ability:Tough_Betrayal&amp;diff=17919</id>
		<title>Ability:Tough Betrayal</title>
		<link rel="alternate" type="text/html" href="https://wiki.teriock.com/index.php?title=Ability:Tough_Betrayal&amp;diff=17919"/>
		<updated>2026-08-09T16:25:34Z</updated>

		<summary type="html">&lt;p&gt;Gpe: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{#invoke:A|a&lt;br /&gt;
|name=Tough Betrayal&lt;br /&gt;
|pre=passive&lt;br /&gt;
|flaw=1&lt;br /&gt;
|e=You are {{L|Keyword|Inept}} at {{L|Condition|Down|dropping}} your allies.&lt;br /&gt;
}}&lt;/div&gt;</summary>
		<author><name>Gpe</name></author>
	</entry>
	<entry>
		<id>https://wiki.teriock.com/index.php?title=Keyword:Adept&amp;diff=17918</id>
		<title>Keyword:Adept</title>
		<link rel="alternate" type="text/html" href="https://wiki.teriock.com/index.php?title=Keyword:Adept&amp;diff=17918"/>
		<updated>2026-08-09T16:19:40Z</updated>

		<summary type="html">&lt;p&gt;Gpe: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Keyword|name=Adept|{{TextAdept|If you are adept at something, then doing it}} }}&lt;br /&gt;
{{Example|If you&#039;re a {{L|Class|Knight|Knight}} and are adept at {{L|Ability|Rallying Cry}} then you do not need to pay any {{MP}} to use {{L|Ability|Rallying Cry}} even though the {{L|Category|Abilities|ability}} normally costs 1 {{MP}}.}}&lt;br /&gt;
&amp;lt;noinclude&amp;gt;[[Category:Cost changing keywords]][[Category:Affinity keywords]]&lt;br /&gt;
{{Also|Keyword:Inept;; Keyword:Gifted}}&lt;br /&gt;
&amp;lt;/noinclude&amp;gt;&lt;/div&gt;</summary>
		<author><name>Gpe</name></author>
	</entry>
	<entry>
		<id>https://wiki.teriock.com/index.php?title=Keyword:Inept&amp;diff=17917</id>
		<title>Keyword:Inept</title>
		<link rel="alternate" type="text/html" href="https://wiki.teriock.com/index.php?title=Keyword:Inept&amp;diff=17917"/>
		<updated>2026-08-09T16:19:33Z</updated>

		<summary type="html">&lt;p&gt;Gpe: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Keyword|name=Inept|If a creature is inept at something, then doing it costs them 1 additional {{MP}}. }}&lt;br /&gt;
{{Example|If you&#039;re a {{L|Class|Veteran|Veteran}} and are inept at {{L|Ability|Brace}} then you must pay 1 {{MP}} to use {{L|Ability|Brace}} even though the [[:Category:Abilities|ability]] does not normally cost any {{MP}}.}}&lt;br /&gt;
&amp;lt;noinclude&amp;gt;[[Category:Cost changing keywords]][[Category:Flaw keywords]][[Category:Affinity keywords]]&lt;br /&gt;
{{Also|Keyword:Adept;; Keyword:Gifted}}&lt;br /&gt;
&amp;lt;/noinclude&amp;gt;&lt;/div&gt;</summary>
		<author><name>Gpe</name></author>
	</entry>
	<entry>
		<id>https://wiki.teriock.com/index.php?title=Ability:Hunting_Party&amp;diff=17916</id>
		<title>Ability:Hunting Party</title>
		<link rel="alternate" type="text/html" href="https://wiki.teriock.com/index.php?title=Ability:Hunting_Party&amp;diff=17916"/>
		<updated>2026-08-09T03:53:23Z</updated>

		<summary type="html">&lt;p&gt;Gpe: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{#invoke:A|a&lt;br /&gt;
|name=Hunting Party&lt;br /&gt;
|m=s&lt;br /&gt;
|x=sr&lt;br /&gt;
|i=m&lt;br /&gt;
|d=s&lt;br /&gt;
|t=other&lt;br /&gt;
|class=ran&lt;br /&gt;
|rank=2&lt;br /&gt;
|dur=8h&lt;br /&gt;
|e=Pick 1 species you&#039;re familiar with. Your allies have {{L|Keyword|Gifted|u=1}} {{L|Ability|Snare}} against creatures of that species. You also have {{Limited}} {{L|Ability|Flanking}} against creatures of that species.&lt;br /&gt;
|req={{ReqNotSustaining|Hunting Party}}&lt;br /&gt;
|martial=1&lt;br /&gt;
|pro=You may instead pick up to {{P}} species you&#039;re familiar with.&lt;br /&gt;
|flu=You may instead pick up to {{F}} species you&#039;re familiar with.&lt;br /&gt;
|sustained=1&lt;br /&gt;
}}&lt;/div&gt;</summary>
		<author><name>Gpe</name></author>
	</entry>
	<entry>
		<id>https://wiki.teriock.com/index.php?title=Ability:Minor_Item_Enchantment&amp;diff=17915</id>
		<title>Ability:Minor Item Enchantment</title>
		<link rel="alternate" type="text/html" href="https://wiki.teriock.com/index.php?title=Ability:Minor_Item_Enchantment&amp;diff=17915"/>
		<updated>2026-08-09T00:56:15Z</updated>

		<summary type="html">&lt;p&gt;Gpe: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{#invoke:A|a&lt;br /&gt;
|name=Minor Item Enchantment&lt;br /&gt;
|class=lif&lt;br /&gt;
|rank=3&lt;br /&gt;
|pre=ritual&lt;br /&gt;
|life=1&lt;br /&gt;
|magic=1&lt;br /&gt;
|t=i&lt;br /&gt;
|mp=1&lt;br /&gt;
|dur=1h&lt;br /&gt;
|req={{Target|u=1}} is {{L|Core|Presence|tier 0}}, not {{L|Property|Magic}}, and is not a {{L|Category|Weapons|weapon}}.&lt;br /&gt;
|e={{Target|u=1}} item is enchanted to be {{L|Property|Magelore}} and {{L|Property|Granting|Grant}} a {{L|Category|Conjured spells|Conjured}} {{L|Category|Ray delivery spells|Ray Spell}} that you know. Except, the spell is {{L|Keyword|Gifted}} and must be {{L|Category|Invoked abilities|Invoked}} for. The enchanted item is {{L|Core|Presence|Tier 1}}. If the item is {{L|Property|Shattered}}, this enchantment fades.&lt;br /&gt;
|rotator=1&lt;br /&gt;
|invoke=1&lt;br /&gt;
|heightened={{HeightDuration}}&lt;br /&gt;
}}&lt;/div&gt;</summary>
		<author><name>Gpe</name></author>
	</entry>
	<entry>
		<id>https://wiki.teriock.com/index.php?title=Ability:Minor_Weapon_Enchantment&amp;diff=17914</id>
		<title>Ability:Minor Weapon Enchantment</title>
		<link rel="alternate" type="text/html" href="https://wiki.teriock.com/index.php?title=Ability:Minor_Weapon_Enchantment&amp;diff=17914"/>
		<updated>2026-08-09T00:55:52Z</updated>

		<summary type="html">&lt;p&gt;Gpe: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{#invoke:A|a&lt;br /&gt;
|name=Minor Weapon Enchantment&lt;br /&gt;
|class=fla&lt;br /&gt;
|rank=3&lt;br /&gt;
|rotator=1&lt;br /&gt;
|pre=ritual&lt;br /&gt;
|flame=1&lt;br /&gt;
|magic=1&lt;br /&gt;
|t=w&lt;br /&gt;
|mp=1&lt;br /&gt;
|dur=1h&lt;br /&gt;
|req=|req={{Target|u=1}} is {{L|Core|Presence|tier 0}} and not {{L|Property|Magic}}.&lt;br /&gt;
|e={{Target|u=1}} weapon is enchanted to deal {{L|Damage|Magic|Magic Damage}} and {{L|Property|Granting|Grant}} a {{L|Category|Conjured spells|Conjured}} {{L|Category|Ray delivery spells|Ray Spell}} that you know. Except, the spell has the {{L|Category|AV0 spells|AV0}} {{L|Category|Weapon delivery spells|Weapon Delivery}} instead, is {{L|Keyword|Gifted}}, and can only be delivered with the enchanted weapon. The enchanted weapon is {{L|Core|Presence|Tier 1}}. If the weapon is {{L|Property|Shattered}}, this enchantment fades.&lt;br /&gt;
|invoke=1&lt;br /&gt;
|heightened={{HeightDuration}}&lt;br /&gt;
}}&lt;/div&gt;</summary>
		<author><name>Gpe</name></author>
	</entry>
	<entry>
		<id>https://wiki.teriock.com/index.php?title=Ability:Minor_Item_Enchantment&amp;diff=17913</id>
		<title>Ability:Minor Item Enchantment</title>
		<link rel="alternate" type="text/html" href="https://wiki.teriock.com/index.php?title=Ability:Minor_Item_Enchantment&amp;diff=17913"/>
		<updated>2026-08-09T00:55:20Z</updated>

		<summary type="html">&lt;p&gt;Gpe: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{#invoke:A|a&lt;br /&gt;
|name=Minor Item Enchantment&lt;br /&gt;
|class=lif&lt;br /&gt;
|rank=3&lt;br /&gt;
|pre=ritual&lt;br /&gt;
|life=1&lt;br /&gt;
|magic=1&lt;br /&gt;
|t=i&lt;br /&gt;
|mp=1&lt;br /&gt;
|dur=1h&lt;br /&gt;
|req={{Target|u=1}} is {{L|Core|Presence|tier 0}}, not {{L|Property|Magic}} and is not a {{L|Category|Weapons|weapon}}.&lt;br /&gt;
|e={{Target|u=1}} item is enchanted to be {{L|Property|Magelore}} and {{L|Property|Granting|Grant}} a {{L|Category|Conjured spells|Conjured}} {{L|Category|Ray delivery spells|Ray Spell}} that you know. Except, the spell is {{L|Keyword|Gifted}} and must be {{L|Category|Invoked abilities|Invoked}} for. The enchanted item is {{L|Core|Presence|Tier 1}}. If the item is {{L|Property|Shattered}}, this enchantment fades.&lt;br /&gt;
|rotator=1&lt;br /&gt;
|invoke=1&lt;br /&gt;
|heightened={{HeightDuration}}&lt;br /&gt;
}}&lt;/div&gt;</summary>
		<author><name>Gpe</name></author>
	</entry>
	<entry>
		<id>https://wiki.teriock.com/index.php?title=Ability:Avoid&amp;diff=17912</id>
		<title>Ability:Avoid</title>
		<link rel="alternate" type="text/html" href="https://wiki.teriock.com/index.php?title=Ability:Avoid&amp;diff=17912"/>
		<updated>2026-08-09T00:18:01Z</updated>

		<summary type="html">&lt;p&gt;Gpe: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;!-- {{#invoke:A|a&lt;br /&gt;
|name=Avoid&lt;br /&gt;
|pre=self&lt;br /&gt;
|class=ran&lt;br /&gt;
|rank=2&lt;br /&gt;
|trigger=A {{L|Category|Semblant skills|Semblant Skill}} is used against you.&lt;br /&gt;
|e=The effect of the triggering {{L|Category|Semblant skills|Skill}} {{L|Core|Fizzles}} against you (and only you). Any new instances of that {{L|Category|Semblant skills|Skill}} {{L|Core|Fizzles|Fizzle}} as well.&lt;br /&gt;
|dur=5s&lt;br /&gt;
|end=The start of your next turn.&lt;br /&gt;
|martial=1&lt;br /&gt;
|m=r&lt;br /&gt;
|x=1r&lt;br /&gt;
|fstat=mov&lt;br /&gt;
|fpro=1&lt;br /&gt;
}} --&amp;gt;{{#invoke:A|a&lt;br /&gt;
|name=Avoid&lt;br /&gt;
|pre=self&lt;br /&gt;
|class=ran&lt;br /&gt;
|rank=2&lt;br /&gt;
|x=1r&lt;br /&gt;
|m=r&lt;br /&gt;
|movement=1&lt;br /&gt;
|trigger=You or some {{L|Category|Equipment}} you {{L|Keyword|Bearing|bear}} would be hit by an {{L|Category|Active abilities|active}} or {{L|Category|Reactive abilities|reactive}} {{L|Category|Attack abilities|attack}} you can see.&lt;br /&gt;
|e=You may {{L|Ability|Stand Up}} or {{L|Ability|Drop Prone}}. If, after doing this, you would no longer be able to be hit by the triggering {{L|Category|Abilities|ability}}, it {{L|Core|Fizzles}} against you and any {{L|Category|Equipment}} you bear.{{MetaAbility|Stand Up}}{{MetaAbility|Drop Prone}}&lt;br /&gt;
|pro=You may now {{L|Ability|Move}} instead of using {{L|Ability|Stand Up}} or {{L|Ability|Drop Prone}}. The maximum distance you can {{L|Ability|Move}} is 5 {{Times}} {{P}} feet. This also does not trigger {{L|Ability|Opportunity Attack}}.{{MetaAbility|Move}}&lt;br /&gt;
}}&lt;/div&gt;</summary>
		<author><name>Gpe</name></author>
	</entry>
	<entry>
		<id>https://wiki.teriock.com/index.php?title=Ability:Skill_Share&amp;diff=17911</id>
		<title>Ability:Skill Share</title>
		<link rel="alternate" type="text/html" href="https://wiki.teriock.com/index.php?title=Ability:Skill_Share&amp;diff=17911"/>
		<updated>2026-08-08T10:15:28Z</updated>

		<summary type="html">&lt;p&gt;Gpe: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{#invoke:A|a&lt;br /&gt;
|name=Skill Share&lt;br /&gt;
|class=cor&lt;br /&gt;
|rank=1&lt;br /&gt;
|magic=1&lt;br /&gt;
|d=sight&lt;br /&gt;
|contract=1&lt;br /&gt;
|i=m&lt;br /&gt;
|m=a&lt;br /&gt;
|x=1a&lt;br /&gt;
|dur=1h&lt;br /&gt;
|sustained=1&lt;br /&gt;
|range=30f&lt;br /&gt;
|t=c&lt;br /&gt;
|e={{Target|u=1}} gains one {{L|Category|Abilities|ability}} of your choice that you have from your first rank in a {{L|Category|Classes|class}}. They are not {{L|Core|Proficiency Bonus|proficient}} in it. The {{L|Category|Abilities|ability}} must not be {{L|Category|Elder Sorcery abilities|Elder Sorcery|u=1}}, must not be a {{L|Category|Contract effects|contract effect}}, must be one you are {{L|Core|Proficiency Bonus|Proficient}} in, and must be one you aren&#039;t {{L|Keyword|Incapable}} of. The {{Target}} also becomes {{L|Keyword|Incapable}} of Skill Share. You may only have this active on one creature at a time. You may not share {{L|Category|Abilities}} you gain from {{L|Category|Classes|class}} &#039;&#039;archetypes&#039;&#039; such as {{L|Ability|Staff Touch}} or {{L|Ability|Warrior Techniques}}, just from the specific {{L|Category|Classes}} themselves.&lt;br /&gt;
|end=You use Skill Share again.&lt;br /&gt;
|pro=You can now share {{L|Category|Abilities}} you have from any of your first 1 + {{P}} ranks in a {{L|Category|Classes|class}}.&lt;br /&gt;
|flu=You can now share {{L|Category|Abilities}} you have from any of your first 1 + {{F}} ranks in a {{L|Category|Classes|class}}.&lt;br /&gt;
}}&lt;/div&gt;</summary>
		<author><name>Gpe</name></author>
	</entry>
	<entry>
		<id>https://wiki.teriock.com/index.php?title=Ability:Multi-Shot&amp;diff=17910</id>
		<title>Ability:Multi-Shot</title>
		<link rel="alternate" type="text/html" href="https://wiki.teriock.com/index.php?title=Ability:Multi-Shot&amp;diff=17910"/>
		<updated>2026-08-08T07:52:07Z</updated>

		<summary type="html">&lt;p&gt;Gpe: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{#invoke:A|a&lt;br /&gt;
|name=Multi-Shot&lt;br /&gt;
|class=arc&lt;br /&gt;
|rank=1&lt;br /&gt;
|pre=passive&lt;br /&gt;
|martial=1&lt;br /&gt;
|e=When you {{L|Category|Attack abilities|Attack}} with a {{L|Category|Ranged equipment|Ranged weapons}}, you may {{L|Core|Attack Interaction|Attack}} up to 2 additional {{Target|s}} as well. You must have enough {{L|Property|Ammunition}} or {{L|Property|Thrown}} weapons to make these additional {{L|Category|Attack abilities|Attacks}}. These all share the same {{L|Core|Multiple Attacks|attack penalty}} although you roll for the {{L|Category|Attack abilities|Attacks}} against each {{Target}} separately. Only the original {{Attack}} incurs additional attack penalties.&lt;br /&gt;
}}&lt;/div&gt;</summary>
		<author><name>Gpe</name></author>
	</entry>
	<entry>
		<id>https://wiki.teriock.com/index.php?title=Property:Returning&amp;diff=17909</id>
		<title>Property:Returning</title>
		<link rel="alternate" type="text/html" href="https://wiki.teriock.com/index.php?title=Property:Returning&amp;diff=17909"/>
		<updated>2026-08-08T07:46:21Z</updated>

		<summary type="html">&lt;p&gt;Gpe: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Property|name=Returning|A &#039;&#039;&#039;returning&#039;&#039;&#039; item returns to its {{L|Keyword|Using|user}} after it&#039;s used for a {{L|Property|Ranged}} {{Attack}} at the end of the {{L|Core|Turns|turn}}.}}&lt;/div&gt;</summary>
		<author><name>Gpe</name></author>
	</entry>
	<entry>
		<id>https://wiki.teriock.com/index.php?title=Property:Returning&amp;diff=17908</id>
		<title>Property:Returning</title>
		<link rel="alternate" type="text/html" href="https://wiki.teriock.com/index.php?title=Property:Returning&amp;diff=17908"/>
		<updated>2026-08-08T07:45:54Z</updated>

		<summary type="html">&lt;p&gt;Gpe: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Property|name=Returning|A &#039;&#039;&#039;returning&#039;&#039;&#039; item returns to its {{L|Keyword|Using|user}} after it&#039;s used for a {{L|Property|Ranged}} {{Attack}} at the end of the current {{L|Core|Turns|turn}}.}}&lt;/div&gt;</summary>
		<author><name>Gpe</name></author>
	</entry>
	<entry>
		<id>https://wiki.teriock.com/index.php?title=Ability:Skill_Share&amp;diff=17907</id>
		<title>Ability:Skill Share</title>
		<link rel="alternate" type="text/html" href="https://wiki.teriock.com/index.php?title=Ability:Skill_Share&amp;diff=17907"/>
		<updated>2026-08-08T07:15:58Z</updated>

		<summary type="html">&lt;p&gt;Gpe: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{#invoke:A|a&lt;br /&gt;
|name=Skill Share&lt;br /&gt;
|class=cor&lt;br /&gt;
|rank=1&lt;br /&gt;
|magic=1&lt;br /&gt;
|d=sight&lt;br /&gt;
|contract=1&lt;br /&gt;
|i=m&lt;br /&gt;
|m=a&lt;br /&gt;
|x=1a&lt;br /&gt;
|dur=1h&lt;br /&gt;
|sustained=1&lt;br /&gt;
|range=30f&lt;br /&gt;
|t=c&lt;br /&gt;
|e={{Target|u=1}} gains one {{L|Category|Abilities|ability}} of your choice that you have from your first rank in a {{L|Category|Classes|class}}. They are not {{L|Core|Proficiency Bonus|proficient}} in it. The {{L|Category|Abilities|ability}} must not be {{L|Category|Elder Sorcery abilities|Elder Sorcery|u=1}}, must not be a {{L|Category|Contract effects|contract effect}}, must be one you are {{L|Core|Proficiency Bonus|Proficient}} in, and must be one you aren&#039;t {{L|Keyword|Incapable}} of. The {{Target}} also becomes {{L|Keyword|Incapable}} of Skill Share. You may only have this active on one creature at a time.&lt;br /&gt;
|end=You use Skill Share again.&lt;br /&gt;
|pro=You can now share {{L|Category|Abilities}} you have from any of your first 1 + {{P}} ranks in a {{L|Category|Classes|class}}.&lt;br /&gt;
|flu=You can now share {{L|Category|Abilities}} you have from any of your first 1 + {{F}} ranks in a {{L|Category|Classes|class}}.&lt;br /&gt;
}}&lt;/div&gt;</summary>
		<author><name>Gpe</name></author>
	</entry>
	<entry>
		<id>https://wiki.teriock.com/index.php?title=Ability:Skill_Share&amp;diff=17906</id>
		<title>Ability:Skill Share</title>
		<link rel="alternate" type="text/html" href="https://wiki.teriock.com/index.php?title=Ability:Skill_Share&amp;diff=17906"/>
		<updated>2026-08-08T07:15:29Z</updated>

		<summary type="html">&lt;p&gt;Gpe: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{#invoke:A|a&lt;br /&gt;
|name=Skill Share&lt;br /&gt;
|class=cor&lt;br /&gt;
|rank=1&lt;br /&gt;
|magic=1&lt;br /&gt;
|d=sight&lt;br /&gt;
|contract=1&lt;br /&gt;
|i=m&lt;br /&gt;
|m=a&lt;br /&gt;
|x=1a&lt;br /&gt;
|dur=1h&lt;br /&gt;
|sustained=1&lt;br /&gt;
|range=30f&lt;br /&gt;
|t=c&lt;br /&gt;
|e={{Target|u=1}} gains one {{L|Category|Abilities|ability}} of your choice that you have from your first rank in a {{L|Category|Classes|class}}. They are not {{L|Category|Proficiency Bonus|proficient}} in it. The {{L|Category|Abilities|ability}} must not be {{L|Category|Elder Sorcery abilities|Elder Sorcery|u=1}}, must not be a {{L|Category|Contract effects|contract effect}}, must be one you are {{L|Core|Proficiency Bonus|Proficient}} in, and must be one you aren&#039;t {{L|Keyword|Incapable}} of. The {{Target}} also becomes {{L|Keyword|Incapable}} of Skill Share. You may only have this active on one creature at a time.&lt;br /&gt;
|end=You use Skill Share again.&lt;br /&gt;
|pro=You can now share {{L|Category|Abilities}} you have from any of your first 1 + {{P}} ranks in a {{L|Category|Classes|class}}.&lt;br /&gt;
|flu=You can now share {{L|Category|Abilities}} you have from any of your first 1 + {{F}} ranks in a {{L|Category|Classes|class}}.&lt;br /&gt;
}}&lt;/div&gt;</summary>
		<author><name>Gpe</name></author>
	</entry>
	<entry>
		<id>https://wiki.teriock.com/index.php?title=Ability:Throwing_Training&amp;diff=17905</id>
		<title>Ability:Throwing Training</title>
		<link rel="alternate" type="text/html" href="https://wiki.teriock.com/index.php?title=Ability:Throwing_Training&amp;diff=17905"/>
		<updated>2026-08-08T07:12:58Z</updated>

		<summary type="html">&lt;p&gt;Gpe: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{#invoke:A|a&lt;br /&gt;
|name=Throwing Training&lt;br /&gt;
|class=cor&lt;br /&gt;
|rank=1&lt;br /&gt;
|pre=passive&lt;br /&gt;
|e=All {{L|Category|Thrown equipment|Thrown}} {{L|Category|Weapons|weapons}} are {{AV0}} for you.&lt;br /&gt;
|martial=1&lt;br /&gt;
|pro=The {{L|Core|Range}} of all {{L|Category|Thrown equipment|Thrown}} {{L|Category|Weapons|weapons}} you use is doubled and whenever you throw one or more {{L|Category|Weapons}} you may {{L|Ability|Interact}} to draw {{L|Category|Thrown equipment}} as a {{L|Category|Free reaction abilities|free reaction}}.&lt;br /&gt;
|flu=Instead, the {{L|Core|Range}} of all {{L|Category|Thrown equipment|Thrown}} {{L|Category|Weapons|weapons}} you use is tripled.&lt;br /&gt;
}}&lt;/div&gt;</summary>
		<author><name>Gpe</name></author>
	</entry>
	<entry>
		<id>https://wiki.teriock.com/index.php?title=Ability:Throwing_Training&amp;diff=17904</id>
		<title>Ability:Throwing Training</title>
		<link rel="alternate" type="text/html" href="https://wiki.teriock.com/index.php?title=Ability:Throwing_Training&amp;diff=17904"/>
		<updated>2026-08-08T07:00:12Z</updated>

		<summary type="html">&lt;p&gt;Gpe: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{#invoke:A|a&lt;br /&gt;
|name=Throwing Training&lt;br /&gt;
|class=cor&lt;br /&gt;
|rank=1&lt;br /&gt;
|pre=passive&lt;br /&gt;
|e=All {{L|Category|Thrown equipment|Thrown}} {{L|Category|Weapons|weapons}} are {{AV0}} for you and whenever you throw one or more {{L|Category|Weapons}} you may {{L|Ability|Interact}} to draw {{L|Category|Thrown equipment}} as a {{L|Category|Free reaction abilities|free reaction}}.&lt;br /&gt;
|martial=1&lt;br /&gt;
|pro=The {{L|Core|Range}} of all {{L|Category|Thrown equipment|Thrown}} {{L|Category|Weapons|weapons}} you use is doubled.&lt;br /&gt;
|flu=Instead, the {{L|Core|Range}} of all {{L|Category|Thrown equipment|Thrown}} {{L|Category|Weapons|weapons}} you use is tripled.&lt;br /&gt;
}}&lt;/div&gt;</summary>
		<author><name>Gpe</name></author>
	</entry>
	<entry>
		<id>https://wiki.teriock.com/index.php?title=Ability:Sense_Weather&amp;diff=17903</id>
		<title>Ability:Sense Weather</title>
		<link rel="alternate" type="text/html" href="https://wiki.teriock.com/index.php?title=Ability:Sense_Weather&amp;diff=17903"/>
		<updated>2026-08-08T01:55:41Z</updated>

		<summary type="html">&lt;p&gt;Gpe: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{#invoke:A|a&lt;br /&gt;
|name=Sense Weather&lt;br /&gt;
|pre=self&lt;br /&gt;
|sense=1&lt;br /&gt;
|martial=1&lt;br /&gt;
|class=cor&lt;br /&gt;
|rank=2&lt;br /&gt;
|truth=1&lt;br /&gt;
|weather=1&lt;br /&gt;
|e=You know what the natural weather will be like in the next 24 hours in your location (clear, rainy, snowy, and so on). You also predict the weather conditions, natural or not, for the next 1 hour. This only gives you the &#039;&#039;type&#039;&#039; of weather, not the exact intensity of it. However, you can tell if the intensity will be more or less severe than it is currently and broadly how much so (for example, &amp;quot;much hotter&amp;quot; or &amp;quot;a little more violent&amp;quot;). Finally, you know whether the weather at your location is natural or unnatural.&lt;br /&gt;
|mp=1&lt;br /&gt;
}}&lt;/div&gt;</summary>
		<author><name>Gpe</name></author>
	</entry>
	<entry>
		<id>https://wiki.teriock.com/index.php?title=Ability:Whirlwind_Aura&amp;diff=17902</id>
		<title>Ability:Whirlwind Aura</title>
		<link rel="alternate" type="text/html" href="https://wiki.teriock.com/index.php?title=Ability:Whirlwind_Aura&amp;diff=17902"/>
		<updated>2026-08-08T01:52:33Z</updated>

		<summary type="html">&lt;p&gt;Gpe: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{#invoke:A|a&lt;br /&gt;
|name=Whirlwind Aura&lt;br /&gt;
|pre=aura&lt;br /&gt;
|m=r&lt;br /&gt;
|x=0r&lt;br /&gt;
|trigger=You descend at least 15 feet to the ground.&lt;br /&gt;
|fail={{L|Core|Targets|Target|u=1}} is moved 10 feet away from you and {{L|Keyword|Awaken|Awakened}}.&lt;br /&gt;
|pro=If you want, {{Target}} is moved a distance away from you equal to the distance you descended (with a maximum distance of 100 feet).&lt;br /&gt;
|class=cor&lt;br /&gt;
|rank=2&lt;br /&gt;
|martial=1&lt;br /&gt;
|attribute=str&lt;br /&gt;
}}&lt;/div&gt;</summary>
		<author><name>Gpe</name></author>
	</entry>
	<entry>
		<id>https://wiki.teriock.com/index.php?title=Ability:Earthkey&amp;diff=17901</id>
		<title>Ability:Earthkey</title>
		<link rel="alternate" type="text/html" href="https://wiki.teriock.com/index.php?title=Ability:Earthkey&amp;diff=17901"/>
		<updated>2026-08-08T01:52:13Z</updated>

		<summary type="html">&lt;p&gt;Gpe: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{AbilityKey&lt;br /&gt;
|name=Earthkey&lt;br /&gt;
|nature=1&lt;br /&gt;
|e=Dry weather on land is calmed within it. Any {{Dmg}} it would deal is {{L|Keyword|Deboosted}} twice and it cannot {{L|Category|Movement effects|move}} creatures or objects. If an object with sails is within the {{L|Core|Range}} of this effect, it travels in the direction you choose. If multiple creatures are using Earthkey to move objects in different directions, then these effects cancel each other out and the objects are not moved.&lt;br /&gt;
|weather=1&lt;br /&gt;
}}&lt;/div&gt;</summary>
		<author><name>Gpe</name></author>
	</entry>
	<entry>
		<id>https://wiki.teriock.com/index.php?title=Ability:Wind_Listener&amp;diff=17900</id>
		<title>Ability:Wind Listener</title>
		<link rel="alternate" type="text/html" href="https://wiki.teriock.com/index.php?title=Ability:Wind_Listener&amp;diff=17900"/>
		<updated>2026-08-08T01:51:30Z</updated>

		<summary type="html">&lt;p&gt;Gpe: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{#invoke:A|a&lt;br /&gt;
|name=Wind Listener&lt;br /&gt;
|pre=passive&lt;br /&gt;
|magic=1&lt;br /&gt;
|primal=1&lt;br /&gt;
|sense=1&lt;br /&gt;
|req=You are not {{L|Condition|Deaf}} and there is moving air in the area.&lt;br /&gt;
|special=1&lt;br /&gt;
|t=area&lt;br /&gt;
|range=500f&lt;br /&gt;
|e=You can hear far away sounds and conversations carried by the wind as if you were adjacent to the source of the sound. Any conversation happening within {{L|Core|Range}} that is not in an enclosed area physically separated from you is audible. At {{GM}} discretion, you may occasionally hear distant sounds from further away.&lt;br /&gt;
|weather=1&lt;br /&gt;
}}&lt;/div&gt;</summary>
		<author><name>Gpe</name></author>
	</entry>
	<entry>
		<id>https://wiki.teriock.com/index.php?title=Ability:Windkey&amp;diff=17899</id>
		<title>Ability:Windkey</title>
		<link rel="alternate" type="text/html" href="https://wiki.teriock.com/index.php?title=Ability:Windkey&amp;diff=17899"/>
		<updated>2026-08-08T01:51:18Z</updated>

		<summary type="html">&lt;p&gt;Gpe: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{AbilityKey&lt;br /&gt;
|name=Windkey&lt;br /&gt;
|storm=1&lt;br /&gt;
|e=Stormy weather within it is calmed. Any {{Dmg}} it would deal is {{L|Keyword|Deboosted}} twice and it cannot {{L|Category|Movement effects|move}} creatures or objects. Any wind from the weather blows roughly in the direction you desire. If a boat or other object with sails is within the range of this effect, it travels in the direction you choose. If multiple creatures are using Windkey to move objects in different directions, then these effects cancel each other out and the objects are not moved.&lt;br /&gt;
|weather=1&lt;br /&gt;
}}&lt;/div&gt;</summary>
		<author><name>Gpe</name></author>
	</entry>
	<entry>
		<id>https://wiki.teriock.com/index.php?title=Ability:Wind_Shuriken&amp;diff=17898</id>
		<title>Ability:Wind Shuriken</title>
		<link rel="alternate" type="text/html" href="https://wiki.teriock.com/index.php?title=Ability:Wind_Shuriken&amp;diff=17898"/>
		<updated>2026-08-08T01:46:48Z</updated>

		<summary type="html">&lt;p&gt;Gpe: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{#invoke:A|a&lt;br /&gt;
|name=Wind Shuriken&lt;br /&gt;
|class=cor&lt;br /&gt;
|rank=1&lt;br /&gt;
|magic=1&lt;br /&gt;
|pre=ray&lt;br /&gt;
|range=300f&lt;br /&gt;
|e=You shape the air into a sharp spinning disk resembling a {{L|Equipment|Shuriken}} and launch it at the {{Target}}. Wind Shuriken counts as a {{L|Category|Weapons|Weapon}} in the {{L|Category|Specialty weapons|specialty weapon}} and {{L|Category|Daggers|dagger weapon classes}}. It does not deal {{D|Magic}} on its own, but can be made to using {{L|Category|Abilities}} such as {{L|Ability|Might Strike}}.&lt;br /&gt;
|hit={{Deal|1d{{SD|4}}}}&lt;br /&gt;
|crithit=Double {{L|Core|Damage|Damage dice}}.&lt;br /&gt;
|pro=Instead, deal {{NDice|1d10|damage}} {{Dmg}} to {{Target}}.&lt;br /&gt;
|flu=Instead, deal {{NDice|1d12|damage}} {{Dmg}} to {{Target}}.&lt;br /&gt;
|damage=1&lt;br /&gt;
}}&lt;/div&gt;</summary>
		<author><name>Gpe</name></author>
	</entry>
	<entry>
		<id>https://wiki.teriock.com/index.php?title=Ability:Wind_Shuriken&amp;diff=17897</id>
		<title>Ability:Wind Shuriken</title>
		<link rel="alternate" type="text/html" href="https://wiki.teriock.com/index.php?title=Ability:Wind_Shuriken&amp;diff=17897"/>
		<updated>2026-08-08T01:46:35Z</updated>

		<summary type="html">&lt;p&gt;Gpe: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{#invoke:A|a&lt;br /&gt;
|name=Wind Shuriken&lt;br /&gt;
|class=cor&lt;br /&gt;
|rank=1&lt;br /&gt;
|magic=1&lt;br /&gt;
|pre=ray&lt;br /&gt;
|range=300f&lt;br /&gt;
|e=You shape the air into a sharp spinning disk resembling a {{L|Equipment|Shuriken}} and launch it at the {{Target}}. Wind Shuriken counts as a {{L|Category|Weapons|Weapon}} in the {{L|Category|Specialty weapons|specialty weapon}} and {{L|Category|Daggers|dagger weapon classes}}. It does not deal {{L|Damage|Magic}} {{Dmg}} on its own, but can be made to using {{L|Category|Abilities}} such as {{L|Ability|Might Strike}}.&lt;br /&gt;
|hit={{Deal|1d{{SD|4}}}}&lt;br /&gt;
|crithit=Double {{L|Core|Damage|Damage dice}}.&lt;br /&gt;
|pro=Instead, deal {{NDice|1d10|damage}} {{Dmg}} to {{Target}}.&lt;br /&gt;
|flu=Instead, deal {{NDice|1d12|damage}} {{Dmg}} to {{Target}}.&lt;br /&gt;
|damage=1&lt;br /&gt;
}}&lt;/div&gt;</summary>
		<author><name>Gpe</name></author>
	</entry>
	<entry>
		<id>https://wiki.teriock.com/index.php?title=Category:Weather_effects&amp;diff=17896</id>
		<title>Category:Weather effects</title>
		<link rel="alternate" type="text/html" href="https://wiki.teriock.com/index.php?title=Category:Weather_effects&amp;diff=17896"/>
		<updated>2026-08-08T01:44:01Z</updated>

		<summary type="html">&lt;p&gt;Gpe: Created page with &amp;quot;Category:Effects&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Effects]]&lt;/div&gt;</summary>
		<author><name>Gpe</name></author>
	</entry>
	<entry>
		<id>https://wiki.teriock.com/index.php?title=Ability:Storm_Shelter&amp;diff=17895</id>
		<title>Ability:Storm Shelter</title>
		<link rel="alternate" type="text/html" href="https://wiki.teriock.com/index.php?title=Ability:Storm_Shelter&amp;diff=17895"/>
		<updated>2026-08-08T01:43:48Z</updated>

		<summary type="html">&lt;p&gt;Gpe: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{#invoke:A|a&lt;br /&gt;
|name=Storm Shelter&lt;br /&gt;
|pre=ritual&lt;br /&gt;
|class=pal&lt;br /&gt;
|standard=1&lt;br /&gt;
|skill=0&lt;br /&gt;
|t=area&lt;br /&gt;
|d=h&lt;br /&gt;
|r=h&lt;br /&gt;
|dur=8h&lt;br /&gt;
|mp=1&lt;br /&gt;
|storm=1&lt;br /&gt;
|e={{TextCircle}} Any creatures within the enchanted area are {{L|Keyword|Immunity|immune}} to the effects of storms, {{L|Category|Movement effects|movement effects}}, and {{L|Category|Displacement effects|displacement effects}}.&lt;br /&gt;
|immune=1&lt;br /&gt;
|rotator=1&lt;br /&gt;
|magic=1&lt;br /&gt;
|spell=1&lt;br /&gt;
|heightened={{HeightDuration|24 hours|86400}}&lt;br /&gt;
|weather=1&lt;br /&gt;
}}&lt;/div&gt;</summary>
		<author><name>Gpe</name></author>
	</entry>
	<entry>
		<id>https://wiki.teriock.com/index.php?title=Ability:Whirlwind_Aura&amp;diff=17894</id>
		<title>Ability:Whirlwind Aura</title>
		<link rel="alternate" type="text/html" href="https://wiki.teriock.com/index.php?title=Ability:Whirlwind_Aura&amp;diff=17894"/>
		<updated>2026-08-08T01:43:39Z</updated>

		<summary type="html">&lt;p&gt;Gpe: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{#invoke:A|a&lt;br /&gt;
|name=Whirlwind Aura&lt;br /&gt;
|pre=aura&lt;br /&gt;
|m=r&lt;br /&gt;
|x=0r&lt;br /&gt;
|trigger=You descend at least 15 feet to the ground.&lt;br /&gt;
|fail={{L|Core|Targets|Target|u=1}} is moved 10 feet away from you and {{L|Keyword|Awaken|Awakened}}.&lt;br /&gt;
|pro=If you want, {{Target}} is moved a distance away from you equal to the distance you descended (with a maximum distance of 100 feet).&lt;br /&gt;
|class=cor&lt;br /&gt;
|rank=2&lt;br /&gt;
|martial=1&lt;br /&gt;
|attribute=str&lt;br /&gt;
|weather=1&lt;br /&gt;
}}&lt;/div&gt;</summary>
		<author><name>Gpe</name></author>
	</entry>
	<entry>
		<id>https://wiki.teriock.com/index.php?title=Ability:Improvised_Weapons&amp;diff=17893</id>
		<title>Ability:Improvised Weapons</title>
		<link rel="alternate" type="text/html" href="https://wiki.teriock.com/index.php?title=Ability:Improvised_Weapons&amp;diff=17893"/>
		<updated>2026-08-08T01:38:51Z</updated>

		<summary type="html">&lt;p&gt;Gpe: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{#invoke:A|a&lt;br /&gt;
|name=Improvised Weapons&lt;br /&gt;
|construction=1&lt;br /&gt;
|e=During a {{L|Core|Short Rest}}, you may scavenge materials and make 1 melee {{L|Category|Weapons|Weapon}}. It is {{L|Property|Improvised}}. Only common {{L|Damage|Mundane}} items can typically be made in this way, but the {{GM}} may specify if other options are available to you.&lt;br /&gt;
{{Sub|Property:Improvised}}&lt;br /&gt;
|pro=You can instead make up to {{P}} weapons.&lt;br /&gt;
|flu=You can instead make up to {{F}} weapons.&lt;br /&gt;
|class=kni&lt;br /&gt;
|rank=1&lt;br /&gt;
|martial=1&lt;br /&gt;
|dur=8h&lt;br /&gt;
|m=s&lt;br /&gt;
|x=sr&lt;br /&gt;
|i=m&lt;br /&gt;
|d=s&lt;br /&gt;
|t=o&lt;br /&gt;
}}&lt;/div&gt;</summary>
		<author><name>Gpe</name></author>
	</entry>
	<entry>
		<id>https://wiki.teriock.com/index.php?title=Ability:Improvised_Ship_Repairs&amp;diff=17892</id>
		<title>Ability:Improvised Ship Repairs</title>
		<link rel="alternate" type="text/html" href="https://wiki.teriock.com/index.php?title=Ability:Improvised_Ship_Repairs&amp;diff=17892"/>
		<updated>2026-08-08T01:38:41Z</updated>

		<summary type="html">&lt;p&gt;Gpe: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{#invoke:A|a&lt;br /&gt;
|name=Improvised Ship Repairs&lt;br /&gt;
|d=s&lt;br /&gt;
|i=m&lt;br /&gt;
|t=ship&lt;br /&gt;
|x=sr&lt;br /&gt;
|m=s&lt;br /&gt;
|dur=8h&lt;br /&gt;
|construction=1&lt;br /&gt;
|e=During a {{L|Core|Short Rest}}, you may scavenge materials and {{MetaCommand|repair|repair|repair}} 1 part of a ship. This part is {{L|Property|Improvised}}. The types of repairs you can make are as follows.&lt;br /&gt;
* A mast.&lt;br /&gt;
* A sail.&lt;br /&gt;
* A steering wheel.&lt;br /&gt;
* A rudder.&lt;br /&gt;
* A hole in the hull.&lt;br /&gt;
* A cannon.&lt;br /&gt;
* A crow&#039;s nest.&lt;br /&gt;
* A figurehead.&lt;br /&gt;
* A plank.&lt;br /&gt;
* A ladder.&lt;br /&gt;
* An anchor.&lt;br /&gt;
With {{GM}} permission, you may be able to repair other parts of a ship as well.&lt;br /&gt;
{{Sub|Property:Improvised}}&lt;br /&gt;
|pro=You can instead make up to {{P}} repairs.&lt;br /&gt;
|flu=You can instead make up to {{F}} repairs.&lt;br /&gt;
|class=cor&lt;br /&gt;
}}&lt;/div&gt;</summary>
		<author><name>Gpe</name></author>
	</entry>
	<entry>
		<id>https://wiki.teriock.com/index.php?title=Ability:Improvised_Items&amp;diff=17891</id>
		<title>Ability:Improvised Items</title>
		<link rel="alternate" type="text/html" href="https://wiki.teriock.com/index.php?title=Ability:Improvised_Items&amp;diff=17891"/>
		<updated>2026-08-08T01:38:30Z</updated>

		<summary type="html">&lt;p&gt;Gpe: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{#invoke:A|a&lt;br /&gt;
|name=Improvised Items&lt;br /&gt;
|e=During a {{L|Core|Short Rest}}, you may scavenge materials and make 1 {{L|Category|Bows|Bow}} a set of 5 {{L|Equipment|Arrow|arrows}} (these count as &amp;quot;1 item&amp;quot; for the purpose of Improvised Items), general {{L|Category|Supplies}}. They are {{L|Property|Improvised}}. Only common {{L|Damage|Mundane}} items can typically be made in this way, but the {{GM}} may specify if other options are available to you.&lt;br /&gt;
{{Sub|Property:Improvised}}&lt;br /&gt;
|construction=1&lt;br /&gt;
|pro=You can instead make up to {{P}} weapons.&lt;br /&gt;
|flu=You can instead make up to {{F}} weapons.&lt;br /&gt;
|class=arc&lt;br /&gt;
|rank=1&lt;br /&gt;
|martial=1&lt;br /&gt;
|dur=8h&lt;br /&gt;
|m=s&lt;br /&gt;
|x=sr&lt;br /&gt;
|i=m&lt;br /&gt;
|d=s&lt;br /&gt;
|t=o&lt;br /&gt;
}}&lt;/div&gt;</summary>
		<author><name>Gpe</name></author>
	</entry>
	<entry>
		<id>https://wiki.teriock.com/index.php?title=Ability:Improvised_Armor_and_Shields&amp;diff=17890</id>
		<title>Ability:Improvised Armor and Shields</title>
		<link rel="alternate" type="text/html" href="https://wiki.teriock.com/index.php?title=Ability:Improvised_Armor_and_Shields&amp;diff=17890"/>
		<updated>2026-08-08T01:38:15Z</updated>

		<summary type="html">&lt;p&gt;Gpe: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{#invoke:A|a&lt;br /&gt;
|name=Improvised Armor and Shields&lt;br /&gt;
|i=m&lt;br /&gt;
|m=s&lt;br /&gt;
|x=sr&lt;br /&gt;
|martial=1&lt;br /&gt;
|d=s&lt;br /&gt;
|t=o&lt;br /&gt;
|dur=8h&lt;br /&gt;
|class=vet&lt;br /&gt;
|rank=1&lt;br /&gt;
|construction=1&lt;br /&gt;
|e=During a {{L|Core|Short Rest}}, you may scavenge materials and make 1 piece of {{L|Category|Armor}} or a {{L|Category|Shields|Shield}}. It is {{L|Property|Improvised}}. Any {{L|Category|Armor}} you make in this way counts as a number of items equal to the {{L|Category|Armor|armor&#039;s}} {{AV}} for the purpose of this ability. Only common {{L|Damage|Mundane}} items can typically be made in this way, but the {{GM}} may specify if other options are available to you.&lt;br /&gt;
{{Sub|Property:Improvised}}&lt;br /&gt;
|pro=You can instead make up to {{P}} items.&lt;br /&gt;
|flu=You can instead make up to {{F}} items.&lt;br /&gt;
}}&lt;/div&gt;</summary>
		<author><name>Gpe</name></author>
	</entry>
	<entry>
		<id>https://wiki.teriock.com/index.php?title=Property:Runic&amp;diff=17889</id>
		<title>Property:Runic</title>
		<link rel="alternate" type="text/html" href="https://wiki.teriock.com/index.php?title=Property:Runic&amp;diff=17889"/>
		<updated>2026-08-08T01:35:29Z</updated>

		<summary type="html">&lt;p&gt;Gpe: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Property|name=Runic|&#039;&#039;&#039;Runic&#039;&#039;&#039; items {{MetaCommand|repair|repair|repair}} themselves. If a runic item is also {{L|Property|Shattered}}, it retains the runic property. When a creature is {{L|Core|Attunement|Attuned}} to a {{L|Property|Shattered}} runic item, they roll {{Dice|2d4}} at the end of each of their turns. If at least 1 die rolls a 4, the item is no longer {{L|Property|Shattered}}. This is a {{L|Category|Construction effects|construction effect}}.|magic=1}}&amp;lt;noinclude&amp;gt;[[Category:Construction effects]]&amp;lt;/noinclude&amp;gt;&lt;/div&gt;</summary>
		<author><name>Gpe</name></author>
	</entry>
	<entry>
		<id>https://wiki.teriock.com/index.php?title=Ability:Forgekey&amp;diff=17888</id>
		<title>Ability:Forgekey</title>
		<link rel="alternate" type="text/html" href="https://wiki.teriock.com/index.php?title=Ability:Forgekey&amp;diff=17888"/>
		<updated>2026-08-08T01:15:19Z</updated>

		<summary type="html">&lt;p&gt;Gpe: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{AbilityKey&lt;br /&gt;
|name=Forgekey&lt;br /&gt;
|flame=1&lt;br /&gt;
|e=Effects that would {{L|Property|Destroyed|destroy}} items within it render them {{L|Property|Shattered}} instead. Items that become {{L|Property|Shattered}} within this effect will become repaired after 10 minutes if they stay within this area the whole time.&lt;br /&gt;
|construction=1&lt;br /&gt;
}}&lt;/div&gt;</summary>
		<author><name>Gpe</name></author>
	</entry>
	<entry>
		<id>https://wiki.teriock.com/index.php?title=Template:AbilityKey&amp;diff=17887</id>
		<title>Template:AbilityKey</title>
		<link rel="alternate" type="text/html" href="https://wiki.teriock.com/index.php?title=Template:AbilityKey&amp;diff=17887"/>
		<updated>2026-08-08T01:14:54Z</updated>

		<summary type="html">&lt;p&gt;Gpe: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{ESWording|effect={{#invoke:A|a&lt;br /&gt;
|name={{{name|}}}&lt;br /&gt;
|magic=1&lt;br /&gt;
|heal={{{heal|}}}&lt;br /&gt;
|spell=1&lt;br /&gt;
|pre=aura&lt;br /&gt;
|dur=8h&lt;br /&gt;
|i=m&lt;br /&gt;
|attribute=&lt;br /&gt;
|m=s&lt;br /&gt;
|x=10m&lt;br /&gt;
|mp=4&lt;br /&gt;
|range=60f&lt;br /&gt;
|t=o&lt;br /&gt;
|sustained=1&lt;br /&gt;
|necro={{{necro|}}}&lt;br /&gt;
|flame={{{flame|}}}&lt;br /&gt;
|storm={{{storm|}}}&lt;br /&gt;
|nature={{{nature|}}}&lt;br /&gt;
|life={{{life|}}}&lt;br /&gt;
|hexproof={{{hexproof|}}}&lt;br /&gt;
|hexseal={{{hexseal|}}}&lt;br /&gt;
|resist={{{resist|}}}&lt;br /&gt;
|immune={{{immune|}}}&lt;br /&gt;
|weather={{{weather|}}}&lt;br /&gt;
|construction={{{construction|}}}&lt;br /&gt;
|es=1&lt;br /&gt;
|e=You create a spherical bubble that remains centered on you. {{{e|}}}&lt;br /&gt;
}}|necro={{{necro|0}}}|flame={{{flame|0}}}|storm={{{storm|0}}}|nature={{{nature|0}}}|life={{{life|0}}} }}&lt;br /&gt;
{{Cat|Key spells|name={{{name|}}}|ns=Ability}}&lt;/div&gt;</summary>
		<author><name>Gpe</name></author>
	</entry>
	<entry>
		<id>https://wiki.teriock.com/index.php?title=Ability:Mystic_Weapon_Repair&amp;diff=17886</id>
		<title>Ability:Mystic Weapon Repair</title>
		<link rel="alternate" type="text/html" href="https://wiki.teriock.com/index.php?title=Ability:Mystic_Weapon_Repair&amp;diff=17886"/>
		<updated>2026-08-08T01:14:06Z</updated>

		<summary type="html">&lt;p&gt;Gpe: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{#invoke:A|a&lt;br /&gt;
|name=Mystic Weapon Repair&lt;br /&gt;
|e=You wave your hand over a weapon as arcane runes appear on its surface. While you are {{Attune|d}} to the {{Target|ed}} weapon, it is {{L|Property|Runic}} and effects that would render it {{L|Property|Destroyed}} cause it to be {{L|Property|Shattered}} instead.&lt;br /&gt;
|pre=ritual&lt;br /&gt;
|magic=1&lt;br /&gt;
|class=kni&lt;br /&gt;
|rank=3&lt;br /&gt;
|target=weapon&lt;br /&gt;
|dur=8h&lt;br /&gt;
|mp=1&lt;br /&gt;
|somatic=1&lt;br /&gt;
|construction=1&lt;br /&gt;
}}&lt;/div&gt;</summary>
		<author><name>Gpe</name></author>
	</entry>
	<entry>
		<id>https://wiki.teriock.com/index.php?title=Property:Runic&amp;diff=17885</id>
		<title>Property:Runic</title>
		<link rel="alternate" type="text/html" href="https://wiki.teriock.com/index.php?title=Property:Runic&amp;diff=17885"/>
		<updated>2026-08-08T00:21:13Z</updated>

		<summary type="html">&lt;p&gt;Gpe: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Property|name=Runic|&#039;&#039;&#039;Runic&#039;&#039;&#039; items {{MetaCommand|repair|repair|repair}} themselves. If a runic item is also {{L|Property|Shattered}}, it retains the runic property. When a creature is {{L|Core|Attunement|Attuned}} to a {{L|Property|Shattered}} runic item, they roll {{Dice|2d4}} at the end of each of their turns. If at least 1 die rolls a 4, the item is no longer {{L|Property|Shattered}}. This is a {{L|Category|Construction effects|construction effect}}.|magic=1}}&amp;lt;noinclude&amp;gt;[[Category:Construction effects]]&lt;/div&gt;</summary>
		<author><name>Gpe</name></author>
	</entry>
	<entry>
		<id>https://wiki.teriock.com/index.php?title=Category:Construction_effects&amp;diff=17884</id>
		<title>Category:Construction effects</title>
		<link rel="alternate" type="text/html" href="https://wiki.teriock.com/index.php?title=Category:Construction_effects&amp;diff=17884"/>
		<updated>2026-08-08T00:17:35Z</updated>

		<summary type="html">&lt;p&gt;Gpe: Created page with &amp;quot;Category:Effects&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Effects]]&lt;/div&gt;</summary>
		<author><name>Gpe</name></author>
	</entry>
	<entry>
		<id>https://wiki.teriock.com/index.php?title=Ability:Mystic_Item_Repair&amp;diff=17883</id>
		<title>Ability:Mystic Item Repair</title>
		<link rel="alternate" type="text/html" href="https://wiki.teriock.com/index.php?title=Ability:Mystic_Item_Repair&amp;diff=17883"/>
		<updated>2026-08-08T00:16:14Z</updated>

		<summary type="html">&lt;p&gt;Gpe: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{#invoke:A|a&lt;br /&gt;
|name=Mystic Item Repair&lt;br /&gt;
|e=You wave your hand over an item as arcane runes appear on its surface. While you are {{Attune|d}} to the {{Target|ed}} item, it is {{L|Property|Runic}} and effects that would render it {{L|Property|Destroyed}} cause it to be {{L|Property|Shattered}} instead.&lt;br /&gt;
|t=i&lt;br /&gt;
|req=The item must not be a {{L|Category|Weapons|weapon}}.&lt;br /&gt;
|somatic=1&lt;br /&gt;
|magic=1&lt;br /&gt;
|mp=1&lt;br /&gt;
|class=vet&lt;br /&gt;
|rank=3&lt;br /&gt;
|dur=8h&lt;br /&gt;
|pre=ritual&lt;br /&gt;
|construction=1&lt;br /&gt;
}}&lt;/div&gt;</summary>
		<author><name>Gpe</name></author>
	</entry>
	<entry>
		<id>https://wiki.teriock.com/index.php?title=Property:Runic&amp;diff=17882</id>
		<title>Property:Runic</title>
		<link rel="alternate" type="text/html" href="https://wiki.teriock.com/index.php?title=Property:Runic&amp;diff=17882"/>
		<updated>2026-08-08T00:15:39Z</updated>

		<summary type="html">&lt;p&gt;Gpe: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Property|name=Runic|&#039;&#039;&#039;Runic&#039;&#039;&#039; items {{MetaCommand|repair|repair|repair}} themselves. If a runic item is also {{L|Property|Shattered}}, it retains the runic property. When a creature is {{L|Core|Attunement|Attuned}} to a {{L|Property|Shattered}} runic item, they roll {{Dice|2d4}} at the end of each of their turns. If at least 1 die rolls a 4, the item is no longer {{L|Property|Shattered}}. This is a {{L|Category|Construction effects|construction effect}}.|magic=1}}&lt;/div&gt;</summary>
		<author><name>Gpe</name></author>
	</entry>
	<entry>
		<id>https://wiki.teriock.com/index.php?title=Ability:Reconstruction_Field&amp;diff=17881</id>
		<title>Ability:Reconstruction Field</title>
		<link rel="alternate" type="text/html" href="https://wiki.teriock.com/index.php?title=Ability:Reconstruction_Field&amp;diff=17881"/>
		<updated>2026-08-08T00:14:36Z</updated>

		<summary type="html">&lt;p&gt;Gpe: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{#invoke:A|a&lt;br /&gt;
|name=Reconstruction Field&lt;br /&gt;
|pre=ritual&lt;br /&gt;
|class=pal&lt;br /&gt;
|standard=1&lt;br /&gt;
|skill=0&lt;br /&gt;
|spell=1&lt;br /&gt;
|d=h&lt;br /&gt;
|r=h&lt;br /&gt;
|t=area&lt;br /&gt;
|magic=1&lt;br /&gt;
|flame=1&lt;br /&gt;
|dur=8h&lt;br /&gt;
|mp=1&lt;br /&gt;
|e=All {{L|Category|Equipment|items}} within this area are {{L|Property|runic}}. However, they only repair themselves if they were {{L|Property|Shattered|shattered}} within the past 10 minutes.&lt;br /&gt;
|pro=Items are instead repaired if they were {{L|Property|Shattered|shattered}} within the past 10 {{Times}} (1 + {{P}}) minutes.&lt;br /&gt;
|flu=Items are instead repaired if they were {{L|Property|Shattered|shattered}} within the past 10 {{Times}} (1 + {{F}}) minutes.&lt;br /&gt;
|rotator=1&lt;br /&gt;
|heightened={{HeightDuration|24 hours|86400}}&lt;br /&gt;
|construction=1&lt;br /&gt;
}}&lt;/div&gt;</summary>
		<author><name>Gpe</name></author>
	</entry>
	<entry>
		<id>https://wiki.teriock.com/index.php?title=Module:A&amp;diff=17880</id>
		<title>Module:A</title>
		<link rel="alternate" type="text/html" href="https://wiki.teriock.com/index.php?title=Module:A&amp;diff=17880"/>
		<updated>2026-08-08T00:13:12Z</updated>

		<summary type="html">&lt;p&gt;Gpe: // via Wikitext Extension for VSCode&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;local p = {}&lt;br /&gt;
&lt;br /&gt;
local aliases = {&lt;br /&gt;
    keys = {&lt;br /&gt;
        pre = {&lt;br /&gt;
            &#039;pre&#039;,&lt;br /&gt;
            &#039;premade&#039;,&lt;br /&gt;
        },&lt;br /&gt;
        maneuver = {&lt;br /&gt;
            &#039;man&#039;,&lt;br /&gt;
            &#039;maneuver&#039;,&lt;br /&gt;
            &#039;m&#039;&lt;br /&gt;
        },&lt;br /&gt;
        interaction = {&lt;br /&gt;
            &#039;int&#039;,&lt;br /&gt;
            &#039;interaction&#039;,&lt;br /&gt;
            &#039;i&#039;&lt;br /&gt;
        },&lt;br /&gt;
        delivery = {&lt;br /&gt;
            &#039;del&#039;,&lt;br /&gt;
            &#039;delivery&#039;,&lt;br /&gt;
            &#039;d&#039;&lt;br /&gt;
        },&lt;br /&gt;
        target = {&lt;br /&gt;
            &#039;tar&#039;,&lt;br /&gt;
            &#039;target&#039;,&lt;br /&gt;
            &#039;t&#039;&lt;br /&gt;
        },&lt;br /&gt;
        duration = {&lt;br /&gt;
            &#039;dur&#039;,&lt;br /&gt;
            &#039;duration&#039;,&lt;br /&gt;
            &#039;dr&#039;&lt;br /&gt;
        },&lt;br /&gt;
        upgrade = {&lt;br /&gt;
            &#039;upg&#039;,&lt;br /&gt;
            &#039;upgrade&#039;,&lt;br /&gt;
            &#039;u&#039;&lt;br /&gt;
        },&lt;br /&gt;
        executionTime = {&lt;br /&gt;
            &#039;executionTime&#039;,&lt;br /&gt;
            &#039;et&#039;,&lt;br /&gt;
            &#039;x&#039;&lt;br /&gt;
        },&lt;br /&gt;
        piercing = {&lt;br /&gt;
            &#039;prc&#039;,&lt;br /&gt;
            &#039;piercing&#039;,&lt;br /&gt;
            &#039;p&#039;&lt;br /&gt;
        },&lt;br /&gt;
        -- nearRange = {&lt;br /&gt;
        --     &#039;nearRange&#039;,&lt;br /&gt;
        --     &#039;nr&#039;&lt;br /&gt;
        -- },&lt;br /&gt;
        -- farRange = {&lt;br /&gt;
        --     &#039;farRange&#039;,&lt;br /&gt;
        --     &#039;fr&#039;&lt;br /&gt;
        -- },&lt;br /&gt;
        flaw = {&lt;br /&gt;
            &#039;flaw&#039;,&lt;br /&gt;
            &#039;fl&#039;,&lt;br /&gt;
            &#039;f&#039;&lt;br /&gt;
        },&lt;br /&gt;
        special = {&lt;br /&gt;
            &#039;special&#039;,&lt;br /&gt;
            &#039;sp&#039;,&lt;br /&gt;
            &#039;s&#039;&lt;br /&gt;
        },&lt;br /&gt;
        range = {&lt;br /&gt;
            &#039;range&#039;,&lt;br /&gt;
            &#039;rng&#039;,&lt;br /&gt;
            &#039;r&#039;&lt;br /&gt;
        },&lt;br /&gt;
        attribute = {&lt;br /&gt;
            &#039;attribute&#039;,&lt;br /&gt;
            &#039;attr&#039;,&lt;br /&gt;
            &#039;a&#039;&lt;br /&gt;
        },&lt;br /&gt;
        expansion = {&lt;br /&gt;
            &#039;expansion&#039;,&lt;br /&gt;
            &#039;exp&#039;,&lt;br /&gt;
        },&lt;br /&gt;
        expansionRange = {&lt;br /&gt;
            &#039;expansionRange&#039;,&lt;br /&gt;
            &#039;er&#039;&lt;br /&gt;
        },&lt;br /&gt;
        expansionCount = {&lt;br /&gt;
            &#039;expansionCount&#039;,&lt;br /&gt;
            &#039;ec&#039;&lt;br /&gt;
        },&lt;br /&gt;
        expansionAttribute = {&lt;br /&gt;
            &#039;expansionAttribute&#039;,&lt;br /&gt;
            &#039;ea&#039;&lt;br /&gt;
        },&lt;br /&gt;
        sustained = {&lt;br /&gt;
            &#039;sustained&#039;,&lt;br /&gt;
            &#039;sus&#039;&lt;br /&gt;
        },&lt;br /&gt;
        requirement = {&lt;br /&gt;
            &#039;req&#039;,&lt;br /&gt;
            &#039;requirement&#039;,&lt;br /&gt;
            &#039;rq&#039;&lt;br /&gt;
        },&lt;br /&gt;
        verbal = {&lt;br /&gt;
            &#039;ver&#039;,&lt;br /&gt;
            &#039;verbal&#039;,&lt;br /&gt;
        },&lt;br /&gt;
        somatic = {&lt;br /&gt;
            &#039;som&#039;,&lt;br /&gt;
            &#039;somatic&#039;,&lt;br /&gt;
        },&lt;br /&gt;
        material = {&lt;br /&gt;
            &#039;mat&#039;,&lt;br /&gt;
            &#039;material&#039;,&lt;br /&gt;
        },&lt;br /&gt;
        magelore = {&lt;br /&gt;
            &#039;mag&#039;,&lt;br /&gt;
            &#039;magelore&#039;,&lt;br /&gt;
            &#039;ml&#039;&lt;br /&gt;
        },&lt;br /&gt;
        invoked = {&lt;br /&gt;
            &#039;inv&#039;,&lt;br /&gt;
            &#039;invoked&#039;,&lt;br /&gt;
            &#039;invoke&#039;,&lt;br /&gt;
        },&lt;br /&gt;
        hp = {&lt;br /&gt;
            &#039;hp&#039;,&lt;br /&gt;
            &#039;health&#039;,&lt;br /&gt;
            &#039;hitpoints&#039;,&lt;br /&gt;
            &#039;hitPoints&#039;,&lt;br /&gt;
            &#039;hit points&#039;,&lt;br /&gt;
        },&lt;br /&gt;
        hpx = {&lt;br /&gt;
            &#039;hpx&#039;,&lt;br /&gt;
            &#039;healthx&#039;,&lt;br /&gt;
            &#039;hitpointsx&#039;,&lt;br /&gt;
            &#039;hitPointsx&#039;,&lt;br /&gt;
            &#039;hit pointsx&#039;,&lt;br /&gt;
        },&lt;br /&gt;
        mp = {&lt;br /&gt;
            &#039;mp&#039;,&lt;br /&gt;
            &#039;mana&#039;,&lt;br /&gt;
            &#039;magic&#039;,&lt;br /&gt;
            &#039;magick&#039;,&lt;br /&gt;
            &#039;magik&#039;,&lt;br /&gt;
            &#039;mana points&#039;,&lt;br /&gt;
            &#039;magic points&#039;,&lt;br /&gt;
            &#039;magick points&#039;,&lt;br /&gt;
            &#039;magik points&#039;,&lt;br /&gt;
        },&lt;br /&gt;
        mpx = {&lt;br /&gt;
            &#039;mpx&#039;,&lt;br /&gt;
            &#039;manax&#039;,&lt;br /&gt;
            &#039;manapointsx&#039;,&lt;br /&gt;
            &#039;mana pointsx&#039;,&lt;br /&gt;
            &#039;magic pointsx&#039;,&lt;br /&gt;
            &#039;magick pointsx&#039;,&lt;br /&gt;
            &#039;magik pointsx&#039;,&lt;br /&gt;
        },&lt;br /&gt;
        gp = {&lt;br /&gt;
            &#039;gp&#039;,&lt;br /&gt;
            &#039;gold&#039;,&lt;br /&gt;
            &#039;goldPieces&#039;,&lt;br /&gt;
            &#039;gold pieces&#039;,&lt;br /&gt;
        },&lt;br /&gt;
        gpx = {&lt;br /&gt;
            &#039;gpx&#039;,&lt;br /&gt;
            &#039;goldx&#039;,&lt;br /&gt;
            &#039;goldPiecesx&#039;,&lt;br /&gt;
            &#039;gold piecesx&#039;,&lt;br /&gt;
        },&lt;br /&gt;
        matx = {&lt;br /&gt;
            &#039;matx&#039;,&lt;br /&gt;
            &#039;materialx&#039;,&lt;br /&gt;
        },&lt;br /&gt;
        class = {&lt;br /&gt;
            &#039;class&#039;,&lt;br /&gt;
        },&lt;br /&gt;
    },&lt;br /&gt;
    values = {&lt;br /&gt;
        maneuver = {&lt;br /&gt;
            active = {&lt;br /&gt;
                &#039;ac&#039;,&lt;br /&gt;
                &#039;active&#039;,&lt;br /&gt;
                &#039;a&#039;&lt;br /&gt;
            },&lt;br /&gt;
            reactive = {&lt;br /&gt;
                &#039;re&#039;,&lt;br /&gt;
                &#039;reaction&#039;,&lt;br /&gt;
                &#039;r&#039;&lt;br /&gt;
            },&lt;br /&gt;
            passive = {&lt;br /&gt;
                &#039;ps&#039;,&lt;br /&gt;
                &#039;passive&#039;,&lt;br /&gt;
                &#039;p&#039;&lt;br /&gt;
            },&lt;br /&gt;
            slow = {&lt;br /&gt;
                &#039;sl&#039;,&lt;br /&gt;
                &#039;slow&#039;,&lt;br /&gt;
                &#039;s&#039;&lt;br /&gt;
            }&lt;br /&gt;
        },&lt;br /&gt;
        interaction = {&lt;br /&gt;
            attack = {&lt;br /&gt;
                &#039;atk&#039;,&lt;br /&gt;
                &#039;attack&#039;,&lt;br /&gt;
                &#039;a&#039;&lt;br /&gt;
            },&lt;br /&gt;
            block = {&lt;br /&gt;
                &#039;blk&#039;,&lt;br /&gt;
                &#039;block&#039;,&lt;br /&gt;
                &#039;b&#039;&lt;br /&gt;
            },&lt;br /&gt;
            manifest = {&lt;br /&gt;
                &#039;man&#039;,&lt;br /&gt;
                &#039;manifest&#039;,&lt;br /&gt;
                &#039;m&#039;&lt;br /&gt;
            },&lt;br /&gt;
            feat = {&lt;br /&gt;
                &#039;fea&#039;,&lt;br /&gt;
                &#039;feat&#039;,&lt;br /&gt;
                &#039;f&#039;&lt;br /&gt;
            }&lt;br /&gt;
        },&lt;br /&gt;
        delivery = {&lt;br /&gt;
            self = {&lt;br /&gt;
                &#039;sel&#039;,&lt;br /&gt;
                &#039;self&#039;,&lt;br /&gt;
                &#039;s&#039;&lt;br /&gt;
            },&lt;br /&gt;
            missile = {&lt;br /&gt;
                &#039;mis&#039;,&lt;br /&gt;
                &#039;missile&#039;,&lt;br /&gt;
                &#039;m&#039;&lt;br /&gt;
            },&lt;br /&gt;
            hand = {&lt;br /&gt;
                &#039;han&#039;,&lt;br /&gt;
                &#039;hand&#039;,&lt;br /&gt;
                &#039;h&#039;,&lt;br /&gt;
                &#039;claw&#039;&lt;br /&gt;
            },&lt;br /&gt;
            bite = {&lt;br /&gt;
                &#039;bit&#039;,&lt;br /&gt;
                &#039;bite&#039;,&lt;br /&gt;
                &#039;b&#039;,&lt;br /&gt;
                &#039;mouth&#039;&lt;br /&gt;
            },&lt;br /&gt;
            item = {&lt;br /&gt;
                &#039;itm&#039;,&lt;br /&gt;
                &#039;item&#039;,&lt;br /&gt;
                &#039;i&#039;&lt;br /&gt;
            },&lt;br /&gt;
            magelore = {&lt;br /&gt;
                &#039;mag&#039;,&lt;br /&gt;
                &#039;magelore&#039;,&lt;br /&gt;
                &#039;ml&#039;&lt;br /&gt;
            },&lt;br /&gt;
            weapon = {&lt;br /&gt;
                &#039;wep&#039;,&lt;br /&gt;
                &#039;weapon&#039;,&lt;br /&gt;
                &#039;w&#039;&lt;br /&gt;
            },&lt;br /&gt;
            shield = {&lt;br /&gt;
                &#039;shl&#039;,&lt;br /&gt;
                &#039;shield&#039;,&lt;br /&gt;
                &#039;sh&#039;&lt;br /&gt;
            },&lt;br /&gt;
            armor = {&lt;br /&gt;
                &#039;rmr&#039;,&lt;br /&gt;
                &#039;armor&#039;,&lt;br /&gt;
                &#039;r&#039;&lt;br /&gt;
            },&lt;br /&gt;
            sight = {&lt;br /&gt;
                &#039;sit&#039;,&lt;br /&gt;
                &#039;sight&#039;,&lt;br /&gt;
                &#039;eye&#039;,&lt;br /&gt;
                &#039;e&#039;&lt;br /&gt;
            },&lt;br /&gt;
            aura = {&lt;br /&gt;
                &#039;aur&#039;,&lt;br /&gt;
                &#039;aura&#039;,&lt;br /&gt;
                &#039;a&#039;&lt;br /&gt;
            },&lt;br /&gt;
            cone = {&lt;br /&gt;
                &#039;con&#039;,&lt;br /&gt;
                &#039;cone&#039;,&lt;br /&gt;
                &#039;c&#039;&lt;br /&gt;
            },&lt;br /&gt;
            other = {&lt;br /&gt;
                &#039;oth&#039;,&lt;br /&gt;
                &#039;other&#039;,&lt;br /&gt;
                &#039;o&#039;&lt;br /&gt;
            }&lt;br /&gt;
        },&lt;br /&gt;
        target = {&lt;br /&gt;
            self = {&lt;br /&gt;
                &#039;sel&#039;,&lt;br /&gt;
                &#039;self&#039;,&lt;br /&gt;
                &#039;s&#039;&lt;br /&gt;
            },&lt;br /&gt;
            creature = {&lt;br /&gt;
                &#039;cre&#039;,&lt;br /&gt;
                &#039;creature&#039;,&lt;br /&gt;
                &#039;c&#039;&lt;br /&gt;
            },&lt;br /&gt;
            body = {&lt;br /&gt;
                &#039;bod&#039;,&lt;br /&gt;
                &#039;body&#039;,&lt;br /&gt;
                &#039;b&#039;&lt;br /&gt;
            },&lt;br /&gt;
            vitals = {&lt;br /&gt;
                &#039;vit&#039;,&lt;br /&gt;
                &#039;vitals&#039;,&lt;br /&gt;
                &#039;v&#039;&lt;br /&gt;
            },&lt;br /&gt;
            limb = {&lt;br /&gt;
                &#039;lim&#039;,&lt;br /&gt;
                &#039;limb&#039;,&lt;br /&gt;
                &#039;l&#039;&lt;br /&gt;
            },&lt;br /&gt;
            arm = {&lt;br /&gt;
                &#039;arm&#039;,&lt;br /&gt;
            },&lt;br /&gt;
            leg = {&lt;br /&gt;
                &#039;leg&#039;,&lt;br /&gt;
            },&lt;br /&gt;
            item = {&lt;br /&gt;
                &#039;itm&#039;,&lt;br /&gt;
                &#039;item&#039;,&lt;br /&gt;
                &#039;i&#039;&lt;br /&gt;
            },&lt;br /&gt;
            weapon = {&lt;br /&gt;
                &#039;wep&#039;,&lt;br /&gt;
                &#039;weapon&#039;,&lt;br /&gt;
                &#039;w&#039;&lt;br /&gt;
            },&lt;br /&gt;
            shield = {&lt;br /&gt;
                &#039;shl&#039;,&lt;br /&gt;
                &#039;shield&#039;,&lt;br /&gt;
                &#039;sh&#039;&lt;br /&gt;
            },&lt;br /&gt;
            armor = {&lt;br /&gt;
                &#039;rmr&#039;,&lt;br /&gt;
                &#039;armor&#039;,&lt;br /&gt;
                &#039;r&#039;&lt;br /&gt;
            },&lt;br /&gt;
            ship = {&lt;br /&gt;
                &#039;ship&#039;,&lt;br /&gt;
            },&lt;br /&gt;
            attack = {&lt;br /&gt;
                &#039;atk&#039;,&lt;br /&gt;
                &#039;attack&#039;,&lt;br /&gt;
                &#039;a&#039;&lt;br /&gt;
            },&lt;br /&gt;
            ability = {&lt;br /&gt;
            	&#039;ab&#039;,&lt;br /&gt;
            	&#039;ability&#039;&lt;br /&gt;
            },&lt;br /&gt;
            spell = {&lt;br /&gt;
                &#039;spl&#039;,&lt;br /&gt;
                &#039;spell&#039;,&lt;br /&gt;
            },&lt;br /&gt;
            other = {&lt;br /&gt;
                &#039;oth&#039;,&lt;br /&gt;
                &#039;other&#039;,&lt;br /&gt;
                &#039;o&#039;&lt;br /&gt;
            },&lt;br /&gt;
            ci = {&lt;br /&gt;
                &#039;ci&#039;,&lt;br /&gt;
                &#039;creatureItem&#039;,&lt;br /&gt;
                &#039;itemCreature&#039;,&lt;br /&gt;
                &#039;ic&#039;&lt;br /&gt;
            },&lt;br /&gt;
            ai = {&lt;br /&gt;
                &#039;ai&#039;,&lt;br /&gt;
                &#039;attackItem&#039;,&lt;br /&gt;
                &#039;itemAttack&#039;,&lt;br /&gt;
                &#039;ia&#039;&lt;br /&gt;
            },&lt;br /&gt;
            area = {&lt;br /&gt;
                &#039;area&#039;,&lt;br /&gt;
                &#039;ar&#039;&lt;br /&gt;
            },&lt;br /&gt;
            as = {&lt;br /&gt;
            	&#039;areaSpell&#039;&lt;br /&gt;
            },&lt;br /&gt;
            aci = {&lt;br /&gt;
                &#039;cia&#039;,&lt;br /&gt;
                &#039;iac&#039;,&lt;br /&gt;
                &#039;aci&#039;,&lt;br /&gt;
                &#039;ica&#039;,&lt;br /&gt;
                &#039;cai&#039;,&lt;br /&gt;
                &#039;aic&#039;,&lt;br /&gt;
                &#039;creatureItemArea&#039;,&lt;br /&gt;
                &#039;itemCreatureArea&#039;,&lt;br /&gt;
                &#039;AreaCreatureItem&#039;,&lt;br /&gt;
                &#039;itemAreaCreature&#039;,&lt;br /&gt;
                &#039;creatureAreaItem&#039;,&lt;br /&gt;
                &#039;AreaItemCreature&#039;,&lt;br /&gt;
            },&lt;br /&gt;
            ac = {&lt;br /&gt;
                &#039;ac&#039;,&lt;br /&gt;
                &#039;ca&#039;,&lt;br /&gt;
                &#039;areaCreature&#039;,&lt;br /&gt;
                &#039;creatureArea&#039;,&lt;br /&gt;
            },&lt;br /&gt;
            al = {&lt;br /&gt;
            	&#039;al&#039;,&lt;br /&gt;
            	&#039;la&#039;,&lt;br /&gt;
            	&#039;armLeg&#039;,&lt;br /&gt;
            	&#039;legArm&#039;,&lt;br /&gt;
            },&lt;br /&gt;
            cs = {&lt;br /&gt;
                &#039;cs&#039;,&lt;br /&gt;
                &#039;sc&#039;,&lt;br /&gt;
                &#039;creatureSelf&#039;,&lt;br /&gt;
                &#039;selfCreature&#039;,&lt;br /&gt;
            },&lt;br /&gt;
            ari = {&lt;br /&gt;
                &#039;ari&#039;,&lt;br /&gt;
                &#039;areaItem&#039;,&lt;br /&gt;
                &#039;itemArea&#039;,&lt;br /&gt;
            },&lt;br /&gt;
            arse = {&lt;br /&gt;
            	&#039;areaSelf&#039;&lt;br /&gt;
            },&lt;br /&gt;
            si = {&lt;br /&gt;
            	&#039;selfItem&#039;,&lt;br /&gt;
            	&#039;itemSelf&#039;&lt;br /&gt;
            }&lt;br /&gt;
        },&lt;br /&gt;
        duration = {&lt;br /&gt;
            instant = {&lt;br /&gt;
                &#039;0&#039;,&lt;br /&gt;
                &#039;in&#039;,&lt;br /&gt;
                &#039;instant&#039;,&lt;br /&gt;
                &#039;i&#039;&lt;br /&gt;
            },&lt;br /&gt;
            always = {&lt;br /&gt;
                &#039;always&#039;,&lt;br /&gt;
                &#039;forever&#039;,&lt;br /&gt;
                &#039;4&#039;,&lt;br /&gt;
                &#039;inf&#039;,&lt;br /&gt;
            },&lt;br /&gt;
            noLimit = {&lt;br /&gt;
                &#039;noLimit&#039;,&lt;br /&gt;
                &#039;1&#039;,&lt;br /&gt;
                &#039;nl&#039;,&lt;br /&gt;
            },&lt;br /&gt;
            whileUp = {&lt;br /&gt;
                &#039;up&#039;,&lt;br /&gt;
                &#039;whileUp&#039;,&lt;br /&gt;
                &#039;u&#039;&lt;br /&gt;
            },&lt;br /&gt;
            whileDown = {&lt;br /&gt;
                &#039;dn&#039;,&lt;br /&gt;
                &#039;whileDown&#039;,&lt;br /&gt;
                &#039;d&#039;&lt;br /&gt;
            },&lt;br /&gt;
            whileAlive = {&lt;br /&gt;
                &#039;al&#039;,&lt;br /&gt;
                &#039;whileAlive&#039;,&lt;br /&gt;
                &#039;a&#039;&lt;br /&gt;
            },&lt;br /&gt;
            whileDead = {&lt;br /&gt;
                &#039;dd&#039;,&lt;br /&gt;
                &#039;whileDead&#039;,&lt;br /&gt;
            },&lt;br /&gt;
            endOfTurn = {&lt;br /&gt;
                &#039;end&#039;,&lt;br /&gt;
                &#039;endOfTurn&#039;,&lt;br /&gt;
                &#039;e&#039;&lt;br /&gt;
            },&lt;br /&gt;
            dawn = {&lt;br /&gt;
                &#039;dawn&#039;,&lt;br /&gt;
                &#039;d&#039;&lt;br /&gt;
            },&lt;br /&gt;
            startOfTargetNextTurn = {&lt;br /&gt;
                &#039;tStart&#039;,&lt;br /&gt;
                &#039;startOfTargetNextTurn&#039;,&lt;br /&gt;
                &#039;ts&#039;&lt;br /&gt;
            },&lt;br /&gt;
            endOfTargetNextTurn = {&lt;br /&gt;
                &#039;tEnd&#039;,&lt;br /&gt;
                &#039;endOfTargetNextTurn&#039;,&lt;br /&gt;
                &#039;te&#039;&lt;br /&gt;
            },&lt;br /&gt;
            startOfYourNextTurn = {&lt;br /&gt;
                &#039;uStart&#039;,&lt;br /&gt;
                &#039;startOfYourNextTurn&#039;,&lt;br /&gt;
                &#039;us&#039;&lt;br /&gt;
            },&lt;br /&gt;
            endOfYourNextTurn = {&lt;br /&gt;
                &#039;uEnd&#039;,&lt;br /&gt;
                &#039;endOfYourNextTurn&#039;,&lt;br /&gt;
                &#039;ue&#039;&lt;br /&gt;
            },&lt;br /&gt;
            endOfCombat = {&lt;br /&gt;
                &#039;endOfCombat&#039;,&lt;br /&gt;
                &#039;ec&#039;&lt;br /&gt;
            },&lt;br /&gt;
            timeParse = {&lt;br /&gt;
                &#039;^%d+[mhdwys]$&#039;&lt;br /&gt;
            }&lt;br /&gt;
        },&lt;br /&gt;
        upgrade = {&lt;br /&gt;
            warded = {&lt;br /&gt;
                &#039;wrd&#039;,&lt;br /&gt;
                &#039;warded&#039;,&lt;br /&gt;
                &#039;w&#039;&lt;br /&gt;
            },&lt;br /&gt;
            absolute = {&lt;br /&gt;
                &#039;abs&#039;,&lt;br /&gt;
                &#039;absolute&#039;,&lt;br /&gt;
                &#039;a&#039;&lt;br /&gt;
            }&lt;br /&gt;
        },&lt;br /&gt;
        executionTime = {&lt;br /&gt;
            freeAction = {&lt;br /&gt;
                &#039;0a&#039;,&lt;br /&gt;
                &#039;freeAction&#039;,&lt;br /&gt;
                &#039;fa&#039;&lt;br /&gt;
            },&lt;br /&gt;
            singleAction = {&lt;br /&gt;
                &#039;1a&#039;,&lt;br /&gt;
                &#039;a&#039;,&lt;br /&gt;
                &#039;singleAction&#039;,&lt;br /&gt;
                &#039;sa&#039;,&lt;br /&gt;
            },&lt;br /&gt;
            doubleAction = {&lt;br /&gt;
                &#039;2a&#039;,&lt;br /&gt;
                &#039;doubleAction&#039;,&lt;br /&gt;
                &#039;da&#039;&lt;br /&gt;
            },&lt;br /&gt;
            tripleAction = {&lt;br /&gt;
                &#039;3a&#039;,&lt;br /&gt;
                &#039;tripleAction&#039;,&lt;br /&gt;
                &#039;ta&#039;&lt;br /&gt;
            },&lt;br /&gt;
            freeReaction = {&lt;br /&gt;
                &#039;0r&#039;,&lt;br /&gt;
                &#039;freeReaction&#039;,&lt;br /&gt;
                &#039;fr&#039;&lt;br /&gt;
            },&lt;br /&gt;
            reaction = {&lt;br /&gt;
                &#039;1r&#039;,&lt;br /&gt;
                &#039;reaction&#039;,&lt;br /&gt;
                &#039;r&#039;&lt;br /&gt;
            },&lt;br /&gt;
            shortRest = {&lt;br /&gt;
                &#039;sr&#039;,&lt;br /&gt;
                &#039;shortRest&#039;,&lt;br /&gt;
                &#039;s&#039;&lt;br /&gt;
            },&lt;br /&gt;
            longRest = {&lt;br /&gt;
                &#039;lr&#039;,&lt;br /&gt;
                &#039;longRest&#039;,&lt;br /&gt;
                &#039;l&#039;&lt;br /&gt;
            },&lt;br /&gt;
            timeParse = {&lt;br /&gt;
                &#039;^%d+[mhdwy]$&#039;&lt;br /&gt;
            }&lt;br /&gt;
        },&lt;br /&gt;
        piercing = {&lt;br /&gt;
            av0 = {&lt;br /&gt;
                &#039;av0&#039;,&lt;br /&gt;
                &#039;a&#039;&lt;br /&gt;
            },&lt;br /&gt;
            unblockable = {&lt;br /&gt;
                &#039;ub&#039;,&lt;br /&gt;
                &#039;u&#039;&lt;br /&gt;
            }&lt;br /&gt;
        },&lt;br /&gt;
        range = {&lt;br /&gt;
            melee = {&lt;br /&gt;
                &#039;melee&#039;,&lt;br /&gt;
                &#039;m&#039;&lt;br /&gt;
            },&lt;br /&gt;
            weapon = {&lt;br /&gt;
                &#039;weapon&#039;,&lt;br /&gt;
                &#039;weaponReach&#039;,&lt;br /&gt;
                &#039;w&#039;&lt;br /&gt;
            },&lt;br /&gt;
            hand = {&lt;br /&gt;
                &#039;hand&#039;,&lt;br /&gt;
                &#039;handReach&#039;,&lt;br /&gt;
                &#039;h&#039;&lt;br /&gt;
            },&lt;br /&gt;
            bite = {&lt;br /&gt;
                &#039;bite&#039;,&lt;br /&gt;
                &#039;biteReach&#039;,&lt;br /&gt;
                &#039;b&#039;&lt;br /&gt;
            },&lt;br /&gt;
            item = {&lt;br /&gt;
                &#039;item&#039;,&lt;br /&gt;
                &#039;itemReach&#039;,&lt;br /&gt;
                &#039;i&#039;&lt;br /&gt;
            },&lt;br /&gt;
            shield = {&lt;br /&gt;
                &#039;shield&#039;,&lt;br /&gt;
                &#039;shieldReach&#039;,&lt;br /&gt;
                &#039;sh&#039;&lt;br /&gt;
            },&lt;br /&gt;
            armor = {&lt;br /&gt;
                &#039;armor&#039;,&lt;br /&gt;
                &#039;armorReach&#039;,&lt;br /&gt;
                &#039;r&#039;&lt;br /&gt;
            },&lt;br /&gt;
            sight = {&lt;br /&gt;
                &#039;sight&#039;,&lt;br /&gt;
                &#039;sightReach&#039;,&lt;br /&gt;
                &#039;eye&#039;,&lt;br /&gt;
                &#039;e&#039;&lt;br /&gt;
            },&lt;br /&gt;
            self = {&lt;br /&gt;
                &#039;self&#039;,&lt;br /&gt;
                &#039;s&#039;&lt;br /&gt;
            },&lt;br /&gt;
            distParse = {&lt;br /&gt;
                &#039;^%d+[fm]$&#039;&lt;br /&gt;
            },&lt;br /&gt;
            other = {&lt;br /&gt;
                &#039;other&#039;,&lt;br /&gt;
                &#039;o&#039;&lt;br /&gt;
            }&lt;br /&gt;
        },&lt;br /&gt;
        attribute = {&lt;br /&gt;
            int = {&lt;br /&gt;
                &#039;int&#039;,&lt;br /&gt;
                &#039;INT&#039;,&lt;br /&gt;
                &#039;i&#039;&lt;br /&gt;
            },&lt;br /&gt;
            str = {&lt;br /&gt;
                &#039;str&#039;,&lt;br /&gt;
                &#039;STR&#039;,&lt;br /&gt;
                &#039;s&#039;&lt;br /&gt;
            },&lt;br /&gt;
            mov = {&lt;br /&gt;
                &#039;mov&#039;,&lt;br /&gt;
                &#039;MOV&#039;,&lt;br /&gt;
                &#039;m&#039;&lt;br /&gt;
            },&lt;br /&gt;
            per = {&lt;br /&gt;
                &#039;per&#039;,&lt;br /&gt;
                &#039;PER&#039;,&lt;br /&gt;
                &#039;p&#039;&lt;br /&gt;
            },&lt;br /&gt;
            snk = {&lt;br /&gt;
                &#039;snk&#039;,&lt;br /&gt;
                &#039;SNK&#039;,&lt;br /&gt;
                &#039;s&#039;&lt;br /&gt;
            },&lt;br /&gt;
            unp = {&lt;br /&gt;
                &#039;unp&#039;,&lt;br /&gt;
                &#039;UNP&#039;,&lt;br /&gt;
                &#039;u&#039;&lt;br /&gt;
            },&lt;br /&gt;
        },&lt;br /&gt;
        expansionAttribute = {&lt;br /&gt;
            int = {&lt;br /&gt;
                &#039;int&#039;,&lt;br /&gt;
                &#039;INT&#039;,&lt;br /&gt;
                &#039;i&#039;&lt;br /&gt;
            },&lt;br /&gt;
            str = {&lt;br /&gt;
                &#039;str&#039;,&lt;br /&gt;
                &#039;STR&#039;,&lt;br /&gt;
                &#039;s&#039;&lt;br /&gt;
            },&lt;br /&gt;
            mov = {&lt;br /&gt;
                &#039;mov&#039;,&lt;br /&gt;
                &#039;MOV&#039;,&lt;br /&gt;
                &#039;m&#039;&lt;br /&gt;
            },&lt;br /&gt;
            per = {&lt;br /&gt;
                &#039;per&#039;,&lt;br /&gt;
                &#039;PER&#039;,&lt;br /&gt;
                &#039;p&#039;&lt;br /&gt;
            },&lt;br /&gt;
            snk = {&lt;br /&gt;
                &#039;snk&#039;,&lt;br /&gt;
                &#039;SNK&#039;,&lt;br /&gt;
                &#039;s&#039;&lt;br /&gt;
            },&lt;br /&gt;
            unp = {&lt;br /&gt;
                &#039;unp&#039;,&lt;br /&gt;
                &#039;UNP&#039;,&lt;br /&gt;
                &#039;u&#039;&lt;br /&gt;
            },&lt;br /&gt;
        },&lt;br /&gt;
        expansion = {&lt;br /&gt;
            detonate = {&lt;br /&gt;
                &#039;det&#039;,&lt;br /&gt;
                &#039;detonate&#039;,&lt;br /&gt;
                &#039;d&#039;&lt;br /&gt;
            },&lt;br /&gt;
            ripple = {&lt;br /&gt;
                &#039;rip&#039;,&lt;br /&gt;
                &#039;ripple&#039;,&lt;br /&gt;
                &#039;r&#039;&lt;br /&gt;
            },&lt;br /&gt;
            cascade = {&lt;br /&gt;
                &#039;cas&#039;,&lt;br /&gt;
                &#039;cascade&#039;,&lt;br /&gt;
                &#039;c&#039;&lt;br /&gt;
            },&lt;br /&gt;
            fork = {&lt;br /&gt;
                &#039;for&#039;,&lt;br /&gt;
                &#039;fork&#039;,&lt;br /&gt;
                &#039;f&#039;&lt;br /&gt;
            }&lt;br /&gt;
        },&lt;br /&gt;
        expansionRange = {&lt;br /&gt;
            distParse = {&lt;br /&gt;
                &#039;^%d+[fm]$&#039;&lt;br /&gt;
            }&lt;br /&gt;
        },&lt;br /&gt;
        expansionCount = {&lt;br /&gt;
            expansionCount = {&lt;br /&gt;
                &#039;expansionCount&#039;,&lt;br /&gt;
                &#039;ec&#039;,&lt;br /&gt;
            }&lt;br /&gt;
        },&lt;br /&gt;
        sustained = {&lt;br /&gt;
            sustained = {&lt;br /&gt;
                &#039;sus&#039;,&lt;br /&gt;
                &#039;sustained&#039;,&lt;br /&gt;
                &#039;s&#039;,&lt;br /&gt;
                &#039;1&#039;,&lt;br /&gt;
            }&lt;br /&gt;
        },&lt;br /&gt;
        verbal = {&lt;br /&gt;
            verbal = {&lt;br /&gt;
                &#039;ver&#039;,&lt;br /&gt;
                &#039;verbal&#039;,&lt;br /&gt;
                &#039;v&#039;,&lt;br /&gt;
                &#039;1&#039;,&lt;br /&gt;
            }&lt;br /&gt;
        },&lt;br /&gt;
        somatic = {&lt;br /&gt;
            somatic = {&lt;br /&gt;
                &#039;som&#039;,&lt;br /&gt;
                &#039;somatic&#039;,&lt;br /&gt;
                &#039;s&#039;,&lt;br /&gt;
                &#039;1&#039;,&lt;br /&gt;
            }&lt;br /&gt;
        },&lt;br /&gt;
        material = {&lt;br /&gt;
            material = {&lt;br /&gt;
                &#039;mat&#039;,&lt;br /&gt;
                &#039;material&#039;,&lt;br /&gt;
                &#039;m&#039;,&lt;br /&gt;
                &#039;1&#039;,&lt;br /&gt;
            }&lt;br /&gt;
        },&lt;br /&gt;
        magelore = {&lt;br /&gt;
            magelore = {&lt;br /&gt;
                &#039;mag&#039;,&lt;br /&gt;
                &#039;magelore&#039;,&lt;br /&gt;
                &#039;ml&#039;,&lt;br /&gt;
                &#039;1&#039;,&lt;br /&gt;
            }&lt;br /&gt;
        },&lt;br /&gt;
        invoked = {&lt;br /&gt;
            invoked = {&lt;br /&gt;
                &#039;inv&#039;,&lt;br /&gt;
                &#039;invoked&#039;,&lt;br /&gt;
                &#039;i&#039;,&lt;br /&gt;
                &#039;1&#039;,&lt;br /&gt;
            }&lt;br /&gt;
        },&lt;br /&gt;
        class = {&lt;br /&gt;
            ber = {&lt;br /&gt;
                &#039;ber&#039;,&lt;br /&gt;
            },&lt;br /&gt;
            due = {&lt;br /&gt;
                &#039;due&#039;,&lt;br /&gt;
            },&lt;br /&gt;
            vet = {&lt;br /&gt;
                &#039;vet&#039;,&lt;br /&gt;
            },&lt;br /&gt;
            kni = {&lt;br /&gt;
                &#039;kni&#039;,&lt;br /&gt;
            },&lt;br /&gt;
            pal = {&lt;br /&gt;
                &#039;pal&#039;,&lt;br /&gt;
            },&lt;br /&gt;
            ass = {&lt;br /&gt;
                &#039;ass&#039;,&lt;br /&gt;
            },&lt;br /&gt;
            cor = {&lt;br /&gt;
                &#039;cor&#039;,&lt;br /&gt;
            },&lt;br /&gt;
            arc = {&lt;br /&gt;
                &#039;arc&#039;,&lt;br /&gt;
            },&lt;br /&gt;
            thi = {&lt;br /&gt;
                &#039;thi&#039;,&lt;br /&gt;
            },&lt;br /&gt;
            ran = {&lt;br /&gt;
                &#039;ran&#039;,&lt;br /&gt;
            },&lt;br /&gt;
            fla = {&lt;br /&gt;
                &#039;fla&#039;,&lt;br /&gt;
            },&lt;br /&gt;
            sto = {&lt;br /&gt;
                &#039;sto&#039;,&lt;br /&gt;
            },&lt;br /&gt;
            lif = {&lt;br /&gt;
                &#039;lif&#039;,&lt;br /&gt;
            },&lt;br /&gt;
            nec = {&lt;br /&gt;
                &#039;nec&#039;,&lt;br /&gt;
            },&lt;br /&gt;
            nat = {&lt;br /&gt;
                &#039;nat&#039;,&lt;br /&gt;
            },&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
local tags = {&lt;br /&gt;
    verbal = {&lt;br /&gt;
        verbal = {&lt;br /&gt;
            text = &#039;Verbal&#039;,&lt;br /&gt;
            link = &#039;Verbal component abilities&#039;,&lt;br /&gt;
            symbol = &#039;🗣️&#039;,&lt;br /&gt;
            color = &#039;#f9f06b&#039;,&lt;br /&gt;
            class = &#039;component-tagged verbal&#039;&lt;br /&gt;
        },&lt;br /&gt;
    },&lt;br /&gt;
    somatic = {&lt;br /&gt;
        somatic = {&lt;br /&gt;
            text = &#039;Somatic&#039;,&lt;br /&gt;
            link = &#039;Somatic component abilities&#039;,&lt;br /&gt;
            symbol = &#039;👐&#039;,&lt;br /&gt;
            color = &#039;#f9f06b&#039;,&lt;br /&gt;
            class = &#039;component-tagged somatic&#039;&lt;br /&gt;
        },&lt;br /&gt;
    },&lt;br /&gt;
    material = {&lt;br /&gt;
        material = {&lt;br /&gt;
            text = &#039;Material&#039;,&lt;br /&gt;
            link = &#039;Material component abilities&#039;,&lt;br /&gt;
            symbol = &#039;💎&#039;,&lt;br /&gt;
            color = &#039;#ff7800&#039;,&lt;br /&gt;
            class = &#039;component-tagged material&#039;&lt;br /&gt;
        },&lt;br /&gt;
    },&lt;br /&gt;
    magelore = {&lt;br /&gt;
        magelore = {&lt;br /&gt;
            text = &#039;Magelore&#039;,&lt;br /&gt;
            link = &#039;Magelore component abilities&#039;,&lt;br /&gt;
            symbol = &#039;🔮&#039;,&lt;br /&gt;
            color = &#039;#f9f06b&#039;,&lt;br /&gt;
            class = &#039;component-tagged magelore&#039;&lt;br /&gt;
        },&lt;br /&gt;
    },&lt;br /&gt;
    invoked = {&lt;br /&gt;
        invoked = {&lt;br /&gt;
            text = &#039;Invoked&#039;,&lt;br /&gt;
            link = &#039;Invoked abilities&#039;,&lt;br /&gt;
            symbol = &#039;🪄&#039;,&lt;br /&gt;
            color = &#039;#f9f06b&#039;,&lt;br /&gt;
            class = &#039;component-tagged invoked&#039;&lt;br /&gt;
        },&lt;br /&gt;
    },&lt;br /&gt;
    flaw = {&lt;br /&gt;
        flaw = {&lt;br /&gt;
            text = &#039;Flaw&#039;,&lt;br /&gt;
            link = &#039;Flaw abilities&#039;,&lt;br /&gt;
            symbol = &#039;❌&#039;,&lt;br /&gt;
            color = &#039;#e01b24&#039;,&lt;br /&gt;
            class = &#039;flaw-tagged flaw&#039;&lt;br /&gt;
        },&lt;br /&gt;
    },&lt;br /&gt;
    special = {&lt;br /&gt;
        special = {&lt;br /&gt;
            text = &#039;Special&#039;,&lt;br /&gt;
            link = &#039;Special abilities&#039;,&lt;br /&gt;
            symbol = &#039;✴️&#039;,&lt;br /&gt;
            color = &#039;#9141AC&#039;,&lt;br /&gt;
            class = &#039;special-tagged special&#039;&lt;br /&gt;
        },&lt;br /&gt;
    },&lt;br /&gt;
    es = {&lt;br /&gt;
        es = {&lt;br /&gt;
            text = &#039;Elder Sorcery&#039;,&lt;br /&gt;
            link = &#039;Elder Sorcery abilities&#039;,&lt;br /&gt;
            symbol = &#039;🌌&#039;,&lt;br /&gt;
            color = &#039;#9141AC&#039;,&lt;br /&gt;
            class = &#039;elderSorcery-tagged elderSorcery&#039;&lt;br /&gt;
        },&lt;br /&gt;
    },&lt;br /&gt;
    warded = {&lt;br /&gt;
        warded = {&lt;br /&gt;
            text = &#039;Warded&#039;,&lt;br /&gt;
            link = &#039;Warded abilities&#039;,&lt;br /&gt;
            symbol = &#039;🏮&#039;,&lt;br /&gt;
            color = &#039;#f9f06b&#039;,&lt;br /&gt;
            class = &#039;warded-tagged warded&#039;&lt;br /&gt;
        },&lt;br /&gt;
    },&lt;br /&gt;
    elements = {&lt;br /&gt;
        life = {&lt;br /&gt;
            text = &#039;Life&#039;,&lt;br /&gt;
            link = &#039;Life element abilities&#039;,&lt;br /&gt;
            symbol = &#039;☀️&#039;,&lt;br /&gt;
            color = &#039;#ffffff&#039;,&lt;br /&gt;
            class = &#039;element-tagged life&#039;&lt;br /&gt;
        },&lt;br /&gt;
        storm = {&lt;br /&gt;
            text = &#039;Storm&#039;,&lt;br /&gt;
            link = &#039;Storm element abilities&#039;,&lt;br /&gt;
            symbol = &#039;💧&#039;,&lt;br /&gt;
            color = &#039;#3584e4&#039;,&lt;br /&gt;
            class = &#039;element-tagged storm&#039;&lt;br /&gt;
        },&lt;br /&gt;
        necromancy = {&lt;br /&gt;
            text = &#039;Necromancy&#039;,&lt;br /&gt;
            link = &#039;Necromancy element abilities&#039;,&lt;br /&gt;
            symbol = &#039;💀&#039;,&lt;br /&gt;
            color = &#039;#3d3846&#039;,&lt;br /&gt;
            class = &#039;element-tagged necromancy&#039;&lt;br /&gt;
        },&lt;br /&gt;
        necro = {&lt;br /&gt;
            text = &#039;Necromancy&#039;,&lt;br /&gt;
            link = &#039;Necromancy element abilities&#039;,&lt;br /&gt;
            symbol = &#039;💀&#039;,&lt;br /&gt;
            color = &#039;#3d3846&#039;,&lt;br /&gt;
            class = &#039;element-tagged necromancy&#039;&lt;br /&gt;
        },&lt;br /&gt;
        flame = {&lt;br /&gt;
            text = &#039;Flame&#039;,&lt;br /&gt;
            link = &#039;Flame element abilities&#039;,&lt;br /&gt;
            symbol = &#039;🔥&#039;,&lt;br /&gt;
            color = &#039;#e01b24&#039;,&lt;br /&gt;
            class = &#039;element-tagged flame&#039;&lt;br /&gt;
        },&lt;br /&gt;
        nature = {&lt;br /&gt;
            text = &#039;Nature&#039;,&lt;br /&gt;
            link = &#039;Nature element abilities&#039;,&lt;br /&gt;
            symbol = &#039;🌱&#039;,&lt;br /&gt;
            color = &#039;#33d17a&#039;,&lt;br /&gt;
            class = &#039;element-tagged nature&#039;&lt;br /&gt;
        },&lt;br /&gt;
    },&lt;br /&gt;
    class = {&lt;br /&gt;
        ber = {&lt;br /&gt;
            text = &#039;Berserker&#039;,&lt;br /&gt;
            link = &#039;Berserker class abilities&#039;,&lt;br /&gt;
            symbol = &#039;🪓&#039;,&lt;br /&gt;
            class = &#039;class-tagged berserker&#039;&lt;br /&gt;
        },&lt;br /&gt;
        due = {&lt;br /&gt;
            text = &#039;Duelist&#039;,&lt;br /&gt;
            link = &#039;Duelist class abilities&#039;,&lt;br /&gt;
            symbol = &#039;🤺&#039;,&lt;br /&gt;
            class = &#039;class-tagged duelist&#039;&lt;br /&gt;
        },&lt;br /&gt;
        vet = {&lt;br /&gt;
            text = &#039;Veteran&#039;,&lt;br /&gt;
            link = &#039;Veteran class abilities&#039;,&lt;br /&gt;
            symbol = &#039;🪖&#039;,&lt;br /&gt;
            class = &#039;class-tagged veteran&#039;&lt;br /&gt;
        },&lt;br /&gt;
        kni = {&lt;br /&gt;
            text = &#039;Knight&#039;,&lt;br /&gt;
            link = &#039;Knight class abilities&#039;,&lt;br /&gt;
            symbol = &#039;⚔️&#039;,&lt;br /&gt;
            class = &#039;class-tagged knight&#039;&lt;br /&gt;
        },&lt;br /&gt;
        pal = {&lt;br /&gt;
            text = &#039;Paladin&#039;,&lt;br /&gt;
            link = &#039;Paladin class abilities&#039;,&lt;br /&gt;
            symbol = &#039;🛡️&#039;,&lt;br /&gt;
            class = &#039;class-tagged paladin&#039;&lt;br /&gt;
        },&lt;br /&gt;
        ass = {&lt;br /&gt;
            text = &#039;Assassin&#039;,&lt;br /&gt;
            link = &#039;Assassin class abilities&#039;,&lt;br /&gt;
            symbol = &#039;🗡️&#039;,&lt;br /&gt;
            class = &#039;class-tagged assassin&#039;&lt;br /&gt;
        },&lt;br /&gt;
        cor = {&lt;br /&gt;
            text = &#039;Corsair&#039;,&lt;br /&gt;
            link = &#039;Corsair class abilities&#039;,&lt;br /&gt;
            symbol = &#039;🏴‍☠️&#039;,&lt;br /&gt;
            class = &#039;class-tagged corsair&#039;&lt;br /&gt;
        },&lt;br /&gt;
        arc = {&lt;br /&gt;
            text = &#039;Archer&#039;,&lt;br /&gt;
            link = &#039;Archer class abilities&#039;,&lt;br /&gt;
            symbol = &#039;🏹&#039;,&lt;br /&gt;
            class = &#039;class-tagged archer&#039;&lt;br /&gt;
        },&lt;br /&gt;
        thi = {&lt;br /&gt;
            text = &#039;Thief&#039;,&lt;br /&gt;
            link = &#039;Thief class abilities&#039;,&lt;br /&gt;
            symbol = &#039;💰️&#039;,&lt;br /&gt;
            class = &#039;class-tagged thief&#039;&lt;br /&gt;
        },&lt;br /&gt;
        ran = {&lt;br /&gt;
            text = &#039;Ranger&#039;,&lt;br /&gt;
            link = &#039;Ranger class abilities&#039;,&lt;br /&gt;
            symbol = &#039;🐾&#039;,&lt;br /&gt;
            class = &#039;class-tagged ranger&#039;&lt;br /&gt;
        },&lt;br /&gt;
        fla = {&lt;br /&gt;
            text = &#039;Flame Mage&#039;,&lt;br /&gt;
            link = &#039;Flame Mage class abilities&#039;,&lt;br /&gt;
            symbol = &#039;🧙&#039;,&lt;br /&gt;
            class = &#039;class-tagged flameMage&#039;&lt;br /&gt;
        },&lt;br /&gt;
        sto = {&lt;br /&gt;
            text = &#039;Storm Mage&#039;,&lt;br /&gt;
            link = &#039;Storm Mage class abilities&#039;,&lt;br /&gt;
            symbol = &#039;🧙&#039;,&lt;br /&gt;
            class = &#039;class-tagged stormMage&#039;&lt;br /&gt;
        },&lt;br /&gt;
        lif = {&lt;br /&gt;
            text = &#039;Life Mage&#039;,&lt;br /&gt;
            link = &#039;Life Mage class abilities&#039;,&lt;br /&gt;
            symbol = &#039;🧙&#039;,&lt;br /&gt;
            class = &#039;class-tagged lifeMage&#039;&lt;br /&gt;
        },&lt;br /&gt;
        nec = {&lt;br /&gt;
            text = &#039;Necromancer&#039;,&lt;br /&gt;
            link = &#039;Necromancer class abilities&#039;,&lt;br /&gt;
            symbol = &#039;🧙&#039;,&lt;br /&gt;
            class = &#039;class-tagged necromancer&#039;&lt;br /&gt;
        },&lt;br /&gt;
        nat = {&lt;br /&gt;
            text = &#039;Nature Mage&#039;,&lt;br /&gt;
            link = &#039;Nature Mage class abilities&#039;,&lt;br /&gt;
            symbol = &#039;🧙&#039;,&lt;br /&gt;
            class = &#039;class-tagged natureMage&#039;&lt;br /&gt;
        },&lt;br /&gt;
    },&lt;br /&gt;
    gm = {&lt;br /&gt;
        warr = {&lt;br /&gt;
            text = &#039;Warrior&#039;,&lt;br /&gt;
            link = &#039;Warrior guildmaster abilities&#039;,&lt;br /&gt;
            symbol = &#039;⚔️&#039;,&lt;br /&gt;
            class = &#039;archetype-tagged warrior&#039;&lt;br /&gt;
        },&lt;br /&gt;
        semi = {&lt;br /&gt;
            text = &#039;Semi&#039;,&lt;br /&gt;
            link = &#039;Semi guildmaster abilities&#039;,&lt;br /&gt;
            symbol = &#039;🤹&#039;,&lt;br /&gt;
            class = &#039;archetype-tagged semi&#039;&lt;br /&gt;
        }&lt;br /&gt;
    },&lt;br /&gt;
    power = {&lt;br /&gt;
        divine = {&lt;br /&gt;
            text = &#039;Divine&#039;,&lt;br /&gt;
            link = &#039;Divinely powered abilities&#039;,&lt;br /&gt;
            symbol = &#039;🪽&#039;,&lt;br /&gt;
            color = &#039;#f9f06b&#039;,&lt;br /&gt;
            class = &#039;power-tagged divine&#039;&lt;br /&gt;
        },&lt;br /&gt;
        magic = {&lt;br /&gt;
            text = &#039;Magical&#039;,&lt;br /&gt;
            link = &#039;Magically powered abilities&#039;,&lt;br /&gt;
            symbol = &#039;✨&#039;,&lt;br /&gt;
            color = &#039;#9141ac&#039;,&lt;br /&gt;
            class = &#039;power-tagged magical&#039;&lt;br /&gt;
        },&lt;br /&gt;
        spirit = {&lt;br /&gt;
            text = &#039;Spiritual&#039;,&lt;br /&gt;
            link = &#039;Spiritually powered abilities&#039;,&lt;br /&gt;
            symbol = &#039;🪭&#039;,&lt;br /&gt;
            color = &#039;#9a9996&#039;,&lt;br /&gt;
            class = &#039;power-tagged spiritual&#039;&lt;br /&gt;
        },&lt;br /&gt;
        martial = {&lt;br /&gt;
            text = &#039;Martial&#039;,&lt;br /&gt;
            link = &#039;Martially powered abilities&#039;,&lt;br /&gt;
            symbol = &#039;💪&#039;,&lt;br /&gt;
            color = &#039;#ff7800&#039;,&lt;br /&gt;
            class = &#039;power-tagged martial&#039;&lt;br /&gt;
        },&lt;br /&gt;
        psionic = {&lt;br /&gt;
            text = &#039;Psionic&#039;,&lt;br /&gt;
            link = &#039;Psionically powered abilities&#039;,&lt;br /&gt;
            symbol = &#039;🤯&#039;,&lt;br /&gt;
            color = &#039;#3584e4&#039;,&lt;br /&gt;
            class = &#039;power-tagged psionic&#039;&lt;br /&gt;
        },&lt;br /&gt;
        primal = {&lt;br /&gt;
            text = &#039;Primal&#039;,&lt;br /&gt;
            link = &#039;Primally powered abilities&#039;,&lt;br /&gt;
            symbol = &#039;⛰️&#039;,&lt;br /&gt;
            color = &#039;#986a44&#039;,&lt;br /&gt;
            class = &#039;power-tagged primal&#039;&lt;br /&gt;
        },&lt;br /&gt;
        techno = {&lt;br /&gt;
            text = &#039;Technological&#039;,&lt;br /&gt;
            link = &#039;Technologically powered abilities&#039;,&lt;br /&gt;
            symbol = &#039;⚙️&#039;,&lt;br /&gt;
            color = &#039;#e01b24&#039;,&lt;br /&gt;
            class = &#039;power-tagged technological&#039;&lt;br /&gt;
        },&lt;br /&gt;
        finance = {&lt;br /&gt;
            text = &#039;Financial&#039;,&lt;br /&gt;
            link = &#039;Financially powered abilities&#039;,&lt;br /&gt;
            symbol = &#039;🪙&#039;,&lt;br /&gt;
            color = &#039;#fcc200&#039;,&lt;br /&gt;
            class = &#039;power-tagged financial&#039;&lt;br /&gt;
        },&lt;br /&gt;
        alchemy = {&lt;br /&gt;
            text = &#039;Alchemical&#039;,&lt;br /&gt;
            link = &#039;Alchemically powered abilities&#039;,&lt;br /&gt;
            symbol = &#039;🧪&#039;,&lt;br /&gt;
            color = &#039;#33d17a&#039;,&lt;br /&gt;
            class = &#039;power-tagged alchemical&#039;&lt;br /&gt;
        },&lt;br /&gt;
        unknown = {&lt;br /&gt;
            text = &#039;Unknown&#039;,&lt;br /&gt;
            link = &#039;Unknown powered abilities&#039;,&lt;br /&gt;
            symbol = &#039;❓&#039;,&lt;br /&gt;
            color = &#039;#77767b&#039;,&lt;br /&gt;
            class = &#039;power-tagged unknown&#039;&lt;br /&gt;
        },&lt;br /&gt;
    },&lt;br /&gt;
    category = {&lt;br /&gt;
        skill = {&lt;br /&gt;
            text = &#039;Skill&#039;,&lt;br /&gt;
            link = &#039;Skills&#039;,&lt;br /&gt;
            symbol = &#039;🤹&#039;,&lt;br /&gt;
            class = &#039;skill&#039;&lt;br /&gt;
        },&lt;br /&gt;
        spell = {&lt;br /&gt;
            text = &#039;Spell&#039;,&lt;br /&gt;
            link = &#039;Spells&#039;,&lt;br /&gt;
            symbol = &#039;✨&#039;,&lt;br /&gt;
            class = &#039;spell&#039;&lt;br /&gt;
        },&lt;br /&gt;
        semblant = {&lt;br /&gt;
            text = &#039;Semblant&#039;,&lt;br /&gt;
            link = &#039;Semblant skills&#039;,&lt;br /&gt;
            symbol = &#039;🎭&#039;,&lt;br /&gt;
            class = &#039;standard-tagged semblant&#039;&lt;br /&gt;
        },&lt;br /&gt;
        conjure = {&lt;br /&gt;
            text = &#039;Conjured&#039;,&lt;br /&gt;
            link = &#039;Conjured spells&#039;,&lt;br /&gt;
            symbol = &#039;🔮&#039;,&lt;br /&gt;
            class = &#039;standard-tagged conjure&#039;&lt;br /&gt;
        },&lt;br /&gt;
        standard = {&lt;br /&gt;
            text = &#039;Standard&#039;,&lt;br /&gt;
            link = &#039;Standard abilities&#039;,&lt;br /&gt;
            symbol = &#039;🏁&#039;,&lt;br /&gt;
            class = &#039;standard-tagged normal&#039;&lt;br /&gt;
        },&lt;br /&gt;
        rotator = {&lt;br /&gt;
            text = &#039;Rotator&#039;,&lt;br /&gt;
            link = &#039;Rotator abilities&#039;,&lt;br /&gt;
            symbol = &#039;🔄&#039;,&lt;br /&gt;
            class = &#039;rotator&#039;&lt;br /&gt;
        },&lt;br /&gt;
        guildmaster = {&lt;br /&gt;
            text = &#039;Guildmaster&#039;,&lt;br /&gt;
            link = &#039;Guildmaster abilities&#039;,&lt;br /&gt;
            symbol = &#039;🏅&#039;,&lt;br /&gt;
            class = &#039;guildmaster&#039;&lt;br /&gt;
        }&lt;br /&gt;
    },&lt;br /&gt;
    effects = {&lt;br /&gt;
        mental = {&lt;br /&gt;
            text = &#039;Mental&#039;,&lt;br /&gt;
            link = &#039;Mental effects&#039;,&lt;br /&gt;
            symbol = &#039;🧠&#039;,&lt;br /&gt;
            class = &#039;effect-tagged mental&#039;&lt;br /&gt;
        },&lt;br /&gt;
        truth = {&lt;br /&gt;
            text = &#039;Truth detecting&#039;,&lt;br /&gt;
            link = &#039;Truth detecting effects&#039;,&lt;br /&gt;
            symbol = &#039;⚖️&#039;,&lt;br /&gt;
            class = &#039;effect-tagged truthDetecting&#039;&lt;br /&gt;
        },&lt;br /&gt;
        duelModifying = {&lt;br /&gt;
            text = &#039;Duel modifying&#039;,&lt;br /&gt;
            link = &#039;Duel modifying effects&#039;,&lt;br /&gt;
            symbol = &#039;🤺&#039;,&lt;br /&gt;
            class = &#039;effect-tagged duelModifying&#039;&lt;br /&gt;
        },&lt;br /&gt;
        movement = {&lt;br /&gt;
            text = &#039;Movement&#039;,&lt;br /&gt;
            link = &#039;Movement effects&#039;,&lt;br /&gt;
            symbol = &#039;👣&#039;,&lt;br /&gt;
            class = &#039;effect-tagged movement&#039;&lt;br /&gt;
        },&lt;br /&gt;
        poison = {&lt;br /&gt;
            text = &#039;Poison&#039;,&lt;br /&gt;
            link = &#039;Poison effects&#039;,&lt;br /&gt;
            symbol = &#039;☠️&#039;,&lt;br /&gt;
            class = &#039;effect-tagged poison&#039;&lt;br /&gt;
        },&lt;br /&gt;
        displacement = {&lt;br /&gt;
            text = &#039;Displacement&#039;,&lt;br /&gt;
            link = &#039;Displacement effects&#039;,&lt;br /&gt;
            symbol = &#039;🌀&#039;,&lt;br /&gt;
            class = &#039;effect-tagged displacement&#039;&lt;br /&gt;
        },&lt;br /&gt;
        transformation = {&lt;br /&gt;
            text = &#039;Transformation&#039;,&lt;br /&gt;
            link = &#039;Transformation effects&#039;,&lt;br /&gt;
            symbol = &#039;🌳&#039;,&lt;br /&gt;
            class = &#039;effect-tagged transformation&#039;&lt;br /&gt;
        },&lt;br /&gt;
        illusion = {&lt;br /&gt;
            text = &#039;Illusion&#039;,&lt;br /&gt;
            link = &#039;Illusion effects&#039;,&lt;br /&gt;
            symbol = &#039;🫟&#039;,&lt;br /&gt;
            class = &#039;effect-tagged illusion&#039;&lt;br /&gt;
        },&lt;br /&gt;
        control = {&lt;br /&gt;
            text = &#039;Control&#039;,&lt;br /&gt;
            link = &#039;Control effects&#039;,&lt;br /&gt;
            symbol = &#039;⛓️&#039;,&lt;br /&gt;
            class = &#039;effect-tagged control&#039;&lt;br /&gt;
        },&lt;br /&gt;
        resist = {&lt;br /&gt;
            text = &#039;Resistance&#039;,&lt;br /&gt;
            link = &#039;Resistance effects&#039;,&lt;br /&gt;
            symbol = &#039;🚫&#039;,&lt;br /&gt;
            class = &#039;effect-tagged resistance&#039;&lt;br /&gt;
        },&lt;br /&gt;
        hexproof = {&lt;br /&gt;
            text = &#039;Hexproof&#039;,&lt;br /&gt;
            link = &#039;Hexproof effects&#039;,&lt;br /&gt;
            symbol = &#039;🚫&#039;,&lt;br /&gt;
            class = &#039;effect-tagged hexproof&#039;&lt;br /&gt;
        },&lt;br /&gt;
        awaken = {&lt;br /&gt;
            text = &#039;Awakening&#039;,&lt;br /&gt;
            link = &#039;Awakening effects&#039;,&lt;br /&gt;
            symbol = &#039;🌞&#039;,&lt;br /&gt;
            class = &#039;effect-tagged awakening&#039;&lt;br /&gt;
        },&lt;br /&gt;
        immune = {&lt;br /&gt;
            text = &#039;Immunity&#039;,&lt;br /&gt;
            link = &#039;Immunity effects&#039;,&lt;br /&gt;
            symbol = &#039;🚫&#039;,&lt;br /&gt;
            class = &#039;effect-tagged immunity&#039;&lt;br /&gt;
        },&lt;br /&gt;
        hexseal = {&lt;br /&gt;
            text = &#039;Hexseal&#039;,&lt;br /&gt;
            link = &#039;Hexseal effects&#039;,&lt;br /&gt;
            symbol = &#039;🚫&#039;,&lt;br /&gt;
            class = &#039;effect-tagged hexseal&#039;&lt;br /&gt;
        },&lt;br /&gt;
        long = {&lt;br /&gt;
            text = &#039;Long range&#039;,&lt;br /&gt;
            link = &#039;Long range effects&#039;,&lt;br /&gt;
            symbol = &#039;📏&#039;,&lt;br /&gt;
            class = &#039;effect-tagged longRange&#039;&lt;br /&gt;
        },&lt;br /&gt;
        sense = {&lt;br /&gt;
            text = &#039;Sensory&#039;,&lt;br /&gt;
            link = &#039;Sensory effects&#039;,&lt;br /&gt;
            symbol = &#039;👁️&#039;,&lt;br /&gt;
            class = &#039;effect-tagged sensory&#039;&lt;br /&gt;
        },&lt;br /&gt;
        revive = {&lt;br /&gt;
            text = &#039;Revival&#039;,&lt;br /&gt;
            link = &#039;Revival effects&#039;,&lt;br /&gt;
            symbol = &#039;🤍&#039;,&lt;br /&gt;
            class = &#039;effect-tagged revival&#039;&lt;br /&gt;
        },&lt;br /&gt;
        summon = {&lt;br /&gt;
            text = &#039;Summoning&#039;,&lt;br /&gt;
            link = &#039;Summoning effects&#039;,&lt;br /&gt;
            symbol = &#039;🖤&#039;,&lt;br /&gt;
            class = &#039;effect-tagged summoning&#039;&lt;br /&gt;
        },&lt;br /&gt;
        heal = {&lt;br /&gt;
            text = &#039;Healing&#039;,&lt;br /&gt;
            link = &#039;Healing effects&#039;,&lt;br /&gt;
            symbol = &#039;❤️&#039;,&lt;br /&gt;
            class = &#039;effect-tagged healing&#039;&lt;br /&gt;
        },&lt;br /&gt;
        reanimate = {&lt;br /&gt;
            text = &#039;Reanimation&#039;,&lt;br /&gt;
            link = &#039;Reanimation effects&#039;,&lt;br /&gt;
            symbol = &#039;🩶&#039;,&lt;br /&gt;
            class = &#039;effect-tagged reanimation&#039;&lt;br /&gt;
        },&lt;br /&gt;
        regenerate = {&lt;br /&gt;
            text = &#039;Regeneration&#039;,&lt;br /&gt;
            link = &#039;Regeneration effects&#039;,&lt;br /&gt;
            symbol = &#039;💚&#039;,&lt;br /&gt;
            class = &#039;effect-tagged regeneration&#039;&lt;br /&gt;
        },&lt;br /&gt;
        revitalize = {&lt;br /&gt;
            text = &#039;Revitalization&#039;,&lt;br /&gt;
            link = &#039;Revitalization effects&#039;,&lt;br /&gt;
            symbol = &#039;🩵&#039;,&lt;br /&gt;
            class = &#039;effect-tagged revitalization&#039;&lt;br /&gt;
        },&lt;br /&gt;
        kill = {&lt;br /&gt;
            text = &#039;Killing&#039;,&lt;br /&gt;
            link = &#039;Killing effects&#039;,&lt;br /&gt;
            symbol = &#039;☠️&#039;,&lt;br /&gt;
            class = &#039;effect-tagged killing&#039;&lt;br /&gt;
        },&lt;br /&gt;
        damage = {&lt;br /&gt;
            text = &#039;Damaging&#039;,&lt;br /&gt;
            link = &#039;Damaging effects&#039;,&lt;br /&gt;
            symbol = &#039;💢&#039;,&lt;br /&gt;
            class = &#039;effect-tagged damaging&#039;&lt;br /&gt;
        },&lt;br /&gt;
        drain = {&lt;br /&gt;
            text = &#039;Draining&#039;,&lt;br /&gt;
            link = &#039;Draining effects&#039;,&lt;br /&gt;
            symbol = &#039;🩸&#039;,&lt;br /&gt;
            class = &#039;effect-tagged draining&#039;&lt;br /&gt;
        },&lt;br /&gt;
        destroy = {&lt;br /&gt;
            text = &#039;Destruction&#039;,&lt;br /&gt;
            link = &#039;Destruction effects&#039;,&lt;br /&gt;
            symbol = &#039;💥&#039;,&lt;br /&gt;
            class = &#039;effect-tagged destruction&#039;&lt;br /&gt;
        },&lt;br /&gt;
        contract = {&lt;br /&gt;
            text = &#039;Contract&#039;,&lt;br /&gt;
            link = &#039;Contract effects&#039;,&lt;br /&gt;
            symbol = &#039;🤝&#039;,&lt;br /&gt;
            class = &#039;effect-tagged contract&#039;&lt;br /&gt;
        },&lt;br /&gt;
        steal = {&lt;br /&gt;
            text = &#039;Stealing&#039;,&lt;br /&gt;
            link = &#039;Stealing effects&#039;,&lt;br /&gt;
            symbol = &#039;💰&#039;,&lt;br /&gt;
            class = &#039;effect-tagged stealing&#039;&lt;br /&gt;
        },&lt;br /&gt;
        loud = {&lt;br /&gt;
            text = &#039;Loud&#039;,&lt;br /&gt;
            link = &#039;Loud effects&#039;,&lt;br /&gt;
            symbol = &#039;🔊&#039;,&lt;br /&gt;
            class = &#039;effect-tagged loud&#039;&lt;br /&gt;
        },&lt;br /&gt;
        knockout = {&lt;br /&gt;
            text = &#039;Knockout&#039;,&lt;br /&gt;
            link = &#039;Knockout effects&#039;,&lt;br /&gt;
            symbol = &#039;💤&#039;,&lt;br /&gt;
            class = &#039;effect-tagged knockout&#039;&lt;br /&gt;
        },&lt;br /&gt;
        time = {&lt;br /&gt;
            text = &#039;Temporal&#039;,&lt;br /&gt;
            link = &#039;Temporal effects&#039;,&lt;br /&gt;
            symbol = &#039;🕰️&#039;,&lt;br /&gt;
            class = &#039;effect-tagged temporal&#039;&lt;br /&gt;
        },&lt;br /&gt;
        auto = {&lt;br /&gt;
            text = &#039;Automatic&#039;,&lt;br /&gt;
            link = &#039;Automatic effects&#039;,&lt;br /&gt;
            symbol = &#039;❗️&#039;,&lt;br /&gt;
            class = &#039;effect-tagged automatic&#039;&lt;br /&gt;
        },&lt;br /&gt;
        lightning = {&lt;br /&gt;
            text = &#039;Lightning&#039;,&lt;br /&gt;
            link = &#039;Lightning effects&#039;,&lt;br /&gt;
            symbol = &#039;⚡️&#039;,&lt;br /&gt;
            class = &#039;effect-tagged lightning&#039;&lt;br /&gt;
        },&lt;br /&gt;
        disease = {&lt;br /&gt;
            text = &#039;Disease&#039;,&lt;br /&gt;
            link = &#039;Disease effects&#039;,&lt;br /&gt;
            symbol = &#039;🦠&#039;,&lt;br /&gt;
            class = &#039;effect-tagged disease&#039;&lt;br /&gt;
        },&lt;br /&gt;
        vision = {&lt;br /&gt;
        	text = &#039;Vision&#039;,&lt;br /&gt;
        	link = &#039;Vision effects&#039;,&lt;br /&gt;
        	symbol = &#039;🥠&#039;,&lt;br /&gt;
        	class = &#039;effect-tagged vision&#039;&lt;br /&gt;
        },&lt;br /&gt;
        morganti = {&lt;br /&gt;
        	text = &#039;Morganti&#039;,&lt;br /&gt;
        	link = &#039;Morganti effects&#039;,&lt;br /&gt;
        	symbol = &#039;⚫️&#039;,&lt;br /&gt;
        	class = &#039;effect-tagged morganti&#039;&lt;br /&gt;
        },&lt;br /&gt;
        construction = {&lt;br /&gt;
            text = &#039;Construction&#039;,&lt;br /&gt;
            link = &#039;Construction effects&#039;,&lt;br /&gt;
            symbol = &#039;🔧&#039;,&lt;br /&gt;
            class = &#039;effect-tagged construction&#039;&lt;br /&gt;
        },&lt;br /&gt;
        weather = {&lt;br /&gt;
            text = &#039;Weather&#039;,&lt;br /&gt;
            link = &#039;Weather effects&#039;,&lt;br /&gt;
            symbol = &#039;🌧️&#039;,&lt;br /&gt;
            class = &#039;effect-tagged weather&#039;&lt;br /&gt;
        }&lt;br /&gt;
    },&lt;br /&gt;
    pre = {&lt;br /&gt;
        strike = {&lt;br /&gt;
            text = &#039;Strike&#039;,&lt;br /&gt;
            link = &#039;Strike delivery abilities&#039;,&lt;br /&gt;
            symbol = &#039;⚔️&#039;,&lt;br /&gt;
            class = &#039;deliveryPackage-tagged strike&#039;&lt;br /&gt;
        },&lt;br /&gt;
        ray = {&lt;br /&gt;
            text = &#039;Ray&#039;,&lt;br /&gt;
            link = &#039;Ray delivery abilities&#039;,&lt;br /&gt;
            symbol = &#039;⚡️&#039;,&lt;br /&gt;
            class = &#039;deliveryPackage-tagged ray&#039;&lt;br /&gt;
        },&lt;br /&gt;
        ball = {&lt;br /&gt;
            text = &#039;Ball&#039;,&lt;br /&gt;
            link = &#039;Ball delivery abilities&#039;,&lt;br /&gt;
            symbol = &#039;🔥&#039;,&lt;br /&gt;
            class = &#039;deliveryPackage-tagged ball&#039;&lt;br /&gt;
        },&lt;br /&gt;
        aura = {&lt;br /&gt;
            text = &#039;Aura&#039;,&lt;br /&gt;
            link = &#039;Aura delivery abilities&#039;,&lt;br /&gt;
            symbol = &#039;🌟&#039;,&lt;br /&gt;
            class = &#039;deliveryPackage-tagged aura&#039;&lt;br /&gt;
        },&lt;br /&gt;
        ritual = {&lt;br /&gt;
            text = &#039;Ritual&#039;,&lt;br /&gt;
            link = &#039;Ritual delivery abilities&#039;,&lt;br /&gt;
            symbol = &#039;🕯️&#039;,&lt;br /&gt;
            class = &#039;deliveryPackage-tagged ritual&#039;&lt;br /&gt;
        },&lt;br /&gt;
        touch = {&lt;br /&gt;
            text = &#039;Touch&#039;,&lt;br /&gt;
            link = &#039;Touch delivery abilities&#039;,&lt;br /&gt;
            symbol = &#039;👉️&#039;,&lt;br /&gt;
            class = &#039;deliveryPackage-tagged touch&#039;&lt;br /&gt;
        },&lt;br /&gt;
    },&lt;br /&gt;
    maneuver = {&lt;br /&gt;
        active = {&lt;br /&gt;
            text = &#039;Active&#039;,&lt;br /&gt;
            link = &#039;Active abilities&#039;,&lt;br /&gt;
            symbol = &#039;➡️&#039;,&lt;br /&gt;
            class = &#039;maneuver-tagged active&#039;&lt;br /&gt;
        },&lt;br /&gt;
        reactive = {&lt;br /&gt;
            text = &#039;Reactive&#039;,&lt;br /&gt;
            link = &#039;Reactive abilities&#039;,&lt;br /&gt;
            symbol = &#039;↩️&#039;,&lt;br /&gt;
            class = &#039;maneuver-tagged reactive&#039;&lt;br /&gt;
        },&lt;br /&gt;
        passive = {&lt;br /&gt;
            text = &#039;Passive&#039;,&lt;br /&gt;
            link = &#039;Passive abilities&#039;,&lt;br /&gt;
            symbol = &#039;🔁&#039;,&lt;br /&gt;
            class = &#039;maneuver-tagged passive&#039;&lt;br /&gt;
        },&lt;br /&gt;
        slow = {&lt;br /&gt;
            text = &#039;Slow&#039;,&lt;br /&gt;
            link = &#039;Slow abilities&#039;,&lt;br /&gt;
            symbol = &#039;🐢&#039;,&lt;br /&gt;
            class = &#039;maneuver-tagged slow&#039;&lt;br /&gt;
        },&lt;br /&gt;
    },&lt;br /&gt;
    interaction = {&lt;br /&gt;
        attack = {&lt;br /&gt;
            text = &#039;Attack&#039;,&lt;br /&gt;
            link = &#039;Attack abilities&#039;,&lt;br /&gt;
            symbol = &#039;⚔️&#039;,&lt;br /&gt;
            color = &#039;#ff7800&#039;,&lt;br /&gt;
            class = &#039;interaction-tagged attack&#039;&lt;br /&gt;
        },&lt;br /&gt;
        block = {&lt;br /&gt;
            text = &#039;Block&#039;,&lt;br /&gt;
            link = &#039;Block abilities&#039;,&lt;br /&gt;
            symbol = &#039;🛡️&#039;,&lt;br /&gt;
            color = &#039;#ff7800&#039;,&lt;br /&gt;
            class = &#039;interaction-tagged block&#039;&lt;br /&gt;
        },&lt;br /&gt;
        manifest = {&lt;br /&gt;
            text = &#039;Manifest&#039;,&lt;br /&gt;
            link = &#039;Manifest abilities&#039;,&lt;br /&gt;
            symbol = &#039;✳️&#039;,&lt;br /&gt;
            color = &#039;#ff7800&#039;,&lt;br /&gt;
            class = &#039;interaction-tagged manifest&#039;&lt;br /&gt;
        },&lt;br /&gt;
        feat = {&lt;br /&gt;
            text = &#039;Feat&#039;,&lt;br /&gt;
            link = &#039;Feat abilities&#039;,&lt;br /&gt;
            symbol = &#039;🎖️&#039;,&lt;br /&gt;
            color = &#039;#ff7800&#039;,&lt;br /&gt;
            class = &#039;interaction-tagged feat&#039;&lt;br /&gt;
        }&lt;br /&gt;
    },&lt;br /&gt;
    delivery = {&lt;br /&gt;
        self = {&lt;br /&gt;
            text = &#039;Self&#039;,&lt;br /&gt;
            link = &#039;Self delivery abilities&#039;,&lt;br /&gt;
            symbol = &#039;🤲&#039;,&lt;br /&gt;
            color = &#039;#f6d32d&#039;,&lt;br /&gt;
            class = &#039;delivery-tagged self&#039;&lt;br /&gt;
        },&lt;br /&gt;
        missile = {&lt;br /&gt;
            text = &#039;Missile&#039;,&lt;br /&gt;
            link = &#039;Missile delivery abilities&#039;,&lt;br /&gt;
            symbol = &#039;🏹&#039;,&lt;br /&gt;
            color = &#039;#f6d32d&#039;,&lt;br /&gt;
            class = &#039;delivery-tagged missile&#039;&lt;br /&gt;
        },&lt;br /&gt;
        hand = {&lt;br /&gt;
            text = &#039;Hand&#039;,&lt;br /&gt;
            link = &#039;Hand delivery abilities&#039;,&lt;br /&gt;
            symbol = &#039;🤚&#039;,&lt;br /&gt;
            color = &#039;#f6d32d&#039;,&lt;br /&gt;
            class = &#039;delivery-tagged hand&#039;&lt;br /&gt;
        },&lt;br /&gt;
        bite = {&lt;br /&gt;
            text = &#039;Bite&#039;,&lt;br /&gt;
            link = &#039;Bite delivery abilities&#039;,&lt;br /&gt;
            symbol = &#039;🦷&#039;,&lt;br /&gt;
            color = &#039;#f6d32d&#039;,&lt;br /&gt;
            class = &#039;delivery-tagged bite&#039;&lt;br /&gt;
        },&lt;br /&gt;
        item = {&lt;br /&gt;
            text = &#039;Item&#039;,&lt;br /&gt;
            link = &#039;Item delivery abilities&#039;,&lt;br /&gt;
            symbol = &#039;📦&#039;,&lt;br /&gt;
            color = &#039;#f6d32d&#039;,&lt;br /&gt;
            class = &#039;delivery-tagged item&#039;&lt;br /&gt;
        },&lt;br /&gt;
        magelore = {&lt;br /&gt;
            text = &#039;Magelore&#039;,&lt;br /&gt;
            link = &#039;Magelore delivery abilities&#039;,&lt;br /&gt;
            symbol = &#039;🔮&#039;,&lt;br /&gt;
            color = &#039;#f6d32d&#039;,&lt;br /&gt;
            class = &#039;delivery-tagged magelore&#039;&lt;br /&gt;
        },&lt;br /&gt;
        weapon = {&lt;br /&gt;
            text = &#039;Weapon&#039;,&lt;br /&gt;
            link = &#039;Weapon delivery abilities&#039;,&lt;br /&gt;
            symbol = &#039;🗡️&#039;,&lt;br /&gt;
            color = &#039;#f6d32d&#039;,&lt;br /&gt;
            class = &#039;delivery-tagged weapon&#039;&lt;br /&gt;
        },&lt;br /&gt;
        shield = {&lt;br /&gt;
            text = &#039;Shield&#039;,&lt;br /&gt;
            link = &#039;Shield delivery abilities&#039;,&lt;br /&gt;
            symbol = &#039;🛡️&#039;,&lt;br /&gt;
            color = &#039;#f6d32d&#039;,&lt;br /&gt;
            class = &#039;delivery-tagged shield&#039;&lt;br /&gt;
        },&lt;br /&gt;
        armor = {&lt;br /&gt;
            text = &#039;Armor&#039;,&lt;br /&gt;
            link = &#039;Armor delivery abilities&#039;,&lt;br /&gt;
            symbol = &#039;🪖&#039;,&lt;br /&gt;
            color = &#039;#f6d32d&#039;,&lt;br /&gt;
            class = &#039;delivery-tagged armor&#039;&lt;br /&gt;
        },&lt;br /&gt;
        sight = {&lt;br /&gt;
            text = &#039;Sight&#039;,&lt;br /&gt;
            link = &#039;Sight delivery abilities&#039;,&lt;br /&gt;
            symbol = &#039;👁️&#039;,&lt;br /&gt;
            color = &#039;#f6d32d&#039;,&lt;br /&gt;
            class = &#039;delivery-tagged sight&#039;&lt;br /&gt;
        },&lt;br /&gt;
        aura = {&lt;br /&gt;
            text = &#039;Aura&#039;,&lt;br /&gt;
            link = &#039;Aura delivery abilities&#039;,&lt;br /&gt;
            symbol = &#039;🌟&#039;,&lt;br /&gt;
            color = &#039;#f6d32d&#039;,&lt;br /&gt;
            class = &#039;delivery-tagged aura&#039;&lt;br /&gt;
        },&lt;br /&gt;
        cone = {&lt;br /&gt;
            text = &#039;Cone&#039;,&lt;br /&gt;
            link = &#039;Cone delivery abilities&#039;,&lt;br /&gt;
            symbol = &#039;🐲&#039;,&lt;br /&gt;
            color = &#039;#f6d32d&#039;,&lt;br /&gt;
            class = &#039;delivery-tagged cone&#039;&lt;br /&gt;
        },&lt;br /&gt;
        other = {&lt;br /&gt;
            text = &#039;Other&#039;,&lt;br /&gt;
            link = &#039;Other delivery abilities&#039;,&lt;br /&gt;
            symbol = &#039;❓&#039;,&lt;br /&gt;
            color = &#039;#f6d32d&#039;,&lt;br /&gt;
            class = &#039;delivery-tagged other&#039;&lt;br /&gt;
        }&lt;br /&gt;
    },&lt;br /&gt;
    target = {&lt;br /&gt;
        self = {&lt;br /&gt;
            text = &#039;Self&#039;,&lt;br /&gt;
            link = &#039;Self target abilities&#039;,&lt;br /&gt;
            symbol = &#039;🤲&#039;,&lt;br /&gt;
            color = &#039;#f6d32d&#039;,&lt;br /&gt;
            class = &#039;target-tagged self&#039;&lt;br /&gt;
        },&lt;br /&gt;
        creature = {&lt;br /&gt;
            text = &#039;Creature&#039;,&lt;br /&gt;
            link = &#039;Creature target abilities&#039;,&lt;br /&gt;
            symbol = &#039;👤&#039;,&lt;br /&gt;
            color = &#039;#f6d32d&#039;,&lt;br /&gt;
            class = &#039;target-tagged creature&#039;&lt;br /&gt;
        },&lt;br /&gt;
        body = {&lt;br /&gt;
            text = &#039;Body&#039;,&lt;br /&gt;
            link = &#039;Body target abilities&#039;,&lt;br /&gt;
            symbol = &#039;🧍&#039;,&lt;br /&gt;
            color = &#039;#f6d32d&#039;,&lt;br /&gt;
            class = &#039;target-tagged body&#039;&lt;br /&gt;
        },&lt;br /&gt;
        vitals = {&lt;br /&gt;
            text = &#039;Vitals&#039;,&lt;br /&gt;
            link = &#039;Vitals target abilities&#039;,&lt;br /&gt;
            symbol = &#039;🫀&#039;,&lt;br /&gt;
            color = &#039;#f6d32d&#039;,&lt;br /&gt;
            class = &#039;target-tagged vitals&#039;&lt;br /&gt;
        },&lt;br /&gt;
        limb = {&lt;br /&gt;
            text = &#039;Limb&#039;,&lt;br /&gt;
            link = &#039;Limb target abilities&#039;,&lt;br /&gt;
            symbol = &#039;🦾&#039;,&lt;br /&gt;
            color = &#039;#f6d32d&#039;,&lt;br /&gt;
            class = &#039;target-tagged limb&#039;&lt;br /&gt;
        },&lt;br /&gt;
        arm = {&lt;br /&gt;
            text = &#039;Arm&#039;,&lt;br /&gt;
            link = &#039;Arm target abilities&#039;,&lt;br /&gt;
            symbol = &#039;💪&#039;,&lt;br /&gt;
            color = &#039;#f6d32d&#039;,&lt;br /&gt;
            class = &#039;target-tagged arm&#039;&lt;br /&gt;
        },&lt;br /&gt;
        leg = {&lt;br /&gt;
            text = &#039;Leg&#039;,&lt;br /&gt;
            link = &#039;Leg target abilities&#039;,&lt;br /&gt;
            symbol = &#039;🦵&#039;,&lt;br /&gt;
            color = &#039;#f6d32d&#039;,&lt;br /&gt;
            class = &#039;target-tagged leg&#039;&lt;br /&gt;
        },&lt;br /&gt;
        item = {&lt;br /&gt;
            text = &#039;Item&#039;,&lt;br /&gt;
            link = &#039;Item target abilities&#039;,&lt;br /&gt;
            symbol = &#039;📦&#039;,&lt;br /&gt;
            color = &#039;#f6d32d&#039;,&lt;br /&gt;
            class = &#039;target-tagged item&#039;&lt;br /&gt;
        },&lt;br /&gt;
        weapon = {&lt;br /&gt;
            text = &#039;Weapon&#039;,&lt;br /&gt;
            link = &#039;Weapon target abilities&#039;,&lt;br /&gt;
            symbol = &#039;🗡️&#039;,&lt;br /&gt;
            color = &#039;#f6d32d&#039;,&lt;br /&gt;
            class = &#039;target-tagged weapon&#039;&lt;br /&gt;
        },&lt;br /&gt;
        shield = {&lt;br /&gt;
            text = &#039;Shield&#039;,&lt;br /&gt;
            link = &#039;Shield target abilities&#039;,&lt;br /&gt;
            symbol = &#039;🛡️&#039;,&lt;br /&gt;
            color = &#039;#f6d32d&#039;,&lt;br /&gt;
            class = &#039;target-tagged shield&#039;&lt;br /&gt;
        },&lt;br /&gt;
        armor = {&lt;br /&gt;
            text = &#039;Armor&#039;,&lt;br /&gt;
            link = &#039;Armor target abilities&#039;,&lt;br /&gt;
            symbol = &#039;🪖&#039;,&lt;br /&gt;
            color = &#039;#f6d32d&#039;,&lt;br /&gt;
            class = &#039;target-tagged armor&#039;&lt;br /&gt;
        },&lt;br /&gt;
        ship = {&lt;br /&gt;
            text = &#039;Ship&#039;,&lt;br /&gt;
            link = &#039;Ship target abilities&#039;,&lt;br /&gt;
            symbol = &#039;⛵️&#039;,&lt;br /&gt;
            color = &#039;#f6d32d&#039;,&lt;br /&gt;
            class = &#039;target-tagged ship&#039;&lt;br /&gt;
        },&lt;br /&gt;
        attack = {&lt;br /&gt;
            text = &#039;Attack&#039;,&lt;br /&gt;
            link = &#039;Attack target abilities&#039;,&lt;br /&gt;
            symbol = &#039;⚔️&#039;,&lt;br /&gt;
            color = &#039;#f6d32d&#039;,&lt;br /&gt;
            class = &#039;target-tagged attack&#039;&lt;br /&gt;
        },&lt;br /&gt;
        ability = {&lt;br /&gt;
        	text = &#039;Ability&#039;,&lt;br /&gt;
        	link = &#039;Ability target abilities&#039;,&lt;br /&gt;
        	symbol = &#039;🅰&#039;,&lt;br /&gt;
        	color = &#039;#f6d32d&#039;,&lt;br /&gt;
            class = &#039;target-tagged ability&#039;&lt;br /&gt;
        },&lt;br /&gt;
        spell = {&lt;br /&gt;
            text = &#039;Spell&#039;,&lt;br /&gt;
            link = &#039;Spell target abilities&#039;,&lt;br /&gt;
            symbol = &#039;💫&#039;,&lt;br /&gt;
            color = &#039;#f6d32d&#039;,&lt;br /&gt;
            class = &#039;target-tagged spell&#039;&lt;br /&gt;
        },&lt;br /&gt;
        other = {&lt;br /&gt;
            text = &#039;Other&#039;,&lt;br /&gt;
            link = &#039;Other target abilities&#039;,&lt;br /&gt;
            symbol = &#039;❓&#039;,&lt;br /&gt;
            color = &#039;#f6d32d&#039;,&lt;br /&gt;
            class = &#039;target-tagged other&#039;&lt;br /&gt;
        },&lt;br /&gt;
        area = {&lt;br /&gt;
            text = &#039;Area&#039;,&lt;br /&gt;
            link = &#039;Area target abilities&#039;,&lt;br /&gt;
            symbol = &#039;🏕️&#039;,&lt;br /&gt;
            color = &#039;#f6d32d&#039;,&lt;br /&gt;
            class = &#039;target-tagged area&#039;&lt;br /&gt;
        },&lt;br /&gt;
        ci = {&lt;br /&gt;
            tags = {&lt;br /&gt;
                &#039;creature&#039;,&lt;br /&gt;
                &#039;item&#039;&lt;br /&gt;
            }&lt;br /&gt;
        },&lt;br /&gt;
        ai = {&lt;br /&gt;
            tags = {&lt;br /&gt;
                &#039;attack&#039;,&lt;br /&gt;
                &#039;item&#039;&lt;br /&gt;
            }&lt;br /&gt;
        },&lt;br /&gt;
        ari = {&lt;br /&gt;
            tags = {&lt;br /&gt;
                &#039;area&#039;,&lt;br /&gt;
                &#039;item&#039;&lt;br /&gt;
            }&lt;br /&gt;
        },&lt;br /&gt;
        as = {&lt;br /&gt;
        	tags = {&lt;br /&gt;
        		&#039;area&#039;,&lt;br /&gt;
        		&#039;spell&#039;,&lt;br /&gt;
        	}&lt;br /&gt;
        },&lt;br /&gt;
        arse = {&lt;br /&gt;
        	tags = {&lt;br /&gt;
        		&#039;area&#039;,&lt;br /&gt;
        		&#039;self&#039;,&lt;br /&gt;
        	}&lt;br /&gt;
        },&lt;br /&gt;
        si = {&lt;br /&gt;
        	tags = {&lt;br /&gt;
        		&#039;item&#039;,&lt;br /&gt;
        		&#039;self&#039;&lt;br /&gt;
        	}&lt;br /&gt;
        },&lt;br /&gt;
        aci = {&lt;br /&gt;
            tags = {&lt;br /&gt;
                &#039;area&#039;,&lt;br /&gt;
                &#039;creature&#039;,&lt;br /&gt;
                &#039;item&#039;,&lt;br /&gt;
            }&lt;br /&gt;
        },&lt;br /&gt;
        ac = {&lt;br /&gt;
            tags = {&lt;br /&gt;
                &#039;area&#039;,&lt;br /&gt;
                &#039;creature&#039;,&lt;br /&gt;
            }&lt;br /&gt;
        },&lt;br /&gt;
        al = {&lt;br /&gt;
        	tags = {&lt;br /&gt;
        		&#039;arm&#039;,&lt;br /&gt;
        		&#039;leg&#039;,&lt;br /&gt;
        	}&lt;br /&gt;
        },&lt;br /&gt;
        cs = {&lt;br /&gt;
            tags = {&lt;br /&gt;
                &#039;creature&#039;,&lt;br /&gt;
                &#039;self&#039;,&lt;br /&gt;
            }&lt;br /&gt;
        },&lt;br /&gt;
    },&lt;br /&gt;
    upgrade = {&lt;br /&gt;
        warded = {&lt;br /&gt;
            text = &#039;Warded&#039;,&lt;br /&gt;
            link = &#039;Warded abilities&#039;,&lt;br /&gt;
            class = &#039;upgrade-tagged warded&#039;&lt;br /&gt;
        },&lt;br /&gt;
        absolute = {&lt;br /&gt;
            text = &#039;Absolute&#039;,&lt;br /&gt;
            link = &#039;Absolute abilities&#039;,&lt;br /&gt;
            class = &#039;upgrade-tagged absolute&#039;&lt;br /&gt;
        }&lt;br /&gt;
    },&lt;br /&gt;
    executionTime = {&lt;br /&gt;
        freeAction = {&lt;br /&gt;
            text = &#039;Free action&#039;,&lt;br /&gt;
            symbol = &#039;0️⃣&#039;,&lt;br /&gt;
            link = &#039;Free action abilities&#039;,&lt;br /&gt;
            class = &#039;executionTime-tagged a0&#039;&lt;br /&gt;
        },&lt;br /&gt;
        singleAction = {&lt;br /&gt;
            text = &#039;Single action&#039;,&lt;br /&gt;
            symbol = &#039;1️⃣&#039;,&lt;br /&gt;
            link = &#039;Single action abilities&#039;,&lt;br /&gt;
            class = &#039;executionTime-tagged a1&#039;&lt;br /&gt;
        },&lt;br /&gt;
        doubleAction = {&lt;br /&gt;
            text = &#039;Double action&#039;,&lt;br /&gt;
            symbol = &#039;2️⃣&#039;,&lt;br /&gt;
            link = &#039;Double action abilities&#039;,&lt;br /&gt;
            class = &#039;executionTime-tagged a2&#039;&lt;br /&gt;
        },&lt;br /&gt;
        tripleAction = {&lt;br /&gt;
            text = &#039;Triple action&#039;,&lt;br /&gt;
            symbol = &#039;3️⃣&#039;,&lt;br /&gt;
            link = &#039;Triple action abilities&#039;,&lt;br /&gt;
            class = &#039;executionTime-tagged a3&#039;&lt;br /&gt;
        },&lt;br /&gt;
        freeReaction = {&lt;br /&gt;
            text = &#039;Free reaction&#039;,&lt;br /&gt;
            symbol = &#039;0️⃣&#039;,&lt;br /&gt;
            link = &#039;Free reaction abilities&#039;,&lt;br /&gt;
            class = &#039;executionTime-tagged r0&#039;&lt;br /&gt;
        },&lt;br /&gt;
        reaction = {&lt;br /&gt;
            text = &#039;Reaction&#039;,&lt;br /&gt;
            symbol = &#039;1️⃣&#039;,&lt;br /&gt;
            link = &#039;Reaction abilities&#039;,&lt;br /&gt;
            class = &#039;executionTime-tagged r1&#039;&lt;br /&gt;
        },&lt;br /&gt;
        shortRest = {&lt;br /&gt;
            text = &#039;Short rest&#039;,&lt;br /&gt;
            symbol = &#039;🌙&#039;,&lt;br /&gt;
            link = &#039;Short rest abilities&#039;,&lt;br /&gt;
            class = &#039;executionTime-tagged shortRest&#039;&lt;br /&gt;
        },&lt;br /&gt;
        longRest = {&lt;br /&gt;
            text = &#039;Long rest&#039;,&lt;br /&gt;
            symbol = &#039;🌙&#039;,&lt;br /&gt;
            link = &#039;Long rest abilities&#039;,&lt;br /&gt;
            class = &#039;executionTime-tagged longRest&#039;&lt;br /&gt;
        },&lt;br /&gt;
    },&lt;br /&gt;
    piercing = {&lt;br /&gt;
        av0 = {&lt;br /&gt;
            text = &#039;AV0&#039;,&lt;br /&gt;
            symbol = &#039;🎯&#039;,&lt;br /&gt;
            link = &#039;AV0 abilities&#039;,&lt;br /&gt;
            color = &#039;#33d17a&#039;,&lt;br /&gt;
            class = &#039;piercing-tagged av0&#039;&lt;br /&gt;
        },&lt;br /&gt;
        unblockable = {&lt;br /&gt;
            text = &#039;UB&#039;,&lt;br /&gt;
            symbol = &#039;🪨&#039;,&lt;br /&gt;
            link = &#039;UB abilities&#039;,&lt;br /&gt;
            color = &#039;#33d17a&#039;,&lt;br /&gt;
            class = &#039;piercing-tagged ub&#039;&lt;br /&gt;
        }&lt;br /&gt;
    },&lt;br /&gt;
    duration = {&lt;br /&gt;
        instant = {&lt;br /&gt;
            text = &#039;Instant&#039;,&lt;br /&gt;
            link = &#039;Instant duration abilities&#039;,&lt;br /&gt;
            no = true&lt;br /&gt;
        },&lt;br /&gt;
        always = {&lt;br /&gt;
            text = &#039;Always active&#039;,&lt;br /&gt;
            link = &#039;Always active duration abilities&#039;,&lt;br /&gt;
            no = true&lt;br /&gt;
        },&lt;br /&gt;
        noLimit = {&lt;br /&gt;
            text = &#039;No limit&#039;,&lt;br /&gt;
            link = &#039;No limit duration abilities&#039;,&lt;br /&gt;
            no = true&lt;br /&gt;
        },&lt;br /&gt;
        whileUp = {&lt;br /&gt;
            text = &#039;While up&#039;,&lt;br /&gt;
            link = &#039;While up duration abilities&#039;,&lt;br /&gt;
            no = true&lt;br /&gt;
        },&lt;br /&gt;
        whileDown = {&lt;br /&gt;
            text = &#039;While down&#039;,&lt;br /&gt;
            link = &#039;While down duration abilities&#039;,&lt;br /&gt;
            no = true&lt;br /&gt;
        },&lt;br /&gt;
        whileAlive = {&lt;br /&gt;
            text = &#039;While alive&#039;,&lt;br /&gt;
            link = &#039;While alive duration abilities&#039;,&lt;br /&gt;
            no = true&lt;br /&gt;
        },&lt;br /&gt;
        whileDead = {&lt;br /&gt;
            text = &#039;While dead&#039;,&lt;br /&gt;
            link = &#039;While dead duration abilities&#039;,&lt;br /&gt;
            no = true&lt;br /&gt;
        },&lt;br /&gt;
        endOfTurn = {&lt;br /&gt;
            text = &#039;Until the end of the turn&#039;,&lt;br /&gt;
            link = &#039;Until end of turn duration abilities&#039;,&lt;br /&gt;
            no = true&lt;br /&gt;
        },&lt;br /&gt;
        dawn = {&lt;br /&gt;
            text = &#039;Until dawn&#039;,&lt;br /&gt;
            link = &#039;Until dawn duration abilities&#039;,&lt;br /&gt;
            no = true&lt;br /&gt;
        },&lt;br /&gt;
        startOfTargetNextTurn = {&lt;br /&gt;
            text = &#039;Until the start of target\&#039;s next turn&#039;,&lt;br /&gt;
            link = &#039;Until start of target\&#039;s next turn duration abilities&#039;,&lt;br /&gt;
            no = true&lt;br /&gt;
        },&lt;br /&gt;
        endOfTargetNextTurn = {&lt;br /&gt;
            text = &#039;Until the end of target\&#039;s next turn&#039;,&lt;br /&gt;
            link = &#039;Until end of target\&#039;s next turn duration abilities&#039;,&lt;br /&gt;
            no = true&lt;br /&gt;
        },&lt;br /&gt;
        startOfYourNextTurn = {&lt;br /&gt;
            text = &#039;Until the start of your next turn&#039;,&lt;br /&gt;
            link = &#039;Until start of your next turn duration abilities&#039;,&lt;br /&gt;
            no = true&lt;br /&gt;
        },&lt;br /&gt;
        endOfYourNextTurn = {&lt;br /&gt;
            text = &#039;Until the end of your next turn&#039;,&lt;br /&gt;
            link = &#039;Until end of your next turn duration abilities&#039;,&lt;br /&gt;
            no = true&lt;br /&gt;
        },&lt;br /&gt;
        endOfCombat = {&lt;br /&gt;
            text = &#039;Until the end of combat&#039;,&lt;br /&gt;
            link = &#039;Until end of combat duration abilities&#039;,&lt;br /&gt;
            no = true&lt;br /&gt;
        }&lt;br /&gt;
    },&lt;br /&gt;
    range = {&lt;br /&gt;
        melee = {&lt;br /&gt;
            text = &#039;Your melee range&#039;,&lt;br /&gt;
            -- link = &#039;Melee abilities&#039;,&lt;br /&gt;
            no = true&lt;br /&gt;
        },&lt;br /&gt;
        weapon = {&lt;br /&gt;
            text = &#039;Your [[:Category:Weapons|weapon\&#039;s]] range&#039;,&lt;br /&gt;
            -- link = &#039;Weapon range abilities&#039;,&lt;br /&gt;
            no = true&lt;br /&gt;
        },&lt;br /&gt;
        hand = {&lt;br /&gt;
            text = &#039;Your [[:Category:Handy equipment|hand\&#039;s]] range&#039;,&lt;br /&gt;
            -- link = &#039;Hand range abilities&#039;,&lt;br /&gt;
            no = true&lt;br /&gt;
        },&lt;br /&gt;
        bite = {&lt;br /&gt;
            text = &#039;Your [[:Category:Biting equipment|bite\&#039;s]] range&#039;,&lt;br /&gt;
            -- link = &#039;Bite range abilities&#039;,&lt;br /&gt;
            no = true&lt;br /&gt;
        },&lt;br /&gt;
        item = {&lt;br /&gt;
            text = &#039;Your [[:Category:Items|item\&#039;s]] range&#039;,&lt;br /&gt;
            -- link = &#039;Item range abilities&#039;,&lt;br /&gt;
            no = true&lt;br /&gt;
        },&lt;br /&gt;
        shield = {&lt;br /&gt;
            text = &#039;Your [[:Category:Shields|shield\&#039;s]] range&#039;,&lt;br /&gt;
            -- link = &#039;Shield range abilities&#039;,&lt;br /&gt;
            no = true&lt;br /&gt;
        },&lt;br /&gt;
        armor = {&lt;br /&gt;
            text = &#039;Your [[:Category:Armor|armor\&#039;s]] range&#039;,&lt;br /&gt;
            -- link = &#039;Armor range abilities&#039;,&lt;br /&gt;
            no = true&lt;br /&gt;
        },&lt;br /&gt;
    },&lt;br /&gt;
    attribute = {&lt;br /&gt;
        int = {&lt;br /&gt;
            text = &#039;Intelligence&#039;,&lt;br /&gt;
            symbol = &#039;INT&#039;,&lt;br /&gt;
            link = &#039;INT save abilities&#039;,&lt;br /&gt;
            class = &#039;saveAttribute-tagged int&#039;&lt;br /&gt;
        },&lt;br /&gt;
        str = {&lt;br /&gt;
            text = &#039;Strength&#039;,&lt;br /&gt;
            symbol = &#039;STR&#039;,&lt;br /&gt;
            link = &#039;STR save abilities&#039;,&lt;br /&gt;
            class = &#039;saveAttribute-tagged str&#039;&lt;br /&gt;
        },&lt;br /&gt;
        mov = {&lt;br /&gt;
            text = &#039;Movement&#039;,&lt;br /&gt;
            symbol = &#039;MOV&#039;,&lt;br /&gt;
            link = &#039;MOV save abilities&#039;,&lt;br /&gt;
            class = &#039;saveAttribute-tagged mov&#039;&lt;br /&gt;
        },&lt;br /&gt;
        per = {&lt;br /&gt;
            text = &#039;Perception&#039;,&lt;br /&gt;
            symbol = &#039;PER&#039;,&lt;br /&gt;
            link = &#039;PER save abilities&#039;,&lt;br /&gt;
            class = &#039;saveAttribute-tagged per&#039;&lt;br /&gt;
        },&lt;br /&gt;
        snk = {&lt;br /&gt;
            text = &#039;Sneak&#039;,&lt;br /&gt;
            symbol = &#039;SNK&#039;,&lt;br /&gt;
            link = &#039;SNK save abilities&#039;,&lt;br /&gt;
            class = &#039;saveAttribute-tagged snk&#039;&lt;br /&gt;
        },&lt;br /&gt;
        unp = {&lt;br /&gt;
            text = &#039;Unused Presence&#039;,&lt;br /&gt;
            symbol = &#039;UNP&#039;,&lt;br /&gt;
            link = &#039;UNP save abilities&#039;,&lt;br /&gt;
            class = &#039;saveAttribute-tagged unp&#039;&lt;br /&gt;
        },&lt;br /&gt;
    },&lt;br /&gt;
    expansionAttribute = {&lt;br /&gt;
        int = {&lt;br /&gt;
            text = &#039;Intelligence&#039;,&lt;br /&gt;
            symbol = &#039;INT&#039;,&lt;br /&gt;
            link = &#039;INT save abilities&#039;,&lt;br /&gt;
            class = &#039;expansionAttribute-tagged int&#039;&lt;br /&gt;
        },&lt;br /&gt;
        str = {&lt;br /&gt;
            text = &#039;Strength&#039;,&lt;br /&gt;
            symbol = &#039;STR&#039;,&lt;br /&gt;
            link = &#039;STR save abilities&#039;,&lt;br /&gt;
            class = &#039;expansionAttribute-tagged str&#039;&lt;br /&gt;
        },&lt;br /&gt;
        mov = {&lt;br /&gt;
            text = &#039;Movement&#039;,&lt;br /&gt;
            symbol = &#039;MOV&#039;,&lt;br /&gt;
            link = &#039;MOV save abilities&#039;,&lt;br /&gt;
            class = &#039;expansionAttribute-tagged mov&#039;&lt;br /&gt;
        },&lt;br /&gt;
        per = {&lt;br /&gt;
            text = &#039;Perception&#039;,&lt;br /&gt;
            symbol = &#039;PER&#039;,&lt;br /&gt;
            link = &#039;PER save abilities&#039;,&lt;br /&gt;
            class = &#039;expansionAttribute-tagged per&#039;&lt;br /&gt;
        },&lt;br /&gt;
        snk = {&lt;br /&gt;
            text = &#039;Sneak&#039;,&lt;br /&gt;
            symbol = &#039;SNK&#039;,&lt;br /&gt;
            link = &#039;SNK save abilities&#039;,&lt;br /&gt;
            class = &#039;expansionAttribute-tagged snk&#039;&lt;br /&gt;
        },&lt;br /&gt;
        unp = {&lt;br /&gt;
            text = &#039;Unused Presence&#039;,&lt;br /&gt;
            symbol = &#039;UNP&#039;,&lt;br /&gt;
            link = &#039;UNP save abilities&#039;,&lt;br /&gt;
            class = &#039;expansionAttribute-tagged unp&#039;&lt;br /&gt;
        },&lt;br /&gt;
    },&lt;br /&gt;
    expansion = {&lt;br /&gt;
        detonate = {&lt;br /&gt;
            text = &#039;Detonate&#039;,&lt;br /&gt;
            symbol = &#039;💥&#039;,&lt;br /&gt;
            link = &#039;Detonate expansion abilities&#039;,&lt;br /&gt;
            class = &#039;expansion-tagged detonate&#039;&lt;br /&gt;
        },&lt;br /&gt;
        ripple = {&lt;br /&gt;
            text = &#039;Ripple&#039;,&lt;br /&gt;
            symbol = &#039;🌊&#039;,&lt;br /&gt;
            link = &#039;Ripple expansion abilities&#039;,&lt;br /&gt;
            class = &#039;expansion-tagged ripple&#039;&lt;br /&gt;
        },&lt;br /&gt;
        cascade = {&lt;br /&gt;
            text = &#039;Cascade&#039;,&lt;br /&gt;
            symbol = &#039;➰&#039;,&lt;br /&gt;
            link = &#039;Cascade expansion abilities&#039;,&lt;br /&gt;
            class = &#039;expansion-tagged cascade&#039;&lt;br /&gt;
        },&lt;br /&gt;
        fork = {&lt;br /&gt;
            text = &#039;Fork&#039;,&lt;br /&gt;
            symbol = &#039;🔱&#039;,&lt;br /&gt;
            link = &#039;Fork expansion abilities&#039;,&lt;br /&gt;
            class = &#039;expansion-tagged fork&#039;&lt;br /&gt;
        }&lt;br /&gt;
    },&lt;br /&gt;
    sustained = {&lt;br /&gt;
        sustained = {&lt;br /&gt;
            text = &#039;Sustained&#039;,&lt;br /&gt;
            symbol = &#039;⏳️&#039;,&lt;br /&gt;
            link = &#039;Sustained abilities&#039;,&lt;br /&gt;
            class = &#039;sustained&#039;&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
local premades = {&lt;br /&gt;
    strike = {&lt;br /&gt;
        maneuver = &#039;active&#039;,&lt;br /&gt;
        executionTime = &#039;1a&#039;,&lt;br /&gt;
        interaction = &#039;attack&#039;,&lt;br /&gt;
        delivery = &#039;weapon&#039;,&lt;br /&gt;
        target = &#039;creature&#039;,&lt;br /&gt;
        duration = &#039;instant&#039;,&lt;br /&gt;
        range = &#039;weapon&#039;,&lt;br /&gt;
    },&lt;br /&gt;
    ray = {&lt;br /&gt;
        maneuver = &#039;active&#039;,&lt;br /&gt;
        executionTime = &#039;1a&#039;,&lt;br /&gt;
        interaction = &#039;attack&#039;,&lt;br /&gt;
        delivery = &#039;missile&#039;,&lt;br /&gt;
        target = &#039;creature&#039;,&lt;br /&gt;
        duration = &#039;instant&#039;,&lt;br /&gt;
        range = &#039;60f&#039;,&lt;br /&gt;
        piercing = &#039;av0&#039;,&lt;br /&gt;
    },&lt;br /&gt;
    ball = {&lt;br /&gt;
        maneuver = &#039;active&#039;,&lt;br /&gt;
        executionTime = &#039;1a&#039;,&lt;br /&gt;
        interaction = &#039;attack&#039;,&lt;br /&gt;
        delivery = &#039;missile&#039;,&lt;br /&gt;
        target = &#039;creature&#039;,&lt;br /&gt;
        duration = &#039;instant&#039;,&lt;br /&gt;
        range = &#039;30f&#039;,&lt;br /&gt;
        piercing = &#039;ub&#039;,&lt;br /&gt;
    },&lt;br /&gt;
    aura = {&lt;br /&gt;
        skip = true,&lt;br /&gt;
        maneuver = &#039;active&#039;,&lt;br /&gt;
        executionTime = &#039;1a&#039;,&lt;br /&gt;
        interaction = &#039;feat&#039;,&lt;br /&gt;
        delivery = &#039;aura&#039;,&lt;br /&gt;
        target = &#039;creature&#039;,&lt;br /&gt;
        duration = &#039;instant&#039;,&lt;br /&gt;
        range = &#039;10f&#039;,&lt;br /&gt;
        attribute = &#039;mov&#039;,&lt;br /&gt;
    },&lt;br /&gt;
    ritual = {&lt;br /&gt;
        maneuver = &#039;slow&#039;,&lt;br /&gt;
        executionTime = &#039;10m&#039;,&lt;br /&gt;
        interaction = &#039;manifest&#039;,&lt;br /&gt;
        delivery = &#039;sight&#039;,&lt;br /&gt;
        target = &#039;creature&#039;,&lt;br /&gt;
        duration = &#039;instant&#039;,&lt;br /&gt;
        range = &#039;5f&#039;,&lt;br /&gt;
    },&lt;br /&gt;
    touch = {&lt;br /&gt;
        maneuver = &#039;active&#039;,&lt;br /&gt;
        executionTime = &#039;1a&#039;,&lt;br /&gt;
        interaction = &#039;attack&#039;,&lt;br /&gt;
        delivery = &#039;hand&#039;,&lt;br /&gt;
        target = &#039;creature&#039;,&lt;br /&gt;
        duration = &#039;instant&#039;,&lt;br /&gt;
        range = &#039;hand&#039;,&lt;br /&gt;
        piercing = &#039;ub&#039;,&lt;br /&gt;
    },&lt;br /&gt;
    triumph = {&lt;br /&gt;
        skip = true,&lt;br /&gt;
        maneuver = &#039;reactive&#039;,&lt;br /&gt;
        executionTime = &#039;0r&#039;,&lt;br /&gt;
        interaction = &#039;manifest&#039;,&lt;br /&gt;
        delivery = &#039;self&#039;,&lt;br /&gt;
        target = &#039;self&#039;,&lt;br /&gt;
        duration = &#039;instant&#039;,&lt;br /&gt;
        range = &#039;self&#039;,&lt;br /&gt;
    },&lt;br /&gt;
    self = {&lt;br /&gt;
        skip = true,&lt;br /&gt;
        maneuver = &#039;active&#039;,&lt;br /&gt;
        executionTime = &#039;1a&#039;,&lt;br /&gt;
        interaction = &#039;man&#039;,&lt;br /&gt;
        delivery = &#039;self&#039;,&lt;br /&gt;
        target = &#039;self&#039;,&lt;br /&gt;
        duration = &#039;instant&#039;,&lt;br /&gt;
        range = &#039;self&#039;,&lt;br /&gt;
    },&lt;br /&gt;
    passive = {&lt;br /&gt;
        skip = true,&lt;br /&gt;
        maneuver = &#039;passive&#039;,&lt;br /&gt;
        interaction = &#039;man&#039;,&lt;br /&gt;
        delivery = &#039;self&#039;,&lt;br /&gt;
        target = &#039;self&#039;,&lt;br /&gt;
        duration = &#039;4&#039;,&lt;br /&gt;
        range = &#039;self&#039;,&lt;br /&gt;
    },&lt;br /&gt;
    crown = {&lt;br /&gt;
        skip = true,&lt;br /&gt;
        maneuver = &#039;active&#039;,&lt;br /&gt;
        executionTime = &#039;1a&#039;,&lt;br /&gt;
        interaction = &#039;man&#039;,&lt;br /&gt;
        delivery = &#039;self&#039;,&lt;br /&gt;
        target = &#039;self&#039;,&lt;br /&gt;
        duration = &#039;8h&#039;,&lt;br /&gt;
        range = &#039;self&#039;,&lt;br /&gt;
        sustained = &#039;sus&#039;,&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
function noPlural(word)&lt;br /&gt;
    -- Common irregular plural forms&lt;br /&gt;
    local irregulars = {&lt;br /&gt;
        [&amp;quot;children&amp;quot;] = &amp;quot;child&amp;quot;,&lt;br /&gt;
        [&amp;quot;men&amp;quot;] = &amp;quot;man&amp;quot;,&lt;br /&gt;
        [&amp;quot;women&amp;quot;] = &amp;quot;woman&amp;quot;,&lt;br /&gt;
        [&amp;quot;feet&amp;quot;] = &amp;quot;foot&amp;quot;,&lt;br /&gt;
        [&amp;quot;teeth&amp;quot;] = &amp;quot;tooth&amp;quot;,&lt;br /&gt;
        [&amp;quot;mice&amp;quot;] = &amp;quot;mouse&amp;quot;,&lt;br /&gt;
        [&amp;quot;geese&amp;quot;] = &amp;quot;goose&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    -- Check for irregular forms&lt;br /&gt;
    if irregulars[word] then&lt;br /&gt;
        return irregulars[word]&lt;br /&gt;
    end&lt;br /&gt;
&lt;br /&gt;
    -- Regular pluralization rules&lt;br /&gt;
    if word:match(&amp;quot;ies$&amp;quot;) then&lt;br /&gt;
        -- Change words ending in &#039;ies&#039; to &#039;y&#039; (e.g., &amp;quot;parties&amp;quot; -&amp;gt; &amp;quot;party&amp;quot;)&lt;br /&gt;
        return word:sub(1, -4) .. &amp;quot;y&amp;quot;&lt;br /&gt;
    elseif word:match(&amp;quot;ves$&amp;quot;) then&lt;br /&gt;
        -- Change words ending in &#039;ves&#039; to &#039;f&#039; or &#039;fe&#039; (e.g., &amp;quot;wolves&amp;quot; -&amp;gt; &amp;quot;wolf&amp;quot;)&lt;br /&gt;
        return word:sub(1, -4) .. &amp;quot;f&amp;quot;&lt;br /&gt;
    elseif word:match(&amp;quot;s$&amp;quot;) and not word:match(&amp;quot;ss$&amp;quot;) then&lt;br /&gt;
        -- Remove trailing &#039;s&#039; (e.g., &amp;quot;cats&amp;quot; -&amp;gt; &amp;quot;cat&amp;quot;, but keep &amp;quot;boss&amp;quot;)&lt;br /&gt;
        return word:sub(1, -2)&lt;br /&gt;
    else&lt;br /&gt;
        -- Return the word unchanged if no pluralization rule applies&lt;br /&gt;
        return word&lt;br /&gt;
    end&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
local function addCategory(category, key, val, skill, spell, addCats, noLower)&lt;br /&gt;
    if addCats then&lt;br /&gt;
        if not noLower then&lt;br /&gt;
            category = category:lower()&lt;br /&gt;
        end&lt;br /&gt;
        if tags[key] and tags[key][val] then&lt;br /&gt;
            if tags[key][val].tags then&lt;br /&gt;
                out = &#039;&#039;&lt;br /&gt;
                for _, t in ipairs(tags[key][val].tags) do&lt;br /&gt;
                    out = out .. addCategory(category, key, t, skill, spell, addCats, true)&lt;br /&gt;
                end&lt;br /&gt;
                return out&lt;br /&gt;
            else&lt;br /&gt;
                category = tags[key][val].link&lt;br /&gt;
            end&lt;br /&gt;
        end&lt;br /&gt;
        if skill then&lt;br /&gt;
            skillCategory = category:gsub(&#039;ability&#039;, &#039;skill&#039;):gsub(&#039;abilities&#039;, &#039;skills&#039;)&lt;br /&gt;
            skillCategory = skillCategory:gsub(&amp;quot;^%l&amp;quot;, string.upper)&lt;br /&gt;
        end&lt;br /&gt;
        if spell then&lt;br /&gt;
            spellCategory = category:gsub(&#039;ability&#039;, &#039;spell&#039;):gsub(&#039;abilities&#039;, &#039;spells&#039;)&lt;br /&gt;
            spellCategory = spellCategory:gsub(&amp;quot;^%l&amp;quot;, string.upper)&lt;br /&gt;
        end&lt;br /&gt;
        category = category:gsub(&amp;quot;^%l&amp;quot;, string.upper)&lt;br /&gt;
        &lt;br /&gt;
        local c = &#039;[[Category:&#039; .. tostring(category) .. &#039;]]&#039;&lt;br /&gt;
        if skill then&lt;br /&gt;
            c = c .. &#039;[[Category:&#039; .. tostring(skillCategory) .. &#039;]]&#039;&lt;br /&gt;
        end&lt;br /&gt;
        if spell then&lt;br /&gt;
            c = c .. &#039;[[Category:&#039; .. tostring(spellCategory) .. &#039;]]&#039;&lt;br /&gt;
        end&lt;br /&gt;
        return c&lt;br /&gt;
    else&lt;br /&gt;
        return &#039;&#039;&lt;br /&gt;
    end&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
local function makeTag(frame, key, value, makeCat, transparent)&lt;br /&gt;
    if not tags[key] or not tags[key][value] then&lt;br /&gt;
        if value then&lt;br /&gt;
            local out = frame:preprocess(&amp;quot;{{ucfirst:&amp;quot; .. tostring(value) .. &amp;quot;}}&amp;quot;)&lt;br /&gt;
            if not (&#039;.&#039; == out:sub(-1)) then&lt;br /&gt;
                out = out .. &#039;.&#039;&lt;br /&gt;
            end&lt;br /&gt;
            return out&lt;br /&gt;
        else&lt;br /&gt;
            return &#039;&#039;&lt;br /&gt;
        end&lt;br /&gt;
    end&lt;br /&gt;
    local tag = tags[key][value]&lt;br /&gt;
    if tag.no then&lt;br /&gt;
        local out = frame:preprocess(&amp;quot;{{ucfirst:&amp;quot; .. tag.text .. &amp;quot;}}&amp;quot;)&lt;br /&gt;
        if not (&#039;.&#039; == out:sub(-1)) then&lt;br /&gt;
            out = out .. &#039;.&#039;&lt;br /&gt;
        end&lt;br /&gt;
        return out&lt;br /&gt;
    end&lt;br /&gt;
    if tag.tags then&lt;br /&gt;
        local out = &#039;&#039;&lt;br /&gt;
        for _, t in ipairs(tag.tags) do&lt;br /&gt;
            out = out .. makeTag(frame, key, t, makeCat, transparent)&lt;br /&gt;
        end&lt;br /&gt;
        return out&lt;br /&gt;
    end&lt;br /&gt;
    local tagText = &amp;quot;{{Tag|{{ucfirst:&amp;quot; .. tag.text .. &amp;quot;}}&amp;quot;&lt;br /&gt;
    if tag.symbol then&lt;br /&gt;
        tagText = tagText .. &amp;quot;|&amp;quot; .. tag.symbol&lt;br /&gt;
    end&lt;br /&gt;
    if tag.link then&lt;br /&gt;
        tagText = tagText .. &amp;quot;|l=:Category:{{ucfirst:&amp;quot; .. tag.link .. &amp;quot;}}&amp;quot;&lt;br /&gt;
    end&lt;br /&gt;
    if tag.color then&lt;br /&gt;
        tagText = tagText .. &amp;quot;|c=&amp;quot; .. tag.color&lt;br /&gt;
    end&lt;br /&gt;
    if tag.class then&lt;br /&gt;
        tagText = tagText .. &amp;quot;|class=&amp;quot; .. tag.class&lt;br /&gt;
    end&lt;br /&gt;
    if transparent then&lt;br /&gt;
        tagText = tagText .. &amp;quot;|o=1&amp;quot;&lt;br /&gt;
    end&lt;br /&gt;
    tagText = tagText .. &amp;quot;}}&amp;quot;&lt;br /&gt;
    -- out = frame:preprocess(tagText)&lt;br /&gt;
    out = tagText&lt;br /&gt;
    return out&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
local function makeContent(frame, table, keys, makeCat)&lt;br /&gt;
    local content = &#039;&#039;&lt;br /&gt;
    local subContent = &#039;&#039;&lt;br /&gt;
    local hasPre = false&lt;br /&gt;
    for _, key in ipairs(keys) do&lt;br /&gt;
        if (&#039;pre&#039; == key and table[&#039;pre&#039;]) or (&#039;executionTime&#039; == key and table[&#039;executionTime&#039;]) or (&#039;target&#039; == key) or (&#039;duration&#039; == key) or (&#039;invoked&#039; == key and table[&#039;invoked&#039;]) then&lt;br /&gt;
            hasPre = true&lt;br /&gt;
            content = content .. frame:preprocess(makeTag(frame, key, table[key], makeCat))&lt;br /&gt;
        else&lt;br /&gt;
            if hasPre then&lt;br /&gt;
                subContent = subContent .. makeTag(frame, key, table[key], makeCat)&lt;br /&gt;
            else&lt;br /&gt;
                content = content .. frame:preprocess(makeTag(frame, key, table[key], makeCat))&lt;br /&gt;
            end&lt;br /&gt;
        end&lt;br /&gt;
    end&lt;br /&gt;
    if hasPre then&lt;br /&gt;
        content = content .. frame:preprocess(&#039;{{TagSub|&#039; .. subContent .. &#039;}}&#039;)&lt;br /&gt;
        -- content = content .. &#039;{{TagSub|&#039; .. subContent .. &#039;}}&#039;&lt;br /&gt;
    end&lt;br /&gt;
    if content == &#039;&#039; then&lt;br /&gt;
        for _, key in ipairs(keys) do&lt;br /&gt;
            if table[key] then&lt;br /&gt;
                content = frame:preprocess(&#039;{{ucfirst:&#039; .. content .. table[key] .. &#039;}}&#039;)&lt;br /&gt;
            end&lt;br /&gt;
        end&lt;br /&gt;
    end&lt;br /&gt;
    return content&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
local function makeBar(frame, title, content, link, flags, bottom)&lt;br /&gt;
    if content == &#039;&#039; then&lt;br /&gt;
        return &#039;&#039;&lt;br /&gt;
    end&lt;br /&gt;
    local barSpace = mw.html.create(&#039;span&#039;)&lt;br /&gt;
    barSpace&lt;br /&gt;
        :wikitext(frame:preprocess(&#039;&amp;amp;nbsp;&#039;))&lt;br /&gt;
        :css(&#039;display&#039;, &#039;none&#039;)&lt;br /&gt;
    local barTitle = mw.html.create(&#039;span&#039;)&lt;br /&gt;
    local barTitleClass = title:lower()&lt;br /&gt;
    barTitleClass = barTitleClass:gsub(&#039; &#039;, &#039;-&#039;)&lt;br /&gt;
    barTitleClass = barTitleClass:gsub(&#039;\&#039;&#039;, &#039;&#039;)&lt;br /&gt;
    barTitleClass = barTitleClass:gsub(&#039;\&amp;quot;&#039;, &#039;&#039;)&lt;br /&gt;
    local barText = &amp;quot;{{ucfirst:&amp;quot; .. title .. &amp;quot;}}&amp;quot;&lt;br /&gt;
    if link then&lt;br /&gt;
        barText = &amp;quot;[[&amp;quot; .. link .. &amp;quot;|&amp;quot; .. barText .. &amp;quot;]]&amp;quot;&lt;br /&gt;
    end&lt;br /&gt;
    barText = barText .. &amp;quot;:&amp;quot;&lt;br /&gt;
    barTitle&lt;br /&gt;
        :addClass(&#039;ability-bar-title&#039;)&lt;br /&gt;
        :wikitext(frame:preprocess(barText))&lt;br /&gt;
        :css(&#039;font-weight&#039;, &#039;bold&#039;)&lt;br /&gt;
        :css(&#039;margin-right&#039;, &#039;0.5em&#039;)&lt;br /&gt;
    local barContent = mw.html.create(&#039;span&#039;)&lt;br /&gt;
    barContent&lt;br /&gt;
        :addClass(&#039;ability-bar-content&#039;)&lt;br /&gt;
        :wikitext(content)&lt;br /&gt;
    local output = mw.html.create(&#039;div&#039;)&lt;br /&gt;
    if bottom then&lt;br /&gt;
        output = mw.html.create(&#039;span&#039;)&lt;br /&gt;
    end&lt;br /&gt;
    if not flags then&lt;br /&gt;
        flags = {}&lt;br /&gt;
    end&lt;br /&gt;
    for k, v in pairs(flags) do&lt;br /&gt;
        if type(v) == &#039;string&#039; then&lt;br /&gt;
            output:addClass(&#039;flag-&#039; .. k .. &#039;-&#039; .. v)&lt;br /&gt;
        end&lt;br /&gt;
    end&lt;br /&gt;
    output&lt;br /&gt;
        :addClass(&#039;ability-bar&#039;)&lt;br /&gt;
        :addClass(&#039;ability-bar-&#039; .. barTitleClass)&lt;br /&gt;
        :attr(flags)&lt;br /&gt;
        :attr(&#039;test&#039;, &#039;out&#039;)&lt;br /&gt;
        :node(barSpace)&lt;br /&gt;
        :node(barTitle)&lt;br /&gt;
        :node(barSpace)&lt;br /&gt;
        :node(barContent)&lt;br /&gt;
        :css(&#039;display&#039;, &#039;block&#039;)&lt;br /&gt;
    -- if flags then&lt;br /&gt;
        -- for k, v in ipairs(flags) do&lt;br /&gt;
        --     output:attr(k, v)&lt;br /&gt;
        -- end&lt;br /&gt;
    -- end&lt;br /&gt;
    return tostring(output)&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
local function resolveAlias(args, aliases)&lt;br /&gt;
    local resolved = {}&lt;br /&gt;
&lt;br /&gt;
    -- Resolve keys&lt;br /&gt;
    for canonicalKey, keyAliasList in pairs(aliases.keys) do&lt;br /&gt;
        for _, alias in ipairs(keyAliasList) do&lt;br /&gt;
            if args[alias] then&lt;br /&gt;
                resolved[canonicalKey] = args[alias]&lt;br /&gt;
                break&lt;br /&gt;
            end&lt;br /&gt;
        end&lt;br /&gt;
    end&lt;br /&gt;
&lt;br /&gt;
    -- Resolve values&lt;br /&gt;
    for canonicalKey, canonicalValueTable in pairs(aliases.values) do&lt;br /&gt;
        local rawValue = resolved[canonicalKey]&lt;br /&gt;
&lt;br /&gt;
        if rawValue then&lt;br /&gt;
            for canonicalValue, valueAliasList in pairs(canonicalValueTable) do&lt;br /&gt;
                for _, alias in ipairs(valueAliasList) do&lt;br /&gt;
                    if rawValue == &#039;&#039; then&lt;br /&gt;
                        resolved[canonicalKey] = false&lt;br /&gt;
                        break&lt;br /&gt;
                    elseif rawValue == alias then&lt;br /&gt;
                        resolved[canonicalKey] = canonicalValue&lt;br /&gt;
                        break&lt;br /&gt;
                    -- Handle patterns like timeParse or distParse&lt;br /&gt;
                    elseif rawValue and type(valueAliasList) == &amp;quot;table&amp;quot; and valueAliasList[1] and rawValue:match(valueAliasList[1]) then&lt;br /&gt;
                        if canonicalKey == &amp;quot;duration&amp;quot; or canonicalKey == &amp;quot;executionTime&amp;quot; then&lt;br /&gt;
                            -- Parse time duration (e.g., 5d -&amp;gt; &amp;quot;5 days&amp;quot;)&lt;br /&gt;
                            local num = tonumber(rawValue:match(&amp;quot;^(%d+)&amp;quot;))&lt;br /&gt;
                            local unit = rawValue:match(&amp;quot;[%a]+$&amp;quot;)&lt;br /&gt;
                            local unitMap = {m = &amp;quot;minute&amp;quot;, h = &amp;quot;hour&amp;quot;, d = &amp;quot;day&amp;quot;, w = &amp;quot;week&amp;quot;, y = &amp;quot;year&amp;quot;, r = &amp;quot;round&amp;quot;, s = &amp;quot;second&amp;quot;}&lt;br /&gt;
                            if unitMap[unit] then&lt;br /&gt;
                                local parsedValue = num .. &amp;quot; &amp;quot; .. unitMap[unit] .. (num &amp;gt; 1 and &amp;quot;s&amp;quot; or &amp;quot;&amp;quot;)&lt;br /&gt;
                                resolved[canonicalKey] = parsedValue&lt;br /&gt;
                            else&lt;br /&gt;
                                resolved[canonicalKey] = rawValue&lt;br /&gt;
                            end&lt;br /&gt;
                        elseif canonicalKey == &amp;quot;range&amp;quot; or canonicalKey == &amp;quot;expansionRange&amp;quot; then&lt;br /&gt;
                            -- Parse distance (e.g., 30f -&amp;gt; &amp;quot;30 feet&amp;quot;)&lt;br /&gt;
                            local num = tonumber(rawValue:match(&amp;quot;^(%d+)&amp;quot;))&lt;br /&gt;
                            local unit = rawValue:match(&amp;quot;[%a]+$&amp;quot;)&lt;br /&gt;
                            local unitMap = {f = &amp;quot;feet&amp;quot;, m = &amp;quot;miles&amp;quot;}&lt;br /&gt;
                            if unitMap[unit] then&lt;br /&gt;
                                local parsedValue = num .. &amp;quot; &amp;quot; .. unitMap[unit]&lt;br /&gt;
                                resolved[canonicalKey] = parsedValue&lt;br /&gt;
                            else&lt;br /&gt;
                                resolved[canonicalKey] = rawValue&lt;br /&gt;
                            end&lt;br /&gt;
                        end&lt;br /&gt;
                    end&lt;br /&gt;
                end&lt;br /&gt;
            end&lt;br /&gt;
        end&lt;br /&gt;
    end&lt;br /&gt;
&lt;br /&gt;
    return resolved&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
local function exists(arg)&lt;br /&gt;
    return arg ~= nil and arg ~= &#039;&#039; and arg ~= false&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
local classFixes = {&lt;br /&gt;
    bar = &#039;ber&#039;,&lt;br /&gt;
    sam = &#039;due&#039;,&lt;br /&gt;
    ama = &#039;cor&#039;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
local classArchetypes = {&lt;br /&gt;
    ber = &#039;warr&#039;,&lt;br /&gt;
    due = &#039;warr&#039;,&lt;br /&gt;
    vet = &#039;warr&#039;,&lt;br /&gt;
    kni = &#039;warr&#039;,&lt;br /&gt;
    pal = &#039;warr&#039;,&lt;br /&gt;
    ass = &#039;semi&#039;,&lt;br /&gt;
    cor = &#039;semi&#039;,&lt;br /&gt;
    arc = &#039;semi&#039;,&lt;br /&gt;
    thi = &#039;semi&#039;,&lt;br /&gt;
    ran = &#039;semi&#039;,&lt;br /&gt;
    fla = &#039;mage&#039;,&lt;br /&gt;
    sto = &#039;mage&#039;,&lt;br /&gt;
    lif = &#039;mage&#039;,&lt;br /&gt;
    nec = &#039;mage&#039;,&lt;br /&gt;
    nat = &#039;mage&#039;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
local className = {&lt;br /&gt;
    ber = &#039;Berserker&#039;,&lt;br /&gt;
    due = &#039;Duelist&#039;,&lt;br /&gt;
    vet = &#039;Veteran&#039;,&lt;br /&gt;
    kni = &#039;Knight&#039;,&lt;br /&gt;
    pal = &#039;Paladin&#039;,&lt;br /&gt;
    ass = &#039;Assassin&#039;,&lt;br /&gt;
    cor = &#039;Corsair&#039;,&lt;br /&gt;
    arc = &#039;Archer&#039;,&lt;br /&gt;
    thi = &#039;Thief&#039;,&lt;br /&gt;
    ran = &#039;Ranger&#039;,&lt;br /&gt;
    fla = &#039;Flame Mage&#039;,&lt;br /&gt;
    sto = &#039;Storm Mage&#039;,&lt;br /&gt;
    lif = &#039;Life Mage&#039;,&lt;br /&gt;
    nec = &#039;Necromancer&#039;,&lt;br /&gt;
    nat = &#039;Nature Mage&#039;,&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
local archetypeName = {&lt;br /&gt;
    warr = &#039;Warrior&#039;,&lt;br /&gt;
    semi = &#039;Semi&#039;,&lt;br /&gt;
    mage = &#039;Mage&#039;,&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
function p.a ( frame )&lt;br /&gt;
&lt;br /&gt;
    makeCat = true&lt;br /&gt;
&lt;br /&gt;
    -- Figure out all the default values&lt;br /&gt;
    local args = frame.args&lt;br /&gt;
    local resolved = {}&lt;br /&gt;
    if args[&#039;pre&#039;] then&lt;br /&gt;
        local toResolve = resolveAlias(premades[args[&#039;pre&#039;]], aliases)&lt;br /&gt;
        for k, v in pairs(toResolve) do&lt;br /&gt;
            resolved[k] = v&lt;br /&gt;
        end&lt;br /&gt;
    end&lt;br /&gt;
    local userResolve = resolveAlias(args, aliases)&lt;br /&gt;
    for k, v in pairs(userResolve) do&lt;br /&gt;
        resolved[k] = v&lt;br /&gt;
    end&lt;br /&gt;
    if resolved[&#039;pre&#039;] and premades[args[&#039;pre&#039;]][&#039;skip&#039;] then&lt;br /&gt;
        resolved[&#039;pre&#039;] = nil&lt;br /&gt;
    end&lt;br /&gt;
    if not resolved[&#039;duration&#039;] then&lt;br /&gt;
        resolved[&#039;duration&#039;] = &#039;instant&#039;&lt;br /&gt;
    end&lt;br /&gt;
&lt;br /&gt;
    if resolved[&#039;interaction&#039;] == &#039;attack&#039; then&lt;br /&gt;
        local dc = &amp;quot;Hit target&#039;s {{AC}}&amp;quot;&lt;br /&gt;
        if resolved[&#039;target&#039;] == &#039;limb&#039; then&lt;br /&gt;
            dc = &amp;quot;Hit target&#039;s {{Var:ACLimb}}&amp;quot;&lt;br /&gt;
        end&lt;br /&gt;
        if resolved[&#039;target&#039;] == &#039;al&#039; then&lt;br /&gt;
        	dc = &amp;quot;Hit target&#039;s {{Var:ACLimb}}&amp;quot;&lt;br /&gt;
    	end&lt;br /&gt;
        if resolved[&#039;target&#039;] == &#039;arm&#039; then&lt;br /&gt;
            dc = &amp;quot;Hit target&#039;s {{Var:ACLimb}}&amp;quot;&lt;br /&gt;
        end&lt;br /&gt;
        if resolved[&#039;target&#039;] == &#039;leg&#039; then&lt;br /&gt;
            dc = &amp;quot;Hit target&#039;s {{Var:ACLimb}}&amp;quot;&lt;br /&gt;
        end&lt;br /&gt;
        if resolved[&#039;target&#039;] == &#039;vitals&#039; then&lt;br /&gt;
            dc = &amp;quot;Hit target&#039;s {{Var:ACVitals}}&amp;quot;&lt;br /&gt;
        end&lt;br /&gt;
        if resolved[&#039;target&#039;] == &#039;item&#039; or resolved[&#039;target&#039;] == &#039;ari&#039; then&lt;br /&gt;
            dc = &amp;quot;Hit {{DC}} [[Core:Item Target|depends on item]]&amp;quot;&lt;br /&gt;
        end&lt;br /&gt;
        if resolved[&#039;target&#039;] == &#039;shield&#039; then&lt;br /&gt;
            dc = &amp;quot;Hit user&#039;s {{Var:ACWielded}}&amp;quot;&lt;br /&gt;
        end&lt;br /&gt;
        if resolved[&#039;target&#039;] == &#039;armor&#039; then&lt;br /&gt;
            dc = &amp;quot;Hit user&#039;s {{Var:ACWorn}}&amp;quot;&lt;br /&gt;
        end&lt;br /&gt;
        if resolved[&#039;target&#039;] == &#039;weapon&#039; then&lt;br /&gt;
            dc = &amp;quot;Hit user&#039;s {{Var:ACWielded}}&amp;quot;&lt;br /&gt;
        end&lt;br /&gt;
        resolved[&#039;hitDC&#039;] = dc&lt;br /&gt;
    end&lt;br /&gt;
&lt;br /&gt;
    if resolved[&#039;expansionCount&#039;] then&lt;br /&gt;
        if resolved[&#039;expansionCount&#039;] == &#039;1&#039; then&lt;br /&gt;
            resolved[&#039;expansionCount&#039;] = &#039;{{Space}}&#039; .. resolved[&#039;expansionCount&#039;] .. &#039; extra execution.&#039;&lt;br /&gt;
        else&lt;br /&gt;
            resolved[&#039;expansionCount&#039;] = &#039;{{Space}}&#039; .. resolved[&#039;expansionCount&#039;] .. &#039; extra executions.&#039;&lt;br /&gt;
        end&lt;br /&gt;
    end&lt;br /&gt;
&lt;br /&gt;
    if resolved[&#039;invoked&#039;] then&lt;br /&gt;
        resolved[&#039;verbal&#039;] = &#039;verbal&#039;&lt;br /&gt;
        resolved[&#039;somatic&#039;] = &#039;somatic&#039;&lt;br /&gt;
        resolved[&#039;mage&#039;] = &#039;magelore&#039;&lt;br /&gt;
    end&lt;br /&gt;
&lt;br /&gt;
    local skill = false&lt;br /&gt;
    local spell = false&lt;br /&gt;
    local standard = false&lt;br /&gt;
&lt;br /&gt;
    local class = nil&lt;br /&gt;
    local classFull = nil&lt;br /&gt;
    local archetype = nil&lt;br /&gt;
    local archetypeFull = nil&lt;br /&gt;
    local rank = nil&lt;br /&gt;
    if args[&#039;class&#039;] then&lt;br /&gt;
        class = args[&#039;class&#039;]&lt;br /&gt;
        if classFixes[class] then&lt;br /&gt;
            class = classFixes[class]&lt;br /&gt;
        end&lt;br /&gt;
    end&lt;br /&gt;
    if args[&#039;class&#039;] or args[&#039;arch&#039;] then&lt;br /&gt;
        archetype = classArchetypes[class]&lt;br /&gt;
        if args[&#039;arch&#039;] then&lt;br /&gt;
            archetype = args[&#039;arch&#039;]&lt;br /&gt;
        end&lt;br /&gt;
        classFull = className[class]&lt;br /&gt;
        archetypeFull = archetypeName[archetype]&lt;br /&gt;
        standard = true&lt;br /&gt;
        if archetype == &#039;warr&#039; or archetype == &#039;semi&#039; then&lt;br /&gt;
            skill = true&lt;br /&gt;
        end&lt;br /&gt;
        if archetype == &#039;mage&#039; then&lt;br /&gt;
            spell = true&lt;br /&gt;
        end&lt;br /&gt;
    end&lt;br /&gt;
    local costMP = nil&lt;br /&gt;
    local costHP = nil&lt;br /&gt;
    local costGP = nil&lt;br /&gt;
    if args[&#039;pre&#039;] == &#039;crown&#039; then&lt;br /&gt;
        spell = true&lt;br /&gt;
        costMP = &#039;1&#039;&lt;br /&gt;
        rank = &#039;2&#039;&lt;br /&gt;
    end&lt;br /&gt;
    if args[&#039;rank&#039;] then&lt;br /&gt;
        rank = args[&#039;rank&#039;]&lt;br /&gt;
    end&lt;br /&gt;
    &lt;br /&gt;
    if args[&#039;skill&#039;] then&lt;br /&gt;
        skill = true&lt;br /&gt;
        if args[&#039;skill&#039;] == &#039;0&#039; or args[&#039;skill&#039;] == &#039;false&#039; then&lt;br /&gt;
            skill = false&lt;br /&gt;
        end&lt;br /&gt;
    end&lt;br /&gt;
    if args[&#039;spell&#039;] then&lt;br /&gt;
        spell = true&lt;br /&gt;
        if args[&#039;spell&#039;] == &#039;0&#039; or args[&#039;spell&#039;] == &#039;false&#039; then&lt;br /&gt;
            spell = false&lt;br /&gt;
        end&lt;br /&gt;
    end&lt;br /&gt;
    if args[&#039;standard&#039;] then&lt;br /&gt;
        standard = true&lt;br /&gt;
        if args[&#039;standard&#039;] == &#039;0&#039; or args[&#039;standard&#039;] == &#039;false&#039; then&lt;br /&gt;
            standard = false&lt;br /&gt;
        end&lt;br /&gt;
    end&lt;br /&gt;
    if args[&#039;mp&#039;] and args[&#039;mp&#039;]:len() &amp;gt; 0 then&lt;br /&gt;
        costMP = args[&#039;mp&#039;]&lt;br /&gt;
    end&lt;br /&gt;
    if args[&#039;hp&#039;] and args[&#039;hp&#039;]:len() &amp;gt; 0 then&lt;br /&gt;
        costHP = args[&#039;hp&#039;]&lt;br /&gt;
    end&lt;br /&gt;
    if args[&#039;gp&#039;] and args[&#039;gp&#039;]:len() &amp;gt; 0 then&lt;br /&gt;
        costGP = args[&#039;gp&#039;]&lt;br /&gt;
    end&lt;br /&gt;
    if exists(args[&#039;shatter&#039;]) then&lt;br /&gt;
    	costShatter = args[&#039;shatter&#039;]&lt;br /&gt;
    end&lt;br /&gt;
&lt;br /&gt;
    local basic = false&lt;br /&gt;
    local journeyman = false&lt;br /&gt;
    if args[&#039;basic&#039;] then&lt;br /&gt;
        basic = true&lt;br /&gt;
    end&lt;br /&gt;
    if args[&#039;journeyman&#039;] or args[&#039;jm&#039;] then&lt;br /&gt;
        journeyman = true&lt;br /&gt;
    end&lt;br /&gt;
&lt;br /&gt;
    -- Category string&lt;br /&gt;
    local c = &#039;&#039;&lt;br /&gt;
&lt;br /&gt;
    local name = args[&#039;name&#039;]&lt;br /&gt;
    local page = mw.title.getCurrentTitle().text&lt;br /&gt;
    local namespace = frame:preprocess(&#039;{{NAMESPACE}}&#039;)&lt;br /&gt;
    local addCats = ((namespace == &#039;Ability&#039;) and (page == name))&lt;br /&gt;
    c = c .. addCategory(&#039;Abilities&#039;, nil, nil, skill, spell, addCats)&lt;br /&gt;
    if basic then&lt;br /&gt;
        c = c .. addCategory(&#039;Basic abilities&#039;, &#039;basic&#039;, nil, skill, spell, addCats)&lt;br /&gt;
    end&lt;br /&gt;
    if journeyman then&lt;br /&gt;
        c = c .. addCategory(&#039;Journeyman abilities&#039;, &#039;journeyman&#039;, nil, skill, spell, addCats)&lt;br /&gt;
    end&lt;br /&gt;
    local esContent = &#039;&#039;&lt;br /&gt;
    if args[&#039;es&#039;] and args[&#039;es&#039;]:len() &amp;gt; 0 then&lt;br /&gt;
        esContent = esContent .. makeTag(frame, &#039;es&#039;, &#039;es&#039;, makeCat)&lt;br /&gt;
        c = c .. addCategory(&#039;Elder Sorcery abilities&#039;, &#039;es&#039;, &#039;es&#039;, skill, spell, addCats)&lt;br /&gt;
    else&lt;br /&gt;
    	if spell then&lt;br /&gt;
    		standard = &#039;1&#039;&lt;br /&gt;
		end&lt;br /&gt;
    end&lt;br /&gt;
    if standard then&lt;br /&gt;
        c = c .. addCategory(&#039;Standard abilities&#039;, nil, nil, false, false, addCats)&lt;br /&gt;
        if skill then&lt;br /&gt;
            c = c .. addCategory(&#039;Semblant skills&#039;, nil, nil, skill, spell, addCats)&lt;br /&gt;
        end&lt;br /&gt;
        if spell then&lt;br /&gt;
            c = c .. addCategory(&#039;Conjured spells&#039;, nil, nil, skill, spell, addCats)&lt;br /&gt;
        end&lt;br /&gt;
    else&lt;br /&gt;
        c = c .. addCategory(&#039;Nonstandard abilities&#039;, nil, nil, skill, spell, addCats)&lt;br /&gt;
    end&lt;br /&gt;
    if args[&#039;ethereal&#039;] then&lt;br /&gt;
        c = c .. addCategory(&#039;Ethereal abilities&#039;, nil, nil, skill, spell, addCats)&lt;br /&gt;
    end&lt;br /&gt;
    if args[&#039;av&#039;] then&lt;br /&gt;
    	c = c .. addCategory(&#039;AV granting abilities&#039;, nil, nil, skill, spell, addCats, true)&lt;br /&gt;
    	c = c .. addCategory(&#039;AV&#039; .. args[&#039;av&#039;] .. &#039; granting abilities&#039;, nil, nil, skill, spell, addCats, true)&lt;br /&gt;
    end&lt;br /&gt;
    if (archetype and archetypeFull) then&lt;br /&gt;
        c = c .. addCategory(archetypeFull .. &#039; archetype abilities&#039;, &#039;archetype&#039;, archetype, skill, spell, addCats)&lt;br /&gt;
    end&lt;br /&gt;
    if (class and classFull) then&lt;br /&gt;
        c = c .. addCategory(classFull .. &#039; class abilities&#039;, &#039;class&#039;, class, skill, spell, addCats, true)&lt;br /&gt;
    end&lt;br /&gt;
    if (rank and (class and classFull)) then&lt;br /&gt;
        if rank == &#039;3&#039; then&lt;br /&gt;
            rank = &#039;3+&#039;&lt;br /&gt;
        end&lt;br /&gt;
        c = c .. addCategory(&#039;Rank &#039; .. rank .. &#039; &#039; .. classFull .. &#039; abilities&#039;, &#039;rank&#039;, rank, skill, spell, addCats, true)&lt;br /&gt;
    end&lt;br /&gt;
    if resolved[&#039;pre&#039;] then&lt;br /&gt;
        c = c .. addCategory(resolved[&#039;pre&#039;] .. &#039;abilities&#039;, &#039;pre&#039;, resolved[&#039;pre&#039;], skill, spell, addCats)&lt;br /&gt;
    end&lt;br /&gt;
    if resolved[&#039;interaction&#039;] then&lt;br /&gt;
        c = c .. addCategory(resolved[&#039;interaction&#039;] .. &#039; interaction abilities&#039;, &#039;interaction&#039;, resolved[&#039;interaction&#039;], skill, spell, addCats)&lt;br /&gt;
    end&lt;br /&gt;
    if resolved[&#039;delivery&#039;] then&lt;br /&gt;
        c = c .. addCategory(resolved[&#039;delivery&#039;] .. &#039; delivery abilities&#039;, &#039;delivery&#039;, resolved[&#039;delivery&#039;], skill, spell, addCats)&lt;br /&gt;
    end&lt;br /&gt;
    if resolved[&#039;target&#039;] then&lt;br /&gt;
        c = c .. addCategory(resolved[&#039;target&#039;] .. &#039; target abilities&#039;, &#039;target&#039;, resolved[&#039;target&#039;], skill, spell, addCats)&lt;br /&gt;
    end&lt;br /&gt;
    if resolved[&#039;duration&#039;] then&lt;br /&gt;
        c = c .. addCategory(noPlural(resolved[&#039;duration&#039;]) .. &#039; duration abilities&#039;, &#039;duration&#039;, resolved[&#039;duration&#039;], skill, spell, addCats)&lt;br /&gt;
    end&lt;br /&gt;
    -- if resolved[&#039;range&#039;] then&lt;br /&gt;
    --     c = c .. addCategory(resolved[&#039;range&#039;] .. &#039; range abilities&#039;, &#039;range&#039;, resolved[&#039;range&#039;], skill, spell, addCats)&lt;br /&gt;
    -- end&lt;br /&gt;
    if resolved[&#039;expansion&#039;] then&lt;br /&gt;
        c = c .. addCategory(resolved[&#039;expansion&#039;] .. &#039; expansion abilities&#039;, &#039;expansion&#039;, resolved[&#039;expansion&#039;], skill, spell, addCats)&lt;br /&gt;
    end&lt;br /&gt;
    -- if resolved[&#039;expansionRange&#039;] then&lt;br /&gt;
    --     c = c .. addCategory(resolved[&#039;expansionRange&#039;] .. &#039; expansion range abilities&#039;, &#039;expansionRange&#039;, resolved[&#039;expansionRange&#039;], skill, spell, addCats)&lt;br /&gt;
    -- end&lt;br /&gt;
    if resolved[&#039;attribute&#039;] then&lt;br /&gt;
        c = c .. addCategory(resolved[&#039;attribute&#039;] .. &#039; save abilities&#039;, &#039;attribute&#039;, resolved[&#039;attribute&#039;], skill, spell, addCats)&lt;br /&gt;
    end&lt;br /&gt;
    if resolved[&#039;piercing&#039;] then&lt;br /&gt;
        c = c .. addCategory(resolved[&#039;piercing&#039;] .. &#039; abilities&#039;, &#039;piercing&#039;, resolved[&#039;piercing&#039;], skill, spell, addCats)&lt;br /&gt;
    end&lt;br /&gt;
    if resolved[&#039;sustained&#039;] then&lt;br /&gt;
        c = c .. addCategory(&#039;Sustained abilities&#039;, &#039;sustained&#039;, resolved[&#039;sustained&#039;], skill, spell, addCats)&lt;br /&gt;
    end&lt;br /&gt;
    if resolved[&#039;upgrade&#039;] then&lt;br /&gt;
        c = c .. addCategory(resolved[&#039;upgrade&#039;] .. &#039; abilities&#039;, &#039;upgrade&#039;, resolved[&#039;upgrade&#039;], skill, spell, addCats)&lt;br /&gt;
    end&lt;br /&gt;
    if resolved[&#039;executionTime&#039;] then&lt;br /&gt;
        c = c .. addCategory(noPlural(resolved[&#039;executionTime&#039;]) .. &#039; execution time abilities&#039;, &#039;executionTime&#039;, resolved[&#039;executionTime&#039;], skill, spell, addCats)&lt;br /&gt;
    end&lt;br /&gt;
    if resolved[&#039;maneuver&#039;] then&lt;br /&gt;
        c = c .. addCategory(resolved[&#039;maneuver&#039;] .. &#039; abilities&#039;, &#039;maneuver&#039;, resolved[&#039;maneuver&#039;], skill, spell, addCats)&lt;br /&gt;
    end&lt;br /&gt;
    if resolved[&#039;verbal&#039;] then&lt;br /&gt;
        c = c .. addCategory(&#039;Verbal component abilities&#039;, &#039;verbal&#039;, resolved[&#039;verbal&#039;], skill, spell, addCats)&lt;br /&gt;
    end&lt;br /&gt;
    if resolved[&#039;somatic&#039;] then&lt;br /&gt;
        c = c .. addCategory(&#039;Somatic component abilities&#039;, &#039;somatic&#039;, resolved[&#039;somatic&#039;], skill, spell, addCats)&lt;br /&gt;
    end&lt;br /&gt;
    if resolved[&#039;material&#039;] then&lt;br /&gt;
        c = c .. addCategory(&#039;Material component abilities&#039;, &#039;material&#039;, resolved[&#039;material&#039;], skill, spell, addCats)&lt;br /&gt;
    end&lt;br /&gt;
    if resolved[&#039;magelore&#039;] then&lt;br /&gt;
        c = c .. addCategory(&#039;Magelore component abilities&#039;, &#039;magelore&#039;, resolved[&#039;magelore&#039;], skill, spell, addCats)&lt;br /&gt;
    end&lt;br /&gt;
    if resolved[&#039;invoked&#039;] then&lt;br /&gt;
        c = c .. addCategory(&#039;Invoke abilities&#039;, &#039;invoked&#039;, resolved[&#039;invoked&#039;], skill, spell, addCats)&lt;br /&gt;
    end&lt;br /&gt;
&lt;br /&gt;
    local flawContent = &#039;&#039;&lt;br /&gt;
    if args[&#039;flaw&#039;] or args[&#039;f&#039;] or args[&#039;fl&#039;] then&lt;br /&gt;
        flawContent = flawContent .. makeTag(frame, &#039;flaw&#039;, &#039;flaw&#039;, makeCat)&lt;br /&gt;
        c = c .. addCategory(&#039;Flaw abilities&#039;, &#039;flaw&#039;, &#039;flaw&#039;, skill, spell, addCats)&lt;br /&gt;
    end&lt;br /&gt;
    local specialContent = &#039;&#039;&lt;br /&gt;
    if args[&#039;special&#039;] or args[&#039;s&#039;] or args[&#039;sp&#039;] and ((args[&#039;special&#039;]:len() &amp;gt; 0) or (args[&#039;s&#039;]:len() &amp;gt; 0) or (args[&#039;sp&#039;]:len() &amp;gt; 0)) then&lt;br /&gt;
        specialContent = specialContent .. makeTag(frame, &#039;special&#039;, &#039;special&#039;, makeCat)&lt;br /&gt;
        c = c .. addCategory(&#039;Special abilities&#039;, &#039;special&#039;, &#039;special&#039;, skill, spell, addCats)&lt;br /&gt;
    end&lt;br /&gt;
    local wardedContent = &#039;&#039;&lt;br /&gt;
    if args[&#039;warded&#039;] and args[&#039;warded&#039;]:len() &amp;gt; 0 then&lt;br /&gt;
        wardedContent = wardedContent .. makeTag(frame, &#039;warded&#039;, &#039;warded&#039;, makeCat)&lt;br /&gt;
        c = c .. addCategory(&#039;Warded abilities&#039;, &#039;warded&#039;, &#039;warded&#039;, skill, spell, addCats)&lt;br /&gt;
    end&lt;br /&gt;
&lt;br /&gt;
    local elementContent = &#039;&#039;&lt;br /&gt;
    if args[&#039;life&#039;] and args[&#039;life&#039;]:len() &amp;gt; 0 then&lt;br /&gt;
        elementContent = elementContent .. makeTag(frame, &#039;elements&#039;, &#039;life&#039;, makeCat)&lt;br /&gt;
        c = c .. addCategory(&#039;Life element abilities&#039;, &#039;elements&#039;, &#039;life&#039;, skill, spell, addCats)&lt;br /&gt;
    end&lt;br /&gt;
    if args[&#039;storm&#039;] and args[&#039;storm&#039;]:len() &amp;gt; 0 then&lt;br /&gt;
        elementContent = elementContent .. makeTag(frame, &#039;elements&#039;, &#039;storm&#039;, makeCat)&lt;br /&gt;
        c = c .. addCategory(&#039;Storm element abilities&#039;, &#039;elements&#039;, &#039;storm&#039;, skill, spell, addCats)&lt;br /&gt;
    end&lt;br /&gt;
    if (args[&#039;necro&#039;] and args[&#039;necro&#039;]:len() &amp;gt; 0) or (args[&#039;necromancy&#039;] and args[&#039;necromancy&#039;]:len() &amp;gt; 0) then&lt;br /&gt;
        elementContent = elementContent .. makeTag(frame, &#039;elements&#039;, &#039;necro&#039;, makeCat)&lt;br /&gt;
        c = c .. addCategory(&#039;Necromancy element abilities&#039;, &#039;elements&#039;, &#039;necro&#039;, skill, spell, addCats)&lt;br /&gt;
    end&lt;br /&gt;
    if args[&#039;flame&#039;] and args[&#039;flame&#039;]:len() &amp;gt; 0 then&lt;br /&gt;
        elementContent = elementContent .. makeTag(frame, &#039;elements&#039;, &#039;flame&#039;, makeCat)&lt;br /&gt;
        c = c .. addCategory(&#039;Flame element abilities&#039;, &#039;elements&#039;, &#039;flame&#039;, skill, spell, addCats)&lt;br /&gt;
    end&lt;br /&gt;
    if args[&#039;nature&#039;] and args[&#039;nature&#039;]:len() &amp;gt; 0 then&lt;br /&gt;
        elementContent = elementContent .. makeTag(frame, &#039;elements&#039;, &#039;nature&#039;, makeCat)&lt;br /&gt;
        c = c .. addCategory(&#039;Nature element abilities&#039;, &#039;elements&#039;, &#039;nature&#039;, skill, spell, addCats)&lt;br /&gt;
    end&lt;br /&gt;
&lt;br /&gt;
    local powerContent = &#039;&#039;&lt;br /&gt;
    local martial = true&lt;br /&gt;
    if args[&#039;magic&#039;] and args[&#039;magic&#039;]:len() &amp;gt; 0 then&lt;br /&gt;
        martial = false&lt;br /&gt;
        powerContent = powerContent .. makeTag(frame, &#039;power&#039;, &#039;magic&#039;, makeCat)&lt;br /&gt;
        c = c .. addCategory(&#039;Magically powered abilities&#039;, &#039;power&#039;, &#039;magic&#039;, skill, spell, addCats) .. addCategory(&#039;Magical effects&#039;, nil, nil, false, false, addCats)&lt;br /&gt;
    end&lt;br /&gt;
    if args[&#039;divine&#039;] and args[&#039;divine&#039;]:len() &amp;gt; 0 then&lt;br /&gt;
        martial = false&lt;br /&gt;
        powerContent = powerContent .. makeTag(frame, &#039;power&#039;, &#039;divine&#039;, makeCat)&lt;br /&gt;
        c = c .. addCategory(&#039;Divinely powered abilities&#039;, &#039;power&#039;, &#039;divine&#039;, skill, spell, addCats) .. addCategory(&#039;Divine effects&#039;, nil, nil, false, false, addCats)&lt;br /&gt;
    end&lt;br /&gt;
    if args[&#039;spirit&#039;] and args[&#039;spirit&#039;]:len() &amp;gt; 0 then&lt;br /&gt;
        martial = false&lt;br /&gt;
        powerContent = powerContent .. makeTag(frame, &#039;power&#039;, &#039;spirit&#039;, makeCat)&lt;br /&gt;
        c = c .. addCategory(&#039;Spiritually powered abilities&#039;, &#039;power&#039;, &#039;spirit&#039;, skill, spell, addCats) .. addCategory(&#039;Spiritual effects&#039;, nil, nil, false, false, addCats)&lt;br /&gt;
    end&lt;br /&gt;
    if args[&#039;primal&#039;] and args[&#039;primal&#039;]:len() &amp;gt; 0 then&lt;br /&gt;
        martial = false&lt;br /&gt;
        powerContent = powerContent .. makeTag(frame, &#039;power&#039;, &#039;primal&#039;, makeCat)&lt;br /&gt;
        c = c .. addCategory(&#039;Primally powered abilities&#039;, &#039;power&#039;, &#039;primal&#039;, skill, spell, addCats) .. addCategory(&#039;Primal effects&#039;, nil, nil, false, false, addCats)&lt;br /&gt;
    end&lt;br /&gt;
    if args[&#039;psionic&#039;] and args[&#039;psionic&#039;]:len() &amp;gt; 0 then&lt;br /&gt;
        martial = false&lt;br /&gt;
        powerContent = powerContent .. makeTag(frame, &#039;power&#039;, &#039;psionic&#039;, makeCat)&lt;br /&gt;
        c = c .. addCategory(&#039;Psionically powered abilities&#039;, &#039;power&#039;, &#039;psionic&#039;, skill, spell, addCats) .. addCategory(&#039;Mental effects&#039;, nil, nil, false, false, addCats)&lt;br /&gt;
    end&lt;br /&gt;
    if args[&#039;techo&#039;] and args[&#039;techo&#039;]:len() &amp;gt; 0 then&lt;br /&gt;
        martial = false&lt;br /&gt;
        powerContent = powerContent .. makeTag(frame, &#039;power&#039;, &#039;techo&#039;, makeCat)&lt;br /&gt;
        c = c .. addCategory(&#039;Technologically powered abilities&#039;, &#039;power&#039;, &#039;techo&#039;, skill, spell, addCats) .. addCategory(&#039;Technological effects&#039;, nil, nil, false, false, addCats)&lt;br /&gt;
    end&lt;br /&gt;
    if args[&#039;finance&#039;] and args[&#039;finance&#039;]:len() &amp;gt; 0 then&lt;br /&gt;
        martial = false&lt;br /&gt;
        powerContent = powerContent .. makeTag(frame, &#039;power&#039;, &#039;finance&#039;, makeCat)&lt;br /&gt;
        c = c .. addCategory(&#039;Financially powered abilities&#039;, &#039;power&#039;, &#039;finance&#039;, skill, spell, addCats) .. addCategory(&#039;Financial effects&#039;, nil, nil, false, false, addCats)&lt;br /&gt;
    end&lt;br /&gt;
    if args[&#039;alchemy&#039;] and args[&#039;alchemy&#039;]:len() &amp;gt; 0 then&lt;br /&gt;
        martial = false&lt;br /&gt;
        powerContent = powerContent .. makeTag(frame, &#039;power&#039;, &#039;alchemy&#039;, makeCat)&lt;br /&gt;
        c = c .. addCategory(&#039;Alchemically powered abilities&#039;, &#039;power&#039;, &#039;alchemy&#039;, skill, spell, addCats) .. addCategory(&#039;Alchemical effects&#039;, nil, nil, false, false, addCats)&lt;br /&gt;
    end&lt;br /&gt;
    if args[&#039;unknown&#039;] and args[&#039;unknown&#039;]:len() &amp;gt; 0 then&lt;br /&gt;
        martial = false&lt;br /&gt;
        powerContent = powerContent .. makeTag(frame, &#039;power&#039;, &#039;unknown&#039;, makeCat)&lt;br /&gt;
        c = c .. addCategory(&#039;Unknown powered abilities&#039;, &#039;power&#039;, &#039;unknown&#039;, skill, spell, addCats)&lt;br /&gt;
    end&lt;br /&gt;
    if args[&#039;martial&#039;] and args[&#039;martial&#039;]:len() &amp;gt; 0 then&lt;br /&gt;
        martial = true&lt;br /&gt;
    end&lt;br /&gt;
    if martial then&lt;br /&gt;
        powerContent = powerContent .. makeTag(frame, &#039;power&#039;, &#039;martial&#039;, makeCat)&lt;br /&gt;
        c = c .. addCategory(&#039;Martially powered abilities&#039;, &#039;power&#039;, &#039;martial&#039;, skill, spell, addCats)&lt;br /&gt;
    end&lt;br /&gt;
    if class then&lt;br /&gt;
        classContent = makeContent(frame, resolved, {&#039;class&#039;}, makeCat)&lt;br /&gt;
        powerContent = powerContent .. classContent&lt;br /&gt;
    end&lt;br /&gt;
    if args[&#039;rotator&#039;] and args[&#039;rotator&#039;]:len() &amp;gt; 0 then&lt;br /&gt;
        powerContent = powerContent .. makeTag(frame, &#039;category&#039;, &#039;rotator&#039;, makeCat)&lt;br /&gt;
    end&lt;br /&gt;
    if args[&#039;gm&#039;] and args[&#039;gm&#039;]:len() &amp;gt; 0 then&lt;br /&gt;
        powerContent = powerContent .. makeTag(frame, &#039;gm&#039;, args[&#039;gm&#039;], makeCat)&lt;br /&gt;
    end&lt;br /&gt;
    if args[&#039;guildmaster&#039;] and args[&#039;guildmaster&#039;]:len() &amp;gt; 0 then&lt;br /&gt;
        powerContent = powerContent .. makeTag(frame, &#039;category&#039;, &#039;guildmaster&#039;, makeCat)&lt;br /&gt;
    end&lt;br /&gt;
    powerContent = powerContent .. elementContent&lt;br /&gt;
    if skill then&lt;br /&gt;
        powerContent = powerContent .. makeTag(frame, &#039;category&#039;, &#039;skill&#039;, makeCat)&lt;br /&gt;
    end&lt;br /&gt;
    if spell then&lt;br /&gt;
        powerContent = powerContent .. makeTag(frame, &#039;category&#039;, &#039;spell&#039;, makeCat)&lt;br /&gt;
    end&lt;br /&gt;
&lt;br /&gt;
    local deliveryContent = &#039;&#039;&lt;br /&gt;
    if standard and skill then&lt;br /&gt;
        deliveryContent = deliveryContent .. makeTag(frame, &#039;category&#039;, &#039;semblant&#039;, makeCat)&lt;br /&gt;
    end&lt;br /&gt;
    if standard and spell then&lt;br /&gt;
        deliveryContent = deliveryContent .. makeTag(frame, &#039;category&#039;, &#039;conjure&#039;, makeCat)&lt;br /&gt;
    end&lt;br /&gt;
&lt;br /&gt;
    local effectContent = &#039;&#039;&lt;br /&gt;
    if exists(args[&#039;mental&#039;]) then&lt;br /&gt;
        effectContent = effectContent .. makeTag(frame, &#039;effects&#039;, &#039;mental&#039;, makeCat)&lt;br /&gt;
        c = c .. addCategory(&#039;Mental effects&#039;, &#039;effect&#039;, &#039;mental&#039;, skill, spell, addCats)&lt;br /&gt;
    end&lt;br /&gt;
    if exists(args[&#039;truth&#039;]) then&lt;br /&gt;
        effectContent = effectContent .. makeTag(frame, &#039;effects&#039;, &#039;truth&#039;, makeCat)&lt;br /&gt;
        c = c .. addCategory(&#039;Truth detecting effects&#039;, &#039;effect&#039;, &#039;truthDetecting&#039;, skill, spell, addCats)&lt;br /&gt;
    end&lt;br /&gt;
    if exists(args[&#039;duelMod&#039;]) then&lt;br /&gt;
        effectContent = effectContent .. makeTag(frame, &#039;effects&#039;, &#039;duelModifying&#039;, makeCat)&lt;br /&gt;
        c = c .. addCategory(&#039;Duel modifying effects&#039;, &#039;effect&#039;, &#039;duelModifying&#039;, skill, spell, addCats)&lt;br /&gt;
    end&lt;br /&gt;
    if exists(args[&#039;movement&#039;]) then&lt;br /&gt;
        effectContent = effectContent .. makeTag(frame, &#039;effects&#039;, &#039;movement&#039;, makeCat)&lt;br /&gt;
        c = c .. addCategory(&#039;Movement effects&#039;, &#039;effect&#039;, &#039;movement&#039;, skill, spell, addCats)&lt;br /&gt;
    end&lt;br /&gt;
    if exists(args[&#039;poison&#039;]) then&lt;br /&gt;
        effectContent = effectContent .. makeTag(frame, &#039;effects&#039;, &#039;poison&#039;, makeCat)&lt;br /&gt;
        c = c .. addCategory(&#039;Poison effects&#039;, &#039;effect&#039;, &#039;poison&#039;, skill, spell, addCats)&lt;br /&gt;
    end&lt;br /&gt;
    if exists(args[&#039;illusion&#039;]) then&lt;br /&gt;
        effectContent = effectContent .. makeTag(frame, &#039;effects&#039;, &#039;illusion&#039;, makeCat)&lt;br /&gt;
        c = c .. addCategory(&#039;Illusion effects&#039;, &#039;effect&#039;, &#039;illusion&#039;, skill, spell, addCats)&lt;br /&gt;
    end&lt;br /&gt;
    if exists(args[&#039;displacement&#039;]) then&lt;br /&gt;
        effectContent = effectContent .. makeTag(frame, &#039;effects&#039;, &#039;displacement&#039;, makeCat)&lt;br /&gt;
        c = c .. addCategory(&#039;Displacement effects&#039;, &#039;effect&#039;, &#039;displacement&#039;, skill, spell, addCats)&lt;br /&gt;
    end&lt;br /&gt;
    if exists(args[&#039;transformation&#039;]) then&lt;br /&gt;
        effectContent = effectContent .. makeTag(frame, &#039;effects&#039;, &#039;transformation&#039;, makeCat)&lt;br /&gt;
        c = c .. addCategory(&#039;Transformation effects&#039;, &#039;effect&#039;, &#039;transformation&#039;, skill, spell, addCats)&lt;br /&gt;
    end&lt;br /&gt;
    if exists(args[&#039;control&#039;]) then&lt;br /&gt;
        effectContent = effectContent .. makeTag(frame, &#039;effects&#039;, &#039;control&#039;, makeCat)&lt;br /&gt;
        c = c .. addCategory(&#039;Control effects&#039;, &#039;effect&#039;, &#039;control&#039;, skill, spell, addCats)&lt;br /&gt;
    end&lt;br /&gt;
    if exists(args[&#039;resist&#039;]) then&lt;br /&gt;
        effectContent = effectContent .. makeTag(frame, &#039;effects&#039;, &#039;resist&#039;, makeCat)&lt;br /&gt;
        c = c .. addCategory(&#039;Resistance effects&#039;, &#039;effect&#039;, &#039;resist&#039;, skill, spell, addCats)&lt;br /&gt;
    end&lt;br /&gt;
    if exists(args[&#039;hexproof&#039;]) then&lt;br /&gt;
        effectContent = effectContent .. makeTag(frame, &#039;effects&#039;, &#039;hexproof&#039;, makeCat)&lt;br /&gt;
        c = c .. addCategory(&#039;Hexproof effects&#039;, &#039;effect&#039;, &#039;hexproof&#039;, skill, spell, addCats)&lt;br /&gt;
    end&lt;br /&gt;
    if exists(args[&#039;awaken&#039;]) then&lt;br /&gt;
        effectContent = effectContent .. makeTag(frame, &#039;effects&#039;, &#039;awaken&#039;, makeCat)&lt;br /&gt;
        c = c .. addCategory(&#039;Awakening effects&#039;, &#039;effect&#039;, &#039;awaken&#039;, skill, spell, addCats)&lt;br /&gt;
    end&lt;br /&gt;
    if exists(args[&#039;immune&#039;]) then&lt;br /&gt;
        effectContent = effectContent .. makeTag(frame, &#039;effects&#039;, &#039;immune&#039;, makeCat)&lt;br /&gt;
        c = c .. addCategory(&#039;Immunity effects&#039;, &#039;effect&#039;, &#039;immune&#039;, skill, spell, addCats)&lt;br /&gt;
    end&lt;br /&gt;
    if exists(args[&#039;hexseal&#039;]) then&lt;br /&gt;
        effectContent = effectContent .. makeTag(frame, &#039;effects&#039;, &#039;hexseal&#039;, makeCat)&lt;br /&gt;
        c = c .. addCategory(&#039;Hexseal effects&#039;, &#039;effect&#039;, &#039;hexseal&#039;, skill, spell, addCats)&lt;br /&gt;
    end&lt;br /&gt;
    if exists(args[&#039;long&#039;]) then&lt;br /&gt;
        effectContent = effectContent .. makeTag(frame, &#039;effects&#039;, &#039;long&#039;, makeCat)&lt;br /&gt;
        c = c .. addCategory(&#039;Long range effects&#039;, &#039;effect&#039;, &#039;long&#039;, skill, spell, addCats)&lt;br /&gt;
    end&lt;br /&gt;
    if exists(args[&#039;sense&#039;]) then&lt;br /&gt;
        effectContent = effectContent .. makeTag(frame, &#039;effects&#039;, &#039;sense&#039;, makeCat)&lt;br /&gt;
        c = c .. addCategory(&#039;Sensory effects&#039;, &#039;effect&#039;, &#039;sense&#039;, skill, spell, addCats)&lt;br /&gt;
    end&lt;br /&gt;
    if exists(args[&#039;revive&#039;] or args[&#039;rev&#039;]) then&lt;br /&gt;
        effectContent = effectContent .. makeTag(frame, &#039;effects&#039;, &#039;revive&#039;, makeCat)&lt;br /&gt;
        c = c .. addCategory(&#039;Revival effects&#039;, &#039;effect&#039;, &#039;revive&#039;, skill, spell, addCats)&lt;br /&gt;
    end&lt;br /&gt;
    if exists(args[&#039;summon&#039;]) then&lt;br /&gt;
        effectContent = effectContent .. makeTag(frame, &#039;effects&#039;, &#039;summon&#039;, makeCat)&lt;br /&gt;
        c = c .. addCategory(&#039;Summoning effects&#039;, &#039;effect&#039;, &#039;summon&#039;, skill, spell, addCats)&lt;br /&gt;
    end&lt;br /&gt;
    if exists(args[&#039;heal&#039;]) then&lt;br /&gt;
        effectContent = effectContent .. makeTag(frame, &#039;effects&#039;, &#039;heal&#039;, makeCat)&lt;br /&gt;
        c = c .. addCategory(&#039;Healing effects&#039;, &#039;effect&#039;, &#039;heal&#039;, skill, spell, addCats)&lt;br /&gt;
    end&lt;br /&gt;
    if exists(args[&#039;reanimate&#039;] or args[&#039;rean&#039;]) then&lt;br /&gt;
        effectContent = effectContent .. makeTag(frame, &#039;effects&#039;, &#039;reanimate&#039;, makeCat)&lt;br /&gt;
        c = c .. addCategory(&#039;Reanimation effects&#039;, &#039;effect&#039;, &#039;reanimate&#039;, skill, spell, addCats)&lt;br /&gt;
    end&lt;br /&gt;
    if exists(args[&#039;regenerate&#039;] or args[&#039;regen&#039;]) then&lt;br /&gt;
        effectContent = effectContent .. makeTag(frame, &#039;effects&#039;, &#039;regenerate&#039;, makeCat)&lt;br /&gt;
        c = c .. addCategory(&#039;Regeneration effects&#039;, &#039;effect&#039;, &#039;regenerate&#039;, skill, spell, addCats)&lt;br /&gt;
    end&lt;br /&gt;
    if exists(args[&#039;revitalize&#039;] or args[&#039;revit&#039;]) then&lt;br /&gt;
        effectContent = effectContent .. makeTag(frame, &#039;effects&#039;, &#039;revitalize&#039;, makeCat)&lt;br /&gt;
        c = c .. addCategory(&#039;Revitalization effects&#039;, &#039;effect&#039;, &#039;revitalize&#039;, skill, spell, addCats)&lt;br /&gt;
    end&lt;br /&gt;
    if exists(args[&#039;kill&#039;]) then&lt;br /&gt;
        effectContent = effectContent .. makeTag(frame, &#039;effects&#039;, &#039;kill&#039;, makeCat)&lt;br /&gt;
        c = c .. addCategory(&#039;Killing effects&#039;, &#039;effect&#039;, &#039;kill&#039;, skill, spell, addCats)&lt;br /&gt;
    end&lt;br /&gt;
    if exists(args[&#039;damage&#039;]) then&lt;br /&gt;
        effectContent = effectContent .. makeTag(frame, &#039;effects&#039;, &#039;damage&#039;, makeCat)&lt;br /&gt;
        c = c .. addCategory(&#039;Damaging effects&#039;, &#039;effect&#039;, &#039;damage&#039;, skill, spell, addCats)&lt;br /&gt;
    end&lt;br /&gt;
    if exists(args[&#039;drain&#039;]) then&lt;br /&gt;
        effectContent = effectContent .. makeTag(frame, &#039;effects&#039;, &#039;drain&#039;, makeCat)&lt;br /&gt;
        c = c .. addCategory(&#039;Draining effects&#039;, &#039;effect&#039;, &#039;drain&#039;, skill, spell, addCats)&lt;br /&gt;
    end&lt;br /&gt;
    if exists(args[&#039;destroy&#039;]) then&lt;br /&gt;
        effectContent = effectContent .. makeTag(frame, &#039;effects&#039;, &#039;destroy&#039;, makeCat)&lt;br /&gt;
        c = c .. addCategory(&#039;Destruction effects&#039;, &#039;effect&#039;, &#039;destroy&#039;, skill, spell, addCats)&lt;br /&gt;
    end&lt;br /&gt;
    if exists(args[&#039;contract&#039;]) then&lt;br /&gt;
        effectContent = effectContent .. makeTag(frame, &#039;effects&#039;, &#039;contract&#039;, makeCat)&lt;br /&gt;
        c = c .. addCategory(&#039;Contract effects&#039;, &#039;effect&#039;, &#039;contract&#039;, skill, spell, addCats)&lt;br /&gt;
    end&lt;br /&gt;
    if exists(args[&#039;steal&#039;]) then&lt;br /&gt;
        effectContent = effectContent .. makeTag(frame, &#039;effects&#039;, &#039;steal&#039;, makeCat)&lt;br /&gt;
        c = c .. addCategory(&#039;Stealing effects&#039;, &#039;effect&#039;, &#039;steal&#039;, skill, spell, addCats)&lt;br /&gt;
    end&lt;br /&gt;
    if exists(args[&#039;loud&#039;]) then&lt;br /&gt;
        effectContent = effectContent .. makeTag(frame, &#039;effects&#039;, &#039;loud&#039;, makeCat)&lt;br /&gt;
        c = c .. addCategory(&#039;Loud effects&#039;, &#039;effect&#039;, &#039;loud&#039;, skill, spell, addCats)&lt;br /&gt;
    end&lt;br /&gt;
    if exists(args[&#039;knockout&#039;]) then&lt;br /&gt;
        effectContent = effectContent .. makeTag(frame, &#039;effects&#039;, &#039;knockout&#039;, makeCat)&lt;br /&gt;
        c = c .. addCategory(&#039;Knockout effects&#039;, &#039;effect&#039;, &#039;knockout&#039;, skill, spell, addCats)&lt;br /&gt;
    end&lt;br /&gt;
    if exists(args[&#039;time&#039;]) then&lt;br /&gt;
        effectContent = effectContent .. makeTag(frame, &#039;effects&#039;, &#039;time&#039;, makeCat)&lt;br /&gt;
        c = c .. addCategory(&#039;Temporal effects&#039;, &#039;effect&#039;, &#039;time&#039;, skill, spell, addCats)&lt;br /&gt;
    end&lt;br /&gt;
    if exists(args[&#039;lightning&#039;]) then&lt;br /&gt;
        effectContent = effectContent .. makeTag(frame, &#039;effects&#039;, &#039;lightning&#039;, makeCat)&lt;br /&gt;
        c = c .. addCategory(&#039;Lightning effects&#039;, &#039;effect&#039;, &#039;lightning&#039;, skill, spell, addCats)&lt;br /&gt;
    end&lt;br /&gt;
    if exists(args[&#039;disease&#039;]) then&lt;br /&gt;
        effectContent = effectContent .. makeTag(frame, &#039;effects&#039;, &#039;disease&#039;, makeCat)&lt;br /&gt;
        c = c .. addCategory(&#039;Disease effects&#039;, &#039;effect&#039;, &#039;disease&#039;, skill, spell, addCats)&lt;br /&gt;
    end&lt;br /&gt;
    if exists(args[&#039;vision&#039;]) then&lt;br /&gt;
        effectContent = effectContent .. makeTag(frame, &#039;effects&#039;, &#039;vision&#039;, makeCat)&lt;br /&gt;
        c = c .. addCategory(&#039;Vision effects&#039;, &#039;effect&#039;, &#039;vision&#039;, skill, spell, addCats)&lt;br /&gt;
    end&lt;br /&gt;
    if exists(args[&#039;morganti&#039;]) then&lt;br /&gt;
        effectContent = effectContent .. makeTag(frame, &#039;effects&#039;, &#039;morganti&#039;, makeCat)&lt;br /&gt;
        c = c .. addCategory(&#039;Morganti effects&#039;, &#039;effect&#039;, &#039;morganti&#039;, skill, spell, addCats)&lt;br /&gt;
    end&lt;br /&gt;
    if exists(args[&#039;construction&#039;]) then&lt;br /&gt;
        effectContent = effectContent .. makeTag(frame, &#039;effects&#039;, &#039;construction&#039;, makeCat)&lt;br /&gt;
        c = c .. addCategory(&#039;Construction effects&#039;, &#039;effect&#039;, &#039;construction&#039;, skill, spell, addCats)&lt;br /&gt;
    end&lt;br /&gt;
    if exists(args[&#039;weather&#039;]) then&lt;br /&gt;
        effectContent = effectContent .. makeTag(frame, &#039;effects&#039;, &#039;weather&#039;, makeCat)&lt;br /&gt;
        c = c .. addCategory(&#039;Weather effects&#039;, &#039;effect&#039;, &#039;weather&#039;, skill, spell, addCats)&lt;br /&gt;
    end&lt;br /&gt;
&lt;br /&gt;
    local autoContent = &#039;&#039;&lt;br /&gt;
    if exists(args[&#039;auto&#039;]) then&lt;br /&gt;
        effectContent = effectContent .. makeTag(frame, &#039;effects&#039;, &#039;auto&#039;, makeCat)&lt;br /&gt;
        c = c .. addCategory(&#039;Automatic effects&#039;, &#039;effect&#039;, &#039;auto&#039;, skill, spell, addCats)&lt;br /&gt;
        autoContent = autoContent .. &#039; This triggers automatically. You cannot choose to not use it if you are able to.&#039;&lt;br /&gt;
    end&lt;br /&gt;
&lt;br /&gt;
    local costContent = &#039;&#039;&lt;br /&gt;
    if costMP then&lt;br /&gt;
        c = c .. addCategory(&#039;MP cost abilities&#039;, &#039;costMP&#039;, costMP, skill, spell, addCats, true)&lt;br /&gt;
        if costMP == &#039;x&#039; then&lt;br /&gt;
            costContent = costContent .. frame:preprocess(&amp;quot;{{Tag|X MP|🩵|l=:Category:MP cost abilities|c=#3584e4|class=cost-tagged mpx}}&amp;quot;)&lt;br /&gt;
            c = c .. addCategory(&#039;Variable MP cost abilities&#039;, &#039;costMP&#039;, &#039;x&#039;, skill, spell, addCats, true)&lt;br /&gt;
        else&lt;br /&gt;
            costContent = costContent .. frame:preprocess(&amp;quot;{{Tag|&amp;quot; .. costMP .. &amp;quot; MP|🩵|l=:Category:MP cost abilities|c=#3584e4|class=cost-tagged mp&amp;quot; .. costMP .. &amp;quot;}}&amp;quot;)&lt;br /&gt;
            c = c .. addCategory(costMP .. &#039; MP cost abilities&#039;, &#039;costMP&#039;, costMP, skill, spell, addCats, true)&lt;br /&gt;
        end&lt;br /&gt;
    end&lt;br /&gt;
    if costHP then&lt;br /&gt;
        c = c .. addCategory(&#039;HP cost abilities&#039;, &#039;costHP&#039;, costHP, skill, spell, addCats, true)&lt;br /&gt;
        if costHP == &#039;x&#039; then&lt;br /&gt;
            costContent = costContent .. frame:preprocess(&amp;quot;{{Tag|X HP|❤️|l=:Category:HP cost abilities|c=#e01b24|class=cost-tagged hpx}}&amp;quot;)&lt;br /&gt;
            c = c .. addCategory(&#039;Variable HP cost abilities&#039;, &#039;costHP&#039;, &#039;x&#039;, skill, spell, addCats, true)&lt;br /&gt;
        else&lt;br /&gt;
            costContent = costContent .. frame:preprocess(&amp;quot;{{Tag|&amp;quot; .. costHP .. &amp;quot; HP|❤️|l=:Category:HP cost abilities|c=#e01b24|class=cost-tagged hp&amp;quot; .. costHP .. &amp;quot;}}&amp;quot;)&lt;br /&gt;
            c = c .. addCategory(costHP .. &#039; HP cost abilities&#039;, &#039;costHP&#039;, costHP, skill, spell, addCats, true)&lt;br /&gt;
        end&lt;br /&gt;
    end&lt;br /&gt;
    if costGP then&lt;br /&gt;
        c = c .. addCategory(&#039;GP cost abilities&#039;, &#039;costGP&#039;, costGP, skill, spell, addCats, true)&lt;br /&gt;
        if costGP == &#039;x&#039; then&lt;br /&gt;
            costContent = costContent .. frame:preprocess(&amp;quot;{{Tag|X GP|🪙|l=:Category:GP cost abilities|c=#F6D32D|class=cost-tagged gpx}}&amp;quot;)&lt;br /&gt;
            c = c .. addCategory(&#039;Variable GP cost abilities&#039;, &#039;costGP&#039;, &#039;x&#039;, skill, spell, addCats, true)&lt;br /&gt;
        else&lt;br /&gt;
            costContent = costContent .. frame:preprocess(&amp;quot;{{Tag|&amp;quot; .. costGP .. &amp;quot; GP|🪙|l=:Category:GP cost abilities|c=#F6D32D|class=cost-tagged gp&amp;quot; .. costGP .. &amp;quot;}}&amp;quot;)&lt;br /&gt;
            c = c .. addCategory(costGP .. &#039; GP cost abilities&#039;, &#039;costGP&#039;, costGP, skill, spell, addCats, true)&lt;br /&gt;
        end&lt;br /&gt;
    end&lt;br /&gt;
    if costShatter then&lt;br /&gt;
        c = c .. addCategory(&#039;Shatter cost abilities&#039;, &#039;costShatter&#039;, costShatter, skill, spell, addCats)&lt;br /&gt;
        costContent = costContent .. frame:preprocess(&amp;quot;{{Tag|Shatter|💥|l=:Category:Shatter cost abilities|class=cost-tagged shatter}}&amp;quot;)&lt;br /&gt;
    end&lt;br /&gt;
    if args[&#039;cost&#039;] then&lt;br /&gt;
        costContent = costContent .. frame:preprocess(args[&#039;cost&#039;])&lt;br /&gt;
    end&lt;br /&gt;
&lt;br /&gt;
    local executionTimeTitle = &#039;Execution time&#039;&lt;br /&gt;
    if spell then&lt;br /&gt;
        executionTimeTitle = &#039;Casting time&#039;&lt;br /&gt;
    end&lt;br /&gt;
&lt;br /&gt;
    local expansionContent = &#039;TEST&#039;&lt;br /&gt;
    -- if args[&#039;ec&#039;] or args[&#039;expCount&#039;] or args[&#039;expansionCount&#039;] then&lt;br /&gt;
    --     -- local ec = args[&#039;ec&#039;] or args[&#039;expCount&#039;] or args[&#039;expansionCount&#039;]&lt;br /&gt;
    --     -- ec = tostring(ec)&lt;br /&gt;
    --     local ec = &#039;1&#039;&lt;br /&gt;
    --     expansionContent = &#039;This ability expands &#039; .. ec .. &#039; time&#039; .. (tonumber(ec) &amp;gt; 1 and &#039;s&#039; or &#039;&#039;) .. &#039;.&#039;&lt;br /&gt;
    -- end&lt;br /&gt;
&lt;br /&gt;
    local heightenedContent = &#039;&#039;&lt;br /&gt;
    if args[&#039;heightened&#039;] and args[&#039;heightened&#039;]:len() &amp;gt; 0 then&lt;br /&gt;
        heightenedContent = heightenedContent .. &#039;For each additional {{MP}} spent, &#039; .. args[&#039;heightened&#039;]&lt;br /&gt;
        -- heightenedContent = heightenedContent .. &#039; You can only {{L|Core|Heightening|Heighten}} if you are {{L|Core|Proficiency Bonus|Proficient}} or {{L|Core|Fluency Bonus|Fluent}} in &#039; .. args[&#039;name&#039;] .. &#039; and only up to the corresponding bonus.&#039;&lt;br /&gt;
        c = c .. addCategory(&#039;Heightened abilities&#039;, &#039;heightened&#039;, args[&#039;heightened&#039;], skill, spell, addCats, true)&lt;br /&gt;
    end&lt;br /&gt;
&lt;br /&gt;
    local proficiencyContent = &#039;&#039;&lt;br /&gt;
    if args[&#039;pro&#039;] then&lt;br /&gt;
        proficiencyContent = proficiencyContent .. frame:preprocess(args[&#039;pro&#039;])&lt;br /&gt;
    end&lt;br /&gt;
&lt;br /&gt;
    local fluencyContent = &#039;&#039;&lt;br /&gt;
    if args[&#039;flu&#039;] then&lt;br /&gt;
        fluencyContent = fluencyContent .. frame:preprocess(args[&#039;flu&#039;])&lt;br /&gt;
    end&lt;br /&gt;
&lt;br /&gt;
    local restrictionContent = &#039;&#039;&lt;br /&gt;
    if args[&#039;restrict&#039;] then&lt;br /&gt;
        restrictionContent = restrictionContent .. frame:preprocess(args[&#039;restrict&#039;])&lt;br /&gt;
    end&lt;br /&gt;
&lt;br /&gt;
    local statValContent = &#039;&#039;&lt;br /&gt;
    local statFeatContent = &#039;&#039;&lt;br /&gt;
    if args[&#039;vstat&#039;] and args[&#039;val&#039;] then&lt;br /&gt;
        local vstat = frame:preprocess(&amp;quot;{{uc:&amp;quot; .. args[&#039;vstat&#039;] .. &amp;quot;}}&amp;quot;)&lt;br /&gt;
        statValContent = &#039;This ability sets your {{L|Core|&#039; .. vstat .. &#039;}}&#039; .. &#039; score to a minimum of &#039; .. args[&#039;val&#039;] .. &#039;.&#039;&lt;br /&gt;
        c = c .. addCategory(&#039;Attribute setting abilities&#039;, &#039;val&#039;, args[&#039;val&#039;], skill, spell, addCats, true)&lt;br /&gt;
        c = c .. addCategory(vstat .. &#039; setting abilities&#039;, &#039;vstat&#039;, args[&#039;vstat&#039;], skill, spell, addCats, true)&lt;br /&gt;
        c = c .. addCategory(vstat .. &#039; value of &#039; .. args[&#039;val&#039;] .. &#039; setting abilities&#039;, &#039;val&#039;, args[&#039;val&#039;], skill, spell, addCats, true)&lt;br /&gt;
    end&lt;br /&gt;
    local f = &#039;proficiency&#039;&lt;br /&gt;
    if args[&#039;fflu&#039;] then&lt;br /&gt;
        f = &#039;fluency&#039;&lt;br /&gt;
    end&lt;br /&gt;
    if args[&#039;fstat&#039;] and (args[&#039;fflu&#039;] or args[&#039;fpro&#039;]) then&lt;br /&gt;
        local fstat = frame:preprocess(&amp;quot;{{uc:&amp;quot; .. args[&#039;fstat&#039;] .. &amp;quot;}}&amp;quot;)&lt;br /&gt;
        statFeatContent = &#039;This ability gives {{L|Core|&#039; .. f .. &#039; Bonus|&#039; .. f .. &#039;}} in {{L|Core|&#039; .. fstat .. &#039;}} {{L|Core|Feat Interaction|Feat Saves}}.&#039;&lt;br /&gt;
        c = c .. addCategory(&#039;Feat save improvement abilities&#039;, &#039;flu&#039;, args[&#039;fflu&#039;], skill, spell, addCats)&lt;br /&gt;
        c = c .. addCategory(&#039;Feat save &#039; .. f .. &#039; granting abilities&#039;, &#039;fstat&#039;, args[&#039;fstat&#039;], skill, spell, addCats, true)&lt;br /&gt;
        c = c .. addCategory(fstat .. &#039; feat save &#039; .. f .. &#039; granting abilities&#039;, &#039;fstat&#039;, args[&#039;fstat&#039;], skill, spell, addCats, true)&lt;br /&gt;
    end&lt;br /&gt;
    if args[&#039;rotator&#039;] and args[&#039;rotator&#039;]:len() &amp;gt; 0 then&lt;br /&gt;
        c = c .. addCategory(&#039;Rotator abilities&#039;, &#039;rotator&#039;, args[&#039;rotator&#039;], skill, spell, addCats)&lt;br /&gt;
    end&lt;br /&gt;
    if args[&#039;gm&#039;] then&lt;br /&gt;
        c = c .. addCategory(tags[&#039;gm&#039;][args[&#039;gm&#039;]][&#039;link&#039;], &#039;gm&#039;, args[&#039;gm&#039;], skill, spell, addCats)&lt;br /&gt;
    end&lt;br /&gt;
    if args[&#039;guildmaster&#039;] then&lt;br /&gt;
        c = c .. addCategory(&#039;Guildmaster abilities&#039;, &#039;guildmaster&#039;, args[&#039;guildmaster&#039;], skill, spell, addCats)&lt;br /&gt;
    end&lt;br /&gt;
    if args[&#039;style&#039;] then&lt;br /&gt;
        c = c .. addCategory(&#039;Casting style abilities&#039;, &#039;style&#039;, args[&#039;style&#039;], skill, spell, addCats)&lt;br /&gt;
    end&lt;br /&gt;
    if args[&#039;weapon&#039;] then&lt;br /&gt;
        c = c .. addCategory(&#039;Weapon fighting style abilities&#039;, &#039;weapon&#039;, args[&#039;weapon&#039;], skill, spell, addCats)&lt;br /&gt;
    end&lt;br /&gt;
&lt;br /&gt;
    -- Remove range from self targeted abilities&lt;br /&gt;
    if resolved[&#039;target&#039;] == &#039;self&#039; or resolved[&#039;range&#039;] == &#039;self&#039; then&lt;br /&gt;
        resolved[&#039;range&#039;] = nil&lt;br /&gt;
    end&lt;br /&gt;
&lt;br /&gt;
    local barsTop = {&lt;br /&gt;
        -- {&lt;br /&gt;
        --     title = &#039;elements&#039;,&lt;br /&gt;
        --     content = frame:preprocess(elementContent)&lt;br /&gt;
        -- },&lt;br /&gt;
        {&lt;br /&gt;
            title = &#039;power sources&#039;,&lt;br /&gt;
            content = frame:preprocess(esContent .. powerContent),&lt;br /&gt;
            link = &#039;:Category:Powered abilities&#039;&lt;br /&gt;
        },&lt;br /&gt;
        {&lt;br /&gt;
            title = &#039;effect types&#039;,&lt;br /&gt;
            content = frame:preprocess(flawContent .. specialContent .. effectContent),&lt;br /&gt;
            link = &#039;:Category:Effects&#039;&lt;br /&gt;
        },&lt;br /&gt;
        {&lt;br /&gt;
            title = &#039;delivery&#039;,&lt;br /&gt;
            content = frame:preprocess(wardedContent .. deliveryContent) .. makeContent(frame, resolved, {&#039;expansion&#039;, &#039;pre&#039;, &#039;upgrade&#039;, &#039;piercing&#039;, &#039;delivery&#039;, &#039;interaction&#039;}, makeCat),&lt;br /&gt;
            link = &#039;:Category:Delivery abilities&#039;&lt;br /&gt;
        },&lt;br /&gt;
        {&lt;br /&gt;
            title = &#039;save attribute&#039;,&lt;br /&gt;
            content = makeContent(frame, resolved, {&#039;attribute&#039;}, makeCat),&lt;br /&gt;
            link = &#039;Core:Feat Interaction&#039;&lt;br /&gt;
        },&lt;br /&gt;
        {&lt;br /&gt;
            title = &#039;expansion save attribute&#039;,&lt;br /&gt;
            content = makeContent(frame, resolved, {&#039;expansionAttribute&#039;}, makeCat),&lt;br /&gt;
        },&lt;br /&gt;
        {&lt;br /&gt;
            title = &#039;target&#039;,&lt;br /&gt;
            content = makeContent(frame, resolved, {&#039;target&#039;, &#039;hitDC&#039;}, makeCat),&lt;br /&gt;
            link = &#039;:Category:Target abilities&#039;&lt;br /&gt;
        },&lt;br /&gt;
        {&lt;br /&gt;
            title = executionTimeTitle,&lt;br /&gt;
            content = makeContent(frame, resolved, {&#039;executionTime&#039;, &#039;maneuver&#039;}, makeCat),&lt;br /&gt;
            link = &#039;Core:Maneuvers&#039;&lt;br /&gt;
        },&lt;br /&gt;
        {&lt;br /&gt;
            title = &#039;trigger&#039;,&lt;br /&gt;
            content = (args[&#039;trigger&#039;] or &#039;&#039;) .. autoContent,&lt;br /&gt;
            link = &#039;Core:Reactive Maneuvers&#039;&lt;br /&gt;
        },&lt;br /&gt;
        {&lt;br /&gt;
            title = &#039;cost and components&#039;,&lt;br /&gt;
            content = frame:preprocess(costContent) .. makeContent(frame, resolved, {&#039;material&#039;, &#039;invoked&#039;, &#039;verbal&#039;, &#039;somatic&#039;, &#039;magelore&#039;}, makeCat),&lt;br /&gt;
            link = &#039;:Category:Cost abilities&#039;&lt;br /&gt;
        },&lt;br /&gt;
        {&lt;br /&gt;
            title = &#039;Mana cost&#039;,&lt;br /&gt;
            content = args[&#039;mpx&#039;] or &#039;&#039;,&lt;br /&gt;
            link = &#039;:Category:MP cost abilities&#039;&lt;br /&gt;
        },&lt;br /&gt;
        {&lt;br /&gt;
            title = &#039;Hit cost&#039;,&lt;br /&gt;
            content = args[&#039;hpx&#039;] or &#039;&#039;,&lt;br /&gt;
            link = &#039;:Category:HP cost abilities&#039;&lt;br /&gt;
        },&lt;br /&gt;
        {&lt;br /&gt;
            title = &#039;Gold cost&#039;,&lt;br /&gt;
            content = args[&#039;gpx&#039;] or &#039;&#039;,&lt;br /&gt;
            link = &#039;:Category:GP cost abilities&#039;&lt;br /&gt;
        },&lt;br /&gt;
        {&lt;br /&gt;
            title = &#039;Material cost&#039;,&lt;br /&gt;
            content = makeContent(frame, resolved, {&#039;matx&#039;}, makeCat),&lt;br /&gt;
            link = &#039;:Category:Material component abilities&#039;&lt;br /&gt;
        },&lt;br /&gt;
        {&lt;br /&gt;
            title = &#039;duration&#039;,&lt;br /&gt;
            content = makeContent(frame, resolved, {&#039;duration&#039;, &#039;sustained&#039;}, makeCat),&lt;br /&gt;
            link = &#039;:Category:Duration abilities&#039;&lt;br /&gt;
        },&lt;br /&gt;
        {&lt;br /&gt;
            title = &#039;range&#039;,&lt;br /&gt;
            content = makeContent(frame, resolved, {&#039;range&#039;}, makeCat),&lt;br /&gt;
            link = &#039;Core:Range&#039;&lt;br /&gt;
        },&lt;br /&gt;
        -- {&lt;br /&gt;
        --     title = &#039;expansion&#039;,&lt;br /&gt;
        --     content = makeContent(frame, resolved, {&#039;expansion&#039;}, makeCat)&lt;br /&gt;
        -- },&lt;br /&gt;
        {&lt;br /&gt;
            title = &#039;expansion range&#039;,&lt;br /&gt;
            content = makeContent(frame, resolved, {&#039;expansionRange&#039;}, makeCat),&lt;br /&gt;
            link = &#039;Core:Expansions&#039;&lt;br /&gt;
        },&lt;br /&gt;
        {&lt;br /&gt;
            title = &#039;expansion cap&#039;,&lt;br /&gt;
            content = makeContent(frame, resolved, {&#039;expansionCount&#039;}, makeCat),&lt;br /&gt;
            link = &#039;Core:Expansions&#039;&lt;br /&gt;
        },&lt;br /&gt;
        {&lt;br /&gt;
            title = &#039;Requirements&#039;,&lt;br /&gt;
            content = makeContent(frame, resolved, {&#039;requirement&#039;}, makeCat)&lt;br /&gt;
        },&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    local barsBottom = {&lt;br /&gt;
        {&lt;br /&gt;
            title = &#039;End condition&#039;,&lt;br /&gt;
            content = args[&#039;end&#039;] or &#039;&#039;&lt;br /&gt;
        },&lt;br /&gt;
        {&lt;br /&gt;
            title = &#039;On critical hit&#039;,&lt;br /&gt;
            content = args[&#039;crithit&#039;] or &#039;&#039;&lt;br /&gt;
        },&lt;br /&gt;
        {&lt;br /&gt;
            title = &#039;On hit&#039;,&lt;br /&gt;
            content = args[&#039;hit&#039;] or &#039;&#039;&lt;br /&gt;
        },&lt;br /&gt;
        {&lt;br /&gt;
            title = &#039;On miss&#039;,&lt;br /&gt;
            content = args[&#039;miss&#039;] or &#039;&#039;&lt;br /&gt;
        },&lt;br /&gt;
        {&lt;br /&gt;
            title = &#039;On critically miss&#039;,&lt;br /&gt;
            content = args[&#039;critmiss&#039;] or &#039;&#039;&lt;br /&gt;
        },&lt;br /&gt;
        {&lt;br /&gt;
            title = &#039;On critical fail&#039;,&lt;br /&gt;
            content = args[&#039;critfail&#039;] or &#039;&#039;&lt;br /&gt;
        },&lt;br /&gt;
        {&lt;br /&gt;
            title = &#039;On fail&#039;,&lt;br /&gt;
            content = args[&#039;fail&#039;] or &#039;&#039;&lt;br /&gt;
        },&lt;br /&gt;
        {&lt;br /&gt;
            title = &#039;On success&#039;,&lt;br /&gt;
            content = args[&#039;success&#039;] or &#039;&#039;&lt;br /&gt;
        },&lt;br /&gt;
        {&lt;br /&gt;
            title = &#039;On critical success&#039;,&lt;br /&gt;
            content = args[&#039;critsuccess&#039;] or &#039;&#039;&lt;br /&gt;
        },&lt;br /&gt;
        {&lt;br /&gt;
            title = &#039;Heightened&#039;,&lt;br /&gt;
            content = frame:preprocess(heightenedContent),&lt;br /&gt;
            link = &#039;:Category:Heightened abilities&#039;&lt;br /&gt;
        },&lt;br /&gt;
        {&lt;br /&gt;
            title = &#039;If proficient&#039;,&lt;br /&gt;
            content = proficiencyContent,&lt;br /&gt;
            link = &#039;Core:Proficiency Bonus&#039;&lt;br /&gt;
        },&lt;br /&gt;
        {&lt;br /&gt;
            title = &#039;If fluent&#039;,&lt;br /&gt;
            content = fluencyContent,&lt;br /&gt;
            link = &#039;Core:Fluency Bonus&#039;&lt;br /&gt;
        },&lt;br /&gt;
        {&lt;br /&gt;
            title = &#039;Attribute improvement&#039;,&lt;br /&gt;
            content = frame:preprocess(statValContent),&lt;br /&gt;
            link = &#039;Core:Attributes&#039;,&lt;br /&gt;
            flags = {&lt;br /&gt;
                attribute = args[&#039;vstat&#039;] and frame:preprocess(&#039;{{lc:&#039; .. args[&#039;vstat&#039;] .. &#039;}}&#039;) or &amp;quot;&amp;quot;,&lt;br /&gt;
                value = args[&#039;val&#039;]&lt;br /&gt;
            }&lt;br /&gt;
        },&lt;br /&gt;
        {&lt;br /&gt;
            title = &#039;Feat save improvement&#039;,&lt;br /&gt;
            content = frame:preprocess(statFeatContent),&lt;br /&gt;
            link = &#039;Core:Feat Interaction&#039;,&lt;br /&gt;
            flags = {&lt;br /&gt;
                attribute = args[&#039;fstat&#039;] and frame:preprocess(&#039;{{lc:&#039; .. args[&#039;fstat&#039;] .. &#039;}}&#039;),&lt;br /&gt;
                value = f&lt;br /&gt;
            }&lt;br /&gt;
        },&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    local outputTop = &#039;&#039;&lt;br /&gt;
    for _, bar in ipairs(barsTop) do&lt;br /&gt;
        outputTop = outputTop .. makeBar(frame, bar[&#039;title&#039;], bar[&#039;content&#039;], bar[&#039;link&#039;], bar[&#039;flags&#039;], false)&lt;br /&gt;
    end&lt;br /&gt;
    local outputBottom = &#039;&#039;&lt;br /&gt;
&lt;br /&gt;
    for _, bar in ipairs(barsBottom) do&lt;br /&gt;
        outputBottom = outputBottom .. makeBar(frame, bar[&#039;title&#039;], bar[&#039;content&#039;], bar[&#039;link&#039;], bar[&#039;flags&#039;], true)&lt;br /&gt;
    end&lt;br /&gt;
&lt;br /&gt;
    local outputMiddle = &#039;&#039;&lt;br /&gt;
    if args[&#039;e&#039;] then&lt;br /&gt;
        outputMiddle = frame:preprocess(args[&#039;e&#039;])&lt;br /&gt;
    end&lt;br /&gt;
&lt;br /&gt;
    local output = mw.html.create(&#039;span&#039;)&lt;br /&gt;
    output&lt;br /&gt;
        :addClass(&#039;ability-variables&#039;)&lt;br /&gt;
    if args[&#039;basic&#039;] then&lt;br /&gt;
        output&lt;br /&gt;
            :addClass(&#039;ability-basic&#039;)&lt;br /&gt;
    end&lt;br /&gt;
    output:wikitext(outputTop)&lt;br /&gt;
    &lt;br /&gt;
    if outputMiddle ~= &#039;&#039; then&lt;br /&gt;
        output&lt;br /&gt;
            :wikitext(&#039;&amp;lt;hr&amp;gt;&#039;)&lt;br /&gt;
            :wikitext(&#039;&amp;lt;span class=&amp;quot;ability-overview-base&amp;quot;&amp;gt;&#039; .. outputMiddle .. &#039;&amp;lt;/span&amp;gt;&#039;)&lt;br /&gt;
    end&lt;br /&gt;
&lt;br /&gt;
    if outputBottom ~= &#039;&#039; then&lt;br /&gt;
        output&lt;br /&gt;
            :wikitext(&#039;&amp;lt;hr&amp;gt;&#039;)&lt;br /&gt;
            :wikitext(outputBottom)&lt;br /&gt;
    end&lt;br /&gt;
&lt;br /&gt;
    output = tostring(output) .. c&lt;br /&gt;
    output = output .. frame:preprocess(&#039;&amp;lt;templatestyles src=&amp;quot;Template:Ability/styles.css&amp;quot; /&amp;gt;&#039;)&lt;br /&gt;
    if not name then&lt;br /&gt;
        output = output .. &#039;&amp;lt;span style=&amp;quot;color: red;&amp;gt;NO NAME PROVIDED VERY BAD EVERY ABILITY NEEDS A NAME OKAY&amp;lt;/span&amp;gt;&#039;&lt;br /&gt;
    end&lt;br /&gt;
&lt;br /&gt;
    return output&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
return p&lt;/div&gt;</summary>
		<author><name>Gpe</name></author>
	</entry>
	<entry>
		<id>https://wiki.teriock.com/index.php?title=Ability:Spawn_Point&amp;diff=17879</id>
		<title>Ability:Spawn Point</title>
		<link rel="alternate" type="text/html" href="https://wiki.teriock.com/index.php?title=Ability:Spawn_Point&amp;diff=17879"/>
		<updated>2026-08-07T23:53:15Z</updated>

		<summary type="html">&lt;p&gt;Gpe: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{#invoke:A|a&lt;br /&gt;
|name=Spawn Point&lt;br /&gt;
|pre=ritual&lt;br /&gt;
|class=pal&lt;br /&gt;
|standard=1&lt;br /&gt;
|skill=0&lt;br /&gt;
|spell=1&lt;br /&gt;
|t=area&lt;br /&gt;
|r=h&lt;br /&gt;
|d=h&lt;br /&gt;
|e={{TextCircle}} This area casts {{L|Ability|Zombify|Zombify}} on all creatures within it at the start of each {{L|Core|Turns|turn}}.&lt;br /&gt;
|magic=1&lt;br /&gt;
|necro=1&lt;br /&gt;
|dur=8h&lt;br /&gt;
|mp=1&lt;br /&gt;
|rotator=1&lt;br /&gt;
|heightened={{HeightDuration|24 hours|86400}}&lt;br /&gt;
|reanimate=1&lt;br /&gt;
}}&lt;/div&gt;</summary>
		<author><name>Gpe</name></author>
	</entry>
	<entry>
		<id>https://wiki.teriock.com/index.php?title=Ability:Spawn_Point&amp;diff=17878</id>
		<title>Ability:Spawn Point</title>
		<link rel="alternate" type="text/html" href="https://wiki.teriock.com/index.php?title=Ability:Spawn_Point&amp;diff=17878"/>
		<updated>2026-08-07T23:52:59Z</updated>

		<summary type="html">&lt;p&gt;Gpe: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{#invoke:A|a&lt;br /&gt;
|name=Spawn Point&lt;br /&gt;
|pre=ritual&lt;br /&gt;
|class=pal&lt;br /&gt;
|standard=1&lt;br /&gt;
|skill=0&lt;br /&gt;
|spell=1&lt;br /&gt;
|t=area&lt;br /&gt;
|r=h&lt;br /&gt;
|d=h&lt;br /&gt;
|e={{TextCircle}} This area casts {{L|Ability|Zombify|Zombify}} on all creatures within it at the start of each {{L|Core|Turns|turn}}.&lt;br /&gt;
|magic=1&lt;br /&gt;
|necro=1&lt;br /&gt;
|dur=8h&lt;br /&gt;
|mp=1&lt;br /&gt;
|rotator=1&lt;br /&gt;
|heightened={{HeightDuration|24 hours|86400}}&lt;br /&gt;
|reanimation=1&lt;br /&gt;
}}&lt;/div&gt;</summary>
		<author><name>Gpe</name></author>
	</entry>
	<entry>
		<id>https://wiki.teriock.com/index.php?title=Ability:Circle_of_Fire&amp;diff=17877</id>
		<title>Ability:Circle of Fire</title>
		<link rel="alternate" type="text/html" href="https://wiki.teriock.com/index.php?title=Ability:Circle_of_Fire&amp;diff=17877"/>
		<updated>2026-08-07T23:50:03Z</updated>

		<summary type="html">&lt;p&gt;Gpe: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{#invoke:A|a&lt;br /&gt;
|name=Circle of Fire&lt;br /&gt;
|pre=ritual&lt;br /&gt;
|class=pal&lt;br /&gt;
|standard=1&lt;br /&gt;
|skill=0&lt;br /&gt;
|spell=1&lt;br /&gt;
|d=h&lt;br /&gt;
|r=h&lt;br /&gt;
|t=area&lt;br /&gt;
|dur=8h&lt;br /&gt;
|mp=1&lt;br /&gt;
|flame=1&lt;br /&gt;
|e={{TextCircle}} Any creature within this area takes {{NDice|1d4[magic fire]|damage}} {{Dmg}} at the end of each of their {{L|Core|Turns|turns}}.&lt;br /&gt;
|pro=Creatures within this area take {{NDice|1d4[magic fire]|damage}} {{Dmg}} at the start of each of their {{L|Core|Turns|turns}} as well.&lt;br /&gt;
|rotator=1&lt;br /&gt;
|magic=1&lt;br /&gt;
|heightened={{HeightDuration|24 hours|86400}}&lt;br /&gt;
|damage=1&lt;br /&gt;
}}&lt;/div&gt;</summary>
		<author><name>Gpe</name></author>
	</entry>
	<entry>
		<id>https://wiki.teriock.com/index.php?title=Ability:Ward&amp;diff=17876</id>
		<title>Ability:Ward</title>
		<link rel="alternate" type="text/html" href="https://wiki.teriock.com/index.php?title=Ability:Ward&amp;diff=17876"/>
		<updated>2026-08-07T03:25:01Z</updated>

		<summary type="html">&lt;p&gt;Gpe: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{#invoke:A|a&lt;br /&gt;
|name=Ward&lt;br /&gt;
|class=lif&lt;br /&gt;
|life=1&lt;br /&gt;
|d=h&lt;br /&gt;
|t=i&lt;br /&gt;
|i=a&lt;br /&gt;
|m=a&lt;br /&gt;
|x=1a&lt;br /&gt;
|invoke=1&lt;br /&gt;
|rank=2&lt;br /&gt;
|magic=1&lt;br /&gt;
|hit={{Target|u=1}} item&#039;s next {{Attack}} is {{L|Keyword|Warded}}. You may instead choose to {{Target}} a creature&#039;s hand. If you do, the creature&#039;s next {{L|Category|hand delivery spells|Hand}} or {{L|Category|Missile delivery spells|Missile Spell}} is {{L|Keyword|Warded}} as well.&lt;br /&gt;
|end=An {{Attack}} or {{L|Category|Spells|spell}} is made {{L|Keyword|Warded}} by Ward.&lt;br /&gt;
|dur=1m&lt;br /&gt;
|rotator=1&lt;br /&gt;
}}&lt;/div&gt;</summary>
		<author><name>Gpe</name></author>
	</entry>
	<entry>
		<id>https://wiki.teriock.com/index.php?title=Ability:Brave&amp;diff=17875</id>
		<title>Ability:Brave</title>
		<link rel="alternate" type="text/html" href="https://wiki.teriock.com/index.php?title=Ability:Brave&amp;diff=17875"/>
		<updated>2026-08-06T09:31:57Z</updated>

		<summary type="html">&lt;p&gt;Gpe: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{#invoke:A|a&lt;br /&gt;
|name=Brave&lt;br /&gt;
|pre=passive&lt;br /&gt;
|martial=1&lt;br /&gt;
|resist=1&lt;br /&gt;
|e=You are {{L|Keyword|Resistance|resistant}} to being {{L|Condition|Frightened}}.&lt;br /&gt;
}}&lt;/div&gt;</summary>
		<author><name>Gpe</name></author>
	</entry>
	<entry>
		<id>https://wiki.teriock.com/index.php?title=Ability:Fearless&amp;diff=17872</id>
		<title>Ability:Fearless</title>
		<link rel="alternate" type="text/html" href="https://wiki.teriock.com/index.php?title=Ability:Fearless&amp;diff=17872"/>
		<updated>2026-08-06T09:29:45Z</updated>

		<summary type="html">&lt;p&gt;Gpe: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{#invoke:A|a&lt;br /&gt;
|name=Fearless&lt;br /&gt;
|pre=passive&lt;br /&gt;
|martial=1&lt;br /&gt;
|immune=1&lt;br /&gt;
|e=You are {{L|Keyword|Immunity|immune}} to being {{L|Condition|Frightened}}.&lt;br /&gt;
}}&lt;/div&gt;</summary>
		<author><name>Gpe</name></author>
	</entry>
	<entry>
		<id>https://wiki.teriock.com/index.php?title=Creature:Green_Phraint&amp;diff=17871</id>
		<title>Creature:Green Phraint</title>
		<link rel="alternate" type="text/html" href="https://wiki.teriock.com/index.php?title=Creature:Green_Phraint&amp;diff=17871"/>
		<updated>2026-08-06T09:28:51Z</updated>

		<summary type="html">&lt;p&gt;Gpe: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{CreaturePhraint&lt;br /&gt;
|name=Green&lt;br /&gt;
|a=Cannot Become Mage;; Fearless&lt;br /&gt;
}}&lt;/div&gt;</summary>
		<author><name>Gpe</name></author>
	</entry>
	<entry>
		<id>https://wiki.teriock.com/index.php?title=Template:TextESCreationCost&amp;diff=17870</id>
		<title>Template:TextESCreationCost</title>
		<link rel="alternate" type="text/html" href="https://wiki.teriock.com/index.php?title=Template:TextESCreationCost&amp;diff=17870"/>
		<updated>2026-08-06T07:57:28Z</updated>

		<summary type="html">&lt;p&gt;Gpe: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Creation cost is at least 1 {{MP}} per {{OP}} of &#039;&#039;each&#039;&#039; {{L|Core|Elder Sorcery Words|word}} in the spell plus 3 {{Times}} {{MP}} of the spell itself.&lt;/div&gt;</summary>
		<author><name>Gpe</name></author>
	</entry>
	<entry>
		<id>https://wiki.teriock.com/index.php?title=Ability:Elder_Sorcery_Creation&amp;diff=17869</id>
		<title>Ability:Elder Sorcery Creation</title>
		<link rel="alternate" type="text/html" href="https://wiki.teriock.com/index.php?title=Ability:Elder_Sorcery_Creation&amp;diff=17869"/>
		<updated>2026-08-06T07:56:04Z</updated>

		<summary type="html">&lt;p&gt;Gpe: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{ESWording|effect={{#invoke:A|a&lt;br /&gt;
|name=Elder Sorcery Creation&lt;br /&gt;
|arch=mage&lt;br /&gt;
|pre=ritual&lt;br /&gt;
|x=lr&lt;br /&gt;
|t=s&lt;br /&gt;
|magic=1&lt;br /&gt;
|standard=0&lt;br /&gt;
|skill=1&lt;br /&gt;
|spell=0&lt;br /&gt;
|e=You may create 1 custom &amp;quot;rotator&amp;quot; {{L|Category|Spells|spell}} using {{L|Core|Elder Sorcery Words}} that you know using whatever {{L|Core|Elder Sorcery}} creation rules are dictated to you by your {{GM}}. As with other {{L|Category|Rotator spells|rotators}}, this spell is not always available to you. You have to &amp;quot;rotate&amp;quot; into having it prepared. This spell may have a maximum number of {{L|Core|Elder Sorcery Words|words}} equal to your {{L|Core|Leveling Up|Level}}. Your {{GM}} may allow you to &amp;quot;improvise&amp;quot; {{L|Category|Spells}} as well, using whatever rules they wish.&lt;br /&gt;
|pro=You may now create 2 {{Times}} ({{MR}} - 1) custom &amp;quot;rotator&amp;quot; {{L|Category|Spells}} where {{MR}} is the number of {{L|Core|Leveling Up|ranks}} you have in {{L|Category|Mage classes|Mage classes}}.&lt;br /&gt;
|flu=In addition to the spells that you create, you can learn {{P}} additional spells from other {{L|Core|Elder Sorcery}} users. See {{L|Core|Elder Sorcery}} for more information.&lt;br /&gt;
|mp=x&lt;br /&gt;
|mpx={{TextESCreationCost}}&lt;br /&gt;
|hp=x&lt;br /&gt;
|hpx=Creation cost is at least 3 {{Times}} {{HP}} of the spell itself.&lt;br /&gt;
|mat=1&lt;br /&gt;
|es=1&lt;br /&gt;
|matx=Creation cost is at least 3 {{Times}} the material components of the spell itself.&lt;br /&gt;
}} }}&lt;/div&gt;</summary>
		<author><name>Gpe</name></author>
	</entry>
</feed>