Handling campaign settings

From PCGen Wiki
Jump to: navigation, search

I was recently asked about how to configure a campaign setting dataset and I had some idea's on the subject so here they are. There are three separate idea's here, one is trackered already, one relates to data configuration and one is a gameMode tag proposal.

First a little background. Campaign setting can be put into two groups: Add-ons and Alters. An add-on setting uses the core material as is and just provides additional campaign specific material. In PCGen these are handled just like any other supplement, an example of this is the Murchad's Legacy Campaign Setting. The other group of campaign settings alters the core material in specific ways, examples of these are the Midnight setting (which has an alternate magic system) and the Players Guide to Arcanis (which alters many of the base classes). To accomplish these alterations both of these datasets load parts of the core data, leaving out what is not used in the setting or altering it as needed. One of the problems here is that is may not be intuitive to the user that the set should be loaded on it own and should not be loaded with the core data.

On to the first idea:
PRECAMPAIGN tag for .pcc files
This would allow datasets to require or prohibit other specific sets from being loaded with it.


Idea 2 provides a way to configure gameModes so that common supplements can be used. The example here is a Campaign setting which is different enough to require it's own gameMode but still has enough in common with the game it's based on to allow the use of other datasets with it. In that case you would want to see the other sets in that gameMode but not the core data since the campaign setting already loads it.

The way to do this is to simply change the GAMEMODE tags in the core datasets to something different and then configure the gameMode to see both.

I'll use Legends of Excalibur as an example (and assume you might want to load other datasets with it). First the RSRD sets would be changed to use GAMEMODE:35e_Core, next 35e miscinfo.lst would be changed to ALLOWEDMODES:35e|35e_Core, next the Legends of Excalibur gameMode would be changed to ALLOWEDMODES:LoE|35e

The result of this is when you are in the 35e gameMode you see everything you see now but when you are in Legends of Excalibur you see that set as well as all the 35e supplements but you don't see the RSRD core sets.


Idea 3 is way way to set specific sources to be in the right pane of the sources tab when you enter that gameMode. Two (optional) tags would be added to the miscinfo.lst file:

DEFAULTCAMPAIGN:x|x - specifies datasets which are recommended in this gameMode, the will appear in the right pane in the sources tab but can be removed by the user if not desired.

REQUIREDCAMPAIGN:x|x - specifies datasets which are required in this game Mode, it will appear in the right pane on the sources tab and cannot be removed.

I'm not sure code-wise if it would be better to set by the name (as set by the CAMPAIGN tag) or by file path, I'd go with which ever the CMs recommend.

This would help with new users as we could set the full RSRD set to default into the load pane making it just a little easier to get rolling. For a campaign setting gameMode you could then set the campaign setting as a required dataset which also lessens what the user needs to figure out.

This idea was proposed on pcgen_experimental in this thread.
Some of these ideas are currently being developed, PRECAMPAIGN has been implemented.