Lone Wolf Development Forums  

Go Back   Lone Wolf Development Forums > Hero Lab Forums > HL - Pathfinder Roleplaying Game

Notices

Reply
 
Thread Tools Display Modes
Hydrothermal
Junior Member
 
Join Date: Sep 2014
Location: USA
Posts: 11

Old December 13th, 2018, 11:55 AM
Is it possible to apply bonuses/penalties to specific attacks inside a full attack? For instance, a feat that adds +1 to only your second attack. I've tried a lot of different things but haven't yet found a way to modify anything except the highest bonus, from which all the iterative attacks are based off of.
Hydrothermal is offline   #1 Reply With Quote
Aaron
Senior Member
 
Join Date: Oct 2011
Posts: 6,793

Old December 13th, 2018, 12:53 PM
Yes, you can do that. You'll have to intervene at a specific timing, let me pull up the announcement notes, which had some guidance.

Code:
      <li>The way that attack bonuses are stored has changed so that the values of individual attacks can be directly modified. Read below for details.</li>
      <ul>
        <li>The old way was to use the value of the final attack value field (wAttack for melee attacks, and wRanAtk for ranged attacks), then in a finalize script call a procedure to generate text for display for subsequent attacks based on various factors. The results could only be viewed, not manipulated.</li>
        <li>The new way begins with the "Assign number of Iterative attacks" script at Final 12500. This script assigns a number of Helper.ExtraIter tags to the weapon based on that weapon's Base Attack Bonus field, whether it is the off hand weapon while two weapon fighting, and so on. For natural attacks (and weapon like special abilities which count as them) it eliminates any ExtraIter tags when appropriate (exceptions being when the Helper.NatHasIter tag is assigned or when animal companions with only 1 natural attack apply Helper.AnimCExtra). For both types of weapons the presence of Helper.SingleAtt on the pick or Dependant.NoIterAtk on the hero (applied by certain optional rulesets in Pathfinder Unchained) also eliminates all ExtraIter tags.</li>
        <li>At Final 15000 "Calc wMeleeAtts and wRangeAtts Column 1 for Main Hand" runs. Instead of the old 6 row array for the different attack options with a weapon (Row 0 - Main hand only, Row 1 - Both Hands, Row 2 - TWF (the main hand attack when paired with a non-light weapon), Row 3 - TWF (Main hand when paired with a light weapon), Row 4 - This is the off hand weapon, Row 5 - This is being wielded as a double weapon), we have expanded each of those rows to be 10 rows in the new wMeleeAtts/wRangeAtts matrix. Each row in the matrix represents another iterative attack, and each cell represents an attack at that iteration. This script changes the cells in the first column of the first 10 rows (the extra attacks at each iteration is handled in a later script), starting with cell [0,0] and proceeding down a number of rows equal to the number of ExtraIter tags. The decrease with each step down is stored in the wIterGap field for that weapon (the default is 5). The default value for each cell of the matrix is -999 (you can use the #noiterattack[] macro as a stand in for this number), so if you need to detect if a cell contains an attack value you can check for a value other than that. Oh, this is also where the Helper.SingleRAtt and Helper.SingleMAtt tags override any Helper.ExtraIter tags present.</li>
        <li>At Final 17500 "Handle Precision tags" alters any iterative attacks in those first 10 rows, increasing them in response to the count of Hero.Precision tags present on the hero. This script doesn't raise the 2nd and subsequent attacks any higher than the highest attack's bonus, so keep that in mind if for some reason you want to mess around with iteratives in a way that they could exceed the highest attack (though no examples of this exist yet).</li>
        <li>At Final 20000 "Calc wMeleeAtts and wRangeAtts Column 1 for Other Equip States" copies the contents of the first 10 rows to the rest of the matrix, displacing each cell in column 1 down in sets of 10 (so the contents of cell [0,0] are copied to cell [10,0], and so on). There are a series of macros which can be used to refer to the beginning row for each set (#atttype_wepmain[] = 0, #atttype_wepboth[] = 10, #atttype_wepmain_off[] = 20, #atttype_wepmain_offlight[] = 30, #atttype_wepoff[] = 40, #atttype_wepdouble[] = 50), and you can use those when referring to cells in code. For example, if you wanted to refer to the 2nd attack of the weapon when wielded with a light off hand weapon, you should write that as matrixvalue[#atttype_wepmain_offlight[] + 1,0] instead of matrixvalue[31,0]. While this script is transferring the values, the appropriate modifications for two weapon fighting penalties, etc are applied.</li>
        <li>At Final 22500 "Calc wMeleeAtts and wRangeAtts Column 2+" runs down the first column of the matrix, and for any cell which has a value (remember that -999 represents an unmodified, valueless cell) checks to see if we get any extra attacks at that iteration. This is based on the number of Helper.ExtraHigh + Helper.ExtraMelHi or Helper.ExtraRanHi for the first attack. Subsequent iterations have their own tags which do not distinguish between ranged/melee (Helper.Extra2nd for the 2nd attack, Helper.Extra3rd for the 3rd and so on).</li>
        </ul>
Furious Focus is an example of this direct manipulation.
Aaron is offline   #2 Reply With Quote
Hydrothermal
Junior Member
 
Join Date: Sep 2014
Location: USA
Posts: 11

Old December 13th, 2018, 08:47 PM
Thanks! It took me a while to figure out the details but I got everything working. The last time I looked at Furious Focus it still wasn't implemented to actually do anything so I had no idea that this was possible now.

Last edited by Hydrothermal; December 13th, 2018 at 08:48 PM. Reason: accidental early submit
Hydrothermal is offline   #3 Reply With Quote
Reply

Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT -8. The time now is 12:44 AM.


Powered by vBulletin® - Copyright ©2000 - 2024, vBulletin Solutions, Inc.
wolflair.com copyright ©1998-2016 Lone Wolf Development, Inc. View our Privacy Policy here.