<?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=Derived_Traits_%28Savage%29</id>
	<title>Derived Traits (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=Derived_Traits_%28Savage%29"/>
	<link rel="alternate" type="text/html" href="https://hlkitwiki.wolflair.com//index.php?title=Derived_Traits_(Savage)&amp;action=history"/>
	<updated>2026-05-05T15:55:53Z</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=Derived_Traits_(Savage)&amp;diff=2826&amp;oldid=prev</id>
		<title>Rob: /* Pace Trait */</title>
		<link rel="alternate" type="text/html" href="https://hlkitwiki.wolflair.com//index.php?title=Derived_Traits_(Savage)&amp;diff=2826&amp;oldid=prev"/>
		<updated>2009-02-19T22:00:09Z</updated>

		<summary type="html">&lt;p&gt;&lt;span dir=&quot;auto&quot;&gt;&lt;span class=&quot;autocomment&quot;&gt;Pace Trait&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 22:00, 19 February 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-l116&quot;&gt;Line 116:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 116:&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;fieldval field=&amp;quot;trtBonus&amp;quot; value=&amp;quot;6&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;fieldval field=&amp;quot;trtBonus&amp;quot; value=&amp;quot;6&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;tag group=&amp;quot;explicit&amp;quot; tag=&amp;quot;6&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;explicit&amp;quot; tag=&amp;quot;6&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;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;  &amp;lt;tag group=&quot;User&quot; tag=&quot;Combat&quot;/&amp;gt;&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-added&quot;&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;DashTacCon&amp;quot; tag=&amp;quot;Combat&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;DashTacCon&amp;quot; tag=&amp;quot;Combat&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;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;  &amp;lt;tag group=&quot;DashTacCon&quot; tag=&quot;Column1&quot;/&amp;gt;&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-added&quot;&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;eval index=&amp;quot;2&amp;quot; phase=&amp;quot;Traits&amp;quot; priority=&amp;quot;6001&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;eval index=&amp;quot;2&amp;quot; phase=&amp;quot;Traits&amp;quot; priority=&amp;quot;6001&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;after name=&amp;quot;Derived trtFinal&amp;quot;/&amp;gt;&amp;lt;![CDATA[&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;after name=&amp;quot;Derived trtFinal&amp;quot;/&amp;gt;&amp;lt;![CDATA[&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=Derived_Traits_(Savage)&amp;diff=2825&amp;oldid=prev</id>
		<title>Rob: /* Toughness Trait */</title>
		<link rel="alternate" type="text/html" href="https://hlkitwiki.wolflair.com//index.php?title=Derived_Traits_(Savage)&amp;diff=2825&amp;oldid=prev"/>
		<updated>2009-02-19T21:59:15Z</updated>

		<summary type="html">&lt;p&gt;&lt;span dir=&quot;auto&quot;&gt;&lt;span class=&quot;autocomment&quot;&gt;Toughness Trait&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 21:59, 19 February 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-l34&quot;&gt;Line 34:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 34:&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;fieldval field=&amp;quot;trtAbbrev&amp;quot; value=&amp;quot;Tgh&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;fieldval field=&amp;quot;trtAbbrev&amp;quot; value=&amp;quot;Tgh&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;tag group=&amp;quot;explicit&amp;quot; tag=&amp;quot;9&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;explicit&amp;quot; tag=&amp;quot;9&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;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;  &amp;lt;tag group=&quot;User&quot; tag=&quot;Resistance&quot;/&amp;gt;&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-added&quot;&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;DashTacCon&amp;quot; tag=&amp;quot;Combat&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;DashTacCon&amp;quot; tag=&amp;quot;Combat&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;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;  &amp;lt;tag group=&quot;DashTacCon&quot; tag=&quot;Column1&quot;/&amp;gt;&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-added&quot;&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;eval index=&amp;quot;1&amp;quot; phase=&amp;quot;Traits&amp;quot; priority=&amp;quot;4000&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;eval index=&amp;quot;1&amp;quot; phase=&amp;quot;Traits&amp;quot; priority=&amp;quot;4000&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;before name=&amp;quot;Derived trtFinal&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;before name=&amp;quot;Derived trtFinal&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=Derived_Traits_(Savage)&amp;diff=2488&amp;oldid=prev</id>
		<title>Rob: /* Parry Trait */</title>
		<link rel="alternate" type="text/html" href="https://hlkitwiki.wolflair.com//index.php?title=Derived_Traits_(Savage)&amp;diff=2488&amp;oldid=prev"/>
		<updated>2009-02-04T22:13:44Z</updated>

		<summary type="html">&lt;p&gt;&lt;span dir=&quot;auto&quot;&gt;&lt;span class=&quot;autocomment&quot;&gt;Parry Trait&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 22:13, 4 February 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-l69&quot;&gt;Line 69:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 69:&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;===Parry Trait===&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;===Parry Trait===&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 &quot;Parry&quot; trait is very similar to the previous trait. Since the &quot;Parry&quot; trait is combat related, we assign it tags to ensure it gets displayed in appropriate places pertaining to combat. Other than that, the key item of interest for the &quot;Parry&quot; trait is its calculation. The rules stipulate that &quot;Parry&quot; is calculated as &quot;2 plus half your Fighting skill&quot;, or simply the value 2 if the character has no &quot;Fighting&quot; skill. So the interesting detail here is that the character might not actually possess the &quot;Fighting&quot; skill. &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 &quot;Parry&quot; trait is very similar to the previous trait. Since the &quot;Parry&quot; trait is combat related, we assign it tags to ensure it gets displayed in appropriate places pertaining to combat. Other than that, the key item of interest for the &quot;Parry&quot; trait is its calculation. The rules stipulate that &quot;Parry&quot; is calculated as &quot;2 plus half your Fighting skill&quot;, or simply the value 2 if the character has no &quot;Fighting&quot; skill&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;. We&#039;re going to defer handling any overage beyond a &quot;d12&quot; rating until later&lt;/ins&gt;. So the interesting detail here is that the character might not actually possess the &quot;Fighting&quot; skill. &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;Normally within HL, if a pick is accessed by a script that does not exist on the character, the line of script code is aborted as invalid and a runtime error is reported. We don&amp;#039;t want that to occur. One option would be to write the code to check for the existence of the pick and proceed based on its presence. But there will likely be lots of places within your data files where you would need to add code like this, so something more convenient would be much better.&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;Normally within HL, if a pick is accessed by a script that does not exist on the character, the line of script code is aborted as invalid and a runtime error is reported. We don&amp;#039;t want that to occur. One option would be to write the code to check for the existence of the pick and proceed based on its presence. But there will likely be lots of places within your data files where you would need to add code like this, so something more convenient would be much better.&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=Derived_Traits_(Savage)&amp;diff=2487&amp;oldid=prev</id>
		<title>Rob: /* Toughness Trait */</title>
		<link rel="alternate" type="text/html" href="https://hlkitwiki.wolflair.com//index.php?title=Derived_Traits_(Savage)&amp;diff=2487&amp;oldid=prev"/>
		<updated>2009-02-04T22:13:03Z</updated>

		<summary type="html">&lt;p&gt;&lt;span dir=&quot;auto&quot;&gt;&lt;span class=&quot;autocomment&quot;&gt;Toughness Trait&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 22:13, 4 February 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-l21&quot;&gt;Line 21:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 21:&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;The &amp;quot;Toughness&amp;quot; trait is probably the simplest trait, so we&amp;#039;ll start with it. Since the &amp;quot;Toughness&amp;quot; trait is needed both in and out of combat, we assign it tags to ensure it gets displayed in all the appropriate places. Other than that, the key item of interest for the &amp;quot;Toughness&amp;quot; trait is its calculation. &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;The &amp;quot;Toughness&amp;quot; trait is probably the simplest trait, so we&amp;#039;ll start with it. Since the &amp;quot;Toughness&amp;quot; trait is needed both in and out of combat, we assign it tags to ensure it gets displayed in all the appropriate places. Other than that, the key item of interest for the &amp;quot;Toughness&amp;quot; trait is its calculation. &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 rules stipulate that &quot;Toughness&quot; is calculated as &quot;2 plus half your Vigor&quot;. In addition, the effects of any armor are also added. Since our &quot;Vigor&quot; attribute is already being tracked as a range of 2-6 and then doubled for display, our internal value is the &quot;half&quot; value that we need to add. To make our life easier, the Skeleton files pre-define a &quot;#trait&quot; macro for use in scripts that will readily access the value of a trait for us.&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 rules stipulate that &quot;Toughness&quot; is calculated as &quot;2 plus half your Vigor&quot;. In addition, the effects of any armor are also added. Since our &quot;Vigor&quot; attribute is already being tracked as a range of 2-6 and then doubled for display, our internal value is the &quot;half&quot; value that we need to add&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;. We&#039;re going to defer handling any overage beyond a &quot;d12&quot; rating until later&lt;/ins&gt;. To make our life easier, the Skeleton files pre-define a &quot;#trait&quot; macro for use in scripts that will readily access the value of a trait for us.&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;Putting it all together, the &amp;quot;Toughness&amp;quot; trait should look something like the &amp;quot;thing&amp;quot; element shown below:&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;Putting it all together, the &amp;quot;Toughness&amp;quot; trait should look something like the &amp;quot;thing&amp;quot; element shown below:&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-l65&quot;&gt;Line 65:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 65:&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;According to the rules, only armor on the torso of the character is applied to the &quot;Toughness&quot; trait. However, we have no way of determining that yet, so we&#039;ll have to add that detail later when we work on equipment. Situations like this will come up at times when developing your data files. The easiest way to handle it is to make a note so that we remember to go back and handle it later.  &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;According to the rules, only armor on the torso of the character is applied to the &quot;Toughness&quot; trait. However, we have no way of determining that yet, so we&#039;ll have to add that detail later when we work on equipment. Situations like this will come up at times when developing your data files. The easiest way to handle it is to make a note so that we remember to go back and handle it later.&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;===Parry Trait===&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;===Parry Trait===&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=Derived_Traits_(Savage)&amp;diff=1934&amp;oldid=prev</id>
		<title>Rob: Derived Traits (Skeleton) moved to Derived Traits (Savage)</title>
		<link rel="alternate" type="text/html" href="https://hlkitwiki.wolflair.com//index.php?title=Derived_Traits_(Savage)&amp;diff=1934&amp;oldid=prev"/>
		<updated>2008-12-18T04:15:41Z</updated>

		<summary type="html">&lt;p&gt;&lt;a href=&quot;/index.php?title=Derived_Traits_(Skeleton)&quot; class=&quot;mw-redirect&quot; title=&quot;Derived Traits (Skeleton)&quot;&gt;Derived Traits (Skeleton)&lt;/a&gt; moved to &lt;a href=&quot;/index.php?title=Derived_Traits_(Savage)&quot; title=&quot;Derived Traits (Savage)&quot;&gt;Derived Traits (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=Derived_Traits_(Savage)&amp;diff=1854&amp;oldid=prev</id>
		<title>Rob at 11:55, 17 December 2008</title>
		<link rel="alternate" type="text/html" href="https://hlkitwiki.wolflair.com//index.php?title=Derived_Traits_(Savage)&amp;diff=1854&amp;oldid=prev"/>
		<updated>2008-12-17T11:55:49Z</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 11:55, 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-l37&quot;&gt;Line 37:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 37:&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;DashTacCon&amp;quot; tag=&amp;quot;Combat&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;DashTacCon&amp;quot; tag=&amp;quot;Combat&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;tag group=&amp;quot;DashTacCon&amp;quot; tag=&amp;quot;Column1&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;DashTacCon&amp;quot; tag=&amp;quot;Column1&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;eval &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;value&lt;/del&gt;=&quot;1&quot; phase=&quot;Traits&quot; priority=&quot;4000&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;eval &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;index&lt;/ins&gt;=&quot;1&quot; phase=&quot;Traits&quot; priority=&quot;4000&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;before name=&amp;quot;Derived trtFinal&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;before name=&amp;quot;Derived trtFinal&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;after name=&amp;quot;Calc trtFinal&amp;quot;/&amp;gt;&amp;lt;![CDATA[&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;after name=&amp;quot;Calc trtFinal&amp;quot;/&amp;gt;&amp;lt;![CDATA[&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-l48&quot;&gt;Line 48:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 48:&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;As indicated in the script above, the effects of armor also need to be added to the &quot;Toughness&quot; trait. However, that must be done separately by each piece of armor that the character has equipped. We can accomplish this within the &quot;Armor&quot; component. Open the file &quot;equipment.&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;pri&lt;/del&gt;&quot; and take a look at the &quot;Defense&quot; component. There is an Eval script (#2) that applies the effects of equipped armor and shields. In Savage Worlds, shields work differently from armor and don&#039;t apply direct adjustments when equipped, so this script should be moved to the &quot;Armor&quot; component. Delete the script from the &quot;Defense&quot; component and then add it to the &quot;Armor&quot; component beneath. Now we need to modify the script to apply the correct adjustment. Instead of adding the defense rating of the armor to the &quot;trDefense&quot; trait, it needs to be added to the &quot;trTough&quot; trait, so make the change and we&#039;re done. The finished script should look something like 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;As indicated in the script above, the effects of armor also need to be added to the &quot;Toughness&quot; trait. However, that must be done separately by each piece of armor that the character has equipped. We can accomplish this within the &quot;Armor&quot; component. Open the file &quot;equipment.&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;str&lt;/ins&gt;&quot; and take a look at the &quot;Defense&quot; component. There is an Eval script (#2) that applies the effects of equipped armor and shields. In Savage Worlds, shields work differently from armor and don&#039;t apply direct adjustments when equipped, so this script should be moved to the &quot;Armor&quot; component. Delete the script from the &quot;Defense&quot; component and then add it to the &quot;Armor&quot; component beneath.&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;/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;Now we need to modify the script to apply the correct adjustment. Instead of adding the defense rating of the armor to the &quot;trDefense&quot; trait, it needs to be added to the &quot;trTough&quot; trait, so make the change and we&#039;re done. The finished script should look something like 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;2&quot; phase=&quot;PreTraits&quot; priority=&quot;5000&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;eval &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;index&lt;/ins&gt;=&quot;2&quot; phase=&quot;PreTraits&quot; priority=&quot;5000&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;before name=&amp;quot;Calc trtFinal&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;before name=&amp;quot;Calc trtFinal&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;after name=&amp;quot;Equipped&amp;quot;/&amp;gt;&amp;lt;![CDATA[&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;after name=&amp;quot;Equipped&amp;quot;/&amp;gt;&amp;lt;![CDATA[&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-l69&quot;&gt;Line 69:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 71:&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;The &amp;quot;Parry&amp;quot; trait is very similar to the previous trait. Since the &amp;quot;Parry&amp;quot; trait is combat related, we assign it tags to ensure it gets displayed in appropriate places pertaining to combat. Other than that, the key item of interest for the &amp;quot;Parry&amp;quot; trait is its calculation. The rules stipulate that &amp;quot;Parry&amp;quot; is calculated as &amp;quot;2 plus half your Fighting skill&amp;quot;, or simply the value 2 if the character has no &amp;quot;Fighting&amp;quot; skill. So the interesting detail here is that the character might not actually possess the &amp;quot;Fighting&amp;quot; skill. &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;The &amp;quot;Parry&amp;quot; trait is very similar to the previous trait. Since the &amp;quot;Parry&amp;quot; trait is combat related, we assign it tags to ensure it gets displayed in appropriate places pertaining to combat. Other than that, the key item of interest for the &amp;quot;Parry&amp;quot; trait is its calculation. The rules stipulate that &amp;quot;Parry&amp;quot; is calculated as &amp;quot;2 plus half your Fighting skill&amp;quot;, or simply the value 2 if the character has no &amp;quot;Fighting&amp;quot; skill. So the interesting detail here is that the character might not actually possess the &amp;quot;Fighting&amp;quot; skill. &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;Normally within &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Hero Lab&lt;/del&gt;, if a pick is accessed by a script that does not exist on the character, the line of script code is aborted as invalid and a runtime error is reported &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;- we &lt;/del&gt;don&#039;t want that to occur. One option would be to write the code to check for the existence of the pick and proceed based on its presence. But there will likely be lots of places within your data files where you would need to add code like this, so something more convenient &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;is &lt;/del&gt;better.&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;Normally within &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;HL&lt;/ins&gt;, if a pick is accessed by a script that does not exist on the character, the line of script code is aborted as invalid and a runtime error is reported&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;. We &lt;/ins&gt;don&#039;t want that to occur. One option would be to write the code to check for the existence of the pick and proceed based on its presence. But there will likely be lots of places within your data files where you would need to add code like this, so something more convenient &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;would be much &lt;/ins&gt;better.&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;To support this, &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Hero Lab &lt;/del&gt;provides the &quot;childfound&quot; transition in addition to the &quot;child&quot; transition. The &quot;child&quot; transition reports the error described above, but the &quot;childfound&quot; transition quietly returns a value of zero for a pick that isn&#039;t found. This means that we can simply use the &quot;childfound&quot; transition and have everything work exactly as we want in both cases.&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;To support this, &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;HL &lt;/ins&gt;provides the &quot;childfound&quot; &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;context &lt;/ins&gt;transition in addition to the &quot;child&quot; transition. The &quot;child&quot; transition reports the error described above, but the &quot;childfound&quot; transition quietly returns a value of zero for a pick that isn&#039;t found. This means that we can simply use the &quot;childfound&quot; transition and have everything work exactly as we want in both cases.&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;To make things even easier, the Skeleton files pre-define a script macro of &amp;quot;#traitfound&amp;quot; that we can use to conditionally access the value of a trait, so all we need to do is use the macro. This results in an Eval script for &amp;quot;Parry&amp;quot; that should look something like what is shown below:  &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;To make things even easier, the Skeleton files pre-define a script macro of &amp;quot;#traitfound&amp;quot; that we can use to conditionally access the value of a trait, so all we need to do is use the macro. This results in an Eval script for &amp;quot;Parry&amp;quot; that should look something like what is shown 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;Traits&quot; priority=&quot;4000&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;Traits&quot; priority=&quot;4000&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;   ~parry is 2 plus half the Fighting skill, but we track all skills at the half&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;   ~parry is 2 plus half the Fighting skill, but we track all skills at the half&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;   ~value (2-6), so we simply add the Fighting skill that is already halved; we&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;   ~value (2-6), so we simply add the Fighting skill that is already halved; we&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-l89&quot;&gt;Line 89:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 91:&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;Final&quot; priority=&quot;1000&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;eval &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;index&lt;/ins&gt;=&quot;2&quot; phase=&quot;Final&quot; priority=&quot;1000&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;before name=&amp;quot;Calc trtDisplay&amp;quot;/&amp;gt;&amp;lt;![CDATA[&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;before name=&amp;quot;Calc trtDisplay&amp;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;   #traitroll[skPersuade] += field[trtFinal].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;   #traitroll[skPersuade] += field[trtFinal].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-l98&quot;&gt;Line 98:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 100:&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;===Pace Trait===&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;===Pace Trait===&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 derived trait for Savage Worlds is &quot;Pace&quot;, and, as with Charisma, we&#039;ll focus only on its differences here. The &quot;Pace&quot; trait is different from the others in that it can be adjusted &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;by &lt;/del&gt;some &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;sources &lt;/del&gt;and set to an explicit value by other &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;sources&lt;/del&gt;. For example, the &quot;Dwarven&quot; race assigns a lower starting &quot;Pace&quot; to a character, and hindrances like &quot;Lame&quot; set an even lower starting &quot;Pace&quot;. So we can&#039;t just assume everything is an adjustment - we need to handle assignment as well.&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 derived trait for Savage Worlds is &quot;Pace&quot;, and, as with Charisma, we&#039;ll focus only on its differences here. The &quot;Pace&quot; trait is different from the others in that it can be adjusted &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;due to &lt;/ins&gt;some &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;effects &lt;/ins&gt;and set to an explicit value by other &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;effects&lt;/ins&gt;. For example, the &quot;Dwarven&quot; race assigns a lower starting &quot;Pace&quot; to a character, and hindrances like &quot;Lame&quot; set an even lower starting &quot;Pace&quot;. So we can&#039;t just assume everything is an adjustment - we need to handle assignment as well.&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;The simplest way to handle this is to break up the processing into separate stages, with each stage being assigned to an appropriate evaluation timing. The default value of &amp;quot;6&amp;quot; for &amp;quot;Pace&amp;quot; can be assigned as the default field value for the &amp;quot;trtBonus&amp;quot; field, replacing the need for an Eval script to calculate the value. After that, there are three basic stages that need to be supported, each in order. First is the racial selection, so we pick an appropriate timing such as Setup/1000 for when this should occur. Next is effects that set a fixed value and override any racial effects, such as the &amp;quot;Lame&amp;quot; hindrance, so we pick a later timing such as Setup/10000 for these effects. Lastly, there are the adjustment effects, which can be applied at any time after the previous two.&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;The simplest way to handle this is to break up the processing into separate stages, with each stage being assigned to an appropriate evaluation timing. The default value of &amp;quot;6&amp;quot; for &amp;quot;Pace&amp;quot; can be assigned as the default field value for the &amp;quot;trtBonus&amp;quot; field, replacing the need for an Eval script to calculate the value. After that, there are three basic stages that need to be supported, each in order. First is the racial selection, so we pick an appropriate timing such as Setup/1000 for when this should occur. Next is effects that set a fixed value and override any racial effects, such as the &amp;quot;Lame&amp;quot; hindrance, so we pick a later timing such as Setup/10000 for these effects. Lastly, there are the adjustment effects, which can be applied at any time after the previous two.&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-l119&quot;&gt;Line 119:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 121:&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;DashTacCon&amp;quot; tag=&amp;quot;Combat&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;DashTacCon&amp;quot; tag=&amp;quot;Combat&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;tag group=&amp;quot;DashTacCon&amp;quot; tag=&amp;quot;Column1&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;DashTacCon&amp;quot; tag=&amp;quot;Column1&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;eval &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;value&lt;/del&gt;=&quot;2&quot; phase=&quot;Traits&quot; priority=&quot;6001&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;eval &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;index&lt;/ins&gt;=&quot;2&quot; phase=&quot;Traits&quot; priority=&quot;6001&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;after name=&amp;quot;Derived trtFinal&amp;quot;/&amp;gt;&amp;lt;![CDATA[&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;after name=&amp;quot;Derived trtFinal&amp;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;     if (field[trtFinal].value &amp;lt;= 0) then&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;     if (field[trtFinal].value &amp;lt;= 0) then&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=Derived_Traits_(Savage)&amp;diff=1853&amp;oldid=prev</id>
		<title>Rob at 11:45, 17 December 2008</title>
		<link rel="alternate" type="text/html" href="https://hlkitwiki.wolflair.com//index.php?title=Derived_Traits_(Savage)&amp;diff=1853&amp;oldid=prev"/>
		<updated>2008-12-17T11:45:36Z</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 11:45, 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-l7&quot;&gt;Line 7:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 7:&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;===Traits in General===&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;===Traits in General===&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 derived trait uses &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;an &lt;/del&gt;Eval &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;script &lt;/del&gt;to calculate the derived trait value. Within these scripts, the &quot;#trait&quot; macro can be used to get the value of a trait, but the trait is assumed to exist for the character. In the case of skills that may not be added to a given character, the &quot;traitfound&quot; macro is recommended instead, since a missing skill will result in a value of zero being used as a safe default.&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 derived trait uses &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;its own [[&lt;/ins&gt;Eval &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Script]] &lt;/ins&gt;to calculate the derived trait value. Within these scripts, the &quot;#trait&quot; macro can be used to get the value of a trait, but the trait is assumed to exist for the character. In the case of skills that may not be added to a given character, the &quot;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;#&lt;/ins&gt;traitfound&quot; macro is recommended instead, since a missing skill will result in a value of zero being used as a safe default.&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;Since derived traits are based upon other traits, we have a &quot;chicken-and-egg&quot; situation with respect to script evaluation timing. The &quot;Trait&quot; component auto-calculates the final value for the traits it derives from. But derived traits need to calculate themselves based on the final value of other traits. To solve this, the &quot;Derived&quot; component provides a second calculation of the trait&#039;s final value that occurs after the initial calculation, thereby allowing the final value of base traits to be utilized. This means that each derived trait must determine its own adjustments between the evaluation of these two scripts. We accomplish this by scheduling the Eval script for each derived trait to occur at Traits/4000, splicing it between the two component scripts.&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;Since derived traits are based upon other traits, we have a &quot;chicken-and-egg&quot; situation with respect to script evaluation timing. The &quot;Trait&quot; component auto-calculates the final value for the traits it derives from. But derived traits need to calculate themselves based on the final value of other traits. To solve this, the &quot;Derived&quot; component provides a second calculation of the trait&#039;s final value that occurs &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&#039;&#039;&#039;&lt;/ins&gt;after&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&#039;&#039;&#039; &lt;/ins&gt;the initial calculation, thereby allowing the final value of base traits to be utilized. This means that each derived trait must determine its own adjustments between the evaluation of these two scripts. We accomplish this by scheduling the Eval script for each derived trait to occur at Traits/4000, splicing it between the two component scripts.&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 value of &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;the &lt;/del&gt;each derived trait is calculated as a &quot;bonus&quot; for the trait, using the &quot;trtBonus&quot; field. This field is used by the Eval script within the &quot;Derived&quot; component, just as it is used by the &quot;Trait&quot; component. We could introduce a new field for this purpose, but it&#039;s not necessary, provided we get our script timings correct.&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 value of each derived trait is calculated as a &quot;bonus&quot; for the trait, using the &quot;trtBonus&quot; field. This field is used by the Eval script within the &quot;Derived&quot; component, just as it is used by the &quot;Trait&quot; component. We could introduce a new field for this purpose, but it&#039;s not necessary, provided we get our script timings correct.&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;In general, trait bonuses and penalties can arise from multiple sources. Consequently, we need to add our calculated value to the &quot;trtBonus&quot; field instead of setting the value. There are some situations where we need to explicitly set the value of a derived trait &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;from some sources &lt;/del&gt;and add an adjustments &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;from &lt;/del&gt;other &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;sources&lt;/del&gt;. The &quot;Pace&quot; trait is a perfect example of this, where certain races and edges set a new base trait value, while other effects can adjust the pace. This gets more complicated, and we&#039;ll discuss it in detail with the &quot;Pace&quot; trait 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;In general, trait bonuses and penalties can arise from multiple sources. Consequently, we need to &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&#039;&#039;&#039;&lt;/ins&gt;add&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&#039;&#039;&#039; &lt;/ins&gt;our calculated value to the &quot;trtBonus&quot; field instead of setting the value. There are some situations where we need to explicitly set the value of a derived trait &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;based on other picks &lt;/ins&gt;and &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;other situations where we need to &lt;/ins&gt;add an adjustments &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;based on &lt;/ins&gt;other &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;picks&lt;/ins&gt;. The &quot;Pace&quot; trait is a perfect example of this, where certain races and edges set a new base trait value, while other effects can &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;simply &lt;/ins&gt;adjust the pace. This gets more complicated, and we&#039;ll discuss it in detail with the &quot;Pace&quot; trait 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;Appropriate tags must be assigned to each derived trait to control where and how the trait is displayed to the user, as well as the order in which the traits are displayed.  &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;Appropriate tags must be assigned to each derived trait to control where and how the trait is displayed to the user, as well as the order in which the traits are displayed.  &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=Derived_Traits_(Savage)&amp;diff=1803&amp;oldid=prev</id>
		<title>Rob at 03:18, 17 December 2008</title>
		<link rel="alternate" type="text/html" href="https://hlkitwiki.wolflair.com//index.php?title=Derived_Traits_(Savage)&amp;diff=1803&amp;oldid=prev"/>
		<updated>2008-12-17T03:18:56Z</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 03:18, 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-l1&quot;&gt;Line 1:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 1:&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;{{context|Authoring Examples|Savage Worlds Walk-Through}}&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;{{context|Authoring Examples|Savage Worlds Walk-Through}}&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;&lt;/ins&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;===Overview===&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;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;The next thing to address in our conversion process is the set of derived traits for Savage Worlds. There are a small number of derived traits in the game, and each is interesting in a particular way, so each is described in the sections below. These traits should be added to the file &amp;quot;thing_traits.dat&amp;quot;. [Note: For the moment, do not delete any of the existing derived traits.]  &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;The next thing to address in our conversion process is the set of derived traits for Savage Worlds. There are a small number of derived traits in the game, and each is interesting in a particular way, so each is described in the sections below. These traits should be added to the file &amp;quot;thing_traits.dat&amp;quot;. [Note: For the moment, do not delete any of the existing derived traits.]  &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=Derived_Traits_(Savage)&amp;diff=1795&amp;oldid=prev</id>
		<title>Rob: New page: {{context|Authoring Examples|Savage Worlds Walk-Through}}  The next thing to address in our conversion process is the set of derived traits for Savage Worlds. There are a small number of d...</title>
		<link rel="alternate" type="text/html" href="https://hlkitwiki.wolflair.com//index.php?title=Derived_Traits_(Savage)&amp;diff=1795&amp;oldid=prev"/>
		<updated>2008-12-17T03:04:46Z</updated>

		<summary type="html">&lt;p&gt;New page: {{context|Authoring Examples|Savage Worlds Walk-Through}}  The next thing to address in our conversion process is the set of derived traits for Savage Worlds. There are a small number of d...&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;
The next thing to address in our conversion process is the set of derived traits for Savage Worlds. There are a small number of derived traits in the game, and each is interesting in a particular way, so each is described in the sections below. These traits should be added to the file &amp;quot;thing_traits.dat&amp;quot;. [Note: For the moment, do not delete any of the existing derived traits.] &lt;br /&gt;
&lt;br /&gt;
===Traits in General===&lt;br /&gt;
&lt;br /&gt;
Each derived trait uses an Eval script to calculate the derived trait value. Within these scripts, the &amp;quot;#trait&amp;quot; macro can be used to get the value of a trait, but the trait is assumed to exist for the character. In the case of skills that may not be added to a given character, the &amp;quot;traitfound&amp;quot; macro is recommended instead, since a missing skill will result in a value of zero being used as a safe default.&lt;br /&gt;
&lt;br /&gt;
Since derived traits are based upon other traits, we have a &amp;quot;chicken-and-egg&amp;quot; situation with respect to script evaluation timing. The &amp;quot;Trait&amp;quot; component auto-calculates the final value for the traits it derives from. But derived traits need to calculate themselves based on the final value of other traits. To solve this, the &amp;quot;Derived&amp;quot; component provides a second calculation of the trait&amp;#039;s final value that occurs after the initial calculation, thereby allowing the final value of base traits to be utilized. This means that each derived trait must determine its own adjustments between the evaluation of these two scripts. We accomplish this by scheduling the Eval script for each derived trait to occur at Traits/4000, splicing it between the two component scripts.&lt;br /&gt;
&lt;br /&gt;
The value of the each derived trait is calculated as a &amp;quot;bonus&amp;quot; for the trait, using the &amp;quot;trtBonus&amp;quot; field. This field is used by the Eval script within the &amp;quot;Derived&amp;quot; component, just as it is used by the &amp;quot;Trait&amp;quot; component. We could introduce a new field for this purpose, but it&amp;#039;s not necessary, provided we get our script timings correct.&lt;br /&gt;
&lt;br /&gt;
In general, trait bonuses and penalties can arise from multiple sources. Consequently, we need to add our calculated value to the &amp;quot;trtBonus&amp;quot; field instead of setting the value. There are some situations where we need to explicitly set the value of a derived trait from some sources and add an adjustments from other sources. The &amp;quot;Pace&amp;quot; trait is a perfect example of this, where certain races and edges set a new base trait value, while other effects can adjust the pace. This gets more complicated, and we&amp;#039;ll discuss it in detail with the &amp;quot;Pace&amp;quot; trait below.&lt;br /&gt;
&lt;br /&gt;
Appropriate tags must be assigned to each derived trait to control where and how the trait is displayed to the user, as well as the order in which the traits are displayed. &lt;br /&gt;
&lt;br /&gt;
===Toughness Trait===&lt;br /&gt;
&lt;br /&gt;
The &amp;quot;Toughness&amp;quot; trait is probably the simplest trait, so we&amp;#039;ll start with it. Since the &amp;quot;Toughness&amp;quot; trait is needed both in and out of combat, we assign it tags to ensure it gets displayed in all the appropriate places. Other than that, the key item of interest for the &amp;quot;Toughness&amp;quot; trait is its calculation. &lt;br /&gt;
&lt;br /&gt;
The rules stipulate that &amp;quot;Toughness&amp;quot; is calculated as &amp;quot;2 plus half your Vigor&amp;quot;. In addition, the effects of any armor are also added. Since our &amp;quot;Vigor&amp;quot; attribute is already being tracked as a range of 2-6 and then doubled for display, our internal value is the &amp;quot;half&amp;quot; value that we need to add. To make our life easier, the Skeleton files pre-define a &amp;quot;#trait&amp;quot; macro for use in scripts that will readily access the value of a trait for us.&lt;br /&gt;
&lt;br /&gt;
Putting it all together, the &amp;quot;Toughness&amp;quot; trait should look something like the &amp;quot;thing&amp;quot; element shown below:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;thing&lt;br /&gt;
  id=&amp;quot;trTough&amp;quot;&lt;br /&gt;
  name=&amp;quot;Toughness&amp;quot;&lt;br /&gt;
  compset=&amp;quot;Trait&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;trtAbbrev&amp;quot; value=&amp;quot;Tgh&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;tag group=&amp;quot;explicit&amp;quot; tag=&amp;quot;9&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;tag group=&amp;quot;User&amp;quot; tag=&amp;quot;Resistance&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;tag group=&amp;quot;DashTacCon&amp;quot; tag=&amp;quot;Combat&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;tag group=&amp;quot;DashTacCon&amp;quot; tag=&amp;quot;Column1&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;eval value=&amp;quot;1&amp;quot; phase=&amp;quot;Traits&amp;quot; priority=&amp;quot;4000&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;before name=&amp;quot;Derived trtFinal&amp;quot;/&amp;gt;&lt;br /&gt;
    &amp;lt;after name=&amp;quot;Calc trtFinal&amp;quot;/&amp;gt;&amp;lt;![CDATA[&lt;br /&gt;
    ~toughness is 2 plus half the character&amp;#039;s Vigor, but we track attributes at&lt;br /&gt;
    ~the half value (2-6), so we add Vigor directly&lt;br /&gt;
    field[trtBonus].value += 2 + #trait[attrVig]&lt;br /&gt;
    ~equipped armor should add to the Toughness, so we add that from the armor&lt;br /&gt;
    ]]&amp;gt;&amp;lt;/eval&amp;gt;&lt;br /&gt;
  &amp;lt;/thing&amp;gt; &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
As indicated in the script above, the effects of armor also need to be added to the &amp;quot;Toughness&amp;quot; trait. However, that must be done separately by each piece of armor that the character has equipped. We can accomplish this within the &amp;quot;Armor&amp;quot; component. Open the file &amp;quot;equipment.pri&amp;quot; and take a look at the &amp;quot;Defense&amp;quot; component. There is an Eval script (#2) that applies the effects of equipped armor and shields. In Savage Worlds, shields work differently from armor and don&amp;#039;t apply direct adjustments when equipped, so this script should be moved to the &amp;quot;Armor&amp;quot; component. Delete the script from the &amp;quot;Defense&amp;quot; component and then add it to the &amp;quot;Armor&amp;quot; component beneath. Now we need to modify the script to apply the correct adjustment. Instead of adding the defense rating of the armor to the &amp;quot;trDefense&amp;quot; trait, it needs to be added to the &amp;quot;trTough&amp;quot; trait, so make the change and we&amp;#039;re done. The finished script should look something like below: &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;PreTraits&amp;quot; priority=&amp;quot;5000&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;before name=&amp;quot;Calc trtFinal&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;after name=&amp;quot;Equipped&amp;quot;/&amp;gt;&amp;lt;![CDATA[&lt;br /&gt;
  ~if this gear is not equipped, skip it&lt;br /&gt;
  if (field[grIsEquip].value = 0) then&lt;br /&gt;
    done&lt;br /&gt;
    endif &lt;br /&gt;
  ~apply the appropriate trait adjustments for the equipment&lt;br /&gt;
  #traitbonus[trTough] += field[defDefense].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;
According to the rules, only armor on the torso of the character is applied to the &amp;quot;Toughness&amp;quot; trait. However, we have no way of determining that yet, so we&amp;#039;ll have to add that detail later when we work on equipment. Situations like this will come up at times when developing your data files. The easiest way to handle it is to make a note so that we remember to go back and handle it later. &lt;br /&gt;
&lt;br /&gt;
===Parry Trait===&lt;br /&gt;
&lt;br /&gt;
The &amp;quot;Parry&amp;quot; trait is very similar to the previous trait. Since the &amp;quot;Parry&amp;quot; trait is combat related, we assign it tags to ensure it gets displayed in appropriate places pertaining to combat. Other than that, the key item of interest for the &amp;quot;Parry&amp;quot; trait is its calculation. The rules stipulate that &amp;quot;Parry&amp;quot; is calculated as &amp;quot;2 plus half your Fighting skill&amp;quot;, or simply the value 2 if the character has no &amp;quot;Fighting&amp;quot; skill. So the interesting detail here is that the character might not actually possess the &amp;quot;Fighting&amp;quot; skill. &lt;br /&gt;
&lt;br /&gt;
Normally within Hero Lab, if a pick is accessed by a script that does not exist on the character, the line of script code is aborted as invalid and a runtime error is reported - we don&amp;#039;t want that to occur. One option would be to write the code to check for the existence of the pick and proceed based on its presence. But there will likely be lots of places within your data files where you would need to add code like this, so something more convenient is better.&lt;br /&gt;
&lt;br /&gt;
To support this, Hero Lab provides the &amp;quot;childfound&amp;quot; transition in addition to the &amp;quot;child&amp;quot; transition. The &amp;quot;child&amp;quot; transition reports the error described above, but the &amp;quot;childfound&amp;quot; transition quietly returns a value of zero for a pick that isn&amp;#039;t found. This means that we can simply use the &amp;quot;childfound&amp;quot; transition and have everything work exactly as we want in both cases.&lt;br /&gt;
&lt;br /&gt;
To make things even easier, the Skeleton files pre-define a script macro of &amp;quot;#traitfound&amp;quot; that we can use to conditionally access the value of a trait, so all we need to do is use the macro. This results in an Eval script for &amp;quot;Parry&amp;quot; that should look something like what is shown 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;Traits&amp;quot; priority=&amp;quot;4000&amp;quot;&amp;gt;&amp;lt;![CDATA[&lt;br /&gt;
  ~parry is 2 plus half the Fighting skill, but we track all skills at the half&lt;br /&gt;
  ~value (2-6), so we simply add the Fighting skill that is already halved; we&lt;br /&gt;
  ~use &amp;quot;#traitfound&amp;quot; in case the character does not possess the Fighting skill&lt;br /&gt;
  field[trtBonus].value += 2 + #traitfound[skFighting]&lt;br /&gt;
  ]]&amp;gt;&amp;lt;/eval&amp;gt; &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Charisma Trait===&lt;br /&gt;
&lt;br /&gt;
The &amp;quot;Charisma&amp;quot; trait is similar to the previous ones, but it has its own wrinkle that needs to be handled. In the interest of efficiency, we&amp;#039;ll focus on that one wrinkle here. The wrinkle is that the final Charisma trait value needs to be applied as a bonus/penalty to Persuasion and Streetwise rolls. We can&amp;#039;t do this until after the derived trait value is calculated, so we need to add a separate Eval script to the &amp;quot;Charisma&amp;quot; trait that performs this task. We can use the &amp;quot;#traitroll&amp;quot; script macro that we defined earlier to access the appropriate adjustment fields. This results in the following script being added to the &amp;quot;Charisma&amp;quot; trait: &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;Final&amp;quot; priority=&amp;quot;1000&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;before name=&amp;quot;Calc trtDisplay&amp;quot;/&amp;gt;&amp;lt;![CDATA[&lt;br /&gt;
  #traitroll[skPersuade] += field[trtFinal].value&lt;br /&gt;
  #traitroll[skStreet] += field[trtFinal].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;
===Pace Trait===&lt;br /&gt;
&lt;br /&gt;
The final derived trait for Savage Worlds is &amp;quot;Pace&amp;quot;, and, as with Charisma, we&amp;#039;ll focus only on its differences here. The &amp;quot;Pace&amp;quot; trait is different from the others in that it can be adjusted by some sources and set to an explicit value by other sources. For example, the &amp;quot;Dwarven&amp;quot; race assigns a lower starting &amp;quot;Pace&amp;quot; to a character, and hindrances like &amp;quot;Lame&amp;quot; set an even lower starting &amp;quot;Pace&amp;quot;. So we can&amp;#039;t just assume everything is an adjustment - we need to handle assignment as well.&lt;br /&gt;
&lt;br /&gt;
The simplest way to handle this is to break up the processing into separate stages, with each stage being assigned to an appropriate evaluation timing. The default value of &amp;quot;6&amp;quot; for &amp;quot;Pace&amp;quot; can be assigned as the default field value for the &amp;quot;trtBonus&amp;quot; field, replacing the need for an Eval script to calculate the value. After that, there are three basic stages that need to be supported, each in order. First is the racial selection, so we pick an appropriate timing such as Setup/1000 for when this should occur. Next is effects that set a fixed value and override any racial effects, such as the &amp;quot;Lame&amp;quot; hindrance, so we pick a later timing such as Setup/10000 for these effects. Lastly, there are the adjustment effects, which can be applied at any time after the previous two.&lt;br /&gt;
&lt;br /&gt;
The last thing of interest with the &amp;quot;Pace&amp;quot; trait is that the value can never drop below one. As such, we need an Eval script to enforce this rule. The script must occur immediately after the &amp;quot;Derived&amp;quot; component calculates the new trait value - before any other script accesses the final trait value.&lt;br /&gt;
&lt;br /&gt;
We can now put it all together and get the following for the &amp;quot;Pace&amp;quot; trait:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;thing&lt;br /&gt;
  id=&amp;quot;trPace&amp;quot;&lt;br /&gt;
  name=&amp;quot;Pace&amp;quot;&lt;br /&gt;
  compset=&amp;quot;Trait&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;trtAbbrev&amp;quot; value=&amp;quot;Pace&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;fieldval field=&amp;quot;trtBonus&amp;quot; value=&amp;quot;6&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;tag group=&amp;quot;explicit&amp;quot; tag=&amp;quot;6&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;tag group=&amp;quot;User&amp;quot; tag=&amp;quot;Combat&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;tag group=&amp;quot;DashTacCon&amp;quot; tag=&amp;quot;Combat&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;tag group=&amp;quot;DashTacCon&amp;quot; tag=&amp;quot;Column1&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;eval value=&amp;quot;2&amp;quot; phase=&amp;quot;Traits&amp;quot; priority=&amp;quot;6001&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;after name=&amp;quot;Derived trtFinal&amp;quot;/&amp;gt;&amp;lt;![CDATA[&lt;br /&gt;
    if (field[trtFinal].value &amp;lt;= 0) then&lt;br /&gt;
      field[trtFinal].value = 1&lt;br /&gt;
      endif&lt;br /&gt;
    ]]&amp;gt;&amp;lt;/eval&amp;gt;&lt;br /&gt;
  &amp;lt;/thing&amp;gt; &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>Rob</name></author>
	</entry>
</feed>