D&D 5E Crossbow Expert Sharpshooter vs. Defensive Duelist in a cage match

FormerlyHemlock

Adventurer
[A different thread raised the issue of a cage match comparing a DPR-oriented build to a tank build, and I did enough work on the simulation that I want to share the sim results more widely. A lot of analysis tends to focus on DPR, but what really matters most of the time is loss ratios: which monsters you can beat and how much it costs you to do so. -Max/Hemlock]

Original post:

Hemlock said:
I keep saying crossbow archers can fight in melee just as well as dedicated melee warriors because it is true. No example has been given that proves otherwise.

Let's both of us make 12th level fighters using PHB rules and put them in a 10'-wide Forcecage with your choice of an Earth Elemental (Medium fight) or a Death Slaad (1.5xDeadly). You make a crossbow archer. I'll make a melee fighter. Dollars to donuts you take more damage killing the Slaad than I do.

Edit: okay, make that a 20' Forcecage so that the Earth Elemental can actually fit inside with the fighter. :)

Response:

Lol, sure.

Make them both champions (to remove spell or maneuver choice from affecting the outcome). Give the melee fighter Great Weapon Master and Polearm Master to maximize his damage. Give the archer Crossbow Expert and Sharpshooter. Give them both +1 weapons and full plate. And run a simulation of the outcome of the combatants trading blows back and forth in the most boring of duels ever 1000 times.

I'm fairly certain the crossbow archer wins out simply because they have about 10% higher DPR, but I would love to see your analysis of the situation.

I didn't agree to Ashkelon's proposed GWM/PM build because I didn't think it was a good build, but I did make my own build and code up a simulation in F#. Here is what I wrote:

I haven't finished writing the Death Slaad, because it's more complicated to simulate the various spells, etc., and I haven't coded Action Surge, but aside from that here's the result against an earth elemental:

https://repl.it/EyQy/0

It takes quite a while to run 100 combats in the online emulator (just hit the Run button) so you might want to decrease the number of runs (on line 281 of the script) before running it, but here's a typical output when run against an earth elemental:

Rufus the Archer wins 100 out of 100 matches, with 81.120000 HP remaining (65.419355% of total)
Brutus the Tank wins 100 out of 100 matches, with 107.400000 HP remaining (86.612903% of total)


Details of the combats are in the source code and combat logs, but basically what happens is that Brutus the Tank grabs the elemental with one hand and slams it to the ground on his first turn and then beats it to death with his magic rapier at advantage while it futilely tries to attack him back at disadvantage--and half the time, when it does hit him, he parries it with Defensive Duelist. Rufus the Archer just does the boring "shoot it every round" strategy.

Both of them can take on a single earth elemental (Medium Fight) but obviously Brutus is about twice as good at it.

It's simple to model a spell-less Death Slaad (still a Deadly encounter), and if I comment out the Fireball/Cloudkill/etc. options so it only has Multiattack and run:

Code:
compare deathScuzz [shooter; stabber]

I then get the following output:

Rufus the Archer wins 14 out of 100 matches, with 4.180000 HP remaining (3.370968% of total)
Brutus the Tank wins 93 out of 100 matches, with 45.020000 HP remaining (36.306452% of total)


