Member
Join Date: Jan 2009
Posts: 95
|
I am encountering a error with a Class Special. I have included a screen shot. I have tried a dozen different ways to enter this I even started over from scratch with a new user file. Here is the code causing the problem any ideas?
Code:
<thing id="cKniPre" name="Knightly Presence" description="When wearing heavy armor, a knight gains a +4 on Intimidate checks against any opponent that can see him. In addition, when the knight uses her Intimidate check to demoralize an opponent, then the opponent is shaken for 1d4 rounds plus 1 round per point of the knights Charisma modifier." compset="ClSpecial"> <tag group="Helper" tag="ClExLose"/> <tag group="AbilType" tag="Extra"/> </thing> |
#1 |
Member
Join Date: Jan 2009
Posts: 95
|
Well I figured it out after I loaded up the utility Filemon it was erroring out after accessing herolab.prefs. I deleted the herolab.prefs file and reactivated. Any Idea why this would get corrupted by a user file?
Last edited by Mindcloud; March 2nd, 2010 at 04:42 PM. |
#2 |
Senior Member
Lone Wolf Staff
Join Date: May 2005
Posts: 13,213
|
The error you're seeing is generated if a class special is bootstrapped to a class without a ClSpecWhen tag to tell it what level you get the special at. You'll learn about that in Tutorial 3, in the "Add a Special Ability" section. I'm guessing the fix from deleting the .prefs file will turn out to be temporary.
Last edited by Mathias; March 2nd, 2010 at 05:12 PM. |
#3 |
Member
Join Date: Jan 2009
Posts: 95
|
So i inserted a eval script which was incorrect into my special and it caused herolab to error out again on compile forcing me to delete herolab.prefs and reactivate again.
Post Levels(USER) 10000 Code:
if(hero.tagis[Hero.HeavyArmor] <> 0) then debug " is heavy armor" endif Code:
<preference name="Editor State" value="1"/> <preference name="Last Update" type="string" value="2010/03/02:2036"/> <preference name="Notify Dialog" value="1"/> <preference name="Retrieve Index" value="3"/> In the clean file they are. Code:
<preference name="Notify Dialog" value="0"/> <preference name="Retrieve Index" value="4"/> |
#4 |
Member
Join Date: Jan 2009
Posts: 95
|
Quote:
Is there any case when you would not have to use a ClSpecWhen for a Class Special? Also what would be the correct code for checking to see if the hero is wearing heavy armor? Also Thank you for all of you help over the last couple of days. You have done a great job with the Pathfinder files! Last edited by Mindcloud; March 2nd, 2010 at 05:41 PM. |
|
#5 |
Senior Member
Lone Wolf Staff
Join Date: May 2005
Posts: 8,232
|
It's probably the "Editor State" setting, since the others should have nothing to do with behaviors you've described. Since the Editor is Colen's area of expertise, I've flagged this issue to him. We'll get this investigated and hopefully fixed in time for the upcoming V3.6 release.
Thanks for the helpful analysis, since it should make this problem significantly easier to chase down with the added diagnostic info! |
#6 |
Member
Join Date: Jan 2009
Posts: 95
|
Quote:
|
|
#7 |
Senior Member
Lone Wolf Staff
Join Date: May 2005
Posts: 13,213
|
Quote:
To find the heavy armor code, go to the develop menu, make sure "Enable Data File Debugging" is enabled, and then go to the "floating info windows" at the bottom, and select "show hero tags" from that list. Now, add a suit of heavy armor to your character (you might as well check what medium and light look like, too). While watching the list of hero tags, equip the heavy armor, and watch for changes. You'll see that Hero.EquipArmor is added if the character is wearing any armor, and Hero.HeavyArmor is added if they're wearing heavy armor (Hero.MedArmor and Hero.LightArmor are for the other armor categories). |
|
#8 |
Senior Member
Lone Wolf Staff
Join Date: Dec 2008
Posts: 4,690
|
Mindcloud, can you describe the error that forced you to delete herolab.prefs in more detail? All I can figure out from the above is that you saw the errors shown in the screenshot, then something happened, and then you had to delete herolab.prefs to make Hero Lab run again, but I have no idea what the "something" could be.
If there's a bug in Hero Lab that's causing crashes like this, we'd really like to fix it, so knowing exactly what happened would be really useful. Thanks! |
#9 |
Member
Join Date: Jan 2009
Posts: 95
|
So I attempted to reproduce the error for you.
I created a default class named test with the id tst and created a class special called "aaaa test special" id ctstsp. I did not add the ClSpecWhen tag to the bootstrap on the class. And as expected on recompile it errored out with the same error from my OP. I then went back and deleted the class special and all references to it from the class. Here I would expect it to recompile with no errors however it still errors out with the same index error from my OP but only on my user generated class. Additionally if I close the file in the editor and create a new file and make a class create a class special and add it with the ClSpecWhen it doesn't error out at any point. I can also add the original class that was causing the error to a portfolio without error. I was not forced to delete my prefs file at any point so I must conclude that my original conclusion was incorrect due to my ignorance of the ClSpecWhen tag and overzealous Filemon use. So it's not a editor bug or as bad as I thought and as Mathis stated could proabaly be corrected by better error handleing in the data files. Nonetheless thank you for the quick response and sorry if I led you on a wild goose chase. |
#10 |
|
|