Follow along with the video below to see how to install our site as a web app on your home screen.
Note: This feature may not be available in some browsers.
<thing id="resAtt"
name="Attribute Points"
compset="Resource">
<fieldval field="resObject" value="Attribute"/>
<fieldval field="resMax" value="60"/>
<tag group="Helper" tag="Bootstrap"/>
<eval index="1" phase="Final" priority="1000"><![CDATA[
field[resMax].value = herofield[acStartAP].value
debug "acStartAP : " & herofield[acStartAP].value
debug "attribute points : " & field[resMax].value
]]></eval>
</thing>
<thing id="resSkill"
name="Skill Points"
compset="Resource">
<fieldval field="resObject" value="Skill"/>
<tag group="Helper" tag="Bootstrap"/>
<eval index="1" phase="Final" priority="1000"><![CDATA[
field[resMax].value = herofield[acSklPnts].value
debug "acSkilPnts : " & herofield[acSklPnts].value
debug "skill points : " & field[resMax].value
]]></eval>
</thing>
What phase & priority do the skills modify hero.child[resSkill].field[resSpent].value at?
What phase & priority is the Calc resLeft script?
<!-- Each attribute point above one that is allocated by the user costs 1 attribute point -->
<eval index="2" phase="Traits" priority="10000">
<before name="Calc resLeft"/>
<after name="Bound trtUser"/><![CDATA[
hero.child[resAtt].field[resSpent].value += (field[trtUser].value) * 1
]]></eval>
<eval index="2" phase="Traits" priority="10000">
<before name="Calc resLeft"/>
<after name="Bound trtUser"/><![CDATA[
http://hlkitwiki.wolflair.com/index.php5/Conferring_Edges_and_Hindrances_(Savage)
is the page you're looking for, I think.
<!-- Skill component
Each skill derives from this component
-->
<component
id="Skill"
name="Skill"
autocompset="no"
panellink="skills">
<!-- Net final roll that includes the value of the linked attribute -->
<field
id="sklRoll"
name="Net Skill Roll"
type="derived">
<calculate phase="Final" priority="5000">
<after name="Calc trtFinal"/><![CDATA[
~only access the linkage if the skill is directly on the hero; if not, it is
~likely within an advancement gizmo and no linkage will exist there
if (container.ishero <> 0) then
@value = field[trtFinal].value + linkage[attribute].field[trtFinal].value
endif
]]></calculate>
</field>
<field
id="sklRollO"
name="Net Skill Roll"
type="derived">
<calculate phase="Final" priority="5000">
<after name="Calc trtFinal"/><![CDATA[
~only access the linkage if the skill is directly on the hero; if not, it is
~likely within an advancement gizmo and no linkage will exist there
if (container.ishero <> 0) then
@value = field[trtFinal].value + linkage[attribute].field[trtFinal].value
endif
]]></calculate>
</field>
<field
id="sklRollG"
name="Net Skill Roll"
type="derived">
<calculate phase="Final" priority="5000">
<after name="Calc trtFinal"/><![CDATA[
~only access the linkage if the skill is directly on the hero; if not, it is
~likely within an advancement gizmo and no linkage will exist there
if (container.ishero <> 0) then
@value = round(field[trtFinal].value / 2 + linkage[attribute].field[trtFinal].value / 2,0,-1)
endif
]]></calculate>
</field>
<field
id="sklRollA"
name="Net Skill Roll"
type="derived">
<calculate phase="Final" priority="5000">
<after name="Calc trtFinal"/><![CDATA[
~only access the linkage if the skill is directly on the hero; if not, it is
~likely within an advancement gizmo and no linkage will exist there
if (container.ishero <> 0) then
@value = round(field[trtFinal].value / 4 + linkage[attribute].field[trtFinal].value / 4,0,-1)
endif
]]></calculate>
</field>
<!-- Each skill is associated with a specific attribute that must be identified -->
<linkage linkage="attribute" optional="no"/>
<linkage linkage="skill" optional="yes"/>
<!-- Each skill needs its own identity tag so existing skills can be identified during advancement -->
<identity group="Skill"/>
<!-- Every skill is shown on the "Rolls" mouse-over on the Dashboard/TacCon -->
<tag group="DashTacCon" tag="Rolls"/>
<!-- Track the skill on the actor -->
<eval index="1" phase="Traits" priority="5000"><![CDATA[
perform forward[Skill.?]
]]></eval>
<!-- Each skill point that is allocated by the user costs base cost * rank in skill points -->
<eval index="2" phase="Traits" priority="10000">
<before name="Calc resLeft"/>
<after name="Bound trtUser"/><![CDATA[
~if this skill is not added directly to the hero (i.e. an advance), skip it entirely
if (origin.ishero = 0) then
done
endif
if (isuser = 0) then
done
endif
~adjust the resource appropriately
if (tagis[Skills.Broad] = 1) then
if (hero.intersect[Profession,Profession] <> 0) then
hero.child[resSkill].field[resSpent].value += maximum(field[baseCost].value-1,0)
else
hero.child[resSkill].field[resSpent].value += maximum(field[baseCost].value,0)
endif
else
if (hero.intersect[Profession,Profession] <> 0) then
var listcostmo as number
var hold as number
hold = (field[trtUser].value * listcostmo + field[trtUser].value)
var hold1 as number
hold1 = (power(field[trtUser].value, 2) + field[trtUser].value) / 2
listcostmo = field[baseCost].value-1
~hero.child[resSkill].field[resSpent].value += maximum(field[trtUser].value * listcostmo + field[trtUser].value,0)
hero.child[resSkill].field[resSpent].value += maximum(hold1,0)
else
var listcostmo as number
listcostmo = field[baseCost].value
hero.child[resSkill].field[resSpent].value += maximum(field[trtUser].value * listcostmo + field[trtUser].value,0)
endif
endif
~field[sklRollG].value = round(field[trtFinal].value + linkage[attribute].field[trtFinal].value / 2,0,-1)
]]></eval>
<eval index="3" phase="Traits" priority="5000"><![CDATA[
~pull the identity tag of the linked attribute into the skill
perform linkage[attribute].pullidentity[Attribute]
]]>
</eval>
</component>
<fieldval field="baseCost" value="3"/>
<eval index="1" phase="Initialize" priority="10000"><![CDATA[
field[baseCost].value = 3
]]></eval>
~if this skill is not added directly to the hero (i.e. an advance), skip it entirely
if (origin.ishero = 0) then
done
endif