PDA

View Full Version : 4eParser and the resulting feat table - What did I do wrong (missing data)



bnason
February 11th, 2012, 20:07
Looking for some help... I've scrapped the PHB1 using the 4eparser, and created a PHB module in my library. When I click into the feats link, I get the following list - which is awesome, except that the benefits description is missing.

Benefits show up when I click into the feats -- they're in the data. Trying to figure out why they don't show up in this feat list though.

I've dug through the reference XML tables, to no avail -- can't figure out what's going wrong.

For reference, this is what the scrapped powers/feat data looks like:


ZXCV123 Astral Fire
Prerequisite: Dex 13, Cha 13
Benefit: You gain a +1 feat bonus to damage rolls when you use a power that has the fire or the radiant keyword.
At 11th level, this bonus increases to +2. At 21st level, it increases to +3.

ZXCV123 Avandra’s Rescue [Divinity]
Prerequisite: Channel Divinity class feature, must worship Avandra
Benefit: You gain the Avandra’s rescue power.
ZPOWER Avandra’s Rescue

And this is the actual XML in the mod:


<featAvandrasRescue>
<name type="string">Avandra’s Rescue</name>
<source type="string">Feat </source>
<description type="formattedtext"><table><tr><td><b>Prerequisite:</b>Channel Divinity class feature, must worship Avandra</td></tr></table><table><tr><td><b>Benefit:</b>You gain the Avandra’s rescue power.</td></tr></table></description> <class type="string">Feats</class>
<level type="number">-1973</level>
<school type="string">Divinity</school>
<tier type="string">Heroic</tier>
<type type="string">Feat</type>
<flavor type="formattedtext"><p><i></i></p></flavor>
<prerequisite type="string">Channel Divinity class feature, must worship Avandra</prerequisite>
<effect type="string">You gain the Avandra’s rescue power.</effect>
<linkedpowers>
</linkedpowers>

One thing I've noticed... in the 4e ruleset reference_powers.xml, the "effect type" string never shows up. Could that be the culprit here? Where that XML seems to be setting strings is:


if linknode then
name.setValue(NodeManager.get(linknode, "name", ""));
prerequisite.setValue(NodeManager.get(linknode, "prerequisite", ""));
shortdescription.setValue(NodeManager.get(linknode , "shortdescription", ""));
end

But I'm out of my depth at this point...

Bleak Midwinter
February 11th, 2012, 21:09
It's a good question, I've just scraped a bunch of books and the benefits don't show for them either.

bnason
February 11th, 2012, 21:52
Weird. As I said - I'm far from an expert when it comes to this stuff - but in looking at the way that the 4e ruleset compiles the feat lists, it appears to refer to the benefit "string" as something like "shortdescription". But -- the actual parser doesn't include any kind of text string / field / etc. that prefaces the benefit text like that.

I've tried putzing around with it but I'm out of my league :p Going to experiment more as I compile everything into the PHB reference I'm building - will report back with what I find!

Zeus
February 11th, 2012, 21:57
Looking for some help... I've scrapped the PHB1 using the 4eparser, and created a PHB module in my library. When I click into the feats link, I get the following list - which is awesome, except that the benefits description is missing.

Benefits show up when I click into the feats -- they're in the data. Trying to figure out why they don't show up in this feat list though.
Add the benefits again at the end of the feat using the ZSD tag. e.g. for Astral Fire, I use:


ZXCV123 Astral Fire
Prerequisites: Dex 13, Cha 13
Benefit: You gain a +1 feat bonus to damage rolls
when you use a power that has the fire or radiant
keyword.
At 11th level, this bonus increases to +2. At 21st
level, it increases to +3.
ZSD +1 damage with fire or radiant power
That should list the benefit in the List view as well as in the actual Feat when opened.

Griogre
February 11th, 2012, 22:02
Nice eyes. You are correct. The parser is generating the effect element and the ruleset is looking for the shortdescription element.

This Extension is a fix for the problem until either JPG or EugeneZ can correct the error. This extension fixes all feat tables not just the one in the PH so PH2, HotFL, etc. I only did a cursory check so let me know of any errors

Download the extension here: https://dl.dropbox.com/u/16650435/4E%20FeatTableFix%2009.ext

Edit: DrZeuss' approach is better if you are entering feats manually because extensions to window classes are fragile. But since the window class effected is only the feat table it should be ok.

bnason
February 11th, 2012, 22:17
Awesome guys, thanks for the quick replies. I knew something was off (obviously) but wasn't sure how to fix it. Have new players in my games and the feat table is a really handy quick reference, if the effects are listed. :)

Many thanks!

Moon Wizard
February 11th, 2012, 23:11
OK, I haven't changed anything in my PHB module in over a year, and the feats show benefits just fine. Was there a change in the parser?

The effects field that you are using the extension is actually the "long" version of the text, whereas the "shortdescription" is supposed to the "short" version, similar to how it is shown in the PHB tables.

Cheers,
JPG

Bleak Midwinter
February 11th, 2012, 23:19
So ... where do I put the extension?

