Template:UnitData: Difference between revisions

From Mechabellum Wiki
No edit summary
No edit summary
 
(3 intermediate revisions by the same user not shown)
Line 28: Line 28:
  | 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 ; 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 ; Yes ; 0
  | Spider Mine = 750 ; 21 ; 4500 ; N/A ; 0 ; 9.0 ; Ground Only ; 1 ; No ; Ground ; 0 ; 0 ; No ; 0
<!-- ----------------------------- end data ----------------------------- -->
<!-- ----------------------------- end data ----------------------------- -->
   }}
   }}
Line 101: Line 101:
     }}
     }}
{{#vardefine:dps|  
{{#vardefine:dps|  
  {{#ifexpr: ({{#var:atk|0}}) < 1 <!-- if melting damage -->
  {{#ifeq: {{{1|{{PAGENAME}}}}} | Spider Mine | N/A
| {{#expr: {{#explode: {{#var:atk|-0}} | - | 1 }} * {{#var:units|1}} / {{#var:atkint|1}} round 0 }}  
| {{#ifexpr: ({{#var:atk|0}}) < 1 <!-- if melting damage -->
| {{#ifeq: {{#expr: abs({{#var:atk|0}}) * {{#var:units|1}} / {{#var:atkint|1}} round 0 }}  
  | {{#expr: {{#explode: {{#var:atk|-0}} | - | 1 }} * {{#var:units|1}} / {{#var:atkint|1}} round 0 }}  
  | 4500
  | {{#expr: abs({{#var:atk|0}}) * {{#var:units|1}} / {{#var:atkint|1}} round 0 }}
  | N/A
}}
  | {{#expr: abs({{#var:atk|0}}) * {{#var:units|1}} / {{#var:atkint|1}} round 0 }}
  }}
  }}  
}}
  }}  
<!-- more variables
}}<!-- 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}}  
Line 121: Line 120:
}}
}}


{{#vardefine:max_hp_val | {{#ifeq: {{#var:cost}} | 0 | 0 | {{#expr: ({{#var:hp}} * {{#var:units}}) / {{#var:cost}} round 1}}}} }}
{{#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:min_burst_val | {{#expr: {{#var:burst}} / ({{#var:cost}} + {{#var:unlockcost}}) round 1}}}}
{{#vardefine:max_burst_val | {{#ifeq: {{#var:cost}} | 0 | 0 | {{#expr: {{#var:burst}} / {{#var:cost}} 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:min_dps_val | {{#expr: {{#var:dps}} / ({{#var:cost}} + {{#var:unlockcost}}) round 1}}}}
{{#vardefine:max_dps_val | {{#ifeq: {{#var:cost}} | 0 | 0 | {{#expr: {{#var:dps}} / {{#var:cost}} round 1}}}}}}
{{#vardefine:max_dps_val | {{#ifeq: {{#var:cost}} | 0 | N/A | {{#expr: {{#var:dps}} / {{#var:cost}} round 1}}}}}}
{{#vardefine:splash_index | {{#expr:  
{{#vardefine:splash_index |  
        {{#ifeq: {{#var:splash}} | 0 | 1 | {{#var:splash}} }}  
  {{#ifeq: {{{1|{{PAGENAME}}}}} | Spider Mine | N/A |
        {{#if: {{#pos: {{#var:atk}} | * }} | * {{#var:shots}} }}
{{#expr:  
        {{#if: {{#pos: {{#var:atk}} | - }} | * .025 <!-- damage build up --> |  
  {{#ifeq: {{#var:splash}} | 0 | 1 | {{#var:splash}} }}  
          {{#ifexpr: ({{#var:atk}}) < 350 | * (({{#var:atk}}) / 350) }}
  {{#if: {{#pos: {{#var:atk}} | * }} | * {{#var:shots}} }}
        }}
  {{#if: {{#pos: {{#var:atk}} | - }} | * .025 <!-- damage build up --> |  
        * {{#var:units}}
{{#ifexpr: ({{#var:atk}}) < 350 | * (({{#var:atk}}) / 350) }}
        / {{#ifeq: {{{1|{{PAGENAME}}}}} | Hacker | 3 <!-- slow switching --> | {{#var:atkint}} }}
  }}
        round 1
  * {{#var:units}}
      }}
  / {{#ifeq: {{{1|{{PAGENAME}}}}} | Hacker | 3 <!-- slow switching --> | {{#var:atkint}} }}
    }}<!-- end vardefine -->
  round 1
}}
  }}
}}<!-- end vardefine -->
   }}
   }}
}}
}}

Latest revision as of 11:13, 19 October 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!