Stat Block Reader

Discussion of initiative tool.

Moderators: dorpond, Azhrei

User avatar
Blakey
Dragon
Posts: 778
Joined: Fri Mar 23, 2007 11:27 am
Location: Sussex, UK.

Stat Block Reader

Post by Blakey »

Can I make a request for some sort of configurable Stat Block reader?

I know this is going to be incredibly hard to do judging from discussions on other forums about this but it would save so much time when porting published modules to InitTool if you could just paste stat blocks of NPCs into a field and the program could go off and digest it and generate a new NPC.

On a similar line something to read monster race descriptions, like those in the SRD, but customisable...?

Blakey
The guy in the green hat.

dorpond
RPTools Team
Posts: 5534
Joined: Thu Jun 01, 2006 2:05 pm
Location: Buffalo, NY

Post by dorpond »

I would love a stat block reader tool of some sort. Anything that can speed up my gaming and as you all know, entering data is way too time consuming :)

Pfhreak
Cave Troll
Posts: 60
Joined: Mon Feb 19, 2007 12:48 pm

Post by Pfhreak »

I'm not sure what this tool might be, could you explain it a little more?

User avatar
jay
RPTools Team
Posts: 1767
Joined: Tue Feb 07, 2006 1:07 am
Location: Austin, Tx

Post by jay »

Sounds like a good idea, I'll add a tracker.

User avatar
Blakey
Dragon
Posts: 778
Joined: Fri Mar 23, 2007 11:27 am
Location: Sussex, UK.

Post by Blakey »

Pfhreak wrote:I'm not sure what this tool might be, could you explain it a little more?
You have a data entry field (like one where you post on the forums) and into that you copy a stat block from a PDF or wherever. You then press the "Go" button.

The program then looks at the stat block and intelligently reads it and converts it to InitTool format (XML or whatever) and saves it as a valid NPC or monster.

Simple concept, but the difficulty lies in parsing the stat block in an intelligent manner...

Cheers
Blakey
The guy in the green hat.

User avatar
Blakey
Dragon
Posts: 778
Joined: Fri Mar 23, 2007 11:27 am
Location: Sussex, UK.

Post by Blakey »

Was just thinking. Anyone could make this tool as a standalone tool. All we need is something which you shove a stat block into one end and it grabs it, parses it and can split the result up into the correct fields. This tool can then export the resulting fields in say XML format which we can copy and paste straight into the database for InitTool.

NPC/Monster sausage machine anyone? :D

Blakey
The guy in the green hat.

User avatar
Steel Rat
Great Wyrm
Posts: 1765
Joined: Tue Jun 13, 2006 5:55 pm
Location: Oak Harbor, WA
Contact:

Post by Steel Rat »

Yeah, would love to see something like this. So one could use one of the various NPC generators, like Jamis Buck's, and paste the resulting stat block into IT to create a combatant.
Steel Rat
-----------
RPGMapShare.com - RPG Maps and Mapping objects.
Discord Server

Pfhreak
Cave Troll
Posts: 60
Joined: Mon Feb 19, 2007 12:48 pm

Post by Pfhreak »

That wouldn't be that hard to do, but is there a standard format for these? I mean, I know I've seen them around, but do they all follow the same patterns?

Edit: I'm going to work with Jamis Buck's 3.5 generator for the time being. Because that's the one I'm thinking of using in my campaign.

User avatar
Blakey
Dragon
Posts: 778
Joined: Fri Mar 23, 2007 11:27 am
Location: Sussex, UK.

Post by Blakey »

Pfhreak wrote:That wouldn't be that hard to do, but is there a standard format for these? I mean, I know I've seen them around, but do they all follow the same patterns?
That is exactly the problem this suffers from - there are so many different standards in modules to be able to handle. You will need to come up with some very clever parsing scheme to parse all different options.

WotC have now come up with a new format which is published in the DMG2 and on their web page - but loads of modules use old formats or their own format.

Jamie's NPC generator is well worth working with as it's frequently used. But for those of us who want to port modules we need something very clever.

Perhaps we could start a thread where people post example stat blocks and when we have a program to play with there will be a load of examples to test it on.

Cheers
Blakey
The guy in the green hat.

User avatar
Steel Rat
Great Wyrm
Posts: 1765
Joined: Tue Jun 13, 2006 5:55 pm
Location: Oak Harbor, WA
Contact:

Post by Steel Rat »

Blakey wrote:
Pfhreak wrote:That wouldn't be that hard to do, but is there a standard format for these? I mean, I know I've seen them around, but do they all follow the same patterns?
That is exactly the problem this suffers from - there are so many different standards in modules to be able to handle. You will need to come up with some very clever parsing scheme to parse all different options.

