Implement functionality to make PCGen able to distinguish between PCs and NPCs

Description

Some character abilities are usually only applicable for PCs and not for NPCs, such as - in the Pathfinder RPG - traits or hero points, both from the Advanced Player's guide. For this to be automatically distinguished in PCGen the following changes need to be made:

1) Add a new internal varible for "character type" to the player character object.

2) Make the possible choices for this variable configurable via a gamemode tag. This tag shall look as follows:

Tag Name: CHARACTERTYPES:x|x
Variables Used : Text (A character type such as PC od NPC).
What it does:
One of these types can be selected as a character's type.
Examples:
CHARACTERTYPESC|NPC
Defines the possible types for characters as either PC or NPC.

3) Define a default character type in the Settinghandler. A newly created character will be of that type.

4) Add a dropdown menu to the preferences dialog to change the default character type. Players will usually want to leave that set to "PC" while GMs might prefer to set it to "NPC".

5) Add a dropdown menu to the summary tab for characters. This will initially be set to the default character type, but can be changed by the user to the preferred type.

6) To make use of the selected character type, a PRExxx tag is necessary. This tag shall look as follows:

Tag Name: PRECHARACTERTYPE:x,x
Variables Used : Text (Character types).
What it does:
Sets requirements for a character's type.
Example:
PRECHARACTERTYPEC
Character must be a desgnated as a PC.
PRECHARACTERTYPE:NPC,Monster
Character must be a desgnated either as an NPC or as a monster.

7) In some cases it might be interesting to export the character type on the character's output sheet, maybe to display it as a string, or maybe to set different output modes such as variant formatting or coloring for NPCs or the like. In order to be able to this a new output token is necessary. This token shall look as follows:

Token Name: CHARACTERTYPE
What it does:
Displays the character's type, such as PC or NPC.
Examples:
CHARACTERTYPE
Displays character type.

Environment

None

Activity

Show:
Stefan Radermacher
February 22, 2012, 9:18 AM

Implemented as of Subversion revision 16258.
Also added a <charactertype> node to base.xml

Fixed

Assignee

Stefan Radermacher

Reporter

Stefan Radermacher

Labels

None

Theme

None

Epic/Theme

None

Pending User Input

None

Fix versions

Affects versions

Priority

Minor
Configure