<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://hlkitwiki.wolflair.com//index.php?action=history&amp;feed=atom&amp;title=Basics_of_Arcane_Backgrounds_%28Savage%29</id>
	<title>Basics of Arcane Backgrounds (Savage) - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://hlkitwiki.wolflair.com//index.php?action=history&amp;feed=atom&amp;title=Basics_of_Arcane_Backgrounds_%28Savage%29"/>
	<link rel="alternate" type="text/html" href="https://hlkitwiki.wolflair.com//index.php?title=Basics_of_Arcane_Backgrounds_(Savage)&amp;action=history"/>
	<updated>2026-05-05T17:08:10Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.42.1</generator>
	<entry>
		<id>https://hlkitwiki.wolflair.com//index.php?title=Basics_of_Arcane_Backgrounds_(Savage)&amp;diff=2368&amp;oldid=prev</id>
		<title>Rob: /* Arcane Backgrounds and Skills */</title>
		<link rel="alternate" type="text/html" href="https://hlkitwiki.wolflair.com//index.php?title=Basics_of_Arcane_Backgrounds_(Savage)&amp;diff=2368&amp;oldid=prev"/>
		<updated>2009-01-28T02:18:56Z</updated>

		<summary type="html">&lt;p&gt;&lt;span dir=&quot;auto&quot;&gt;&lt;span class=&quot;autocomment&quot;&gt;Arcane Backgrounds and Skills&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;en&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Revision as of 02:18, 28 January 2009&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l76&quot;&gt;Line 76:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 76:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;   isunique=&amp;quot;yes&amp;quot;&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;   isunique=&amp;quot;yes&amp;quot;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;   description=&amp;quot;Description goes here&amp;quot;&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;   description=&amp;quot;Description goes here&amp;quot;&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;  &amp;lt;fieldval field=&quot;trtAbbrev&quot; value=&quot;Spl&quot;/&amp;gt;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;   &amp;lt;tag group=&amp;quot;Arcane&amp;quot; tag=&amp;quot;Magic&amp;quot;/&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;   &amp;lt;tag group=&amp;quot;Arcane&amp;quot; tag=&amp;quot;Magic&amp;quot;/&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;   &amp;lt;link linkage=&amp;quot;attribute&amp;quot; thing=&amp;quot;attrSma&amp;quot;/&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;   &amp;lt;link linkage=&amp;quot;attribute&amp;quot; thing=&amp;quot;attrSma&amp;quot;/&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Rob</name></author>
	</entry>
	<entry>
		<id>https://hlkitwiki.wolflair.com//index.php?title=Basics_of_Arcane_Backgrounds_(Savage)&amp;diff=1930&amp;oldid=prev</id>
		<title>Rob: Basics of Arcane Backgrounds (Skeleton) moved to Basics of Arcane Backgrounds (Savage)</title>
		<link rel="alternate" type="text/html" href="https://hlkitwiki.wolflair.com//index.php?title=Basics_of_Arcane_Backgrounds_(Savage)&amp;diff=1930&amp;oldid=prev"/>
		<updated>2008-12-18T04:15:09Z</updated>

		<summary type="html">&lt;p&gt;&lt;a href=&quot;/index.php?title=Basics_of_Arcane_Backgrounds_(Skeleton)&quot; class=&quot;mw-redirect&quot; title=&quot;Basics of Arcane Backgrounds (Skeleton)&quot;&gt;Basics of Arcane Backgrounds (Skeleton)&lt;/a&gt; moved to &lt;a href=&quot;/index.php?title=Basics_of_Arcane_Backgrounds_(Savage)&quot; title=&quot;Basics of Arcane Backgrounds (Savage)&quot;&gt;Basics of Arcane Backgrounds (Savage)&lt;/a&gt;&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;en&quot;&gt;
				&lt;td colspan=&quot;1&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;1&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Revision as of 04:15, 18 December 2008&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-notice&quot; lang=&quot;en&quot;&gt;&lt;div class=&quot;mw-diff-empty&quot;&gt;(No difference)&lt;/div&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</summary>
		<author><name>Rob</name></author>
	</entry>
	<entry>
		<id>https://hlkitwiki.wolflair.com//index.php?title=Basics_of_Arcane_Backgrounds_(Savage)&amp;diff=1858&amp;oldid=prev</id>
		<title>Rob at 12:19, 17 December 2008</title>
		<link rel="alternate" type="text/html" href="https://hlkitwiki.wolflair.com//index.php?title=Basics_of_Arcane_Backgrounds_(Savage)&amp;diff=1858&amp;oldid=prev"/>
		<updated>2008-12-17T12:19:35Z</updated>

		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;en&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Revision as of 12:19, 17 December 2008&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l3&quot;&gt;Line 3:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 3:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;===Overview===&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;===Overview===&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Arcane backgrounds are a rather fundamental aspect of the Savage Worlds game system. As such, we should setup handling of the basics for arcane backgrounds early on in our development. We don&#039;t need to fully implement them until later, but we do need to handle the basics, as there are a variety of edges and potentially other &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;sources &lt;/del&gt;that influence arcane backgrounds for a character.  &lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Arcane backgrounds are a rather fundamental aspect of the Savage Worlds game system. As such, we should setup handling of the basics for arcane backgrounds early on in our development. We don&#039;t need to fully implement them until later, but we do need to handle the basics, as there are a variety of edges and potentially other &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;game elements &lt;/ins&gt;that influence arcane backgrounds for a character.  &lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;===Arcane Background Types===&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;===Arcane Background Types===&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l23&quot;&gt;Line 23:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 23:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;===Resources to Track===&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;===Resources to Track===&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Arcane backgrounds introduce two new resources that need to be managed for each character - the number of arcane powers granted and the pool of power points that can be used to activate the powers. The number of arcane powers available is dictated by the arcane background and edges selected, with the resource decreased as powers are selected by the user. Consequently, the number of powers is best modeled using a &quot;Resource&quot;, which we&#039;ll call &quot;resPowers&quot;. Since every character can have an arcane background, the resource should always be bootstrapped for each character. This resource is very similar to the ones we&#039;ve already shown in the examples above, so we won&#039;t duplicate it here. You can take a look at the Savage Worlds data files if you wish to see the specifics.  &lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Arcane backgrounds introduce two new resources that need to be managed for each character - the number of arcane powers granted and the pool of power points that can be used to activate the powers. The number of arcane powers available is dictated by the arcane background and edges selected, with the resource decreased as powers are selected by the user. Consequently, the number of powers is best modeled using a &quot;Resource&quot;, which we&#039;ll call &quot;resPowers&quot;. Since every character can have an arcane background, the resource should always be bootstrapped for each character. This resource is very similar to the ones we&#039;ve already shown in the examples above, so we won&#039;t duplicate it here. You can take a look at the &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;completed &lt;/ins&gt;Savage Worlds data files if you wish to see the specifics.  &lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;In contrast, the number of power points will be managed by the user. The total number of power points available will be dictated by the arcane background and edges selected, but the expenditure and recovery of power points will occur during game play. As such, power points are best modeled using a &amp;quot;Tracker&amp;quot;. Like the number of powers, every character should always have this tracker bootstrapped. The Skeleton files include a &amp;quot;trkPower&amp;quot; tracker that is perfect for our needs, so we can simply re-purpose it. Since each character starts with zero power points and other sources will influence that number, we can eliminate the script and let the tracker default to values of zero.  &lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;In contrast, the number of power points will be managed by the user. The total number of power points available will be dictated by the arcane background and edges selected, but the expenditure and recovery of power points will occur during game play. As such, power points are best modeled using a &amp;quot;Tracker&amp;quot;. Like the number of powers, every character should always have this tracker bootstrapped. The Skeleton files include a &amp;quot;trkPower&amp;quot; tracker that is perfect for our needs, so we can simply re-purpose it. Since each character starts with zero power points and other sources will influence that number, we can eliminate the script and let the tracker default to values of zero.  &lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l29&quot;&gt;Line 29:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 29:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;===Arcane Backgrounds and Skills===&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;===Arcane Backgrounds and Skills===&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;The final thing we need to deal with to get the basics of arcane backgrounds setup is adding the various backgrounds and arcane skills. Edges confer access to the different backgrounds, and certain edges are dependent upon the arcane skills, so we need to get &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;them &lt;/del&gt;into place first. In order to keep everything conveniently located in a centralized place, we opt to create a new &quot;thing_arcane.dat&quot; file for all things related to arcane backgrounds.&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;The final thing we need to deal with to get the basics of arcane backgrounds setup is adding the various backgrounds and arcane skills. Edges confer access to the different backgrounds, and certain edges are dependent upon the arcane skills, so we need to get &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;arcane backgrounds and skills &lt;/ins&gt;into place first. In order to keep everything conveniently located in a centralized place, we opt to create a new &quot;thing_arcane.dat&quot; file for all things related to arcane backgrounds.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Before we can do that, though, we first need to define a suitable component and component set to represent arcane backgrounds. We don&#039;t need to worry much about how arcane backgrounds work for now, so we&#039;ll setup the obvious mechanics and worry about the rest later on. There are three facets of each arcane background that are fundamental: the arcane skill, the starting number of powers, and the starting number of power points. The proper skill will be controlled via each arcane background, so we don&#039;t need to deal with that in the component, &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;while &lt;/del&gt;the two starting values can be defined as static fields. Since arcane backgrounds don&#039;t really fit anywhere else, we&#039;ll put the new component and component set in &quot;miscellaneous.&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;pri&lt;/del&gt;&quot;. The two new elements can be handled quite simply for now, and they should look similar to the following:&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Before we can do that, though, we first need to define a suitable component and component set to represent arcane backgrounds. We don&#039;t need to worry much about how arcane backgrounds work for now, so we&#039;ll setup the obvious mechanics and worry about the rest later on. There are three facets of each arcane background that are fundamental: the arcane skill, the starting number of powers, and the starting number of power points. The proper skill will be controlled via each arcane background, so we don&#039;t need to deal with that in the component, &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;and &lt;/ins&gt;the two starting values can be defined as static fields. Since arcane backgrounds don&#039;t really fit anywhere else, we&#039;ll put the new component and component set in &quot;miscellaneous.&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;str&lt;/ins&gt;&quot;. The two new elements can be handled quite simply for now, and they should look similar to the following:&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;pre&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;pre&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l52&quot;&gt;Line 52:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 52:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;compset&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;compset&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;   id=&amp;quot;Arcane&amp;quot;&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;   id=&amp;quot;Arcane&amp;quot;&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;   &amp;lt;compref component=&quot;Arcane&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&quot; primary=&quot;yes&lt;/del&gt;&quot;/&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;   &amp;lt;compref component=&quot;Arcane&quot;/&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;   &amp;lt;/compset&amp;gt;  &lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;   &amp;lt;/compset&amp;gt;  &lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;/pre&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;/pre&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l81&quot;&gt;Line 81:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 81:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;/pre&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;/pre&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Each arcane background defines the appropriate number of starting powers and power points, but we aren&#039;t doing anything with those values yet. We need to add the values to the resource and tracker that we just defined above, as they actually manage powers and power points, respectively. This can be accomplished by defining &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;a &lt;/del&gt;component &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;script &lt;/del&gt;for the purpose. All the script needs to do is add the two values to the proper places, which yields something that looks like the example below.&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Each arcane background defines the appropriate number of starting powers and power points, but we aren&#039;t doing anything with those values yet. We need to add the values to the resource and tracker that we just defined above, as they actually manage powers and power points, respectively. This can be accomplished by defining &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;an Eval script on the &lt;/ins&gt;component for the purpose. All the script needs to do is add the two values to the proper places, which yields something that looks like the example below.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;pre&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;pre&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;eval &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;value&lt;/del&gt;=&quot;1&quot; phase=&quot;Setup&quot; priority=&quot;5000&quot;&amp;gt;&amp;lt;![CDATA[&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;eval &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;index&lt;/ins&gt;=&quot;1&quot; phase=&quot;Setup&quot; priority=&quot;5000&quot;&amp;gt;&amp;lt;![CDATA[&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;   #resmax[resPowers] += field[arcPowers].value&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;   #resmax[resPowers] += field[arcPowers].value&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;   #trkmax[trkPower] += field[arcPoints].value&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;   #trkmax[trkPower] += field[arcPoints].value&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l90&quot;&gt;Line 90:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 90:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;/pre&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;/pre&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;There is one last detail that we need to address. When a character has an arcane background, it needs to be known at the top-level in a way that everything within the data files can &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;key &lt;/del&gt;on it. This means having a tag on the actor &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;corresponding &lt;/del&gt;to the arcane background. Since each background will have a suitable &quot;Arcane.?&quot; tag, the component can forward the tag to the actor. This can be accomplished by adding the Eval script below to the &quot;Arcane&quot; component.  &lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;There is one last detail that we need to address. When a character has an arcane background, it needs to be known at the top-level in a way that everything within the data files can &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;check on it and base behaviors &lt;/ins&gt;on it. This means having a tag on the actor &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;that corresponds &lt;/ins&gt;to the arcane background. Since each background will have a suitable &quot;Arcane.?&quot; tag, the component can forward the tag to the actor. This can be accomplished by adding the Eval script below to the &quot;Arcane&quot; component.  &lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;pre&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;pre&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;eval &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;value&lt;/del&gt;=&quot;2&quot; phase=&quot;Setup&quot; priority=&quot;5000&quot;&amp;gt;&amp;lt;![CDATA[&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;eval &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;index&lt;/ins&gt;=&quot;2&quot; phase=&quot;Setup&quot; priority=&quot;5000&quot;&amp;gt;&amp;lt;![CDATA[&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;   perform forward[Arcane.?]&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;   perform forward[Arcane.?]&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;   ]]&amp;gt;&amp;lt;/eval&amp;gt;  &lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;   ]]&amp;gt;&amp;lt;/eval&amp;gt;  &lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;/pre&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;/pre&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Rob</name></author>
	</entry>
	<entry>
		<id>https://hlkitwiki.wolflair.com//index.php?title=Basics_of_Arcane_Backgrounds_(Savage)&amp;diff=1797&amp;oldid=prev</id>
		<title>Rob: New page: {{context|Authoring Examples|Savage Worlds Walk-Through}}  ===Overview===  Arcane backgrounds are a rather fundamental aspect of the Savage Worlds game system. As such, we should setup han...</title>
		<link rel="alternate" type="text/html" href="https://hlkitwiki.wolflair.com//index.php?title=Basics_of_Arcane_Backgrounds_(Savage)&amp;diff=1797&amp;oldid=prev"/>
		<updated>2008-12-17T03:15:39Z</updated>

		<summary type="html">&lt;p&gt;New page: {{context|Authoring Examples|Savage Worlds Walk-Through}}  ===Overview===  Arcane backgrounds are a rather fundamental aspect of the Savage Worlds game system. As such, we should setup han...&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;{{context|Authoring Examples|Savage Worlds Walk-Through}}&lt;br /&gt;
