Lone Wolf Development Forums

Lone Wolf Development Forums (http://forums.wolflair.com/index.php)
-   HL - D&D 5th Edition SRD (http://forums.wolflair.com/forumdisplay.php?f=89)
-   -   Need Help fixing the Pugilist Martial Archetype (http://forums.wolflair.com/showthread.php?t=61124)

spannclann August 24th, 2018 07:59 AM

Need Help fixing the Pugilist Martial Archetype
 
From en5ider - 61 - Speaking with fists The Pugilist Martial Archetype has the Heavyweight class special. which says:

"Beginning when you choose this archetype at 3rd level, whenever you are not wearing armor or using a shield, your AC equals 10 + your Dexterity modifier + your Constitution modifier. Additionally, you gain proficiency with unarmed strikes, and they deal improved damage as per the Fist-Fighting Table, above. Whenever you make an unarmed strike with nothing in either your main hand or off-hand, your unarmed strike’s damage die increases by one step (from 1d4 to 1d6, 1d6 to 1d8, and so on). This damage increase cannot be used in conjunction with Sneak Attack or extra attacks granted by Martial Arts or Flurry of Blows."

However, it does not update the unarmed strike damage as per their table (where ever it is) and the manual also states:

"Characters with feats that improve
unarmed strike damage such as Grappler and
Tavern Brawler count as one level higher for the
purposes of unarmed strike damage."

These do not update the unarmed strike damage either. I am not a n00b to computers, but I am a n00b to editing Hero Lab. Any and all help would be greatly appreciated. I may name my second borne after you! :D

dungeonguru August 24th, 2018 04:53 PM

If you're OK with making a personal copy of the Pugilist, I can help explain what needs to be done. None of the class specials in the community files for this subclass have any scripting attached to them.

I don't think the community is going to maintain support of en5ider and some of the other 3rd party and homebrew going forward, or at least the priority for it is going to remain really low with emphasis on WotC core products before any other stuff.

If you're willing to create your own copy, here's how I would approach it.

1. Go into the editor and set my ID (Do this by going to the Tools menu and set your ID). Do not use 5C.

2. Go into the Class tab and choose the Custom Ability subtab. Hit New (Copy) and find the Pugilist. I would change the name to something like "Pugilist (updated ver.)" and give it a new unique ID like cFtrXXXPug (where XXX is my ID from #1). You can give it an ID up to 17 characters right now without causing issues but you can also keep it short. Save and Test Now!

I would then hit the bootstrap button and make a note of all the items bootstrapped and what the tags and fields are.

3. I would them move over to the Class Specials subtab and start doing New (Copy) of each of the items that were bootstrapped in step 2, giving them a New ID. After each Save and Test Now!

4. Go back to the copy of Pugilist from step 2 and replace the bootstraps with the ones you created in step 3. Save and Test Now!

Now, the tougher part. If you're not comfortable with learning scripting, then stop reading now, you're going to get glazed eyes like I'm the boring math professor.

Part 1: Fixing the AC calculation. Go to your copy of Heavyweight. Scroll down to the bottom and find the AC calculation section at the very end. Mark the checkbox and then for Base AC type in 10. Next to the modifiers hit the edit button and put checkmarks on Dexterity Modifier and Constitution Modifer. Hit Save and Test Now! and the AC calculation is fixed since this ability is already bootstrapped to the subclass after step 4 anyway.

Part 2: Fixing the Unarmed attack. This is where you'll have to learn some scripting. I would stay on the Class Specials tab and do a New (Copy) and find Martial Arts. What you'll want to do here is look at the two eval scripts attached to it. Note the timing, phase and priorities, either write them down or type them into your favorite text editor. Then copy those eval scripts to that same editor. Once you have these scripts copied out and you've double-checked their timing and priorities you can delete your copy of Martial Arts and move back to Heavyweight. Add the two scripts in.

If you just stopped here, the Heavyweight class would mimic the Martial Arts ability of the monk, which isn't a bad spot to be considering.

The first problem is you need to narrow this down to Unarmed Attacks only. In script #2 there is a line:

searchexpr = "IsWeapon.wUnarmed | IsWeapon.wShortswor | Special.MartArts | (wCategory.Melee & wProfReq.Simple & !wProperty.TwoHanded & !wProperty.Heavy)

This is what allows the monk to change the damage on martial arts weapons. You'll need to change this to be:

searchexpr = "IsWeapon.wUnarmed"

Script #1 controls when the damage dice change. This is a bit tricky, you'll have to modify it to reflect the "Fist-Fighting Table" rather than the monk progression. I would not worry about the Grappler or Tavern Brawler issues just yet. If you understand scripting, the if..then logic is pretty simple to replicate, if not, feel free to check out.

The twist that you've mentioned with Grappler and Taven Brawler would require you to set some variables to track.

You would have to set a variable like:

var act_level as number

and set it to the field[xAllLev].value

act_level = field[xAllLev].value

You'll have to use the #hasability[] macro to test for the two feats and if that feat exists add 1 to the act_level.

like:
if (#hasability[ID_for_Grappler] <> 0) then
act_level += 1
endif

Then replace field[xAllLev].value with act_level in all the if statements to reflect that you're looking at the acting level as opposed the the actual level.

spannclann August 25th, 2018 01:44 PM

Awesome, I will get to work on it. Be prepared for more questions.

spannclann August 30th, 2018 10:08 AM

@dungeonguru

First of all, many thanks on the help!

Secondly, I still need a bit of help on the Grappler and Tavern Brawler issue. I do kind of understand what you are meaning, but am a bit fuzzy. It has been a long time since I have done any coding.

This is what I am trying

~ Checking for Grappler or Tavern Brawler feats
if (#hasability[fGrappler] <> 0) then
act_level += 1
elseif (#hasability[ft5CTaverB] <> 0) then
act_level += 1
endif

var act_level as number

field[xAllLev].value = act_level

If you need the level altered script just let me know

spannclann August 30th, 2018 10:51 AM

1 Attachment(s)
When I try to Test it, I get this error.

Mergon August 30th, 2018 11:04 AM

Quote:

var act_level as number
needs to go before

Quote:

~ Checking for Grappler or Tavern Brawler feats
if (#hasability[fGrappler] <> 0) then
act_level += 1
elseif (#hasability[ft5CTaverB] <> 0) then
act_level += 1
endif

spannclann August 30th, 2018 11:18 AM

I just figured that out. However, my "test case" is level 10 and doing 1d6 damage as is supposed to. The problem is that with the "test case" having both Grappler and Tavern Brawler, it should be doing 1d8 damage, but it is still reading as 1d6.

Mergon August 30th, 2018 11:28 AM

Something feels wrong about what you've shown us pf your script. It's obvious from the error you were gettign this is but part of a larger script, but without seeing more of the script and knowing what it is exactly you are trying to do, its impossible to say more at this point.

spannclann August 30th, 2018 11:36 AM

Here is the full script. It was copied directly from the Monk Martial Arts information. I did make some changes to it to accommodate the Pugilist Fist Fighting table. That works just fine. I am having trouble adding a check for the Grappler and Tavern Brawler feats that add one level to determine unarmed damage.

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

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

~ first we have to establish our benchmark, based on our level
~ all comparisons are made 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.
if (field[xAllLev].value >= 23) then
~ Medium folks get 1d12 at this level. Avg = 6.5
field[wDieCount].value = 1
field[wDieSize].value = 12
field[abValue].value += 6.5
elseif (field[xAllLev].value >= 18) then
~ Medium folks get 1d10 at this level. Avg = 5.5
field[wDieCount].value = 1
field[wDieSize].value = 10
field[abValue].value += 5.5
elseif (field[xAllLev].value >= 12) then
~ Medium folks get 1d8 at this level. Avg = 4.5
field[wDieCount].value = 1
field[wDieSize].value = 8
field[abValue].value += 4.5
elseif (field[xAllLev].value >= 6) then
~ Medium folks get 1d6 at this level. Avg = 3.5
field[wDieCount].value = 1
field[wDieSize].value = 6
field[abValue].value += 3.5
elseif (field[xAllLev].value >= 3) then
~ Medium folks get 1d4 at this level. Avg = 2.5
field[wDieCount].value = 1
field[wDieSize].value = 4
field[abValue].value += 2.5
else
~ Medium folks get 1d1 at this level. Avg = 1
field[wDieCount].value = 1
field[wDieSize].value = 1
field[abValue].value += 1
endif

var act_level as number

~ Checking for Grappler or Tavern Brawler feats
if (#hasability[fGrappler] <> 0) then
act_level += 1
endif
if (#hasability[ft5CTaverB] <> 0) then
act_level += 1
endif

var v_text as string



call wMainText

field[abText].text = v_text
act_level = field[xAllLev].valueact_level

Mergon August 30th, 2018 11:41 AM

From what I am seeing, you calculate the boost properly, but it is never actually applied.

Also, I think the final line should be:

act_level = act_level + field[xAllLev].value

or

act_level += field[xAllLev].value


All times are GMT -8. The time now is 09:28 AM.

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