Further notes on CMP to RSRD

From PCGen Wiki
Revision as of 18:44, 1 March 2012 by FerretDave (talk | contribs)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search

Miscellaneous comments on migrating CMP etc datasets to RSRD.

These comments are generic, and can easily apply to other game modes and other datasets, and are just what I've found to be useful, I'm offering them here to help those that wish to do similar, and in no way imply that you should be doing this. Standard disclaimer - you break it yourself, you fix it yourself. However, there are lots of VERY helpful people on the Lst Help Forum, just ask questions in a generic manner to avoid closed content issues please. These comments are just to try and help you avoid some of the pitfalls others have discovered.

First off, nearly all of these comments apply to the SRD just as easily as RSRD, take your preference, but stick to it, changing your mind half way through just confuses the issue.

Change the GAMEMODE in the appropriate PCC's from the CMP/Whatever, to 3e or 35e for SRD, RSRD respectively.

My own reasons for migrating to the RSRD gamemode, rather than using the CMP gamemode are based around being able to use new functionality, such as abilities instead of SAB, and reusing improved code for things like Turning/Rage etc, which then output to the printed character sheet in more definable ways. CMP reinvented the wheel completely for their datasets, so they had to duplicate the effort in building their own version of the SRD, and while they added better descriptions, these sets are full of typo's and errors, whereas the PCGen SRD is maintained and corrected. For example, my Forgotten Realms version(s) of the various Half Elves merely pretty much just mod the standard SRD Half Elf, and add the FR template - no need to rebuild all the features over again

Even if you do wish to keep the CMP gamemode, the guidance here should be of some help (I hope!)

I found that removing all SOURCESHORT:Blah and SOURCELONG:Blah (with various typo's of 'Blah'!) from data lines, and just have two such entries at the top of each file, makes editing the files easier. Obviously leave the SOURCEPAGE entries in place.

If there's a duplicate (or similar) 'thing' (Race/Class/Spell etc) in the RSRD, seriously consider altering your new entry to be a .COPY or .MOD of the RSRD 'thing'. You get the benefit of various data set fixes and improvements ([R]SRD datasets are actively maintained for PCGen, so take advantage of other people finding and fixing issues and typos) along with the improvements brought about by many things being moved to 'abilities' and other improvements.

Conversely, when you convert, if you're only doing one dataset at a time, chances are you'll get warnings that various things don't exist, as there's a lot of cross referencing. You can either try and convert multiple sets at once (or at least, the RSRD/base set along with whatever you're currently working on *or* temporarily have the new pcc include the RSRD standard set, so you have everything defined during the conversion), OR just ignore the warnings for now, and later on (when you actually load the RSRD and the new set as a source in PCGen), then go through and fix anything that is still an issue.

A principle to follow - you may have several datasets, and numerous races/classes therein, but this is *your* homebrew, so the only bits you need to focus on are those that are actively used in your campaign. Sure, run the whole lot through all the converters and get it to a stage where it loads, but then seriously consider commenting out anything that you don't actually use in your games. Who cares if 90% of the Forgotten Realms races give errors on loading, if the 5 or 6 your characters need actually work fine. Comment out the rest (add a '#' to the begining of the line in the .lst file) and then ignore it until you specifically need that race/class/equipment, and then fix just the one thing you need). Leave yourself more time for gaming :-)

For instance, (at least initially) you may not need any epic classes, any wondrous items, and perhaps not even any prestige classes. If you're only creating 'standard' PC's, then you may not even need the monster races either. If you're methodical about the process, you can get things that you need working quickly, and build up to the other bits later.

If you want things to appear in the GUI lists, so you have a reminder of it existing, but don't feel inclined to fix it immediately, then consider creating a copy of the lst entry (temporarily comment out the original entry), and remove any coding bits from the copy that are causing errors, and replace them with a SAB and/or DESC to indicate the gist of what you've removed, so you can still use it, and have some text available to indicate that it does roughly (working adding a 'TODO' note to the SAB/DESC as a reminder to fix it later).

For instance, rather than a feat with a massive PRExxx definition, and various calculations and vfeats with cross references(that may not work), change it to:
FeatNameBlah DESC:doessomething SAB:has loads of PRExx and provides vfeat:blah

Same principle for every LST.


I'll reiterate that point - as you cannot share any closed content homebrew (outside your own gaming group anyway), you only need to cater for a few people, so concentrate on making the bits your group actually *use* work, and only worry about the rest as and when you need it.

Errors for SA:.CLEAR can be fixed (manually) by noting that its often granting an SA(B) at one level, and then replacing it with a better SA(B) at another, so remove the .CLEAR entry completely, and suffix the initial SA(B) with |PRELEVEL:MAX=xx where xx is one less than the level that had the CLEAR (and gives the new replacement) Perhaps use PRECLASSLEVEL and specify the current class... And if needs be, add |PRELEVEL:MIN=zz if there are multiple variants of the SAB. (In future, you can consider migrating these SAB's to ABILITIES, but that's a whole separate piece of work)

EQMODs - check out \data\d20ogl\srd35\basics\rsrd_equipmods_base.lst and rsrd_equipmods_enhancing.lst to verify what the current set is. Generally work on the basis that things like 'WEAP_PLUS_1' get changed to 'PLUS1W' (possibly 'PLUS1M' [for Martial?] now)

After all this conversion, when loading homebrew datasets, I highly recommend starting PCGen from a batch file, modified from the 'low mem' sample provided with any installation, with higher memory allocation (as much as you can spare) - not just for the extra memory but primarily to ensure you see any warnings/errors as sources are included when PCGen starts up(before you even load them). I.e if there are PCC errors, you will see them in the batch files shell window, but by the time the GUI is up and you can see sources, those errors may be hidden.

More 'technical' detail on search/replace can be found here: Further Notes on CMP to RSRD Migration, part2