PDA

View Full Version : Skill Module?



adminwheel3
July 11th, 2010, 02:46
How would you recommend making a Module which would hold all of the PHB Skill information?

From what I understand this info can't be scraped from the Compendium, so I asume I would have to manually copy it, paste it into a text file and then edit it. I created such a file and pointed my updated 4E parser to it with a sample of information, however no additional Skill entry was available in the Library after I opened the module:

ZSkill; Perception
ZAbility; Wisdom
ZText; Make a Perception check to notice clues, detect secret doors, spot imminent dangers, find traps, follow tracks, listen for sounds behind a closed door, or locate hidden objects.
ZText; This skill is used against another creature’s Stealth check or against a DC set by the DM. In most situations, the DM uses your passive Perception check result to determine if you notice a clue or an imminent danger.

PublicJohnDoe
July 11th, 2010, 07:10
You have to "close" every skill "block" (ZSkill, ZAbility, ZText) with this:

Zarmorcheckpenalty; 0

Otherwise, it won't work correctly.

adminwheel3
July 11th, 2010, 17:06
Not having any luck. I've tried both this:

ZSkill; Perception
Zarmorcheckpenalty; 0
ZAbility; Wisdom
Zarmorcheckpenalty; 0
ZText; Make a Perception check.
Zarmorcheckpenalty; 0

And this:

ZSkill; Perception
ZAbility; Wisdom
ZText; Make a Perception check.
Zarmorcheckpenalty; 0

And the results are the same - I get a Skill entry in the Library Module, I get a Perception entry under Skills and opening Perception it even had [Wisdom] listed. However there is no descriptive text.

(see attached screen shot)

PublicJohnDoe
July 11th, 2010, 17:14
Mmm... strange.

Here's an excerpt from my file:

ZSkill; Streetwise
ZAbility; Charisma
ZText; <p>When in a settlement... [snip]...</p>
Zarmorcheckpenalty; 0

This way it works perfectly. Have you tried formatting the ZText with <p>...</p> tags?

adminwheel3
July 11th, 2010, 18:29
That did it!

Tenian, if you happen to read this, capturing the fact that <p> is required in the documentation would be handy. I'd also recommend rephrasing "Zarmorcheckpenalty has no real use." to something like "Zarmorcheckpenalty has no real use other than to close the skill blocks and as such, is required at the end of each."

Lastly, "ZAbility; {Skill}" should be changed to "ZAbility; {Ability}" since you're lising the stat there and not the skill again.

Currently it reads:

*************************************************
Skills
*************************************************
-Output:
Data is displayed in the Library "Skills"
-Input:
Data File:
ZSkill;{Name}
ZAbility; {Skill}
ZText; {formatted text}
Zarmorcheckpenalty; {1|0}

-Notes:
Zarmorcheckpenalty has no real use.
ZText; must preceed every line of formatted text. This was the first parser that handled formatted text so it is a bit clunky. Some day I may rewrite it.

adminwheel3
July 11th, 2010, 19:35
Does anyone happen to know if the parser supports, or if I can manually edit the resulting .mod file to include formating such as bullet points and tables and such?

Zeus
July 11th, 2010, 20:33
That did it!

Tenian, if you happen to read this, capturing the fact that <p> is required in the documentation would be handy. I'd also recommend rephrasing "Zarmorcheckpenalty has no real use." to something like "Zarmorcheckpenalty has no real use other than to close the skill blocks and as such, is required at the end of each."

Lastly, "ZAbility; {Skill}" should be changed to "ZAbility; {Ability}" since you're lising the stat there and not the skill again.

Currently it reads:

*************************************************
Skills
*************************************************
-Output:
Data is displayed in the Library "Skills"
-Input:
Data File:
ZSkill;{Name}
ZAbility; {Skill}
ZText; {formatted text}
Zarmorcheckpenalty; {1|0}

-Notes:
Zarmorcheckpenalty has no real use.
ZText; must preceed every line of formatted text. This was the first parser that handled formatted text so it is a bit clunky. Some day I may rewrite it.

