Difference between revisions of "Template:Skill range"

From Tokyo Afterschool Summoners
Jump to navigation Jump to search
Line 1: Line 1:
<includeonly><onlyinclude>{{#vardefine:range o|{{#explode:{{{1|0}}}| |0}}}}{{#vardefine:range h|{{#explode:{{{1}}}| |1}}}}{{#vardefine:range v|{{#explode:{{{1}}}| |2}}}}{{#vardefine:range d|{{#explode:{{{1}}}| |3}}}}{{#vardefine:range|{{#switch:{{#var:range o|}}
<includeonly><onlyinclude>{{#vardefine:range o|{{#explode:{{{1|0}}}| |0}}}}{{#vardefine:range h|{{#explode:{{{1}}}| |1}}}}{{#vardefine:range v|{{#explode:{{{1}}}| |2}}}}{{#vardefine:range d|{{#explode:{{{1}}}| |3}}}}{{#vardefine:range|{{#switch:{{#var:range o|}}
| 0 =  
| 0 =  
| 1 = in front of target,
| 1 = in front of target
| -1 = behind target,
| -1 = behind target
|#default = {{#expr:abs({{#var:range o|}})}} square(s) {{#ifexpr: {{#var:range o|}} > 0 |in front of|behind}} target,
|#default = {{#expr:abs({{#var:range o|}})}} square(s) {{#ifexpr: {{#var:range o|}} > 0 |in front of|behind}} target,  
}} {{#ifexpr:{{#var:range d}} != 0 and {{#var:range d}} = {{#var:range h}} and {{#var:range h}} = {{#var:range v}} |{{#var:range d}} squares away
}}{{#ifexpr:{{#var:range d}} != 0 and {{#var:range d}} = {{#var:range h}} and {{#var:range h}} = {{#var:range v}} |, {{#var:range d}} squares away
|{{#ifexpr: {{#var:range h}} != 0 and {{#var:range h}} = {{#var:range v}} |{{#switch:{{#var:range h|}}
|{{#ifexpr: {{#var:range h}} != 0 and {{#var:range h}} = {{#var:range v}} |{{#switch:{{#var:range h|}}
| 1 = directly adjacent,
| 1 = , directly adjacent
| #default = {{#var:range h}} squares away horizontally and vertically,
| #default = , {{#var:range h}} squares away horizontally and vertically
}}|{{#switch:{{#var:range h|}}
}}|{{#switch:{{#var:range h|}}
| 0 =  
| 0 =  
| 1 = horizontally adjacent,
| 1 = , horizontally adjacent
|#default = {{#var:range h|}} squares horizontally,
|#default = , {{#var:range h|}} squares horizontally
}} {{#switch:{{#var:range v|}}
}}{{#switch:{{#var:range v|}}
| 0 =  
| 0 =  
| 1 = vertically adjacent,
| 1 = , vertically adjacent
|#default = {{#var:range v|}} squares vertically,
|#default = , {{#var:range v|}} squares vertically
}}}} {{#switch:{{#var:range d|}}
}}}}{{#switch:{{#var:range d|}}
| 0 = .
| 0 = .
| 1 = 1 square diagonally.
| 1 = , 1 square diagonally.
|#default = {{#var:range d|}} squares diagonally.
|#default = , {{#var:range d|}} squares diagonally.
}}}}}}{{
}}}}}}{{
#vardefine:range|{{#replace:{{#var:range}}|, .|.}}}}{{
#vardefine:range|{{#replace:{{#var:range}}|, .|.}}}}{{
#vardefine:range|{{#replace:{{#var:range}}|,.|.}}}}{{
#vardefine:range|{{#replace:{{#var:range}}|,.|.}}}}{{
#vardefine:range|{{#replace:{{#var:range}}|,,|,}}}}{{
#vardefine:range|{{#replace:{{#var:range}}|target|<abbr title='Either the caster or the unit hit'>target</abbr>}}}}{{
#vardefine:range|{{#replace:{{#var:range}}|target|<abbr title='Either the caster or the unit hit'>target</abbr>}}}}{{
#vardefine:range|{{#replace:{{#var:range}}|diagonally|<abbr title='X-ward, in the corners'>diagonally</abbr>}}}}{{
#vardefine:range|{{#replace:{{#var:range}}|diagonally|<abbr title='X-ward, in the corners'>diagonally</abbr>}}}}{{

Revision as of 04:26, 9 August 2020

Description

Parses a string in the format of [distance] [horizontal] [vertical] [diagonal] into something human readable.

Examples

{{Skill range|0 0 0 0}}

.

{{Skill range|1 0 0 2}}

in front of target, 2 squares diagonally.

{{Skill range|-2 0 0 1}}

2 square(s) behind target, 1 square diagonally.

{{Skill range|1 0 1 0}}

in front of target, vertically adjacent.

{{Skill range|-2 1 0 0}}

2 square(s) behind target, horizontally adjacent.

{{Skill range|0 1 1 0}}

, directly adjacent.

{{Skill range|0 2 2 0}}

, 2 squares away horizontally and vertically.

{{Skill range|0 1 1 1}}

, 1 squares away

{{Skill range|5 6 7 8}}

5 square(s) in front of target, 6 squares horizontally, 7 squares vertically, 8 squares diagonally.