Template:UnitData: Difference between revisions

From Mechabellum Wiki
(bugfix - last value can't be text - swap upkeep and rare values)
(Add Phantom Ray)
 
(26 intermediate revisions by 2 users not shown)
Line 1: Line 1:
{{#vardefine:update | 0.9.0.1
{{#vardefine:update | 1.0
}}{{#vardefine:row | {{#switch: {{{1|{{PAGENAME}}}}}
}}{{#vardefine:row | {{#switch: {{{1|{{PAGENAME}}}}}
<!-- Edit the following data. Don't change names and order! Last value must be number ?! -->
<!-- Edit the following data. Don't change names and order! Last value must be number ?! -->
Line 5: Line 5:
  | Crawler = 292 ; 16 ; 79 ; 0.6 ; 0 ; 0.0 ; Ground Only ; 24 ; No ; Ground ; 100 ; 0 ; No ; 0
  | Crawler = 292 ; 16 ; 79 ; 0.6 ; 0 ; 0.0 ; Ground Only ; 24 ; No ; Ground ; 100 ; 0 ; No ; 0
  | Fang = 117 ; 6 ; 61 ; 1.5 ; 75 ; 0.0 ; Air & Ground ; 18 ; No ; Ground ; 100 ; 0 ; No ; 0
  | Fang = 117 ; 6 ; 61 ; 1.5 ; 75 ; 0.0 ; Air & Ground ; 18 ; No ; Ground ; 100 ; 0 ; No ; 0
  | Arclight = 4414 ; 7 ; 391 ; 1.1 ; 93 ; 7.0 ; Ground Only ; 1 ; 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
  | Marksman = 1622 ; 8 ; 2329 ; 3.1 ; 140 ; 0.0 ; Air & Ground ; 1 ; No ; Ground ; 100 ; 0 ; No ; 0
  | Mustang = 343 ; 16 ; 37 ; 0.4 ; 95 ; 0.0 ; Air & Ground ; 12 ; No ; Ground ; 200 ; 50 ; No ; 0
  | Mustang = 343 ; 16 ; 37 ; 0.4 ; 95 ; 0.0 ; Air & Ground ; 12 ; No ; Ground ; 200 ; 50 ; No ; 0
  | Sledgehammer = 3478 ; 7 ; 608 ; 4.5 ; 95 ; 5.0 ; Ground Only ; 5 ; No ; Ground ; 200 ; 50 ; No ; 0
  | Sledgehammer = 3478 ; 7 ; 608 ; 4.5 ; 95 ; 5.0 ; Ground Only ; 5 ; No ; Ground ; 200 ; 50 ; No ; 0
  | Stormcaller = 1149 ; 6 ; 860 * 4 ; 6.3 ; 180 ; 5.5 ; Ground Only ; 4 ; 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
  | Steel Ball = 4571 ; 16 ; 2 - 2605 ; 0.2 ; 45 ; 0.0 ; Ground Only ; 4 ; No ; Ground ; 200 ; 50 ; No ; 0
  | Tarantula = 15950 ; 8 ; 580 * 2 ; 0.6 ; 75 ; 5.0 ; Ground ; 1 ; 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
  | Rhino = 19297 ; 16 ; 3297 ; 0.9 ; 0 ; 6.0 ; Ground Only ; 1 ; No ; Ground ; 200 ; 50 ; No ; 0
  | Hacker = 3249 ; 8 ; 585 ; 0.3 ; 110 ; 0.0 ; Ground Only ; 1 ; No ; Ground ; 200 ; 100 ; No ; 0
  | Hacker = 3249 ; 8 ; 585 ; 0.3 ; 110 ; 0.0 ; Ground Only ; 1 ; No ; Ground ; 200 ; 100 ; No ; 0
Line 17: Line 17:
  | Phoenix = 1464 ; 16 ; 2981 ; 3.2 ; 120 ; 0.0 ; Air & Ground ; 2 ; 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
  | Wraith = 15001 ; 12 ; 405 * 4 ; 1.6 ; 55 ; 8.0 ; Air & Ground ; 1 ; No ; Air ; 300 ; 100 ; No ; 0
  | Scorpion = 19625 ; 7 ; 10047 ; 4.5 ; 100 ; 15.0 ; Ground ; 1 ; No ; Ground ; 300 ; 100 ; No ; 0
  | Scorpion = 18632 ; 7 ; 10047 ; 4.5 ; 100 ; 15.0 ; Ground ; 1 ; No ; Ground ; 300 ; 100 ; No ; 0
  | Vulcan = 39920 ; 6 ; 90 ; 0.1 ; 95 ; 15.0 ; Ground Only ; 1 ; Yes ; Ground ; 400 ; 200 ; 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
  | Melting Point = 30907 ; 6 ; 2 - 7952 ; 0.2 ; 115 ; 3.0 ; Air & Ground ; 1 ; Yes ; Ground ; 400 ; 200 ; No ; 0
  | Fortress = 45297 ; 6 ; 6369 ; 1.8 ; 100 ; 5.0 ; Ground Only ; 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
  | 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
  | Overlord = 16099 ; 10 ; 3742 * 4 ; 4.6 ; 110 ; 7.0 ; Air & Ground ; 1 ; Yes ; Air ; 400 ; 200 ; No ; 0
  | War Factory = 166798 ; 6 ; 6843 * 2 ; 1.8 ; 100 ; 4.5 ; Ground Only ; 1 ; Yes ; Ground ; 800 ; 200 ; No ; 200
  | War Factory = 146782 ; 6 ; 7184 * 2 ; 1.8 ; 100 ; 4.5 ; Ground Only ; 1 ; Yes ; Ground ; 800 ; 200 ; No ; 200
  | Fire Badger = 5635 ; 10 ; 27 ; 0.1 ; 60 ; 9.0 ; Ground ; 3 ; No ; Ground ; 200 ; 0 ; Yes ; 0
  | 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
  | 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
  | 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
  | 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 ----------------------------- -->
   }}
   }}
Line 46: Line 49:
   | 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 -->
   {{#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 }} | - | 0 }} * {{{level|1}}}  
             }} - {{#expr: {{#explode: {{#explode: {{#var:row}} | ; | 2 }} | - | 1 }} * {{{level|1}}} }}
             }} - {{#expr: {{#explode: {{#explode: {{#var:row}} | ; | 2 }} | - | 1 }} * {{{level|1}}} }}
           | {{#if: {{#pos: {{#explode: {{#var:row}} | ; | 2 }} | * }} <!-- if * 4 missiles -->
           | {{#if: {{#pos: {{#explode: {{#var:row}} | ; | 2 }} | * }} <!-- if multi shot -->
             | {{#expr: {{#explode: {{#var:row}} | ; | 2 }} * {{{level|1}}} / 4 }} * 4
             | {{#expr: {{#explode: {{#var:row}} | ; | 2 }} * {{{level|1}}} / {{#var:shots}} }} * {{#var:shots}}
             | {{#expr: {{#explode: {{#var:row}} | ; | 2 }} * {{{level|1}}} }}
             | {{#expr: {{#explode: {{#var:row}} | ; | 2 }} * {{{level|1}}} }}
           }}
           }}
Line 91: Line 100:
     }}<!-- 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|
     }}
      {{#ifexpr: ({{#var:atk|0}}) < 1 <!-- if melting damage -->
{{#vardefine:dps|  
        | {{#expr: {{#explode: {{#var:atk|-0}} | - | 1 }} * {{#var:units|1}} / {{#var:atkint|1}} round 0 }}
  {{#ifeq: {{{1|{{PAGENAME}}}}} | Spider Mine | N/A
        | {{#expr: abs({{#var:atk|0}}) * {{#var:units|1}} / {{#var:atkint|1}} round 0 }}
| {{#ifexpr: ({{#var:atk|0}}) < 1 <!-- if melting damage -->
      }}
  | {{#expr: {{#explode: {{#var:atk|-0}} | - | 1 }} * {{#var:units|1}} / {{#var:atkint|1}} round 0 }}  
    }}<!-- more variables
  | {{#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:min_cost | {{#expr: {{#var:cost}} / {{#var:units}} round 1}}
     }}{{#vardefine:max_cost | {{#expr: ({{#var:cost}} + {{#var:unlockcost}}) / {{#var:units}} round 1}}  
     }}{{#vardefine:max_cost | {{#expr: ({{#var:cost}} + {{#var:unlockcost}}) / {{#var:units}} round 1}}  
    }}{{#vardefine:min_hp_val | {{#expr: ({{#var:hp}} * {{#var:units}}) / ({{#var:cost}} + {{#var:unlockcost}}) round 1}}  
}}
    }}{{#vardefine:max_hp_val | {{#expr: ({{#var:hp}} * {{#var:units}}) / {{#var:cost}} round 1}}  
{{#vardefine:total_cost | {{#expr: {{#var:cost}} + {{#var:unlockcost}} }} }}
    }}{{#vardefine:min_burst_val | {{#expr: {{#var:burst}} / ({{#var:cost}} + {{#var:unlockcost}}) round 1}}  
{{#vardefine:min_hp_val |
    }}{{#vardefine:max_burst_val | {{#expr: {{#var:burst}} / {{#var:cost}} round 1}}  
  {{#ifexpr: {{#var:cost}} > 0 |
    }}{{#vardefine:min_dps_val | {{#expr: {{#var:dps}} / ({{#var:cost}} + {{#var:unlockcost}}) round 1}}  
{{#expr: ({{#var:hp}} * {{#var:units}}) / {{#var:total_cost}} round 1}}  
    }}{{#vardefine:max_dps_val | {{#expr: {{#var:dps}} / {{#var:cost}} round 1}}  
| 0
    }}{{#vardefine:splash_index | {{#expr:  
  }}
        {{#ifeq: {{#var:splash}} | 0 | 1 | {{#var:splash}} }}  
}}
        {{#if: {{#pos: {{#var:atk}} | * }} | * 4 }}
 
        {{#if: {{#pos: {{#var:atk}} | - }} | * .025 <!-- damage build up --> |  
{{#vardefine:max_hp_val | {{#ifeq: {{#var:cost}} | 0 | N/A | {{#expr: ({{#var:hp}} * {{#var:units}}) / {{#var:cost}} round 1}}}} }}
          {{#ifexpr: ({{#var:atk}}) < 350 | * (({{#var:atk}}) / 350) }}
 
        }}
{{#vardefine:min_burst_val | {{#expr: {{#var:burst}} / ({{#var:cost}} + {{#var:unlockcost}}) round 1}}}}
        * {{#var:units}}
        / {{#ifeq: {{{1|{{PAGENAME}}}}} | Hacker | 3 <!-- slow switching --> | {{#var:atkint}} }}
{{#vardefine:max_burst_val | {{#ifeq: {{#var:cost}} | 0 | N/A | {{#expr: {{#var:burst}} / {{#var:cost}} round 1}}}}}}
        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}}}}}}
    }}<!-- end vardefine -->
{{#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!