# PRExxx Tags

This is the generic way to talk about the pre-requisite tags - the way you can restrict access to a class, feat, deity, domain or anything else in a lst file.

The same PRExxx tags are used in every lst file to make crafting restrictions as easy as possible.

These pre-requisite tags are often referred to as PRExxx tags because they all begin with the prefix "PRE" to make finding them easy.

NOTE: Any PRExxx tag may be prefixed with a "!" character (i.e., !PRExxx) in order to invert the requirement logic. The PRExxx tag will be evaluated like normal, then the result inverted (by inverted, this means you CAN NOT have the things listed in this tag) when determining whether the prerequisite is passed or not.

USAGE: PRExxx tags are used in two different manners. A PRExxx tag can be used is as a standalone tag to qualify an entire line. Thus if a character does not meet the prerequisites of a standalone PRExxx tag he will not gain the benifits or be able to select the entire line the statement is in. BONUS tags and certain other tags can be qualified by appending a PRExxx tag to the end of it. If the character does not meet the prerequisites he will not gain the BONUS but is not restricted from any other benefits he may receive from the line. PRExxx tags are usually added to BONUS tags with an additional pipe (|) followed by the PRExx statement but there are some tags that use a different syntax, like enclosing the PRExx statement in brackets [ ], see the individual entries for examples.

*** Updated 5.7.6

Tag Name: PREALIGN:x,x

Variables Used (x):LG,LN,LE,NG,TN,NE,CG,CN,CE,Deity (Alignment abbreviation).

Variables Used (x):0,1,2,3,4,5,6,7,8,10 (Alignment array number).

What it does:

Alignment names and abbreviations (ABB) are defined in the statsandchecks.lst gameMode file. The array number is based on the order the Alignments are presented in the statsandchecks.lst file the first one being 0. You can now use the Alignment abbreviation directly in addition to using the Alignment array number. If NO alignments are defined in GameMode, all PREALIGN tags will return TRUE. In the 3e and 35e gameModes these are the listed Alignments: (0=LG, 1=LN, 2=LE, 3=NG, 4=TN, 5=NE, 6=CG, 7=CN, 8=CE, 9=None, 10 Deity's Alignment).

Example:

`PREALIGN:LG,NG,CG`

Requires any Good alignment.

`PREALIGN:2,5,8`

Requires any evil alignment.

`PREALIGN:LG,Deity`

Requires Lawful Good or the characters chosen Deities alignment.

*** Updated 5.4

Tag Name: PREAPPLY:x,x

Variables Used (x): ANYPC (Apply to any character).

Variables Used (x): PC (Apply to the character).

Variables Used (x): Text (A type name).

What it does:

This tag does two things:

1. It is used by the Temporary Bonus tab as a flag to see which objects should be listed on that tab.

2. It is a PRExxx tag whose qualifications must be met before that BONUS will be applied to the target of the bonus.

Bonuses with PREAPPLY tags will only appear in the Temporary Bonuses Tab.

All feats, spells or templates with ANYPC as the target of the PREAPPLY: tag will always show up on the Temp Bonuses tab. This allows for Spells that can be cast on any character and Feats and Templates which act as holders for conditional bonuses any character can get (given the right circumstances of course) without the character needing to have added those objects to his character.

Spells with weapon type PREAPPLY tags will also show in the tab. The PREAPPLY:ANYPC is assumed in this case but the bonus can only be applied to a weapon.

See the documentation for the Temporary Bonus Tab for more information on using this tag.

NOTE: PREAPPLY works ONLY at the end of a BONUS tag.

Note(s): use a comma (,) delimiter to indicate AND (both conditions must be met).

Note(s): use a semi-colon (;) delimiter to indicate OR (either condition needs to be met).

Examples:

`PREAPPLY:ANYPC`

This would apply the bonus to the PC (such as spells that can be cast on a character).

`PREAPPLY:PC`

This would apply the bonus to the PC, so long as the element is part of the character (such as caster only spells).

`PREAPPLY:Ranged;Melee`

This would apply the bonus to Ranged OR Melee weapons.

`PREAPPLY:Weapon,Blunt`

This would apply the bonus to Wooden Blunt weapons.

*** New 5.4

Tag Name: PREARMORPROF:x,y,y

Variables Used (x): Number (The number of armor proficiencies needed).

Variables Used (y): Text (The name of a Armor Prof).

Variables Used (y): TYPE.Text (The type of Armor prof).

What it does:

Checks for Armor proficiency requirements.

Examples:

`PREARMORPROF:1,Chainmail,Full Plate`

Character must be proficient with either "Chainmail" or "Full Plate".

`PREARMORPROF:1,TYPE.Medium`

Character must be proficient with Medium armor.

Tag Name: PREATT:x

Variables Used (x):Number (Base Attack Bonus number).

What it does:

Number indicates the minimum base attack bonus.

Example:

`PREATT:6`

This would apply only if the PC had minimum base attack bonus of 6.

Tag Name: PREBASESIZEx:y

Variables Used (x):EQ (Equals).

Variables Used (x):GT (Greater Than).

Variables Used (x):GTEQ (Greater Than or Equal to).

Variables Used (x):LT (Less Than).

Variables Used (x):LTEQ (Less Than or Equal to).

Variables Used (x):NEQ (Not Equal to).

Variables Used (y):Fine (Fine size).

Variables Used (y):Diminutive (Dimunitive size).

Variables Used (y):Tiny (Tiny Size).

Variables Used (y):Small (Small size).

Variables Used (y):Medium (Medium Size).

Variables Used (y):Large (Large size).

Variables Used (y):Huge (Huge size).

Variables Used (y):Gargantuan (Gargantuan size).

Variables Used (y):Colossal (Colossal size).

What it does:

Allows characters to be limited or allowed access to certain things only if their physical stature meets selected criteria.

Example:

`BONUS:COMBAT|AC|2|PREBASESIZELTEQ:Medium|TYPE=NaturalArmor.STACK`

This would apply the combat AC bonus of 2 that stacks with Natural Armour if the PC's size is less than or equal to "medium".

Tag Name: PREBIRTHPLACE:x

Variables Used (x): Text (A birthplace name).

What it does:

Character's birthplace must match the listed text.

Example:

`PREBIRTHPLACE:Klamath`

Character must have been born in "Klamath".

Tag Name: PRECHECK:x,y=z

Variables Used (x): Number (The number of checks that must be equal to or greater than the numbers specified for the check to succeed).

Variables Used (y): Text (A defined check from statsandchecks.lst - e.g. Fortitude or Willpower).

Variables Used (z): Number (The number the associated check must be greater than or equal to).

What it does:

Sets the minnimum CHECK requirements.

Examples:

`PRECHECK:1,Fortitude=5,Reflex=3`

Would succeed if Fortitude meets or exceeds 5 or Reflex meets or exceeds 3.

`PRECHECK:2,Fortitude=5,Reflex=3,Willpower=4`

Would succeed if any 2 of the 3 three listed conditions were met.

Tag Name: PRECHECKBASE:x,y=z

Variables Used (x): Number (The number of base checks that must be equal to or greater than the numbers specified for the check to succeed).

Variables Used (y): Text (A defined check from statsandchecks.lst - e.g. Fortitude or Willpower).

Variables Used (z): Number (The number the associated base check must be greater than or equal to).

What it does:

Sets the minimum Base Check requirements. Base Checks are usually only those from class advancement (no stat modifiers, magic, etc.), but follow anything defined with "`BONUS:CHECKS|BASE.Name|`".

Examples:

`PRECHECKBASE:2,Fortitude=3,Reflex=3`

Would succed if both Fortitude meets or exceeds 3 and Reflex meets or exceeds 3.

`PRECHECKBASE:1,Fortitude=5,Reflex=3`

Would succeed if Fortitude meets or exceeds 5 or Reflex meets or exceeds 3.

Tag Name: PRECITY:x

Variables Used (x): Text (The name of a city that you must live in).

What it does:

Sets the required city. A characters city is set in the Description Tab

Example:

`PRECITY:Klamath`

Character must currently reside in "Klamath".

*** Deprecated - use PRECLASS:x,y=z,y=z

Tag Name: PRECLASS:<ClassName>=<Level>

*** Updated

Tag Name: PRECLASS:x,y=z,y=z

Variables Used (x): Number (The number of classes that must be equal to or greater than the numbers specified for the check to succeed).

Variables Used (y): Text (A defined class name).

Variables Used (y): TYPE.ClassType (A Class type such as Base or Prestige).

Variables Used (y): SPELLCASTER (Any spellcaster).

Variables Used (y): SPELLCASTER.Type (A spellcaster type such as Arcane or Divine).

Variables Used (z): Number (Class level the associated class must meet or exceed).

What it does:

Sets class requirements.

Example:

`PRECLASS:2,Wizard=5,Sorceror=6,Cleric=7`

Multi-classed character must be at least Wiz5/Sor6, Wiz5/Clr7 or Sor6/Clr7.

`PRECLASS:1,SPELLCASTER=2`

Character must have 2 levels in any spellcasting class.

`PRECLASS:1,SPELLCASTER.Arcane=2`

Character must have 2 levels in any arcane spellcasting class.

`PRECLASS:2,TYPE.Base=5,TYPE.Prestige=1`

Character must have 5 levels in any Base class and 1 level in any Prestige class.

*** Updated

Tag Name:PRECLASSLEVELMAX:x,x=y

Variables Used (x): Text (Class name or names).

Variables Used (x): TYPE.ClassType (A Class type such as Base or Prestige).

Variables Used (x): SPELLCASTER (Any spellcaster).

Variables Used (x): SPELLCASTER.Type (A spellcaster type such as Arcane or Divine).

Variables Used (y): Number (The maximum number of levels in the specified classes allowed. If there is more than one class listed, itis treated as an AND statement).

What it does:

Sets maximum class level limits.

Example:

`PRECLASSLEVELMAX:Fighter,SPELLCASTER=2`

Character cannot have more than 2 levels of fighter and cannot have more than 2 levels in any spellcasting class.

Tag Name: PREDEFAULTMONSTER:x

Variables Used (x): Y (Applies to default monster).

Variables Used (x): N (Does not apply to default monster).

What it does:

Used to qualify bonuses which apply only to default monsters. In order to qualify the Use Default Monsters checkbox in the Character/Monsters preference window must be checked. The bonuses are used most often in a race line and are applied at the time the monster is first created. If you create a monster and then check the Use Default Monsters checkbox the bonuses are not applied retroactively. The purpose of this feature is to allow users to create monsters with stats identical to those in the source's. Often a sources monster stats will be a typical example with feats, skills, weapons, etc already selected. The data files can be coded with these stats so that when the Use Default Monsters checkbox is checked those stats will match the entry. When the Use Default Monsters checkbox is not checked the process of creating the monster will be the same as that of creating any other character.

Examples:

`BONUS:SKILLRANK|Listen,Spot|4|PREDEFAULTMONSTER:Y`

This bonus is applied when the Use Default Monsters checkbox is checked.

`BONUS:COMBAT|BAB|6|PREDEFAULTMONSTER:Y`

This bonus is applied when the Use Default Monsters checkbox is checked.

Tag Name: PREDEITY:x

Variables Used (x): Y (The character must have chosen a deity).

Variables Used (x): N (The character must not have chosen a deity).

Variables Used (x): Text (The name(s) of deities).

What it does:

Sets deity requirements.

Examples:

`PREDEITY:Y`

Character must have a deity choosen.

`PREDEITY:N`

Character must NOT have a deity choosen.

`PREDEITY:Zeus,Odin`

Character must have choosen either "Zeus" or "Odin".

Tag Name: PREDEITYALIGN:x

Variables Used (x): Number (The number of the required alignment).

What it does:

Having a deity with a particular alignment is a prerequisite. (0=LG, 1=LN, 2=LE, 3=NG, 4=TN, 5=NE, 6=CG, 7=CN, 8=CE).

Example:

`PREDEITYALIGN:0`

Character must have choosen a Lawful Good deity.

Tag Name: PREDEITYDOMAIN:x,y,y

Variables Used (x): Number (The number of the deitiy's domains that must match).

Variables Used (y): Text (Domain names).

What it does:

Sets requirements for the character's deity's domains. This tag applies to the domains of the PC's deity, and not the domains that the PC has selected for itself.

Example:

`PREDEITYDOMAIN:1,Good,Law`

Character must have choosen of deity with either the "good" domain or the "law" domain.

Tag Name: PREDOMAIN:x,y,y

Variables Used (x): Number (The number of the deitiy's domains that must match).

Variables Used (y): Text (Domain names).

What it does:

Set's requirements for a character's domains. This tag applies to the domains that the PC has selected for itself.

Example:

`PREDOMAIN:1,Good,Law`

Character must have 1 of the two listed domains.

*** New 5.3.3

Tag Name:PREDR:x,y=z,y=z

Variables Used (x): Number (The number of the DR condtions that must be met).

Variables Used (y): Text (The type of DR).

Variables Used (z): Number (Value the DR must be greater or equal to).

What it does:

Set's requirements for a character's Damage Resistance.

Examples:

`PREDR:1,+1=10`

Must have DR of 10/+1 or greater (but DR Type must be +1).

`PREDR:1,-=10,+1=10,+2=10,+3=10,+4=10,+5=10,Silver=10`

Must have DR of 10 or greater of any type listed.

Tag Name: PREEQUIP:x,y,y

Variables Used (x): Number (The number of items from the list that must be equipped).

Variables Used (y): Text (The name of a piece of equipment - "%" may be used as a wildcard).

Variables Used (y): TYPE=Text (The type of a piece of equipment).

What it does:

This is used to determine if a character has a particular item(s) equipped.

Examples:

`PREEQUIP:1,Leather Armor`

Must have Leather Armor (only) equipped.

`PREEQUIP:1,Leather Armor%`

The "%" allows for items named Leather Armor (Masterwork), Leather Armor (+1) etc.

`PREEQUIP:1,TYPE=Armor`

Must have some type of armor equipped.

`PREEQUIP:2,TYPE=Armor,Sword (Long)%`

Must be equipped with any Sword (Long), as well as any type of armor.

`PREEQUIP:2,TYPE=Armor,TYPE=Shield`

Must be equipped with any Armor and any Shield.

Tag Name: PREEQUIPPRIMARY:x,y,y

Variables Used (x): Number (The number of items from the list that must be equipped in a primary hand).

Variables Used (y): Text (The name of a piece of equipment - "%" may be used as a wildcard).

Variables Used (y): TYPE=Text (The type of a piece of equipment).

What it does:

This is used to determine if a character has a particular item (usually a weapon) equipped in a Primary hand for the character. Typically has a value of 1 for the Number, however can be more than one if can have more than one Primary hand.

Examples:

`PREEQUIPPRIMARY:1,Dagger`

Must have a dagger equipped in the primary hand.

`PREEQUIPPRIMARY:1,Dagger%`

The "%" allows for items named Dagger (Masterwork), Dagger (Punching), etc.

`PREEQUIPPRIMARY:1,TYPE=Slashing`

Must have some type of slashing weapon equipped in the primary hand.

Tag Name: PREEQUIPSECONDARY:x,y,y

Variables Used (x): Number (The number of items from the list that must be equipped in a secondary hand).

Variables Used (y): Text (The name of a piece of equipment - "%" may be used as a wildcard).

Variables Used (y): TYPE=Text (The type of a piece of equipment).

What it does:

This is used to determine if a character has a particular item (usually a weapon) equipped in a Secondary hand for the character. Typically has a value of 1 for the Number, however can be more than one if can have more than one Secondary hand.

Examples:

`PREEQUIPSECONDARY:1,Dagger`

Must have a dagger equipped in the secondary hand.

`PREEQUIPSECONDARY:1,Dagger%`

The "%" allows for items named Dagger (Masterwork), Dagger (Punching), etc.

`PREEQUIPSECONDARY:1,TYPE=Slashing`

Must have some type of slashing weapon equipped in the secondary hand.

Tag Name: PREEQUIPBOTHx,y

Variables Used (x): Number (The number of items from the list that must be equipped in a two handed manner - usually 1).

Variables Used (y): Text (The name of a piece of equipment that must be equipped in a two handed manner - "%" may be used as a wildcard).

Variables Used (y): TYPE=Text (The type of a piece of equipment that must be equipped in a two handed manner).

What it does:

This is used to determine if a character has a particular item (usually a weapon) equipped and used two-handed style.

Examples:

`PREEQUIPBOTH:1,Quarterstaff`

Must have a Quarterstaff equipped in both hands.

`PREEQUIPBOTH:1,Sword (Great%`

The "%" allows for items named Sword (Great/Masterwork) etc.

`PREEQUIPBOTH:1,TYPE=Slashing`

Must have a slashing type weapon equipped in both hands.

Tag Name: PREEQUIPTWOWEAPONx,y,y

Variables Used (x): Number (The number of items from the list that must be equipped in a two weapon fighting manner - 1 or 2).

Variables Used (y): Text (The name of a weapon - "%" may be used as a wildcard)

Variables Used (y): TYPE=Text (The type of a weapon that must be equipped in a two weapon fighting manner).

What it does:

This is used to determine if a character has a particular item (usually a weapon) equipped and usedtwo weapon style.

Examples:

`PREEQUIPTWOWEAPON:1,Sword (Short)`

Must have a Sword (Short) equipped as one of two weapons for two weapon fighting.

`PREEQUIPTWOWEAPON:1,Sword (Short%`

The "%" allows for items named Sword (Short/Masterwork) etc.

`PREEQUIPTWOWEAPON:1,TYPE=Slashing`

Must have a Sword (Short) equipped as one of two weapons for two weapon fighting.

*** Updated 5.4

Tag Name: PREFEAT:x,y,z

Variables Used (x): Number (The number of feats from the list that the character must have).

Variables Used (y): CHECKMULT (Used to make the program count each instance of a feat separately - optional).

Variables Used (z): Text (The name of a feat a character must have).

Variables Used (z): [Text] (The name of a feat a character must NOT have).

Variables Used (z): TYPE=Text (The type of a feat the character must have).

Variables Used (z): [TYPE=Text] (The type of a feat the character must NOT have).

What it does:

Sets character feat requirements. For feats which can be taken multiple times you can specify the exact choices within that feat by using parentheses. The Fighter, Loremaster, Arcane Archer and Archmage are good examples of Prestige classes to see how to setup this pre-requisite.

NOTE: In feats with multiple instances like Skill Focus or Spell Focus where the instance is expressed within parentheses there is no space between the name of the feat and the parentheses.

Examples:

`PREFEAT:1,Dodge,Combat Reflexes`

Character must have either "Dodge" or "Combat Reflexes".

`PREFEAT:2,CHECKMULT,Spell Focus`

Character must have "Spell Focus" for two schools.

`PREFEAT:2,CHECKMULT,Spell Focus,[Spell Focus(Enchantment)]`

Character must have "Spell Focus" for two schools, but not the "Enchantment" school.

`PREFEAT:2,Weapon Focus(TYPE=Bow),Weapon Focus(Longsword)`

Character must have both "Weapon Focus(Longsword)" and any one "Bow" type "Weapon Focus".

`PREFEAT:2,CHECKMULT,Weapon Focus(TYPE=Sword)`

Character must have two "Sword" type "Weapon Focus" feats.

`PREFEAT:2,Skill Focus(Spot),Skill Focus(Listen),Skill Focus(Search)`

Character must have any two of "Skill Focus(Spot)", "Skill Focus(Listen)", or "Skill Focus(Search)".

`PREFEAT:2,TYPE.ItemCreation`

Character must have any two ItemCreation type feats.

Tag Name: PREGENDER:x

Variables Used (x): M (Male gender).

Variables Used (x): F (Female gender).

What it does:

Sets gender requirement.

Example:

`PREGENDER:M`

Character must be male.

Tag Name: PREHANDSx:y

Variables Used (x): EQ (Equals).

Variables Used (x): GT (Greater Than).

Variables Used (x): GTEQ (Greater Than or Equal to).

Variables Used (x): LT (Less Than).

Variables Used (x): LTEQ (Less Than or Equal to).

Variables Used (x): NEQ (Not Equal to).

Variables Used (y): Number (The number of hands to be compared to).

What it does:

Makes the amount of hands a character has a prerequisite.

Example:

`PREHANDSGT:2`

Character must have a number of hands greater than 2.

Tag Name: PREITEM:x,y,y

Variables Used (x): Number (The number of items a character must possess).

Variables Used (y): Text (The name of an item a character must possess - "%" may be used as a wildcard).

Variables Used (y): TYPE=Text (The type of an item the character must possess).

What it does:

Sets requirements for items a charactermust posess.

Examples:

`PREITEM:1,Sword (Long),Sword (Short)`

Character must possess either a "long sword" or a "short sword".

`PREITEM:2,TYPE=Armor,TYPE=Armor`

Character must possess two sets of armor.

Tag Name: PRELANG:x,y,y

Variables Used (x): Number (The number of languages a character must know).

Variables Used (y): Text (The name of a language the character must know).

Variables Used (y): ANY (Indicator the any language will be allowed to help meet the required number).

What it does:

Makes speaking certain languages a prerequisite.

Examples:

`PRELANG:1,Dwarven,Elven`

Character must be able to speak either "Dwarven" or "Elven".

`PRELANG:2,Dwarven,Elven`

Character must be able to speak both "Dwarven" and "Elven".

`PRELANG:2,Dwarven,Elven,Halfling`

Character must be able to speak any two of "Dwarven", "Elven" or "Halfling".

`PRELANG:3,ANY`

Character must be able to speak any three languages.

Tag Name: PRELEGSx:y

Variables Used (x): EQ (Equals).

Variables Used (x): GT (Greater Than).

Variables Used (x): GTEQ (Greater Than or Equal to).

Variables Used (x): LT (Less Than).

Variables Used (x): LTEQ (Less Than or Equal to).

Variables Used (x): NEQ (Not Equal to).

Variables Used (y): Number (The number of legs to be compared to).

What it does:

Makes the amount of legs a character has a prerequisite.

Example:

`PRELEGSGTEQ:4`

Character must have at least 4 legs.

Tag Name: PRELEVEL:x

Variables Used (x): Number (The minnimum level).

What it does:

Makes the character have a minimum amount of levels, regardless of class.

Example:

`PRELEVEL:5`

Character must be 5th level.

Tag Name: PRELEVELMAX:x

Variables Used (x): Number (The maximum level).

What it does:

Makes the character be under a maximum amount of levels, regardless of class.

Example:

`PRELEVELMAX:10`

Character cannot be over level 10.

Tag Name: PREMOVE:x=y

Variables Used (x): Text (The name of a type of movement).

Variables Used (y): Number (The minimum movement rate for the associated movement type).

What it does:

Makes movement rate a prerequisite.

Examples:

`PREMOVE:Walk=30,Fly=20`

Character must be able to either walk at speed 30 OR fly at speed 20

`PREMOVE:Swim=10`

Character must be able to swim at speed 10

*** New 5.3.2

Tag Name: PREMULT:x,[PRExxx 1],[PRExxx 2]

Variables Used (x): Number (The number of listed PRExx tags that must be met).

Variables Used (y): Text - [ ] (imbedded PRExxx tags that must be met).

What it does:

PREMULT is a special PRExxx tag in that one imbeds other PRExxx tags in it. This allows for a lot of OR functionality across PRExxx tags. You can imbed PREMULT into itself.

Examples:

`PREMULT:1,[PRERACE:Gnome],[PRECLASS:1,Cleric=1]`

Character must be either a "Gnome" or a "Cleric".

`PREMULT:1,[PRERACE:Gnome],[PREMULT:2,[PRESIZEGTEQ:M],[PREFEAT:1,Alertness]]`

Character must be "Gnome" OR a medium sized or larger creature with the "Alertness" feat.

Tag Name: PRERACE:x,x

Variables Used (x): Text (The name of a race).

What it does:

The character must be one of the listed races.

Note(s): enclosing a selection in square brackets ([]) excludes a race

Examples:

`PRERACE:Dwarf,Elf,Human`

Character must be of the "Dwarf", "Elf" or "Human" races.

`PRERACE:Elf,[Elf (aquatic)]`

Character must be one of the "Elf" races, except "Elf (aquatic)".

Tag Name: PREREGION:x (y)

Variables Used (x): Text (The region name).

Variables Used (y): Text (The subregion name - optional).

What it does:

Character's home region must match the listed text. When only the region is specified, any character from that region, but with a specified subregion, will still be considered qualified.

Examples:

`PREREGION:Slithe`

Character must hail from the "Slithe" region.

`PREREGION:Slithe (Barrows)`

Character must hail from the "Slithe" region and "Barrows" subregion.

*** New 5.5.5

Tag Name: PRERULE:x

Variables Used (x): Text (Rule name)

What it does:

Checks for the state of a rule.

Rule name (x) has been defined in the system/gameModes/rules.lst file.

Rule name (x) must match the VAR: entry from the rules.lst file.

Rules can be turned on and off by the user in the House Rules section of the preferences.

Example:

`PRERULE:SYS_WTPSK`

The rule WeightPenaltyToSkill must be checked for this to apply.

Tag Name: PRESA:x,y,y

Variables Used (x): Number (The number of Special Abilities a character must have).

Variables Used (y): Text (The name of an Special Abilities).

What it does:

Makes having certain special abilities a prerequisite.

Example:

`PRESA:1,Turn undead,Rebuke undead,Smite Evil`

Character must have any one of "Turn Undead", "Rebuke Undead" or "Smite Evil".

*** New 5.4

Tag Name: PRESHIELDPROF:x,y,y

Variables Used (x): Number (The number of shield proficiencies needed).

Variables Used (y): Text (The name of a shield proficiency).

Variables Used (y): TYPE.Text (The type of shield proficiency).

What it does:

Checks for shield proficiency requirements.

Examples:

`PRESHIELDPROF:1,Buckler,Large Shield`

Character must be proficient with either "Buckler" or "Large Shield".

`PREARMORPROF:1,TYPE.Tower`

Character must be proficient with Tower shields.

Tag Name: PRESIZEx:y

Variables Used (x): EQ (Equals).

Variables Used (x): GT (Greater Than).

Variables Used (x): GTEQ (Greater Than or Equal to).

Variables Used (x): LT (Less Than).

Variables Used (x): LTEQ (Less Than or Equal to).

Variables Used (x): NEQ (Not Equal to).

Variables Used (y): F (Fine size).

Variables Used (y): D (Dimunitive size).

Variables Used (y): T (Tiny Size).

Variables Used (y): S (Small size).

Variables Used (y): M (Medium Size).

Variables Used (y): L (Large size).

Variables Used (y): H (Huge size).

Variables Used (y): G (Gargantuan size).

Variables Used (y): C (Colossal size).

What it does:

Makes a characters physical size a prerequisite.

Example:

`PRESIZEEQ:H`

Character must be "Huge" in size.

*** Updated

Tag Name: PRESKILL:x,y=z

Variables Used (x): Number (The number of skills that must be equal to or greater than the numbers specified for the check to succeed).

Variables Used (y): Text (A defined skill name).

Variables Used (y): TYPE=Text (A defined skill type).

Note: If you require multiples of that type, you need to add TYPE.x for each instance in the comma delimited list.

Variables Used (z): Number (The number of ranks the associated skill must meet or exceed).

What it does:

Sets skill requirements.

NOTE: In skills types with multiple versions like Craft (Pottery) or Knowledge (Local) there must be a space between the name and the parenthese because the text must match the entry exactly.

Examples:

`PRESKILL:1,Spot,Listen=10`

Character must have at least 10 ranks in either "Spot" or "Listen".

`PRESKILL:2,TYPE.Spy,TYPE.Spy=2`

Character must have two "Spy" skills with at least two ranks in each of them.

** NOTE: The folowing tag has some problems. It will work in some files but not all. **

Tag Name: PRESKILLMULT:x,y=z

Variables Used (x): Number (The number of skills that must be equal to or greater than the numbers specified for the check to succeed).

Variables Used (y): Text (A defined skill name).

Variables Used (y): TYPE=Text (A defined skill type).

Note(s): If you require multiples of that type, you need to add TYPE.x for each instance in the comma delimited list.

Variables Used (z): Number (The number of ranks the associated skill must meet or exceed).

What it does:

Similar to PRESKILL. This tag will set a flag on the character. It only works as a prereq if the rank in the skill divided by the rank needed is equal to the flag. The flag starts at 1, but goes up by one everytime the prereq is met. So the first feat would require 'rank' in the skill, the second feat 'rank*2', and so on... That would support the way regional feats are described in FR.

NOTE: However for now this is merely a dummy tag that works like PRESKILL so we don't have to redesign the lst files when this tag gets working.

Example:

`PRESKILLMULT:1,Spot,Listen=10`

Character must have a Spot or Listen at 10 or above.

Tag Name: PRESKILLTOT:x,x=y

Variables Used (x): Text (A skill name).

Variables Used (x): TYPE=Text (A skill type).

Variables Used (y): Number (The total levels necessary between the listed skills).

What it does:

A comma-delimited list of skill names and # is the total number of ranks among those skills. Can also include TYPE.X as part of the skill list as well.

Example:

`PRESKILLTOT:Spot,Listen,Search=30`

Character must have a total of 30 ranks between Spot, Search, and Listen skills.

Tag Name: PRESPELL:x,y,y

Variables Used (x): Number (The number of spells required).

Variables Used (y): Text (The name of a spell).

What it does:

Sets spell requirements.

Example:

`PRESPELL:1,Magic Missile,Lightning Bolt`

Character must have either Magic Missile OR Lightning Bolt in their spell list.

Tag Name: PRESPELLBOOK:x

Variables Used (x): YES

Variables Used (x): NO

What it does:

Sets spellbook requirements.

Examples:

`PRESPELLBOOK:YES`

At least one of the character's classes must use spell books.

`PRESPELLBOOK:NO`

None of the character's classes can use spell books.

Tag Name: PRESPELLCAST:x=y

Variables Used (x): MEMORIZE (Set requirements based on memorization).

Variables Used (x): TYPE (Set requirements based on spelltype).

Variables Used (y): Y (Yes - used with MEMORIZE).

Variables Used (y): N (No - used with MEMORIZE).

Variables Used (y): Text (A spelltype - used with TYPE).

What it does:

Basically each label=value pair is processed, and as the character's classes fail to meet that pair, the class is removed from the list. After all the label=value pairs have been processed, if the character has any classes remaining (meaning they meet all the requirements), then this prerequisite is met.

Examples:

`PRESPELLCAST:MEMORIZE=Y`

Characters class must have to memorize spells.

`PRESPELLCAST:MEMORIZE=N`

Characters class must NOT have to memorize spells.

`PRESPELLCAST:TYPE=Arcane`

Character must be able to cast arcane spells.

`PRESPELLCAST:TYPE=Divine`

Character must be able to cast divine spells.

*** New 5.7.4

Tag Name: PRESPELLDESCRIPTOR:x,y,z

Variables Used (x): Text (The name of a spell descriptor).

Variables Used (y): Number (The quantity of spells with the proper spell descriptor and level the character must know).

Variables Used (z): Number (The minimum spell level of spells a character must know with the spell descriptor).

What it does:

Sets spell descriptor requirements.

Example:

`PRESPELLDESCRIPTOR:Mind-Affecting,4,3`

Character must have at least four 3rd level or higher Mind-Affecting spells to meet the requirement.

Tag Name: PRESPELLSCHOOL:x,y,z

Variables Used (x): Text (The name of a school of magic).

Variables Used (y): Number (The quantity of spells of the proper school and level the character must know).

Variables Used (z): Number (The minimum spell level of the school of spells a character must know).

What it does:

Sets spell school requirements. Loremaster is a good example of this pre-requisite

Example:

`PRESPELLSCHOOL:Necromancy,3,2`

Character must have at least three 2nd level or higher Necromancy spells to meet the requirement.

Tag Name: PRESPELLSCHOOLSUB:x,y,z

Variables Used (x): Text (The name of a sub-school of magic).

Variables Used (y): Number (The quantity of spells of the proper sub-school and level the character must know).

Variables Used (z): Number (The spell level of the sub-school of spells a character must know).

What it does:

Sets spell sub-school requirements.

Example:

`PRESPELLSCHOOLSUB:Creation,3,2`

Character must have at least three 2nd level "Creation" spells to meet the requirement.

Tag Name: PRESPELLTYPE:x,y,z

Variables Used (x): Arcane (Arcane type spells).

Variables Used (x): Divine (Divine type spells).

Variables Used (x): Arcane|Divine (Arcane OR Divine type spells).

Variables Used (x): Psionic (Psionic type spells).

Variables Used (x): Any (Any type of spell).

Variables Used (y): Number (The quantity of spells of the proper type and level the character must know).

Variables Used (z): Number (The spell level of the type of spells a character must know).

Note(s): use two PRESPELLTYPE tags if more than one spell type is required

What it does:

Sets spell type requirements. Loremaster is a good example of this kind of pre-requisite

Example:

`PRESPELLTYPE:Arcane,4,5`

Character must have at least four 5th level arcane spells to meet the requirement.

Tag Name: PRESRx:y

Variables Used (x): EQ (Equals).

Variables Used (x): GT (Greater Than).

Variables Used (x): GTEQ (Greater Than or Equal to).

Variables Used (x): LT (Less Than).

Variables Used (x): LTEQ (Less Than or Equal to).

Variables Used (x): NEQ (Not Equal to).

Variables Used (y): Number (The minimum Spell Resistance required).

What it does:

Makes a character's spell resistance (not including SR from equipment) a prerequisite.

Example:

`PRESRGTEQ:10`

Character must have spell resistance of at least 10.

Tag Name: PRESTAT:x,y=z,y=z

Variables Used (x): Number (The number of stats that must match).

Variables Used (y): Text (The stats abbreviation - as defined in statsandchecks.lst).

Variables Used (z): Number (The minimum value of the stat).

What it does:

Sets stat requirements.

Examples:

`PRESTAT:1,STR=18`

Character must have an 18 Strength to meet the requirement.

`PRESTAT:1,STR=18,WIS=18`

Either STR or WIS at 18 - one of the two listed must meet the requirements.

`PRESTAT:2,STR=18,WIS=18`

BOTH STR and WIS at 18 - two of the two listed must meet the requirements.

`PRESTAT:1,STR=15,WIS=13`

Either STR at 15 or WIS at 13 - one of the two listed must meet the requirements.

`PRESTAT:2,STR=13,INT=10,CHA=13`

Either STR at 13, INT at 10 or CHA at 13 - two of the three listed must meet the requirements.

*** New

Tag Name: PRESUBCLASS:x,y,y

Variables Used (x): Number (number of needed occurrences).

Variables Used (y): Text (Subclass Name).

What it does:

Sets subclass requirements.

Examples:

`PRESUBCLASS:1,Evoker,Abjurer,Enchanter,Illusionist`

Character must be one of the listed subclasses.

Tag Name: PRETEMPLATE:x,x

Variables Used (x): Text (The name of a template).

What it does:

Sets template requirements. Where template is a ',' delimited list of template names. If one of the template names in the list matches, then the prerequisite is met.

Example:

`PRETEMPLATE:Celestial,Fiendish`

Character must be either "Celestial" or "Fiendish".

Tag Name: PRETEXT:x

Variables Used (x): Text (Explanation of requirement)

What it does:

This is used when there are special requirements which are not covered by another PRExxx tag.

Mainly used for feats the text is displayed in the same field as the other pre-requisites.

This tag in itself does not disqualify anything but alerts the player to the additional pre-requisites.

Example:

`PRETEXT:Character must make a sacrifice of bananas to the Monkey God.`

Explains what additional requirements are needed for the character to qualify.

*** Deprecated, use PRETYPE:x,y,y

Tag Name: PRETYPE:<type>,<type>

Tag Name: PRETYPE:x,y,y

Variables Used (x): Number (The number of types that must match the specified requirements).

Variables Used (y): Alpha (A type name).

Variables Used (y): EQMODTYPE (A type name for an eqmod).

Variables Used (y): EQMOD (name of KEY for a specific eqmod).

What it does:

Make specific TYPES or EQMODs a prerequisite.

- You can use multiple PRETYPE tags in a line. Use the PREMULT tag to affix multiple statements to a BONUS tag.
- you can use conditionals - e.g. `PRETYPE:.IF.TYPE=Armor.Shield.Weapon.THEN. EQMODTYPE=MagicalEnhancement`
- .IF.TYPE= is the only condition currently supported for eqModifiers

Examples:

`PRETYPE:1,Magic <tab> PRETYPE:1,Piercing,Slashing`

Type must be magic and piercing or slashing

`PREMULT:2,[PRETYPE:1,Magic],[PRETYPE:1,Piercing,Slashing]`

This example, utilizing the PREMULT tag, accomplishes the same thing as the example above it but as it is one statement it can be attached to a BONUS statement.

`!PRETYPE:1,Heavy`

Type must NOT be Heavy

`PRETYPE:EQMODTYPE="eqmodtype"`

Use to test for any modifier with "eqmodtype" type.

`PRETYPE:EQMOD="eqmodtype"`

Use to test for a specific eqModifer.

Tag Name: PREUATT:x

Variables Used:Number (Unarmed Attack Bonus number).

What it does:

Number indicates the minimun unarmed base attack bonus.

Example:

`PREUATT:4`

This would apply only if the PC had minimum unarmed attack bonus of 4.

Tag Name: PREVARx:y,z

Variables Used (x): EQ (Equals).

Variables Used (x): GT (Greater Than).

Variables Used (x): GTEQ (Greater Than or Equal to).

Variables Used (x): LT (Less Than).

Variables Used (x): LTEQ (Less Than or Equal to).

Variables Used (x): NEQ (Not Equal to).

Variables Used (y): Text (The name of a variable - as used in a DEFINE: or BONUS:VAR statement).

Variables Used (z): Number (The value the variable is to be compared to).

What it does:

Sets requirements based on user defined variables.

Example:

`PREVARGT:Rage,4`

Character must be able to rage more than four time per day.

`PREVARGT:SneakAttack,5`

Character must do Sneak Attack damage greater than 5d6.

`PREVARGT:SneakAttack,5,Rage,4`

Character must do Sneak Attack damage greater than 5d6 AND be able to rage more than four time per day.

*** New 5.3.2

Tag Name: PREVISION:x,y,y=z

Variables Used (x): Number (The number of vision types that must match the specified requirements).

Variables Used (y): Text (The vision types required).

Variables Used (y): Number (The distance of the vision types - optional).

What it does:

This sets the vision ability requirements. If there is an value at the end, all Visions in the list must be that value or higher to be considered valid.

Examples:

`PREVISION:2,Normal,Darkvision`

Character must have both Normal and Darkvision.

`PREVISION:1,Blindsight,Darkvision=30`

Character must have either Blindsight or Darkvision at at least 30.

*** Updated

Tag Name: PREWEAPONPROF:x,y,y

Variables Used (x): Number (The number of proficiencies that must match the specified requirements).

Variables Used (y): Text (The name of a weapon proficiency).

Variables Used (y): TYPE.Text (The name of a weaponprof type).

Variables Used (y): DEITYWEAPON (The favored weapon of the character's deity).

What it does:

Sets weapon proficiency requirements.

Examples:

`PREWEAPONPROF:2,Kama,Katana`

Character must have both "Kama" and "Katana".

`PREWEAPONPROF:1,TYPE.Exotic`

Character must have proficiency with any one exotic weaponprof type.

`PREWEAPONPROF:1,TYPE.Martial,Chain (Spiked)`

Character must have proficiency with either the Chain (Spiked) or any martial weapon.

`PREWEAPONPROF:1,DEITYWEAPON`

Weapon Prof in question must be one of the chosen deity's favored weapons.

*** New 5.5.4

Tag Name: PREWIELD:x,y

Variables Used (x): Number (The number of the wield categories that must match)

Variables Used (y): Text (Light,OneHanded or TwoHanded)

What it does:

Checks for wield category requirements (See WIELD).

Wield categories are defined in the miscinfo.lst gamemode file by the WIELDCATEGORY tag.

Because PREWIELD is checking for wield category requirements in equipment it is valid only in Equipment Modifiers.

Example:

`PREWIELD:1,Light,OneHanded`

Must be either Light or OneHanded.

`PREWIELD:1,TwoHanded`

Must be TwoHanded.

Tag Name: QUALIFY

Variables Used: String|String|etc.

What it does:

The opposite of PRExxx tags. A "|" deliminated string. Anything listed here will ignore all PRE tags and be a valid selection for the character. Currently only functional in template.lst

Example:

`QUALIFY:Mounted Combat|Ride-By Attack`

The character with the template this is a part of would be able to take the above feats whether they meet the prereqs or not.

## Misc PRExxx Stuff

Tag Name: PRE:.CLEAR

Variables Used: .CLEAR

What it does:

Clear all prerequisites.

Example:

`PRE:.CLEAR`

Clears all prerequisites.

Tag Name: PRExxx:Q:data

Variables Used: Q

What it does:

This is a variation on any PRE tag listed above. Adding a Q: between the tag and it's data will cause it to take precedence over the QUALIFY tag. Thus allowing QUALIFY to null out some but not all prereqs.

Example:

`QUALIFY:Whirlwind Attack` (In Template)

`PRESTAT:Q:1,DEX=13` (In Whirlwind Attack Feat)

If you have QUALIFY:Whirlwind Attack in a template (which means the character ignores all the prereqs), but you still want the DEX prereq to be enforced, you would edit the PRE in the Whirlwind Attack feat to read as above.