Editing User:NtCarlson/Sandbox
Jump to navigation
Jump to search
The edit can be undone. Please check the comparison below to verify that this is what you want to do, and then publish the changes below to finish undoing the edit.
Latest revision | Your text | ||
Line 13: | Line 13: | ||
|- | |- | ||
|<code>WeaponDamage()</code> | |<code>WeaponDamage()</code> | ||
| rowspan="3" | | | rowspan="3" |Attack damage | ||
| 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" |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}} | | rowspan="3" |{{DamageText|2|Acid}} from {{RarityItem|Caustic Band}} | ||
Line 22: | Line 22: | ||
|- | |- | ||
|<code>DamageBonus()</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. | |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}} | |{{DamageText|2|Radiant}} from {{RarityItem|Callous Glow Ring}} | ||
|- | |- | ||
|<code>DealDamage()</code> | |<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. | |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}} | |{{DamageText|1d8|Physical}} from {{SAI|Colossus Slayer}} | ||
|} | |} | ||
The interaction between the different types of damage bonuses can be summarized as follows: | The interaction between the different types of damage bonuses can be summarized as follows: | ||
* ''' | * '''Attack damage''' 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 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 | * 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. | ||
== | ==<code>DamageBonus()</code> == | ||
This is a comprehensive list of all the damage riders in the game that use <code>DamageBonus()</code> which can be acquired by the player. There are other <code>DamageBonus()</code> effects exclusive to certain enemies or attached to items not available in the game (outside of cheats). These effects are excluded from the list below. | |||
This is a comprehensive list of all the | |||
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" | ||
|+ | |+ <code>DamageBonus()</code> sources | ||
!Source | !Source | ||
! Damage Bonus | ! Damage Bonus | ||
!Conditions | !Conditions | ||
|- | |- | ||
|{{RarityItem|Rhapsody}} | |{{RarityItem|Rhapsody}} | ||
| '''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<ref>The damage bonus is not attached to the weapon. You will keep the '''Scarlet Remittance''' buff even after unequipping the dagger.</ref> | ||
|- | |- | ||
|{{SAI|Arcane Charge (Condition)|Arcane Charge}} | |{{SAI|Arcane Charge (Condition)|Arcane Charge}} | ||
|[[Proficiency Bonus]] | |[[Proficiency Bonus]] | ||
|Target is [[Threatened (Condition)|threatened]] | |Target is [[Threatened (Condition)|threatened]] | ||
|- | |- | ||
|{{RarityItem|Callous Glow Ring}} | |{{RarityItem|Callous Glow Ring}} | ||
|{{DamageText|2|Radiant}} | |{{DamageText|2|Radiant}} | ||
|Target is illuminated (i.e. not [[Obscured]]) | |Target is illuminated (i.e. not [[Obscured]]) | ||
|- | |- | ||
|{{Cond|Lightning Charges}} | |{{Cond|Lightning Charges}} | ||
|{{DamageText|1|Lightning}} | |{{DamageText|1|Lightning}} | ||
|Have at least 1 Lightning Charge | |Have at least 1 Lightning Charge | ||
|- | |- | ||
|{{IconLink|Bulette Bite Icon.webp|Vampire Ascendant|w=24|h=24}} | |{{IconLink|Bulette Bite Icon.webp|Vampire Ascendant|w=24|h=24}} | ||
|{{DamageText|1d10|Necrotic}} | |{{DamageText|1d10|Necrotic}} | ||
|Available only to [[Astarion]] after ascending at the end of [[The Pale Elf]] | |Available only to [[Astarion]] after ascending at the end of [[The Pale Elf]] | ||
Line 83: | Line 68: | ||
|{{RarityItem|Spellmight Gloves}} | |{{RarityItem|Spellmight Gloves}} | ||
|'''1d8''' | |'''1d8''' | ||
| Spell with an attack roll<ref | | Spell with an attack roll<ref>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> | ||
|- | |- | ||
| {{SAI|Agonising Blast}} | | {{SAI|Agonising Blast}} | ||
Line 159: | Line 144: | ||
|{{RarityItem|Shadow-Cloaked Ring}} | |{{RarityItem|Shadow-Cloaked Ring}} | ||
|'''1d4''' | |'''1d4''' | ||
|Unarmed attack<ref | |Unarmed attack<ref>The Shadow-Cloaked Ring boosts both weapon and unarmed damage, but weapon damage is boosted using <code>CharacterWeaponDamage()</code>.</ref> | ||
|- | |- | ||
|{{RarityItem|Dolor Amarus}} | |{{RarityItem|Dolor Amarus}} | ||
|'''7''' | |'''7''' | ||
|[[Critical Hit]]<ref name="crit"/> | |[[Critical Hit]]<ref name="crit">The damage bonus applies to any Critical Hit, not just those made with this weapon.</ref> | ||
|- | |- | ||
|{{RarityItem|Vicious Battleaxe}} | |{{RarityItem|Vicious Battleaxe}} | ||
Line 190: | Line 175: | ||
|Melee attack against a [[Fiend]] or [[Undead]] | |Melee attack against a [[Fiend]] or [[Undead]] | ||
|} | |} | ||
<references | <references /> | ||
== | == <code>DealDamage()</code>== | ||
=== Attached vs detached instances === | === Attached vs detached instances === | ||
There are two sub-categories of | There are two sub-categories of <code>DealDamage()</code> instances: '''attached''' and '''detached'''. | ||
*A | *A <code>DealDamage()</code> instance '''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: | *A '''detached''' <code>DealDamage()</code> 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. | **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>. | **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 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 {{RarityItem|Potent Robe}} or {{SAI|Elemental Affinity: Damage}} which explicitly apply only to spell/cantrip attacks. It will, however, be boosted by more '''universal''' damage riders like {{Cond|Arcane Charge}}. | ||
=== DRS | === Additional DRS sources from class features === | ||
This is a list of class features that provide additional | This is a list of class features that provide additional <code>DealDamage()</code> instances. | ||
{| class="wikitable | {| class="wikitable" style="text-align:center;" | ||
|+Extra | |+Extra <code>DealDamage()</code> sources from class features | ||
!Feature | !Feature | ||
!Class | !Class | ||
Line 228: | Line 199: | ||
|{{nowrap|{{SAI|Sneak Attack}}}} | |{{nowrap|{{SAI|Sneak Attack}}}} | ||
|Level 1<br>{{nowrap|{{Class|Rogue}}}} | |Level 1<br>{{nowrap|{{Class|Rogue}}}} | ||
|'''1d6''' to ''' | |'''1d6''' to '''5d6''' | ||
|Once per turn | |Once per turn. | ||
| | |Sneak Attack will only create a separate damage instance when triggered as an automatic reaction. | ||
Sneak Attack will only create a separate damage instance when triggered as an automatic reaction | |||
|- | |- | ||
|{{nowrap|{{SAI|Divine Smite}}}} | |{{nowrap|{{SAI|Divine Smite}}}} | ||
|Level 2<br>{{nowrap|{{Class|Paladin}}}} | |Level 2<br>{{nowrap|{{Class|Paladin}}}} | ||
|{{DamageColor|Radiant|'''2d8'''|}} to {{DamageColor|Radiant|''' | |{{DamageColor|Radiant|'''2d8'''|}} to {{DamageColor|Radiant|'''4d8'''}} | ||
|Consumes spell slots | |Consumes spell slots. | ||
| | |Also applies to all other Smite variants. | ||
Also applies to all other Smite variants | |||
|- | |- | ||
|{{nowrap|{{SAI|Colossus Slayer}}}} | |{{nowrap|{{SAI|Colossus Slayer}}}} | ||
|Level 3<br>{{nowrap|{{Class|Hunter|noparent=yes}}}} | |Level 3<br>{{nowrap|{{Class|Hunter|noparent=yes}}}} | ||
|'''1d8''' | |'''1d8''' | ||
|Once per turn | |Once per turn. | ||
| | |Target must already be damaged. | ||
Target must already be damaged | |||
|- | |- | ||
|{{nowrap|{{SAI|Heart of the Storm}}}} | |{{nowrap|{{SAI|Heart of the Storm}}}} | ||
|Level 6<br>{{nowrap|{{Class|Storm Sorcery|noparent=yes}}}} | |Level 6<br>{{nowrap|{{Class|Storm Sorcery|noparent=yes}}}} | ||
|{{nowrap|{{DamageColor|Lightning|(Sorcerer level)/2}}}}<br>or<br>{{nowrap|{{DamageColor|Thunder|(Sorcerer level)/2}}}} | |{{nowrap|{{DamageColor|Lightning|(Sorcerer level)/2}}}}<br>or<br>{{nowrap|{{DamageColor|Thunder|(Sorcerer level)/2}}}} | ||
| | | | ||
| | |Applies in a {{range|m=6|ft=20}} radius around you when you cast a {{DamageType|Lightning}} or {{DamageType|Thunder}} damage spell. This damage instance is '''detached''' from the spell. | ||
Applies in a {{range|m=6|ft=20}} radius around you when you cast a | |||
|- | |- | ||
|{{nowrap|{{SAI|Divine Strike}}}} | |{{nowrap|{{SAI|Divine Strike}}}} | ||
|Level 8<br>{{nowrap|{{Class|Cleric}}}} | |Level 8<br>{{nowrap|{{Class|Cleric}}}} | ||
|'''1d8''' | |'''1d8''' | ||
|Once per turn | |Once per turn. | ||
| | |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. | ||
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}} | |{{SAI|Shadow Strike}} | ||
|Level 11<br>{{nowrap|{{Class|Way of Shadow|noparent=yes}}}} | |Level 11<br>{{nowrap|{{Class|Way of Shadow|noparent=yes}}}} | ||
|{{DamageColor|Psychic|'''3d8'''}} | |{{DamageColor|Psychic|'''3d8'''}} | ||
|Consumes {{resource|ki|3}} | |Consumes {{resource|ki|3}}. | ||
| | |Must be {{Cond|invisible}} or {{Cond|Hiding}}. | ||
Must be {{Cond|invisible}} or {{Cond|Hiding}}. | |||
|- | |- | ||
|{{nowrap|{{SAI|Lifedrinker}}}} | |{{nowrap|{{SAI|Lifedrinker}}}} | ||
|Level 12<br>{{Class|Warlock}} | |Level 12<br>{{Class|Warlock}} | ||
|{{DamageColor|Necrotic|'''Charisma modifier'''}} | |{{DamageColor|Necrotic|'''Charisma modifier'''}} | ||
|None | |None. | ||
| | |Applies to all melee weapon attacks. | ||
Applies to all melee weapon attacks. | |||
|- | |- | ||
|} | |} | ||
=== Additional DRS sources attached to ordinary weapon attacks === | |||
This is a list of weapons that can get bonus '''attached''' <code>DealDamage()</code> instances with ordinary attacks. Since these damage instances are attached to a weapon attack, they will be boosted by applicable <code>DamageBonus()</code> sources. | |||
{| class="wikitable" | |||
|+Extra '''attached''' <code>DealDamage()</code> sources for ordinary weapon attacks | |||
=== DRS | |||
This is a list of weapons that can get bonus '''attached''' | |||
{| class="wikitable | |||
|+Extra '''attached''' | |||
!Source | !Source | ||
!Damage Bonus | !Damage Bonus | ||
Line 346: | Line 296: | ||
|[[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 | |} | ||
{| class="wikitable | |||
|+Extra '''detached''' | === Additional detached DRS sources triggered by ordinary weapon attacks === | ||
This is a list of weapons that can get bonus '''detached''' <code>DealDamage()</code> instances with ordinary attacks. Weapon attack related <code>DamageBonus()</code> sources will not apply to these extra damage instances since they are not directly attached to a weapon attack. Only the '''universal''' <code>DamageBonus()</code> sources will apply. | |||
{| class="wikitable" | |||
|+Extra '''detached''' <code>DealDamage()</code> sources from ordinary weapon attacks | |||
!Source | !Source | ||
!Damage Bonus | !Damage Bonus | ||
Line 366: | Line 319: | ||
|} | |} | ||
=== DRS | === Additional DRS sources attached to weapon actions === | ||
This is a list of | This is a list of <code>DealDamage()</code> sources from special [[Weapon actions]]. These sources are inherently more limited by nature of being once-per-short-rest actions. | ||
{| class="wikitable | {| class="wikitable" | ||
|+Extra | |+Extra <code>DealDamage()</code> sources from once-per-short-rest Weapon Actions | ||
!Source | !Source | ||
Line 419: | Line 372: | ||
|Target must have size Large or greater. Also adds your [[Proficiency Bonus]] to the base attack damage | |Target must have size Large or greater. Also adds your [[Proficiency Bonus]] to the base attack damage | ||
|- | |- | ||
|} | |} | ||
Line 476: | Line 378: | ||
* '''Attached''': A damage instance attached to an attack or spell in the damage log. | * '''Attached''': A damage instance attached to an attack or spell in the damage log. | ||
* '''Attack damage''': A damage bonus implemented with <code>WeaponDamage()</code> or similar functions. These bonuses are well-behaved and will only ever apply once per attack. | |||
* '''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''': 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. | * '''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. | ||
Line 481: | Line 384: | ||
* '''DRS''': See '''damage rider source''' | * '''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. | * '''Universal damage rider''': A '''damage rider''' that doesn't have conditions like <code>IsSpell()</code> and can boost even '''detached''' damage instances. | ||