Lone Wolf Development Forums  

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

Notices

Reply
 
Thread Tools Display Modes
Jobe00
Senior Member
 
Join Date: Nov 2008
Location: Jonesboro, Arkansas
Posts: 150

Old June 12th, 2021, 09:52 PM
I'm wanting to use the version of Rage from Play Manga d20 as an Archetype option. My problem is reworking it as it uses elements from the Core Barbarian and Unchained Barbarian Rage mechanics.

"A barbarian can call upon inner reserves of strength and ferocity, granting her additional combat prowess. At 1st level, a barbarian can rage for a number of rounds per day equal to 4 + her Constitution modifier. For each level after 1st she possesses, the barbarian can rage for 2 additional rounds per day. Temporary increases to Constitution, such as that gained from bear’s endurance, do not increase the total number of rounds that a barbarian can rage per day. A barbarian can enter a rage as a free action. The total number of rounds of rage per day is renewed after resting for 8 hours, although these hours need not be consecutive.

While in rage, a barbarian gains a +4 morale bonus to her Strength, as well as a +2 morale bonus on Fortitude and Will saves. In addition, she takes a -2 penalty to Armor Class. She also gains 2 temporary hit points per Hit Die. These temporary hit points are lost first when a character takes damage, disappear when the rage ends, and are not replenished if the barbarian enters a rage again within 1 minute of her previous rage. While in a rage, a barbarian cannot use any Charisma-, Dexterity-, or Intelligence-based skill (except Acrobatics, Fly, Intimidate, and Ride) or any ability that requires patience or concentration (such as spellcasting).

A barbarian can end her rage as a free action and is fatigued after rage for a number of rounds equal to 2 times the number of rounds spent in the rage. A barbarian cannot enter a new rage while fatigued or exhausted but can otherwise enter rage multiple times during a single encounter or combat. If a barbarian falls unconscious, her rage immediately ends."

So at base, it's +4 Morale Bonus to Strength with +2 Morale Bonus to Fortitude and Will Saves, 2 Temporary Hit Points per Level/HD, and -2 to AC.
Greater Rage and Mighty Rage will just be increases of the bonuses.
I've copied Unchained Rage as the Base for this, so I need help replacing the +2 To Hit and Damage with the Str bonus and to add the Fort Save bonus.

After that, I can just do the Archetype. I think.
I would also be able to use this for Bloodrager as well, I think. Right?

Last edited by Jobe00; June 12th, 2021 at 09:54 PM. Reason: formating
Jobe00 is offline   #1 Reply With Quote
Jobe00
Senior Member
 
Join Date: Nov 2008
Location: Jonesboro, Arkansas
Posts: 150

Old June 19th, 2021, 06:16 PM
*looks around* Bueller?
Jobe00 is offline   #2 Reply With Quote
Jobe00
Senior Member
 
Join Date: Nov 2008
Location: Jonesboro, Arkansas
Posts: 150

Old June 19th, 2021, 06:50 PM
Using the Unchained Rage ability as the base, I change abValue to 4 and then alter the second Eval Script as follows.
I'm just not sure how to make the Strength and save bonuses Morale Bonuses.

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

      doneif (tagis[Helper.SpcDisable] <> 0)

      ~ If we're not enabled, get out now
      doneif (field[abilActive].value = 0)

      ~Dead Calm halves bonuses, removes AC penalty
      if (hero.tagis[Custom.DeadCalm] <> 0) then
        field[abValue].value = round(field[abValue].value/2,0,-1)
        field[abValue2].value = round(field[abValue2].value/2,0,-1)
        field[abValue3].value = round(field[abValue3].value/2,0,-1)
        field[abValue4].value = round(field[abValue4].value/2,0,-1)
        field[abValue5].value = 0
        endif

      ~ Strength bonus
      hero.child[aSTR].field[Bonus].value += field[abValue].value

      ~ The temporary hit points are added in another script which runs later.

      ~ Fort save bonus
      hero.child[svFort].field[Bonus].value += field[abValue3].value

      ~ Will save bonus
      hero.child[svWill].field[Bonus].value += field[abValue4].value

      ~Even though the AC modifier from raging isn't typed, it's broken out
      ~ as a separate modifier in stat blocks. So instead of adding it to
      ~ the 'untyped penalty' field, we call ACModIns
      if (field[abValue5].value <> 0) then
        var modname as string
        var modval as number
        modname = "rage"
        modval = field[abValue5].value
        call ACModIns
        endif

Last edited by Jobe00; June 19th, 2021 at 08:49 PM. Reason: Corrected code
Jobe00 is offline   #3 Reply With Quote
Jobe00
Senior Member
 
Join Date: Nov 2008
Location: Jonesboro, Arkansas
Posts: 150

