View Single Post
Aaron
Senior Member
Lone Wolf Staff
 
Join Date: Oct 2011
Posts: 6,776

Old November 19th, 2018, 05:47 PM
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)

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

      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]

      ~ 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.?]

      ~ 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!
Aaron is offline   #10 Reply With Quote