What are the biggest things DnD 5e needs to be passable?

General questions, debates, and rants about RPGs

Moderator: Moderators

User avatar
codeGlaze
Duke
Posts: 1083
Joined: Wed Oct 05, 2011 9:38 pm

Post by codeGlaze »

Just wanted to say thank you for the feedback. 😊👍
Voss
Prince
Posts: 3912
Joined: Fri Mar 07, 2008 7:54 pm

Post by Voss »

Cervantes wrote:I mean, let's not overlook Fighting Style: Archery here.
There is that- the moronic 'bounded accuracy except when we forget' poster child.

Realistically, archer +sharpshooter is just flatly better than great weapon master. Mitigating the penalty (and archery in general mitigating taking a feat rather than stat up), but sharpshooter also discards disadvantage for range and most cover, plus allows fighting flying creatures, while GWM has a weird proc that may well not even help (bonus attack on crit or dropping an enemy), and requires you to forfeit shield AC AND inherently be in danger from closet trolls (which 5e has a lot of).

Being a fighter or ranger archer is just a better choice. GW master is really reserved for barbarians, who can generate advantage to limit the effect of the penalty, and soak the inevitable return damage better.
User avatar
Cervantes
Journeyman
Posts: 129
Joined: Mon Jul 28, 2014 10:27 pm

Post by Cervantes »

Yup, no disagreements there. My cursory look at the damage for level 1 Shaprshooter is that it's still more effective. I wrote the program, I just need to organize the information in a useful way.

The "taking a feat" thing is less of an issue than one might think because of Variant Human but I'll look at including that in my calculations as well.
Last edited by Cervantes on Tue Dec 12, 2017 1:20 am, edited 1 time in total.
User avatar
Dean
Duke
Posts: 2059
Joined: Mon May 12, 2008 3:14 am

Post by Dean »

I agree with the bonus feat for everyone at first level. I'm torn on the 4th level bonus giving ability bonuses and a feat not because it's too powerful, far from it, merely that there's only like 20 printed feats in all of fifth edition and I think giving every character an additional 5 feats might make everyone more identical rather than more unique. I'm willing to be swayed though, more customizability really would be great in 5e.
DSMatticus wrote:Fuck you, fuck you, fuck you, fuck you. I am filled with an unfathomable hatred.
hyzmarca
Prince
Posts: 3909
Joined: Mon Mar 14, 2011 10:07 pm

Post by hyzmarca »

Dean wrote:I agree with the bonus feat for everyone at first level. I'm torn on the 4th level bonus giving ability bonuses and a feat not because it's too powerful, far from it, merely that there's only like 20 printed feats in all of fifth edition and I think giving every character an additional 5 feats might make everyone more identical rather than more unique. I'm willing to be swayed though, more customizability really would be great in 5e.
Just let players write their own feats.

That increases the number of available feats from like 20 to literally infinite. And makes things extremely customizable. And is probably what feats should have been in the first place.
Last edited by hyzmarca on Tue Dec 12, 2017 7:17 pm, edited 3 times in total.
User avatar
nockermensch
Duke
Posts: 1898
Joined: Fri Jan 06, 2012 1:11 pm
Location: Rio: the Janeiro

Post by nockermensch »

hyzmarca wrote:Just let players write their own feats.

That increases the number of available feats fom like 20 to literally infinite. And makes things extremely customizable. And is probably what feats should have been in the first place.
But then you'd need to write solid guidelines for what is worth a feat. And then people will write FAQs for the best feats it's possible to create and then everybody getting into the game will read the FAQs and play with just those feats.

Since you can't escape the meta, you'd better simply writing some good feats.
@ @ Nockermensch
Koumei wrote:After all, in Firefox you keep tabs in your browser, but in SovietPutin's Russia, browser keeps tabs on you.
Mord wrote:Chromatic Wolves are massively under-CRed. Its "Dood to stone" spell-like is a TPK waiting to happen if you run into it before anyone in the party has Dance of Sack or Shield of Farts.
User avatar
Cervantes
Journeyman
Posts: 129
Joined: Mon Jul 28, 2014 10:27 pm

Post by Cervantes »

Voss wrote:That's actually part of my point. If you're thinking of these feats as pure DPR maximizing, you're kind of missing how big that -5 is in this system.

Of your two real bonuses (stat and prof), -5 is all of one at its maximum value, and almost half of the total of the two (+11). A 20th level character with these feats attacks as a 3rd level character, plus or minus magic weapon bonuses that are 'supposedly' completely optional.

