Skip to content

TargeterDefinitionRange

Class Documentation

Edit documentation

A targeting indicator that draws a range circle on the ground, by default the cast range around the caster. The radius can grow while the player aims, and a second circle can show the largest radius of that growth.

Range growth

The range circle, TargeterDefinitionLine and TargeterDefinitionCone compute a growing range each frame from a base range and three growth values, rangeGrowthStartTime, rangeGrowthDuration and rangeGrowthMax. The time t is the time in seconds since the targeting mode started.

  1. The base range b is the holder's base range property if it is set, otherwise the display cast range of the spell.
  2. The range grows only if the spell has cast range growth (at some level both mCastRangeGrowthMax and mCastRangeGrowthDuration are greater than 0), or if rangeGrowthDuration and rangeGrowthMax are both set and greater than 0. Otherwise the range is b.
  3. The start s is rangeGrowthStartTime if it is set, otherwise mCastRangeGrowthStartTime at the spell level. Until t passes s, the range is b.
  4. The duration d is rangeGrowthDuration if it is set and not 0, otherwise mCastRangeGrowthDuration at the spell level.
  5. The maximum m is rangeGrowthMax if it is set, otherwise mCastRangeGrowthMax at the spell level. A maximum that the game sets on the spell at run time takes precedence over both.
  6. The range is max(b, min(m, b + (t - s) / d * (m - b))).

The range grows linearly from b to m over d seconds and then holds at m. A duration of 0 makes the range jump to m at the start time.

Properties

hasMaxGrowRange

Bool = false
Edit documentation

Draws a second circle at the maximum of the range growth, with the textureMaxGrowName texture. Its radius is rangeGrowthMax if that is set, otherwise mCastRangeGrowthMax at the spell level.

hideWithLineIndicator

Bool = false
Edit documentation

Hides the circle while the line indicators are shown. If it is true and the EnableLineMissileVis game setting is on, the circle is not drawn. With the setting off, the circle draws. Paired with a line without alwaysDraw, the spell shows the line when the setting is on and the circle when it is off.

overrideBaseRange

Embed<FloatPerSpellLevel> = { "mValueType": 0, "mPerLevelValues": [0, 0, 0, 0, 0, 0] }
Edit documentation

Base radius of the circle, in world units, before range growth. If it is unset, the circle uses the display cast range of the spell.

rangeGrowthDuration

Embed<FloatPerSpellLevel> = { "mValueType": 0, "mPerLevelValues": [0, 0, 0, 0, 0, 0] }
Edit documentation

Time, in seconds, that the radius takes to grow to its maximum. If it is unset or 0, the spell's mCastRangeGrowthDuration applies. See Range growth above.

rangeGrowthMax

Embed<FloatPerSpellLevel> = { "mValueType": 0, "mPerLevelValues": [0, 0, 0, 0, 0, 0] }
Edit documentation

Radius, in world units, at the end of the growth. If it is unset, the spell's mCastRangeGrowthMax applies. See Range growth above.

rangeGrowthStartTime

Embed<FloatPerSpellLevel> = { "mValueType": 0, "mPerLevelValues": [0, 0, 0, 0, 0, 0] }
Edit documentation

Time, in seconds after the targeting mode starts, at which the radius starts to grow. If it is unset, the spell's mCastRangeGrowthStartTime applies. See Range growth above.

textureMaxGrowName

File = "0x0"
Type history (2 revisions)
  • 13.15 - 16.16 String
  • since 16.17 File
Edit documentation

Texture of the maximum growth circle, read only with hasMaxGrowRange. The empty fallback and the full-circle rule are the same as for textureOverrideName.

textureOverrideName

File = "0x0"
Type history (2 revisions)
  • 13.15 - 16.16 String
  • since 16.17 File
Edit documentation

Texture of the circle. If it is empty, the circle uses the CircularRangeIndicator texture of SharedTargeterResources, which holds one quarter of the circle: the client mirrors it into all four quarters. A texture set here is drawn once across the whole circle, so it must hold the full circle.

useCasterBoundingBox

Option<Bool> = null
Edit documentation

Adds the caster's bounding radius to the radius when true. If it is not set, the spell's castRangeUseBoundingBoxes decides.