Merudo
2018-07-24, 04:33 AM
I here establish under which conditions is the Shillelagh superior to the Primal Savagery cantrip for a Druid.
First I make five assumptions:
(1) the Druid doesn't multiclass
(2) the Druid doesn't get any feat improving its melee abilities
(3) either the Druid makes negligible reaction attacks or has Warcaster
(4) Acid and bludgeoning damage are equally resisted
(5) the druid has neither advantage or disadvantage while attacking
Under these assumptions, Shillelagh & Primal Savagery do the following damage:
Damage:
Shillelagh: 1d8 (4.5) + wis modifier + weapon bonus
Primal Savagery: 1d10 (5.5) at level 1-4, 2d10 (11) at level 5-10, 3d10 (16.5) at level 11-16, and 4d10 (22) at level 17+.
At level 1-4, Shillelagh is always superior to Primal Savagery as long as Wisdom is 12 or more, while Primal Savagery is almost always preferable to Shillelagh at level 17+.
I will therefore concentrate on the interesting cases of level 5-10 and level 11-16.
Level 5-10
Mundane weapon: While using a mundane weapon, Primal Savagery is always preferable to Shillelagh
+1 weapon & +5 wis: Primal Savagery is preferable unless enemy AC is 21 to 28
+1 weapon & +4 wis: Primal Savagery is preferable unless enemy AC is 27
+1 weapon & +3 or less wis: Primal Savagery is always preferable to Shillelagh
+2 weapon & +5 wis: Shillelagh is preferable to Primal Savagery unless AC is 30+
+2 weapon & +4 wis: Shillelagh is preferable to Primal Savagery unless AC is 9 or less, or 29+
+2 weapon & +3 wis: Primal Savagery is preferable unless AC is 19 to 27
Staff of Withering: Shillelagh is preferable if charge is expended
Level 11-16
+1 or less weapon: Primal Savagery is always preferable to Shillelagh
+2 weapon & +5 wis: Primal Savagery is preferable unless AC is 28 to 29
+2 weapon & +4 wis: Primal Savagery is preferable unless AC is 28
+2 weapon & +3 wis: Primal Savagery is preferable
+3 weapon & +5 wis: Primal Savagery is preferable unless AC is 24 to 30
+3 weapon & +4 wis: Primal Savagery is preferable unless AC is 25 to 29
+3 weapon & +3 wis: Primal Savagery is preferable unless AC is 25 to 28
Staff of Withering: Shillelagh is preferable if charge is expended
For those interested, here is the R code of my analysis:
################################################## ###############
###### Find for which AC Primal Savagery is superior #########
###### for a given tier, wis modifier, and weapon bonus #########
################################################## ###############
### Variables to change #######
tier = 2 # tier of play
wis = 5 # wisdom modifier
bon = 1 # bonus from magical weapon
###############################
psd = 5.5*tier # average Primal Savagery damage on non-critical hit
shd = (4.5 + wis + bon) # average Shillelagh damage on non-critical hit
if (tier == 1){prof = 2}; if (tier == 2){prof = 3}; ## proficiency bonus to hit
if (tier == 3){prof = 4}; if (tier == 4){prof = 6};
nb = 20+bon # number of different AC to consider
data = matrix(nrow=nb, ncol = 7) # matrix to hold results
colnames(data) = c("ac", "ps_prhit", "sh_prhit", "ps_dm", "sh_dm", "dif", "ps_sup")
for (i in 1:nb){
ac = wis + prof + i
ps_tohit = min(i ,20) # Primal Savagery hits on this d20 result or higher
sh_tohit = max(i - bon, 1) # Shillelagh hits on this d20 result or higher
ps_prhit = (20 - ps_tohit )/20 # probability of normal hit with Primal Savagery
sh_prhit = (20 - sh_tohit )/20 # probability of normal hit with Shillelagh
ps_avd = ps_prhit * psd + 2*psd/20 # average damage Primal Savagery
sh_avd = sh_prhit * shd + (shd + 4.5)/20 #average damage Shillelagh
dif = ps_avd - sh_avd # difference in damage (positive means Primal savagery damage is higher)
data[i,1] = ac
data[i,2] = ps_tohit
data[i,3] = sh_tohit
data[i,4] = ps_avd
data[i,5] = sh_avd
data[i,6] = dif
data[i,7] = (dif >= 0) # is Primal Savagery superior?
} #end for
data
First I make five assumptions:
(1) the Druid doesn't multiclass
(2) the Druid doesn't get any feat improving its melee abilities
(3) either the Druid makes negligible reaction attacks or has Warcaster
(4) Acid and bludgeoning damage are equally resisted
(5) the druid has neither advantage or disadvantage while attacking
Under these assumptions, Shillelagh & Primal Savagery do the following damage:
Damage:
Shillelagh: 1d8 (4.5) + wis modifier + weapon bonus
Primal Savagery: 1d10 (5.5) at level 1-4, 2d10 (11) at level 5-10, 3d10 (16.5) at level 11-16, and 4d10 (22) at level 17+.
At level 1-4, Shillelagh is always superior to Primal Savagery as long as Wisdom is 12 or more, while Primal Savagery is almost always preferable to Shillelagh at level 17+.
I will therefore concentrate on the interesting cases of level 5-10 and level 11-16.
Level 5-10
Mundane weapon: While using a mundane weapon, Primal Savagery is always preferable to Shillelagh
+1 weapon & +5 wis: Primal Savagery is preferable unless enemy AC is 21 to 28
+1 weapon & +4 wis: Primal Savagery is preferable unless enemy AC is 27
+1 weapon & +3 or less wis: Primal Savagery is always preferable to Shillelagh
+2 weapon & +5 wis: Shillelagh is preferable to Primal Savagery unless AC is 30+
+2 weapon & +4 wis: Shillelagh is preferable to Primal Savagery unless AC is 9 or less, or 29+
+2 weapon & +3 wis: Primal Savagery is preferable unless AC is 19 to 27
Staff of Withering: Shillelagh is preferable if charge is expended
Level 11-16
+1 or less weapon: Primal Savagery is always preferable to Shillelagh
+2 weapon & +5 wis: Primal Savagery is preferable unless AC is 28 to 29
+2 weapon & +4 wis: Primal Savagery is preferable unless AC is 28
+2 weapon & +3 wis: Primal Savagery is preferable
+3 weapon & +5 wis: Primal Savagery is preferable unless AC is 24 to 30
+3 weapon & +4 wis: Primal Savagery is preferable unless AC is 25 to 29
+3 weapon & +3 wis: Primal Savagery is preferable unless AC is 25 to 28
Staff of Withering: Shillelagh is preferable if charge is expended
For those interested, here is the R code of my analysis:
################################################## ###############
###### Find for which AC Primal Savagery is superior #########
###### for a given tier, wis modifier, and weapon bonus #########
################################################## ###############
### Variables to change #######
tier = 2 # tier of play
wis = 5 # wisdom modifier
bon = 1 # bonus from magical weapon
###############################
psd = 5.5*tier # average Primal Savagery damage on non-critical hit
shd = (4.5 + wis + bon) # average Shillelagh damage on non-critical hit
if (tier == 1){prof = 2}; if (tier == 2){prof = 3}; ## proficiency bonus to hit
if (tier == 3){prof = 4}; if (tier == 4){prof = 6};
nb = 20+bon # number of different AC to consider
data = matrix(nrow=nb, ncol = 7) # matrix to hold results
colnames(data) = c("ac", "ps_prhit", "sh_prhit", "ps_dm", "sh_dm", "dif", "ps_sup")
for (i in 1:nb){
ac = wis + prof + i
ps_tohit = min(i ,20) # Primal Savagery hits on this d20 result or higher
sh_tohit = max(i - bon, 1) # Shillelagh hits on this d20 result or higher
ps_prhit = (20 - ps_tohit )/20 # probability of normal hit with Primal Savagery
sh_prhit = (20 - sh_tohit )/20 # probability of normal hit with Shillelagh
ps_avd = ps_prhit * psd + 2*psd/20 # average damage Primal Savagery
sh_avd = sh_prhit * shd + (shd + 4.5)/20 #average damage Shillelagh
dif = ps_avd - sh_avd # difference in damage (positive means Primal savagery damage is higher)
data[i,1] = ac
data[i,2] = ps_tohit
data[i,3] = sh_tohit
data[i,4] = ps_avd
data[i,5] = sh_avd
data[i,6] = dif
data[i,7] = (dif >= 0) # is Primal Savagery superior?
} #end for
data