Griogre
February 12th, 2012, 00:55
OK, I haven't changed anything in my PHB module in over a year, and the feats show benefits just fine. Was there a change in the parser?

The effects field that you are using the extension is actually the "long" version of the text, whereas the "shortdescription" is supposed to the "short" version, similar to how it is shown in the PHB tables.

Cheers,
JPG
I think it was a change to the parser. Scraped feats don't have a shortdescription they just have description and effect. I scraped the data last month and am looking at the PH client file. The effect text is just the paragraph description the description is everything.


<featBackToTheWall>
<name type="string">Back to the Wall</name>
<source type="string">Feat </source>
<description type="formattedtext"><table><tr><td><b>Prerequisite:</b>11th level</td></tr></table><table><tr><td><b>Benefit:</b>Whenever you are adjacent to a wall, you gain a +1 bonus to melee attack rolls, melee damage rolls, and AC.</td></tr></table></description> <class type="string">Feats</class>
<level type="number">-11</level>
<school type="string">General</school>
<tier type="string">Paragon</tier>
<type type="string">Feat</type>
<flavor type="formattedtext"><p><i></i></p></flavor>
<prerequisite type="string">11th level</prerequisite>
<effect type="string">Whenever you are adjacent to a wall, you gain a +1 bonus to melee attack rolls, melee damage rolls, and AC.</effect>

</featBackToTheWall>

Griogre
February 12th, 2012, 01:15
So ... where do I put the extension?
Extensions go in the extensions folder in FG data apps. Its possible you don't have one yet. To check press Start -> All Programs -> Fantasy Grounds II -> Application Data Folder. Look for an extensions folder. If you don't have one then create one, note the plural and lower case e. Then just copy any extension in there. When FG starts if you click on a 4E campaign you should see a list of extensions for that ruleset. Extensions usually are made to match up with a certain rulesets though there a some, like letter tokens, that are available for all rulesets.

Edit: fix typos.... :p

Bleak Midwinter
February 12th, 2012, 08:46
Thank you, Giogre - it works and I didn't even have to re-parse. This makes me inordinately happy! (Well, I guess I have to re-parse once items work again but oh well!)

Griogre
February 12th, 2012, 18:30
By the way, on your monsters DDI is not consistent with Perception. You should open the npcs.txt file and mass replace Perception+ with Perception + and Perception- with Perception - this will make sure all your monster's perceptions in up in the right place instead of in special defenses.

Moon Wizard
February 12th, 2012, 18:35
It looks like the benefit text is actually missing. The effect text in the example you posted is the full text of the feat, not the short version used in the tables.

Regards,
JPG

bnason
February 12th, 2012, 18:52
Where should it be? The benefit text shows in the description table, but not as a separate string entry.

Griogre
February 12th, 2012, 22:33
It looks like the benefit text is actually missing. The effect text in the example you posted is the full text of the feat, not the short version used in the tables.

Regards,
JPG
That wouldn't be that surprising I guess, WotC might have been tinkering with the feat data.

Griogre
February 12th, 2012, 22:47
Where should it be? The benefit text shows in the description table, but not as a separate string entry.
I think JPG was talking about the one line Benefit column data in the book. Apparently the scraper is not getting it from DDI. It may not be in there anymore since DDI doesn't do that table.

What I did in the extension was just take the effect text (called benefit in the feat window) and use it instead of the missing benefit text. It was the shortest description I could find since I didn't realize there was suppose to be a different one line text until I saw DrZuess' post.

This expands the length of the table a fair amount, though it might be better than nothing.

Moon Wizard
February 13th, 2012, 07:27
Can anyone working with the parser or DDI data confirm whether the short version of the feat description is no longer there?

Thanks,
JPG

Griogre
February 14th, 2012, 19:49
I can confirm Martial Power 2 is that way for feats, I scraped it and parsed it last Sunday to see what tag was messing up Cold Midwinter. I don't use it as a source book in my games so I'm not sure of the internal layout of the book. I usually keep backups of scrapes one back in case WotC changes the database so I can also say the scrape I did on 2/12/11 for Martial Power 2 was the same way.

The PH I scraped on 1/3/12 is the same but I don't have an old backup with a date because I was using the Deluxe PH before that and just used copied over the txt files not in DDI anymore.

I also scraped HotFL and HotFK on 1/4/12 and they both don't have benefit column info but then the actual books don't have tables of feats that have a benefit column either. The HotFL backup I have from 5/5/11 is the same as is the 2/23/11 HotFK backup.

Heroes of Shadow follows the same format and doesn't have feat tables with a benefit column or benefit column text on the 1/4 scrape I have.

The PH2 I have also doesn't have a benefit table line either the 1/3/12 scrape or the 2/23/11 backup.

Those are the only ones I've checked.

Zeus
February 15th, 2012, 20:44
Yes, I also confirm that that the Parser syntax for ZSD pre-dates support for DDI and in addition DDI doesn't hold the data (short benefit description).

The ZSD syntax for Feats can only be used if you have a PDF source of the rulebook, text editor and some coffee+smokes. Close examination of the hardback books will reveal the short description is a summarised version of the full effect description.