Barrow’s Edge#

How reliable is the healing provided by the Exemplar’s Barrow’s Edge? Let’s test it with a Greatpick.

# Install in JupyterLite
%pip install -q pathfinder2e-stats

import matplotlib as mpl  # noqa: F401  # Needed by JupyterLite
import xarray

import pathfinder2e_stats as pf2
Note: you may need to restart the kernel to use updated packages.
level = 4
half_health_enemy = True
atk = (
    pf2.tables.SIMPLE_PC.weapon_attack_bonus.exemplar.sum("component")
    .sel(level=level)
    .item()
)
atk
11
weapon_dice = pf2.tables.PC.weapon_dice.striking_rune.sel(level=level).item()
damage_bonus = (
    (
        pf2.tables.PC.ability_bonus.boosts.sel(initial=4)
        + pf2.tables.PC.weapon_specialization.exemplar
    )
    .sel(level=level)
    .item()
)

immanence = 3 if half_health_enemy else 1
weapon = (
    pf2.armory.pathfinder.melee.greatpick(weapon_dice, damage_bonus)
    + pf2.armory.runes.auto(level=level)
    + pf2.Damage("spirit", 0, 0, immanence * weapon_dice)
)
weapon
Damage 2d10+4 piercing fatal d12 plus 6 spirit
AC = pf2.tables.SIMPLE_NPC.AC.sel(level=level)
AC.display()
variable AC
challenge
Weak 15
Matched 20
Boss 24

Let’s compare hitting an enemy without any buffs/debuffs vs. when they’re flanked, grabbed, or prone:

off_guard = xarray.DataArray(
    [0, -2], dims="off-guard", coords={"off-guard": [False, True]}
)

Both the challenge of the enemy and the off-guard conditions are what-if analyses: let’s roll our Strike only once and compare the output against all of them.

pf2.set_config(
    check_dependent_dims=["challenge", "off-guard"],
    damage_dependent_dims=["challenge", "off-guard"],
)

Let’s Strike the enemy! On a hit or critical hit, we will Spark Transcendence to heal ourselves.

atk_roll = pf2.check(atk, DC=AC + off_guard)
dmg_roll = pf2.damage(atk_roll, weapon)
barrows_edge_heal = dmg_roll.total_damage // 2
pf2.outcome_counts(atk_roll).display()
variable values
challenge Weak Matched Boss
off-guard False True False True False True
outcome
Critical success 0.34996 0.44976 0.09888 0.19948 0.04992 0.04992
Success 0.49928 0.49971 0.50140 0.50144 0.34975 0.44966
Failure 0.10023 0.00000 0.34919 0.24855 0.44957 0.44989
Critical failure 0.05053 0.05053 0.05053 0.05053 0.15076 0.05053

Damage distribution#

barrows_edge_heal.display()
variable total_damage
challenge Weak Matched Boss
off-guard False True False True False True
count 100000.000000 100000.00000 100000.00000 100000.000000 100000.000000 100000.000000
mean 14.216850 16.81701 7.70719 10.322810 4.881320 5.908030
std 9.924312 9.37972 8.05557 9.396203 7.034005 7.026836
min 0.000000 0.00000 0.00000 0.000000 0.000000 0.000000
25% 8.000000 10.00000 0.00000 0.000000 0.000000 0.000000
50% 11.000000 13.00000 8.00000 10.000000 0.000000 0.000000
75% 23.000000 25.00000 11.00000 13.000000 10.000000 11.000000
max 40.000000 40.00000 40.00000 40.000000 40.000000 40.000000
total_heal = barrows_edge_heal.stack(col=["challenge", "off-guard"])
means = total_heal.mean("roll").to_pandas()
stds = total_heal.std("roll").to_pandas()
_ = means.plot.barh(xerr=stds)
../_images/945f43de2318bd9ca8e9e92ea7aa94c20ca76b015075e9b9053cc8ec8ec0cbae.png
bins = barrows_edge_heal.max().item() + 1
_ = (
    barrows_edge_heal.stack(col=["challenge", "off-guard"])
    .to_pandas()
    .hist(bins=bins, figsize=(10, 10))
)
../_images/c1bfcb38964144147037e43a3dec5b19521f0f8685b684fd4efa4ac92b0df269.png

Conclusions#

Barrow’s Edge provides a solid health drip when fighting against extras, effectively allowing the Exemplar to take on an entire army and just keep going indefinitely. However, both its reliability and mean effect drastically drop when tanking a boss - which is also what hits the hardest. So you should consider complementing it with Scar of the Survivor or be backed by a dedicated healer.