Zarmorcheckpenaltyl {1|0} is used to not only mark the end of a skill block but also determines if skill checks based upon the skill are impeded by heavy armor e.g. Acrobatics which if a player is wearing say plate armor would be at -1 on any Acrobatics skill check.

So Zarmorcheckability does have a functional use.

Zeus
July 11th, 2010, 20:37
Does anyone happen to know if the parser supports, or if I can manually edit the resulting .mod file to include formating such as bullet points and tables and such?

The ZText; {formatted text} line means you can use FGII formatted text tags including <p>, <b>, <i>, <list>, <table> and <frame> for Skill text.

Your probably better off editing the skill ZText to include the bulleted lists rather than attempting to hand edit the .mod XML output.

Stitched
July 11th, 2010, 21:27
Does this format apply to creating all the inherent Class features as well? (They don't parse when using the 4e Parser)

For example: Fighter (page 76 of the PHB)

"Combat Challenge, Combat Superiority, Fighter Weapon Talent"

While for the most part, this is Fluff text and is usually calculated into a DDI sheet's numbers, it would be nice to have the database links in the PHB to fill out the "Special Abilities" slot on the Player's character sheet.

What is the link to Tenian's database syntax for creating mods?

adminwheel3
July 11th, 2010, 21:50
Thanks DrZeuss, I'll play with <list> <table> and <frame> and see what happens.

Stitched, I ended up manually editing my powers.txt file and setting those class features up as feats so I could have them on the special abilities area.

However I'm sure there's a better way to do it.

As for the documentation, when you install the parser it also creates a shortcut to a "Documents" folder, which contains a txt file on known issues, version history and the parser documentation itself.

Stitched
July 11th, 2010, 22:36
From the docs -


Note:
Class specific tags (example Artful Dodger) from the PHB and FR:PG are all included. Tags from newer material need to be added as dynamic tags.

Class File:
-Old format (still valid)
{Class|Paragon|Epic};{full name};{name if one word};{first 2 words of name if multiple words};{output class};{Power Identifier}

-New format
{Class|Paragon|Epic};{full name};{output class};{Power Identifier};{[Catalog Group]}

-Dynamic tags
{Dynamic};{Tag}


So, it feels like that the the Class Feature information is parsed or at least, included, in the text. However I find no direct entries for it; especially "Artful Dodger"

EugeneZ
July 11th, 2010, 23:19
Tags like "Artful Dodger" are to help the parser understand the blocks in powers that are feature-specific. Like, "Artful Dodger: In addition to the above, shift a number of squares equal to your Charisma modifier" or whatever. There's not much more to it besides that, and it doesn't actually add any functionality to the resulting parse. Just bolds the text in the power stub, I guess.

Also, Tenian wanted me to mention that "Artful Dodger isn't a skill" but I'm pretty sure you know that already.

adminwheel3
July 12th, 2010, 01:55
So after making my eyes blur learning how to do basic formatting in xlm, attached is the best I was able to come up with.

Is there anything more I can do? Coloring or changing the size of the font? Shading the cells?

Or have I reached the limits of what I can do with {formatted text} ?

Stitched
July 12th, 2010, 08:09
Also, Tenian wanted me to mention that "Artful Dodger isn't a skill" but I'm pretty sure you know that already.

Heh. Yeah, I know that. I am looking to "fill in" the missing data by hand. Just wanted to know what template block to use when entering in the information (formatting, tag, etc.)

Stitched
July 12th, 2010, 08:13
So after making my eyes blur learning how to do basic formatting in xlm, attached is the best I was able to come up with.

Is there anything more I can do? Coloring or changing the size of the font? Shading the cells?

Or have I reached the limits of what I can do with {formatted text} ?

This looks good! It's probably the way I will go for Class Features. Are you allowed to post the code snippet for the formatting?

adminwheel3
July 12th, 2010, 12:51
I think so long as I don't post the actual text it should be fine.

I'll do that a little later today.

Stitched
July 12th, 2010, 13:56
Sorted.
It's sometimes a bit crashy but I am really starting to love XML Notepad's Tree View for working with duplicate database entries. I may end up breaking down and pick up a student version of oXygen's XML Editor or maybe code up an editor and handles a lot of the duplicated data that occurs when working with databases (see it a lot in weapons / equipment listings).

Tenian
July 13th, 2010, 00:17
The best way to enter features is....surprisingly enough...as features. You can place them in the powers file just like a standard power:



Combat Challenge Fighter Feature
blah blah blah paragraph 1
\r
blah blah blah paragraph 2


This allows you to add them to character sheets, as powers, which means the various effects parse out of them. They generally show up as Situational Powers.

For large blocks of formatted text, the reference section is what you want. It supports all the formatted text tags that FGII supports and it organizes everything in a nested structure:
GROUP (Chapter) -> SUBGROUP (Section) -> ARTICLE (Actual Text)

The reference file is a lot easier to format than the skill file (no need to put ZSKILL on every line, support for adding links to other articles/powers/etc).

Oh and Features aren't processed for classes from the compendium because the Class section of the compendium is very poorly organized. Search for Fighter and you'll find it appears only in Player's Handbook....but the actual text it returns includes entries from both Martial Power volumes.
Paragon Path and Epic Destiny features are organized in a much more logical format, so they ARE processed by the extraction routines.

Stitched
July 20th, 2010, 03:20
@Tenian

Awesome! Thanks for the information. I just duplicated a Racial Feature entry, using XML Notepad, and went from there. Seems to work fine.

Stitched
July 20th, 2010, 11:05
Actually, maybe here is the best place to ask this:

Is it BETTER to edit the parsed text file to add entries or edit the XML's directly to add information (which is what I have been doing with success)?

Stitched
July 20th, 2010, 12:53
"The ZText; {formatted text} line means you can use FGII formatted text tags including <p>, <b>, <i>, <list>, <table> and <frame> for Skill text."

Since I am editing, using the XML Notepad, is it possible to add a table inside a Feature entry (without the 4e Tables extension) like the below image?

Stitched
July 20th, 2010, 21:30
Further digging into Tables...

The listing for Power Attack appears corrupted in FG2.

XML entry looks like this :


<table>
<tr>
<th>Level</th>
<th>Extra Damage (Two-Handed Weapon)</th>
</tr>
<tr>
<td>1st-10th</td>
<td>+2 (+3)</td>
</tr>
<tr>
<td>11th-20th</td>
<td>+4 (+6)</td>
</tr>
<tr>
<td>21th-30th</td>
<td>+6 (+9)</td>
</tr>
</table>


However, the output in game looks like this:
1444

Is there a problem with the tags? I tried switching on/off the 4e Tables and 4e Font extensions but the problem persists. The xml was generated with the latest 4e Parser version (4.0.89.0)

Zeus
July 21st, 2010, 00:02
"The ZText; {formatted text} line means you can use FGII formatted text tags including <p>, <b>, <i>, <list>, <table> and <frame> for Skill text."

Since I am editing, using the XML Notepad, is it possible to add a table inside a Feature entry (without the 4e Tables extension) like the below image?


If you just want a table for display purposes, use the formattedtext tags <table>, <tr> and <td> for defining a table, row and cell. e.g.


<table>
<tr><td>Header 1</td><td>Header 2</td><td> ... </td>
<tr>
<td>Row 1 Cell 1 Data</td><td>Row 1 Cell 2 Data</td><td>... </td>
</tr>
<tr>
<td>Row 2 Cell 1 Data</td><td>Row 2 Cell 2 Data</td><td>... </td>
</tr>
...
</table>

If on the other hand you want a Table compatible with my 4E Tables extension, I would add a reference link to the table itself, much simpler and allows for all functional table rolls.

Stitched
July 21st, 2010, 09:42
Cool. I think the formatting got broken for that entry when it got scraped. Will have to try to fix it and see.

Does only the GM need the Tables extension?

*Addendum - Yup. The formatting tags were a mess and breaking FG2 trying to display it.

Do you know if it's possible to make tables looks more like 4e? (the colour banding, etc.)

Stitched
July 21st, 2010, 10:58
Running into another problem.

Is there a particular location to add a table in an entry?

Currently I am tacking a table on the bottom of an entry and it's not appearing.


<classfeatureHuntersQuarry>
<name type="string">Hunter's Quarry</name>
<source type="string">Ranger Feature</source>
<shortdescription type="string">Once per turn as a minor action, you can designate the enemy nearest to you as your quarry. Once per round, you deal extra damage to your quarry. The extra damage is based on your level. If you can make multiple attacks in a round, you decide which attack to apply the extra damage to after all the attacks are rolled. The hunter&#x2019;s quarry effect remains active until the end of the encounter, until the quarry is defeated, or until you designate a different target as your quarry. You can designate one enemy as your quarry at a time.</shortdescription>
<class type="string">Class</class>
<powertype type="string">Feature</powertype>
<level type="number">-1991</level>
<tier type="string">Heroic</tier>
<type type="string">Feature</type>
<flavor type="formattedtext">
<p>
<i>Once per turn as a minor action, you can designate the enemy nearest to you as your quarry. Once per round, you deal extra damage to your quarry. The extra damage is based on your level. If you can make multiple attacks in a round, you decide which attack to apply the extra damage to after all the attacks are rolled. The hunter&#x2019;s quarry effect remains active until the end of the encounter, until the quarry is defeated, or until you designate a different target as your quarry. You can designate one enemy as your quarry at a time.</i>
</p>
</flavor>
<stringflavor type="string">Once per turn as a minor action, you can designate the enemy nearest to you as your quarry. Once per round, you deal extra damage to your quarry. The extra damage is based on your level. If you can make multiple attacks in a round, you decide which attack to apply the extra damage to after all the attacks are rolled. The hunter&#x2019;s quarry effect remains active until the end of the encounter, until the quarry is defeated, or until you designate a different target as your quarry. You can designate one enemy as your quarry at a time.</stringflavor>
<table>
<tr>
<td>
<b>Level</b>
</td>
<td>
<b>Hunter's Quarry Extra Damage</b>
</td>
</tr>
<tr>
<td>1st-10th</td>
<td>+1d6</td>
</tr>
<tr>
<td>11th-20th</td>
<td>+2d6</td>
</tr>
<tr>
<td>21th-30th</td>
<td>+3d6</td>
</tr>
</table>
</classfeatureHuntersQuarry>


This produces the text part fine but the table is invisible.

Zeus
July 21st, 2010, 18:12
Does only the GM need the Tables extension?

*Addendum - Yup. The formatting tags were a mess and breaking FG2 trying to display it.

Do you know if it's possible to make tables looks more like 4e? (the colour banding, etc.)


The extension will be transferred to clients who don't have it installed locally when they connect to the hosted campaign. Its up to you if you want to distribute the extension to all your players for local install ahead of the game (may speed up connection times for the players).



Do you know if it's possible to make tables looks more like 4e? (the colour banding, etc.)

The <tr> tag supports a decoration style which use can use to bold and underline header text .e.g.
<tr decoration="underline">. Beyond that and aside from colspan support there are no other formatting options that FGII supports. Its a nice idea though, so I would submit a feature request to the latest wishlist (4th version is the latest I believe).



Is there a particular location to add a table in an entry?


As far as I know the <table> tag along with <p>,<i>,<frame and <list> can only be used inside a <formattedtext> set of braces.

Stitched
July 21st, 2010, 19:26
Yay! That did the trick.

Thanks for the assistance.

Zeus
July 22nd, 2010, 00:16
No worries.

Jalum
August 12th, 2010, 06:54
8/12/2010 12:40:17 AM : ERROR:System.Xml.XmlException: The '\' character, hexadecimal value 0x5C, cannot be included in a name. Line 26202, position 397.

When parsing it locks up at this point is there something im missing? completely xml inept. If you need more info just let me know. The scrape seems to work fine it only happens when trying to parse the information. DrZeuss I followed your Dragonborn example but was working with PHB 4e, but it locks up here everytime in this same spot has to do with the warlock. Any insight or help would be very helpful.

Griogre
August 12th, 2010, 21:26
Basically the parser is tell you there is a / in a name. Because the name is turned into a tag this breaks the xml file because / can only be used to close tags not be in the middle of a tag. However, it is fairly unlikely to have a / in a name so what is really happening is there is some strange text where the parser thinks a name should be.

Sheer speculation, but when I was re-parsing some stuff last weekend usually when this error came up it meant there was a URL in a power.

To fix the problem you need to change the *text* file the parser is using to build the xml file and re-parse.

The first step is to load the xml file and find out what is on Line 26202 at position 397. I'd recommend Notepad++ for this if you don't have another editor (its a free editor google it to get the download link). The only thing you are looking for in the XML file is what power/ability/skill/npc is messing up and maybe what it wrong.

Once you know that, open the text file and find the power/ability/skill/npc and compare it to the ones above and below it. From the XML file you should have seen something strange so look for it in the text file and then change it to something correct.

Like I said earlier, for me it was usually a web address instead of a letter defining the power type so all I did was delete the URL and put in the correct letter to fix it.

Jalum
August 13th, 2010, 05:47
8/12/2010 11:24:49 PM : ERROR:System.Xml.XmlException: The '\' character, hexadecimal value 0x5C, cannot be included in a name. Line 12774, position 397.

<secondarytarget type="string">Each enemy other than the primary target adjacent to you</secondarytarget>
<secondaryattack type="string">Strength vs. Will</secondaryattack>
<secondaryhit type="string">1[W] + Strength modifier damage, and the target is stunned until the end of your next turn.</secondaryhit>

</powerStunningSmite>
*** <powerFateOfTheVoidWarlockPactBoon1YourCurseIntermi nglesWithTheLostVitalityOfACursedEnemyToRevealAGli mpseOfTheFutureToYou_At-WillFreeActionPersonalPrerequisite_StarPactTrigger _AnEnemyUnderYourWarlocksCurseIsReducedTo0HitPoint sOrFewerEffect_YouGainA_1BonusToAnySingleD20RollYo uMakeDuringYourNextTurn_attackRollSavingThrowSkill CheckOrAbilityCheck__IfYouDontUseThisBonusByTheEnd OfYourTurnItIsLost_\rThisBonusIsCumulative_IfThree CursedEnemiesDropTo0HitPointsOrFewerBeforeYourNext TurnYouGainA_3BonusToAD20RollDuringYourTurn_>
<name type="string">Fate of the Void Warlock Pact Boon 1 Your curse intermingles with the lost vitality of a cursed enemy to reveal a glimpse of the future to you. At-Will Free Action Personal Prerequisite: Star Pact Trigger: An enemy under your Warlock’s Curse is reduced to 0 hit points or fewer Effect: You gain a +1 bonus to any single d20 roll you make during your next turn (attack roll, saving throw, skill check, or ability check). If you don’t use this bonus by the end of your turn, it is lost.\r This bonus is cumulative; if three cursed enemies drop to 0 hit points or fewer before your next turn, you gain a +3 bonus to a d20 roll during your turn.</name>
<level type="number">0</level>
<tier type="string">Heroic</tier>
<type type="string">Power</type>
<flavor type="formattedtext"><p><i></i></p></flavor>

Okay this is the whole error as it jumps out in the parser. But there are alot of "/" these. I'm working on getting an xml editor but in the meantime does this make anymore sense to anyone else.. I'm tenacious and will figure this out but I'm working on a learning curve here. I've gotten alot help already but throwing it back to you guys. thanks for your time.

tdewitt274
August 13th, 2010, 13:54
The problem is with your opening tag (where the "***" is). I suggest that you check your parsed files (possibly "powers.txt") for the Power "Fate of the Void" and see what's happening there.

It's obvious that it didn't parse correctly, but you should be able to look at the entries before and after to determine what needs to be fixed. See DrZeuss' post on July 11th, 2010 14:33 for the tags.

Hope that helps.

Jalum
August 13th, 2010, 16:29
Success... Thanks alot there guys problem one solved. So one more quick question do you have any basic weapon entries when you parse PHB. I have Magic weapons but not basic weapons it is set to scrape so just didn't know if I shouldn't worry about it (same for armor). it was weird all that was locking it up was /r at the end of a sentence.