User:NtCarlson/Sandbox: Difference between revisions

Jump to navigation Jump to search
(Some additions to spell DRS section)
(Replaced the term "attack damage" with "weapon rider")
Line 13: Line 13:
|-
|-
|<code>WeaponDamage()</code>
|<code>WeaponDamage()</code>
| rowspan="3" |Attack damage
| 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" |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 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''')
|'''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.
* '''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 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. 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.


==<code>DamageBonus()</code> ==
== Weapon riders (<code>CharacterWeaponDamage()</code>, etc.) ==
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 (<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 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.


Line 430: Line 441:


* '''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 436: Line 446:
* '''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.
* '''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.