BDO PvE Damage

Download as docx, pdf, or txt
Download as docx, pdf, or txt
You are on page 1of 96

BDO PvE Damage

This information has been passed over by other mostly/very intelligent members of the
game community, including but not limited to:
BigandShiny, you know who he is. His help with Awakening damage was instrumental as well
as his contribution on how summons (don’t) work.
Phelsong, owner of Project Ynix and the dude that kicked off a lot of this testing. Initially kicked
off this previously small project back in June of 2022 and has consistently kept an eye on it.
Honua_Mea, actual scientist that figured out most of the mechanics explained in this doc and
started solo gathering grind spot data all the way back in August 2022 before expanding the
research to including deriving the damage formulae the game uses
Mayitra, who wrote the original draft of this doc and repeatedly got Honua off their butt
Sundering, who helped with Character Dice testing and wrote the ‘StupidTally’ software to help
visualize manual damage number collection
Members of the Project Ynix discord who watched all this information and associated
documents and data come together since August 2022, including figuring out just how AP
works, determining Monster DR and its functions, and helping pull together DR data for every
grindspot in the game. Guys like Sulfur on the discord rock. Thanks for the tip about those
rings!
Members of the Shai Discord in the #Numbers-Talk channel that also put in their two cents
helping figure things out by red-teaming, playing opposite sides and just asking tons of
questions all the way up until early June 2022 when this was a tiny li’l talk project. Note that this
channel is archived at the moment, but you can still read the history by going to the Shai
discord.

What’s with all the BOLD?


Portions of this document will be BOLDed. If you don’t have the time to read through the entire
doc, reading only the bolded sections should give you a good feel for how things work.
Also, if you just want the damage formula outright, it’s on the outline, but here’s a link if you’re
lazy: So, what’s the simplest PvE damage formula?

All links in this document stay within the doc unless explicitly noted.

How did we get this data?


Every formula in this document was determined via in-game testing. We do not support data-
mining in any way, as it is against BDO ToS. In the interest of full disclosure, we do reference
one very old, publicly available table that we believe was derived from an old server leak under
‘Character Base Stats’. This table is what led to us evaluating dice expressions for much of
BDO’s RNG.

All Monster DRs, AP Caps, and AP Cap Multipliers were empirically derived using damage
numbers on BDO Global Labs. Links to our original data supporting these derivations can be
found under ‘Resources & References’, and test methodologies and formula derivations are
included in Appendix 1.

We also cross-referenced many of our measured values with BDOCodex and actively designed
formulas that match BDOCodex values (e.g. DR). However, most of our raw data and numbers
were collected blindly prior to cross-referencing with BDOCodex.

To help illustrate our methodology, additional notes will be added to help testers that wish to
replicate any of our work. These sections will be displayed in Italics and will often refer to our
more detailed testing methodologies in the Appendix.

But Global Labs Damage is Different!


No, it isn’t. Gear and characters can differ, but at the same AP vs the same DP, damage is
exactly the same.
● Damage dealt to monsters is the same
● Damage received from monsters is the same
● PvP damage is the same

Don’t believe us? See ‘Global Labs vs Live Servers’ (first section in Appendix 1) for simple tests
that confirm each of these points.

What the heck is AP?


AP is the baseline damage stat that everything scales off of in BDO. It’s the most tightly
regulated form of damage but also the most effective in most cases.

AP comes in many forms, but no matter what, it always functions largely the same in
calculations. But, AP may have conditions for it to apply (eg ‘Monster AP’).
How does AP work in the context of a class?
This document will only tackle the PvE damage formula in depth.
BDO uses multiple damage formulae, but let’s consider the most basic.

Skill %
Skill % is essentially a multiplier, with 100% being 1.0. Forward Slash in this example does
678%, so 6.78 times our base damage.

Every point of AP is considered +1 base damage to that skill per 100%. It’s literally, 100% of
1 AP.
If I was to have say, 50 total AP, then Forward Slash would be expected to deal 339 damage,
before any randomness.

You can break every skill down like this, multiplying the total AP for your spec (all applicable AP
from all sources) together with the skill’s % as a multiplier. 1000% Skills are 10.00 damage per
AP, 500% are 5.00 damage per AP, so on and so forth.
For any readers with programming experience, yes, BDO appears to use integer calculations
for damage, we discuss that much later in the doc.

Damage Ticks
The x4 on the Forward Slash is how many times the skill will apply damage on a
successful Hit (eg 4 ‘Damage Ticks’).
Building on that previous calculation with 50 AP, you could expect Forward Slash to deal 339
damage 4 times per hit, a total of 1356 damage.
This mechanic is about as simple as that.

Also, a side note (unimportant in most cases, but worth noting):


It is possible for attacks to lose ticks if your accuracy is incredibly low versus a given target,
even if the attack passes accuracy, somewhere around under 50% hitrate. If you notice ticks
going missing in testing, that’s probably why.
Hitbox Count

The previous “x4” Damage Ticks differ from “max y hits”.


For a skill with “x4, max 2 hits”, there are two hits, each of which can hit separately, and
every Hit of the skill deals damage 4 times.

To illustrate this, let’s take a look at ‘Absolute: Valkyrie Slash’.

The first attack has ‘x2, max 3 hits’, the last attack is a simple x3 single hit. Visually, this skill is a
series of 3 slashes, with a final slam.

This translates to having 3 hits from the slashes, each of which will deal damage 2 times on hit.
The slam only has a single hitbox, but will deal damage 3 times on hit. If the full skill lands, it
would deal 11.11 (1111%) damage per point of AP up to 3*2 + 3 = 9 total times.

To summarize all of this info about skills, your % is a decimal with 100% meaning 1.00, your
xN is the amount of damage ticks a hit will cause, and max Y hits is how many hits the
skill has. This is all you really need to start reading skills with an educated eye. The rest of
BDO’s systems revolve around how it judges your base damage: AP, damage bonuses,
multipliers, and our most hated system in the entire game: the 70/30 split.
Is there any difference in types of AP?
There is no difference between types of AP.
AP is AP, no matter what.

AP is not Species Damage, nor is it Critical Hit damage, or Back Attack damage, or anything
other than simple AP (1 point = 1 base damage). AP does not scale differently in whether it
is Sheet, Hidden, Extra AP vs Monster, or AP from buffs / gear / crystals / lightstones /
class. Sheet AP brackets obviously add additional AP, but that added AP is just more AP, same
scaling.

AP can, however, be conditional. For example, Monster AP only applies when attacking a
PvE mob.

Similarly, typed APs (Melee/Ranged/Magic AP) only apply to specific types of attacks:
Melee AP to melee attacks, Ranged AP to ranged attacks, and Magic AP to magic attacks. All
attacks for a class are considered to be of the same damage type, and the game tells you the
damage type your class uses in the character pane. As such, usage of Typed APs usually won’t
come up except for artifact choice and some consumables.

For testers, there is one exception: the unequipped weapon ‘Punch’ for every class uses Melee
AP, even if the class is a Magic AP or Ranged AP class. We discuss it in more detail here. If
you like to test crap, you can test type AP with that info.

However, PVE Mechanics can cause AP as a whole to scale differently per point via
different damage formulas. This is where things like AP Softcaps in PvE come in, which we’ll
explore soon. It is worth stressing, AP changing how it scales is not a function of AP
itself, this is the reason testing in the past was so distorted when it came to AP past certain
thresholds.
The ‘My Stats’ Window
Note that you are able to see your (mostly) true, actual AP in the newly-added ‘My Stats’
pane, pictured above and accessible from your equipment menu. This pane updates on the
fly as you apply buffs, get debuffed, and change gear. Anything that’ll change the stats it shows,
it will reflect, without fail.
You can also use this to spot if tooltips are wrong or bugged, since the pane will update with
correct information. For a quick example of this, get on an awakened Warrior, use E buff, then
use Q block, you’ll see something interesting.

For PvE, make sure to add together your total AP at the top right of the pane (applicable
to either your choice of Succession or Awakening), and add it to your ‘Extra AP against
Monsters’ to get your total PvE AP. DO NOT add in Extra Damage against Humans,
Demihumans, or Kamasylvians. Species Damage is something entirely different from AP.

In the above example, PvE AP for Mainhand would be 292 + 60 = 352 PvE AP. While you
also use Mainhand AP for Succession, there’s an extra calculation (see ‘The 70/30 AP
Split’).
What about Sheet AP though?
All Sheet AP does is determine your AP bracket. It doesn’t actually do anything else
special.

Over time, sheet AP has become less reliable for determining your actual power due to the
increased availability of Crystals, Lightstones, Consumables, Class Buffs, Class Passives,
Accessory Reforms, Alchemy Stone boosts, and all other forms of non sheet AP boosts. It is not
2018/2019 anymore. Sheet AP is no longer an accurate, precise measure of one’s ability
to do damage. It’s a nice general idea, but that’s it. This means you, too, Garmoth.
Gearscore isn’t really an accurate measure either, as a result.

How do buffs stack?


By and large, most buffs to your AP stack (consumes, villa, church, etc) stack together
fine following specific categories (Perfumes are exclusive with each other, Draughts
exclude Elixirs, basic stuff), but things get a little complicated when it comes to buffs
from your class.

BDO has a proprietary “Slotting” system for Buffs from classes. This is completely
broken down, visualized, and organized in a spreadsheet.
https://docs.google.com/spreadsheets/d/
1d8VIJkmWczw4ym_If4khX8pgwWz9LdLkoFWadraLwLw/edit?usp=sharing

In general, a Slot 1 Buff of the same Type will never stack with another Slot 1 Buff of the same
type. However, two buffs of the same type WILL stack if they are placed on separate slots, such
as a +All DR Slot 1 Buff, and a +All DR Slot 2 or 3 buff. A great example of the slotting
system is Succession Striker, his Prime: Discharge Energy gives 15 DR on Slot 1, while
his E buff grants 50 DR on Slot 3. These are different slots, and thus, will stack. Valkyrie
can additionally provide a Slot 2 DR Buff, meaning a well-prepared striker can gain three
different DR buffs from class effects that will all stack, thanks to slotting.
Some classes also have “Typed” buff effects, a notable example of this is Sage, who has
both an All-AP Buff, and Magic AP buff, both of which will stack because Magic AP is
technically not the same type of effect as All-AP. This isn’t always the case, many typed
effect classes don’t have an All-AP buff and appreciate ally AP buffs.

It is worth noting for testing, that a skill’s buff slotting is NOT per skill, a single skill can have
multiple effects all on different slots. One can take a look at Striker’s E buff once more for this
behavior; the DR portion sits in Slot 3, but the speed effects, Resists, and AP sit in Slot 1 and
generally do not stack with the same type effects.
The 70/30 Split
The 70/30 AP split is one of the most annoying and overcomplicated systems in the game, but it
exists, so we have to deal with it. We’ll keep it as simple as possible in this section and explain it
more fully once we’ve covered more mechanics.
● Awakening builds use 70% of Awakening Weapon AP and 30% of Mainhand
Weapon AP.
● Succession builds use 70% of Mainhand Weapon AP and 30% of Awakening
Weapon AP.
● Pre-awakening skills used by Awakened classes still use 100% of Mainhand
Weapon AP.

The 70/30 split is not a split of your total AP or Sheet AP. It only applies to the tooltip APs
listed on your Mainhand & Awakening weapons. AP gained through Caphras
enhancement counts as Weapon AP.

The full formulas are as follows:

As an example, say you’re an Awakening Class and you equip a Main and Awakening weapon
that both have 100 ~ 100 AP listed on both. For damage dealt by your active spec, that 100 AP
does not come from a single weapon. It instead comes in the form of 30 AP from your Main
weapon, and 70 AP from your Awakening weapon for a total of 100. Flip the two if you’re
Succession and using Prime skills.

Now suppose you only have a 50 AP Mainhand weapon. You’d still get 70 AP from your
Awakening weapon, but you’d only get 15 AP (30% of 50) from this weaker Mainhand weapon
for a total of 85. You effectively lose 15 AP from Awakening skills for using a weaker Mainhand
weapon.

This 70/30 effect does not apply to any other source of AP from gear, nor does it affect, or get
affected by, anything else. It only affects your Mainhand and Awakening Weapon APs, not your
total Awakening/Succession AP. It is an entirely self-contained phenomenon.

This is also the only situation in which your ‘My Stats’ window will actively lie to you
about your Total AP, depending on the AP difference between your Mainhand &
Awakening weapons. Be very careful about this if you’re running things like a Blackstar
Awakening along with a Green/Ultimate Mainhand.
In addition, the Split only applies to Awakening and Prime (Succession) skills. Absolutes
are spared this extra bit of math.

This is also admittedly one more way in which the 70/30 split applies, but it’d be difficult to
explain without deep-diving into minutiae mechanics. This will be expanded on in the ‘Advanced
Mechanics’ section here.
Approximating Awakening AP
Mainhand & Awakening Weapon APs are not visible in the ‘My Stats’ menu. Instead, you must
mouse-over them in your equipment menu. This is painful, but absolutely required for exact
damage calculations for Awakening & Prime skills. However, for casual calculations where
‘close’ is good enough, it is possible to easily estimate your Awakening/Succession AP from the
‘My Stats’ window. All you need is the difference between your Mainhand and Awakening
Weapons. We’ll use the below example for an Awakening Sorc to explain.

First, look under the ‘Gear (Base)’ column, and calculate the difference between your
Awakening & Succession AP (‘Awakening’ row - ‘AP’ row). In our example, these are the
numbers in the red oval: 308 - 296 = 12.

Next, multiply this by 0.3. Round down to the nearest full integer. In our example, 0.3 * 12 = 3.6,
then round to 3.

Finally, subtract this value from your Awakening AP. If (Awakening AP) - (Mainhand AP) is
negative, add 0.3 times the difference (subtract the negative). In our example, we add ‘3’ (from
the previous step) to the value in the blue rectangle: 561 - 3 = 558. Our actual Awakening AP is
approximately 558. This method is not perfect, but it is always accurate within 1 AP.

Full approximation formula:


True Awk AP =

Or for Succession:
True Succ AP =
How does DR work?
DR is a really simple stat in PvE. Every point of DR reduces the AP of a given attack by 1.
Note that DR does not reduce the damage of an attack by 1. It reduces the AP by 1.

DR is the main stat-check for every single PvE mob in the entire game. It makes sure a player
has enough AP equipped to handle a given monster type. Evasion is usually a secondary
check, though not always (eg Crypt of Resting Thoughts).

Every DR for every mob type is hand-picked by the BDO developers, and for the most part,
every mob at a given grind spot has the same DR, with some very, very specific exceptions. For
example, Bloody Monastery’s Crimson Bell mobs have vastly lower DR than their usual
counterparts, and some Boss-type monsters, such as The Butcher of Gyfin Rhasia, have
significantly higher DR than their trash-mob counterparts.

However, DR has one big limitation. DR can never reduce the damage of any attack below
5% of its base damage (AP). We refer to this as ‘The 5% Rule’, and it becomes very
important to understand this rule later.

This doc will not cover DR in PVP.


What is a DR Breakpoint?
DR breakpoints are a result of BDO having two different damage formulae for below and above
DR. They essentially act as the minimum AP required for any given spot. Anything under the
‘DR Breakpoint’ only deals minimum damage, according to the 5% rule. Anything over the DR
breakpoint scales normally (+1 AP = +1 base damage). You can see this clearly in a damage
graph:

As AP goes up, damage goes up. This gain is very, very slow until ~255 AP, then damage
scales up 1:1. This is a DR Breakpoint! There’s also a slight bend down at ~320 AP, but we’ll
get to that.

DR Breakpoints are the amount of AP you must have before you begin to gain 1:1
damage from AP on any given target. If you aren’t meeting the DR breakpoint at a grindspot,
you should not be there, period.

DR Breakpoints:
1) Reinforce and ensure that a player should have enough AP for a given grindspot
2) Make the transition from below DR to above DR damage smooth

The second point may seem odd, but it should make sense after an explanation. Did you see
any big, jagged jumps in the graph? No! It was continuously increasing; damage never went
down, even at the breakpoint. This continuous damage curve is essentially a direct result of the
‘5% Rule’ mentioned earlier.
What does ‘The 5% Rule’ actually mean?
BDO uses three different damage calculations in PvE:
1) When you’re below a monster’s DR Breakpoint
2) After you’re above a monster’s DR Breakpoint
3) After you’re above a monster’s AP cap (the third segment in our graph, discussed
later)