Old June 23rd, 2021, 10:47 PM
In the code above, how can I make the Strength, Fort, and Will save bonuses a Morale bonus?
I tried using something similar to the Bloodrager's Bloodrage ability, but I get errors.
Jobe00 is offline   #4 Reply With Quote
Jobe00
Senior Member
 
Join Date: Nov 2008
Location: Jonesboro, Arkansas
Posts: 150

Old June 28th, 2021, 02:32 PM
I managed to get the code figured out for the modified Rage and Bloodrage both.
Jobe00 is offline   #5 Reply With Quote
Ualaa
Senior Member
 
Join Date: Sep 2013
Location: Vancouver, Canada.
Posts: 813

Old June 28th, 2021, 06:27 PM
Would it be possible to post that?

That way if someone in the future searches and finds your query, they also find the solution.
Ualaa is offline   #6 Reply With Quote
Jobe00
Senior Member
 
Join Date: Nov 2008
Location: Jonesboro, Arkansas
Posts: 150

Old June 30th, 2021, 03:09 AM
Using the Rage (Unchained) as the base, modify the "Apply rage effects" Eval Script with this:

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

      doneif (tagis[Helper.SpcDisable] <> 0)

      ~ If we're not enabled, get out now
      doneif (field[abilActive].value = 0)

      ~Dead Calm halves bonuses, removes AC penalty
      if (hero.tagis[Custom.DeadCalm] <> 0) then
        field[abValue].value = round(field[abValue].value/2,0,-1)
        field[abValue2].value = round(field[abValue2].value/2,0,-1)
        field[abValue3].value = round(field[abValue3].value/2,0,-1)
        field[abValue4].value = round(field[abValue4].value/2,0,-1)
        field[abValue5].value = 0
        endif

      ~ Rage Bonuses
        #applybonus[BonMorale, hero.child[aSTR], field[abValue].value]
        #applybonus[BonMorale, hero.child[svFort], field[abValue3].value]
        #applybonus[BonMorale, hero.child[svWill], field[abValue4].value]

      ~ The temporary hit points are added in another script which runs later.

      ~Even though the AC modifier from raging isn't typed, it's broken out
      ~ as a separate modifier in stat blocks. So instead of adding it to
      ~ the 'untyped penalty' field, we call ACModIns
      if (field[abValue5].value <> 0) then
        var modname as string
        var modval as number
        modname = "rage"
        modval = field[abValue5].value
        call ACModIns
        endif
Adjust abValue to 4. This will give +4 Morale Bonus to Strength, +2 Morale Bonus to Fortitude and Will saves, 2 hit points/Hit Die, and -2 AC.

Then for Greater Rage and Mighty Rage, use the Unchained versions, set abValue to 2 and abVaule2 to 1. Replace the Eval Script as follows:

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

      doneif (tagis[Helper.SpcDisable] <> 0)

      perform hero.childfound[c***].setfocus

      doneif (state.isfocus = 0)

      ~ Increase the fields which hold Strength and save bonuses, etc
      focus.field[abValue].value += field[abValue].value
      focus.field[abValue2].value += field[abValue2].value
      focus.field[abValue3].value += field[abValue2].value
      focus.field[abValue4].value += field[abValue2].value

      ~ add some text which will prepend the thingname when building a statblock name.
      focus.field[abText].text = "greater"
In the "perform hero.childfound[c***].setfocus" use the Unique ID of the ability you set for Rage or Bloodrage.

For Mighty Rage, replace "greater" in the last line with "mighty"

For Bloodrage, you do the same. Copy it in its entirety, then change abValue2, 3, and 4 to 2 and abValue5 to -2. Replace the Bloodrage effects Eval Script with this code:

Code:
var level as number
      level = field[xAllLev].value

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

      ~ If we're disabled, just get out now
      doneif (tagis[Helper.SpcDisable] <> 0)

      ~ If we are Controlled Raging, we need to adjust our bonus to an appropriate amount (by subtracting the amount of the other bonuses). We don't get any penalties though.
      if (field[abilActive].value <> 0) then
        var countercon as number

        if (hero.tagis[Custom.ControRage] <> 0) then
          field[abValue].value -= hero.childfound[abContRag3].field[actUser].value
          field[abValue].value -= hero.childfound[abContRag2].field[actUser].value
          #applybonus[BonMorale, hero.child[aSTR], field[abValue].value]

          countercon = round(hero.childfound[abContRag3].field[actUser].value/2,0,-1)
        else
          #applybonus[BonMorale, hero.child[aSTR], field[abValue].value]
          #applybonus[BonMorale, hero.child[svFort], field[abValue3].value]
          #applybonus[BonMorale, hero.child[svWill], field[abValue4].value]

      ~ The temporary hit points are added in another script which runs later.

          ~Even though the AC modifier from raging isn't typed, it's broken out
          ~ as a separate modifier in stat blocks. So instead of adding it to
          ~ the 'untyped penalty' field, we call ACModIns
          if (field[abValue5].value <> 0) then
            var modname as string
            var modval as number
            modname = "rage"
            modval = field[abValue5].value
            call ACModIns
            endif

          countercon = round(field[abValue3].value/2,0,-1)
          endif

        ~ Counter the increase to charges
        field[trkMax].value -= countercon
        endif

      ~ Set up our text fields
      field[CustDesc].text = "Fly into a rage, giving you +" & field[abValue].value & " Str, +" & field[abValue3].value & " to Fort and Will saves, +" & field[abValue2].value & " temporary hit points per hit die, and "& signed(field[abValue5].value) & " to Armor Class. Many skills and abilities cannot be used while the character is enraged."
      if (hero.childfound[cHAFBldRageUnhTR].tagis[Helper.ShowSpec] = 0) then
        field[CustDesc].text = field[CustDesc].text & " At the end of the rage, the barbarian becomes fatigued (-2 Str, -2 Dex, can't charge or run) for a number of rounds equal to twice the number of rounds spent raging."
        endif

      if (hero.childfound[cHAFBldRageUnhMt].field[xAllLev].value >= hero.childfound[cBlrRageMt].tagvalue[ClSpecWhen.?]) then
        field[CustDesc].text = field[CustDesc].text & "\n\nIn addition, upon entering a bloodrage, the bloodrager can apply the effects a bloodrager spell he knows to himself. The spell must have a range of touch or personal. If the spell’s duration is greater than 1 round, it instead lasts for the duration of the bloodrage. This use consumes a bloodrager spell slot, as if he had cast the spell; he must have the spell slot available to take advantage of this effect."
      elseif (hero.childfound[cHAFBldRageUnhGt].field[xAllLev].value >= hero.childfound[cHAFBldRageUnhGt].tagvalue[ClSpecWhen.?]) then
        field[CustDesc].text = field[CustDesc].text & "\n\nIn addition, upon entering a bloodrage, the bloodrager can apply the effects up to two bloodrager spells he knows of 2nd level or lower to himself. The spells must each have a range of touch or personal. If a spell's duration is greater than 1 round, it instead lasts for the duration of the bloodrage. This use consumes bloodrager spell slots, as if he had cast the spells; he must have the spell slots available to take advantage of this effect."
      elseif (hero.childfound[cBlrRageGt].field[xAllLev].value >= hero.childfound[cBlrRageGt].tagvalue[ClSpecWhen.?]) then
        field[CustDesc].text = field[CustDesc].text & "\n\nIn addition, upon entering a bloodrage, the bloodrager can apply the effects a bloodrager spell he knows of 2nd level or lower to himself. The spell must have a range of touch or personal. If the spell’s duration is greater than 1 round, it instead lasts for the duration of the bloodrage. This use consumes a bloodrager spell slot, as if he had cast the spell; he must have the spell slot available to take advantage of this effect."
        endif

      field[abSumm].text = signed(field[abValue].value) & " Str, " & signed(field[abValue3].value) & " to Fort & Will saves, +" & signed(field[abValue2].value) & " hp/HD, " & signed(field[abValue5].value) & " to AC when enraged."
Add the following Eval Script for the temporary hit points (Phase - Final Phase, Priority - 500, Index - 1):

Code:
~ Our multiplier should be set by now. Add that x our hit dice as temporary
      ~ Hp.
      var temphp as number
      temphp = field[abValue2].value * herofield[tHitDice].value

      hero.childfound[PoolBbnRag].field[thpMinAllw].value = temphp
      hero.childfound[PoolBbnRag].field[thpMaxAllw].value = temphp
Timing - Script name: Calculate rage temp Hp

Then add Bootstrap. Choose PoolBbnRag. Fields - Field Id: livename, Value: Bloodrage, Assign.

You also need new Tireless Rage abilities. Copy the Tireless Rage ability and use this Eval Script:

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

      doneif (tagis[Helper.SpcDisable] <> 0)

      perform hero.childfound[c***].setfocus

      doneif (state.isfocus = 0)

      ~ Remove the second checkbox from the rage ability. It is scripted in such
      ~ a way that even if it was checked when we hit this level, no effects
      ~ will be applied.
      focus.field[actName2].text = ""
In the "perform hero.childfound[c***].setfocus" line, use the Unique ID of the ability you set for Rage or Bloodrage.


I still haven't figured out how to make either Rage or Bloodrage be identified as cBbnRage or cBlrRage for the Reckless Rage feat, so I just redid the feat with the abilities tagged and precluded the original.

I also made new classes with these rage abilities.
Jobe00 is offline   #7 Reply With Quote
Ualaa
Senior Member
 
Join Date: Sep 2013
Location: Vancouver, Canada.
Posts: 813

Old July 1st, 2021, 07:26 PM
Awesome, thank you.
Ualaa is offline   #8 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 10:53 PM.


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