As you can see, Brutus is almost guaranteed to be able to defeat a CR 10 Death Slaad in a close-quarters cage match (although it is a tough fight), but Rufus is almost guaranteed to lose the fight without Action Surge (which I haven't coded yet).

If you would like to make any tweaks to Rufus the Archer's build or tactical AI, just let me know. I want you to have the chance to run your archer as effectively as possible.
 

log in or register to remove this ad

FormerlyHemlock

Adventurer
Whoops! Just noticed that I forgot to give ImprovedCritical to Rufus and Brutus. Here's the new code with ImprovedCritical:

https://repl.it/EyQy/2

Results are still about the same:

Rufus the Archer wins 100 out of 100 matches against Gronk the Earthling, with 87.600000 HP remaining (70.645161% of total)
Brutus the Tank wins 100 out of 100 matches against Gronk the Earthling, with 108.280000 HP remaining (87.322581% of total)

Rufus the Archer wins 16 out of 100 matches against Black Beastie, with 5.660000 HP remaining (4.564516% of total)
Brutus the Tank wins 80 out of 100 matches against Black Beastie, with 46.680000 HP remaining (37.645161% of total)
 

Ancalagon

Dusty Dragon
Interesting

The test vs the elemental isn't so interesting because the victory rate is 100% for both - it only makes sense that the most defensive fighter will have more HP at the end.

The second test is more interesting because there is a clear difference. But now I'm wondering if the duelist ends up with more HP because he killed the sladd quicker (so he is in the fight less rounds, gets hurt less) or if his defenses is what made the difference.
 

FormerlyHemlock

Adventurer
Also, shouldn't use Second Wind until below 80% of health: https://repl.it/EyQy/3

Interesting


The test vs the elemental isn't so interesting because the victory rate is 100% for both - it only makes sense that the most defensive fighter will have more HP at the end.

This is true, but I just want to point out that this is contrary to Enworld conventional wisdom. You'll often hear here that "killing quickly is the best defense", but it isn't really true in 5E because it's way easier to boost defense than offense. The 5E game devs kept a very tight leash on offensive boosts.

The second test is more interesting because there is a clear difference. But now I'm wondering if the duelist ends up with more HP because he killed the sladd quicker (so he is in the fight less rounds, gets hurt less) or if his defenses is what made the difference.

Killing quickly is actually pretty important against a Slaad, because it regenerates. Against a non-regenerating enemy the difference would be magnified, because the Crossbow Expert does do a little bit more damage (on the order of 20%, which becomes ~30-40% after accounting for regen). But the big difference is that the duelist takes only about 25% as much damage as the Crossbow Expert does. The damage taken by the duelist is disproportionately concentrated in the first round or two, especially if he loses initiative.

Adding spells in would equalize it a little bit because the grapple/prone doesn't help against Fireball/Fear/etc., but that's what Mage Slayer is for. I'll add spells in when I can but I don't know if it will be today--I get distracted easily. :p

=========================================================

Added Action Surge: https://repl.it/EyQy/4

Rufus the Archer wins 100 out of 100 matches against Gronk the Earthling, with 103.980000 HP remaining (83.854839% of total)
Brutus the Tank wins 100 out of 100 matches against Gronk the Earthling, with 115.560000 HP remaining (93.193548% of total)

Rufus the Archer wins 30 out of 100 matches against Black Beastie, with 10.960000 HP remaining (8.838710% of total)
Brutus the Tank wins 92 out of 100 matches against Black Beastie, with 61.540000 HP remaining (49.629032% of total)
 
Last edited:

Caliban

Rules Monkey
Details of the combats are in the source code and combat logs, but basically what happens is that Brutus the Tank grabs the elemental with one hand and slams it to the ground on his first turn and then beats it to death with his magic rapier at advantage while it futilely tries to attack him back at disadvantage--and half the time, when it does hit him, he parries it with Defensive Duelist. Rufus the Archer just does the boring "shoot it every round" strategy.

That's not a cage match, that's a prison shanking.
 


flametitan

Explorer
I always enjoy reading your insights on powergaming. You understand this system well, and it leads to things I hadn't considered.

Sometimes the best offence is a good defence, and it shows. EDIT: That said, the Xbow user is a little lacking in tactics. I wonder if there's anything more they can do than fire wildly at the beast until it's brought down?
 

FormerlyHemlock

Adventurer
Sometimes the best offence is a good defence, and it shows. EDIT: That said, the Xbow user is a little lacking in tactics. I wonder if there's anything more they can do than fire wildly at the beast until it's brought down?

In a cage match, there's a limit to how much the archer can do. Archers should avoid getting into cage matches in the first place. He can't really be built to do the grapple/prone trick effectively because of low Str and because he needs both hands to work his crossbow. If he tries to push prone every round without grappling first, in order to gain advantage on his attacks, he winds up losing more damage on average than he gains.

If it weren't for the two-handed requirement on his crossbow, the archer could take Magic Initiate (Hex) to counteract his low Strength and then just ignore his crossbow and stab the enemy to death with a rapier. I actually think Sharpshooter + Mobile or Sharpshooter + Defensive Duelist is a better combination than Crossbow Expert, partly because you don't usually want to use a crossbow while in melee anyway, and partly because I find the "you can shoot twice with the same crossbow using Crossbow Expert" ruling cheesey and dumb: the plain text indicates (to me) that you're intended to be firing an already-loaded hand crossbow in your off-hand while you attack with an epee or something, not that you're changing a hand crossbow into a semiautomatic weapon.

There are some other things the archer could try, both at build time (fighter/rogue multiclass; be an Eldritch Knight instead of a Champion; take Lucky) and at game time (accept an opportunity attack, Action Surge to gain distance, and then kill the Slaad from range, possibly dropping caltrops along the way), but with the specified build and without room to maneuver there's a limit to what you can achieve purely by changing the archer's AI. Of course in a real game you are very rarely restricted in your maneuverability. After all, if you got into the 20' room, there's probably a way to get out.

[rant]This is why DMs who build their adventures around permanent magical one-way teleportals are so very annoying; as annoying as DMs who give NPCs permanent, selective anti-magic zones in their fortresses that the NPCs are immune to. It's okay to do those things once in a very long while, but if it happens more often it's a clear sign of adversarial DMing.[/rant]
 
Last edited:

flametitan

Explorer
In a cage match, there's a limit to how much the archer can do. Archers should avoid getting into cage matches in the first place. He can't really be built to do the grapple/prone trick effectively because of low Str and because he needs both hands to work his crossbow. If he tries to push prone every round without grappling first, in order to gain advantage on his attacks, he winds up losing more damage on average than he gains.

That's what I was concerned about. It felt like the Archer should do more than just shoot for parity with Brutus, but I couldn't think of anything that would actually help in a cage fight.

If it weren't for the two-handed requirement on his crossbow, the archer could take Magic Initiate (Hex) to counteract his low Strength and then just ignore his crossbow and stab the enemy to death with a rapier. I actually think Sharpshooter + Mobile or Sharpshooter + Defensive Duelist is a better combination than Crossbow Expert, partly because you don't usually want to use a crossbow while in melee anyway, and partly because I find the "you can shoot twice with the same crossbow using Crossbow Expert" ruling cheesey and dumb: the plain text indicates (to me) that you're intended to be firing an already-loaded hand crossbow in your off-hand while you attack with an epee or something, not that you're changing a hand crossbow into a semiautomatic weapon.

I think in the case of that ruling, the problem was that they almost worked themselves into a hole making it still viable (and not a one off gimmick to open a fight with) while still requiring the "realism" of needing two hands to reload a crossbow. It's an odd ruling, for sure.

There are some other things the archer could try, both at build time (fighter/rogue multiclass; be an Eldritch Knight instead of a Champion; take Lucky) and at game time (accept an opportunity attack, Action Surge to gain distance, and then kill the Slaad from range, possibly dropping caltrops along the way), but with the specified build and without room to maneuver there's a limit to what you can purely by changing the archer's AI. Of course in a real game you are very rarely restricted in your maneuverability. After all, if you got into the 20' room, there's probably a way to get out.

I thought about the levels of rogue, but not having run the math, I realized I didn't know how many levels you need for Sneak attack to offset the lack of a third attack, let alone exceed it. This is, of course, assuming that you take rogue something other than sneak attack (as I just realized that in a level 12 build you only needed one level in Rogue to get a net gain from Sneak attack and not lose your third attack)

[rant]This is why DMs who build their adventures around permanent magical one-way teleportals are so very annoying; as annoying as DMs who give NPCs permanent, selective anti-magic zones in their fortresses that the NPCs are immune to. It's okay to do those things once in a very long while, but if it happens more often it's a clear sign of adversarial DMing.[/rant]


Truth. As long as you know exactly what your party if capable of, you should aim to build you challenges to take advantage of what they can do, rather than flat negate it.
 

FormerlyHemlock

Adventurer
Corrected a serious bug: everybody was getting the benefit of Defensive Duelist, including the Slaad and the Earth Elemental, which vastly disadvantaged Rufus relative to Brutus. https://repl.it/EyQy/8

Also added a Champion 5/Swashbuckler 7 hybrid named D'Artagnan.

Code:
// D'Artagnan was created using PHB standard array (15 14 13 12 10 8), variant human Champion 5/Swashbuckler 7, with feat Sharpshooter (not used in this combat); and fighting style Archery. Has a +1 Longbow which isn't used in this fight and a +1 rapier.
let swash() = Combatant("D'Artagnan the Swashbuckler", (12, 20, 14, 10, 14, 8, 124), AC=18, Traits = [ImprovedCritical; ActionSurge; AthleticsExpertise; SneakAttack(DieRoll.Create(4, 6)); UncannyDodge],
                    Actions = [
                        Action.Create("Attack", Attack [
                                                                BestOf (Grapple, BestOf(ShoveProne, Attack.Create "stabs" 10 [DieRoll.Create(1, 8, 6)]))
                                                                BestOf (Grapple, BestOf(ShoveProne, Attack.Create "stabs" 10 [DieRoll.Create(1, 8, 6)]))
                                                                ])
                    ],
                    BonusActions = [
                        Action.Create("Second Wind", Healing (DieRoll.Create(1, 10, 5)), 1)
                    ])

Results:

Rufus the Archer wins 100 out of 100 matches against Gronk the Earthling, with 103.480000 HP remaining (83.451613% of total)
Brutus the Tank wins 100 out of 100 matches against Gronk the Earthling, with 114.440000 HP remaining (92.290323% of total)
D'Artagnan the Swashbuckler wins 100 out of 100 matches against Gronk the Earthling, with 107.340000 HP remaining (86.564516% of total)

Rufus the Archer wins 48 out of 100 matches against Black Beastie, with 20.010000 HP remaining (16.137097% of total)
Brutus the Tank wins 100 out of 100 matches against Black Beastie, with 72.620000 HP remaining (58.564516% of total)
D'Artagnan the Swashbuckler wins 76 out of 100 matches against Black Beastie, with 39.800000 HP remaining (32.096774% of total)
 

FormerlyHemlock

Adventurer
That's what I was concerned about. It felt like the Archer should do more than just shoot for parity with Brutus, but I couldn't think of anything that would actually help in a cage fight.

Yeah. I just can't think of anything that really works without changing his build.

I think in the case of that ruling, the problem was that they almost worked themselves into a hole making it still viable (and not a one off gimmick to open a fight with) while still requiring the "realism" of needing two hands to reload a crossbow. It's an odd ruling, for sure.

This is insightful--but I don't think it's an actual corner. I think of the main benefit of Crossbow Expert as being that you get to use heavier weapons like a Heavy Crossbow. The fact that you can carry around a bandolier of loaded hand crossbows and snatch them up to fire them with your bonus action at the same time as your regular attack is just gravy. It doesn't make the feat useless or anything, it just makes it less cheesey and more logistically difficult. (Juggling all of your crossbows and hoping they don't go off at the wrong time, vastly amusing the DM and other players.)

