getDistanceToXY: Difference between revisions

From RPTools Wiki
Jump to navigation Jump to search
mNo edit summary
m (Text replacement - "<source" to "<syntaxhighlight")
 
(10 intermediate revisions by 4 users not shown)
Line 1: Line 1:
{{stub}}
{{MacroFunction
{{MacroFunction
|name=getDistanceToXY
|name=getDistanceToXY
Line 7: Line 6:


|usage=
|usage=
<source lang="mtmacro" line>
<syntaxhighlight lang="mtmacro" line>
getDistanceToXY(x, y)
getDistanceToXY(x, y)
</source>
<source lang="mtmacro" line>
getDistanceToXY(x, y, units)
getDistanceToXY(x, y, units)
</source>
<source lang="mtmacro" line>
getDistanceToXY(x, y, units, source)
getDistanceToXY(x, y, units, source)
</source>
getDistanceToXY(x, y, units, source, metric)
getDistanceToXY(x, y, units, source, metric, pixels)
</syntaxhighlight>
'''Parameters'''
'''Parameters'''
* {{code|x}} - The X coordinate of the target grid cell.
{{param|x|The X coordinate of the target grid cell.}}
* {{code|y}} - The Y coordinate of the target grid cell.
{{param|y|The Y coordinate of the target grid cell.}}
* {{code|units}} - If set to {{code|false}}({{code|0}}) the distance is returned in cells. Default is returning Distance Per Cell units.
{{param|units|If set to {{false}}, the distance is returned in cells. Default is returning Distance Per Cell units.}}
* {{code|source}} - The id of the token to measure the distance from. Default is the current token.
{{param|source|The id of the token to measure the distance from. Default is the current token.}}
{{param|metric|The movement metric to use which defaults to the movement metric in the users preferences, the metric can be one of the following strings}}
** {{code|NO_GRID}} - The grid is ignored and straight line distance between the center of the token and the center of the cell is returned.
** {{code|ONE_TWO_ONE}} - First Diagonal movement costs 1, second 2, and so on (Square grid only).
** {{code|ONE_ONE_ONE}} - Diagonal movement costs a single square (Square grid only).
** {{code|MANHATTAN}} - Diagonal movement costs 2 (Square grid only).
** {{code|NO_DIAGONALS}} - No diagonal movement is allowed (Square grid only).
{{param|pixel|If set to {{true}}, the X and Y refer to pixels. If set to {{false}}, they refer to a cell. Default to {{false}}.}}


|example=
To get the distance from the current token to 10,10.
<syntaxhighlight lang="mtmacro" line>
[h: dist = getDistanceToXY(10, 10)]
</syntaxhighlight>
To get the distance between the ''Altar'' and 10, 10 in the number of squares or hexes.
<syntaxhighlight lang="mtmacro" line>
[h: dist = getDistanceToXY(10, 10, 0, "Altar")]
</syntaxhighlight>
To get the distance between the ''Altar'' and 10, 10 in ''map distance'' units.
<syntaxhighlight lang="mtmacro" line>
[h: dist = getDistanceToXY(10, 10, 1, "Altar")]
</syntaxhighlight>
To get the straight line distance between the ''Altar'' and 10, 10.
<syntaxhighlight lang="mtmacro" line>
[h: dist = getDistanceToXY(10, 10, 1, "Altar", "NO_GRID")]
</syntaxhighlight>
|also=
{{func|getDistance}} {{func|getTokens}}
|changes=
{{change|1.3b55|Added the optional {{code|metric}} argument.}}
{{change|1.5.5|Added the {{code|pixel}} argument.}}
}}
}}
[[Category:Distance Function]]
[[Category:Distance Function]]

Latest revision as of 18:42, 14 March 2023

getDistanceToXY() Function

Introduced in version 1.3b51
Gets the distance to a target grid cell.

Usage

getDistanceToXY(x, y)
getDistanceToXY(x, y, units)
getDistanceToXY(x, y, units, source)
getDistanceToXY(x, y, units, source, metric)
getDistanceToXY(x, y, units, source, metric, pixels)

Parameters

  • x - The X coordinate of the target grid cell.
  • y - The Y coordinate of the target grid cell.
  • units - If set to false(0), the distance is returned in cells. Default is returning Distance Per Cell units.
  • source - The id of the token to measure the distance from. Default is the current token.
  • metric - The movement metric to use which defaults to the movement metric in the users preferences, the metric can be one of the following strings
    • NO_GRID - The grid is ignored and straight line distance between the center of the token and the center of the cell is returned.
    • ONE_TWO_ONE - First Diagonal movement costs 1, second 2, and so on (Square grid only).
    • ONE_ONE_ONE - Diagonal movement costs a single square (Square grid only).
    • MANHATTAN - Diagonal movement costs 2 (Square grid only).
    • NO_DIAGONALS - No diagonal movement is allowed (Square grid only).
  • pixel - If set to true(1), the X and Y refer to pixels. If set to false(0), they refer to a cell. Default to false(0).

Example

To get the distance from the current token to 10,10.
[h: dist = getDistanceToXY(10, 10)]

To get the distance between the Altar and 10, 10 in the number of squares or hexes.

[h: dist = getDistanceToXY(10, 10, 0, "Altar")]

To get the distance between the Altar and 10, 10 in map distance units.

[h: dist = getDistanceToXY(10, 10, 1, "Altar")]

To get the straight line distance between the Altar and 10, 10.

[h: dist = getDistanceToXY(10, 10, 1, "Altar", "NO_GRID")]

See Also

Version Changes

  • 1.3b55 - Added the optional metric argument.
  • 1.5.5 - Added the pixel argument.