Ability Range: Difference between revisions

Calculation: rewrite to use https://www.mediawiki.org/wiki/Extension:Variables
 
(16 intermediate revisions by 11 users not shown)
Line 1: Line 1:
[[File:Ability Range.png|thumb|[[Shiv]]'s Slice and Dice ability, improved by bonus [[Ability Range]] and [[Spirit Power]] stats.|class=notpageimage]]
[[File:Ability Range.png|thumb|[[Shiv]]'s Slice and Dice ability, improved by bonus [[Ability Range]] and [[Spirit Power]] stats.|class=notpageimage]]


[[Ability Range]] determines the effective distance and cast range of hero abilities. It is measured in a distance of meters, and stat gains are measured in percentages.
[[Ability Range]] determines the effective distance and cast range of hero abilities and items. It is measured in a distance of meters, and stat gains are measured in percentages.


For example, [[Shiv]]'s '''Slice and Dice''' ability has a dash range of '''12 meters'''. Purchasing [[Mystic Reach]] improves this by '''18%''', making the new effective dash range of the ability '''14.1 meters'''.
For example, [[Shiv]]'s '''Slice and Dice''' ability has a dash range of '''12 meters'''. Purchasing [[Mystic Expansion]] improves this by '''35%''', making the new effective dash range of the ability '''16.2 meters'''.


Stacking sources of ability range increases is an '''additive''' effect. For example, having both [[Improved Reach]] ('''25%''') and [[Divine Barrier]] ('''8%''') will provide a '''33%''' ability range boost.
The range of [[Active Items]] does not consider height and their cast range is shaped like a cylinder. This means their range can be greater than expected when targeting heroes above or below the player.
 
== Calculation ==
 
=== Calculating Ability Range ===
Multiple sources of Ability Range stack '''multiplicatively''', not additively:
 
<math>\text{Total Ability Range} = 1 - (1 - R_1) \times (1 - R_2) \dots</math>
 
'''Example:'''
With '''{{ItemData|{{#vardefineecho: Item1|Greater Expansion}}|TechRangeMultiplier}}''' from {{ItemIcon|Greater Expansion}} and '''{{ItemData|{{#vardefineecho: Item2|Divine Barrier}}|TechRangeMultiplier}}''' from {{ItemIcon|Divine Barrier}}:
# Convert percentages to decimals: {{ItemData|{{#var: Item1}}|TechRangeMultiplier}} to {{#vardefineecho: Item1Range|{{#expr: {{#replace: {{ItemData|{{#var: Item1}}|TechRangeMultiplier}}|%|}} / 100}}}} and {{ItemData|{{#var: Item2}}|TechRangeMultiplier}} to {{#vardefineecho: Item2Range|{{#expr: {{#replace: {{ItemData|{{#var: Item2}}|TechRangeMultiplier}}|%|}} / 100}}}}.
# Subtract from 1: (1 - {{#var: Item1Range}}) = '''{{#expr: 1 - {{#var: Item1Range}}}}''' and (1 - {{#var: Item2Range}}) = '''{{#expr: 1 - {{#var: Item2Range}}}}'''.
# Multiply the differences: {{#expr: 1 - {{#var: Item1Range}}}} × {{#expr: 1 - {{#var: Item2Range}}}} = '''{{#vardefineecho: CombinedItemRange|{{#expr: (1 - {{#var: Item1Range}}) * (1 - {{#var: Item2Range}}) round 4}}}}'''.
# Subtract from 1: 1 - {{#var: CombinedItemRange}} = '''{{#expr: 1 - {{#var: CombinedItemRange}} round 4}}'''.
# Total Ability Range bonus is '''{{#expr: (1 - {{#var: CombinedItemRange}}) * 100}}%''', not {{#expr: ({{#var: Item1Range}} + {{#var: Item2Range}}) * 100 round 1}}%.


== Sources of Ability Range ==
== Sources of Ability Range ==


{{Item stat table|Ability Range}}
{{Item stat table|Ability Range}}
 
* {{ItemIcon|Arcane Surge}} increases the range of the first ability you cast after [[Movement#Dash_Jump|dash jumping]] by {{#invoke:ItemData|get_prop|Arcane Surge|TechRangeMultiplierBuff}}.
* {{ItemIcon|Improved Reach}} increases the range of the [[Imbue|imbued]] ability by {{#invoke:ItemData|get_prop|Improved Reach|ImbuedTechRangeMultiplier}}% and of non-imbued abilities by {{#invoke:ItemData|get_prop|Improved Reach|NonImbuedTechRangeMultiplier}}%.
* {{ItemIcon|Mystic Expansion}} only increases the range of the [[Imbue|imbued]] ability by {{#invoke:ItemData|get_prop|Mystic Expansion|TechRangeMultiplier}}.
* {{ItemIcon|Trophy Collector}} increases ability range by {{#invoke:ItemData|get_prop|Trophy Collector|StackingTechRangeMultiplier}} per stack (up to {{#invoke:ItemData|get_prop|Trophy Collector|MaxStacks}} maximum stacks)
{{Stat navbox}}