I thought about the levels of rogue, but not having run the math, I realized I didn't know how many levels you need for Sneak attack to offset the lack of a third attack, let alone exceed it. This is, of course, assuming that you take rogue something other than sneak attack (as I just realized that in a level 12 build you only needed one level in Rogue to get a net gain from Sneak attack and not lose your third attack)

See post directly above this one. I fixed a serious bug which made the monsters too tough, and added a Champion/Rogue hybrid named D'Artagnan in this version here: https://repl.it/EyQy/8

As expected, the addition of Athletics Expertise and Uncanny Dodge and 4d6 of sneak attack helps him do noticeably better than Rufus against either the elemental or the Slaad, despite getting no bonus from his Archery style and losing an extra attack and not getting to use his Cunning Action for anything because of the cage.

Rufus the Archer wins 100 out of 100 matches against Gronk the Earthling, with 101.420000 HP remaining (81.790323% of total)
Brutus the Tank wins 100 out of 100 matches against Gronk the Earthling, with 113.900000 HP remaining (91.854839% of total)
D'Artagnan the Swashbuckler wins 100 out of 100 matches against Gronk the Earthling, with 107.250000 HP remaining (86.491935% of total)

Rufus the Archer wins 55 out of 100 matches against Black Beastie, with 24.340000 HP remaining (19.629032% of total)
Brutus the Tank wins 100 out of 100 matches against Black Beastie, with 76.790000 HP remaining (61.927419% of total)
D'Artagnan the Swashbuckler wins 81 out of 100 matches against Black Beastie, with 37.420000 HP remaining (30.177419% of total)


