Template:StatTable: Difference between revisions

From I-Pixelmon
Jump to navigation Jump to search
No edit summary
No edit summary
Line 1: Line 1:
<templatestyles src="Template:StatTable/styles.css" />
<templatestyles src="Template:StatTable/styles.css" />


<includeonly>
<!-- ── pull parameters / set defaults ────────────────────────────── -->
{{#vardefine:hp  | {{{HP      |0}}} }}
{{#vardefine:atk | {{{Attack  |0}}} }}
{{#vardefine:def | {{{Defense |0}}} }}
{{#vardefine:spa | {{{SpAtk  |0}}} }}
{{#vardefine:spd | {{{SpDef  |0}}} }}
{{#vardefine:spe | {{{Speed  |0}}} }}


{{#vardefine:hp  | {{{HP  |0}}} }}
{{#if:{{{Total|}}}
{{#vardefine:atk | {{{Attack |0}}} }}
  | {{#vardefine:tot | {{{Total}}} }}
{{#vardefine:def  | {{{Defense|0}}} }}
  | {{#vardefine:tot | {{#expr:
{{#vardefine:spa  | {{{SpAtk  |0}}} }}
      {{#var:hp}} + {{#var:atk}} + {{#var:def}} +
{{#vardefine:spd  | {{{SpDef  |0}}} }}
      {{#var:spa}} + {{#var:spd}} + {{#var:spe}} }} }}
{{#vardefine:spe  | {{{Speed |0}}} }}
}}
 
{{#vardefine:tot
  | {{#if:{{{Total|}}} | {{{Total}}}
    | {{#expr:{{#var:hp}}+{{#var:atk}}+{{#var:def}}+{{#var:spa}}+{{#var:spd}}+{{#var:spe}} }}
  }} }}


<!-- ── table ─────────────────────────────────────────────────────── -->
{| class="pkmn-stats" style="border:1px solid #555; background:#dcdce9; border-radius:6px; padding:2px;"
{| class="pkmn-stats" style="border:1px solid #555; background:#dcdce9; border-radius:6px; padding:2px;"
|-
|-
 
! colspan="3" style="display:none;" |
! colspan="3" style="display:none;" | <!-- invisible header keeps table validators happy -->
<!-- rows -->
 
{{#invoke:StatRow|make|hp |HP:        |{{#var:hp}} }}
<!-- 6 stat rows -->
{{#invoke:StatRow|make|atk|Attack:    |{{#var:atk}}}}
{{#lsth:StatTable |row|hp |HP     |HP          }}
{{#invoke:StatRow|make|def|Defense|{{#var:def}}}}
{{#lsth:StatTable |row|atk |Attack |Attack      }}
{{#invoke:StatRow|make|spa|Sp.&nbsp;Atk:|{{#var:spa}}}}
{{#lsth:StatTable |row|def |Defense |Defense      }}
{{#invoke:StatRow|make|spd|Sp.&nbsp;Def:|{{#var:spd}}}}
{{#lsth:StatTable |row|spa |Sp.&nbsp;Atk |SpAtk  }}
{{#invoke:StatRow|make|spe|Speed:    |{{#var:spe}}}}
{{#lsth:StatTable |row|spd |Sp.&nbsp;Def |SpDef  }}
{{#lsth:StatTable |row|spe |Speed   |Speed        }}
 
<!-- total -->
|-
|-
| class="total-row" colspan="3" | Total: {{#var:tot}}
| class="total-row" colspan="3" | Total: {{#var:tot}}
|}
|}
</includeonly>


<noinclude>
<noinclude>
==== Helper for the six rows ====
Displays a Bulbapedia-style base–stat chart.
<onlyinclude>{{#if:{{{row|}}}|
 
<!-- invoked through {{#lsth:StatTable |row|class|Label|Param}} -->
**Parameters**
|-
 
| class="stat-row {{{1}}}" |
`HP | Attack | Defense | SpAtk | SpDef | Speed` 
! class="stat-lbl" | {{{2}}}:
`Total` – optional (auto-calculated if omitted)
| class="stat-bar {{{1}}}" |
  <span class="stat-fill"
        style="width: {{#expr: min( ({{{3}}}), 255 ) * 100 / 255 round 2 }}%"></span>
| class="stat-val" | {{{3}}}
}}</onlyinclude>
</noinclude>
</noinclude>

Revision as of 03:48, 19 May 2025



Displays a Bulbapedia-style base–stat chart.

    • Parameters**

`HP | Attack | Defense | SpAtk | SpDef | Speed` `Total` – optional (auto-calculated if omitted)