Skill Focus not properly attaching to Perform Skill


Using the Dataset 3.5 SRD for Players, PCGen and PCGen

I created a Bard using who has the feat Skill Focus: Perform(Oratory). In the version, it calculated properly and was added to both the totals in the Skills tab and the various character sheets. After installing I noticed that the Skill Focus feat, while still listed as on my bard, was not being added to any calculation on any tab or character sheet.

To test, I created a number of other characters in with Skill Focus: Perform with various sub type (sing, act, etc.) and ranks in the given skill. All displayed properly in, none displayed properly in

To test that this was not just a version mismatch error (conversion from to, I also created a number of characters directly in with Skill Focus: (Perform (sub-type)) and ranks in the given Perform skill. None of these properly displayed the Skill Focus bonus in the "Misc. Modifier" column of either the Skills tab or any of the character sheets. The Feat does display correctly on the Feats tab and the feat description on the character sheets. For reference, these were all human, male, level 1, using classes Bard, Cleric and Monk.

It seems that something got changed or broken in the code or data somewhere between and regarding Skill Focus and Perform.

I have attached the specific bard character .pcg file that I observed this issue in to begin with.

In examining the attached character using the "troubleshooting.htm" character sheet, in I find this line:
Perform (Oratory) +10 = +4[RANK] +3[Skill Focus] +3[STAT]

in I find this line:
Perform (Oratory) +7 = +4[RANK] +3[STAT]


Windows 7 professional, jre7


Tom Parker
April 28, 2014, 5:48 PM

As best I can tell, this is a data design issue in PCGen 6.2. The data gets exactly what it asks for... which happens to not be correct.

Perform (Oratory) is a Display-only skill This is where the skill focus is applied

Perform ~ Oratory is an export-only skill This is what is displayed to the user.

Nothing in the data appears to move bonuses from one item to the other... and the Skill Focus bonus is on the displayed item not the exported item.

Andrew Maitland
April 28, 2014, 6:40 PM

Huh, I'm trying to figure out why I added that. Now the good question, why isn't the Skill Focus coming across?

BONUS:SKILL|Perform ~ Sing|SKILL.Perform (Sing).MISC <-- shouldn't this be the working code to take the skill focus bonus and apply it to the skill?

June 11, 2014, 3:05 PM

Just a thought: I don't recognize the SKILL.Perform (Sing).MISC part.
I ran into the same problem with Craft skills, and replaced
SKILL.Craft (Blacksmithing).MISC with skillinfo("MISC", "Craft (Blacksmithing)")

that seemed to fix the problem.

James Dempsey
June 15, 2014, 8:54 PM

The likely issue is that the space is fooling the parser into treating it as two halves "SKILL.Perform" and "(Sing).MISC". The resolution you have already used to enclose this in a var("") would have been my recommended work around, or in fact using the skillinfo function.

I don't propose any further action on this issue.

Andrew Maitland
June 15, 2014, 11:35 PM

Thanks James.

I'm avoiding skillinfo as the result of skillinfo vs. var are different. I need the current bonus, not the bonus when the skill has any ranks.

SKILLINFO will only produce a bonus if a USEUNTRAINED:NO skill has a RANK. This defeats the purpose of this workaround (As the idea is to display the skill if the bonus is different, not if the rank exists) This is a method I'm using to allow display of skills as untrained. Anyways, I double checked and the fix is in place. Thanks again!





John Halcomb






Pending User Input


Affects versions