So I adjusted a character's stat (from within the Ancestry window box) but it doesn't reflect in the sheet afterward. Am I missing some step?
Printable View
So I adjusted a character's stat (from within the Ancestry window box) but it doesn't reflect in the sheet afterward. Am I missing some step?
Also, separate (I assume) issue, I'm getting a handler error on all rolls. See log...
There's an invalid attempt to call global getValue() in campaign/scripts/spell_charsheet.lua in the onDamageAction handler on line 129:
RulesetWizardDiceRoller.Roll(draginfo, windataref, "damageRollAction", DiceRollDescription, DiceRollString, getValue(), DiceRollAdditionalInfo);
That getValue() should be replaced with a nil (as it is in all the other handlers in that module).
Back in February, I reported a problem with the halfhealth icon in the CT not going away after the target was healed. More recently, I noticed that it was only failing when they were healed to exactly 0 dmg, but worked fine as long as they still had at least 1 dmg. This led me to the bug in ct/ct_entry.xml in the onValueChanged handler for the damage control (line 767), where a conditional is skipping the icon check entirely if getValue() == 0:
if getValue() == 0 then
return true;
elseif DB.getValue(nodeCT, "damage", 0) >= DB.getValue(nodeCT, "health", 10) - DB.getValue(nodeCT, "damage", 0) then
DB.setValue(nodeCT, "halfhealth_value", "number", 1);
else
DB.setValue(nodeCT, "halfhealth_value", "number", 0);
end
This change appears to resolve the issue:
if getValue() == 0 then
DB.setValue(nodeCT, "halfhealth_value", "number", 0);
elseif DB.getValue(nodeCT, "damage", 0) >= DB.getValue(nodeCT, "health", 10) - DB.getValue(nodeCT, "damage", 0) then
DB.setValue(nodeCT, "halfhealth_value", "number", 1);
else
DB.setValue(nodeCT, "halfhealth_value", "number", 0);
end
Thanks for the reports and info. We've escalated to the developer of the ruleset, so they can take a look.
Regards,
JPG
Most players' spells are grayed out and they get errors when they cast them (targeted or not). It's been occuring the last couple sessions and we've just been playing around it manually. Compile log is attached. There seems to be some script execution error 309. Any help would be appreciated.
The error reported by a couple of people above ([string "IPFGSDLSECORE:..scripts/spell_charsheet.lua"]:309: attempt to compare userdata with number) is due to a bug in campaign\scripts\spell_charsheet.lua line 309, which currently looks like this:
if DB.getValue(nodeItem, "minstrength", 0) > DB.getChild(nodeChar, "strength", 0) then
What it SHOULD look like is this:
if DB.getValue(nodeItem, "minstrength", 0) > DB.getValue(nodeChar, "strength", 0) then
To the devs: if you're trying to reproduce this error, it only happens if someone with equipped armor makes an attack roll with a spell.
To affected users: until the devs are able to get a fix pushed out for this through official channels, you can fix it for yourself by unzipping the IPFGSDLSECORE.pak file in your \SmiteWorks\Fantasy Grounds\rulesets directory (you'll probably need to rename it to IPFGSDLSECORE.zip first) to a folder named IPFGSDLSECORE and editing the campaign\scripts\spell_charsheet.lua yourself as indicated above. (You may want to apply my fix to line 129 of the same file, described a few posts above, at the same time.) Only the host needs to do this. When you reload FG, it will use the files in this folder instead of the pak file for the ruleset. Please note though that when an update for this ruleset is pushed out, you'll want to delete this folder you manually created so the new, fixed pak file gets loaded at that point.