Fighter/Rogue in general is a pretty good multiclass combination for an archer.

Feel free to play around with the script and experiment with different combinations of class levels.
 

flametitan

Explorer
Just a thought I had, but aren't both the Elemental and the Slaad primarily melee attackers?

How would I go about adding a ranged opponent to fight in the cage; would that change anything at all? (I assume ultimately it'd end similarly to the other fights, as they would run into the same issues as Rufus does, and not have the space to kite freely)
 

FormerlyHemlock

Adventurer
The sim in its current state ignores distance entirely. If you want something that includes ranged opponents, you'd have to either (1) learn enough F# to modify the logic instead of just adding more monsters; or (2) nag me a little to finish and publish the project I've had sitting on my shelf for weeks but keep getting distracted from. :) Goal is for BEAST 5E (Brain-dead Simple Simulation Tool for 5E) to have a GUI that lets you choose the PC stats, which monsters they'll face in which order, and when they get rests. BEAST still won't have a sophisticated geometry--it will use Theatre of the Mind and will approach ranged vs. not-ranged combat in the same way as Bards Tale or Wizardry, basically just a linear order of who gets attacked first, so basically it's only good for simulating cramped dungeon crawls and not wilderness encounters or warfare. But I want it to be usable by non-programmers.

The existence of this thread has been good for my motivation in getting things done, but there's still some work to do in terms of learning enough CSS/HTML/React to make the GUI.