&lt;br /&gt;
===Overview===&lt;br /&gt;
&lt;br /&gt;
Arcane backgrounds are a rather fundamental aspect of the Savage Worlds game system. As such, we should setup handling of the basics for arcane backgrounds early on in our development. We don&amp;#039;t need to fully implement them until later, but we do need to handle the basics, as there are a variety of edges and potentially other sources that influence arcane backgrounds for a character. &lt;br /&gt;
&lt;br /&gt;
===Arcane Background Types===&lt;br /&gt;
&lt;br /&gt;
The first thing we need to track is the different types of arcane backgrounds. The core book defines an initial set of five, and supplements define a number more. Since there will be lots of dependencies on the various arcane disciplines, we need maximum flexibility and the ability to associate the power type with various kinds of things. So we need to define a new tag group for this purpose, with separate tags for each arcane background. We should also make the tag group dynamic so that the material from supplements can extend this list of arcane backgrounds externally. The net result is a tag group that we can add to the &amp;quot;tags.1st&amp;quot; file and that looks like the following:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;group&lt;br /&gt;
  id=&amp;quot;Arcane&amp;quot;&lt;br /&gt;
  dynamic=&amp;quot;yes&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;value id=&amp;quot;Magic&amp;quot;/&amp;gt;      &amp;lt;!-- arcane background is Magic --&amp;gt;&lt;br /&gt;
  &amp;lt;value id=&amp;quot;Miracles&amp;quot;/&amp;gt;   &amp;lt;!-- arcane background is Miracles --&amp;gt;&lt;br /&gt;
  &amp;lt;value id=&amp;quot;Psionics&amp;quot;/&amp;gt;   &amp;lt;!-- arcane background is Psionics --&amp;gt;&lt;br /&gt;
  &amp;lt;value id=&amp;quot;SuperPower&amp;quot;/&amp;gt; &amp;lt;!-- arcane background is Super Powers --&amp;gt;&lt;br /&gt;
  &amp;lt;value id=&amp;quot;WeirdSci&amp;quot;/&amp;gt;   &amp;lt;!-- arcane background is Weird Science --&amp;gt;&lt;br /&gt;
  &amp;lt;/group&amp;gt; &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Resources to Track===&lt;br /&gt;