WotC have now come up with a new format which is published in the DMG2 and on their web page - but loads of modules use old formats or their own format.

Jamie's NPC generator is well worth working with as it's frequently used. But for those of us who want to port modules we need something very clever.

Perhaps we could start a thread where people post example stat blocks and when we have a program to play with there will be a load of examples to test it on.

Cheers
Blakey
DMGenie uses the same Stat Block format that Jamis Buck's NPC creator uses. I haven't delved into it, but I thought there was a standard for D&D 3.0, 3.5, etc.
Steel Rat
-----------
RPGMapShare.com - RPG Maps and Mapping objects.
Discord Server

Pfhreak
Cave Troll
Posts: 60
Joined: Mon Feb 19, 2007 12:48 pm

Post by Pfhreak »

Well, I've almost got Jamies working, but it's time to go to work.

After I get it basically working, I'll get started on another format. Perhaps you could provide me with links to the 'official format' or other common formats that people use so I can cover as many bases as quickly as possible.

dorpond
RPTools Team
Posts: 5534
Joined: Thu Jun 01, 2006 2:05 pm
Location: Buffalo, NY

Post by dorpond »

Steel Rat wrote: DMGenie uses the same Stat Block format that Jamis Buck's NPC creator uses. I haven't delved into it, but I thought there was a standard for D&D 3.0, 3.5, etc.
Yes, I use Jamis Buck's all the time with DMGENIE. While they are slightly different formats, DMGENIE has a pretty intelligent converter that will convert it into DMGENIE as a character.

Not too long ago WOTC changed their stat blocks completely from what we have been using for years. There are mixed opinions one which is better. The new stat block does not work with many converters including DMGENIES'

If we were to create a converter of some sort, I would love for it to work with both (or any) stat blocks available out there -- if it is even possible :P

User avatar
Steel Rat
Great Wyrm
Posts: 1765
Joined: Tue Jun 13, 2006 5:55 pm
Location: Oak Harbor, WA
Contact:

Post by Steel Rat »

And WotC probably didn't post the structure of their format, so you'd have to guess based on examples.
Steel Rat
-----------
RPGMapShare.com - RPG Maps and Mapping objects.
Discord Server

Pfhreak
Cave Troll
Posts: 60
Joined: Mon Feb 19, 2007 12:48 pm

Post by Pfhreak »

Ok, I'm making major headway into Jamis' stat blocks. So far I can turn this:

Code: Select all

Joey, male halfling Rog11: CR 11; Size S (2 ft., 11 in. tall); HD 11d6; hp 41; Init +9 (+5 Dex, +4 Improved Initiative); Spd 20 ft.; AC 16 (+5 Dex, +1 Size); Attack +8/+3 (+8 Base, -1 Str, +1 Size) melee, or +14/+9 (+8 Base, +5 Dex, +1 Size) ranged; SV Fort +4 (+3 Base, +1 Racial), Ref +13 (+7 Base, +5 Dex, +1 Racial), Will +7 (+3 Base, +3 Wis, +1 Racial); AL NE; Str 9 (-1), Dex 20 (+5), Con 11 (+0), Int 14 (+2), Wis 16 (+3), Cha 10 (+0).

Languages Spoken: Common, Dwarven, Halfling, Orc.

Skill points: Rog 140

Skills and feats: Appraise +14 (+12 Rank, +2 Int), Bluff +9 (+9 Rank), Climb +1 (-1 Str, +2 Racial), Disable Device +9 (+7 Rank, +2 Int), Disguise +14 (+12 Rank, +2 Deceitful), Escape Artist +19 (+14 Rank, +5 Dex), Forgery +18 (+14 Rank, +2 Int, +2 Deceitful), Hide +9 (+5 Dex, +4 Size), Jump +8 (+7 Rank, -1 Str, +2 Racial), Knowledge (Local) +13 (+11 Rank, +2 Int), Listen +5 (+3 Wis, +2 Racial), Move Silently +7 (+5 Dex, +2 Racial), Open Lock +11 (+6 Rank, +5 Dex), Search +13 (+11 Rank, +2 Int), Sense Motive +17 (+14 Rank, +3 Wis), Spot +12 (+9 Rank, +3 Wis), Tumble +19 (+14 Rank, +5 Dex); Blind-Fight, Deceitful, Dodge, [Evasion], Improved Initiative.

Possessions: 21,000 gp in gear.
Into this:

Code: Select all