BTW I wouldn't characterize a Death Slaad as primarily a melee attacker; it's a hybrid melee attacker/spellcaster with some very effective techniques at its disposal such as Cloudkill + Blindsight for advantage for Slaad and disadvantage for its attackers. That neutralizes Prone. It also inflicts damage every round of course on everyone including the Slaad, but I figure Slaads regenerate and don't care much about pain, so they wouldn't hesitate to drop one on themselves.
 
Last edited:

Azurewraith

Explorer
I have all ways held that under BA defense will be superior to offense every single time. There's a reason why my GM cries whenever I play a oath of ancients paladin/wizard because having a base 21ac(plate+defense style+shield) is broken as hell throw in blade Ward and shield spell with some dodges and your laughing for days in that 5ft dungeon corridor. Use spells you say? Well paladin has you covered with +cha to saves and resistance to spells.
 

WarpedAcorn

First Post
See post directly above this one. I fixed a serious bug which made the monsters too tough, and added a Champion/Rogue hybrid named D'Artagnan in this version here: https://repl.it/EyQy/8

As expected, the addition of Athletics Expertise and Uncanny Dodge and 4d6 of sneak attack helps him do noticeably better than Rufus against either the elemental or the Slaad, despite getting no bonus from his Archery style and losing an extra attack and not getting to use his Cunning Action for anything because of the cage.

