<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>http://www.gameai.com/manuals/index.php?action=history&amp;feed=atom&amp;title=Ability_pack</id>
	<title>Ability pack - Revision history</title>
	<link rel="self" type="application/atom+xml" href="http://www.gameai.com/manuals/index.php?action=history&amp;feed=atom&amp;title=Ability_pack"/>
	<link rel="alternate" type="text/html" href="http://www.gameai.com/manuals/index.php?title=Ability_pack&amp;action=history"/>
	<updated>2026-05-06T17:20:14Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.36.1</generator>
	<entry>
		<id>http://www.gameai.com/manuals/index.php?title=Ability_pack&amp;diff=208&amp;oldid=prev</id>
		<title>Davemark: /* Concept */</title>
		<link rel="alternate" type="text/html" href="http://www.gameai.com/manuals/index.php?title=Ability_pack&amp;diff=208&amp;oldid=prev"/>
		<updated>2021-10-08T02:55:10Z</updated>

		<summary type="html">&lt;p&gt;&lt;span dir=&quot;auto&quot;&gt;&lt;span class=&quot;autocomment&quot;&gt;Concept&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;en&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Revision as of 02:55, 8 October 2021&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;{{IAUS Header}}&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;{{IAUS Header}}&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;== Concept ==&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;== Concept ==&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;An Ability Pack is similar to a [[Behavior &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Pack&lt;/del&gt;]] in that it is a collection of [[&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Behavior&lt;/del&gt;]]s that is named and given a description. They are then assigned to one or more [[&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Brain&lt;/del&gt;]]s to indicate that the agent has access to the &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;behaviors &lt;/del&gt;in it. Typically, Ability &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Packs &lt;/del&gt;are &amp;quot;conceptual&amp;quot; in that they contain similar behaviors or behaviors that are part of a large idea.  &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;An Ability Pack is similar to a [[Behavior &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;pack&lt;/ins&gt;]] in that it is a collection of [[&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;behavior ability pair&lt;/ins&gt;]]s that is named and given a description. They are then assigned to one or more [[&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;brain&lt;/ins&gt;]]s to indicate that the agent has access to the &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;abilities &lt;/ins&gt;in it. Typically, Ability &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;packs &lt;/ins&gt;are &amp;quot;conceptual&amp;quot; in that they contain similar behaviors or behaviors that are part of a large idea.  &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 difference between a &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Behavior Pack &lt;/del&gt;and an &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Ability Pack &lt;/del&gt;is that the &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Ability Pack &lt;/del&gt;is, rather than a simple list of &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Behaviors&lt;/del&gt;, it is a combination of a &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Behavior &lt;/del&gt;matched with an [[&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Ability&lt;/del&gt;]]. The way to think of this is that the &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Behavior &lt;/del&gt;is &amp;quot;why&amp;quot; something would be done and the &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Ability &lt;/del&gt;is &amp;quot;what&amp;quot; to do.&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 difference between a &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;behavior pack &lt;/ins&gt;and an &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;ability pack &lt;/ins&gt;is that the &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;ability pack &lt;/ins&gt;is, rather than a simple list of &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;behaviors&lt;/ins&gt;, it is a combination of a &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;behavior &lt;/ins&gt;matched with an [[&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;ability]] in a [[behavior ability pair&lt;/ins&gt;]]. The way to think of this is that the &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;behavior &lt;/ins&gt;is &amp;quot;why&amp;quot; something would be done and the &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;ability &lt;/ins&gt;is &amp;quot;what&amp;quot; to do.&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 a way, this is similar to how a &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Behavior &lt;/del&gt;has a [[&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Behavior Type&lt;/del&gt;]] as part of its data. In this case, the &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Behavior Type &lt;/del&gt;for the &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Behavior &lt;/del&gt;in question is &amp;quot;Ability&amp;quot;. That is because it is meant to be matched up with the &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Ability &lt;/del&gt;in the pack.  &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 a way, this is similar to how a &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;behavior &lt;/ins&gt;has a [[&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;behavior type&lt;/ins&gt;]] as part of its data. In this case, the &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;behavior type &lt;/ins&gt;for the &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;behavior &lt;/ins&gt;in question is &amp;quot;Ability&amp;quot;. That is because it is meant to be matched up with the &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;ability specified &lt;/ins&gt;in the pack.  &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 use case for this is that different character types may have different actions they perform for largely the same reason. For example, the default melee attack for an orc, a warrior, and a dragon would be largely different and would be dealt with by the game logic differently. If we were to do this in the Behavior data alone, we would have to create three different Behavior Types -- one for each of the three agent types. In this way, however, we can create a single &amp;quot;Default Melee&amp;quot; behavior that specifies the relevant reasons (via [[Consideration]]s) we would want to conduct a melee attack. The Ability Pack would match up the &amp;quot;Default Melee&amp;quot; behavior with the ability for that particular agent type and would be saved with a name that specifies that it is meant for that particular type. By doing this, a Brain can be assigned the appropriate Ability Pack depending on the type of character.  &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 use case for this is that different character types may have different actions they perform for largely the same reason. For example, the default melee attack for an orc, a warrior, and a dragon would be largely different and would be dealt with by the game logic differently. If we were to do this in the Behavior data alone, we would have to create three different Behavior Types -- one for each of the three agent types. In this way, however, we can create a single &amp;quot;Default Melee&amp;quot; behavior that specifies the relevant reasons (via [[Consideration]]s) we would want to conduct a melee attack. The Ability Pack would match up the &amp;quot;Default Melee&amp;quot; behavior with the ability for that particular agent type and would be saved with a name that specifies that it is meant for that particular type. By doing this, a Brain can be assigned the appropriate Ability Pack depending on the type of character.  &lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br/&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br/&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; 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;An Ability Pack may therefore have multiple [[&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Behavior Ability Pair&lt;/del&gt;]]s in it. The Behaviors (i.e. the &amp;quot;whys&amp;quot;) themselves may be the same but the abilities would be different to show that they are being executed in the agent-specific way. For example, the ''behaviors'' in the Ability Pack may be:&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;An Ability Pack may therefore have multiple [[&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;behavior ability pair&lt;/ins&gt;]]s in it. The Behaviors (i.e. the &amp;quot;whys&amp;quot;) themselves may be the same but the abilities would be different to show that they are being executed in the agent-specific way. For example, the ''behaviors'' in the Ability Pack may be:&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;* Default Melee&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;* Default Melee&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;* Special Melee&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;* Special Melee&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-l16&quot;&gt;Line 16:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 16:&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;However, all three of the above character types would have different abilities matched with them. (e.g. &amp;quot;throw rock&amp;quot;, &amp;quot;shoot bow&amp;quot;, &amp;quot;breathe fireball&amp;quot;).&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;However, all three of the above character types would have different abilities matched with them. (e.g. &amp;quot;throw rock&amp;quot;, &amp;quot;shoot bow&amp;quot;, &amp;quot;breathe fireball&amp;quot;).&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;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;Because of this organization by concept, more than one Ability Pack ''can be '' assigned to a Brain but often there will only be one that specifies the abilities that the Brain is allowed to use and the reasons it would do so.&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;Because of this organization by concept, more than one Ability Pack ''can be'' assigned to a Brain but often there will only be one that specifies the abilities that the Brain is allowed to use and the reasons it would do so.&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;== Code ==&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;== Code ==&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Davemark</name></author>
	</entry>
	<entry>
		<id>http://www.gameai.com/manuals/index.php?title=Ability_pack&amp;diff=207&amp;oldid=prev</id>
		<title>Davemark: Added implementation details</title>
		<link rel="alternate" type="text/html" href="http://www.gameai.com/manuals/index.php?title=Ability_pack&amp;diff=207&amp;oldid=prev"/>
		<updated>2021-10-08T02:51:47Z</updated>

		<summary type="html">&lt;p&gt;Added implementation details&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;en&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Revision as of 02:51, 8 October 2021&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-l19&quot;&gt;Line 19:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 19:&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;== Code ==&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;== Code ==&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&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;The implementation for an ability pack is kept in the class, '''AbilityPackage'''. It is merely a name, description and a list of [[behavior ability pair]]s.&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&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;&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;In addition to standard accessor functions, there are functions for adding an ability to the package, removing one from the package, and seeing if an selected ability is already in the list.&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;== Data ==&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;== Data ==&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&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;Ability packages are created in the [[data tool]] and abilities (with their associated behaviors) are assigned to them there. Once they have been created, they can be assigned to a [[brain]] which has the effect of allowing that brain to use all the abilities in the ability pack.&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Davemark</name></author>
	</entry>
	<entry>
		<id>http://www.gameai.com/manuals/index.php?title=Ability_pack&amp;diff=187&amp;oldid=prev</id>
		<title>Davemark: Davemark moved page Ability Pack to Ability pack without leaving a redirect: Capitalization</title>
		<link rel="alternate" type="text/html" href="http://www.gameai.com/manuals/index.php?title=Ability_pack&amp;diff=187&amp;oldid=prev"/>
		<updated>2021-10-07T13:45:49Z</updated>

		<summary type="html">&lt;p&gt;Davemark moved page &lt;a href=&quot;/manuals/index.php?title=Ability_Pack&amp;amp;action=edit&amp;amp;redlink=1&quot; class=&quot;new&quot; title=&quot;Ability Pack (page does not exist)&quot;&gt;Ability Pack&lt;/a&gt; to &lt;a href=&quot;/manuals/index.php/Ability_pack&quot; title=&quot;Ability pack&quot;&gt;Ability pack&lt;/a&gt; without leaving a redirect: Capitalization&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 13:45, 7 October 2021&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>Davemark</name></author>
	</entry>
	<entry>
		<id>http://www.gameai.com/manuals/index.php?title=Ability_pack&amp;diff=96&amp;oldid=prev</id>
		<title>Davemark: Initial Entries</title>
		<link rel="alternate" type="text/html" href="http://www.gameai.com/manuals/index.php?title=Ability_pack&amp;diff=96&amp;oldid=prev"/>
		<updated>2021-09-30T00:52:04Z</updated>

		<summary type="html">&lt;p&gt;Initial Entries&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;{{IAUS Header}}&lt;br /&gt;
