• Please note: In an effort to ensure that all of our users feel welcome on our forums, we’ve updated our forum rules. You can review the updated rules here: http://forums.wolflair.com/showthread.php?t=5528.

    If a fellow Community member is not following the forum rules, please report the post by clicking the Report button (the red yield sign on the left) located on every post. This will notify the moderators directly. If you have any questions about these new rules, please contact support@wolflair.com.

    - The Lone Wolf Development Team

Adjust Monk Unarmed Damage

rgulizia

Member
I am working on trying to create the Shadow Monk hybrid class from the Pathfinder Community and I can't seem to figure out how to change the Monk Unarmed damage. I updated the written text, but not the actual damage done by the PC.

Any assistance would be much appreciated!
 
How are you going about it? Is this an archetype or something else? Are you replacing the Unarmed Strike monk ability with a new version or trying to modify the existing one?
 
I'm just trying to modify the existing one. Just need to change the damage to slightly lower numbers. I am more than willing to create a new one as well. Let's call it Shadow Monk Unarmed Strike.
 
If you're trying to modify the existing one then there are a couple ways to go about it. You could add or subtract effective levels (by manipulating the xEffectLev field on the class special). If its not a level adjustment but some different rate of advancement then you could copy the base ability, modify its scripts and save a new version (then use Replaces Thing ID to replace the old with the new). Replace Thing ID does have the drawback of not getting any subsequent changes we make to the base version of the ability. A third way to handle it would be to do the copy and mod, but attach the new version to an archetype, if this is a mod of base monk. Keep in mind I have no clue what "the Shadow Monk hybrid class from the Pathfinder Community" means.

I think it would be helpful if you posted how your version's text goes, and how you need things to differ from what the normal unarmed strike does.
 
So, how's it going? Did you try one or more of the suggestions above? Did they work, or do you need more help?
 
I'm going to need more help. I don't know what you mean by "modify the scripts" Where is the list of damage progression by level? If I can find that, then I can probably update the ability. I found the text, but not where it actually does the damage in class abilities.
 
So if you make a copy of the Unarmed Strike Class special, you'll see that it bootstraps an ability called xMnkUnarm, which it then adds to the value of in this script:

PostLevel 4000
Code:
      ~ only perform the rest on the first copy
      doneif (tagis[Helper.FirstCopy] = 0)

      ~ If we're not shown, just get out now
      doneif (tagis[Helper.ShowSpec] = 0)

      ~ If we're disabled, do nothing
      doneif (tagis[Helper.SpcDisable] <> 0)

      [B]~Add our levels to the unarmed attack damage helper
      #value[xMnkUnarm] += field[xAllLev].value[/B]

      if (field[xAllLev].value < 4) then
        field[abText].text = "1d6"
      elseif (field[xAllLev].value < 8) then
        field[abText].text = "1d8"
      elseif (field[xAllLev].value < 12) then
        field[abText].text = "1d10"
      elseif (field[xAllLev].value < 16) then
        field[abText].text = "2d6"
      elseif (field[xAllLev].value < 20) then
        field[abText].text = "2d8"
      else
        field[abText].text = "2d10"
        endif

If you copy xMnkUnarm you'll see that it has only one script, which takes the value field and changes it into a damage tag (this is the procedure MnkWepBase), which it then applied to the unarmed weapon.

PostLevel 5000
Code:
      ~If our effective monk level is 0 or less, we don't change the damage at all
      doneif (field[abValue].value <= 0)

      ~ If we're disabled, do nothing
      doneif (tagis[Helper.SpcDisable] <> 0)

      perform assign[Helper.ShowSpec]

      [B]~ Get our unarmed strike pick, delete the damage tag from it, and assign
      ~ a new damage tag.

      ~ this has been modified to use the MnkWepBase routine
      ~ since that procedure puts the wMain tag on us, we will need to
      ~ push it to wUnarmed when we are done

      var level as number
      level = field[abValue].value

      call MnkWepBase

      ~ clear our wUmarmed and give it our wMain tag
      perform hero.child[wUnarmed].delete[wMain.?]
      perform hero.child[wUnarmed].pushtags[wMain.?][/B]

      ~ set our dice damage in abText

      var dicetext as string

      call wMainText
      field[abText].text = dicetext