Rufus the Archer wins 100 out of 100 matches against Gronk the Earthling, with 101.420000 HP remaining (81.790323% of total)
Brutus the Tank wins 100 out of 100 matches against Gronk the Earthling, with 113.900000 HP remaining (91.854839% of total)
D'Artagnan the Swashbuckler wins 100 out of 100 matches against Gronk the Earthling, with 107.250000 HP remaining (86.491935% of total)

Rufus the Archer wins 55 out of 100 matches against Black Beastie, with 24.340000 HP remaining (19.629032% of total)
Brutus the Tank wins 100 out of 100 matches against Black Beastie, with 76.790000 HP remaining (61.927419% of total)
D'Artagnan the Swashbuckler wins 81 out of 100 matches against Black Beastie, with 37.420000 HP remaining (30.177419% of total)


Fighter/Rogue in general is a pretty good multiclass combination for an archer.

Feel free to play around with the script and experiment with different combinations of class levels.


How is D'Artagnan able to take advantage of the 4d6 Sneak Attack? If he is using a Crossbow, what is letting him get Advantage each round in order to apply the damage?
 


FormerlyHemlock

Adventurer
How is D'Artagnan able to take advantage of the 4d6 Sneak Attack? If he is using a Crossbow, what is letting him get Advantage each round in order to apply the damage?

He's a Champion 5/Swashbuckler 7. He doesn't need advantage to make sneak attacks. That is in fact why I made him a Swashbuckler instead of an Arcane Trickster--they make the best archers, and they're also very simple to model in code.

But he has advantage anyway because, as you'll see if you look at the combat logs, he never makes an attack unless he's already got the Slaad grappled and prone first.
 

WarpedAcorn

First Post
He's a Champion 5/Swashbuckler 7. He doesn't need advantage to make sneak attacks. That is in fact why I made him a Swashbuckler instead of an Arcane Trickster--they make the best archers, and they're also very simple to model in code.

But he has advantage anyway because, as you'll see if you look at the combat logs, he never makes an attack unless he's already got the Slaad grappled and prone first.

Ahhh, gotcha. Thanks!
 

Ashkelon

First Post
I have all ways held that under BA defense will be superior to offense every single time. There's a reason why my GM cries whenever I play a oath of ancients paladin/wizard because having a base 21ac(plate+defense style+shield) is broken as hell throw in blade Ward and shield spell with some dodges and your laughing for days in that 5ft dungeon corridor. Use spells you say? Well paladin has you covered with +cha to saves and resistance to spells.

This is less about defense and more about prone creatures being unable to stand while grappled though. The fighter in question only has an 18 or 19 AC. Yes he is using his reaction for defensive duelist (and yes if he was a caster he would also have the shield spell), but the biggest contributor to his defense is that the target he has knocked prone makes all of its attacks with disadvantage.

If a grappled creature was allowed to stand from prone, this whole scenario would play out very differently. IMHO it is one of the many big oversights of the 5e rules that a grappled creature is not allowed to stand from prone.

Also, while this strategy might be the best one around when used against solo enemies of large size or smaller, it is exponentially worse when used against groups of enemies or when enemies are huge+ sized.
 
Last edited:

Satyrn

First Post
But he has advantage anyway because, as you'll see if you look at the combat logs, he never makes an attack unless he's already got the Slaad grappled and prone first.

Huh. When you called this a cage match, I didn't realize you meant UFC. Is it at least a fun sort of grappling to watch?
 

Epic Threats

An Advertisement

Advertisement4

Top