I'm creating a skill that is similar to Pathfinder's Craft skills. I've intentionally used many of the same Helper and identity tags as Pathfinder. Everything visually works (viewing skills, adding skills) but looping on pick in hero show duplicate records.
Code:
foreach pick in hero from Skill where "Helper.ExtraSkill"
debug "Extra: " & eachpick.idstring
nexteach
This shows:
Extra: skJobacco
Extra: skJobacco
Extra: skJobacco
Extra: skJobatt
Extra: skJobatt
Extra: skJobsmu
Extra: skJobsmu
Why?
Sample skill:
Code:
<thing
id="skJobacc"
name="Job (accountant)"
compset="Skill"
isunique="yes"
uniqueness="useronce"
description="Description goes here">
<tag group="DashTacCon" tag="NonCombat"/>
<tag group="Helper" tag="TrainOnly"/>
<tag group="Helper" tag="ExtraSkill"/>
<link linkage="skillabil" thing="attrCha"/>
</thing>
Compset and Component:
Code:
<component
id="Skill"
name="Skill"
autocompset="no">
<linkage linkage="skillabil" optional="no"/>
<identity group="Skill"/>
<identity group="SkillAdded"/>
<eval index="1" phase="Setup" priority="5000"><![CDATA[
if (tagis[Helper.ExtraSkill] <> 0) then
if (isuser = 0) then
if (tagis[thing.useronce] <> 0) then
perform forward[SkillAdded.?]
endif
endif
else
perform delete[SkillAdded.?]
endif
if (container.ishero <> 0) then
perform linkage[skillabil].pullidentity[SkillAbil]
endif
</componet>
<compset
id="Skill">
<compref component="Skill"/>
<compref component="Derived"/>
<compref component="Trait"/>
</compset>
portal code:
Code:
<portal
id="baSkills"
style="tblInvis">
<table_dynamic
component="Skill"
showtemplate="baSklPick"
showsortset="explicit"
choosetemplate="SkillThing"
scrollable="yes">
<list>thing.user_added | !Helper.ExtraSkill</list>
<candidate>SkillAdded.?</candidate>
<headertitle><![CDATA[
@text = "Skills"
]]></headertitle>
<additem><![CDATA[
@text = "Add a Skill"
]]></additem>
</table_dynamic>
</portal>
<template
id="baSklPick"
name="Skill Pick"
compset="Skill">
...
</template>
<template
id="SkillThing"
name="Skill Thing"
compset="Skill"
marginhorz="3"
marginvert="5">
...
</template>