But if you actually mathed this out (at various levels, mapping attacks vs AC with a large sampling of monsters, both with out without the feats), I suspect you'd find that the two feats are actually a detriment to DPR quite often..
I did the check for Human Sharpshooter and it looks like the DPR is gonna be best even when accounting for AC. The -5 is big, sure, but +10 damage is a doubling of your bow's damage on each average attack at max Dex (9.5 -> 19.5). Gimme a piece of paper and some time and I'll figure out the exact breakpoint or whatever, something something "if your chance of hit is reduced less than 50% by the Sharpshooter feat then you should use it".
Last edited by Cervantes on Fri Dec 15, 2017 7:49 pm, edited 1 time in total.
User avatar
deaddmwalking
Prince
Posts: 3461
Joined: Mon May 21, 2012 11:33 am

Post by deaddmwalking »

Keep in mind that if you always hit on a 20, you'd use this feat anytime that's the only time you could hit (effectively the penalty becomes meaningless).

Advantage/Disadvantage will probably play with the numbers as well. You're probably better off using the feat with advantage (two changes to roll the target number).
-This space intentionally left blank
User avatar
Cervantes
Journeyman
Posts: 129
Joined: Mon Jul 28, 2014 10:27 pm

Post by Cervantes »

I ignored crits (because crits only double the damage dice and not the static modifiers) and factored in the fact that the floor on the to-hit chance is 5%.

I did not consider advantage or disadvantage yet but yeah it's basically just stats juggling to figure out the minutiae and, honestly, I don't care enough to do it.

Anyways, here's the data and code. I just did Human Archer Fighters on point-buy but it's fairly easy to change things around for other classes/damage dice.
Data:
Level 1, with Sharpshooter: Against 5 AC, DPR = 14.
Level 1, without Sharpshooter: Against 5 AC, DPR = 7.

Level 1, with Sharpshooter: Against 10 AC, DPR = 10.
Level 1, without Sharpshooter: Against 10 AC, DPR = 6.

Level 1, with Sharpshooter: Against 13 AC, DPR = 7.
Level 1, without Sharpshooter: Against 13 AC, DPR = 5.

Level 1, with Sharpshooter: Against 15 AC, DPR = 5.
Level 1, without Sharpshooter: Against 15 AC, DPR = 4.

Level 1, with Sharpshooter: Against 18 AC, DPR = 3.
Level 1, without Sharpshooter: Against 18 AC, DPR = 3.

Level 1, with Sharpshooter: Against 20 AC, DPR = 1.
Level 1, without Sharpshooter: Against 20 AC, DPR = 2.

Level 5, with Sharpshooter: Against 5 AC, DPR = 34.
Level 5, without Sharpshooter: Against 5 AC, DPR = 16.

Level 5, with Sharpshooter: Against 10 AC, DPR = 24.
Level 5, without Sharpshooter: Against 10 AC, DPR = 16.

Level 5, with Sharpshooter: Against 13 AC, DPR = 18.
Level 5, without Sharpshooter: Against 13 AC, DPR = 12.

Level 5, with Sharpshooter: Against 15 AC, DPR = 14.
Level 5, without Sharpshooter: Against 15 AC, DPR = 12.

Level 5, with Sharpshooter: Against 18 AC, DPR = 10.
Level 5, without Sharpshooter: Against 18 AC, DPR = 8.

Level 5, with Sharpshooter: Against 20 AC, DPR = 6.
Level 5, without Sharpshooter: Against 20 AC, DPR = 6.

Level 9, with Sharpshooter: Against 5 AC, DPR = 38.
Level 9, without Sharpshooter: Against 5 AC, DPR = 18.

Level 9, with Sharpshooter: Against 10 AC, DPR = 30.
Level 9, without Sharpshooter: Against 10 AC, DPR = 18.

Level 9, with Sharpshooter: Against 13 AC, DPR = 24.
Level 9, without Sharpshooter: Against 13 AC, DPR = 16.

Level 9, with Sharpshooter: Against 15 AC, DPR = 20.
Level 9, without Sharpshooter: Against 15 AC, DPR = 14.

Level 9, with Sharpshooter: Against 18 AC, DPR = 14.
Level 9, without Sharpshooter: Against 18 AC, DPR = 12.

Level 9, with Sharpshooter: Against 20 AC, DPR = 10.
Level 9, without Sharpshooter: Against 20 AC, DPR = 10.

Level 14, with Sharpshooter: Against 5 AC, DPR = 57.
Level 14, without Sharpshooter: Against 5 AC, DPR = 27.

Level 14, with Sharpshooter: Against 10 AC, DPR = 48.
Level 14, without Sharpshooter: Against 10 AC, DPR = 27.