== Concept ==&lt;br /&gt;
An Ability Pack is similar to a [[Behavior Pack]] in that it is a collection of [[Behavior]]s that is named and given a description. They are then assigned to one or more [[Brain]]s to indicate that the agent has access to the behaviors in it. Typically, Ability Packs are &amp;quot;conceptual&amp;quot; in that they contain similar behaviors or behaviors that are part of a large idea. &lt;br /&gt;
&lt;br /&gt;
The difference between a Behavior Pack and an Ability Pack is that the Ability Pack is, rather than a simple list of Behaviors, it is a combination of a Behavior matched with an [[Ability]]. The way to think of this is that the Behavior is &amp;quot;why&amp;quot; something would be done and the Ability is &amp;quot;what&amp;quot; to do.&lt;br /&gt;
&lt;br /&gt;
In a way, this is similar to how a Behavior has a [[Behavior Type]] as part of its data. In this case, the Behavior Type for the Behavior in question is &amp;quot;Ability&amp;quot;. That is because it is meant to be matched up with the Ability in the pack. &lt;br /&gt;
&lt;br /&gt;
The use case for this is that different character types may have different actions they perform for largely the same reason. For example, the default melee attack for an orc, a warrior, and a dragon would be largely different and would be dealt with by the game logic differently. If we were to do this in the Behavior data alone, we would have to create three different Behavior Types -- one for each of the three agent types. In this way, however, we can create a single &amp;quot;Default Melee&amp;quot; behavior that specifies the relevant reasons (via [[Consideration]]s) we would want to conduct a melee attack. The Ability Pack would match up the &amp;quot;Default Melee&amp;quot; behavior with the ability for that particular agent type and would be saved with a name that specifies that it is meant for that particular type. By doing this, a Brain can be assigned the appropriate Ability Pack depending on the type of character. &lt;br /&gt;
&lt;br /&gt;
An Ability Pack may therefore have multiple [[Behavior Ability Pair]]s in it. The Behaviors (i.e. the &amp;quot;whys&amp;quot;) themselves may be the same but the abilities would be different to show that they are being executed in the agent-specific way. For example, the ''behaviors'' in the Ability Pack may be:&lt;br /&gt;
* Default Melee&lt;br /&gt;
* Special Melee&lt;br /&gt;
* Ranged Attack&lt;br /&gt;
&lt;br /&gt;
However, all three of the above character types would have different abilities matched with them. (e.g. &amp;quot;throw rock&amp;quot;, &amp;quot;shoot bow&amp;quot;, &amp;quot;breathe fireball&amp;quot;).&lt;br /&gt;
&lt;br /&gt;
Because of this organization by concept, more than one Ability Pack ''can be '' assigned to a Brain but often there will only be one that specifies the abilities that the Brain is allowed to use and the reasons it would do so.&lt;br /&gt;
&lt;br /&gt;
== Code ==&lt;br /&gt;
&lt;br /&gt;
== Data ==&lt;/div&gt;</summary>
		<author><name>Davemark</name></author>
	</entry>
</feed>