This background, when selecting the class skill option is instead of allowing the character to use one of its normal skill options to pick Thievery or Stealth (nominally not normally a class skill or you would pick something else), it instead just gives training in whichever skill is selected, leaving the character with an extra skill at the end.
It should instead either reduce the number of skill choices for the character and retain its current function (less ideal), or it should just add the choice as another possible check box on the skill page (better). Either would prevent picking too many skills, but the first option would be much less clear why they suddenly have one less skill to pick than the rules say they should.
Does anyone know how backgrounds work? Because clearly they don't actually do the heavy lifting in the background listing. Is it in some other data file that it specifies how the background information is used to generate the actual work on the character sheet?
I think it may be in tab_theme.dat where the damage is done. Is that what Daphne did work on?
As I tried to figure out a different scripting error, I think I have happened upon the actual problem area. actor.str has a script that runs when you have a background:
~if we have a background bonus skill selected, add to it
if (compare(field[acBGExpr].text, "FALSE") = 0) then
perform field[acBGSkill].chosen.setfocus
if (state.isfocus <> 0) then
~for skills, pick between a +2 bonus and training
if (focus.tagis[component.Skill] <> 0) then
if (field[actBGSkCls].value = 0) then
perform focus.field[trtBonus].modify[+,2,"Background"]
else
perform focus.assign[Helper.Trained]
endif
~languages are no longer hidden
elseif (focus.tagis[component.Language] <> 0) then
perform focus.assign[Helper.ChosenLang]
endif
endif
endif
Lines 785-803. It seems that 795 is the problem where it does
perform focus.assign[Helper.Trained]
but should instead do
perform focus.assign[Helper.{Whatever code is used to make it a class skill rather than a trained skill}]
As should be abundantly clear, I don't know what the eval code way of assigning a class skill option is. Does anyone else? Looking around tags.1st it seems that there may not be a way to use Helper to make it a class skill, only to actually give the skill. Anyone else have any ideas? If I have to, I guess I'll just add to the script that just reduces the number of skill choices by 1, which I am pretty certain I can do. From a min-max stance, this doesn't change anything, because if you weren't going to take the new class skill as a trained skill, you are better off with the +2 bonus, but it reduces the clarity to the end user, as they won't know why they have 1 fewer skill choices than their class says they should.
Up above I saw this
<!-- Background bonus skill, if any -->
<field
id="acBGSkill"
name="Background Skill Bonus"
type="user"
style="menu">
</field>
<field
id="acBGExpr"
name="Background Skill Expression"
type="derived"
maxlength="500"
defvalue="FALSE">
</field>
<field
id="actBGSkCls"
name="Background Skill Is Class"
type="user"
minvalue="0"
maxvalue="1">
</field>
It looks like the choices could be there...
But after staring at this for several hours trying to find a way that skills are made into class skills, but that seems to be something that only happens to a class. Ugh.