DnDAppFiles icon indicating copy to clipboard operation
DnDAppFiles copied to clipboard

Human Variant race

Open DnDPaladin opened this issue 7 years ago • 3 comments

Human variant race doesn't have the ability node. instead it is built into its traits which shouldn't be.

DnDPaladin avatar May 18 '17 13:05 DnDPaladin

The ability node is a set of fixed values, but Human (Variant) and all the Half-Elf Races have a 'choose two' feature instead which requires descriptive text and choices made by the player/user. What values do you think should be used in the ability node?

arpakarta avatar May 19 '17 00:05 arpakarta

Depends, of course i dont know how your program works, but since its XML and each program can entirely depends on words themselves... you could put "choose list of abilities" or something of the sort. in the program i use the variant gave me an error because it didn't have the ability node unlike all other races. had to put a test to see if the node existed and if it didn't just ignore it, but i think this method is kinda ridiculous. but that is just my view.

i thought it was better to have all the same nodes for simplicity sake. hence why i created this issue. but if you feel like its fine as it is, then fine by me, my program just takes the text and show it off anyway. as i said, i created this because i thought it was an error or something because all others have the ability node, including the half-elves. human variant didn'T. all that is to it.

DnDPaladin avatar Jun 11 '17 20:06 DnDPaladin

ah, I see. I didn't realize you were developing an app/viewer independent of the target application of this project, "GM5 and Fight Club apps from Lion's Den".

Since this project does not have influence over the app it is targeting, the files in Compendiums needs to conform with that program. For the sake of your program, you could make a Pull Request adding <ability>Str ?, Dex ?, Con ?, Int ?, Wis ?, Cha ?> to Human (Variant) and Half-Elf Races, which is compatible with the intended apps by adding lines of "+0" on each. I wouldn't know if ceryliae would accept that PR, but o/c you can maintain your own fork

As for coding against uncontrolled data (or semi-controlled via an external API etc), it is important to use robust parsing code. I recommend slicing out your desired elements without requiring them to exist, then dropping any known unwanted elements and placing any remaining content into a general notes/text area so that you have visible indication of the mismatch so you can catch any necessary changes and relieve time constraints on releasing code updates.

arpakarta avatar Jun 12 '17 16:06 arpakarta