User:NtCarlson/Sandbox: Difference between revisions
(Draft of DealDamage sources) |
(Cleaned up section titles) |
||
(22 intermediate revisions by the same user not shown) | |||
Line 1: | Line 1: | ||
== <code> | =Damage Mechanics= | ||
This is | ==Overview == | ||
Under the hood, superficially similar damage bonuses can be implemented in very different ways. | |||
For example, the {{RarityItem|Callous Glow Ring}} and the {{RarityItem|Caustic Band}} are both rings that give 2 bonus damage. However, their damage bonuses are implemented using two different functions and wind up behaving quite differently. | |||
Understanding how these different functions work will help explain the oftentimes unintuitive damage mechanics in Baldur's Gate 3. | |||
Below is a breakdown of the different functions used to apply damage bonus effects. | |||
{| class="wikitable" | |||
!Function | |||
!Term | |||
!Comment | |||
!Example | |||
|- | |||
|<code>WeaponDamage()</code> | |||
| rowspan="3" |'''Weapon rider''' | |||
| rowspan="3" |The basic, well-behaved damage bonuses are implemented with this function. The bonus will apply to ''only'' the triggering attack and nothing else. | |||
| rowspan="3" |{{DamageText|2|Acid}} from {{RarityItem|Caustic Band}} | |||
|- | |||
|<code>CharacterWeaponDamage()</code> | |||
|- | |||
|<code>CharacterUnarmedDamage()</code> | |||
|- | |||
|<code>DamageBonus()</code> | |||
|'''Damage rider''' | |||
|Damage bonuses using this function will add their damage to each independent damage instance. When combined with effects that use <code>DealDamage()</code>, a single attack can create numerous independent damage instances so <code>DamageBonus()</code> effects can potentially apply their damage many times per attack. | |||
|{{DamageText|2|Radiant}} from {{RarityItem|Callous Glow Ring}} | |||
|- | |||
|<code>DealDamage()</code> | |||
|'''Damage rider source''' ('''DRS''') | |||
|This function is used by all damaging attacks, spells, and conditions to deal their damage, but some damage bonuses also use it. <code>DealDamage()</code> creates a separate damage instance that can be independently boosted by applicable <code>DamageBonus()</code> sources. In certain scenarios, '''DRS''' effects can trigger each other, creating far more damage instances than might be expected. | |||
|{{DamageText|1d8|Physical}} from {{SAI|Colossus Slayer}} | |||
|} | |||
The interaction between the different types of damage bonuses can be summarized as follows: | |||
* '''Weapon rider''' bonuses do exactly what they say -- nothing more, nothing less. | |||
* The effect of '''damage riders''' is multiplicative with the number of independent damage instances. An attack with 2 extra damage instances from '''damage rider source''' effects will apply any '''damage riders''' 3 times. | |||
* The number of damage instances can grow exponentially with the number of '''damage rider sources'''. For example, if you {{SAI|Sneak Attack}} a {{Cond|Burning}} target with the {{RarityItem|Firestoker}}, you will create 4 independent damage instances: the base attack, the sneak attack, '''Burned Alive''' triggered by the base attack, and '''Burned Alive''' triggered by the sneak attack. If you add {{SAI|Phalar Aluve: Shriek}}, this will increase to 8 '''DRS''' instances since Shriek will be triggered by each of the 4 preceding instances. | |||
== Weapon riders == | |||
This category of damage increasing abilities applies only to your weapon (or unarmed) attack damage and nothing else. | |||
One weapon attack will apply each '''weapon rider''' exactly once. | |||
Unlike the two other classes of damage boosts, they are very well-behaved and won't interact with other damage boosts to produce unexpected results. | |||
'''Weapon riders''' are far too numerous it exhaustively list. Instead, here is a small sample of damage boosts of this category: | |||
* +10 damage from Great Weapon Master | |||
* Bonus damage from {{Cond|Arcane Synergy}} | |||
* {{DamageText|1d4|Fire}} damage from a fire-dipped weapon | |||
If a damage boost is not listed in one of the sections below, assume that it is a '''weapon rider''' by default. | |||
== Damage riders == | |||
Unlike '''weapon riders''', '''damage riders''' can "ride" on damage sources other than weapon or unarmed damage. | |||
This makes them more flexible and potentially abusable than basic '''weapon riders'''. | |||
In particular, when combined with one or more '''damage rider source''' effects, a '''damage rider''' can potentially apply multiple times to a single attack, effectively multiplying their provided damage bonus. | |||
This is a comprehensive list of all the '''damage riders''' in the game which can be acquired by the player. There are other '''damage riders''' exclusive to certain enemies or attached to items not available in the game (outside of cheats). These effects are excluded from the list below. | |||
If a damage type is not specified, the damage bonus will inherit the type from whatever damage source it is applied to. | If a damage type is not specified, the damage bonus will inherit the type from whatever damage source it is applied to. | ||
{| class="wikitable" | {| class="wikitable mw-collapsible mw-collapsed" style="width: 100%;" | ||
|+ | |+ '''Damage riders''' | ||
!Source | !Source | ||
!Damage Bonus | ! Damage Bonus | ||
!Conditions | !Conditions | ||
|- | |- | ||
|{{RarityItem|Rhapsody}} | |{{RarityItem|Rhapsody}}<ref name="universal"/> | ||
|'''1''', '''2''', or '''3''' | | '''1''', '''2''', or '''3''' | ||
|Kill 3 creatures with the weapon to unlock the max bonus; resets each Long Rest | |Kill 3 creatures with the weapon to unlock the max bonus; resets each Long Rest | ||
|- | |- | ||
|{{SAI|Arcane Charge (Condition)|Arcane Charge}} | |{{SAI|Arcane Charge (Condition)|Arcane Charge}}<ref name="universal"/> | ||
|[[Proficiency Bonus]] | |[[Proficiency Bonus]] | ||
|Target is [[Threatened (Condition)|threatened]] | |Target is [[Threatened (Condition)|threatened]] | ||
|- | |- | ||
|{{RarityItem|Callous Glow Ring}} | |{{RarityItem|Callous Glow Ring}}<ref name="universal"/> | ||
|{{DamageText|2|Radiant}} | |{{DamageText|2|Radiant}} | ||
|Target is illuminated (i.e. not [[Obscured]]) | |Target is illuminated (i.e. not [[Obscured]]) | ||
|- | |||
|{{Cond|Lightning Charges}}<ref name="universal"/> | |||
|{{DamageText|1|Lightning}} | |||
|Have at least 1 Lightning Charge | |||
|- | |||
|{{IconLink|Bulette Bite Icon.webp|Vampire Ascendant|w=24|h=24}}<ref name="universal"/> | |||
|{{DamageText|1d10|Necrotic}} | |||
|Available only to [[Astarion]] after ascending at the end of [[The Pale Elf]] | |||
|- | |- | ||
|{{RarityItem|Spellmight Gloves}} | |{{RarityItem|Spellmight Gloves}} | ||
|'''1d8''' | |'''1d8''' | ||
| | | Spell with an attack roll<ref name="spellmight"/> | ||
|- | |- | ||
|{{SAI|Agonising Blast}} | | {{SAI|Agonising Blast}} | ||
|Charisma modifier {{DamageType|Force}} | |Charisma modifier {{DamageType|Force}} | ||
|{{SAI|Eldritch Blast}} | | {{SAI|Eldritch Blast}} | ||
|- | |- | ||
|{{SAI|Empowered Evocation}} | |{{SAI|Empowered Evocation}} | ||
Line 63: | Line 123: | ||
|{{RarityItem|Poisoner's Robe}} | |{{RarityItem|Poisoner's Robe}} | ||
|{{DamageText|1d4|Poison}} | |{{DamageText|1d4|Poison}} | ||
|{{DamageType|Poison}} spell | | {{DamageType|Poison}} spell | ||
|- | |- | ||
|{{SAI|Heat Convergence}} | |{{SAI|Heat Convergence}} | ||
Line 78: | Line 138: | ||
|- | |- | ||
|{{SAI|Hex}} | |{{SAI|Hex}} | ||
|{{DamageText|1d6|Necrotic}} | |{{DamageText|1d6|Necrotic}} | ||
|Spellcaster attacks Hex target | |Spellcaster attacks Hex target | ||
|- | |- | ||
Line 95: | Line 155: | ||
|{{RarityItem|Cloak of Elemental Absorption}} | |{{RarityItem|Cloak of Elemental Absorption}} | ||
|'''1d4''' elemental | |'''1d4''' elemental | ||
|Next weapon attack after using [[Absorb Elements]] | |Next weapon attack after using [[Absorb Elements]] | ||
|- | |- | ||
|{{RarityItem|Shadow-Cloaked Ring}} | |{{RarityItem|Shadow-Cloaked Ring}} | ||
|'''1d4''' | |'''1d4''' | ||
|Unarmed attack<ref | |Unarmed attack<ref name="shadow-cloaked"/> | ||
|- | |- | ||
|{{RarityItem|Dolor Amarus}} | |{{RarityItem|Dolor Amarus}} | ||
|'''7''' | |'''7''' | ||
|[[Critical Hit]]<ref name="crit" | |[[Critical Hit]]<ref name="crit"/> | ||
|- | |- | ||
|{{RarityItem|Vicious Battleaxe}} | |{{RarityItem|Vicious Battleaxe}} | ||
Line 121: | Line 181: | ||
|Unarmed or weapon attack with 2+ enemies within '''3m''' | |Unarmed or weapon attack with 2+ enemies within '''3m''' | ||
|- | |- | ||
|{{RarityItem|The Undead Bane}} | |{{RarityItem|The Undead Bane}} | ||
|{{DamageText|1d6|Slashing}} | |{{DamageText|1d6|Slashing}} | ||
|Melee attack against a [[Fiend]] or [[Undead]] | |Melee attack against a [[Fiend]] or [[Undead]] | ||
Line 129: | Line 190: | ||
|Melee attack against a [[Fiend]] or [[Undead]] | |Melee attack against a [[Fiend]] or [[Undead]] | ||
|} | |} | ||
<references /> | <references> | ||
<ref name="universal">These '''damage riders''' are '''universal''' (see below).</ref> | |||
<ref name="spellmight">Prior to Patch 4, this worked with ''any'' direct damage spell. More testing is needed to see what it works with after Patch 4.</ref> | |||
<ref name="shadow-cloaked">The Shadow-Cloaked Ring boosts both weapon and unarmed damage, but weapon damage is boosted using <code>CharacterWeaponDamage()</code>.</ref> | |||
<ref name="crit">The damage bonus applies to any Critical Hit, not just those made with this weapon.</ref> | |||
</references> | |||
== <code>DealDamage()</code> == | The top 5 '''damage riders''' in the above list are '''universal'''. They will apply to any damage instance, even ones '''detached''' from a spell or attack. All the other '''damage riders''' involve conditions like <code>IsSpell()</code> or <code>IsMeleeAttack()</code> so any damage instance that is not a part of a spell or weapon attack cannot be boosted by these non-'''universal damage riders'''. Status effect damage like {{Cond|Simple Toxin}} is an example of damage '''detached''' from any attack or spell that can only be boosted by '''universal damage riders'''. See below for a more detailed discussion of '''detached''' damage instances. | ||
== Damage rider sources == | |||
Damage bonus implemented with <code>DealDamage()</code> (i.e. '''Damage rider sources''') are the underlying cause for much of the unintuitive damage mechanics in Baldur's Gate 3. | |||
All attacks or damaging spells are implemented using <code>DealDamage()</code>, so any damage bonus implemented using that same function will behave somewhat like an independent attack or spell. | |||
Importantly, this means that '''damage rider sources''' can potentially trigger each other causing an exponential explosion in the number of damage instances (with the right combination of '''DRS''' effects). | |||
As previously stated, adding '''DRS''' effects to an attack will also multiple the effectiveness of '''damage riders'''. | |||
=== Exponential behavior when combining DRS effects === | |||
=== Attached vs detached instances === | |||
There are two sub-categories of '''DRS''' effects that determine how they interact with '''damage riders''': '''attached''' and '''detached'''. | |||
*A '''DRS''' effect '''attached''' to an attack or spell will be grouped and indented under a heading like "X used Main Hand Attack" or "X cast Fire Ball". Most '''DRS''' effects will be attached to the triggering attack. | |||
*A '''detached''' instance will appear separately in the damage log, not grouped with the triggering attack. '''DRS''' effects wind up detached because they call <code>DealDamage()</code> indirectly. For example: | |||
**When standing in a Burning surface, the {{RarityItem|Amulet of Elemental Torment}} will effectively add a {{DamageText|1d4|Fire}} '''DRS'''. The amulet's effect doesn't call <code>DealDamage()</code> directly, but instead calls <code>ApplyStatus(BURNING)</code>. On application, the {{Cond|Burning}} status effect calls <code>DealDamage()</code> immediately. | |||
**To apply its {{DamageText|1d4|Thunder}} damage, the {{RarityItem|Punch-Drunk Bastard}} calls <code>CreateExplosion()</code> which then calls <code>DealDamage()</code>. | |||
The practical difference between '''attached''' and '''detached''' '''DRS''' sources is that some '''damage rider''' effects will not apply to '''detached''' sources. For example, the {{DamageText|1d4|Fire}} damage instance from the Amulet of Elemental Torment is detached from the spell cast and thus will not get boosted by '''damage riders''' like the [[Potent Robe]] or [[Elemental Affinity: Damage]] which explicitly apply only to spell/cantrip attacks. It will, however, be boosted by more '''universal''' damage riders like [[Arcane Charge (Condition)|Arcane Charge]]. | |||
=== DRS effects from class features === | |||
This is a list of class features that provide additional '''damage rider sources''' to attacks or spells. | |||
{| class="wikitable mw-collapsible mw-collapsed" style="width: 100%; text-align:center;" | |||
|+Extra '''damage rider sources''' from class features | |||
!Feature | |||
!Class | |||
!Damage Bonus | |||
!Limitation | |||
!Notes | |||
|- | |||
|{{nowrap|{{SAI|Sneak Attack}}}} | |||
|Level 1<br>{{nowrap|{{Class|Rogue}}}} | |||
|'''1d6''' to '''6d6''' | |||
|Once per turn<ref name="once-per-turn"/> | |||
| style="text-align:left;" | | |||
Sneak Attack will only create a separate damage instance when triggered as an automatic reaction. The damage type is inherited from the weapon. | |||
|- | |||
|{{nowrap|{{SAI|Divine Smite}}}} | |||
|Level 2<br>{{nowrap|{{Class|Paladin}}}} | |||
|{{DamageColor|Radiant|'''2d8'''|}} to {{DamageColor|Radiant|'''5d8'''}} | |||
|Consumes spell slots | |||
| style="text-align:left;" | | |||
Also applies to all other Smite variants. | |||
|- | |||
|{{nowrap|{{SAI|Combat Inspiration}}}}<ref name="ci"/> | |||
|Level 3<br>{{nowrap|{{Class|College of Valour|noparent=yes}}}} | |||
|'''1d6''', '''1d8''', or '''1d10''' | |||
|Consumes {{resource|bi}} | |||
| style="text-align:left;" | | |||
Bard must apply the buff to another character. The damage type is inherited from the weapon. | |||
|- | |||
|{{nowrap|{{SAI|Colossus Slayer}}}} | |||
|Level 3<br>{{nowrap|{{Class|Hunter|noparent=yes}}}} | |||
|'''1d8''' | |||
|Once per turn<ref name="once-per-turn"/> | |||
| style="text-align:left;" | | |||
Target must already be damaged. The damage type is inherited from the weapon. | |||
|- | |||
|{{nowrap|{{SAI|Heart of the Storm}}}} | |||
|Level 6<br>{{nowrap|{{Class|Storm Sorcery|noparent=yes}}}} | |||
|{{nowrap|{{DamageColor|Lightning|(Sorcerer level)/2}}}}<br>or<br>{{nowrap|{{DamageColor|Thunder|(Sorcerer level)/2}}}} | |||
|Leveled spells only | |||
| style="text-align:left;" | | |||
Applies in a {{range|m=6|ft=20}} radius around you when you cast a leveled {{DamageType|Lightning}} or {{DamageType|Thunder}} damage spell. This damage instance is '''detached''' from the spell. | |||
Recastable spells like {{SAI|Call Lightning}} do not count as leveled spells when recasted for free. | |||
|- | |||
|{{nowrap|{{SAI|Divine Strike}}}} | |||
|Level 8<br>{{nowrap|{{Class|Cleric}}}} | |||
|'''1d8''' | |||
|Once per turn<ref name="once-per-turn"/> | |||
| style="text-align:left;" | | |||
Damage type depends on the Cleric domain. The {{DamageText|1d8|Physical}} variant from {{Class|War Domain|noparent=true}} must be triggered as a reaction to deal a separate damage instance. All other variants create a separate instance no matter how they are triggered. | |||
|- | |||
|{{SAI|Shadow Strike}} | |||
|Level 11<br>{{nowrap|{{Class|Way of Shadow|noparent=yes}}}} | |||
|{{DamageColor|Psychic|'''3d8'''}} | |||
|Consumes {{resource|ki|3}} | |||
| style="text-align:left;" | | |||
Must be {{Cond|invisible}} or {{Cond|Hiding}}. | |||
|- | |||
|{{nowrap|{{SAI|Lifedrinker}}}} | |||
|Level 12<br>{{Class|Warlock}} | |||
|{{DamageColor|Necrotic|'''Charisma modifier'''}} | |||
|None | |||
| style="text-align:left;" | | |||
Applies to all melee weapon attacks. | |||
|- | |||
|} | |||
<references> | |||
<ref name="once-per-turn">If you attack outside of turn-based mode (for example, when initiating combat), the once-per-turn limitation is ignored.</ref> | |||
<ref name="ci">{{SAI|Combat Inspiration}} currently has a bug that may prevent reapplying the buff after it has been used. Refer to [[Combat Inspiration#Notes|Notes]] for details.</ref> | |||
</references> | |||
This is a list of weapons that can get bonus '''attached''' | === DRS effects from weapons === | ||
Since these damage instances are attached to a weapon attack, they will be boosted by applicable | This is a list of weapons that can get bonus '''attached''' '''damage rider sources''' with ordinary attacks. Since these damage instances are attached to a weapon attack, they will be boosted by applicable '''damage riders'''. | ||
{| class="wikitable" | {| class="wikitable mw-collapsible mw-collapsed" style="width: 100%;" | ||
|+Extra '''attached''' | |+Extra '''attached''' '''damage rider sources''' on ordinary weapon attacks | ||
!Source | !Source | ||
!Damage Bonus | !Damage Bonus | ||
!Conditions | ! Conditions | ||
|- | |- | ||
|{{RarityItem|Assassin's Touch}} | |{{RarityItem|Assassin's Touch}} | ||
Line 148: | Line 303: | ||
|Target is {{Cond|Knocked Out}} or {{Cond|Sleeping}} | |Target is {{Cond|Knocked Out}} or {{Cond|Sleeping}} | ||
|- | |- | ||
|{{RarityItem|Deep Delver}} | |{{RarityItem|Deep Delver}} | ||
|{{DamageText|1d4|Piercing}} | |{{DamageText|1d4|Piercing}} | ||
| Target is '''Shattered'''. Deep Delver inflicts '''Shattered''' on hit. | |Target is '''Shattered'''. Deep Delver inflicts '''Shattered''' on hit. | ||
|- | |- | ||
|{{RarityItem|Dragon's Grasp}} | |{{RarityItem|Dragon's Grasp}} | ||
Line 162: | Line 317: | ||
|{{RarityItem|Firestoker}} | |{{RarityItem|Firestoker}} | ||
|{{DamageText|1d4|Piercing}} | |{{DamageText|1d4|Piercing}} | ||
|Target is {{Cond|Burning}} | | Target is {{Cond|Burning}} | ||
|- | |- | ||
|{{RarityItem|Shortsword of First Blood}} | |{{RarityItem|Shortsword of First Blood}} | ||
|{{DamageText|1d8|Piercing}} | |{{DamageText|1d8|Piercing}} | ||
|Target must have 100% {{Hp}} | | Target must have 100% {{Hp}} | ||
|- | |- | ||
|{{RarityItem|Blooded Greataxe}} | |{{RarityItem|Blooded Greataxe}} | ||
|{{DamageText|1d4|Slashing}} | |{{DamageText|1d4|Slashing}} | ||
|Wielder has 50% {{Hp}} or less | |Wielder has 50% {{Hp}} or less | ||
|- | |||
|{{RarityItem|Rat Bat}} | |||
|{{DamageText|1d6|Piercing}} | |||
|Unlisted effect; always applies | |||
|- | |- | ||
|{{RarityItem|Render of Mind and Body}} | |{{RarityItem|Render of Mind and Body}} | ||
Line 187: | Line 346: | ||
|[[Proficiency Bonus]] {{DamageType|Necrotic}} | |[[Proficiency Bonus]] {{DamageType|Necrotic}} | ||
|Requires and consumes a [[Reaction (Resource)|reaction]]; only applies while equipped in the main hand | |Requires and consumes a [[Reaction (Resource)|reaction]]; only applies while equipped in the main hand | ||
|} | |}This is a list of weapons that can trigger bonus '''detached''' '''damage rider sources''' with ordinary attacks. Weapon attack related '''damage riders''' will not apply to these extra damage instances since they are not directly attached to a weapon attack. Only the '''universal''' '''damage riders''' will apply. | ||
{| class="wikitable mw-collapsible mw-collapsed" style="width: 100%;" | |||
This is a list of weapons that can | |+Extra '''detached''' '''damage rider''' '''sources''' from ordinary weapon attacks | ||
Weapon attack related | |||
{| class="wikitable" | |||
|+Extra '''detached''' | |||
!Source | !Source | ||
!Damage Bonus | !Damage Bonus | ||
Line 210: | Line 366: | ||
|} | |} | ||
This is a list of | === DRS effects from weapon actions === | ||
These sources are inherently more limited by nature of being once-per-short-rest actions. | This is a list of '''damage rider sources''' from special [[Weapon actions]]. These sources are inherently more limited by nature of being once-per-short-rest actions. | ||
{| class="wikitable" | {| class="wikitable mw-collapsible mw-collapsed" style="width: 100%;" | ||
|+Extra | |+Extra '''damage rider sources''' from once-per-short-rest Weapon Actions | ||
!Source | !Source | ||
!Damage Bonus | !Damage Bonus | ||
!Notes | !Notes | ||
|- | |- | ||
|{{SAI|Prepared (Condition)}} | |{{SAI|Prepared (Condition)}} | ||
|Strength modifier {{DamageType|Slashing}} | | Strength modifier {{DamageType|Slashing}} | ||
|Bonus applies to all melee attacks for the rest of the turn, including melee spells | |Bonus applies to all melee attacks for the rest of the turn, including melee spells | ||
|- | |- | ||
Line 263: | Line 420: | ||
|- | |- | ||
|} | |} | ||
=== DRS effects for spells === | |||
There are a limited number of '''DRS''' effects that work with spells or cantrips, particularly '''attached''' effects. However, many spells have built in ways of dealing multiple damage instances. For example: | |||
* Multi-hit spells like {{SAI|Magic Missile}} or {{SAI|Scorching Ray}} deal separate damage instances for each projectile. | |||
* Spells with multiple damage types like {{SAI|Ice Knife}} or {{SAI|Flame Strike}} deal separate damage instances for each damage type. | |||
Below is a list of '''attached''' '''DRS''' effects that work with spells. | |||
{| class="wikitable mw-collapsible mw-collapsed" style="width: 100%;" | |||
|+Extra '''attached''' '''damage rider sources''' that work with spells | |||
!Source | |||
!Damage Bonus | |||
!Notes | |||
|- | |||
|{{nowrap|{{SAI|Phalar Aluve: Shriek}}}} | |||
|{{DamageText|1d4|Thunder}} | |||
|As mentioned previously, Shriek damage activates universally on any damage instance. | |||
|- | |||
|{{nowrap|{{SAI|Prepare}}}} | |||
|Strength modifier {{nowrap|{{DamageType|Slashing}}}} | |||
|This works with all melee attacks, which includes melee attack roll spells like {{SAI|Shocking Grasp}}. The {{RarityItem|Daredevil Gloves}} can turn any ranged attack roll spell into a melee one. | |||
|- | |||
|{{nowrap|{{RarityItem|Craterflesh Gloves}} | |||
|{{DamageText|1d6|Force}} | |||
|Requires landing a critical hit, so it only works with attack roll spells. | |||
|- | |||
|{{nowrap|{{RarityItem|The Blast Pendant}}}} | |||
|{{DamageType|Lightning}} damage equal to {{nowrap|{{Cond|Lightning Charges}}}} | |||
|Once per long rest, consume {{Cond|Lightning Charges}} to add an additional {{DamageType|Lightning}} damage instance to a Lightning spell. | |||
|- | |||
|{{nowrap|{{RarityItem|Ilmater's Aid}}}} | |||
|{{DamageText|1d4|Force}} | |||
|Applies to any leveled spell. Wearer has less than 50% HP. This item hasn't be available in-game since Early Access. | |||
|} | |||
In Patch 3, {{SAI|Sneak Attack}} could apply to attack roll spells, but this was changed in Patch 4. | |||
Below is a list of '''DRS''' effects that work with spells, but create '''detached''' damage instances. | |||
Again, the only way to boost these damage instances is with the '''universal damage riders'''. | |||
{| class="wikitable mw-collapsible mw-collapsed" style="width: 100%;" | |||
|+Extra '''detached''' '''damage rider sources''' that work with spells | |||
!Source | |||
!Damage Bonus | |||
!Notes | |||
|- | |||
|{{nowrap|{{RarityItem|Amulet of Elemental Torment}}}} | |||
|{{DamageText|1d4|Fire}} or {{DamageText|1d4|Acid}} | |||
|The wearer must be standing in a [[Fire Surface]] or in [[Caustic Brine]]. Spell damage will inflict {{Cond|Burning}} or {{Cond|Caustic Brine}} respectively which will immediately apply the first tick of '''1d4''' damage. | |||
|- | |||
|{{nowrap|{{Cond|Gaping Wounds}}}} | |||
|{{DamageText|2|Piercing}} | |||
|Does not work with spells or abilities that use a {{Saving throw}} rather than an {{Attack roll}}. | |||
|} | |||
== Glossary == | |||
There is not necessarily any community consensus regarding the following terms and they may only make sense within the context of this article. | |||
* '''Attached''': A damage instance attached to an attack or spell in the damage log. | |||
* '''Damage rider''': A damage bonus implemented with <code>DamageBonus()</code>. These bonuses can potentially apply many times in a single attack since they boost each independent damage instance. | |||
* '''Damage rider source''': A damage bonus implemented with <code>DealDamage()</code>. These bonuses create an independent damage instance instead of adding damage to an existing instance. | |||
* '''Detached''': A damage instance not grouped with the triggering attack or spell in the damage log. | |||
* '''DRS''': See '''damage rider source''' | |||
* '''Universal damage rider''': A '''damage rider''' that doesn't have conditions like <code>IsSpell()</code> and can boost even '''detached''' damage instances. | |||
* '''Weapon rider''': A damage bonus implemented with <code>WeaponDamage()</code> or similar functions. These bonuses are well-behaved and will only ever apply once per attack. |
Latest revision as of 05:56, 19 November 2023
Damage Mechanics[edit | edit source]
Overview[edit | edit source]
Under the hood, superficially similar damage bonuses can be implemented in very different ways. For example, the Callous Glow Ring and the Caustic Band are both rings that give 2 bonus damage. However, their damage bonuses are implemented using two different functions and wind up behaving quite differently. Understanding how these different functions work will help explain the oftentimes unintuitive damage mechanics in Baldur's Gate 3.
Below is a breakdown of the different functions used to apply damage bonus effects.
Function | Term | Comment | Example |
---|---|---|---|
WeaponDamage()
|
Weapon rider | The basic, well-behaved damage bonuses are implemented with this function. The bonus will apply to only the triggering attack and nothing else. | 2Acid from Caustic Band |
CharacterWeaponDamage()
| |||
CharacterUnarmedDamage()
| |||
DamageBonus()
|
Damage rider | Damage bonuses using this function will add their damage to each independent damage instance. When combined with effects that use DealDamage() , a single attack can create numerous independent damage instances so DamageBonus() effects can potentially apply their damage many times per attack.
|
2Radiant from Callous Glow Ring |
DealDamage()
|
Damage rider source (DRS) | This function is used by all damaging attacks, spells, and conditions to deal their damage, but some damage bonuses also use it. DealDamage() creates a separate damage instance that can be independently boosted by applicable DamageBonus() sources. In certain scenarios, DRS effects can trigger each other, creating far more damage instances than might be expected.
|
1d8Physical from |
The interaction between the different types of damage bonuses can be summarized as follows:
- Weapon rider bonuses do exactly what they say -- nothing more, nothing less.
- The effect of damage riders is multiplicative with the number of independent damage instances. An attack with 2 extra damage instances from damage rider source effects will apply any damage riders 3 times.
- The number of damage instances can grow exponentially with the number of damage rider sources. For example, if you target with the Firestoker, you will create 4 independent damage instances: the base attack, the sneak attack, Burned Alive triggered by the base attack, and Burned Alive triggered by the sneak attack. If you add , this will increase to 8 DRS instances since Shriek will be triggered by each of the 4 preceding instances. a
Weapon riders[edit | edit source]
This category of damage increasing abilities applies only to your weapon (or unarmed) attack damage and nothing else. One weapon attack will apply each weapon rider exactly once. Unlike the two other classes of damage boosts, they are very well-behaved and won't interact with other damage boosts to produce unexpected results.
Weapon riders are far too numerous it exhaustively list. Instead, here is a small sample of damage boosts of this category:
If a damage boost is not listed in one of the sections below, assume that it is a weapon rider by default.
Damage riders[edit | edit source]
Unlike weapon riders, damage riders can "ride" on damage sources other than weapon or unarmed damage. This makes them more flexible and potentially abusable than basic weapon riders. In particular, when combined with one or more damage rider source effects, a damage rider can potentially apply multiple times to a single attack, effectively multiplying their provided damage bonus.
This is a comprehensive list of all the damage riders in the game which can be acquired by the player. There are other damage riders exclusive to certain enemies or attached to items not available in the game (outside of cheats). These effects are excluded from the list below.
If a damage type is not specified, the damage bonus will inherit the type from whatever damage source it is applied to.
Source | Damage Bonus | Conditions |
---|---|---|
Rhapsody[1] | 1, 2, or 3 | Kill 3 creatures with the weapon to unlock the max bonus; resets each Long Rest |
[1] | Proficiency Bonus | Target is threatened |
Callous Glow Ring[1] | 2Radiant | Target is illuminated (i.e. not Obscured) |
[1] | 1Lightning | Have at least 1 Lightning Charge |
[1] | 1d10Necrotic | Available only to Astarion after ascending at the end of The Pale Elf |
Spellmight Gloves | 1d8 | Spell with an attack roll[2] |
Charisma modifier Force | ||
Intelligence modifier | Evocation spell | |
Wisdom modifier | Cleric cantrip | |
Potent Robe | Charisma modifier | Any cantrip |
Necklace of Elemental Augmentation | Spellcasting Ability Modifier | Elemental cantrip |
Charisma modifier | Spell/cantrip whose elemental type corresponds to the chosen draconic ancestry | |
Ring of Absolute Force | 1Thunder | Applies only to Thunder damage |
Mourning Frost | 1Cold | Applies only to Cold damage |
Armour of the Sporekeeper | 1Necrotic | Applies only to Necrotic damage |
Poisoner's Robe | 1d4Poison | Poison spell |
Number of Heat charges | Requires and consumes Heat charges, applies only to Fire damage | |
Markoheshkir | Proficiency Bonus | Elemental spell damage with the corresponding variant of Kereska's Favour active |
1d8Necrotic | Spellcaster attacks Curse target | |
1d6Necrotic | Spellcaster attacks Hex target | |
1d4Psychic | Attack while Overloaded With Synaptic Power is active | |
Boots of Psionic Movement | 1d4Psychic | Next melee attack after Githyanki | as a
Ring of Elemental Infusion | 1d4 elemental | Next weapon attack after using an elemental spell/cantrip |
Cloak of Elemental Absorption | 1d4 elemental | Next weapon attack after using Absorb Elements |
Shadow-Cloaked Ring | 1d4 | Unarmed attack[3] |
Dolor Amarus | 7 | Critical Hit[4] |
Vicious Battleaxe | 7 | Critical Hit[4] |
Harmonic Dueller | Charisma modifier | Melee attack while Mellow Harmony is active |
Titanstring Bow | Strength modifier | Ranged weapon attack |
Scabby Pugilist Circlet | 2 | Unarmed or weapon attack with 2+ enemies within 3m |
The Undead Bane | 1d6Slashing | Melee attack against a Fiend or Undead |
Hammer of the Just | 1d6Bludgeoning | Melee attack against a Fiend or Undead |
- ↑ 1.0 1.1 1.2 1.3 1.4 These damage riders are universal (see below).
- ↑ Prior to Patch 4, this worked with any direct damage spell. More testing is needed to see what it works with after Patch 4.
- ↑ The Shadow-Cloaked Ring boosts both weapon and unarmed damage, but weapon damage is boosted using
CharacterWeaponDamage()
. - ↑ 4.0 4.1 The damage bonus applies to any Critical Hit, not just those made with this weapon.
The top 5 damage riders in the above list are universal. They will apply to any damage instance, even ones detached from a spell or attack. All the other damage riders involve conditions like IsSpell()
or IsMeleeAttack()
so any damage instance that is not a part of a spell or weapon attack cannot be boosted by these non-universal damage riders. Status effect damage like is an example of damage detached from any attack or spell that can only be boosted by universal damage riders. See below for a more detailed discussion of detached damage instances.
Damage rider sources[edit | edit source]
Damage bonus implemented with DealDamage()
(i.e. Damage rider sources) are the underlying cause for much of the unintuitive damage mechanics in Baldur's Gate 3.
All attacks or damaging spells are implemented using DealDamage()
, so any damage bonus implemented using that same function will behave somewhat like an independent attack or spell.
Importantly, this means that damage rider sources can potentially trigger each other causing an exponential explosion in the number of damage instances (with the right combination of DRS effects).
As previously stated, adding DRS effects to an attack will also multiple the effectiveness of damage riders.
Exponential behavior when combining DRS effects[edit | edit source]
Attached vs detached instances[edit | edit source]
There are two sub-categories of DRS effects that determine how they interact with damage riders: attached and detached.
- A DRS effect attached to an attack or spell will be grouped and indented under a heading like "X used Main Hand Attack" or "X cast Fire Ball". Most DRS effects will be attached to the triggering attack.
- A detached instance will appear separately in the damage log, not grouped with the triggering attack. DRS effects wind up detached because they call
DealDamage()
indirectly. For example:- When standing in a Burning surface, the Amulet of Elemental Torment will effectively add a 1d4Fire DRS. The amulet's effect doesn't call
DealDamage()
directly, but instead callsApplyStatus(BURNING)
. On application, the status effect callsDealDamage()
immediately. - To apply its 1d4Thunder damage, the Punch-Drunk Bastard calls
CreateExplosion()
which then callsDealDamage()
.
- When standing in a Burning surface, the Amulet of Elemental Torment will effectively add a 1d4Fire DRS. The amulet's effect doesn't call
The practical difference between attached and detached DRS sources is that some damage rider effects will not apply to detached sources. For example, the 1d4Fire damage instance from the Amulet of Elemental Torment is detached from the spell cast and thus will not get boosted by damage riders like the Potent Robe or Elemental Affinity: Damage which explicitly apply only to spell/cantrip attacks. It will, however, be boosted by more universal damage riders like Arcane Charge.
DRS effects from class features[edit | edit source]
This is a list of class features that provide additional damage rider sources to attacks or spells.
Feature | Class | Damage Bonus | Limitation | Notes |
---|---|---|---|---|
Level 1 |
1d6 to 6d6 | Once per turn[1] |
Sneak Attack will only create a separate damage instance when triggered as an automatic reaction. The damage type is inherited from the weapon. | |
Level 2 |
2d8 to 5d8 | Consumes spell slots |
Also applies to all other Smite variants. | |
[2] | Level 3 |
1d6, 1d8, or 1d10 | Consumes Bardic Inspiration Charge |
Bard must apply the buff to another character. The damage type is inherited from the weapon. |
Level 3 |
1d8 | Once per turn[1] |
Target must already be damaged. The damage type is inherited from the weapon. | |
Level 6 |
(Sorcerer level)/2 or (Sorcerer level)/2 |
Leveled spells only |
Applies in a Range: 6 m / 20 ft radius around you when you cast a leveled Lightning or Thunder damage spell. This damage instance is detached from the spell. Recastable spells like do not count as leveled spells when recasted for free. | |
Level 8 |
1d8 | Once per turn[1] |
Damage type depends on the Cleric domain. The 1d8Physical variant from must be triggered as a reaction to deal a separate damage instance. All other variants create a separate instance no matter how they are triggered. | |
Level 11 |
3d8 | Consumes 3Ki Points |
Must be or . | |
Level 12 |
Charisma modifier | None |
Applies to all melee weapon attacks. |
DRS effects from weapons[edit | edit source]
This is a list of weapons that can get bonus attached damage rider sources with ordinary attacks. Since these damage instances are attached to a weapon attack, they will be boosted by applicable damage riders.
Source | Damage Bonus | Conditions |
---|---|---|
Assassin's Touch | 1d4Necrotic | Target is or |
Deep Delver | 1d4Piercing | Target is Shattered. Deep Delver inflicts Shattered on hit. |
Dragon's Grasp | 1d4Slashing | Target is |
Exterminator's Axe | 1d6Fire | Target is a plant, Myconid, or is size small or less |
Firestoker | 1d4Piercing | Target is |
Shortsword of First Blood | 1d8Piercing | Target must have 100% hit points |
Blooded Greataxe | 1d4Slashing | Wielder has 50% hit points or less |
Rat Bat | 1d6Piercing | Unlisted effect; always applies |
Render of Mind and Body | 1d8Psychic | Attack with Advantage |
Sword of Life Stealing | 10Necrotic | Attack is a Critical hit |
Crimson Mischief | 7Piercing damage. | Attack with Advantage while equipped in the main hand |
Duellist's Prerogative | Proficiency Bonus Necrotic | Requires and consumes a reaction; only applies while equipped in the main hand |
Source | Damage Bonus | Notes |
---|---|---|
Loviatar's Scourge: Willing Whip | 1d6Necrotic | Hits everything in a 2m radius including the wielder |
Punch-Drunk Bastard | 1d4Thunder | Must be . Hits everything in a 3m radius excluding the wielder. |
Nyrulna: Zephyr Connection | 3d4Thunder | Must be thrown. Hits everything in a 6m radius including the wielder. |
DRS effects from weapon actions[edit | edit source]
This is a list of damage rider sources from special Weapon actions. These sources are inherently more limited by nature of being once-per-short-rest actions.
Source | Damage Bonus | Notes |
---|---|---|
Strength modifier Slashing | Bonus applies to all melee attacks for the rest of the turn, including melee spells | |
Hoppy: Revitalising Strike | Proficiency Bonus Necrotic | Also heals you 1d6hit points |
Very Heavy Greataxe: Gargantuan Cleave | 1d6Slashing | Hits up to 3 targets like a normal cleave but inflicts on the wielder |
Soulbreaker Greatsword: Soulbreaker | 4Psychic | Can also | the target (Constitution saving throw)
Silver Sword of the Astral Plane: Soulbreaker | 4Psychic | Can also | the target (Constitution saving throw)
Moonlight Glaive: Moonlight Butterflies | ||
Justiciar's Scimitar: Shadowsoaked Blow | ||
The Undead Bane: Profane Scourge | ||
Hellfire Greataxe: Hellflame Cleave | ||
The Sacred Star: Dawnburst Strike | Proficiency Bonus Radiant | |
Balduran's Giantslayer: Topple the Big Folk | 2d6Slashing | Target must have size Large or greater. Also adds your Proficiency Bonus to the base attack damage |
DRS effects for spells[edit | edit source]
There are a limited number of DRS effects that work with spells or cantrips, particularly attached effects. However, many spells have built in ways of dealing multiple damage instances. For example:
- Multi-hit spells like or deal separate damage instances for each projectile.
- Spells with multiple damage types like or deal separate damage instances for each damage type.
Below is a list of attached DRS effects that work with spells.
Source | Damage Bonus | Notes |
---|---|---|
1d4Thunder | As mentioned previously, Shriek damage activates universally on any damage instance. | |
Strength modifier Slashing | This works with all melee attacks, which includes melee attack roll spells like Daredevil Gloves can turn any ranged attack roll spell into a melee one. | . The|
Craterflesh Gloves | 1d6Force | Requires landing a critical hit, so it only works with attack roll spells. |
The Blast Pendant | Lightning damage equal to | Once per long rest, consume to add an additional Lightning damage instance to a Lightning spell. |
Ilmater's Aid | 1d4Force | Applies to any leveled spell. Wearer has less than 50% HP. This item hasn't be available in-game since Early Access. |
In Patch 3,
could apply to attack roll spells, but this was changed in Patch 4.Below is a list of DRS effects that work with spells, but create detached damage instances. Again, the only way to boost these damage instances is with the universal damage riders.
Source | Damage Bonus | Notes |
---|---|---|
Amulet of Elemental Torment | 1d4Fire or 1d4Acid | The wearer must be standing in a Fire Surface or in Caustic Brine. Spell damage will inflict or respectively which will immediately apply the first tick of 1d4 damage. |
2Piercing | Does not work with spells or abilities that use a Saving throw rather than an Attack roll. |
Glossary[edit | edit source]
There is not necessarily any community consensus regarding the following terms and they may only make sense within the context of this article.
- Attached: A damage instance attached to an attack or spell in the damage log.
- Damage rider: A damage bonus implemented with
DamageBonus()
. These bonuses can potentially apply many times in a single attack since they boost each independent damage instance. - Damage rider source: A damage bonus implemented with
DealDamage()
. These bonuses create an independent damage instance instead of adding damage to an existing instance. - Detached: A damage instance not grouped with the triggering attack or spell in the damage log.
- DRS: See damage rider source
- Universal damage rider: A damage rider that doesn't have conditions like
IsSpell()
and can boost even detached damage instances. - Weapon rider: A damage bonus implemented with
WeaponDamage()
or similar functions. These bonuses are well-behaved and will only ever apply once per attack.