Level 14, with Sharpshooter: Against 13 AC, DPR = 39.
Level 14, without Sharpshooter: Against 13 AC, DPR = 27.

Level 14, with Sharpshooter: Against 15 AC, DPR = 33.
Level 14, without Sharpshooter: Against 15 AC, DPR = 24.

Level 14, with Sharpshooter: Against 18 AC, DPR = 24.
Level 14, without Sharpshooter: Against 18 AC, DPR = 18.

Level 14, with Sharpshooter: Against 20 AC, DPR = 18.
Level 14, without Sharpshooter: Against 20 AC, DPR = 15.

Level 17, with Sharpshooter: Against 5 AC, DPR = 57.
Level 17, without Sharpshooter: Against 5 AC, DPR = 27.

Level 17, with Sharpshooter: Against 10 AC, DPR = 51.
Level 17, without Sharpshooter: Against 10 AC, DPR = 27.

Level 17, with Sharpshooter: Against 13 AC, DPR = 42.
Level 17, without Sharpshooter: Against 13 AC, DPR = 27.

Level 17, with Sharpshooter: Against 15 AC, DPR = 36.
Level 17, without Sharpshooter: Against 15 AC, DPR = 24.

Level 17, with Sharpshooter: Against 18 AC, DPR = 27.
Level 17, without Sharpshooter: Against 18 AC, DPR = 21.

Level 17, with Sharpshooter: Against 20 AC, DPR = 21.
Level 17, without Sharpshooter: Against 20 AC, DPR = 18.
Code:

Code: Select all

from collections import namedtuple

Summary = namedtuple('Summary', ['level', 'ac', 'sharpshoots', 'dpr'])

def summary_printer(self):
    out = "Level {}, ".format(self.level)
    if self.sharpshoots:
        out += "with "
    else:
        out += "without "
    out += "Sharpshooter: Against {} AC, DPR = {}.".format(self.ac, self.dpr)
    return out
Summary.__str__ = summary_printer

def prof(level):
    return 2+(level-1)//4

def stat(level, rolled, getting_feat, is_fighter=True):
    is_rogue = False
    bonus = 4 if rolled else 3

    asi_lvls = [4, 8, 12, 16, 19]
    if is_fighter: asi_lvls.insert(1, 6)
    if is_rogue: asi_lvls.insert(2, 10)

    for _ in filter&#40;lambda l&#58; l <= level, asi_lvls&#41;&#58;
        if getting_feat&#58;
            getting_feat = False
        else&#58;
            bonus += 1      
    return min&#40;bonus, 5&#41;

def chance_to_hit&#40;armorclass, atk&#41;&#58;
    min_roll = min&#40;20, armorclass-atk&#41;
    prob = 1.05 - .05*min_roll
    return prob if prob < 1 else .95

def archer&#40;level, has_sharpshooter,
           extra_atk = 0, extra_dmg = 0,
           is_human=True, rolled=False&#41;&#58;        
    if level == 20&#58;
        attacks = 4
    elif level >= 11&#58;
        attacks = 3
    elif level >= 5&#58;
        attacks = 2
    else&#58;
        attacks = 1

    stat_bonus = stat&#40;level, rolled, has_sharpshooter and not is_human&#41;
    dmg = 4.5 + extra_dmg + stat_bonus
    atk = extra_atk + stat_bonus + prof&#40;level&#41;
    if has_sharpshooter&#58;
        dmg += 10
        atk -= 5
    return lambda ac&#58; attacks*round&#40;chance_to_hit&#40;ac, atk&#41; * dmg&#41;

if __name__ == "__main__"&#58;
    test_lvls = &#40;1, 5, 9, 14, 17&#41;
    test_acs = &#40;5, 10, 13, 15, 18, 20&#41;
    sharps = &#91;&#93;
    norms = &#91;&#93;
    for lvl in test_lvls&#58;
        sharpy = archer&#40;lvl, has_sharpshooter=True&#41;
        normy = archer&#40;lvl, has_sharpshooter=False&#41;
        for ac in test_acs&#58;
            sharps.append&#40;Summary&#40;ac=ac, level=lvl, sharpshoots=True,
                                  dpr=sharpy&#40;ac&#41;&#41;&#41;
            norms.append&#40;Summary&#40;ac=ac, level=lvl, sharpshoots=False,
                                 dpr=normy&#40;ac&#41;&#41;&#41;
    for s, n in zip&#40;sharps, norms&#41;&#58;
        print&#40;s&#41;
        print&#40;n&#41;
        print&#40;&#41;
Last edited by Cervantes on Fri Dec 15, 2017 11:18 pm, edited 1 time in total.
Post Reply