<family>halfling</family>
<name>Joey</name>
<size>Size S (2 ft., 11 in. tall)</size>
<type>Humanoid</type>
<descriptor>halfling, male, Rog11</descriptor>
<hitDice>HD 11d6 (hp 41)</hitDice>
<initiative>Init +9 (+5 Dex, +4 Improved Initiative)</initiative>
<itInitiativeModifier>9</itInitiativeModifier>
<speed>Spd 20 ft.</speed>
<armorClass>AC 16 (+5 Dex, +1 Size)</armorClass>
<ac>16</ac>
<attack>+8 Melee, or +14 Ranged</attack>
<fullAttack>+8/+3 (+8 Base, -1 Str, +1 Size) melee, or +14/+9 (+8 Base, +5 Dex, +1 Size) ranged</fullAttack>
<space>5 ft.</space>
<reach>5 ft.</reach>
<skills>Total Skill Points: Rog 140
Appraise +14 (+12 Rank, +2 Int), Bluff +9 (+9 Rank), Climb +1 (-1 Str, +2 Racial), Disable Device +9 (+7 Rank, +2 Int), Disguise +14 (+12 Rank, +2 Deceitful), Escape Artist +19 (+14 Rank, +5 Dex), Forgery +18 (+14 Rank, +2 Int, +2 Deceitful), Hide +9 (+5 Dex, +4 Size), Jump +8 (+7 Rank, -1 Str, +2 Racial), Knowledge (Local) +13 (+11 Rank, +2 Int), Listen +5 (+3 Wis, +2 Racial), Move Silently +7 (+5 Dex, +2 Racial), Open Lock +11 (+6 Rank, +5 Dex), Search +13 (+11 Rank, +2 Int), Sense Motive +17 (+14 Rank, +3 Wis), Spot +12 (+9 Rank, +3 Wis), Tumble +19 (+14 Rank, +5 Dex)</skills>
<saves>Fort +4 (+3 Base, +1 Racial), Ref +13 (+7 Base, +5 Dex, +1 Racial), Will +7 (+3 Base, +3 Wis, +1 Racial)</saves>
<fortSave>+4</fortSave>
<reflexSave>+13</reflexSave>
<willSave>+7</willSave>
<abilities>Str 9 (-1), Dex 20 (+5), Con 11 (+0), Int 14 (+2), Wis 16 (+3), Cha 10 (+0)</abilities>
<challengeRating>11</challengeRating>
<alignment>AL NE</alignment>
All I have left to hook from the stat block are the following:

Code: Select all

In the Block:
$treasure;
$specialAbilities; (Spells Known goes here?)
$specialAttacks; (Or maybe here?)
$specialQualities; (or possibly here?)
$feats;

Sometimes in the block:
$baseAttack; (This one can be turned on and off in the options for the block. I am currently leaving it out, until I finish the generic block reader, then I can add a check for it.)

Always the same:
$advancement; (As Character)
$itCategory; (NPC?)

Not In the Block:
$epicFeats; (Char gen only goes to 20)
$environment; (Tabletop? :lol:)
$organization; 
$touchAc; (This could be calculated, but because I figured you'd be putting armor on the character anyways, I'd let you fill it in)
$flatFootedAc; (This could be calculated, but because I figured you'd be putting armor on the character anyways, I'd let you fill it in)
$grapple;
Some of those aren't present in the block, as you can see.

If I don't get it done today, I'll have it online for you tomorrow morning.

User avatar
Blakey
Dragon
Posts: 778
Joined: Fri Mar 23, 2007 11:27 am
Location: Sussex, UK.

Post by Blakey »

Impressive!

What happens if you stick <possessions> in there? Does it break the loader like I think it does?

I have expanded the default data to add <spellsKnown> and <possessions> to all mine as they are very useful for NPCs in general. I feel these could be 'standard' custom tabs for D&D NPCs. <spellsKnown> I'm using to represent spells learnt today and also any spell like abilities the NPCs have.

When you've got this up and running I'd like to throw a few other format stat blocks at you and see if you can deal with them if that's okay?

One thing I have realised in our favour in this case is we don't need to know how to parse details of each section. When we looked at this for DMGenie it tried to figure out classes, levels, attacks and everything from the stat block. In this case it just needs to stick text into XML fields - much easier.

e.g. "Elbeneth, female drow Clr12 (Lolth): CR 11...." should parse as easily as "Elbeneth, female drow Cleric 12th (Lolth): CR 11....". Likewise "HD 11d6; hp 41" works as well as "HD 11d6 (41 hp)" in the text field - I can understand both equally.

I'm rambling now...

Blakey
The guy in the green hat.

Post Reply

Return to “InitiativeTool”