Template:UnitData: Difference between revisions
mNo edit summary |
(Add Phantom Ray) |
||
(75 intermediate revisions by 6 users not shown) | |||
Line 1: | Line 1: | ||
{{#vardefine:update | 0 | {{#vardefine:update | 1.0 | ||
}}{{#vardefine:row | {{#switch: {{{1|{{PAGENAME}}}}} | }}{{#vardefine:row | {{#switch: {{{1|{{PAGENAME}}}}} | ||
<!-- Edit the following data. Don't change names and order! --> | <!-- Edit the following data. Don't change names and order! Last value must be number ?! --> | ||
| #default = HP ; Speed ; Attack ; Interval ; Range ; Splash ; Target ; Units ; Giant ; Mobility ; Cost ; Unlock Cost | | #default = HP ; Speed ; Attack ; Interval ; Range ; Splash ; Target ; Units ; Giant ; Mobility ; Cost ; Unlock Cost ; Rare ; Upkeep | ||
| | | Crawler = 292 ; 16 ; 79 ; 0.6 ; 0 ; 0.0 ; Ground Only ; 24 ; No ; Ground ; 100 ; 0 ; No ; 0 | ||
| Marksman = | | Fang = 117 ; 6 ; 61 ; 1.5 ; 75 ; 0.0 ; Air & Ground ; 18 ; No ; Ground ; 100 ; 0 ; No ; 0 | ||
| | | Arclight = 4414 ; 7 ; 347 ; 0.9 ; 93 ; 7.0 ; Ground Only ; 1 ; No ; Ground ; 100 ; 0 ; No ; 0 | ||
| | | Marksman = 1622 ; 8 ; 2329 ; 3.1 ; 140 ; 0.0 ; Air & Ground ; 1 ; No ; Ground ; 100 ; 0 ; No ; 0 | ||
| Rhino = 19297 ; 16 ; 3297 ; 0.9 ; 0 ; 6.0 ; Ground Only ; 1 ; No ; Ground ; 200 ; 50 | | Mustang = 343 ; 16 ; 37 ; 0.4 ; 95 ; 0.0 ; Air & Ground ; 12 ; No ; Ground ; 200 ; 50 ; No ; 0 | ||
| Wasp = | | Sledgehammer = 3478 ; 7 ; 608 ; 4.5 ; 95 ; 5.0 ; Ground Only ; 5 ; No ; Ground ; 200 ; 50 ; No ; 0 | ||
| | | Stormcaller = 1149 ; 6 ; 784 * 4 ; 6.3 ; 180 ; 5.5 ; Ground Only ; 4 ; No ; Ground ; 200 ; 50 ; No ; 0 | ||
| | | Steel Ball = 4571 ; 16 ; 2 - 2605 ; 0.2 ; 45 ; 0.0 ; Ground Only ; 4 ; No ; Ground ; 200 ; 50 ; No ; 0 | ||
| | | Tarantula = 15631 ; 8 ; 580 ; 0.6 ; 75 ; 5.0 ; Ground ; 1 ; No ; Ground ; 200 ; 50 ; No ; 0 | ||
| | | Rhino = 19297 ; 16 ; 3297 ; 0.9 ; 0 ; 6.0 ; Ground Only ; 1 ; No ; Ground ; 200 ; 50 ; No ; 0 | ||
| Overlord = | | Hacker = 3249 ; 8 ; 585 ; 0.3 ; 110 ; 0.0 ; Ground Only ; 1 ; No ; Ground ; 200 ; 100 ; No ; 0 | ||
| | | Wasp = 311 ; 16 ; 202 ; 1.4 ; 50 ; 0.0 ; Air & Ground ; 12 ; No ; Air ; 200 ; 50 ; No ; 0 | ||
| | | Phoenix = 1464 ; 16 ; 2981 ; 3.2 ; 120 ; 0.0 ; Air & Ground ; 2 ; No ; Air ; 200 ; 50 ; No ; 0 | ||
| | | Wraith = 15001 ; 12 ; 405 * 4 ; 1.6 ; 55 ; 8.0 ; Air & Ground ; 1 ; No ; Air ; 300 ; 100 ; No ; 0 | ||
| | | Scorpion = 18632 ; 7 ; 10047 ; 4.5 ; 100 ; 15.0 ; Ground ; 1 ; No ; Ground ; 300 ; 100 ; No ; 0 | ||
| | | Vulcan = 36054 ; 6 ; 86 ; 0.1 ; 95 ; 15.0 ; Ground Only ; 1 ; Yes ; Ground ; 400 ; 200 ; No ; 0 | ||
| Melting Point = 30907 ; 6 ; 2 - 7952 ; 0.2 ; 115 ; 3.0 ; Air & Ground ; 1 ; Yes ; Ground ; 400 ; 200 ; No ; 0 | |||
| Fortress = 43938 ; 6 ; 6177 ; 1.8 ; 100 ; 5.0 ; Ground Only ; 1 ; Yes ; Ground ; 400 ; 200 ; No ; 0 | |||
| Sandworm = 48645 ; 16 ; 8324 ; 2.5 ; 0 ; 12.0 ; Ground ; 1 ; Yes ; Ground ; 400 ; 200 ; No ; 0 | |||
| Overlord = 16099 ; 10 ; 3742 * 4 ; 4.6 ; 110 ; 7.0 ; Air & Ground ; 1 ; Yes ; Air ; 400 ; 200 ; No ; 0 | |||
| War Factory = 146782 ; 6 ; 7184 * 2 ; 1.8 ; 100 ; 4.5 ; Ground Only ; 1 ; Yes ; Ground ; 800 ; 200 ; No ; 200 | |||
| Fire Badger = 5184 ; 10 ; 27 ; 0.1 ; 60 ; 9.0 ; Ground ; 3 ; No ; Ground ; 200 ; 0 ; Yes ; 0 | |||
| Sabertooth = 15258 ; 8 ; 6000 ; 3.0 ; 95 ; 6.0 ; Ground ; 1 ; No ; Ground ; 200 ; 0 ; Yes ; 0 | |||
| Typhoon = 10030 ; 9 ; 88 ; 0.2 ; 100 ; 5.0 ; Ground ; 2 ; No ; Air & Ground ; 300 ; 0 ; Yes ; 0 | |||
| Farseer = 11991 ; 16 ; 1148 ; 1.6 ; 125 ; 8.0 ; Ground ; 1 ; No ; Air & Ground ; 300 ; 0 ; Yes ; 0 | |||
| Larva = 5746 ; 16 ; 1027; 2 ; 0 ; 6.0 ; Ground Only ; 1 ; No ; Ground ; 0 ; 0 ; No ; 0 | |||
| Spider Mine = 750 ; 21 ; 4500 ; N/A ; 0 ; 9.0 ; Ground Only ; 1 ; No ; Ground ; 0 ; 0 ; No ; 0 | |||
| Phantom Ray = 3159 ; 16 ; 1036 * 2 ; 3 ; 65 ; 3 ; Air & Ground ; 3 ; No ; Air ; 200 ; 50 ; No ; 0 | |||
<!-- ----------------------------- end data ----------------------------- --> | <!-- ----------------------------- end data ----------------------------- --> | ||
}} | }} | ||
}}<noinclude> | }}<noinclude> | ||
This template contains all unit data (HP, Speed, Attack, (Attack) Interval, Range, Splash (Range), Target, Units, Giant, Mobility, Cost, Unlock Cost) | This template contains all unit data (HP, Speed, Attack, (Attack) Interval, Range, Splash (Range), Target, Units, Giant, Mobility, Cost, Unlock Cost, Upkeep) | ||
Using the Template with a unit name sets the variables ''<nowiki>{{UnitData|Fortress}}</nowiki>'' | Using the Template with a unit name sets the variables ''<nowiki>{{UnitData|Fortress}}</nowiki>'' | ||
Line 32: | Line 44: | ||
Melting damage is set as a range "1 - 9000" allowing the math to work. | Melting damage is set as a range "1 - 9000" allowing the math to work. | ||
Missiles usually | Missiles usually come in packs of 4 but the damage/attack shown is for one missile, so add a multiplier e.g. "555 * 4" looks nicer and the math works fine. | ||
<hr></noinclude>{{#iferror: {{#expr: {{#sub:{{#var:row}}|-1}} }} | <hr></noinclude>{{#iferror: {{#expr: {{#sub:{{#var:row}}|-1}} }} | ||
| Error: Unit "{{{1|{{PAGENAME}}}}}" undefined! | | Error: Unit "{{{1|{{PAGENAME}}}}}" undefined! | ||
| <!-- no error - --> | | <!-- no error - --> | ||
{{#vardefine:shots | | |||
{{#if: {{#pos: {{#explode: {{#var:row}} | ; | 2 }} | * }} | |||
| {{#explode: {{#explode: {{#var:row}} | ; | 2 }} | * | 1 }} | |||
| 1 | |||
}} | |||
}} | |||
{{#vardefine:atk_tmp | {{#ifexpr: ({{#explode: {{#var:row}} | ; | 2 }}) < 1 <!-- if melting damage --> | |||
| {{#expr: {{#explode: {{#explode: {{#var:row}} | ; | 2 }} | - | 0 }} * {{{level|1}}} | |||
}} - {{#expr: {{#explode: {{#explode: {{#var:row}} | ; | 2 }} | - | 1 }} * {{{level|1}}} }} | |||
| {{#if: {{#pos: {{#explode: {{#var:row}} | ; | 2 }} | * }} <!-- if multi shot --> | |||
| {{#expr: {{#explode: {{#var:row}} | ; | 2 }} * {{{level|1}}} / {{#var:shots}} }} * {{#var:shots}} | |||
| {{#expr: {{#explode: {{#var:row}} | ; | 2 }} * {{{level|1}}} }} | |||
}} | |||
}} | |||
}} | |||
{{#if:{{{2|}}} | {{#if:{{{2|}}} | ||
|<!-- return val --> {{#switch: {{{2}}} | |<!-- return val --> {{#switch: {{{2}}} | ||
Line 42: | Line 70: | ||
| hp = {{#expr: {{#explode: {{#var:row}} | ; | 0 }} * {{{level|1}}} }} | | hp = {{#expr: {{#explode: {{#var:row}} | ; | 0 }} * {{{level|1}}} }} | ||
| speed = {{#explode: {{#var:row}} | ; | 1 }} | | speed = {{#explode: {{#var:row}} | ; | 1 }} | ||
| atk = | | atk = {{#var:atk_tmp}} | ||
| atkint = {{#explode: {{#var:row}} | ; | 3 }} | | atkint = {{#explode: {{#var:row}} | ; | 3 }} | ||
| range = {{#explode: {{#var:row}} | ; | 4 }} | | range = {{#explode: {{#var:row}} | ; | 4 }} | ||
Line 59: | Line 80: | ||
| cost = {{#expr: {{#explode: {{#var:row}} | ; | 10 }} * ({{{level|1}}} + 1) / 2 }} | | cost = {{#expr: {{#explode: {{#var:row}} | ; | 10 }} * ({{{level|1}}} + 1) / 2 }} | ||
| unlockcost = {{#explode: {{#var:row}} | ; | 11 }} | | unlockcost = {{#explode: {{#var:row}} | ; | 11 }} | ||
| rare = {{#explode: {{#var:row}} | ; | 12 }} | |||
| upkeep = {{#explode: {{#var:row}} | ; | 13 }} | |||
}} | }} | ||
|<!-- else vardefine -->{{#vardefine:level | {{{level|1}}} | |<!-- else vardefine -->{{#vardefine:level | {{{level|1}}} | ||
}}{{#vardefine:hp | {{#expr: {{#explode: {{#var:row}} | ; | 0 }} * {{#var:level}} }} | }}{{#vardefine:hp | {{#expr: {{#explode: {{#var:row}} | ; | 0 }} * {{#var:level}} }} | ||
}}{{#vardefine:speed | {{#explode: {{#var:row}} | ; | 1 }} | }}{{#vardefine:speed | {{#explode: {{#var:row}} | ; | 1 }} | ||
}}{{#vardefine:atk | | }}{{#vardefine:atk | {{#var:atk_tmp}} | ||
}}{{#vardefine:atkint | {{#explode: {{#var:row}} | ; | 3 }} | }}{{#vardefine:atkint | {{#explode: {{#var:row}} | ; | 3 }} | ||
}}{{#vardefine:range | {{#explode: {{#var:row}} | ; | 4 }} | }}{{#vardefine:range | {{#explode: {{#var:row}} | ; | 4 }} | ||
Line 80: | Line 96: | ||
}}{{#vardefine:cost | {{#expr: {{#explode: {{#var:row}} | ; | 10 }} * ({{#var:level}} + 1) / 2 }} | }}{{#vardefine:cost | {{#expr: {{#explode: {{#var:row}} | ; | 10 }} * ({{#var:level}} + 1) / 2 }} | ||
}}{{#vardefine:unlockcost | {{#explode: {{#var:row}} | ; | 11 }} | }}{{#vardefine:unlockcost | {{#explode: {{#var:row}} | ; | 11 }} | ||
}}{{#vardefine:rare | {{#explode: {{#var:row}} | ; | 12 }} | |||
}}{{#vardefine:upkeep | {{#explode: {{#var:row}} | ; | 13 }} | |||
}}<!-- calculated variables | }}<!-- calculated variables | ||
-->{{#vardefine:burst|{{#ifexpr: ({{#var:atk|0}}) < 1 | 0 | {{#expr: abs({{#var:atk|0}}) * {{#var:units|1}} round 0 }} }} | -->{{#vardefine:burst|{{#ifexpr: ({{#var:atk|0}}) < 1 | 0 | {{#expr: abs({{#var:atk|0}}) * {{#var:units|1}} round 0 }} }} | ||
}}{{#vardefine:dps| | }} | ||
{{#vardefine:dps| | |||
{{#ifeq: {{{1|{{PAGENAME}}}}} | Spider Mine | N/A | |||
| {{#ifexpr: ({{#var:atk|0}}) < 1 <!-- if melting damage --> | |||
| {{#expr: {{#explode: {{#var:atk|-0}} | - | 1 }} * {{#var:units|1}} / {{#var:atkint|1}} round 0 }} | |||
}}<!-- end vardefine --> | | {{#expr: abs({{#var:atk|0}}) * {{#var:units|1}} / {{#var:atkint|1}} round 0 }} | ||
}} | |||
}} | |||
}} | |||
<!-- more variables | |||
-->{{#vardefine:min_cost | {{#expr: {{#var:cost}} / {{#var:units}} round 1}} | |||
}}{{#vardefine:max_cost | {{#expr: ({{#var:cost}} + {{#var:unlockcost}}) / {{#var:units}} round 1}} | |||
}} | |||
{{#vardefine:total_cost | {{#expr: {{#var:cost}} + {{#var:unlockcost}} }} }} | |||
{{#vardefine:min_hp_val | | |||
{{#ifexpr: {{#var:cost}} > 0 | | |||
{{#expr: ({{#var:hp}} * {{#var:units}}) / {{#var:total_cost}} round 1}} | |||
| 0 | |||
}} | |||
}} | |||
{{#vardefine:max_hp_val | {{#ifeq: {{#var:cost}} | 0 | N/A | {{#expr: ({{#var:hp}} * {{#var:units}}) / {{#var:cost}} round 1}}}} }} | |||
{{#vardefine:min_burst_val | {{#expr: {{#var:burst}} / ({{#var:cost}} + {{#var:unlockcost}}) round 1}}}} | |||
{{#vardefine:max_burst_val | {{#ifeq: {{#var:cost}} | 0 | N/A | {{#expr: {{#var:burst}} / {{#var:cost}} round 1}}}}}} | |||
{{#vardefine:min_dps_val | {{#expr: {{#var:dps}} / ({{#var:cost}} + {{#var:unlockcost}}) round 1}}}} | |||
{{#vardefine:max_dps_val | {{#ifeq: {{#var:cost}} | 0 | N/A | {{#expr: {{#var:dps}} / {{#var:cost}} round 1}}}}}} | |||
{{#vardefine:splash_index | | |||
{{#ifeq: {{{1|{{PAGENAME}}}}} | Spider Mine | N/A | | |||
{{#expr: | |||
{{#ifeq: {{#var:splash}} | 0 | 1 | {{#var:splash}} }} | |||
{{#if: {{#pos: {{#var:atk}} | * }} | * {{#var:shots}} }} | |||
{{#if: {{#pos: {{#var:atk}} | - }} | * .025 <!-- damage build up --> | | |||
{{#ifexpr: ({{#var:atk}}) < 350 | * (({{#var:atk}}) / 350) }} | |||
}} | |||
* {{#var:units}} | |||
/ {{#ifeq: {{{1|{{PAGENAME}}}}} | Hacker | 3 <!-- slow switching --> | {{#var:atkint}} }} | |||
round 1 | |||
}} | |||
}} | |||
}}<!-- end vardefine --> | |||
}} | }} | ||
}} | }} |
Latest revision as of 15:22, 16 November 2024
This template contains all unit data (HP, Speed, Attack, (Attack) Interval, Range, Splash (Range), Target, Units, Giant, Mobility, Cost, Unlock Cost, Upkeep)
Using the Template with a unit name sets the variables {{UnitData|Fortress}}
On the unit pages the data is automatically pulled and placed in variables (hp, speed, atk, atkint, range, splash, target, units, giant, mobility, cost, unlockcost, burst, dps), ready to use on the page with e.g. {{#var:speed}}.
A single value can be pulled without overriding the variables {{UnitData|Fortress|speed}}.
Melting damage is set as a range "1 - 9000" allowing the math to work.
Missiles usually come in packs of 4 but the damage/attack shown is for one missile, so add a multiplier e.g. "555 * 4" looks nicer and the math works fine.
Error: Unit "UnitData" undefined!