![]() |
Senior Member
Join Date: Nov 2008
Location: Jonesboro, Arkansas
Posts: 150
|
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 |
![]() |
![]() |
Senior Member
Join Date: Nov 2008
Location: Jonesboro, Arkansas
Posts: 150
|
*looks around* Bueller?
|
![]() |
![]() |
Senior Member
Join Date: Nov 2008
Location: Jonesboro, Arkansas
Posts: 150
|
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 |
![]() |
![]() |
Senior Member
Join Date: Nov 2008
Location: Jonesboro, Arkansas
Posts: 150
|
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. |
![]() |
![]() |
Senior Member
Join Date: Nov 2008
Location: Jonesboro, Arkansas
Posts: 150
|
I managed to get the code figured out for the modified Rage and Bloodrage both.
|
![]() |
![]() |
Senior Member
Join Date: Sep 2013
Location: Vancouver, Canada.
Posts: 813
|
Would it be possible to post that?
That way if someone in the future searches and finds your query, they also find the solution. |
![]() |
![]() |
Senior Member
Join Date: Nov 2008
Location: Jonesboro, Arkansas
Posts: 150
|
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 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" 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." 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 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 = "" 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. |
![]() |
![]() |
Senior Member
Join Date: Sep 2013
Location: Vancouver, Canada.
Posts: 813
|
Awesome, thank you.
|
![]() |
![]() |
![]() |
|
|