Rule Description: Abilities can be bought by taking ranks in the appropriate skill.
PCGen Version: 5.12.1
Gamemode/Dataset: 35e/RSRD
File(s) Covered: statsandchecks.lst, abilitycategory.lst, abilities.lst, skills.lst
Tags used (Stats and Checks File):
Tags used (Ability Category File):
ABILITYCATEGORY, CATEGORY, PLURAL, EDITABLE, EDITPOOL, FRACTIONALPOOL, POOL, VISIBLE
Tags used (Skill File):
TYPE, VISIBILE, BONUS:ABILITYPOOL
Tags used (Ability File):
CATEGORY, TYPE, VISIBLE, PREABILITY, PRESKILL, PREVARLT, DESC, BONUS:VAR
Tags used (Class File):
Implementing "Abilities by Skill Ranks" requires modifications to one Gamemode file and four Data files. The gamemode file we need to modify is the statsandchecks.lst file where we will be modifying the Intelligence stat. The data files include the abilitycategory.lst file where we will be adding a new category of abilities called the "AbilitybySkills", the skill.lst file where we will be creating a new skill called the "Skills to Abilities", the ability.lst file where we will be creating three new abilities, one to initialize the "Abilities by Skill Rank" mechanism for the character, one to be purchased by skill ranks and one to increase the maximum number of abilities that can be bought, and the class.lst file where we will demonstrate how abilities are granted through the "Abilities by Skill Ranks" mechanism at level-up. For the purposes of this implementation, we will call these abilities Initialize Abilities by Skill, Generic Skill Bought Ability, and Increasing Skill Bought Ability Max.
The mechanics of this rule, as implemented on this page, work this way:
We will discuss, below, each of the LST entries required, and the tags that make them work, to implement "Abilities by Skill Rank". For assistance in understanding how to read this page you may review the Rules Style Guide.
The statsandchecks.lst file entry required in this implementation consists of the modification of an existing entry. The following tag is added to the line defining the intelligence stat:
Tag Used:
DEFINE:AbilitybySkillMax|TL/2
What it Does: This tag is used to define the variable AbilitybySkillMax to have a value of half the character's total level.
You will find the modified Intellegence Stat below.
The specific abilitycategory.lst file entry required to implement "Abilities by Skill Ranks" consists of the definition of a single ability category called "AbilitybySkill". The tags used to do this are explained below:
Tag Used:
ABILITYCATEGORY:AbilitybySkill
What it Does: This creates a new ability category called "AbilitybySkill". This is what will show in the PCGen user interface, under the FEATs tab.
Tag Used:
CATEGORY:AbilitybySkill
What it Does: This sets the new category's parent category as the same as the new category.
Tag Used:
PLURAL:AbilitybySkills
What it Does: This establishes the pluralform of the ability category name. (Used primarily for Internatinalization.)
Tag Used:
EDITABLE:YES
What it Does: This establishes that that a user can select abilities in this category.
Tag Used:
EDITPOOL:NO
What it Does: The pool for this category of ability cannot be modified by the user.
Tag Used:
FRACTIONALPOOL:NO
What it Does: Restricts the ability pool for this category of ability to whole numbers only.
Tag Used:
POOL:AbilitybySkillPool
What it Does: This establishes the base ability pool for AbilitybySkill equal to the value of the variable AbilitybySkillPool. (See DEFINE tag below.)
Tag Used:
DEFINE:AbilitybySkillPool|0
What it Does: This tag is used to define the variable AbilitybySkillPool and initialize its value to zero.
Tag Used:
VISIBLE:QUALIFY
What it Does: Makes this category of ability visible in the PCGen GUI only when the character puts points into the skill, thereby adding points to the ability pool.
You will find the completed AbilitybySkill Ability Category Definition below.
Only one new entry is required in the skill.lst file. This is the new skill "Skills to Abilities". The purpose of this skill is to add bonus points to the pool of available points for the AbilitybySkill category of abilities, one for each skill rank taken. The tags used to do this are explained below:
Tag Used:
TYPE:NoStat
What it Does: This skill is assigned a type of "NoStat".
Tag Used:
VISIBLE:DISPLAY
What it Does: This skill will only be visible in PCGen's graphical user interface (GUI). It will not appear on the Character sheet.
Tag Used:
BONUS:ABILITYPOOL|AbilitybySkillPool|SKILL.Skills to Abilities.RANK
What it Does: Breaking down the tag we are saying to give a bonus to the ABILITYPOOL of the AbilitybySkill category for each skill rank placed in the skill.
You will find the completed Skills to Abilities below.
The specific entries in the ability.lst file will consist of one entry per line for each of the AbilitybySkill abilities you wish. The first item on each line will be the name of the particular ability being defined. We include below notes on the creation of three abilities called "Generic Skill Bought Ability", "Increasing Skill Bought Ability Max", and "Level Granted Skill Bought Ability".
[Explanation of this ability.] The tags used to do this are explained below:
Tag Used:
CATEGORY:AbilitybySkill
What it Does: This places the "Generic Skill Bought Ability" ability into the AbilitybySkill category. (See abilitycategory.lst above.)
Tag Used:
TYPE:AbilitybySkill.Movement
What it Does: Sets the TYPE for this ability to "AbilitybySkill" and "Movement".
Tag Used:
VISIBLE:QUALIFY
What it Does: Allows the user to see this ability within the PCGen GUI when all prerequisites have been met.
Tag Used:
!PREABILITY:1,CATEGORY=AbilitybySkill,Generic Skill Bought Ability
What it Does: Sets a prerequisite for the "Generic Skill Bought Ability" ability. Specifically, the character must not currently have the "Generic Skill Bought Ability" ability that has been defined as belonging to the AbilitybySkill category. An ability called "Ac Ba" of any other category will not disqualify the character from selecting this ability. (The inclusion of this tag is a temporary workaround as there is currently a bug with the ability object not respecting the default of MULT:NO.)
Tag Used:
PRESKILL:1,Tumble=12
What it Does: Sets a prerequisite for the "Generic Skill Bought Ability" ability. Specifically, the character must have at least 12 ranks in the Tumble skill in order to select this ability.
Tag Used:
PREVARLT:AbilitybySkillCount,AbilitybySkillMax
What it Does: Sets a prerequisite for the "Generic Skill Bought Ability" ability. Specifically, the variable AbilitybySkillCount must be less than the variable AbilitybySkillMax in order for the ability to be selected.
Tag Used:
DEFINE:AbilitybySkillCount|0
What it Does: This tag is used to define the variable AbilitybySkillCount and to initialize it to the value zero.
Tag Used:
DESC:<appropriate description>
What it Does: This is where you type the text you want to appear with your chosen ability. This will be displayed on the character sheet UNLESS the ability is set to NO or DISPLAY. In that case you would skip this tag and may instead use SA: in it's place. That tag is discussed in another lesson.
Tag Used:
BONUS:VAR|AbilitybySkillCount|1
What it Does: This bonus tag increases the value of the variable AbilitybySkillCount by 1.
[Explanation of this ability.] The tags used to do this are explained below:
Tag Used:
What it Does:
You will find the completed skill purchased abilities below.
[Explanation of how this class grants an ability upon level-up. The tags used to do this are explained below:
Tag Used:
ADD:ABILITY|FEAT|AUTOMATIC|Initialize Abilities by Skill
What it Does:
Tag Used:
ADD:ABILITY|AbilitybySkill|AUTOMATIC|TYPE=AbilitybySkill
What it Does:
You will find the modified "" class below.
None?
These LST objects are being presented as examples only and are not part of any official PCGen dataset.
STATNAME:Intelligence
ABB:INT
STATMOD:floor(SCORE/2)-5
DEFINE:MAXLEVELSTAT=INT|INTSCORE-10
DEFINE:AbilitybySkillMax|0
(This tag is added to the existing entry.)
DEFINE:AbilitybySkillCount|0
(This tag is added to the existing entry.)
BONUS:VAR|AbilitybySkillMax|TL
(This tag is added to the existing entry.)
BONUS:LANG|BONUS|INT
BONUS:MODSKILLPOINTS|NUMBER|INT
ABILITYCATEGORY:AbilitybySkill
CATEGORY:AbilitybySkill
PLURAL:AbilitybySkills
EDITABLE:YES
EDITPOOL:NO
FRACTIONALPOOL:NO
VISIBLE:QUALIFY
Skills to Abilities
TYPE:None
VISIBLE:DISPLAY
BONUS:ABILITYPOOL|AbilitybySkill|SKILL.Skills to Abilities.RANK
Generic Skill Bought Ability
CATEGORY:AbilitybySkill
TYPE:AbilitybySkill.Movement
VISIBLE:QUALIFY
!PREABILITY:1,CATEGORY=AbilitybySkill,Generic Skill Bought Ability
PRESKILL:1,Tumble=12
PREVARLT:AbilitybySkillCount,AbilitybySkillMax
DEFINE:AbilitybySkillCount|0
DESC:<appropriate description>
BONUS:VAR|AbilitybySkillCount|1
CLASS:Generic Class
CLASS:Generic Class
CLASS:Generic Class
1
[ADD:ABILITY|FEAT|AUTOMATIC|Initialize Abilities by Skill
] (Add this tag to an existing class)
2
3
4
ADD:ABILITY|AbilitybySkill|AUTOMATIC|TYPE=AbilitybySkill <tab> BONUS:VAR|AbilitybySkillMax|1
(Add these two tags to an existing class level lines)
5
6