Like mentioned before, below a monster’s DR, you will always deal at least 5% of your base
damage (0.05 * total AP * skill %) no matter what, regardless of the monster’s DR. Note that the
slope of the line in the below graph is ~0.05 (5%). Basically, you can never do 0 damage on a
successful hit unless you have less than total 20 AP (only achievable via debuffs).
After your AP is higher than a monster’s DR breakpoint, the game switches to formula
#2. Above a monster’s DR breakpoint, base damage scales 1:1 with AP again, multiplied
by skill %. Note that the slope of the line in the below graph is ~1.0 (100%).

‘But wait!’, you might say. ‘If my AP is only 1-2 over a monster’s DR, and I do at least 5% of my
AP below DR, then I would actually lose damage vs formula #1’. That’s actually true all the way
up to ~5% over the monster’s DR. To compensate and keep the damage curve continuous,
the switch to formula #2 doesn’t happen at DR. It happens at ~5% over it.

The game simply uses the under-DR formula (formula #1) until the player would do more
damage with the over-DR formula (formula #2). That’s the real 5% rule. Once a player’s AP
is at (monster’s DR + ~5%), the above-DR formula always does more damage than (0.05*AP).

This means that the DR breakpoint is actually at

which simplifies to

Or

In short, the DR Breakpoint occurs at ~5.26% (1/.95) above a monster’s DR.


And to kill a myth immediately, DR shred is 1:1, but it’s obscured by the 5% Rule’s effect
on the DR breakpoint. A 30 DR shred reduces DR by exactly 30, but the DR Breakpoint
may shift by ~31.6 as a result. More on DR shred later. We also include a full derivation in the
Appendix under ‘Proving that the DR Breakpoint isn’t at DR’.

What is an AP Softcap?
An AP softcap is a seemingly PvE-only mechanic that exists in addition to a monster’s DR and
DR breakpoint. An AP softcap is the ceiling for AP’s 1:1 scaling. Above this ceiling, AP
loses its effectiveness per point.

Take a look at the original graph from Basilisk Den again, and pay special attention to the
downward bend on the right side. We blow up that bend as its own graph to the right, and you
can clearly see that AP no longer applies at a 1:1 ratio, but rather at 3:5 (a 60% AP Cap
Multiplier).

Like DR, both the AP Softcap and the effectiveness of AP above that cap (the ‘AP Cap
Multiplier’) are hand-chosen for every grindspot in the entire game. AP caps apply to every
monster at a given grindspot with only a single exception for a declared grindspot: Khalk
Canyon in Dreighan.

If any Pearl Abyss employees happen to be reading, please don’t change Khalk Canyon. The
absence of an AP Cap creates one of the best places in the game for players to compare actual
damage, especially when combined with the Khalks’ low DR & high HP pools.

Other overworld wildlife (eg Gray Foxes) also don’t appear to have AP Caps, but we have not
tested this exhaustively.

Every AP Cap Multiplier is a ratio from 0 to 1.0, representing how effective every 1 AP is
past the softcap. A 0.7-ratio grindspot causes all AP past the softcap to be applied at
70% effectiveness. Only the amount of player AP over the cap receives this damage reduction.
AP up to the cap always remains 1:1.
As an example, if you have 300 AP vs a 280 cap, only 20 AP will have reduced effectiveness.
All 280 AP up to the cap will apply at full 1:1 effectiveness. Again, the damage is a continuous
curve - it doesn’t suddenly decrease once you’re over the softcap.

As a rule of thumb, most spots operate on a 0.7 AP Cap Multiplier. Most Elvia grind spots
operate on a 0.05 AP Cap Multiplier, meaning past AP softcap, AP is only 5% effective in
Elvia, and you’d need 20 more AP to gain 1 more AP worth of damage:

Some spots also have unique or special ‘hardcaps’ and were historically known as ‘AP-capped’
spots. In these grindspots (Fadus, most of Mediah, etc), the AP Cap Multiplier is 0, so AP has
no value past cap. There are also experimental spots having unique ratios, such as .03 (97%
damage reduction over-cap) at Shultz or 0.5 (50% damage reduction over-cap) at Waragons.
There is no in-game way to find a given spot’s AP Softcap or AP Cap Multiplier. You’ll
have to refer to outside resources to find it, such as our Spotbreaking document here
(external doc, also available):
https://docs.google.com/spreadsheets/d/1mTPUGVLvp-yaZPSQMHEQ9kOY5DV-
NlKsyvAvqtOktPM/edit?usp=sharing

This link is also available under ‘References & Resources’.


What is Effective AP (EAP) and how do you find it?
‘Effective AP’ or ‘EAP’ is a measure of the total base damage you have when attacking a
specific target, and represents the actual value you get out of AP in terms of damage
output. This term was originally coined by Phelsong, one of the Shai Discord owners, when he
was first working on PvE damage calculations, and it has largely stuck.

EAP is calculated as:


● 0 for every AP up to a monster’s DR
● +1 for every AP above DR up to the AP Softcap
● +(AP Cap Multiplier) for each AP over softcap
● +randint(0.7*species_damage, species_damage) for Species Damage (more later)

The most basic way to get EAP is to gain AP above a monster’s DR but below the monster’s AP
Softcap. Every AP in this range applies at a rate of 1:1 (100%). AP then loses effectiveness due
to AP softcaps, which by design, make it harder to get more EAP.

EAP has no meaning below DR breakpoint, where a player always deals 5% * AP. Above the
DR breakpoint, EAP is the number that scales with skill % and other modifiers (back attack,
critical hit, etc).

Controlling a player’s EAP via a monster’s DR breakpoint (a flat reduction) and their AP softcap
(a controlled reduction over cap) is essentially how PA regulates how much damage someone
with a given gearset should be doing at a given grind spot. PA can use monster DR and AP
caps to reduce, or sometimes absolutely lock down, the damage dealt by all types of players.
They can ensure that regardless of gear, players usually won’t one-shot challenging mobs…
most of the time.

So, with that all in mind, how does one deal more damage when they can no longer reasonably
get more EAP? And can you get around the AP Softcap? Well…
DR shred
Keeping in mind how DR and Softcaps work, this means there is a finite amount of 1:1 EAP
between the DR breakpoint and AP softcap of any monster. Basically, every spot has a
hard-defined amount of damage that you are reasonably allowed to do to mobs before it gets
significantly reduced.

Knowing this, if you could somehow increase the gap between the DR breakpoint and the AP
Cap, you could easily get more damage, and it would scale. This means that the most important
buff/debuff in the game is not AP buffs, nor is it attack speed, or AoE, or even crit/back/down
multiplier increases, the most important effect you can tag most mobs with is DR shred.

By reducing a monster’s total DR, DR Shreds expand the range between the DR
breakpoint and the AP Softcap. This increases the amount of available 1:1 EAP.

DR shreds function 1:1. ‘-20 DP’ on a skill reduces the enemy DR by exactly 20. However, due
to the 5% Rule, the actual DR breakpoint will shift by slightly more than 20, opening up all of
that range as 1:1 EAP. Basically, DR shred scales at ~1.0526:1, slightly better than even AP.

A small side note to consider is that when you use a skill that applies a DR shred, the skill will
do damage first on its first tick, then apply the DR shred, then following damage ticks do more
damage based on the shred. Keep this in mind for your addon setups. Shred before you use
your nuke.
How does DR shred stack up?
The rules for stacking DR shred are pretty simple. Same types of DR shreds generally do not
stack, but different type shreds do stack. Some shreds are special, like Shai’s “Misty Haze”
(a minus percent DR shred). Basically, if it has a unique debuff icon, it can probably stack.
Addons have their own space for shreds, too.

To summarize, you can apply:


● Generic All DR Shred from Skill (Anywhere from 10 to 35)
● All DR shred from Addon (10-20)
● Magic DR shred from skill (15ish usually)
● Ranged DR shred from skill (15ish)
● Melee DR shred from skill (10ish)
● A -%DR shred, eg Misty Haze (10-25%)
You can visually see how shreds from classes stack up in the following spreadsheet:
https://docs.google.com/spreadsheets/d/
1d8VIJkmWczw4ym_If4khX8pgwWz9LdLkoFWadraLwLw/edit?usp=sharing

Other quick note: “Defense Nullifying Damage” seen on Brutal Death Elixirs and Brutal
Perforation Elixirs are flat damage increases, and, notably, the damage isn’t actually shown
anywhere, even with damage numbers visible. This behavior was found when finding the
min/max value of a given hit, then finding on Perforation, the min/max went up by exactly 10.
There was a lot of punching people involved.

What is Species Damage?


Species damage is an entirely separate Damage Stat. It is not a direct form of AP, but it
can be converted to EAP.

Species Types
Species damage works separately from AP in the damage calculation and has the most
conditions attached to it when being applied to targets. The most obvious restriction is that
Species Damage only applies to targets that match the Species Type. There are 4 known
species types:
● Human - Any player-character race (Human/Elf/Giant/etc)
● Demihuman - Humanoid but not Human (Orcs/Trolls/Blood Wolves/etc)
● Kamasylvian - Any monster in Kamasylvia or O'Dyllita, without exception
● ‘Other’ - Any monster that doesn’t meet one of the above 3 types

‘Damage to All Species’ applies to all of these types, including ‘Other’. There is no overlap
between species types. For example, Ahibs in O’Dyllita don’t also take Human damage, just
Kama damage.
‘Other’ species damage is not found in the ‘My Stats’ window, but has been proven to exist. The
only way to gain ‘Other’ species damage is through either ‘Extra Damage to All Species’
(commonly found on mainhand & awakening weapons) or ‘Damage to All Species Except
X’ on VERY specific items, such as Manos Topaz Rings.

After some research into the KR wikis, we discovered that PA calls our ‘Other’ species type
‘Neutral’. This doc will still refer to it as “Other” because old habits die hard, but go figure.

With some exceptions, if a Species Type applies to one mob in a grind spot, it applies to
every mob there. One known exception to this is Padix Island, where both Human &
Demihuman mobs exist. Each only takes bonus damage from its respective damage type.
Constructs within grindspots (eg towers or walls) are generally ‘Other’, rather than the spot’s
species type.

If you’re unsure what Species Type a given Monster is, check their health bar. You
should see one of four icons next to their name:

From: The BDO KR Wiki (external link):


https://www.kr.playblackdesert.com/ko-KR/Wiki?wikiNo=67

No, this page does not show up on the NA Wiki, but we have confirmed it in-game. More
information and ranting about that in the ‘Resources & References’ section under ‘A Note on
PA-Authored Resources’.
Rolling Species Damage
The most important thing to know about Species Damage is that Species Damage is not AP,
even if it acts like it in a few situations. Whenever you attack an applicable target, the game
randomly rolls between 0.7 to 1.0 and multiplies it by your species damage. That is,
Species Damage rolls are a completely random roll from 0.7*species_damage to 1.0*species
damage. Every value between these two values is equally likely to be rolled. The average
species damage roll is 0.85*species_damage, but random rolls will vary widely.

Example: 30 Human Damage

And the average of 0.7 and 1 is 0.85, so

On each hit, BDO will roll a random number between 21 and 30. The average species damage
across all hits will be 25.5.

Above the DR Breakpoint


Above the DR Breakpoint, the species damage roll is added to EAP. It scales similar to but
slightly weaker than AP, at an average of 0.85:1.

Below the DR Breakpoint


Species Damage does not increase damage at all below the DR Breakpoint.

However, Species Damage does count toward reaching the DR breakpoint, though you
really shouldn’t use it for that purpose. Remember that the DR breakpoint is the point at
which you do more damage with the Above-DR formula. If the Above-DR calculation with your
Species Damage roll would allow you to do more than 0.05*AP, BDO will use the Above-DR
damage value.
Once Species Damage is introduced, the DR Breakpoint calculation actually changes again. It
occurs at (warning, math incoming):

DR Breakpoint for a min roll:

DR Breakpoint for a max roll:

For any testers, the random nature of Species Damage and the fact that it does not contribute
to damage below DR can make the DR Breakpoint very challenging to find, as high 1.0 rolls can
suddenly proc much higher, above-DR damage values. It is much easier to find DR Breakpoints
if you have 0 Species Damage. Azwell weapons are ideal for this, as they have 0 species
damage and a small 5-damage range (1d5 die, more on that later).

Above AP Cap
Above AP Cap is where species damage shines. Species damage is completely unaffected
by AP Caps. As long as you are above the DR Breakpoint, Species EAP is calculated the
same regardless of your AP.
Since nearly every spot in the game has an AP Cap, and every AP Cap Multiplier is at most 0.7,
this means that Species Damage scales better above AP Caps than regular AP. The lowest
roll for Species Damage (0.7) is the same or better than the best possible AP Cap Multiplier
(0.7). At Elvia spots (0.05 AP Cap Multiplier), Species Damage still applies at a worst-case rate
of 0.7 above cap. Species Damage always scales at an average of 0.85 EAP per point,
regardless of the AP Cap or AP Cap Multiplier. Once you have enough AP to meet a softcap,
it is usually better to stack Species Damage if it is available.

The biggest weakness of Species Damage is its lack of availability. Given the comparatively
high availability of AP, it often is still the correct choice to take AP at spots with an AP Cap
Multiplier of 0.7 despite the better scaling of Species Damage. 33 AP still easily outscales 10
Species Damage, and most items specifically geared toward Species Damage simply
don’t have enough Species Damage to justify the AP loss. As an example, equipping an
Ultimate Ain Sword for Demihuman damage ends up losing so much AP vs Blackstar in PvE or
even Kzarka in most scenarios, that you will often end up doing less total damage outside of
very specific situations with the worst AP Cap Multipliers (eg Elvia’s 0.05 multiplier).
What are Special Attack Multipliers?

There are multiple types of ‘Special Attacks’ in BDO, all of which multiply damage instead of
providing a base damage boost. These are the giant, bouncing, dopamine-boosting text that
pops up above monsters whenever you hit them especially hard or under certain conditions.
These ‘Special Attack Multipliers’ include Critical Hits, Back Attacks, Down Attacks, and
Air Attacks.

Special Attacks apply a multiplicative boost to the total damage of an attack. Due to this,
they essentially don’t care about DR Breakpoints or AP softcaps.

While AP and Species Damage are used to calculate the base damage for a given attack,
Special Attack Multipliers multiply the total end result of all damage calculations, increasing
damage without modifying anything else.
How do they add up?

Crit happens
Critical Hits start at +100% bonus damage. Same in PVP.
● Procs at random based on your Critical Hit Rate.

Et tu, Brute?
Back Attacks start at +50% bonus damage. +20% in pvp.
● Always procs when you attack a Standing target from behind.
● Does not affect enemies in Down or Air states.
● Stuns, Rigids/Stiffs, Knockbacks, and the first half of Freezing tend to keep a foe
Standing.
I get knocked down! And don’t get up again!
Down Attacks start at +50% bonus damage. +20% in pvp.
○ Procs with a Down Attack skill being used against a target in Down state.
○ Basically stuff like Knockdowns, Bounds, last half of Freezing and Float.

Air Combo!
Air Attacks start at +100% bonus damage. +70% in pvp.
● Procs with an Air Attack skill being used against a target in Air State.
● Basically reserved only for things like the first half of Float and first half second of
Knockdown.
That is bullshit blazing!
Counter Attacks start at +100% bonus damage. (PvE Only mod)
● Counter Attacks are so hard to hit and the timing window is so short that they’re
not worth using for most players. If you get them, consider it a nice bonus.
Probably don’t wanna build gem sets for Counters though.
● Procs when attacking a target that is in a specific, special ‘Counter state’, with a skill with
Counter Attack listed on the skill.
○ The state seems VERY short lived as well. Like, 2-3 game ticks.
○ It also seems like you have to be in front of the mob.
○ Not all mobs have a Counter state (we think, anyway.)
○ What moves cause these states? Well, you’ll just have to find out for yourself.

Literally the only photo proof this modifier works!


Speed Attacks start at +50% bonus damage. (PvE Only mod)
● Speed attack only procs on three (confirmed) sets of mobs in the entire game that
appear to have a property that allows speed attack to occur. Fully ignore this
modifier. It is beyond deprecated and unused. You can test it on stuff for sport,
but don’t expect any results.
Some types of Special Attacks can be stacked for multiple multipliers. Critical Hits can stack
with Back/Air/Down/Counter Attacks. Back/Air/Down (and seemingly Counter) Attacks
cannot stack with each other. Only 1 of these bonuses can apply, depending on the state of
the target (standing, grounded, in the air, in counter state). When multiple effects apply, both
multipliers are applied to the total damage.

As an example, let’s consider an attack that would normally deal 100 damage. Now suppose we
get a Critical Hit + Back Attack. Both the Critical Hit multiplier (+100%, or 2x) and the Back
Attack multiplier (+50%, or 1.5x) will apply. This means our 100 damage attack first gets pushed
up to 200 damage (2x) by the Critical Hit, then gets brought up to 300 damage (1.5x) by the
Back Attack.

Side Note:

If your attack decision includes something like getting both Down Attack + Crit, Air Attack + Crit,
or Counter + Crit, then the Down Attack, Air Attack, or Counter text will be smaller and gray
(instead of the normal red/blue) and tends to show above your big red CRITICAL text. Back
Attack still stacks with Crit but oddly does not do this.
What does “Critical Hit +10%” and such do?
Special Attack Damage increases of all forms apply additively to the multiplier. So if you
get a +10% Critical Hit Damage bonus, your Critical Hit bonus goes from +100% to +110%.
Similarly, Back Attack Damage +10% brings your +50% bonus to a +60% bonus.

In terms of raw damage, this makes Back/Down Attack bonuses more valuable than
Critical Hit bonuses. Suppose a base damage of 100 and a +10% Special Attack bonus:
● A Critical Hit would deal +110% damage = 210
○ Normally, this attack would only do 200 damage (+100%)
○ The +10% bonus nets +5% total damage
● A Back or Down Attack would deal +60% damage = 160
○ Normally, this attack would only do 150 damage (+50%)
○ The +10% bonus nets ~6.67% total damage

In addition, any buff that says “+% to All Special Attacks” basically just increases ALL
forms of multipliers: Critical Hits, Back Attacks, Down Attacks, and Air Attacks (and
technically Counter/Speed Attacks though they’re rare & impossible/bugged respectively). Yes,
Critical Hits count as a Special Attack, but don’t take our word for it. Check the KR Wiki
(external link):
https://www.kr.playblackdesert.com/ko-KR/Wiki?wikiNo=76

Continuing the above example for 100 base damage with a ‘+10% Special Attack’ Bonus:
● A Back Attack Crit would deal both +110% damage and +60% damage, as separate
2.1x & 1.6x multipliers
○ 100 * 2.1 * 1.6 = 336
○ Normally this attack would only do 300 damage (100 * 2 * 1.5)
○ The ‘+10% Special Attack’ bonus nets ~12% total damage

Is Awakening/Succession damage different?


Well yes, but actually no. A character’s Awakening/Succession state does not affect your
pre-Awakening skill damage at all. It only triggers the 70/30 split for your Awakening & Prime
skills. Every other damage mechanic we’ve discussed so far applies normally: AP, DR, and AP
Caps all apply normally.

However, Awakening & Prime skill damage is far more random. There is extra
randomness added by both your Mainhand and Awakening weapons that cause more
possible values than usual. As a result, Awakening/Prime skills usually differ from pre-
Awakening/Absolute skills by up to about +/- 15 damage above and below any normal rolls. We
discuss the internal mechanisms behind this in the ‘Advanced Mechanics’ section.
As an example, consider an 1100% pre-Awakening (normal Mainhand) skill. For a particular
player’s AP and monster’s DR, suppose these are all of the possible rolls:
256, 267, 278, 289, 300, 311, 322

For this pre-Awakening skill, you will only ever see these values.

Now, suppose an 1100% Prime skill on the same character vs the same mob. Assume that your
Mainhand and Awakening weapon have the same Sheet AP (so the 70/30 split doesn’t matter).
We should expect the same damage, and we mostly get it. However, you would suddenly see
your damage numbers look like this:
243, 245, 246, … 332, 333, 335

Almost every value within the range from 243 (256-13) to 335 (322+13) would be visible, with
some small gaps near the very top & bottom.

Why does this happen? Each weapon has a random die (the range of weapon damage in
the tooltip), and Awakening/Prime skills include these dice in the 70/30 split. For the
purposes of simple damage calculations, you can ignore this mechanic. In general, you can
simply assume that:
● Pre-awakening/Absolute skills will roll distinct damage values (eg 10, 20, 30)
● Awakening/Prime skills will roll a slightly larger damage range as well as every value in
between (eg every value from 10, 11, 12… up to …29, 30).

Everything you’ve already learned about damage still provides a good approximation for
Awakening/Prime skills. You don’t need to worry about damage dice unless you want exact
values. Again, we fully explain them in ‘Advanced Mechanics’ here.

What if you use Prime Skills without an Awakening Weapon?


If no Awakening Weapon is equipped, BDO will literally ignore the entire AP of your
Mainhand Weapon when calculating damage, treating it as 0. Any brackets given by the
weapon will still apply, but the Weapon’s AP will be completely subtracted from your Total AP.
This behavior is not reflected in the ‘My Stats’ window.

By comparison, Awakening skills cannot be used at all without a Mainhand weapon


equipped. PA simply didn’t put the opposite check in place for Succession, as you can still use
pre-Awakening & Absolute skills normally with only a Mainhand weapon.
To illustrate this effect, let’s walk through the below example:
● Consider a 400 Total AP (not Sheet AP) Succession Warrior
○ Exactly 100 of this AP comes from their Mainhand Weapon, a TRI c4 Azwell
Longsword.
● The Warrior does not have any Awakening weapon equipped (no Greatsword)
● The Succ Warrior attacks a 200 DR monster with:
○ ‘Absolute: Slash’ (1330%)
○ ‘Prime: Heavy Strike’ (1407%).

Absolute: Slash will deal ~2660 damage ((400-200)*13.3), as expected. However, despite
having a higher skill%, Prime: Heavy Strike will do substantially less damage: ~1407. This is
because BDO ignores the 100 AP from the weapon entirely. All AP brackets obtained from the
weapon still count; only the Weapon’s 100 AP is ignored. This gives us (300-200)*14.07 =
~1407 damage.

If the Warrior equips an Awakening Weapon with 100 AP, damage will immediately behave as
expected again (~2214), though it will also have an added random roll again, just like
Awakening Skills.

What about classes that don’t have an Awakening yet?


If you’re reading this in early 2023, your immediate reaction might have been ‘But I know my
Maegu’s weapon increases my damage!’. That’s absolutely correct: it does.

If a class does not have an Awakening Weapon available yet, its Prime skills behave
exactly like pre-Awakening skills. There is no 70/30 split and no extra random roll. As soon
as the class gets an Awakening & Awakening weapon, the weird ‘ignore your Mainhand
Weapon AP’ effect will kick in unless you equip an Awakening Weapon. Your damage will also
start seeing the extra random roll on Prime skills.

If you don’t believe us, I don’t blame you. Still, give it a try while Woosa & Maegu are still
Succession-only in labs, then try another Succ class without their Awakening Weapon. We can’t
make this stuff up. BDO really appears to have entirely separate code blocks for Prime skill
damage calculation depending on whether the class has an Awakening or not.
So, what’s the simplest PvE damage formula?
DISCLAIMER: This formula is meant to be used as a loose guide for your
damage output. There are additional hidden factors that slightly influence
the result by adding randomized rolls. These are covered in the ‘Advanced
Mechanics’ section here.

For the average player, the simplified BDO PvE damage formula is:

Before (1), (2), or (3)


Adjust ‘Total AP’ based on the 70/30 rule, if using an Awakening or Prime skill. See
‘Approximating Awakening AP’ for more details.

Subtract 2 from your (Total AP). Just trust us (or read ‘Subweapons’).

(1) Below DR Breakpoint:

(2) Above DR Breakpoint but below AP Softcap:

(3) Above AP Softcap:

And finally,
After (1), (2), or (3)
Apply any Special Attack Multipliers

This formula should cover 99% of situations you’ll find yourself in.

For anyone performing detailed damage testing, please read through the ‘Advanced Mechanics’
sections. They explain how AP rolls (eg dice), that weird -2 Subweapon offset,
Awakening/Prime damage, random ranges, and floor division work in much more detail. While
there are no changes to the overall formula, ‘Total AP’ is actually a rolled value based on
multiple other hidden dice values.

Example: Damage Calculation


Let’s do an example calculation for attacking a Kamasylvian type mob with an Awakening
Skill (Barrage of Water). The mob has 150 DR, a 200 AP Cap, and an 0.7 * cap multiplier.

Character Stats:
Skill (Awakening):

Step 1 - Compute effective awakening AP:


255 Awk ‘Gear (Base)’ AP - 253 ‘Gear (Base)’ AP = 2
2 * 0.3 = 0.6
0.6 rounded down to nearest integer = 0 (no change!)
538 - 0 - 2 = 536 Awakening AP, + 221 Extra AP Against Monsters
= 757 Effective Awakening AP

Step 2 - Determining which formula to use


AP Cap of 200 versus effective AP of 757
Use the Above-Cap Formula (3)

Step 3 - Calculate Species AP


(74 Kamasylvian damage * 0.7) = 51.8
This means the min roll will be 51.8, and the max will be 74
The average will be fine for most purposes, so we can multiply by 0.85:
74 * 0.85 = 62.9
Species AP = 62.9

Step 4 - Calculate Overcap AP


Total AP = 757 - AP Cap of 200
= 557 Overcap AP
Step 5 - Calculate EAP
AP_Cap = 200
Enemy_DR = 150
Species_AP = 62.9
AP_Cap_Mult = 0.7
Overcap_AP = 557

200 - 150 + 62.9 + (0.7 * 557)


= 502.8 EAP

Step 6 - Calculate Damage


EAP = 502.8, Skill Damage = 1500%

Damage = (502.8 * 1500) / 100


= 7542

Step 7: Apply special attack modifiers


For simplicity, we will consider base Back Attack with no bonuses (1.5), and base Critical Hit
with no bonuses (2.0), and calculate damage for a Back Attack + Crit of this ability.

7542 * (1.5 * 2.0)


= 22,626 Total Damage per hit (x8 hits)
Even More Mechanics!
How do Summon skills work?
It is worth noting that in BDO’s game engine, every attack has to be visually anchored to a
player that is currently in the middle of some form of animation.

But you might ask “Wait, don’t some skills still work without me needing to be in an animation?”

Well yes…and no. In short, every hitbox that isn’t directly tied to your character animations
and acts independently of you is a ‘Summon’. The animation is simply anchored to another
character that has its own stats.

This is Gorr. He is objectively the best anchor/summon /s and a very round boi. You may
recognize him if you play Witch. Gorr is the character that some of the Witch “Pet Flows” tie
themselves to. If you m2m or move out of the pet flow, Gorr will still perform his attack where he
started it, and end it on his terms. Not every summon has to be a pet you have around at all
times though! Gorr is just one of the simplest examples.

If you can cancel it and go back into a jog and the skill is still going, then it’s probably a
summon. There are some fun exceptions, but it’s a good rule of thumb to follow. This is further
muddled by some skill animations making use of your summons as graphics, but they are tied to
your animation, example being Striker’s 100% BSR.

It’s also worth noting that Projectiles aren’t necessarily summons, though you can fire off some
and still immediately move while they’re traveling. Summons usually take the form of some kind
of AoE on the ground or something that fires projectiles or attacks on its own.
Certain effects that apply to the player do not apply to summons. The most notable of
these ignored effects are Elvia Weapons, Elvia Buff in Calpheon Elvia, and Gyfin Color
Buffs. Rule of thumb worth following is most of your self applied buffs usually work out, but if a
spot mechanic involves a buff that you yourself receive, your summons probably won’t get it.

Certain other stats simply don’t apply to summons, and it’s kinda a crapshoot on
whether or not something applies. The most important stats like your AP contribution to
your summons generally does work though.

As an example, Crit Rate will apply to your summons, but Special Attack Multipliers won’t.
Speed effects on you generally don’t apply, and there’s some weird interactions with Mage
summon flows where their flow attacks will try to speed up with you, to varying success. They
can, but mostly don’t.

This concept of ‘Summons’ applies to a surprising amount of things. A short (but not exhaustive)
list of summons includes:
● Awakening Mage’s Pet Flows, and Poison/Lava field.
● Sorc’s Sinister Omen and Blades of Darkness
● All of Tamer’s skills that Heilang performs
● Kuno’s Lunar Explosion from Delighted Blast
● All of Musa’s Blade Projections
● All of the Nova Pawn and Axian skills
● Realm of Anguish on Sage
● All of Awakening Corsair’s Otters and their attacks
● Hashashin’s tornadoes
● Archer’s Sunfall
● Awakening Striker’s ashura clones
● Awakening Mystic’s Dragon
● Awakening Valk’s Wave of Light
● Woosa’s Clouds
● Maegu’s Spirit Charm Explosion
● Shai’s blue/green Rabam orbs

What causes variance in my damage?


Once again, astute observers might notice that even without any Species Damage, the damage
numbers from each hit aren’t all the same. There is some additional randomness that
determines the ‘Total AP’ used in the above formula:
● Character dice (something largely out of your control)
● Weapon dice (based largely on your weapon choice, but often not much you can do
about it)
● The 70/30 split, to a great degree
All will be discussed under ‘Advanced Mechanics’, but after accounting for Species Damage
and any Prime/Awakening weirdness, they account for all remaining random damage
fluctuations in PvE.

What about Knowledge?


Despite what the game suggests, Knowledge levels do not grant additional AP or Accuracy and
do not in any way modify mob DR or Evasion. Based on all testing so far, Knowledge levels
appear to do nothing beyond showing mob HP bars at C-rank. The drop rate bonus at S-rank
has not been tested.

This is either a bug in NA documentation or a bug in the code for all clients (NA/KR/etc). It
seems more likely that NA documentation is simply wrong as the KR wiki makes absolutely no
mention of Knowledge doing anything except making HP visible and increasing droprate, and
this behavior holds up in all versions of the game.

NA Wiki - erroneous (external link): https://www.naeu.playblackdesert.com/en-US/Wiki?


wikiNo=10

KR Wiki - no mention of damage (external link):


https://www.kr.playblackdesert.com/ko-KR/Wiki?wikiNo=28

I think my damage is lower than it should be. What gives?


Honestly? A lot of reasons. But some places to start might include:
● Are you over the AP softcap and forgot to account for it (AP + Monster AP)?
● If your TTK feels low, are you sure the mob just doesn’t have a ton of HP?
● Are you sure you’re using the right kind of Species Damage?
● Are you accounting for the randomness of Species Damage?
● Did you make sure to account for the 70/30 split? Remember the split can cause your
stats window to actively lie to you. Be sure to calculate the split yourself to ensure
you’re getting the right numbers.
● Did you remember to position for Back Attacks if you’re trying to max your damage out
(or Down/Air at some spots)?

If you’ve done some basic due diligence and still can’t work it out, there are still some deeper
combat mechanics beyond a casual level. However, these extra mechanics don’t significantly
alter your total damage. Double-check that you didn’t miss something in the formula so far.
Damage Myths
This is just a dirty section to dispel a few many rumors, explain incorrect observations, help
break meaningless past habits, and just generally correct bad information.
● Global Labs and Live use the same combat and damage formulae. This was largely
a myth borne out of the fact we simply didn’t really know how stats work and did our best
to come up with solutions that made sense. But, with further testing with stats we can
actually see, it’s pretty easy to see Labs and Live use the same damage calcs. This is
also where the perception that different types of AP scale differently also came from.
● The 70/30 Split is a real thing, though it’s REALLY confusing. Read the section above
for the full skinny, and if you’re still curious about its deeper mechanics, consider the
Advanced Mechanics section.
● Rain doesn’t actually reduce your AP. It has been bugged for years and has
apparently never actually reduced AP, neither from sheet nor your AP total.
○ What it DOES reduce… is your Punch damage. Your damage with no weapon
equipped. That’s it. Nothing else. By about 50%.
● Knowledge doesn’t actually boost your AP (or Accuracy) vs targets, no matter the
rank. See ‘What about Knowledge?’
● There isn’t really any such thing as ‘Hidden’ AP outside of the 70/30 Split. The
purpose of the term basically was just to refer to AP that wasn’t on your immediate
sheet, and since all the information is now given to you in the ‘My Stats’ window, there’s
no more use for it, excluding the (missing) visibility of the 70/30 split.
● The previously ‘Hidden’ AP never scaled any differently from your normal AP. It
did not scale 4:1, 2:1, 12:1 (what), or 10:1 with other forms of AP.
● Extra AP vs Monsters does not ignore AP caps, soft or hard. We all wish it did,
though. Only Species Damage actually does this.
● Extra AP Vs Monsters is 1:1 with AP (it is PvE AP). It is not a fraction of an AP. It’s
just AP with a requirement.
● Sheet AP is not special in any way beyond determining what AP bracket you get.
You do get sheet AP as AP in your stats, but it doesn’t scale any better or worse than
any other form of AP.
● Yes, Critical Hits are considered Special Attacks, and get bonus damage from “All
Special Attack” accordingly.
● DR is not DP; DP is not DR. They’re both entirely separate stats.
○ This is further confused by the fact that PA has a mistranslation where buffs that
increase or decrease DR, say +/-DP instead. Every effect that says ‘-DP’ means
‘-DR’. Same for +DP, it means +DR.
● DR does not cap at 400 or 450. DR doesn’t really cap, ever. It’s as valuable as the AP
it is versed against.
● No, DR doesn’t magically uncap for Forward Guard either. It is not capped in the
first place. Forward Guard may scale partially better off of DR, but that is still under
investigation.
● The 5% rule is the game moving from one damage formula to another once you
would start doing more damage at just over 5% (1/.95) above the Mob’s DR. Players are
guaranteed to always do at least 5% of their AP in damage, but the damage formula
ensures that damage doesn’t suddenly drop above mob DR when considering this 5%.
○ It is not the mobs having 5% more DR than they actually do and the game
secretly making all the DR shreds 5% stronger than they say they are.
● Species damage is not 1:1 with AP. It sometimes is (on a max roll), but not always,
instead averaging out to 0.85:1. It also applies differently below DR (does not contribute
to damage) and ignores AP caps.
○ Species damage is also not 1.5:1 or 2:1 with AP.
● Hidden Species Damage is not a thing, except for the ‘Other’ species type. You can
gain ‘Other’ damage only from ‘Extra Damage to All Species’, and is not shown in the
‘My Stats’ window.
○ Fun fact: PA’s official name for ‘Other’ species is ‘Neutral’
● Species Damage is never outright better until you’ve reached the AP Softcap for a
spot. Even then, at most spots, it’s not even much better than raw AP anyway unless
you’re lucky, consistently, for an hour straight (0.85:1 avg vs 0.7:1 for AP).
○ Elvia spots are the exception, as Species Damage ignores the 95% damage
reduction above AP Cap.
● Debuff Resistance vs Monsters is a separate stat from your normal Resistances,
and they roll entirely separately. If you have 50% normal resistance, and 40%
Resistance Vs Monsters, and receive a CC, the game will check the 50% normal
resistance, if that fails, it then checks the 40% resistance. They do not stack together
additively. Yes, this means Resistance vs Monsters is largely a useless stat.
● The biggest boost to your damage outside of AP and DR shreds is usually Special
Attack Multipliers (Critical Hits and Back/Down/Air Attacks). The lack of Down Attack
on some classes basically completely locks them out of some spots. No other stat has
that kind of power.
● Most shocking of all, BDOCodex is actually pretty right on the mark for most
monster stats, though it has a lot of garbage and unused mobs, cutscene mobs, quest-
only mobs, summon scroll mobs, testing mobs, and other trash that clogs up the list of
mobs and NPCs.
● BDOCodex can also be completely wrong about other things, because the source
of much of their monster data is server data leaks (last updated ~late 2021).
○ The leaks that populate this data happen more frequently than you’d think.
Global Labs will sometimes just have a patch pushed with server data left in the
patch which then gets mined. This is where many Private Servers get their data
and formulae from.
● The listed APs for grind spots on the map often have little to nothing to do with
the actual AP requirements and softcaps associated with the grind spot.
● Skill % is uniform across every class. 100% is 100%, no matter the class.
● Spot Mechanic buffs are neither Species Damage or AP. They’re actually just
straight up multipliers.
○ Gyfin buff multiplies your end result damage by 2x for color buffs, 10x for butcher
buff.
○ At solo spots, Elvia multiplies your end result by 6x for elemental weakness, 3x
for elemental neutral, and 2x for elemental resistance. Group spots have reduced
multipliers that you can find in these patch notes (external link).
● Spot Mechanics do not apply to your summons, even if the summon is active when
you receive the buff.
● Every class uses its designed AP Type for all attacks in both Awakening &
Succession. Dagger Stab on Witch/Wizard doesn’t use Melee AP; it’s still Magic AP.
Ranger’s Kamasylvian Swords are still Ranged AP.
Resources & References
All links in this section are to external docs or sites.

Spotbreaking (Grindspot DRs & AP Caps):


https://docs.google.com/spreadsheets/d/1mTPUGVLvp-yaZPSQMHEQ9kOY5DV-
NlKsyvAvqtOktPM/edit?usp=sharing

Raw data for spotbreaking:


https://github.com/honuamea/bdo_grindspot_data

Raw data for original derivations:


https://docs.google.com/spreadsheets/d/1AgWE7Z5hEislvjtFkJJRDp60cnZvYGFQRLZqe-
7WXLQ/edit?usp=sharing
● AP vs Damage: ‘Manshaums’ sheet
● Species Damage: ‘Sausans (AP-capped Species Damage)’ sheet
○ Offhand penalty: See A42
● Weapon dice: ‘Weapon Dice’ tab

Raw data for Awakening/Prime testing:


https://docs.google.com/spreadsheets/d/
1NzRr1E9GNmAkfVG_MeCOvwTtT5nNyw3I5kIL8qGjU94/edit?usp=sharing
● See ‘Awk/Succ’ A105 for the Fractional AP derivation explained in Appendix 1

Full Character Base Stat Breakdown:


https://docs.google.com/spreadsheets/d/1hmYjvyzbXX2fiFTLI656uAqZSDMGUf--qCUp7Nld-
9I/edit?usp=sharing

Other tools & research notes:


https://github.com/honuamea/bdo_testing_data
● Includes the ‘StupidTally’ manual data collection tool under tools/StupidTally*.zip
○ README bundled with the software

Dice distribution simulator:


https://anydice.com/
Example usage: ‘output 10*1d5 + 7*(1d3) + 3*(1d12)’
● This simulates the 70/30 split for a Succ Tamer with Krea, Blackstar, and no offhand
A Note on PA-Authored Resources
The Official BDO Wiki from PA: https://www.kr.playblackdesert.com/ko-KR/Wiki

Incoming Rant: When referring to Official BDO resources, DO NOT USE THE NA WIKI. The
NA wiki has many, many pages either missing or with outright false information.

Examples:
● The NA Wiki page says Knowledge boosts AP. The KR Wiki page has no listing at all,
because Knowledge doesn’t affect AP.
● NA’s page for Special Attacks claims Counter is 70% bonus. KR’s page claims Counter
is 100% bonus, and this has been tested to be true. NA’s value is false.
● NA wiki has no mention for determining species types. KR wiki has a table showing you
icons that tell you the species type.

For the love of God, for your sanity and for everyone else’s sanity, do not use the BDO
NA Wiki. If you want actual info, use the KR Wiki:
https://www.kr.playblackdesert.com/ko-KR/Wiki

Even Google Translate does a better job than the paid translators when it comes to
moving data over to NA:
https://www-kr-playblackdesert-com.translate.goog/ko-KR/Wiki?
_x_tr_sl=ko&_x_tr_tl=en&_x_tr_hl=en&_x_tr_pto=wapp
!!The casual BDO player
probably won’t need
information beyond this!!
It’s important to note that ‘casual’ in this context is not intended as an insult, reduction
or implication that a curious reader isn’t ‘big brain’ enough for the information. Rather,
the information past this point is very dry, likely inconsequential, and really won’t mess with your
gameplay if you don’t know about it. Honestly there’s some mechanics you might be better off
not knowing because they’ll likely just piss you off. Some are just that silly, strange, or even
outright maddening in their implementation, and if the mechanics behind the 70/30 split has
already infuriated you, then definitely stop here, as it shows up again with a vengeance. This is
the last bold text. Beyond here be dragons.

If you don’t have a need or simply don’t care for the inner numerical workings of the game’s
combat system, then you won’t really find anything interesting past this point. The rest of this
document regards small details that, as a whole, should not affect general gameplay. This
includes things that are completely uncontrollable by the player or the minutia required for
exact, to-the-number, damage testing. It is intended primarily for people who wish to do deep
testing on the game’s internal mechanics.
For those still with us…welcome to…Jurassic…wait, no…

Advanced Mechanics
Dice Rolls
The backend of the game operates on a dice roll system, following XdY+Z values. This harkens
back to the time that BDO was in development as a more realistic, tabletop-like game with more
reasonable stats, more damage spread, and tougher, sparse-density monsters. The slower
combat that resulted cared a lot less about flair/appearance and a lot more about providing
players a challenge.

Ultimately this dice roll system gets skipped over more often than not nowadays, but it still
shows up in a few ways.

Character Base Stats


These aren’t super complicated and most people will probably know them off the top of their
head, but it’s worth having these handy for reference.
● All characters have a Base AP. This is viewable through your My Stats pane as
“Character(Base)”.
● Most (but not all) classes also have some form of AP passive skill(s).
● You also get AP from leveling up. It’s not a lot, but it will be included in your
Character(Base) AP.
● You can find a full breakdown of base stats here (external doc):
https://docs.google.com/spreadsheets/d/1hmYjvyzbXX2fiFTLI656uAqZSDMGUf--
qCUp7Nld-9I/edit?usp=sharing

Below are Base AP, AP from Passives, and total AP formatted as ‘AP (Passives) Total’ for each
class at level 63:
● 63 Archer: 53 (12) total 65
● 63 Berserker: 53 (0) total 53
● 63 Corsair: 53 (12, 17 in succ) total 65, 70
● 63 Dark Knight: 53 (0, 9 in succ) total 53, 62
● 63 Drakania: 53 (12) total 65
● 63 Guardian: 53 (12) total 65
● 63 Hashashin: 53 (20) total 73
● 63 Kunoichi: 53 (12, 17 in succ) total 65, 70
● 63 Lahn: 53 (0, 6 in succ) total 53, 59
● 63 Maegu: 53 (12, 19 in succ) total 65, 72
● 63 Maewah: 53 (12) total 65
● 63 Musa: 53 (12) total 65
● 63 Mystic: 53 (0) total 53
● 63 Ninja: 53 (12, 17 in succ) total 65, 70
● 63 Nova: 53 (0) total 53
● 63 Ranger: 53 (6 in Awak, 13 in succ) total 59, 66
● 63 Sage: 53 (20, 27 in succ) total 73, 80
● 63 Shai: 47 (0) total 47 (Lowest in the game)
● 63 Sorceress: 42 (5, 12 in succ) total 47, 54 (Tied with shai in awakening)
● 63 Striker: 53 (0) total 53
● 63 Tamer: 58 (5 in succ) total 58, 63
● 63 Valkyrie: 53 (0) total 53
● 63 Warrior: 53 (0) total 53
● 63 Witch: 53 (32, 36 in succ) total 85, 89
● 63 Wizard: 58 (32, 36 in succ) total 90, 94 (highest in the game at the moment)
● 63 Woosa: 53 (12) total 65

One might initially think that some of these APs are really low or that AP is distributed unfairly,
like Sorc having as much AP as Shai, or Wizard having more AP than Witch. However, these
values often balance out with passives and when you consider the next section, Character Dice.
For the above two examples, Shai has a vastly smaller Dice Roll than Sorc, and Wizard has a
smaller Dice Roll for his higher AP. Witch has lower AP but a larger Dice Roll, equating to both
higher & lower potential rolls than Wizard.

It’s worth noting most classes get some sort of sheet AP from level at 60, a hidden AP at 61,
nothing for 62, and a hidden AP at 63. However, not every class follows that path. If your base
stats differ from these, check your level, and if your base AP is lower, look at what level you get
your next hidden AP. Garmoth seems to at least accurately simulate AP from levels.
Regardless, this base AP will always show in your ‘My Stats’ window. None of this is ‘Hidden’ or
will prevent you from calculating expected damage.

Character Dice Rolls


Every class has a basic dice roll that is completely independent of Weapon Dice and character
AP. These dice create a small range of AP before all other AP calculations, even for your
unarmed ‘Punch’ attack.

Character Dice are divided up by AP Types, and thus every character actually has Melee AP
dice, Ranged AP dice, and Magic AP dice, even if their class does not actually use two of the
three dice types. Post-reboot, all class skills use the class’s AP type, with one exception. The
unarmed Punch always uses Melee dice, even on Magic & Ranged AP users.

You can test Melee dice for non-Melee classes by unequipping your weapon and using your
basic unarmed ‘Punch’ skill. The basic punch has been consistently measured as 100% x1 for
all classes tested so far and is the easiest way to determine any Melee character’s Character
Dice. For Magic & Ranged characters, it is generally necessary to know all other Weapon Dice
before the Character’s main Magic/Ranged Dice can be determined. Note that a non-Melee
class’s Base Melee AP will usually be different from their Magic/Ranged AP but will not show in
the ‘My Stats’ window. Non-dominant AP types are still hidden, as they are not expected to be
used for any skill.

Most classes default to either their old, pre-reboot values (see below) or a 1d1-1 (ie 0) for their
non-dominant damage types (eg Melee on a Sorc). This is a relic of pre-reboot classes and
particularly classes before Archer, where a class might have used two or even all three types of
AP in their skills.

Musa and Maewah are two of the easiest examples. On release, their sword skills used Melee
AP, and their Bow skills used Ranged AP. On release, Dark Knights used Melee AP for any
sword attacks that made contact with the enemy and Magic AP for skills like Lunacy and most of
the Awakening kit. Again, this skill-specific split no longer applies. Musa & Maewah now use
Melee AP for all skills, and DKs only use Magic AP.

Sometime in 2018, the character dice up through Mystic were revealed (pictured below), but the
dice values have demonstrably changed since Class Reboots.
This chart is no longer accurate, but it provides valuable insight into the original, pre-
reboot values. Some of the non-primary APs (eg Melee for Sorc) seem to still hold.

As part of the class reboot, most classes were normalized to a (1d9 - 5). Many of the original
modifiers ended up becoming a character’s Base AP. Striker used to be 2d5+46 (52 base AP +
(2d5 - 6)) but is now toned down to the same, more standardized (1d9 - 5).

All known Character Dice (through Maegu) are 1d9 - 5, except for the below classes:
● Hashashin (Magic)*: 2d5 - 6
● Shai (Melee): 1d5 - 3
● Tamer (Magic): 1d5 - 3
● Wizard (Magic): 1d5 - 3

* Note that Hashashin could still be 1d9 - 5, but based on extensive testing, his damage rolls
still look like they were caused by 2 dice instead of 1. (1d9 - 5) and (2d5 - 6) generate the exact
same damage range, but (1d9 - 5) is evenly distributed (all values are equally likely) and (2d5 -
6) observes more rolls clustered around the middle (much as 2d6 are most likely to roll a total of
7 in the board game ‘Monopoly’).
Weapon Dice Rolls

Overview
Most if not all weapons in the game also have Weapon Dice. This is actually visible to you on
the weapon’s stat screen, and it’s usually fairly easy to tell what the ranges are, with some rare
exceptions. Weapon Dice stack with Character Dice instead of replacing them. Both rolls and
offsets are added together and the total applies directly to your AP Roll for each attack.

Example:
Total AP: 100
Character die (Striker): 1d9 - 5
Weapon die (Azwell): 1d5 - 3
Combined dice: 1d9 + 1d5 - 8
Min roll = 100 + 1 + 1 - 8 = 94
Max roll = 100 + 9 + 5 - 8 = 106
Every attack this character makes will vary between 94 & 106 AP.

Unlike your character dice, the weapon dice also have a Median (the middle number in a set of
sorted numbers, for those out of practice). The Median AP of a Weapon is used for Sheet AP.
Likewise, the listed AP stat on your My Stats pane uses the Median AP of your weapons, but
damage calculations still roll the entire range. This means any given attack with a weapon can
swing high OR low, depending on your luck.

Offsets are usually, but not always, half of the roll range (eg 1d10 - 5). For odd-valued dice, the
offset is 1 higher. 1d4 - 2, 1d5 - 3, and 1d6 - 3 would all be fairly common die values.
Main Hand Weapons
Main hand weapons are among the lowest variance in your damage (often a 1d5 - 3 for +/- 2),
and add a dice roll & offset whenever you use Succession or Main Kit skills. Mainhand
Weapons generally provide dice that match their displayed damage range. The range does not
change with enhancement level, but reforming the weapon (eg ‘Ultimate’ reform stones) can
affect range and thus weapon dice. We list all verified weapon dice below in the format ‘Weapon
(Tooltip range): Die - Offset’:

● Azwell (eg 120-124): 1d5 - 3


● Blackstar (eg 22-28) & Godr-Ayed* (eg 122-128): 1d7 - 4
● Kalis (eg 13-27): 1d15 - 8
● Krea (eg 17-19): 1d3 - 2
● Kzarka (eg 18-22): 1d5 - 3
● Offin (eg 136-138): 1d3 - 2
● Starter Weapons, ie Rusty/Old (eg 6-10): 1d5 - 3
● Ultimate Ain (eg 116-124): 1d9 - 5
● Ultimate Yuria (eg 122-131): 1d10 - 5
*Theorized but not explicitly tested

Additional contributions are welcome! See ‘Testing Weapon Dice’ for more info.

Note that ‘Ult’-ing green weapons tends to increase weapon dice, adding more randomness to
the hit. Regular Azwell weapons are exceptional for testing due to no species damage, a small
1d5 range, and identical weapon dice to the ‘Old’ (starter) weapons for low damage testing.
They also have immunity to the (non-existent) Rain debuff, if PA ever decides to actually
implement it. For an even tighter range, Krea weapons are 1d3 for +/- 1, but you lose the ‘Old’
weapon die match for ultra-low AP testing.

Awakening Weapons
Awakening weapons comparatively have VERY high variance. Nearly all of them roll +/- 5 AP or
+/- 6 AP above/below the Median AP, and some roll even wider ranges. These mainly roll when
using Awakening skills, though Prime skills are also slightly impacted.

Blackstar, Godr-Ayed & Narchillan: 1d12 - 6


All other tested Awakening Weapons (including Dandelion): 1d10 - 5

The 70/30 split actually also applies to dice. This is every bit as complicated as it sounds and
will have a dedicated section explaining how it works. This is why Prime skills also acquire a
little bit (30%) of the Awakening Weapon die.
Subweapons
Subweapons actually have no variance at all, despite what their tooltip may say. Instead, they
have a negative offset that remains completely static no matter what you do and invisibly reduce
the Total AP roll by a small amount of AP without anything you can do about it. However,
weapon offsets are also not uniform. They seem intentionally added and seem to act the way
they do on purpose. Much like Weapon & Character dice offsets, Subweapon offsets are not
indicated in the My Stats menu. It is entirely possible that the missing Subweapon dice are a
bug.
● No Subweapon (empty offhand) has no impact on your AP (+/- 0).
● Kutum, Nouver, and Rosar cause a hidden -2 loss on your AP.
● Oros causes a hidden -1 loss on your AP.

While the average of these ranges is treated as sheet AP, there is no corresponding ‘Offhand
Die’. Rosar has 4 possible APs it can roll, Kutum and Nouver have 3, and Oros only has 1
possible AP. Instead of getting actual dice, we simply get negative AP offsets. Again, these
offsets are not shown in the ‘My Stats’ window. They are true ‘Hidden’ (negative) AP.

Astute readers may note that offhand offsets still look very similar to the standard weapon die
offset formula:
● Look at the sheet AP range on the weapon
● If even, the offset should be half the range (eg 1d4 --> a -2 offset)
● If odd, add 1 to the even offset (eg 1d5 --> a -3 offset)

Most offhands still appear to follow this offset rule, further bolstering the idea that the missing
‘offhand die’ is just a bug. The lost AP is so low that nobody, including PA, should realistically
notice it unless doing detailed weapon damage testing.

Known offhand offsets:


● No subweapon: 0 (no change)
● Accuracy Offhand (eg Saiyer, 1-3): -2
● AP Offhand (eg Oros, 6-6): -1
● Blackstar*(eg 5-7) / Godr-Ayed (eg 31-33): -2
● DR Offhands (eg Theos, no AP): 0 (no change)
● Kutum (eg 4-6): -2
● Krea (eg 1-3): -2
● Nouver (eg 6-8): -2
● Rosar (eg 1-4): -2
● Starter Weapons, ie Rusty/Old (eg 1-1): -1
*Theorized but not explicitly tested
The Incredibly Stupid, Confusing, and Needlessly
Complex World of Awakening & Prime Skill Damage
So by now, you’re probably noticing we’ve danced around the topic of Awakening and Prime
Skill damage. There is a very good reason for this.

When rolling Awakening Damage, the 70/30 split applies not only to both your weapon APs
(which already aren’t listed alone on your My Stats page but rather are bundled into ‘Gear
(Base)’) but also to the rolled dice value of your weapon, entirely separately from your weapon
AP. We’ll start by giving the formula directly, then explaining the implications in more detail.

True Awakening AP =

True Succession AP =

Looking at these formulas at a surface level, they aren’t so terrible, but both introduce one
specific, key difference from the damage formula for Absolute Skills: Fractional AP.

How do Fractional Dice Work?


For all below examples, consider the die on the left to be ‘Die A’ and the die on the right to be
‘Die B’.
Usually, combining two dice rolls is easy. We add the results together! Suppose you roll a 3 on
Die ‘A’ and a 4 on Die ‘B’ for a total of 7:

Likewise, rolling a 4 on Die ‘A’ and a 3 on Die ‘B’ also gives a total of 7. We actually have many
different ways to get a total of 7 (6+1, 5+2, 4+3, etc)!
But what if we weight the values of these dice 70/30, like in BDO? What happens to these two
identical rolls?

4 + 3 (3.7) is no longer the same as 3 + 4 (3.3)! Rolls that were previously identical now produce
new, fractional values. In fact, there are now no 2 combinations of Dies ‘A’ & ‘B’ that produce
the same value. Originally, 2d6 only had 11 unique values. Now, all 36 combinations are
unique!

For larger dice, there are some combinations that are still equal, eg (3, 7) and (7, 3). However,
we see a much wider range of possible values.

Fractional AP
BDO doesn’t truncate fractional AP values until the final step of damage calculation. Until then,
fractional AP is very possible, and the 70/30 split provides a way to generate quite a bit of it.
When you roll damage for Pre-Awakening/Absolute skills, your dice/roll range is usually fairly
comparable to your number of possible damage values. Prime/Awakening skills mix this up,
opening up many more possible damage values via Fractional AP.

Just like our 2d6’s above, once you apply the 70/30 split, the possible values are increased by
many times, so simple damage rolls with 6-8 values can suddenly start showing 50+ values.
As an example, let’s take a 100% Absolute vs Awakening Skill and a 1000% Absolute vs
Awakening Skill. Suppose the smallest possible Weapon Dice combination: Krea mainhand
(1d3) and Dandelion awakening (1d10). Let’s also assume the smallest character die of 1d5
(Tamer/Wizard/Shai).

For this example, our dice can roll 3-18. For our 100% Absolute Skill, damage at low AP might
come out to 3, 4, 5, … all the way up to 18 damage. Simple as.

When you scale that up to the 1000% Absolute Skill, your roll range doesn’t change, only the
final damage does. So you get 30, 40, 50, …, up to 180. Makes sense, right?

But now, if you read through the Awakening and Prime formula, you’ll probably notice that
almost every value between 3, 4, 5, 6, and so on is possible for the base roll. Likewise, for our
Awakening Absolute, almost every value between 30, 40, 50, and 60 is now possible because
almost every combination of dice generates a unique value due to the 70/30 split.

Applying .7 and .3 modifiers to your weapon dice before adding them fills in most of the missing
gaps in your final damage numbers. If you test our 1000% Awakening Skill, you’d immediately
notice that your range of damage rolls is suddenly batshit crazy compared to the nice, tame
1000% Absolute.

At lower AP values and skill percents, this increased gap-filling between damage numbers
manifests as a normally expected distribution (eg 3, 4, 5, 6, 7). It only consistently appears once
you hit 10x multipliers and above, and you’ll even start to notice gaps in the numbers at ultra-
high skill percents (eg 1500%+), especially at the very low & very high ends of the damage
range.

The worst part is, this complexity doesn’t increase damage at all. It only fills in values between
the normally-observable damage values. All of this work doesn’t result in any significant change
to your Min or Max value, nor is there honestly a real good reason for all this extra math the
game is doing. You still have almost the same exact range as before, it’s just more finely
distributed.

Damage calculations, however, will be wildly off if you don’t account for this mechanic. Without
calculating the fractional 70/30 AP values for both dice, the min & max damage values for a skill
are almost impossible to estimate, because it’s not using your Awakening Die or your Mainhand
Die. It’s using a strange mix of both that generates a shorter range for Awakening skills, a larger
range for Prime skills, and way too many values in between to allow clean measurements.
Averages, at least, are still reliable even without this mechanic.

Integer Mathematics
It may seem overly obvious to say, but BDO was written by software developers. This means
that we can assume they generally think like software developers and follow well-established
development practices for both code performance and scalability. While approaching this
project, we actively kept in mind a concept of ‘How would most software developers have
implemented this?’.

For anyone unfamiliar, ‘floating-point’ values refer to values with a decimal point, eg ‘1.1’ or
‘0.345’. With integers, there are a finite number of values between, say, 0 and 255. These can
be represented with 8 bits (0’s or 1’s) in binary form, the machine’s native language. However
for real numbers, there are infinitely many numbers just between 0 and 1, so computers are
forced to adopt a new way of representing decimals. A fixed number of bits is used to
approximate the decimal you want. Most ‘floats’ are 4 bytes, and there are double-precision
‘doubles’ that are 8 bytes, allowing for increased precision. Due to the special form this data
takes, the normal CPU circuits for integer addition/subtraction/multiplication/division cannot be
used. Dedicated floating point units in the CPU (‘FPUs’) are usually much slower for basic
mathematical operations.

While modern CPUs have gotten much better at floating point operations, integer operations are
historically much faster. Most software developers are trained to use integer math instead of
floating point when performance is required. Thus from a pure performance perspective, we
assumed that all calculations in BDO are likely done with 64-bit integers, the common word-size
for modern machines and tailored our formulas to follow this. The results were excellent: we
were able to exactly replicate BDO damage numbers via our own calculator, strongly supporting
that BDO uses integer calculations internally. Calculations with floating point numbers can vary
by 1-2 damage, depending on rounding/truncation error.

Additionally, integer division is the most expensive operation (consumes the most CPU cycles),
so we assumed divisions were minimized. If possible, all values should be multiplied together
with a single division at the end.
Eliminating Floating Point Values
Lots of BDO’s values are clearly decimals. We have skill percentages, AP cap multipliers, and
even the 5% rule. So how can all of this be done with integers?

Let’s start by looking at BDO’s base damage (below DR) formula for Punch (100%x1):

Instead of multiplying AP (an integer value) by 0.05 (a floating point value), we can treat the
float as a fraction: 1/20. A proper integer expression would be:

In this case, this is optimal, as we’ve exchanged one floating point multiplication for one integer
division.

It gets more complicated for skill percents. Let’s consider a skill with 368% damage:

3.68 can’t be easily changed into a fraction like 0.05 could, but we can still represent it as a
simple improper fraction: 368/100. With this, our formula becomes:

This is a clean integer operation, but we now have a problem. We’re doing two divisions, which
is the most expensive operation. However, we can reduce this down to 1 by making a few
assumptions:
● There will be a skill percent in every calculation, so we’ll always need to divide by 100
● We always divide by 20 below DR (0.05 is a constant)

Since we know these two things are always true, it’s safe to combine our two division into one
within the code:

Again, this is a big improvement, since we’re back to one division. We can also simply pass in
the straight skill percent, rather than converting it to ‘3.68’ first. This is both easy and very fast,
but there’s still one more problem. As the formula gets more complicated, it can be difficult to
keep track of all of your values. If your divisor is 230000 (eg 2 * 368 * 7 / 23000) and you have
to change something (say, for a new mechanic), how do you keep the formula clean?

The easiest answer is to keep your denominator as a fixed power of some number: usually
either 2 or 10. 2 is the most efficient because there are special operations called ‘shifts’ that the
CPU can use for division and multiplication by 2. However, humans tend to learn base-10
growing up, so fixed powers of 10 are much easier for us to read. A clean and performant
formula would look like this:

In this case, we converted 0.05 to 5 / 100 and 368% to 368/100. Since these are constants, we
unify the denominator into 10000 (100*100). This creates a formula where we clearly see all of
the input values, and we can easily check if the denominator is correct by combining all of our
powers of 10 used for adjustment. The only cost is one additional integer multiplication, which is
still pretty fast (much faster than division).

This might seem like overkill, but it becomes very important when dealing with complex formulas
like the above-Cap formula in order to keep them readable but performant.

Using these higher powers of 10 also allows Fractional AP (for Awakening & Prime skills) to
exist while still using integers, as 0.7 is just 7/10 and 0.3 is just 3/10. Fractional AP works just
fine if we likewise boost up all AP by 10, then divide by 10 at the end. Alternatively, it’s
completely possible that PA uses floating point numbers for AP. We’ve seen several rare
truncation issues where a value is exactly one less than expected that would suggest floating
point error.

Floor Division
We’ve already discussed that integer division is slow, but there’s one more quirk. In most
programming languages, (integer) / (integer) does not give a float; it gives another integer.
Integer division throws away the remainder (eg 10/3 = 3, not 3.333). This behavior is called
‘truncation’, and division that performs truncation is called ‘floor division’.

BDO probably uses floor division for its damage values rather than rounding. If we calculate our
potential damage to be 248.6, BDO will always show a damage of 248. This is easiest to see
when you are far below monster DR. While below DR, the damage for Punch (100%x1) will step
up 1 for every 20 AP, but you won’t see any improvements in between.

Floor division is generally represented as ‘//’ rather than ‘/’, as some languages like Python 3.x
actually auto-convert to float on division. ‘//’ explicitly states that floor division is intended.

Most BDO damage formulas are a chain of multiplications, followed by a single floor division at
the end.
Random Rolls
It is actually a very challenging problem for computers to generate good ‘random’ numbers.
Unlike true-random events like a coin flip or dice roll (which can still be biased), computers must
generally use an algorithm to try and generate seemingly-random numbers. These generators
are referred to as pseudo-random number generators, or PRNGs.

There are many different algorithms for PRNGs, and it is completely unknown which one BDO
uses. Behavior of a program with random rolls can change drastically depending on the PRNG
algorithm, especially a bad one. However, random rolls are very common in most game
programming, so there are already some standardized libraries available. Regardless of
whether BDO actually uses a specific library, these can let us simulate BDO’s random rolls. We
use Python’s ‘random’ library for our testing, which uses an algorithm called the ‘Mersenne
Twister’ underneath.

Most PRNG libraries contain at least these two methods:


● rand() - returns a random double-precision float from 0-1
● randint(min, max) - returns a random integer between min & max
○ Sometimes max is included in the return range, sometimes it’s not.
○ All of our examples assume that ‘max’ is a valid random roll

Example for 10 random rolls from 1-10 in Python:


>>> from random import randint
>>> for i in range(10):
... print(randint(1, 10))
...
8
4
5
5
6
10
2
7
7
2

From our testing, BDO always appears to use random integer rolls (eg randint). This occurs for:
● Character Dice
● Weapon Dice
● Species ‘AP’ (the AP equivalent resulting from a species damage roll)

Species AP is simply calculated as:


species_roll = randint(7 * species_damage // 10, species_damage)
This means Species AP will take an integer value between a floor-division 0.7*species_ap up to
and including the full Species AP value.

Dice rolls (eg 1d5) are calculated as:


randint(1, 5)

For multiple dice rolls (eg 1d5 + 2d3), each die is rolled separately and then added together:
randint(1, 5) + randint(1, 3) + randint(1, 3)

Some useful Testing Grind spots:


Khalk Canyon in Dreighan:
Known to date, Khalk Canyon is the only grind spot in the entire game that does not appear to
have any form of an AP softcap. The monsters have 35 DR, and Break at 37 AP.
For Any form of low to high testing on raw damage, Khalk is probably the best place to go, and
if you just wanna see big, fat, fucking numbers.

Waragons:
Waragons have no DR. Like, at all. 0. Their AP softcap comes at around 250 AP, and the
softcap ratio is a nice, even, 0.5. You can do reasonably good under softcap damage testing
here, and it’s probably the best place to visibly see your damage gain per point shift, for those
working on lower gear and optimizing for low AP testing. It’s also really great for finding out
Character Dice, since pretty much everything will do full damage and you can get an easy grip
on your variance.

Mirumoks:
Okay, so mirus doesn’t really offer any particularly special advantages, but there is a Voraro
there, right next to Main Rotation, across the road from the far stump on the right, that we have
named Finn. He is the best Voraro there ever was, and he helped figure a lot of early math out.

Some additional useful spots and their benefits are listed here.
Show me the REAL damage formulae
Let roll() be an expression to convert dice expressions (eg ‘2d5’) into proper randint() rolls.
a += b is a programming shorthand meaning ‘a = a + b’. Similarly, a -= b means ‘a = a - b’ and a*=b means ‘a = a * b’.

ap_roll = raw_ap # start with our base AP (already includes monster_ap, if relevant)
ap_roll += roll(character_dice) - character_dice_offset # apply character dice
ap_roll -= subweapon_dice_offset # apply subweapon offset (no dice)

if awakening_skill:
if mainhand_weapon is null: # no mainhand weapon equipped
raise SkillError(“This skill is currently unavailable”)
ap_roll -= awakening_weapon_ap
ap_roll += 0.7*(awakening_weapon_ap + roll(awakening_die) - awakening_die_offset)
ap_roll += 0.3*(mainhand_weapon_ap + roll(mainhand_die) - mainhand_die_offset)
else if prime_skill and character_can_awaken:
ap_roll -= mainhand_weapon_ap
if awakening_weapon: # no awakening weapon equipped
ap_roll += 0.7*(mainhand_weapon_ap + roll(mainhand_die) - mainhand_die_offset)
ap_roll += 0.3*(awakening_weapon_ap + roll(awakening_die) - awakening_die_offset)
else:
ap_roll += roll(weapon_dice) - weapon_dice_offset # apply weapon dice

species_ap_roll = randint(7 * species_damage // 10, species_damage) # compute species ap

overcap_ap = ap_roll - ap_cap # figure out how much AP is over the AP cap
if overcap_ap > 0:
ap_roll = ap_cap # reduce our AP roll by the amount over cap
else:
overcap_ap = 0

special_atk_multiplier = 1.0
if critical_hit:
# Assume ‘bonus_crit_dmg’ and other bonuses are already 0.03 for 3%, etc
special_attack_multiplier *= 2.0 + bonus_crit_dmg + bonus_special_atk_dmg

if down_attack:
special_atk_multiplier *= 1.5 + bonus_down_atk_dmg + bonus_special_atk_dmg
elif air_attack:
special_atk_multiplier *= 2.0 + bonus_air_atk_dmg + bonus_special_atk_dmg
elif counter_attack:
special_atk_multiplier *= 2.0 + bonus_ctr_atk_dmg + bonus_special_atk_dmg
elif speed_attack:
special_atk_multiplier *= 1.5 + bonus_speed_atk_dmg + bonus_special_atk_dmg
elif back_attack:
special_atk_multiplier *= 1.5 + bonus_back_atk_dmg + bonus_special_atk_dmg

eap_damage = ap_value - enemy_dr + species_ap_roll


# This check is equivalent to eap_damage < 0.05 * ap_value
# but is faster with no floating point issues
if 20 * eap_damage < ap_value:
# Use the base damage formula and just end here
final_damage = 5 * ap_roll * skill_percent * special_atk_multiplier // 10000
else: # use the above-DR formula
# There are ways to treat ap_cap_multiplier as an integer for use with a single final
division
# but there’s complexity that we won’t explain here. A float is nearly always good enough.
unscaled_damage = eap_damage + ap_cap_multiplier * overcap_ap
final_damage = unscaled_damage * skill_percent * special_atk_multiplier // 100
Appendix 1 - Testing Procedures
Global Labs vs Live Servers
There appears to be no significant difference between any damage on Global Labs and Live
servers. We confirmed this on NA servers via a series of tests, 3 of which are documented
below.

Killing a Senior Soldier on NA vs Global


We killed a Cron Castle Senior Soldier on both Global Labs and NA Servers with a 62 AP Shai.
Gear and AP values were identical, with 0% critical hit rate. 10+ mobs were killed on each
client.

The Cron Castle Senior Soldier (external link) has 264 HP. On Global Labs, observed damage
with 62 AP ranged from 13-17 (avg 15). On average, a kill should happen in 17.6 hits.

Average Attacks to Kill


Expected average for 61 AP: 18.86
Expected average for 62 AP: 17.60
Expected average for 63 AP: 16.50
Global: 18.00
NA: 17.54

Both NA servers and Global Labs appear very similar for PvE damage, within 1 AP of accuracy.

Getting hit by a Centaurus Seeker on NA vs Global


Centaurus Seekers seem to have less damage variance than other mobs and are ideal for EvP
damage testing. We recorded damage dealt by a Centaurus Seeker vs a 30 DR Shai on both
Global Labs & NA Servers. 20-30 hits were recorded on each client for the Centaur’s Swipe
Attack and 5-10 hits were recorded for its Stab Attack.

Average Damage Taken


Attack Global Labs NA Server

Swipe 333.3 331.3

Stab 550.5 556.0


Observed Damage Ranges
Attack Global Labs NA Server

Swipe 314-368 318-345

Stab 530-575 530-570

Damage varied by ~40-45 points but averages varied by only 2-6 points, with neither Global nor
NA clearly higher or lower across both mob skills. This data strongly suggests that mobs do the
same damage on Global vs Live servers vs the same DR.

Basic PvP Damage Test on NA vs Global


To test PvP damage, we had two Trial Shais punch each other on both Global Labs and NA
Servers. A 157 AP Attacker (no Human damage) hit a 25 DR defender. 50+ hits were recorded
on each client.

Average Damage
Global: 3.70 damage per hit
NA: 3.79 damage per hit

Only 3 & 4 damage hits were observed. This test is not conclusive without:
● Also evaluating the impact of +/- 1 AP
● Higher damage number testing (eg properly-scaled skills)

However, at glance, PvP Damage appears to be very similar, if not exactly the same on NA vs
Global Labs.
Enabling Damage Numbers
Global labs offers the ability to view damage numbers (much like other conventional
MMOs/RPGs). This feature is not available in the vanilla game (live servers), but to enable them
in Global Labs, go to:
● General Settings
● Show/Hide
● Show Damage Stats

To actually see damage numbers, you must have at least C-Rank Knowledge on any
monster:

Testing Checklist
We strongly recommend doing the following when testing:
● Only test damage with Punch or Mainhand skills (never Awakening/Prime unless you’re
testing Awakening/Succession damage)
○ Awakening/Prime skills add a complicated random roll
● Avoid species damage entirely (especially All-Species). Zero-Species Weapons are your
friends.
○ Kzarka/Blackstar/Offin/Dande are not your friends
○ Base Dande & Blackstar Awakening weapons do not have Species Damage.
○ Katan/Ultimate Katan weapons from the Valencia questline are ideal for your
Awakening weapon. Global Labs also has Kydict weapons available.
○ It can still be useful to use gear with inapplicable Species Damage (eg Narcs
against Humans or Blue Awakening Weapons vs Kama mobs).
● Use a low-dice Mainhand Weapon (unless testing weapon dice)
○ Krea weapons (1d3, no species) are available from Tulem in Altinova
○ Azwell weapons (1d5, no species) are available from Alfredo in Velia
● Be very careful of your choice of offhand. It can change your AP.
○ Try to never test both with and without an offhand in the same data set.
○ If you use an offhand, be sure to apply the negative offset for any values
collected with it.
● Consider testing on Shai/Wizard/Tamer for a lower 1d5 Character Die
○ Shai is the only Melee user of these 3, enabling reliable use of Punch
● Do not use skill addons when testing unless absolutely required for your testing
○ Put AP buff addons on dedicated skills to avoid accidentally using them
● Be careful about any meals/buffs/alch stones running. Always check your ‘My Stats’
menu for AP!
● Consider recording your testing sessions (eg with OBS or ShadowPlay) so you can play
them back.
○ Sometimes damage numbers overlap in weird ways. Frame-by-frame playback is
a lifesaver.
○ If you can’t read a number and/or aren’t 100% sure, don’t record it.
● There are lots of sources of stackable AP when doing ultra-high AP testing. Don’t forget:
○ Addons, Meals, Elixirs, Perfumes, Villa Buff, Church Buff, Alch Stone, Krogdalo
Buff, Typed AP Enhancers (Melee/Ranged/Magic), Crystals,
Artifacts/Lightstones, Furniture Buffs (eg Kamel Statue), etc
Unarmed Combat: The Surprisingly Useful ‘Punch’
We heavily leverage the unarmed ‘Punch’ skill for both spotbreaking and character dice testing.
To use it, remove your mainhand weapon and simply perform the only attack left to you (LMB
on PC). Your character will throw out a basic punch.

We have validated this ‘Punch’ to be a 100% x1 skill, even if there is no tooltip. It allows:
● Reaching much lower APs, by avoiding a weapon entirely
● Much lower damage variance, due to avoiding a Character Die

However, Punch uses Melee AP even for Magic & Ranged characters. Be careful to use a
Melee character if you’re testing Punch. The Melee AP of Magic & Ranged characters may
differ from their primary AP, and only their primary AP type shows in the ‘My Stats’ window.

Some characters have their punch overridden to another skill (Ranger’s unarmed attack is
actually her ‘Round Kick’ skill). Some characters also have a 10-15% Critical Hit Rate added on
their punch (eg Warrior).

Is it safe to use Punch for testing?


Yes, Punch has proven very reliable for Melee characters across a wide variety of tests.

If you’d like to confirm for yourself that Punch is 100%x1, follow these steps:
● Select a Melee character
○ Reminder: Magic/Ranged characters may have different base Melee AP when
using Punch from what is shown under ‘My Stats’!
● Select a testing spot with known DR
● Equip yourself with AP over monsters’ DR but under AP Cap. If you don’t have DR/Cap
info handy, try one of our recommended no-cap spots (Gray Foxes or Khalks)
● Select one fixed AP
● Select 2-3 other Mainhand (Pre-Awakening) skills
● Evaluate damage for each skill against a monster with your fixed AP
○ For Punch, you will need to add additional gear to match the same Total AP you
had with a weapon
● Divide observed damage by the skill%
○ Use 100% as the percent for Punch
● Unscaled damage (once you remove the skill percent) should be the same for all skills
○ If not, 1+ of the selected skills is not the percent it claims.
○ We have repeatedly validated punch as 100%
WARNING: Punch is the only skill in the game still affected by the Rain debuff. During and
for ~10 min after Rain, Punch will only deal 50% damage, regardless of your AP. Be careful
when testing with Punch!
Spotbreaking (AP/DR/AP Cap)
‘Spotbreaking’ is the process of identifying the DR, AP Cap, AP Cap Multiplier, and Species
Type for monsters in a grindspot in order to build ideal gearsets that min-max damage.

Based on the damage formulas presented in this doc, we can break damage down into 3
ranges:
● Below DR (damage = 5% of AP times skill%)
● Above DR but below AP Cap (damage = (AP - DR) * skill%)
● Above AP Cap (all additional AP is reduced by some multiplier)

These can be reduced to finding 3 lines in observed damage:


● A (0.05*skill%) slope line below DR
● A (skill%) slope line above DR, where AP counts 1:1
● A lower slope line (usually ~0.7*skill%) above AP Cap

These 3 lines can be visualized like this:

To ‘spotbreak’, all we’re really doing is finding these 3 lines, the points where they intersect, and
the slope of the final ‘AP Cap’ line. At a bare minimum, we need:
● 2 measurements that are definitely below DR
● 2 measurements that are definitely above AP Cap
● 2 measurements that are above DR but below AP Cap
● More measurements are recommended as they will lead to more accurate final values.
Recording Min/Max Damage
If you’re in a hurry, you can always record all values and compute an average. You’ll get decent
numbers. However, the rolls from character & weapon dice obviously cause some variance in
damage. We can completely remove this if we know the dice!

We do this by recording only the highest & lowest damage values observed for each AP. As an
example:
● Suppose we are testing with 100 AP vs a mob with unknown DR
○ Suppose that we don’t know this, but the mob has 50 DR
● Suppose we’re testing with a Shai using a Krea Florang
○ (1d5 - 3) character die + (1d3 - 2) weapon die
○ Min roll 1 - 3 + 1 - 2 = AP - 3
○ Max roll = 5 - 3 + 3 - 2 = AP + 3
● We know we should see 7 possible values, since the dice can roll AP +/- 3
● Suppose we see these exact 7 values for a (theoretical) 500% skill:
○ 235, 240, 245, 250, 255, 260, 265

Regardless of how often any value shows up (and min/max will be rarer), we would only record:
Min = 235
Max = 265

We then know that a minimum roll of our Character & Weapon dice gives 234 damage, and a
maximum roll gives 254. Instead of recording a value for our 100 AP, we would record two
values:
97 AP = 235 damage
103 AP = 265 damage

If desired, you could work out the other dice values, but we’ve found min/max is nearly always
enough. This completely removes the effects of dice! These values can be graphed together on
the same chart.

Finding the DR
Damage below DR will be noticeably low: often just a few consecutive values (like 65, 66, 67).
Gather 2-3 of these values, starting very low and moving upward.

When you find the DR breakpoint, your values will immediately jump up to be much higher.
Right at the DR breakpoint, you will often see low rolls still showing below-DR damage. This
makes it very clear that you’re close. By using the min-max method, you can still get valid data
points from these split rolls (1 will be above DR, and 1 will be below).

You can home in on this DR breakpoint more exactly, but Character/Weapon die rolls can make
this difficult to measure. Even the lowest die combination (1d5 char + 1d3 weapon), can roll 7
different damage values! To get a more exact damage value, we’ll calculate the intersection of 2
lines.

Collect a few measurements above DR. You should see your damage go up by exactly your
skill% for each point of AP (eg 1 point of AP for a 500% skill should show as a 5-damage
increase). If it goes up by less than this, you may be above the AP cap. Set aside this
measurement for now, and decrease your AP a little.

You now have enough to plot your 2 lines (below DR & above DR). Their intersection is the DR
Breakpoint (it is NOT the DR). We recommend using computer software (eg Excel or any
number of statistics programs) to compute the least-squares line for Above-DR and Below-DR.
2 points can be slightly inaccurate due to rounding errors. If writing your own software, a Theil-
Sen estimator is exceedingly good for this too.

You should have 2 lines:

Below DR Damage = slope_below * AP + offset_below


Above DR Damage = slope_above * AP + offset_above

Notice that slope_below should be 0.05*skill_percent (eg 0.25 for our 500% example). If not,
check your measurements. Likewise, slope_above should be skill_percent (eg 5.0 for our 500%
example).

Your DR Breakpoint is the AP at which these lines intersect. We don’t have to adjust for your
skill percent:

This AP is the DR Breakpoint. We can get the actual DR via the formula from this doc:
DR = (DR Breakpoint) / 0.95
Finding the AP Cap
AP Caps are less pronounced. Keep increasing your AP until you observe a lower-than
expected damage and/or a reduced range of rolls. The difference between observed min & max
rolls should reduce above the AP Cap.

We’ll assume a standard 70% AP Cap Multiplier (the most common, eg 30% damage reduction
above cap) along with our 500% skill. Assume that at 250 AP, we see these damage values:
910, 915, 920, 925, 930, 935

We should already know the DR from an earlier step, so we should notice two things:
● Damage should be around 1000. These values are lower, so probably over-cap
● We only see 6 unique values instead of 7, no matter how hard we try.

Once you’re 100% sure you’re over cap (if in doubt, just ook harder and stack more AP), collect
a few data points. The slope of this line will be (AP Cap Multiplier)*skill%.

Just like DR, we can find the exact AP Cap by setting the Above-Cap line equal to the Above-
DR line to find the intersection:

No additional modifications are necessary. This AP is the AP Cap. ‘slope_above_cap’ is your


AP Cap Multiplier.

As a reminder:
● Most normal grindspots will have an AP Cap Multiplier of 70% (0.7)
● Most Elvia grindspots will have an AP Cap Multiplier of 5% (0.05)
● Hardcap spots will have an AP Cap Multiplier of 0
Special Testing Spots
Any spot can be a viable testing location for most things if you can easily get:
● Above monsters’ DR
● Below monsters’ AP cap

However, you may not always have DR & AP Cap info, and some spots are more convenient by
design. Below are some of our favorite testing for general game mechanics. More details on
Khalks/Waragons/Mirumoks can be found here.
● Gray Foxes (27 DR) or Gray Wolves (31 DR)
○ Just outside of the Ancient Stone Chamber
○ No observed AP Caps
○ Ideal for testing freshly-created character dies without having to gear up
● Sausans (190 DR) & Fadus (160 DR)
○ Highest-DR hardcap spots. Ideal for testing species damage.
○ Hardcaps can be useful for all sorts of damage/die testing too.
● Khalk Canyon (35 DR)
○ No AP Cap + Massive HP pool.
○ Best test of raw DPS we’ve found in the game, regardless of AP
● Waragons (0/1 DR)
○ Waragons effectively have no DR (the only mob we’ve found with this distinction)
○ Beware of the unusual 0.5 AP Cap
● Elvia Nagas/Fogans (453 DR)
○ One of the few mid/high end spots near(ish) Velia
● Mirumoks (333 DR)
○ A very reliable mid-tier spot for all forms of testing with an easy-to-remember DR
○ Easy to pull & reset Finn, our favorite Voraro, for single-target testing
Dice Testing
Determining Character Dice
The best way to determine character dice varies by the character’s AP type. It is easier to find
the dice of Melee characters and slightly more complicated for Magic/Ranged characters.

For Melee Characters


When testing character dice, Punch is by far the most effective method of testing, as it is a
100% x1 skill and avoids dealing with a weapon die entirely.
● Select a mob with known DR & AP Cap
○ We recommend Gray Foxes (27 DR, no cap)
● Set your AP ~20 points above monsters’ DR
○ All dice rolls must be above DR and under AP Cap
● Punch the enemy monster & record all observed rolls
● The number of unique values is the character die!
○ 9 unique values would be a 1d9
● Multiple dice can be derived from the distribution of values
○ Hashashin is the only character that still appears to use multiple character dice
(vs 1d9 or 1d5), but this needs additional validation.

The distribution of possible values for a Punch allow us to determine the exact number of dice.
1d5 - 3 & 2d3 - 4 have identical ranges (+/-2). However the distribution of numbers over a large
sample can tell you which set of dice a character runs. For a 1d5, all observed values will be
equally likely (eg you would see similar counts of 10, 11, 12, 13, & 14 damage). For a 2d3,
values will be grouped around the middle values (eg 12 will be the most common value, and
11/13 will be more common than 10/14).

For Magic/Ranged Characters


The Punch method is not viable for non-Melee characters, as their non-Melee AP & dice can
differ (proven on Sorc). It’s far better to determine Weapon Dice on a Melee character (and/or
use a known weapon), then evaluate the range difference with the same weapon type for
Magic/Ranged AP users.

Use a low-roll weapon like Krea (1d3) and otherwise follow the same instructions for Melee
Dice. The character die will be the number of observed values minus the Weapon Die (-3 for
Krea). If you observe 12 possible values with Krea, you have a 1d9. It may take some time to
observe the min/max values, as both dice must roll min/max respectively.

When dealing with weapon dice for Magic/Ranged AP users, very large sample sizes may be
needed to tell the difference in number of dice (eg 1d5 vs 2d3), but even if you measure
incorrectly, the max/min damage calculations will work. Only average values will differ slightly
between something like (1d5 - 3) & (2d3 - 4).

You can figure out the exact dice by comparing the distribution of observed values to the
theoretical distribution. We strongly recommend using a tool like https://anydice.com/ (external
link) to visualize dice distributions.

If you test a 1d5 character with Krea (1d3), the distribution of possible roll combinations should
look like this:

By comparison, if the character is 2d3 (same range), the distribution would instead look like:

Notice that with more dice, the middle of the distribution becomes more common, and your
min/max values become less common. It may take very large sample sizes to see these
distributions emerge clearly.
Testing Weapon Dice
The die itself is already roughly visible on the weapon. 10-14 is 5 values, or 1d5. However, we
don’t know:
● The exact dice (eg 1d5 vs 2d3)
○ Most weapons will be 1dX, but there could easily be surprises
● The exact offset (though we have a good guess)
○ Usually:

For testing Weapon Dice, we recommend using a 1d5 character (Wizard/Tamer/Shai) to reduce
the number of possible rolls. Much like Magic/Ranged Character Dice, we start with a known
Character Die and use the number and distribution of observed values to determine the dice.
● Select a mob with known DR & AP Cap
○ For base weapons, we recommend Gray Foxes (27 DR, no cap)
○ For higher-end weapons, you may want to choose a higher-DR Spot, but be
careful of the AP Cap
● Set your AP ~30-50 points above monsters’ DR
○ All dice rolls must be above DR and under AP Cap
● Select a simple Pre-Awakening skill (eg LMB)
● Hit the enemy monster & record all observed rolls
● Subtract the max character die roll from your number of observed values
○ 9 unique values would be a 1d9
● Multiple dice can be derived from the distribution of values
○ See Melee/Ranged Dice for an example of determining distributions
○ Again, we recommend https://anydice.com/ (external link) or another similar tool
for this
Testing Subweapon Offsets
We discovered Subweapon offsets while testing at Sausans. Halfway through the testing, we
equipped a base Kutum, but our observed damage dropped below what we had observed
before for the same value. We quickly noticed that:
● Offhands don’t roll any value. They don’t increase the number of observed values at all.
● Instead, they actually reduce the total AP.
○ This reduction is not shown in the ‘My Stats’ pane.

Likewise, the best way to test a subweapon offset is:


● Select a grindspot, equip the Subweapon, and make sure your AP is well above DR
● Select a Pre-Awakening skill
○ Unarmed Punch is ideal for Melee classes
○ Make sure the skill does not require the offhand (eg don’t choose Wizard’s
Dagger Stab)
○ Normal LMB is ideal
● Measure damage with the offhand
○ We strongly recommend Shai for her 1d5 and ability to accurately test with
Punch
○ Alternatively, use any Melee class for reliable Punch or Wizard/Tamer with a
Krea weapon (1d3)
● Remove the offhand
● Replace it with identical AP, keeping your Total AP the same in the ‘My Stats’ pane
○ You can use +5 and +1 AP Crystals to fine-tune the Total AP
● Measure damage again without the offhand
● All rolls without an offhand should be 1-3 above the rolls with an offhand
○ This offset is your offhand penalty
● If you wish to confirm the offset, equip AP without the offset equal to: (Total AP with
offhand) - (offhand penalty)
○ You should now observe the same damage as when using the offhand at ‘Total
AP’

To elaborate, if you equip an offhand with a -2 penalty (eg Kutum/Nouver), your observed
damage at 100 AP will match the damage rolls for 98 AP without an offhand.

Against a mob with known DR, damage is just skill%*(AP-DR). If you’re using Punch, this
simplifies to (AP-DR), so all damage values (including your min & max rolls) will simply be some
offset X above the same roll with an offhand equipped.
Testing Species Damage
As noted in the doc, Species Damage is a random roll, and this roll’s range gets bigger as you
increase your species damage. As a result, it is not something easy to measure. We need to
remove as many confounding variables as possible.

To do this, we recommend testing at an AP-Capped spot: either Sausans for Human Damage
(slightly easier to get) or Fadus for Kamasylvian Damage.

This removes all other random rolls. Only the species damage roll remains, which we’ve
experimentally determined to be (0.7*species, 1.0*species).

To replicate this experiment:


● Obtain Green Carnage Crystals (+1 Human Damage) from Tarif
● Go to Sausans (or Fadus, if doing Kama testing)
● Equip a large amount of AP (well above AP-cap), but 0 Human Damage
○ Confirm that you have 0 Human Damage in the ‘My Stats’ pane
● Measure your damage with any skill. We strongly recommend Punch for 100%.
○ Any Melee character will work. Above-cap, your Character/Weapon dice no
longer matter.
○ Be sure to measure the lowest & highest damage values observed, as we would
for spotbreaking. These should be the same with 0 Human Damage.
● Use Carnage Crystals to increment your Human Damage by 1
● Measure the lowest & highest values observed over many hits
● Continue incrementing your Human Damage by 1 via Carnage Crystals
○ You should only need ~5-10 Carnage Crystals. When you get enough for another
crystal or gear piece, remove your Carnages, swap to the larger crystal, and
continue incrementing by 1 Human Damage via Crystals.
● Plot your Species Damage (x-axis) against both min & max Damage (y-axis) on the
same graph
You should see something like this:

We can clearly see that:


● The damage continues to increase above AP-Cap. Species Damage is not AP.
● The lines are diverging (range is getting wider) as we increase Species Damage. This
indicates a random roll.

Plotting just minimum rolls and maximum rolls on their own can allow you to determine the exact
random range, based on the slopes of the lines:

From these graphs, we very clearly see that Minimum Damage scales with 0.7*(Species
Damage) and Maximum Damage scales at 1.0*(Species Damage).

This means that our random roll is between (0.7*species_damage, species_damage). To check
if this is a continuous random range, we can record all observed values. Every value should be
possible to roll. For example, at 30 Species Damage, we should be able to observe rolls of (AP
Cap Damage) + 21, 22, 23, 24, 25, 26, 27, 28, 29, & 30. We have confirmed that this is the
case.

From here, it is trivial to confirm that species damage behaves exactly the same at all AP values
above DR, not just above AP Cap. It adds a random roll to the AP before scaling by skill%.
Species Damage Below DR
To check how Species Damage behaves below DR, we need to perform a similar check. We
recommend Mirumok (333 DR), though Kama damage can be harder to get. If you’re already at
Sausans, Shultz (240 DR) isn’t a bad option. Elvia Bhiragi Den (390 DR) is also valid but much
more dangerous.

Start with a known value just below DR (max roll cannot reach DR), and increment Species
Damage. You should observe that your damage does not increase at all. If you add enough
species damage such that the max roll of 1.0*(Species Damage) would push you over the DR
Breakpoint, you will start seeing a single much higher roll that breaks DR. Incrementing Species
Damage from here will start pushing all of your rolls over DR.

To understand this behavior, it is essential to understand exactly how damage is calculated


below and above the DR Breakpoint (0.05*AP below or (AP-DR) above, all multiplied by skill%).
While Species Damage is not applied at all below DR, the formula switches over to the Above-
DR formula, when the Above-DR formula would do more damage. Since the Above-DR formula
does include Species Damage, we can cross the DR Breakpoint using only Species Damage.
We simply won’t see any damage increase until we suddenly break DR earlier than expected.

Regardless of your choice of AP, you should observe that Species Damage does not increase
damage below DR but does shift the DR breakpoint downward. This shift will differ for min vs
max rolls (not shown below):

Testing DR Shred
Unlike AP/DR, where we had a big toolkit, DR Shred can only really be tested with skill effects
and add-ons.
● We strongly recommend selecting a character with multiple skills with different DR
shreds.
○ Kuno is an excellent choice due to her ‘Assassin’s Mark’ debuff (from Shadow
Brand), which stacks with other DR debuffs.
● Higher-DR grindspots with fewer, more-predictable (and easier to debuff) mobs provide
better results. We recommend Turos (380 DR).
● Use the same skill to do the actual damage testing, even if you use other skills to apply
the debuff
● The skill used for damage testing should not apply DR debuffs
● Pay close attention to the debuff icons currently on the mob’s bar
○ Be sure all applied debuffs stack. Each active debuff will have a unique icon
● Also pay close attention to the observed damage. Above DR, you will do more damage
with a DR debuff.
● Waragons is a very interesting case for testing DR debuffs, as they have no DR.
○ Regardless of how many DR debuffs you stack, they will not increase damage vs
Waragons.
● Do not use Species Damage, as it complicates the DR Breakpoint

DR Shred in Theory
As established in this doc, DR Shred is pretty simple: it just reduces DR by a flat value in most
cases. There’s no extra 5% modifier. So what should we expect to see when testing DR Shred?

● More damage, obviously (excepting Waragons)


● No damage increase below DR
○ DR is not AP. It doesn’t increase damage directly
● A lower DR breakpoint
○ This will not be lower by the exact DR.
○ Remember that the DR Breakpoint = DR / 0.95
● More damage before the AP Cap
○ In fact at hardcapped spots, we should see a higher max damage
DR Shred in Practice
We include a figure from our DR Shred testing at Turos to illustrate:

The first major takeaway is that the DR Breakpoint has shifted considerably, as expected. On
measurement, this shift is more than 35 AP though! If the exact mechanics behind DR and DR
Breakpoints aren’t known, this can easily lead one to believe that DR Shred is more effective
than it is (~1.05% effect). This is simply a result of the 5% rule (calculation of DR Breakpoints),
but honestly, we had trouble digesting it too. It took a tabulated breakdown to convince us that
something else was going on, and this eventually led to discovery of how actual DR relates to
breakpoints.
The other major takeaway from this testing is that the AP Cap doesn’t change. We see the
same damage reduction at the same AP. However, we were able to break DR earlier, so we
gain 1:1 damage from AP for an additional 35 points in this case. This is the magic of DR Shred!
Proving that the DR Breakpoint isn’t at DR
Now, let’s return to the DR Breakpoint shift being more than 35 DR. It’s natural to assume that
DR Shred simply applies more than listed on the tooltip, but this runs into a major problem when
we start looking at damage differences:

AP 0 Shred -35 Shred Damage Diff Unscaled Diff


324 267.5 268 0.5 0.0
343 283 283 0 0.0
365 301.5 323.5 22 1.3
366 302 340.5 38.5 2.3
390 322.5 723 400.5 24.1
402 364 914.5 550.5 33.1
407 423.5 997.5 574 34.5
469 1446.5 2028.5 582 35.0
486 1729 2311.5 582.5 35.0
488 1762.5 2344.5 582 35.0
489 1776 2358 582 35.0
491 1805 2387 582 35.0
492 1813 2400.5 587.5 35.3
493 1833 2415 582 35.0
494 1841.5 2423.5 582 35.0
497 1887 2469 582 35.0
526 2224.5 2806.5 582 35.0
584 2899.5 3481.5 582 35.0
618 3295.5 3877.5 582 35.0
668 3877.5 4459.5 582 35.0

This table shows, from left to right:


● AP value used for testing
● Average damage at that AP with 0 DR Shred
● Average damage at that AP with -35 DR Shred
● The difference in damage between 0 Shred & -35 Shred at the same AP
● The observed difference in the AP that would cause the observed damage difference
○ At 1663% (and over DR, under cap), +35 AP would do an additional 35*16.62 =
582 damage.
○ All of these values are kept as decimal for now. We didn’t worry about integer
calculations or truncation.
We immediately see that there is no difference in damage when both tests (with & without
shred) are below the DR Breakpoint. A damage difference starts building once the -35 DR
Shred hits its Breakpoint, but as soon as the 0 DR Shred testing also hits the DR Breakpoint,
this damage increase stops. We see a flat damage difference between 0 Shred and -35 Shred
from there on, and that difference…equates to 35 AP. Since we know that damage over DR is
very clearly & measurably (AP-DR)*skill%, this makes sense. -35 DR Shred just reduces DR by
35, and this is identical to increasing AP by 35 in our formula.

This led us to question why the DR Breakpoint didn’t also shift by exactly 35. DR clearly
functioned as expected for damage. The only solution we could come up with was that the DR
Breakpoint was not at DR. As soon as we looked at the difference, we discovered that DR was
always off by the same amount - a specific percentage close to 5%. So we solved for this
unknown value, knowing that DR shred clearly applied correctly in the Above-DR formula.

Assumptions & Data:


● We think our DR is at ~400, based on 0 DR testing, but we don’t know that for sure.
○ At this point, we didn’t know that the DR Breakpoint wasn’t at DR
○ DR needs to remain an unknown variable
● We are observing that the DR Breakpoint shifts down by more than -35. We will model
this additional shift with an unknown multiplier ‘X’ that scales the -35 for AP.
○ We observed a -37 DR Breakpoint reduction instead of the expected -35
○ We’re expecting X to resolve to ~5.7%, just looking at the breakpoint shift
● We’ll have 2 APs in this series of equations:
○ AP0 where we observed the DR Breakpoint for 0 DR Shred (~400)
○ AP35 where we observed the DR Breakpoint for -35 DR Shred (~363)

For 0 DR:

Subbing in our known AP0, we find that DR should be ~380:

This is a little surprising. It would mean that DR is different from the DR Breakpoint. It gets
especially interesting once we realize that BDOCodex shows the same DR Value!:

https://bdocodex.com/us/npc/21912/ (external link)

Now, let’s take a look at the -35 DR shred case, which has our X:
Subbing in our observed breakpoint (AP35 = 363), we get:

Finally, we sub in the DR we just derived from our 0-shred case (380):

This… is probably 1.0. Our AP0 and AP35 values were measured. They could easily have small
errors in them. We also know that BDO uses floor division in damage calculations. Any
truncation could have easily led to this small error. Regardless, this means that our ‘mystery’
variable was 1 all along!

Now that we know ‘X’, let’s take another look at a ‘DR Shred’ formula, subbing in X = 1:

And there we have it. DR Shred applies naturally to the DR (no special multiplier), but it gets
scaled by the same 0.95 from our 5% rule after the shred. This is what shifts our breakpoint
down by ~5%:
Using BDOCodex as a Reference
Since it’s fresh in the head, it’s also worth mentioning that using BDOCodex as a reference
guide for data/information and verification is a wholly worthwhile process.

Like the previous Turo Berserker, almost every mob in the entire game that is actually present
in game tends to sit around the listed value on BDOCodex! Exceptions generally are monsters
added after the latest data seeding from the side of BDOCodex. Paying attention to patch notes
and changes to mobs helps in this case.

As an example, let’s look at the Firewood Orc from Elvia Red Orcs:

https://bdocodex.com/us/npc/24411/ (external link)

Unlike the Turo Berserker, this mob is off from what we measured (600 DR). However, this mob
received changes after the latest codex seeding, so when we combine BDOCodex with BDO
Patch Notes, the result is still fairly reliable (external link):
https://www.naeu.playblackdesert.com/en-US/News/Detail?
groupContentNo=3052&countryType=en-US
Keeping in mind that NA versions of the game mistranslate DR as DP (waiting on a fix, PA), and
based on the bottom item in the change log, let’s try increasing BDOCodex DR by 10% (1.1):
550 * 1.1 = 605

This isn’t perfect, but it’s really close to our measured 600! Maybe we just measured a few DR
off, or maybe PA was lazy in giving the exact % change. Regardless, it takes a useless
outdated DR value and gives us a very good estimate of Red Orcs without ever needing to test
there. Of course, we still strongly encourage manual validation of all spotbreaking values.

It is also worth exercising caution and ensuring you have the right mob. There’s a lot of trash
mobs and unused variants, and many, many shared names across different mobs.
You can generally verify you’ve got the right mob if:
● There is a map marker that shows its location underneath the mob information.
● The mob stats aren’t default or low digit values. Keep in mind where the mob is placed
and its stat requirements, BDO often has HP for mobs in the millions toward the
endgame.
● Likewise, check that the mob has a DR that actually makes sense. If you see 35 DR for
an Elvia spot, you have the wrong entry!
● The mob has an actual drop table that doesn't solely consist of the global rare drops like
Pure Black Stones and Shimmering Pieces of Old Moon.
● Mobs with <Titles> will have the title listed in their BDOCodex Entry.
● The mob has a “Used to Obtain Title” section. This refers to the kill count of that monster
for a title.
Testing Awakening/Prime Damage
Testing Awakening Damage is infuriating at best. We strongly recommend against it unless
you’re ready for hours of testing and multiple new analytical mechanics for very little gain. While
the normal Mainhand/Pre-Awakening damage formula gives a good estimate of
Awakening/Prime damage, there is an additional fractional AP roll that creates literally hundreds
of unique damage rolls (~30 unique damage values for each roll of your character die). For the
smallest weapon & character dice, this is ~5*3*10 = up to 150 values. For the largest dice, this
can be up to 9*19*12 = up to 2052 values. You can probably guess how much fun it is to wait
for a min or max roll out of 1000’s of possible values…

Still with us? If you insist on testing this, be sure to carefully control every applicable variable:
● Mainhand Weapon
○ Use a Krea Mainhand for the smallest possible die (1d3)
■ You can buy Krea weapons from the Arms Vendor in Altinova
● Awakening Weapon
○ Use a weapon with no Species Damage
■ Species rolls make this even harder and void one of our testing methods.
○ Use either a base Dandelion (1d10) or base Blackstar (1d12)
■ Both Dande & Blackstar have 0 Species damage until +6
■ You can get base boxes from Eiorah in Velia
■ We actually recommend Blackstar if testing Prime skills, as the
increased range makes the 0.3 fractional AP patterns much clearer, and
there are some nice AP matches with Krea
■ We recommend Dandelion or Ultimate Katan if testing Awakening Skills
for the reduced range.
○ You can also use Blue Awakening weapons at a non-human spot for higher-end
Awakening/Prime testing.
■ You can get 1 free Blue Awakening box via a (one-time) Family Quest
chain from ‘Narava Rakum’ at Sarma Outpost (‘Scout ambushed by the
Sausans’).
● Choose carefully! You only get one, ever.
■ The only other place to get these on Global Labs is field boss drops
○ Katan & Ultimate Katan Weapons have no species damage and are available
from the Valencia main questline
■ You must complete Mediah (or Mountain, but don’t do this) to unlock
Valencia
■ Mountain of Eternal Winter is bugged on Global Labs. You will get
permanently stuck in Erethea’s Limbo.
Serendia/Balenos/Calpheon/Mediah is your only path to Valencia…
● Character
○ Start with Succession
■ Binding the ‘0.7’ multiplier to a 1d3 (Krea) makes things much more
manageable
○ We recommend Tamer for a lower 1d5 die and a 0-cooldown Prime Skill
(Whiplash)
■ Bring Mana Pots for spamming Whiplash infinitely
○ Wizard (1d5) is also fine for Awakening Testing, but his Primes all have fairly
high cooldowns, and some of the damage percents are incorrect on the tooltip
○ Shai has no real Awakening/Succ and should be avoided entirely, despite 1d5
Melee
○ All other 1d9 characters make this very challenging
● Miscellaneous
○ You must have both Mainhand & Awakening weapons equipped to see the 70/30
split in action
■ Unequipping your Awakening Weapon will result in all Weapon AP being
ignored for Prime skills (even Mainhand)
■ Classes without Awakenings don’t have the 70/30 split at all. Primes &
Absolutes behave the same, using 100% of your Mainhand Weapon AP.
○ Try to keep your Mainhand and Awakening Weapon AP similar or identical to
minimize the impact of the 70/30 split
○ These weapon loadouts have 0 Species but identical Total APs in the ‘My Stats’
window
■ +4 Krea, +1 Blackstar
■ +6 Krea, +3 Blackstar
Leveraging AP Hardcaps
We can use AP Hardcaps to reduce the range of possible rolls and make our lives easier.
Unfortunately, this doesn’t make the lowest values any more common. Only smaller dice will
help with that (eg Tamer w/Krea).

We recommend Sausans (190 DR, 280 AP Cap, Human) for a reliable AP Hardcap spot.

To get started:
● Identify the Hardcap damage for your skill
○ Just start with a high AP and spam your skill a few times (eg 300+ Total AP for
Sausans, as per the ‘My Stats’ window)
● Identify the first AP where values below the Hardcap appear
○ Modify your AP to be just below the Hardcap (eg 275-278)
○ Attack until you see damage values below the cap
○ Increase AP by 1 using +1 AP Crystals
○ Repeat until you no longer see any rolls below the cap
○ Record the last AP at which you saw any roll below cap
● Step down by 1 AP until you can see 5+ unique values
○ Remove some of those +1 AP crystals
○ If you can’t get any lower, pop an Armor elixir and crystal up by +5 or +1 instead

We know that Blackstar (our recommended Awakening Weapon) has a 1d12 - 6 die, so we
ideally want to see enough values below cap to be interesting (allow us to identify patterns). We
probably need 5-6 values to be safe.

In our Sausans testing, we throw out 284 AP, because it only shows 1 value (1010) below our
damage cap (1012). There simply aren’t enough values to be interesting. Instead, we focus on
283 AP, where we observe 7 unique damage values - something very manageable compared to
100’s or 1000’s!
Inferring Fractional AP Values
While testing Succession damage at Sausans, we noticed two things:
● The wide range of numbers obviously didn’t align to the normally-scaled AP values
○ The normal values were there, but there’s a lot of variance in between
● Critical hits didn’t exactly align to a 2x multiplier…and they were only ever off by 1
○ A 1010 hit might see a 2021 crit, rather than 2020

Both of these things suggested something nasty: unlike everything so far, the underlying AP
might not be integer values! Unfortunately, the BDO UI only shows integer AP values (in ‘My
Stats’) and integer damage values. So how can we find out the actual fractional AP internal to
the game?

The answer is that we can’t find the internal values exactly, but we can narrow them down to a
range with math!

We know that:
● Above DR, damage is just EAP*Skill%
● If final damage calculation is not an integer, it will be truncated to the nearest integer
● DR and dice rolls are always integers, so we can still easily get the original AP from EAP

This means that, in the absence of any other mechanics like Species Damage or DR shred, we
can estimate the EAP just by dividing our damage by Skill%. Furthermore, we can establish
bounds for the possible EAP based on integer truncation. The final value can only vary by up to
(but strictly less than) +1, or we would have seen a higher value!

Our observed damage must always be less than or equal to the actual, internal EAP times the
skill percent:
(Observed Damage) <= EAP * Skill%

Likewise, our observed damage plus one must always be strictly greater than EAP * Skill%.
Otherwise, we would have observed a different damage number on screen!
(Observed Damage) + 1 > EAP * Skill%

These simplify to (1) our usual damage formula and (2) an interesting upper bound:

(1)

(2)
Rearranging (2) as above, we see that our underlying AP can only vary by up to

This is a simple but very powerful relation. This means that:


● We can establish a clear upper-bound on the internal AP value
● That bound can be tightened by higher Skill% values.

We can also use this range to determine if a value is a real AP Roll or must have resulted from
a fractional AP. If a full, integer AP value does not exist between the unscaled EAP (ie
(Observed Damage)/Skill%) and the same value plus (1/Skill%), then it either:
● Must have some extra random roll added after damage scaling
● Must be the result of a fractional AP roll

If there is a fractional AP roll, we should see every possible damage value. We actually do see
this for most Awakening/Prime skills in the middle of their damage range (near the average).
However at the low end of our possible rolls (eg the numbers we see below a hardcap), we
clearly see gaps. This means that fractional AP is the most likely explanation.

Now that we’re expecting fractional AP, let’s look at an example for an 1156% skill:

Observed Dmg Min EAP (Dmg / Skill%) Max EAP (+1/Skill%) Exact EAP?
3080 266.4359862 266.5224913 No
3084 266.7820069 266.8685121 No
3086 266.9550173 267.0415225 Yes: 267
3087 267.0415225 267.1280277 No

We see that one of the values was probably a straight-up ‘267’ EAP roll, but the others were
almost certainly Fractional EAP. Still, using this technique, we can already narrow down the
possible internal EAP values to a resolution of ~0.10. Unfortunately, this isn’t enough to make
any really good deductions. We need a way to narrow down this range even further!
Using Critical Hits to Improve the Fractional AP Range
So how can we narrow down the possible EAP range even more? Well, we could consider using
different skills at the same EAP, but:
● At the time, we still didn’t have an exact Awk/Succ damage formula where this would be
super reliable
○ There could have been something we were still missing
● Most Prime/Awakening skills have high cooldowns
○ Testing is slow, and the highest and lowest values are really hard to see
○ We’re looking exclusively at the lowest possible rolls if we use the AP Hardcap
method, which will be some of the hardest to roll.
● Many skills have incorrect % values in the tooltip. Catching these can be tough.
○ Seriously, think about how many patches from PA you’ve seen that say
‘corrected the tooltip to match the actual value’.

So varying Skill% is possible, but it has a lot of problems and will be very slow. Instead, we
know that some critical hits have that weird +1 behavior. Can we leverage this somehow?

As it turns out, yes! Critical Hits are a reliable 2.0 damage multiplier, but we can also very the
damage multiplier very easily:
● Garmoth/Karanda hearts add +3% Critical Hit Damage to your Awakening Weapon
○ Create one Awk Weapon with Garmoth & 1 without
● Starlit Rings add +3% Critical Hit Damage each
○ Create two sets of identical rings - regular & Starlit
● Magical Crystal of Infinity: Critical Hit can add +10% Critical Hit Damage each without
raising AP at all
○ Even if your crystal preset is full of +1’s, you can get 2 more slots for these
crystals from your Garmoth-heart’d weapon
● We don’t use Mainhand Weapons with +Crit Damage (eg Kzarka/Offin/Blackstar)
because they have Species Damage

With these hearts, cups, and crystals pretty freely available on Global Labs, it becomes possible
to very easily create and very quickly switch between many different Critical Hit Multipliers:
2.0, 2.03, 2.06, 2.09, 2.10, 2.13, 2.16, 2.19, 2.20, 2.23, 2.26, & 2.29.
We recorded all observed damage values for most of these Critical Hit Multipliers on a
Succession Tamer with 283 AP (after adjusting for a Kutum offhand penalty) at Sausan
Garrison:

Crit Multipliers:
Base
Damage 1 2.03 2.06 2.09 2.13 2.16 2.19 2.23 2.26 2.29
1012 1012 2055 2085 2116 2156 2187 2217 2257 2288 2318
1010 1010 2050 2081 2111 2151 2182 2212 2252 2283 2313
1009 1009 2048 2078 2109 2149 2179 2209 2250 2280 2310
1006 1006 2043 2074 2104 2144 2174 2205 2245 2275 2305
1005 1005 2041 2071 2102 2142 2172 2202 2242 2272 2303
1002 1002 2034 2064 2094 2135 2165 2195 2235 2265 2295
998 998 2027 2057 2087 2127 2157 2187 2227 2257 2287

So how can we get internal fractional EAP values from this critical hit data? Honestly, the exact
same way we got them for base damage! Unscale them and look at the min & max possible
EAP value:

This has the added benefit of amplifying the resolution even further by double (or better) the skill
percent, since they’re both in the denominator! And just like before, we can bound this:
Now, let’s take a look at these values just for our ‘1012’ base damage value:

Crit Multiplier: Crit Damage: Min EAP: Max EAP:


1 1012 89.95555556 90.04444444
2.03 2055 89.98357964 90.02736727
2.06 2085 89.96763754 90.01078749
2.09 2116 89.99468368 90.03721425
2.13 2156 89.97391758 90.01564945
2.16 2187 90 90.04115226
2.19 2217 89.9847793 90.02536783
2.29 2318 89.97573993 90.01455604

But now we have 1 more cool trick we can do. Every one of these ‘Min EAP’ values is a true
minimum (the actual value cannot be below it), so we can take the max of the mins. Likewise,
every one of these ‘Max EAP’ values is a true maximum (the actual value can’t be above it), so
we can take the min of the maxes.

This gives us an observed possible EAP range of: 90 - 90.00498256. This is accurate within
0.005 EAP!

Doing these steps for all observed values in our critical damage chart, we get:

Base Dmg: Min EAP Max EAP Resolution (Max - Min) Estimated EAP
1012 90 90.00498256 0.004982561036 90.00 EAP
1010 89.79503776 89.80568012 0.01064236338 89.80 EAP
1009 89.6969697 89.70065956 0.003689866704 89.70 EAP
1006 89.49771689 89.50191571 0.004198813835 89.50 EAP
1005 89.39925572 89.40019666 0.0009409417887 89.40 EAP
1002 89.09754825 89.10154173 0.003993480643 89.10 EAP
998 88.77244056 88.8 0.02755943717 88.80 EAP

These min & max possible values are so close that we can see a clear pattern emerge (shown
under ‘Estimated EAP’). We see that 0.10 AP appears to be the underlying resolution.

In hindsight, we probably could have improved the resolution even further by using Back
Attacks for a higher total multiplier.
Finding a Pattern
We see gaps of 0.30 appearing between most of our lowest measured EAP values:
88.8, 89.1, 89.4, 89.7, 90

This number already means something to us, since we know that the 70/30 split exists! 0.3 is
simply 30% of 1 Awakening Weapon AP in Succession (or 1 Mainhand AP in Awakening). But if
so, shouldn’t we also see 0.7 AP intervals? As it turns out, we do:
88.8, 89.5
89.1, 89.8

Between these two 0.3 & 0.7 gaps, we’ve already explained all observed values! From here, it’s
just a matter of (1) deriving the final formula and (2) confirming for other test-cases.
You can read/re-read ‘The Incredibly Stupid, Confusing, and Needlessly Complex World of
Awakening & Prime Skill Damage’ for more details on the exact damage formulas, but we
proceeded to confirm that these formulas hold for all Awakening & Prime skills.

You might also like