&lt;br /&gt;
Arcane backgrounds introduce two new resources that need to be managed for each character - the number of arcane powers granted and the pool of power points that can be used to activate the powers. The number of arcane powers available is dictated by the arcane background and edges selected, with the resource decreased as powers are selected by the user. Consequently, the number of powers is best modeled using a &amp;quot;Resource&amp;quot;, which we&amp;#039;ll call &amp;quot;resPowers&amp;quot;. Since every character can have an arcane background, the resource should always be bootstrapped for each character. This resource is very similar to the ones we&amp;#039;ve already shown in the examples above, so we won&amp;#039;t duplicate it here. You can take a look at the Savage Worlds data files if you wish to see the specifics. &lt;br /&gt;
&lt;br /&gt;
In contrast, the number of power points will be managed by the user. The total number of power points available will be dictated by the arcane background and edges selected, but the expenditure and recovery of power points will occur during game play. As such, power points are best modeled using a &amp;quot;Tracker&amp;quot;. Like the number of powers, every character should always have this tracker bootstrapped. The Skeleton files include a &amp;quot;trkPower&amp;quot; tracker that is perfect for our needs, so we can simply re-purpose it. Since each character starts with zero power points and other sources will influence that number, we can eliminate the script and let the tracker default to values of zero. &lt;br /&gt;
&lt;br /&gt;
===Arcane Backgrounds and Skills===&lt;br /&gt;
&lt;br /&gt;
The final thing we need to deal with to get the basics of arcane backgrounds setup is adding the various backgrounds and arcane skills. Edges confer access to the different backgrounds, and certain edges are dependent upon the arcane skills, so we need to get them into place first. In order to keep everything conveniently located in a centralized place, we opt to create a new &amp;quot;thing_arcane.dat&amp;quot; file for all things related to arcane backgrounds.&lt;br /&gt;
&lt;br /&gt;
Before we can do that, though, we first need to define a suitable component and component set to represent arcane backgrounds. We don&amp;#039;t need to worry much about how arcane backgrounds work for now, so we&amp;#039;ll setup the obvious mechanics and worry about the rest later on. There are three facets of each arcane background that are fundamental: the arcane skill, the starting number of powers, and the starting number of power points. The proper skill will be controlled via each arcane background, so we don&amp;#039;t need to deal with that in the component, while the two starting values can be defined as static fields. Since arcane backgrounds don&amp;#039;t really fit anywhere else, we&amp;#039;ll put the new component and component set in &amp;quot;miscellaneous.pri&amp;quot;. The two new elements can be handled quite simply for now, and they should look similar to the following:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;component&lt;br /&gt;
  id=&amp;quot;Arcane&amp;quot;&lt;br /&gt;
  name=&amp;quot;Arcane Background&amp;quot;&lt;br /&gt;
  autocompset=&amp;quot;no&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;field&lt;br /&gt;
    id=&amp;quot;arcPowers&amp;quot;&lt;br /&gt;
    name=&amp;quot;Number of Powers&amp;quot;&lt;br /&gt;
    type=&amp;quot;static&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;/field&amp;gt;&lt;br /&gt;
  &amp;lt;field&lt;br /&gt;
    id=&amp;quot;arcPoints&amp;quot;&lt;br /&gt;
    name=&amp;quot;Number of Power Points&amp;quot;&lt;br /&gt;
    type=&amp;quot;static&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;/field&amp;gt;&lt;br /&gt;
  &amp;lt;/component&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;compset&lt;br /&gt;
  id=&amp;quot;Arcane&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;compref component=&amp;quot;Arcane&amp;quot; primary=&amp;quot;yes&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;/compset&amp;gt; &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Now that the component set is in place, we can define the individual arcane backgrounds and skills. As outlined above, each background needs to specify the proper fields and assign a suitable tag for the background. In addition, the corresponding arcane skill must be defined for each background. Each skill works just like the standard skills we added earlier. The net result is something that looks like below for the &amp;quot;Magic&amp;quot; arcane background and skill.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;thing&lt;br /&gt;
  id=&amp;quot;arcMagic&amp;quot;&lt;br /&gt;
  name=&amp;quot;Magic&amp;quot;&lt;br /&gt;
  compset=&amp;quot;Arcane&amp;quot;&lt;br /&gt;
  isunique=&amp;quot;yes&amp;quot;&lt;br /&gt;
  description=&amp;quot;Description goes here&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;fieldval field=&amp;quot;arcPowers&amp;quot; value=&amp;quot;3&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;fieldval field=&amp;quot;arcPoints&amp;quot; value=&amp;quot;10&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;tag group=&amp;quot;Arcane&amp;quot; tag=&amp;quot;Magic&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;/thing&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;thing&lt;br /&gt;
  id=&amp;quot;skSpellcst&amp;quot;&lt;br /&gt;
  name=&amp;quot;Spellcasting&amp;quot;&lt;br /&gt;
  compset=&amp;quot;Skill&amp;quot;&lt;br /&gt;
  isunique=&amp;quot;yes&amp;quot;&lt;br /&gt;
  description=&amp;quot;Description goes here&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;tag group=&amp;quot;Arcane&amp;quot; tag=&amp;quot;Magic&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;link linkage=&amp;quot;attribute&amp;quot; thing=&amp;quot;attrSma&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;/thing&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Each arcane background defines the appropriate number of starting powers and power points, but we aren&amp;#039;t doing anything with those values yet. We need to add the values to the resource and tracker that we just defined above, as they actually manage powers and power points, respectively. This can be accomplished by defining a component script for the purpose. All the script needs to do is add the two values to the proper places, which yields something that looks like the example below.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;eval value=&amp;quot;1&amp;quot; phase=&amp;quot;Setup&amp;quot; priority=&amp;quot;5000&amp;quot;&amp;gt;&amp;lt;![CDATA[&lt;br /&gt;
  #resmax[resPowers] += field[arcPowers].value&lt;br /&gt;
  #trkmax[trkPower] += field[arcPoints].value&lt;br /&gt;
  ]]&amp;gt;&amp;lt;/eval&amp;gt; &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
There is one last detail that we need to address. When a character has an arcane background, it needs to be known at the top-level in a way that everything within the data files can key on it. This means having a tag on the actor corresponding to the arcane background. Since each background will have a suitable &amp;quot;Arcane.?&amp;quot; tag, the component can forward the tag to the actor. This can be accomplished by adding the Eval script below to the &amp;quot;Arcane&amp;quot; component. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;eval value=&amp;quot;2&amp;quot; phase=&amp;quot;Setup&amp;quot; priority=&amp;quot;5000&amp;quot;&amp;gt;&amp;lt;![CDATA[&lt;br /&gt;
  perform forward[Arcane.?]&lt;br /&gt;
  ]]&amp;gt;&amp;lt;/eval&amp;gt; &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>Rob</name></author>
	</entry>
</feed>