And here is what happens in that "MnkWepBase" procedure call

Code:
    ~ this is for setting the base damage tag for the
    ~ monk's unarmed strike ability and abilities that
    ~ gain benefits like that (for example the brawler)

    ~ INPUT
    ~ level is our level

    ~ we assuming that the wielder is medium, because
    ~ that is what wMain tags assume. Damage dice are then adjusted up or down
    ~ appropriately based on size.

    var level as number

    if (level >= 20) then
      ~ Medium folks get 2d10 at this level.
      perform assign[wMain.2d10]
    elseif (level >= 16) then
      ~ Medium folks get 2d8 at this level.
      perform assign[wMain.2d8]
    elseif (level >= 12) then
      ~ Medium folks get 2d6 at this level.
      perform assign[wMain.2d6]
    elseif (level >= 8) then
      ~ Medium folks get 1d10 at this level.
      perform assign[wMain.1d10]
    elseif (level >= 4) then
      ~ Medium folks get 1d8 at this level.
      perform assign[wMain.1d8]
    else
      ~ Medium folks get 1d6 at this level.
      perform assign[wMain.1d6]
      endif

So if you want your unarmed damage advancement for the Shadow Monk to stack level for level with other Unarmed Strikes from, for example, normal monks or brawlers, then just bootstrap cMnkUnarm to your new class.

If you want it to stack with other unarmed strikes but at some other rate (for example, 2 levels of shadow monk count as 1 level of monk for unarmed strike), then create a new class ability (for example cShMUnarm), have that bootstrap xMnkUnarm, but add a different value in the bolded section of the first script.

If it does not stack with other unarmed strikes, or if the advancement is radically different from the one followed by monks, then you should probably create a new class ability but NOT bootstrap the helper ability. Instead, copy the script from the MnkWepBase procedure into your new ability, and tweak those if/then branches to your new rate of advancement. Then do the tag replacement on wUnarmed as shown in Code section 2 above.

Hope that helps!
 
So, what I would like to do is reduce the damage one step for the Shadow Monk. Instead of 1d6 to start, they get 1d4. Then they go to 1d6 when the Monk gets to 1d8, then 1d8 when 1d10, then 1d10 when 2d6, then 2d6 when 2d8, then 2d8 when 2d10.

Can I just update the text in xMnkUnarm, and MnkWepBase by coping it and making a new skill?
 
Bootstrap the normal cMnkUnarm, with a -4 in the effective level field (xEffectLev). Have a second eval script on the archetype which assigns Helper.DamageDown to the unarmed strike until you hit the first increase from monk levels. That way the normal special will assign 1d6 (since that is minimum, even if the -4 brings it to negative or less) until level 4 and your DamageDown bumps this to 1d4. At level 4 and up, you don't assign anything and the -4 means its always one step behind.
 
Assuming this script is running on an archetype:

First 10000
Code:
~If this archetype does not have its linked class, do nothing
doneif (islinkage[varies] = 0)

~If our linked class level is less than 4, assign a tag to lower unarmed strike damage one step.
if (linkage[varies].field[cTotalLev].value < 4) then
  perform hero.childfound[wUnarmed].assign[Helper.DamageDown]
  endif
 
Yeah, where the script runs determines the initial context. Where are you putting the script? On a class ability? On the class helper itself?
 
Erm. I am fairly certain by "skill" you mean "class ability". Yes, you can certainly put a script there. It should be in PostLevel phase, 10000 priority. Drop the doneif checking for the linkage (line 2 in the block above). In line 5's parenthesis, do not transition anywhere, just check the xAllLev field's value on the class ability.
 
I added the script and the unarmed strike is down to 1d3 damage and non-lethal. Did I reduce it too much somewhere else? The other two scripts, I reduced down one level each section. Should I have left them alone? I'm wondering if this has something to do with the xMnkUnarmd ability and the new one I created from Monk Unarmed Strike Class ability. Perhaps the two aren't talking to each other somewhere?
 
Last edited:
Back
Top