What HeroLab does not do:
1. Disarm CMB not increased by +2 when weilding a weapon with the "disarm" property
2. Sunder CMB not increased by +2 when weilding a weapon with the "sunder" property
3. "any bonuses you currently have on attack rolls due to spells, feats, and other effects" are not applied to TRIP, DISARM or SUNDER
4. Weapons with the "trip" property should also increase the CMB of Drag and Reposition
5. Figher Archetype - Polearm Master: Sweeping fend should treat all Spears and Polearms as if they have trip
6. Figher Archetype - Polearm Master: Sweeping fend should adjust the CMB of Bull Rush at a -4 penalty when holding a Spears or Polearms and apply bonuses as per point #3.
7. Figher Archetype - Polearm Master: Steadfast Pike ability doesn't have a way to Toggle on and off
Source:
http://paizo.com/paizo/blog/v5748dyo5lcom
Fix:
I have created two "Adjustments" (found on the adjustment tab).
One of these "Readied Action for Steadfast Pike" is to turn on/off point #7 from the errors listed above.
The second, "Weapon CMB Adjuster", deals with points #1-#6 from the errors listed above.
Notes:
This was my first attempt to do any sort of scripting within Hero Lab.
For my updated calculations I basically just grab the attack roll bonus used by the weapon, remove the BAB and the STR bonus. Then add the remainder onto the CMBs.
I'm assuming that this way I get *ALL* the applied bonuses to the weapon and because I'm removing BAB and STR the CMB isn't double-dipping on those stats.
If I have any oversights or suggestions for optimizing please let me know.
I also tested against characters who had "Weapon Finesse" or the "Agile Maneuver" feats. The calculated CMBs seem to be correct
Example Calculation:
13 BAB (level 13)
+ 5 STR
+ 1 Weapon Focus
+ 3 Polearm Training (polearm master ability)
+ 3 Weapon Bonus
+ 2 improved trip
-------
=27 new computed CMB for tripping
compared to how HeroLab computes it:
13 BAB (level 13)
+ 5 STR
+ 2 improved trip
-------
=20
Target Audience:
All Pathfinder characters! Polearm masters in particular may want to use this.
Code:
Readied Action for Steadfast Pike
Weapon CMB Adjuster
1. Disarm CMB not increased by +2 when weilding a weapon with the "disarm" property
2. Sunder CMB not increased by +2 when weilding a weapon with the "sunder" property
3. "any bonuses you currently have on attack rolls due to spells, feats, and other effects" are not applied to TRIP, DISARM or SUNDER
4. Weapons with the "trip" property should also increase the CMB of Drag and Reposition
5. Figher Archetype - Polearm Master: Sweeping fend should treat all Spears and Polearms as if they have trip
6. Figher Archetype - Polearm Master: Sweeping fend should adjust the CMB of Bull Rush at a -4 penalty when holding a Spears or Polearms and apply bonuses as per point #3.
7. Figher Archetype - Polearm Master: Steadfast Pike ability doesn't have a way to Toggle on and off
Source:
http://paizo.com/paizo/blog/v5748dyo5lcom
Fix:
I have created two "Adjustments" (found on the adjustment tab).
One of these "Readied Action for Steadfast Pike" is to turn on/off point #7 from the errors listed above.
The second, "Weapon CMB Adjuster", deals with points #1-#6 from the errors listed above.
Notes:
This was my first attempt to do any sort of scripting within Hero Lab.
For my updated calculations I basically just grab the attack roll bonus used by the weapon, remove the BAB and the STR bonus. Then add the remainder onto the CMBs.
I'm assuming that this way I get *ALL* the applied bonuses to the weapon and because I'm removing BAB and STR the CMB isn't double-dipping on those stats.
If I have any oversights or suggestions for optimizing please let me know.
I also tested against characters who had "Weapon Finesse" or the "Agile Maneuver" feats. The calculated CMBs seem to be correct
Example Calculation:
13 BAB (level 13)
+ 5 STR
+ 1 Weapon Focus
+ 3 Polearm Training (polearm master ability)
+ 3 Weapon Bonus
+ 2 improved trip
-------
=27 new computed CMB for tripping
compared to how HeroLab computes it:
13 BAB (level 13)
+ 5 STR
+ 2 improved trip
-------
=20
Target Audience:
All Pathfinder characters! Polearm masters in particular may want to use this.
Code:
Readied Action for Steadfast Pike
Code:
~ If we're not enabled, get out now
doneif (field[pIsOn].value = 0)
var stdfst as number
stdfst = 0
foreach pick in hero where "Ability.cFtrSteadP"
stdfst = maximum(stdfst, eachpick.field[abValue].value)
nexteach
foreach pick in hero where "wCategory.Melee"
if (eachpick.tagis[wFtrGroup.PoleArms] <> 0) then
eachpick.field[wAttack].value += stdfst
endif
if (eachpick.tagis[wFtrGroup.Spears] <> 0) then
eachpick.field[wAttack].value += stdfst
endif
nexteach
Weapon CMB Adjuster
Code:
~ If a "melee" weapon is held then CMB is adjusted for TRIP, DISARM, SUNDER (weapons do not need these properties to take advantages of the implicit bonuses).
~ If a "melee" weapon has disarm or sunder weapon properties than a +2 bonus is granted.
~ If a "melee" weapon has trip then DRAG and REPOSITION are adjusted to use updated CMB.
~ Note to players. If you fail your TRIP check by 10 or more then you become prone or if your weapon has a trip property you can drop the weapon - I cannot account for this penalty.
~ If we're not enabled, get out now
doneif (field[pIsOn].value = 0)
~Boolean: flags for Combat Maneuvers which need to be adjusted (note that doBllRsh is TRUE when the value is equal to 2)
var doTrip as number
var doDisarm as number
var doSunder as number
var doBllRsh as number
doTrip = 0
doDisarm = 0
doSunder = 0
doBllRsh = 0
~Boolean: is the hero holding a "Melee" weapon?
var isWpnFnd as number
isWpnFnd = 0
~Integer: what is the calculated Attack bonus on the weapon (this number will be modified)
var atkBonus as number
atkBonus = 0
~Check if the hero has the Polearm Ability "Sweeping Fend"; as a prereq for doing "Bull Rush" with the weapon.
foreach pick in hero where "Ability.cFtrSweepF"
doBllRsh = 1
nexteach
~Only iterate over Melee weapons the character has
foreach pick in hero where "wCategory.Melee"
~Only bother with "Equipped" weapons.
if (eachpick.field[gIsEquip].value = 1) then
isWpnFnd = 1
~Benefit of the Doubt - use the highest attack bonus found for equipped melee weapons!
atkBonus = maximum(eachpick.field[wAttack].value, atkBonus)
~Determine if hero is holding a PoleArm or a Spear
if (doBllRsh = 1) then
if (eachpick.tagis[wFtrGroup.PoleArms] <> 0) then
doBllRsh = 2
elseif (eachpick.tagis[wFtrGroup.Spears] <> 0) then
doBllRsh = 2
endif
endif
if (eachpick.tagis[wSpecial.Trip] <> 0) then
doTrip = 1
elseif (doBllRsh = 2) then
doTrip = 1
endif
if (eachpick.tagis[wSpecial.Disarm] <> 0) then
doDisarm = 1
endif
~N.B. there are no Sunder weapons for me to test with ATM.
if (eachpick.tagis[wSpecial.Sunder] <> 0) then
doSunder = 1
endif
endif
nexteach
if (isWpnFnd = 1) then
~undo STR and BAB, otherwise they are counting twice
atkBonus = atkBonus - hero.child[Attack].field[tAtkBase].value
atkBonus = atkBonus - hero.child[aSTR].field[aBonus].value
~ Add to our chosen attribute
hero.child[manTrip].field[manCMB].value += atkBonus
hero.child[manSunder].field[manCMB].value += atkBonus
hero.child[manDisarm].field[manCMB].value += atkBonus
if (doTrip = 1) then
hero.child[manReposit].field[manCMB].value += atkBonus
hero.child[manDrag].field[manCMB].value += atkBonus
endif
if (doDisarm = 1) then
hero.child[manDisarm].field[manCMB].value += 2
endif
if (doSunder = 1) then
hero.child[manSunder].field[manCMB].value += 2
endif
if (doBllRsh = 2) then
hero.child[manBullRus].field[manCMB].value += atkBonus - 4
endif
endif
Attachments
Last edited: