Additional Weapon Damage
This will be implemented under the following code FREQ:
Additional Weapon Damage
Here's something simple that PCGen can't currently handle, some weapons and monster attacks deal additional damage beyond the standard damage roll. Flaming swords do fire damage, many monsters attacks inject poison. This is displayed in most stat blocks right inline with the normal damage, examples:
1d8 plus 1d6 fire
1d6 plus poison
Currently we put this data in the equipments SPROP or an SAB tag if it's a monster. I would like to see a way to do this in PCGen, we need something in addition to SPROP as that tag is a dumping ground for many things besides just additional damage. I think it can be a text string as there are not many cases where there is something that modifies the secondary damage value. In those rare cases where that may be needed we could make the new tag accept variable substitution like SPROP and SAB do.
Contents
New EQUIP / EQUIPMOD tag
ADDITIONALDAMAGE:x|y|y
x = Text (Additional damage the weapon deals)
This would be a short string (like "1d6 Acid damage") leaving any longer
descriptions and details to an SPROP or ability DESC.
y = Var or formula, referenced by %1, %2, etc in (x)
This tag takes PRExxx
This tag can be used multiple times, and CLEARed in .MODs using .CLEARALL (everything) or .CLEAR.<specific (x) value>
Examples:
- ADDITIONALDAMAGE:Poison
- ADDITIONALDAMAGE:1d6 Cold
- ADDITIONALDAMAGE:%d4 Sonic|TL
We also need a parallel tag for double weapons:
- ALTADDITIONALDAMAGE:x|y|y
Same syntax as ADDITIONALDAMAGE
This tag takes PRExxx
This tag can be used multiple times, and CLEARed in .MODs using .CLEARALL (everything) or .CLEAR.<specific (x) value>
Multiple instances from both Equip and Equipmods are joined together as a comma separated string for output just like multiple instances of SPROP is done.
NOTE: +1d6 Fire +1d6 Cold looks a lot better than +1d6 Fire, +1d6 Cold, and so might want to be rethought. - Tir
.CLEAR / MODs
Clearing ADDITIONALDAMAGE tags can be done with the following syntax:
- ADDITIONALDAMAGE:.CLEAR.<exact text> (to clear a specific instance)
- ADDITIONALDAMAGE:.CLEARALL (to clear all instances)
Modification to NATURALATTACKS tag
Now we need a way to add this property to natural weapons, I propose we add an additional optional variable to NATURALATTACKS at the end where the text can be added, example:
- NATURALATTACKS:Claw,Weapon.Natural.Melee.Slashing,*2, 1d4,1d6 Acid
The new variable for NATURALATTACKS will accept a single entry and no variable substitution.
ISSUE
Adding to NATURALATTACKS tags needs either a) a cleanup on error reporting on badly formed NATURALATTACKS tags, or b) the last set of commas being optional (right now, the number of commas is NOT optional).
Adding another comma WITHOUT that will kill all NATURALATTACKS tags out there currently.
Possibily need to revamp / replace NATURALATTACKS, as it is a long and unwieldy tag currently.
OS Token
Next we need a new sub token for the WEAPON OS token, ADDITIONALDAMAGE which outputs the value of ADDITIONALDAMAGE for that weapon.
WEAPON Token
WEAPON.[q.][r.]s.z
New (z) - ADDITIONALDAMAGE
EQ Token
New Equipment tokens:
EQ.%.ADDITIONALDAMAGE
EQ.%.ALTADDITIONALDAMAGE
EQMOD's can have ADDITIONALDAMAGE tags to add these properties to weapons. ADDITIONALDAMAGE is additive in the same way that SPROP is (multiple tags are grouped into a single, comma separated string). This tag is pretty much identical to SPROP except for it's name and the additional ability to add this property to NATURALATTACKS.
See 1173470 - BONUS: add DAMAGEDICE to WEAPON or WEAPONPROF for the request for this feature.