User:Samlovesmath/Sandbox: Difference between revisions

Samlovesmath (talk | contribs)
Lady Geist Info Box - cleanup for title
Samlovesmath (talk | contribs)
finished main edits for infobox
Line 1: Line 1:
__TOC__
__TOC__
=Infobox Tests=
=Infobox Tests=
(Note: Only properly viewable with [[User:Samlovesmath/common.css]], and with site's default Common.css disabled.)
===Lady Geist===
===Lady Geist===
Uses new variables:
'''Uses new variables:'''
* color1 (#098959)&nbsp;&nbsp;<span style="font-size:small; opacity:50%">*quote color</span>
* color1 (#098959)&nbsp;&nbsp;<span style="font-size:small; opacity:50%">*quote color</span>
* color1_grad (#0F6D4C)&nbsp;&nbsp;<span style="font-size:small; opacity:50%">*lower background gradient color</span>
* color1_grad (#0F6D4C)&nbsp;&nbsp;<span style="font-size:small; opacity:50%">*lower background gradient color</span>
Line 8: Line 10:
* background image ([[:File:Geist_select_background.png|Geist_select_background.png]])
* background image ([[:File:Geist_select_background.png|Geist_select_background.png]])


(Note: Only properly viewable with [[User:Samlovesmath/common.css]], and with site's default Common.css disabled.)


<span style="font-size:small; opacity:50%">'''''WIP -- Last edited: Feb 15, 2026'''''</span>
'''Todos:'''
* Fix Stat key word links--certain parts that stand for the same thing point to different places
* Fix name logo resizing--unstandard sizing allows images to stretch too high. Check for height instead of width?
**Also make the square behind thumbnail remain the same size even if this error occurs?
* Add class name to bullet/spirit superscript template on certain stats (ex. +48 [heart-gun image]) to make CSS for padding displacement to avoid clipping over where it is placed
* Fix/finish quote replacement
* Lang.json:
** Change Citadel_HeroPage_BaseStats -- BASE STATS ➔ BASE STATISTICS
 
 
'''Errors noted:'''
* Weapon Stat property "Max Range" is a manual template input for heroes such as [[Bebop]]. Future updates to this value would have to be updated manually. Make it properly implemented in HeroData for automatic changes? (ask Sur/LVL/Domo?)
 
<span style="font-size:small; opacity:50%">'''''WIP -- Last edited: Mar 22, 2026'''''</span>
<!--
<!--
-->{{#vardefine:key|hero_ghost}}<!-- hero keyname
-->{{#vardefine:color1|\#098959}} <!-- custom color1
-->{{#vardefine:color1|\#098959}} <!-- custom color1
-->{{#vardefine:color1_grad|\#0F6D4C}} <!-- custom color1 (gradient end)
-->{{#vardefine:color1_grad|\#0F6D4C}} <!-- custom color1 (gradient end)
-->{{#vardefine:color2|\#6DD48C}} <!-- custom color2
-->{{#vardefine:color2|\#6DD48C}} <!-- custom color2
-->{{#vardefine:key|hero_ghost}}<!-- key text
-->{{#vardefine:text_title|\#DCFFE7}} <!-- title color for text
-->{{#vardefine:stats_text|\#bbffbf}} <!-- text color for stat/info dropdowns
-->{{#vardefine:stats_back|\#12301aA3}} <!-- background color for stat/info dropdowns
 
-->{{#vardefine:voice_actor|Abigail Marlowe}} <!-- voice actor
-->{{#vardefine:voice_actor|Abigail Marlowe}} <!-- voice actor
-->{{#vardefine:release_date|April 24, 2024}} <!-- release date
-->{{#vardefine:release_date|April 24, 2024}} <!-- release date
Line 23: Line 42:


-->{{#vardefine:quotemark|"}} <!-- for inserting into html
-->{{#vardefine:quotemark|"}} <!-- for inserting into html
--{{#vardefine:max_range|31}} <!-- manual template value (weapon stats)
-->
-->


<div class="infobox">
<!---- Overridden Variable Styles ---->
<div class="infobox" style=
{{#var:quotemark}}
--infobox_th_text_title: {{#var:text_title}} !important,
--infobox_th_stats_text: {{#var:stats_text}} !important,
--infobox_th_stats_back: {{#var:stats_back}} !important
{{#var:quotemark}}>


<!---- Box Background ---->
<div class="infobox-background">[[File:Geist select background.png|x700px|right]]</div>
<div class="infobox-background">[[File:Geist select background.png|x700px|right]]</div>


Line 32: Line 60:
! colspan="2" class="infobox-title" style="font-size: {{{font-size|25px}}};" |
! colspan="2" class="infobox-title" style="font-size: {{{font-size|25px}}};" |


<!---- Title + Name Image + Hero Thumbnail ---->
<div class="infobox-title-hero" style="display: flex; justify-content: space-between">
<div class="infobox-title-hero" style="display: flex; justify-content: space-between">
<div class="infobox-title-hero-left"></div>
<div class="infobox-title-hero-left"></div>
<div class="infobox-title-hero-middle">{{If lang|{{#ifeq: {{{no_name|}}}|true|{{{name|{{#invoke:Lang|get_string|{{#var:key}}}}}}}|{{Template:Icon/White|[[File:{{{name|{{#invoke:Lang|get_string|{{#var:key}}}}}}}_name.png|130px|class=notpageimage]]}}}}|{{{name|{{#invoke:Lang|get_string|{{#var:key}}}}}}}}}</div>
<div class="infobox-title-hero-middle">{{If lang|{{#ifeq: {{{no_name|}}}|true|{{{name|{{#invoke:Lang|get_string|{{#var:key}}}}}}}|{{Template:Icon/White|[[File:{{{name|{{#invoke:Lang|get_string|{{#var:key}}}}}}}_name.png|145px|class=notpageimage]]}}}}|{{{name|{{#invoke:Lang|get_string|{{#var:key}}}}}}}}}</div>
<div class="infobox-title-hero-right"><div>
<div class="infobox-title-hero-right"><div>
<div class="infobox-title-hero-tornbox" style={{#var:quotemark}}background-color:{{#var:color2}};{{#var:quotemark}}></div>
<div class="infobox-title-hero-tornbox" style={{#var:quotemark}}background-color:{{#var:color2}};{{#var:quotemark}}></div>
Line 40: Line 69:
</div>
</div>


<!---- Hero Image Card ---->
|-
|-
! colspan="2" class="infobox-image" style="margin:auto; border:none; --secondaryColor: {{#var:color2}};" |<div style="overflow:hidden; border-radius:15px; padding:0px; background-color: var(--secondaryColor); max-width:190px; height:auto; margin:auto; box-shadow: 2px 2px 8px rgba(0, 0, 0, 0.7);">[[File:{{{card|{{#invoke:HeroData|get_hero_var|{{#var:hero_key_or_en}}|Name}} card.png}}}|190px|alt={{{BASEPAGENAME}}}]]</div>
! colspan="2" class="infobox-image" style="margin:auto; border:none; --secondaryColor: {{#var:color2}};" |<div style="overflow:hidden; border-radius:15px; padding:0px; background-color: var(--secondaryColor); max-width:190px; height:auto; margin:auto; box-shadow: 2px 2px 8px rgba(0, 0, 0, 0.7);">[[File:{{{card|{{#invoke:HeroData|get_hero_var|{{#var:hero_key_or_en}}|Name}} card.png}}}|190px|alt={{{BASEPAGENAME}}}]]</div>
<!---- Weapon Name ---->
|-
!colspan="2" class="infobox-text-weapon infotext-bold" | <span class="infotext-title">{{#invoke:Lang|get_string|CitadelCategoryWeapon}}:</span><br><span class="infotext-bold infotext-bigger">''"{{{weapon_name|{{#invoke:HeroData|get_hero_var|{{#var:hero_key_or_en}}|NameKey|true}}}}}"''</span>
<!---- "Base Statistics" ---->
|-
!colspan="2" class="infobox-text-stat-subtitle" style="border-top: solid 3px {{#var:color2}};"|
<span class="infotext-bold infotext-title infotext-big">{{#invoke:Lang|get_string|Citadel_HeroPage_BaseStats}}</span>
<!---- Weapon Dropdown ---->
|-
! colspan="2" class="infobox-subsection infobox-dropdown infobox-dropdown-weapon" |
{| class="mw-collapsible mw-collapsed infobox-subsection-child"
|+ class="infobox-dropdown-header" | [[Stats#Weapon|<span class="infotext-bold infobox-dropdown-title">{{#invoke:Lang|get_string|CitadelHeroStats_Weapon}}</span>]]
|-
<!---- Damage per second ---->
| [[Damage per second{{If_lang}}|<span>{{#invoke:Lang|get_string|DPS_label}}</span>]]:
| style="white-space: nowrap;" | {{Icon/Brown|[[File:Damage.png|20px|link=Damage per second]]|{{{dps|{{#invoke:HeroData|get_hero_var|{{#var:hero_key_or_en}}|DPS|3}}}}}}}
|-
<!---- Bullet Damage ---->
| [[Bullet Damage{{If_lang}}|<span>{{#invoke:Lang|get_string|StatDesc_BulletDamage}}</span>]]:
| style="white-space: nowrap; padding-right: 5px;" | {{Icon/Brown|[[File:Bullet damage.png|20px|link=Bullet Damage]]|{{{bullet_damage|{{#invoke:HeroData|get_hero_var|{{#var:hero_key_or_en}}|BulletDamage|3}}}}}{{#invoke:HeroData|get_hero_scalar|{{#var:hero_key_or_en}}|Level|BulletDamage}}{{#invoke:HeroData|get_hero_scalar|{{#var:hero_key_or_en}}|Spirit|BulletDamage}}}}
|-
<!---- Ammo ---->
| [[Ammo{{If_lang}}|<span>{{#invoke:Lang|get_string|StatDesc_ClipSizeBonus}}</span>]]:
| style="white-space: nowrap;"| {{Icon/Grey|[[File:Clip size icon.png|20px|link=Ammo]]|{{{ammo|{{#ifeq: {{{no_ammo|}}}|true|N/A|{{#invoke:HeroData|get_hero_var|{{#var:hero_key_or_en}}|ClipSize|3}}{{#invoke:HeroData|get_hero_scalar|{{#var:hero_key_or_en}}|Level|ClipSize}}{{#invoke:HeroData|get_hero_scalar|{{#var:hero_key_or_en}}|Spirit|ClipSize}}}}}}}}}
|-
<!---- Bullets per sec ---->
| [[Damage per second{{If_lang}}|<span>{{#invoke:Lang|get_string|StatDesc_RoundsPerSecond}}</span>]]:
| style="white-space: nowrap;"| {{Icon/Grey|[[File:Bullets per sec icon.png|20px|link=Fire Rate]]|{{{bullets_per_sec|{{#invoke:HeroData|get_hero_var|{{#var:hero_key_or_en}}|RoundsPerSecond|3}}}}}{{#invoke:HeroData|get_hero_scalar|{{#var:hero_key_or_en}}|Level|RoundsPerSecond}}{{#invoke:HeroData|get_hero_scalar|{{#var:hero_key_or_en}}|Spirit|RoundsPerSecond}}}}
|-
<!---- Reload Time ---->
| [[Reload Time{{If_lang}}|<span>{{#invoke:Lang|get_string|StatDesc_ReloadTime}}</span>]]:
| style="white-space: nowrap;"| {{Icon/Grey|[[File:AttributeIconReloadTime.png|20px|link=Reload Time]]|{{{reload_time|{{#ifeq: {{{no_ammo|}}}|true|N/A|{{#invoke:HeroData|get_hero_var|{{#var:hero_key_or_en}}|ReloadTime|3}}s}}}}}}}
|-
<!---- Bullet Velocity ---->
| [[Bullet Velocity{{If_lang}}|<span>{{#invoke:Lang|get_string|StatDesc_BulletSpeed}}</span>]]:
| style="white-space: nowrap;"| {{Icon/Grey|[[File:AttributeIconBulletSpeed.png|20px|link=Bullet Velocity]]|{{{bullet_velocity|{{#invoke:HeroData|get_hero_var|{{#var:hero_key_or_en}}|BulletSpeed|3}}}}}m/s}}
|-
<!---- Light Melee ---->
| [[Melee Damage{{If_lang}}|<span>{{#invoke:Lang|get_string|StatDesc_LightMeleeDamage}}</span>]]:
| style="white-space: nowrap; padding-right: 5px;"| {{Icon/Brown|[[File:Melee damage.png|20px|link=Melee attack#Light]]|{{{light_melee|{{#invoke:HeroData|get_hero_var|{{#var:hero_key_or_en}}|LightMeleeDamage|3}}}}}{{#invoke:HeroData|get_hero_scalar|{{#var:hero_key_or_en}}|Level|LightMeleeDamage}}{{#invoke:HeroData|get_hero_scalar|{{#var:hero_key_or_en}}|Spirit|LightMeleeDamage}}}}
|-
<!---- Heavy Melee ---->
| [[Melee Damage{{If_lang}}|<span>{{#invoke:Lang|get_string|StatDesc_HeavyMeleeDamage}}</span>]]:
| style="white-space: nowrap; padding-right: 5px;"| {{Icon/Brown|[[File:Melee damage.png|20px|link=Melee attack#Heavy]]|{{{heavy_melee|{{#invoke:HeroData|get_hero_var|{{#var:hero_key_or_en}}|HeavyMeleeDamage|3}}}}}{{#invoke:HeroData|get_hero_scalar|{{#var:hero_key_or_en}}|Level|HeavyMeleeDamage}}{{#invoke:HeroData|get_hero_scalar|{{#var:hero_key_or_en}}|Spirit|HeavyMeleeDamage}}}}
|-
<!---- Falloff Range ---->
| [[Falloff Range{{If_lang}}|<span>{{#invoke:Lang|get_string|CitadelHeroStats_Weapon_Falloff}}</span>]]:
| style="white-space: nowrap;"| {{Icon/Brown||{{{range|{{#ifeq: {{{no_falloff|}}}|true|N/A|{{#invoke:HeroData|get_hero_var|{{#var:hero_key_or_en}}|FalloffStartRange|2}}m <span style="color:#ecac19;">➔</span> {{#invoke:HeroData|get_hero_var|{{#var:hero_key_or_en}}|FalloffEndRange|2}}m}}}}}}}
|-
|-
!colspan="2" style="font-weight: bold; font-size: 16px; font-family:'Retail Demo','Open Sans','PT Serif','Palatino','FreeSerif','Liberation Serif', serif; font-weight: bold; text-shadow: 1.1px 2px 2px black, 1.2px 1.2px 0.2px #7a7369; text-align:center;" | <span style="text-shadow: 1.5px 1.5px rgba(0, 0, 0, 0.7);">{{#invoke:Lang|get_string|CitadelCategoryWeapon}}:</span><br><span style="position:relative; bottom:3px;font-size: {{{weapon-font-size|19px}}}">''"{{{weapon_name|{{#invoke:HeroData|get_hero_var|{{#var:hero_key_or_en}}|NameKey|true}}}}}"''</span>
<!---- Maximum Range (Manual Input) ---->
{{#if: {{#var:max_range|}} |
{{!}} Max Range:
{{!}} style="font-size: 16px;text-shadow: 1.5px 1.5px 0.8px rgba(0, 0, 0, 0.8);text-align:left"{{!}}{{Icon/Brown||31}}}}
|-
|-
!colspan="2" style="border-top:solid 3px {{#var:color2}};"|
<!---- Crit Bonus Scale ---->
<span class=""><b style="color: #FFEFD7; font-size: 18px; font-family:'Retail Demo', 'Open Sans', 'PT Serif','Palatino','FreeSerif','Liberation Serif', serif; font-style: bold; text-shadow: 1.5px 1.5px rgba(0, 0, 0, 0.7); color:#FFEFD7;text-align:center;position:relative">{{#invoke:Lang|get_string|Citadel_HeroPage_BaseStats}}</b></span>
|-style="vertical-align:middle;"
! colspan="2" style="position:relative; border-radius:7px; background-color:#d5903f; font-size:16px;  font-weight:bold; text-shadow:1.5px 1.5px 2px rgba(0, 0, 0, 0.7); color:#FFEFD7; text-align:center; border-bottom:none" | [[Stats#Weapon|<span style="font-weight: bold; text-shadow: 0px 2px 4px black,1.2px 1.2px rgba(0, 0, 0, 0.7); color:#FFEFD7; border-bottom: none">{{#invoke:Lang|get_string|CitadelHeroStats_Weapon}}</span>]]
|-style="vertical-align:middle;"
| style="width:124px;font-size: 15px;text-shadow: 1.5px 1.5px 2px rgba(0, 0, 0, 0.8);text-align:right;color: #afafaf; height:29.5px" | [[Damage per second{{If_lang}}|<span style="color:#afafaf">{{#invoke:Lang|get_string|DPS_label}}</span>]]:
|style="font-size: 16px;text-shadow: 1.5px 1.5px 0.8px rgba(0, 0, 0, 0.8);text-align:left;"| {{Icon/Brown|[[File:Damage.png|20px|link=Damage per second]]|{{{dps|{{#invoke:HeroData|get_hero_var|{{#var:hero_key_or_en}}|DPS|3}}}}}}}
|-style="vertical-align:middle;"
| style="font-size: 15px;text-shadow: 1.5px 1.5px 0.8px rgba(0, 0, 0, 0.8);text-align:right;color: #afafaf; height:29.5px" | [[Bullet Damage{{If_lang}}|<span style="color:#afafaf">{{#invoke:Lang|get_string|StatDesc_BulletDamage}}</span>]]:
|style="font-size: 16px;text-shadow: 1.5px 1.5px 0.8px rgba(0, 0, 0, 0.8);text-align:left;"| {{Icon/Brown|[[File:Bullet damage.png|20px|link=Bullet Damage]]|{{{bullet_damage|{{#invoke:HeroData|get_hero_var|{{#var:hero_key_or_en}}|BulletDamage|3}}}}}{{#invoke:HeroData|get_hero_scalar|{{#var:hero_key_or_en}}|Level|BulletDamage}}{{#invoke:HeroData|get_hero_scalar|{{#var:hero_key_or_en}}|Spirit|BulletDamage}}}}
|-style="vertical-align:middle;"
| style="font-size: 15px;text-shadow: 1.5px 1.5px 0.8px rgba(0, 0, 0, 0.8);text-align:right;color: #afafaf; height:29.5px" | [[Ammo{{If_lang}}|<span style="color:#afafaf">{{#invoke:Lang|get_string|StatDesc_ClipSizeBonus}}</span>]]:
|style="font-size: 16px;text-shadow: 1.5px 1.5px 0.8px rgba(0, 0, 0, 0.8);text-align:left;"| {{Icon/Grey|[[File:Clip size icon.png|20px|link=Ammo]]|{{{ammo|{{#ifeq: {{{no_ammo|}}}|true|N/A|{{#invoke:HeroData|get_hero_var|{{#var:hero_key_or_en}}|ClipSize|3}}{{#invoke:HeroData|get_hero_scalar|{{#var:hero_key_or_en}}|Level|ClipSize}}{{#invoke:HeroData|get_hero_scalar|{{#var:hero_key_or_en}}|Spirit|ClipSize}}}}}}}}}
|-style="vertical-align:middle;"
| style="font-size: 15px;text-shadow: 1.5px 1.5px 0.8px rgba(0, 0, 0, 0.8);text-align:right;color: #afafaf; height:29.5px" | [[Damage per second{{If_lang}}|<span style="color:#afafaf">{{#invoke:Lang|get_string|StatDesc_RoundsPerSecond}}</span>]]:
|style="font-size: 16px;text-shadow: 1.5px 1.5px 0.8px rgba(0, 0, 0, 0.8);text-align:left;"| {{Icon/Grey|[[File:Bullets per sec icon.png|20px|link=Fire Rate]]|{{{bullets_per_sec|{{#invoke:HeroData|get_hero_var|{{#var:hero_key_or_en}}|RoundsPerSecond|3}}}}}{{#invoke:HeroData|get_hero_scalar|{{#var:hero_key_or_en}}|Level|RoundsPerSecond}}{{#invoke:HeroData|get_hero_scalar|{{#var:hero_key_or_en}}|Spirit|RoundsPerSecond}}}}
|-style="vertical-align:middle;"
| style="font-size: 15px;text-shadow: 1.5px 1.5px 0.8px rgba(0, 0, 0, 0.8);text-align:right;color: #afafaf; height:29.5px" | [[Reload Time{{If_lang}}|<span style="color:#afafaf">{{#invoke:Lang|get_string|StatDesc_ReloadTime}}</span>]]:
|style="font-size: 16px;text-shadow: 1.5px 1.5px 0.8px rgba(0, 0, 0, 0.8);text-align:left;"| {{Icon/Grey|[[File:AttributeIconReloadTime.png|20px|link=Reload Time]]|{{{reload_time|{{#ifeq: {{{no_ammo|}}}|true|N/A|{{#invoke:HeroData|get_hero_var|{{#var:hero_key_or_en}}|ReloadTime|3}}s}}}}}}}
|-style="vertical-align:middle;"
| style="font-size: 15px;text-shadow: 1.5px 1.5px 0.8px rgba(0, 0, 0, 0.8);text-align:right;color: #afafaf; height:29.5px" | [[Bullet Velocity{{If_lang}}|<span style="color:#afafaf">{{#invoke:Lang|get_string|StatDesc_BulletSpeed}}</span>]]:
|style="font-size: 16px;text-shadow: 1.5px 1.5px 0.8px rgba(0, 0, 0, 0.8);text-align:left;"| {{Icon/Grey|[[File:AttributeIconBulletSpeed.png|20px|link=Bullet Velocity]]|{{{bullet_velocity|{{#invoke:HeroData|get_hero_var|{{#var:hero_key_or_en}}|BulletSpeed|3}}}}}m/s}}
|-style="vertical-align:middle;"
| style="font-size: 15px;text-shadow: 1.5px 1.5px 0.8px rgba(0, 0, 0, 0.8);text-align:right;color: #afafaf; height:29.5px" | [[Melee Damage{{If_lang}}|<span style="color:#afafaf">{{#invoke:Lang|get_string|StatDesc_LightMeleeDamage}}</span>]]:
|style="font-size: 16px;text-shadow: 1.5px 1.5px 0.8px rgba(0, 0, 0, 0.8);text-align:left;"| {{Icon/Brown|[[File:Melee damage.png|20px|link=Melee attack#Light]]|{{{light_melee|{{#invoke:HeroData|get_hero_var|{{#var:hero_key_or_en}}|LightMeleeDamage|3}}}}}{{#invoke:HeroData|get_hero_scalar|{{#var:hero_key_or_en}}|Level|LightMeleeDamage}}{{#invoke:HeroData|get_hero_scalar|{{#var:hero_key_or_en}}|Spirit|LightMeleeDamage}}}}
|-style="vertical-align:middle;"
| style="font-size: 15px;text-shadow: 1.5px 1.5px 0.8px rgba(0, 0, 0, 0.8);text-align:right;color: #afafaf; height:29.5px" | [[Melee Damage{{If_lang}}|<span style="color:#afafaf">{{#invoke:Lang|get_string|StatDesc_HeavyMeleeDamage}}</span>]]:
|style="font-size: 16px;text-shadow: 1.5px 1.5px 0.8px rgba(0, 0, 0, 0.8);text-align:left;"| {{Icon/Brown|[[File:Melee damage.png|20px|link=Melee attack#Heavy]]|{{{heavy_melee|{{#invoke:HeroData|get_hero_var|{{#var:hero_key_or_en}}|HeavyMeleeDamage|3}}}}}{{#invoke:HeroData|get_hero_scalar|{{#var:hero_key_or_en}}|Level|HeavyMeleeDamage}}{{#invoke:HeroData|get_hero_scalar|{{#var:hero_key_or_en}}|Spirit|HeavyMeleeDamage}}}}
|-style="vertical-align:middle;"
| style="font-size: 15px;text-shadow: 1.5px 1.5px 0.8px rgba(0, 0, 0, 0.8);text-align:right;color: #afafaf; height:29.5px" | [[Falloff Range{{If_lang}}|<span style="color:#afafaf">{{#invoke:Lang|get_string|CitadelHeroStats_Weapon_Falloff}}</span>]]:
|style="font-size: 16px;text-shadow: 1.5px 1.5px 0.8px rgba(0, 0, 0, 0.8);text-align:left;"| {{Icon/Brown||{{{range|{{#ifeq: {{{no_falloff|}}}|true|N/A|{{#invoke:HeroData|get_hero_var|{{#var:hero_key_or_en}}|FalloffStartRange|2}}m → {{#invoke:HeroData|get_hero_var|{{#var:hero_key_or_en}}|FalloffEndRange|2}}m}}}}}}}
|-style="vertical-align:middle;"
{{#if: {{{max_range|}}} |
{{!}}  style="font-size: 16px;text-shadow: 1.5px 1.5px 0.8px rgba(0, 0, 0, 0.8);text-align:right;color: #afafaf; height:29.5px" {{!}} Max Range:
{{!}}style="font-size: 16px;text-shadow: 1.5px 1.5px 0.8px rgba(0, 0, 0, 0.8);text-align:left"{{!}}{{Icon/Brown||{{{max_range|}}}m}}}}
|-style="vertical-align:middle;"
{{#ifexpr: {{#invoke:HeroData|get_hero_var|{{#var:hero_key_or_en}}|CritDamageBonusPercent|3}} != 0 |
{{#ifexpr: {{#invoke:HeroData|get_hero_var|{{#var:hero_key_or_en}}|CritDamageBonusPercent|3}} != 0 |
  {{!}} style="font-size: 16px;text-shadow: 1.5px 1.5px 0.8px rgba(0, 0, 0, 0.8);text-align:right;color: #afafaf; height:29.5px" {{!}} [[Weapon Damage{{If_lang}}|<span style="color:#afafaf">{{#invoke:Lang|get_string|StatDesc_CritDamageBonusScale}}</span>]]:
  {{!}} [[Weapon Damage{{If_lang}}|<span>{{#invoke:Lang|get_string|StatDesc_CritDamageBonusScale}}</span>]]:
{{!}}style="font-size: 16px;text-shadow: 1.5px 1.5px 0.8px rgba(0, 0, 0, 0.8);text-align:left"{{!}}{{Icon/Grey|[[File:Crit reduction.png|20px|link=Weapon Damage#Headshots]]|{{#invoke:HeroData|get_hero_var|{{#var:hero_key_or_en}}|CritDamageBonusPercent|3}}%}}}}
{{!}} style="white-space: nowrap;"{{!}}{{Icon/Grey|[[File:Crit reduction.png|20px|link=Weapon Damage#Headshots]]|{{#invoke:HeroData|get_hero_var|{{#var:hero_key_or_en}}|CritDamageBonusPercent|3}}%}}}}
{{!}}-style="vertical-align:middle;"
|}
! colspan="2" style="position:relative; border-radius:7px; background-color: #74b01c; font-weight: bold; font-size: 16px; font-family:'Retail Demo','Open Sans','PT Serif','Palatino','FreeSerif','Liberation Serif',serif; font-weight: bold; text-shadow: 1.5px 1.5px 2px rgba(0, 0, 0, 0.7); color:#FFEFD7; text-align:center" | [[Stats#Vitality|<span style="font-weight: bold; text-shadow: 0px 2px 4px black,1.2px 1.2px rgba(0, 0, 0, 0.7); color:#FFEFD7; border-bottom: none">{{#invoke:Lang|get_string|CitadelHeroStats_Vitality}}</span>]]
 
|-style="vertical-align:middle;"
<!---- Vitality Dropdown ---->
| style="font-size: 15px;text-shadow: 1.5px 1.5px 0.8px rgba(0, 0, 0, 0.8);text-align:right;color: #afafaf; height:29.5px" | [[Health{{If_lang}}|<span style="color:#afafaf">{{#invoke:Lang|get_string|StatDesc_HealthAttribute}}</span>]]:
|-
|style="font-size: 16px;text-shadow: 1.5px 1.5px 0.8px rgba(0, 0, 0, 0.8);text-align:left;"| {{Icon/Grey|[[File:Health.png|20px|link=Health]]|{{{max_health|{{#invoke:HeroData|get_hero_var|{{#var:hero_key_or_en}}|MaxHealth|3}}}}}{{#invoke:HeroData|get_hero_scalar|{{#var:hero_key_or_en}}|Level|MaxHealth}}{{#invoke:HeroData|get_hero_scalar|{{#var:hero_key_or_en}}|Spirit|MaxHealth}}}}
! colspan="2" class="infobox-subsection infobox-dropdown infobox-dropdown-vitality" |
|-style="vertical-align:middle;"
{| class="mw-collapsible mw-collapsed infobox-subsection-child"
| style="font-size: 15px;text-shadow: 1.5px 1.5px 0.8px rgba(0, 0, 0, 0.8);text-align:right;color: #afafaf; height:29.5px" | [[Health Regen{{If_lang}}|<span style="color:#afafaf">{{#invoke:Lang|get_string|StatDesc_HealthRegen}}</span>]]:
|+ class="infobox-dropdown-header" | [[Stats#Vitality|<span class="infotext-bold infobox-dropdown-title">{{#invoke:Lang|get_string|CitadelHeroStats_Vitality}}</span>]]
|style="font-size: 16px;text-shadow: 1.5px 1.5px 0.8px rgba(0, 0, 0, 0.8);text-align:left;"| {{Icon/Grey|[[File:Health regen.png|20px|link=Health Regen]]|{{{health_regen|{{#invoke:HeroData|get_hero_var|{{#var:hero_key_or_en}}|BaseHealthRegen|2}}}}}{{#invoke:HeroData|get_hero_scalar|{{#var:hero_key_or_en}}|Level|BaseHealthRegen}}{{#invoke:HeroData|get_hero_scalar|{{#var:hero_key_or_en}}|Spirit|BaseHealthRegen}}}}
|-
|-style="vertical-align:middle;"
<!---- Health ---->
| style="padding-top: 8px;"| [[Health{{If_lang}}|<span>{{#invoke:Lang|get_string|StatDesc_HealthAttribute}}</span>]]:
| style="white-space: nowrap; padding-right: 5px; padding-top: 8px;"| {{Icon/Grey|[[File:Health.png|20px|link=Health]]|{{{max_health|{{#invoke:HeroData|get_hero_var|{{#var:hero_key_or_en}}|MaxHealth|3}}}}}{{#invoke:HeroData|get_hero_scalar|{{#var:hero_key_or_en}}|Level|MaxHealth}}{{#invoke:HeroData|get_hero_scalar|{{#var:hero_key_or_en}}|Spirit|MaxHealth}}}}
|-
<!---- Health Regen ---->
| [[Health Regen{{If_lang}}|<span>{{#invoke:Lang|get_string|StatDesc_HealthRegen}}</span>]]:
| style="white-space: nowrap;"| {{Icon/Grey|[[File:Health regen.png|20px|link=Health Regen]]|{{{health_regen|{{#invoke:HeroData|get_hero_var|{{#var:hero_key_or_en}}|BaseHealthRegen|2}}}}}{{#invoke:HeroData|get_hero_scalar|{{#var:hero_key_or_en}}|Level|BaseHealthRegen}}{{#invoke:HeroData|get_hero_scalar|{{#var:hero_key_or_en}}|Spirit|BaseHealthRegen}}}}
|-
<!---- Crit Resistance ---->
{{#if: {{{crit_reduction|}}}{{#invoke:HeroData|hero_has_stat|{{#var:hero_key_or_en}}|CritDamageReceivedPercent}} |
{{#if: {{{crit_reduction|}}}{{#invoke:HeroData|hero_has_stat|{{#var:hero_key_or_en}}|CritDamageReceivedPercent}} |
{{!}}-style="vertical-align:middle;"
{{!}}[[Damage Resistance{{If_lang}}|<span>{{#invoke:Lang|get_string|StatDesc_CritDamageReceivedScale}}</span>]]:
{{!}}  style="font-size: 15px;text-shadow: 1.5px 1.5px 0.8px rgba(0, 0, 0, 0.8);text-align:right;color: #afafaf; height:29.5px" {{!}} [[Damage Resistance{{If_lang}}|<span style="color:#afafaf">{{#invoke:Lang|get_string|StatDesc_CritDamageReceivedScale}}:</span>]]
{{!}}style="white-space: nowrap;"{{!}}{{Icon/Grey|[[File:Crit reduction.png|20px|link=Damage Resistance]]|{{{crit_reduction|{{#invoke:HeroData|get_hero_var|{{#var:hero_key_or_en}}|CritDamageReceivedPercent|3}}}}}%{{#invoke:HeroData|get_hero_scalar|{{#var:hero_key_or_en}}|Level|CritDamageReceivedPercent}}{{#invoke:HeroData|get_hero_scalar|{{#var:hero_key_or_en}}|Spirit|CritDamageReceivedPercent}}}}}}
{{!}}style="font-size: 16px;text-shadow: 1.5px 1.5px 0.8px rgba(0, 0, 0, 0.8);text-align:left"{{!}}{{Icon/Grey|[[File:Crit reduction.png|20px|link=Damage Resistance]]|{{{crit_reduction|{{#invoke:HeroData|get_hero_var|{{#var:hero_key_or_en}}|CritDamageReceivedPercent|3}}}}}%{{#invoke:HeroData|get_hero_scalar|{{#var:hero_key_or_en}}|Level|CritDamageReceivedPercent}}{{#invoke:HeroData|get_hero_scalar|{{#var:hero_key_or_en}}|Spirit|CritDamageReceivedPercent}}}}
|-
| {{!}}-
<!---- Bullet Resistance ---->
}}
{{#if: {{{bullet_resist|}}}{{#invoke:HeroData|hero_has_stat|{{#var:hero_key_or_en}}|BulletResist}} |
{{#if: {{{bullet_resist|}}}{{#invoke:HeroData|hero_has_stat|{{#var:hero_key_or_en}}|BulletResist}} |
{{!}}-style="vertical-align:middle;"
{{!}}[[Damage Resistance{{If_lang}}|<span>{{#invoke:Lang|get_string|StatDesc_BulletArmorDamageReduction}}</span>]]:
{{!}} style="font-size: 15px;text-shadow: 1.5px 1.5px 0.8px rgba(0, 0, 0, 0.8);text-align:right;color: #afafaf; height:29.5px" {{!}} [[Damage Resistance{{If_lang}}|<span style="color:#afafaf">{{#invoke:Lang|get_string|StatDesc_BulletArmorDamageReduction}}</span>]]:
{{!}}style="white-space: nowrap;"{{!}}{{Icon/Grey|[[File:Bullet Armor.png|20px|link=Bullet Resist]]|{{{bullet_resist|{{#invoke:HeroData|get_hero_var|{{#var:hero_key_or_en}}|BulletResist|3}}}}}%{{#invoke:HeroData|get_hero_scalar|{{#var:hero_key_or_en}}|Level|BulletResist}}{{#invoke:HeroData|get_hero_scalar|{{#var:hero_key_or_en}}|Spirit|BulletResist}}}}}}
{{!}}style="font-size: 16px;text-shadow: 1.5px 1.5px 0.8px rgba(0, 0, 0, 0.8);text-align:left"{{!}}{{Icon/Grey|[[File:Bullet Armor.png|20px|link=Bullet Resist]]|{{{bullet_resist|{{#invoke:HeroData|get_hero_var|{{#var:hero_key_or_en}}|BulletResist|3}}}}}%{{#invoke:HeroData|get_hero_scalar|{{#var:hero_key_or_en}}|Level|BulletResist}}{{#invoke:HeroData|get_hero_scalar|{{#var:hero_key_or_en}}|Spirit|BulletResist}}}}
|-
| {{!}}-
<!---- Spirit Resistance ---->
}}
{{#if: {{{spirit_resist|}}}{{#invoke:HeroData|hero_has_stat|{{#var:hero_key_or_en}}|TechResist}} |
{{#if: {{{spirit_resist|}}}{{#invoke:HeroData|hero_has_stat|{{#var:hero_key_or_en}}|TechResist}} |
{{!}}-style="vertical-align:middle;"
{{!}}[[Damage Resistance{{If_lang}}|<span>{{#invoke:Lang|get_string|StatDesc_TechArmorDamageReduction}}</span>]]:
{{!}} style="font-size: 15px;text-shadow: 1.5px 1.5px 0.8px rgba(0, 0, 0, 0.8);text-align:right;color: #afafaf; height:29.5px" {{!}} [[Damage Resistance{{If_lang}}|<span style="color:#afafaf">{{#invoke:Lang|get_string|StatDesc_TechArmorDamageReduction}}</span>]]:
{{!}}style="white-space: nowrap;"{{!}}{{Icon/Grey|[[File:Spirit Armor.png|20px|link=Spirit Resist]]|{{{spirit_resist|{{#invoke:HeroData|get_hero_var|{{#var:hero_key_or_en}}|TechResist|3}}}}}%{{#invoke:HeroData|get_hero_scalar|{{#var:hero_key_or_en}}|Level|TechResist}}{{#invoke:HeroData|get_hero_scalar|{{#var:hero_key_or_en}}|Spirit|TechResist}}}}}}
{{!}}style="font-size: 16px;text-shadow: 1.5px 1.5px 0.8px rgba(0, 0, 0, 0.8);text-align:left"{{!}}{{Icon/Grey|[[File:Spirit Armor.png|20px|link=Spirit Resist]]|{{{spirit_resist|{{#invoke:HeroData|get_hero_var|{{#var:hero_key_or_en}}|TechResist|3}}}}}%{{#invoke:HeroData|get_hero_scalar|{{#var:hero_key_or_en}}|Level|TechResist}}{{#invoke:HeroData|get_hero_scalar|{{#var:hero_key_or_en}}|Spirit|TechResist}}}}
|-
| {{!}}-
<!---- Melee Resistance ---->
}}
{{#if: {{{melee_resist|}}}{{#invoke:HeroData|hero_has_stat|{{#var:hero_key_or_en}}|MeleeResist}} |
{{#if: {{{melee_resist|}}}{{#invoke:HeroData|hero_has_stat|{{#var:hero_key_or_en}}|MeleeResist}} |
{{!}}-style="vertical-align:middle;"
{{!}}[[Damage Resistance{{If_lang}}|<span>{{#invoke:Lang|get_string|StatDesc_MeleeResist}}</span>]]:
{{!}} style="font-size: 15px;text-shadow: 1.5px 1.5px 0.8px rgba(0, 0, 0, 0.8);text-align:right;color: #afafaf; height:29.5px" {{!}} [[Damage Resistance{{If_lang}}|<span style="color:#afafaf">{{#invoke:Lang|get_string|StatDesc_MeleeResist}}</span>]]:
{{!}}style="white-space: nowrap;"{{!}}{{Icon/Grey|[[File:Melee damage.png|20px|link=Damage Resistance#Melee Resist]]|{{{melee_resist|{{#invoke:HeroData|get_hero_var|{{#var:hero_key_or_en}}|MeleeResist|3}}}}}%{{#invoke:HeroData|get_hero_scalar|{{#var:hero_key_or_en}}|Level|MeleeResist}}{{#invoke:HeroData|get_hero_scalar|{{#var:hero_key_or_en}}|Spirit|MeleeResist}}}}}}
{{!}}style="font-size: 16px;text-shadow: 1.5px 1.5px 0.8px rgba(0, 0, 0, 0.8);text-align:left"{{!}}{{Icon/Grey|[[File:Melee damage.png|20px|link=Damage Resistance#Melee Resist]]|{{{melee_resist|{{#invoke:HeroData|get_hero_var|{{#var:hero_key_or_en}}|MeleeResist|3}}}}}%{{#invoke:HeroData|get_hero_scalar|{{#var:hero_key_or_en}}|Level|MeleeResist}}{{#invoke:HeroData|get_hero_scalar|{{#var:hero_key_or_en}}|Spirit|MeleeResist}}}}
|-
| {{!}}-
<!---- Bullet Lifesteal ---->
}}
{{#if: {{{bullet_lifesteal|}}}{{#invoke:HeroData|hero_has_stat|{{#var:hero_key_or_en}}|BulletLifesteal}} |
{{#if: {{{bullet_lifesteal|}}}{{#invoke:HeroData|hero_has_stat|{{#var:hero_key_or_en}}|BulletLifesteal}} |
{{!}}-style="vertical-align:middle;"
{{!}}[[Lifesteal{{If_lang}}|<span>{{#invoke:Lang|get_string|StatDesc_BulletLifesteal}}</span>]]:
{{!}} style="font-size: 15px;text-shadow: 1.5px 1.5px 0.8px rgba(0, 0, 0, 0.8);text-align:right;color: #afafaf; height:29.5px" {{!}} [[Lifesteal{{If_lang}}|<span style="color:#afafaf">{{#invoke:Lang|get_string|StatDesc_BulletLifesteal}}</span>]]:
{{!}}style="white-space: nowrap;"{{!}}{{Icon/Grey|[[File:AttributeIconBulletLifesteal.png|20px|link=Lifesteal#Bullet Lifesteal]]|{{{bullet_lifesteal|{{#invoke:HeroData|get_hero_var|{{#var:hero_key_or_en}}|BulletLifesteal|3}}}}}%{{#invoke:HeroData|get_hero_scalar|{{#var:hero_key_or_en}}|Level|BulletLifesteal}}{{#invoke:HeroData|get_hero_scalar|{{#var:hero_key_or_en}}|Spirit|BulletLifesteal}}}}}}
{{!}}style="font-size: 16px;text-shadow: 1.5px 1.5px 0.8px rgba(0, 0, 0, 0.8);text-align:left"{{!}}{{Icon/Grey|[[File:AttributeIconBulletLifesteal.png|20px|link=Lifesteal#Bullet Lifesteal]]|{{{bullet_lifesteal|{{#invoke:HeroData|get_hero_var|{{#var:hero_key_or_en}}|BulletLifesteal|3}}}}}%{{#invoke:HeroData|get_hero_scalar|{{#var:hero_key_or_en}}|Level|BulletLifesteal}}{{#invoke:HeroData|get_hero_scalar|{{#var:hero_key_or_en}}|Spirit|BulletLifesteal}}}}
|-
| {{!}}-
<!---- Spirit Lifesteal ---->
}}
{{#if: {{{spirit_lifesteal|}}}{{#invoke:HeroData|hero_has_stat|{{#var:hero_key_or_en}}|SpiritLifesteal}} |
{{#if: {{{spirit_lifesteal|}}}{{#invoke:HeroData|hero_has_stat|{{#var:hero_key_or_en}}|SpiritLifesteal}} |
{{!}}-style="vertical-align:middle;"
{{!}}[[Lifesteal{{If_lang}}|<span>{{#invoke:Lang|get_string|StatDesc_SpiritLifesteal}}</span>]]:
{{!}} style="font-size: 15px;text-shadow: 1.5px 1.5px 0.8px rgba(0, 0, 0, 0.8);text-align:right;color: #afafaf; height:29.5px" {{!}} [[Lifesteal{{If_lang}}|<span style="color:#afafaf">{{#invoke:Lang|get_string|StatDesc_SpiritLifesteal}}</span>]]:
{{!}}style="white-space: nowrap;"{{!}}{{Icon/Grey|[[File:AttributeIconBulletLifesteal.png|20px|link=Lifesteal#Spirit Lifesteal]]|{{{spirit_lifesteal|{{#invoke:HeroData|get_hero_var|{{#var:hero_key_or_en}}|SpiritLifesteal|3}}}}}%{{#invoke:HeroData|get_hero_scalar|{{#var:hero_key_or_en}}|Level|SpiritLifesteal}}{{#invoke:HeroData|get_hero_scalar|{{#var:hero_key_or_en}}|Spirit|SpiritLifesteal}}}}}}
{{!}}style="font-size: 16px;text-shadow: 1.5px 1.5px 0.8px rgba(0, 0, 0, 0.8);text-align:left"{{!}}{{Icon/Grey|[[File:AttributeIconBulletLifesteal.png|20px|link=Lifesteal#Spirit Lifesteal]]|{{{spirit_lifesteal|{{#invoke:HeroData|get_hero_var|{{#var:hero_key_or_en}}|SpiritLifesteal|3}}}}}%{{#invoke:HeroData|get_hero_scalar|{{#var:hero_key_or_en}}|Level|SpiritLifesteal}}{{#invoke:HeroData|get_hero_scalar|{{#var:hero_key_or_en}}|Spirit|SpiritLifesteal}}}}
|-
| {{!}}-
<!---- Move Speed ---->
}}
| [[Move Speed{{If_lang}}|<span>{{#invoke:Lang|get_string|StatDesc_RunSpeed}}</span>]]:
|-style="vertical-align:middle;"
| style="white-space: nowrap;"| {{Icon/Grey|[[File:Move speed.png|20px|link=Move Speed]]|{{{move_speed|{{#invoke:HeroData|get_hero_var|{{#var:hero_key_or_en}}|MaxMoveSpeed|2}}}}}m/s{{#invoke:HeroData|get_hero_scalar|{{#var:hero_key_or_en}}|Level|MaxMoveSpeed}}{{#invoke:HeroData|get_hero_scalar|{{#var:hero_key_or_en}}|Spirit|MaxMoveSpeed}}}}
| style="font-size: 15px;text-shadow: 1.5px 1.5px 0.8px rgba(0, 0, 0, 0.8);text-align:right;color: #afafaf; height:29.5px" |[[Move Speed{{If_lang}}|<span style="color:#afafaf">{{#invoke:Lang|get_string|StatDesc_RunSpeed}}</span>]]:
|-
|style="font-size: 16px;text-shadow: 1.5px 1.5px 0.8px rgba(0, 0, 0, 0.8);text-align:left;"| {{Icon/Grey|[[File:Move speed.png|20px|link=Move Speed]]|{{{move_speed|{{#invoke:HeroData|get_hero_var|{{#var:hero_key_or_en}}|MaxMoveSpeed|2}}}}}m/s{{#invoke:HeroData|get_hero_scalar|{{#var:hero_key_or_en}}|Level|MaxMoveSpeed}}{{#invoke:HeroData|get_hero_scalar|{{#var:hero_key_or_en}}|Spirit|MaxMoveSpeed}}}}
<!---- Sprint Speed ---->
|-style="vertical-align:middle;"
| [[Move Speed#Sprint{{If_lang}}|<span>{{#invoke:Lang|get_string|StatDesc_SprintSpeed}}</span>]]:
| style="font-size: 15px;text-shadow: 1.5px 1.5px 0.8px rgba(0, 0, 0, 0.8);text-align:right;color: #afafaf; height:29.5px" | [[Move Speed#Sprint{{If_lang}}|<span style="color:#afafaf">{{#invoke:Lang|get_string|StatDesc_SprintSpeed}}</span>]]:
| style="white-space: nowrap;"| {{Icon/Grey|[[File:Move speed sprint.png|20px|link=Move Speed#Sprint]]|{{{sprint_speed|{{#invoke:HeroData|get_hero_var|{{#var:hero_key_or_en}}|SprintSpeed|2}}}}}m/s{{#invoke:HeroData|get_hero_scalar|{{#var:hero_key_or_en}}|Level|SprintSpeed}}{{#invoke:HeroData|get_hero_scalar|{{#var:hero_key_or_en}}|Spirit|SprintSpeed}}}}
|style="font-size: 16px;text-shadow: 1.5px 1.5px 0.8px rgba(0, 0, 0, 0.8);text-align:left;"| {{Icon/Grey|[[File:Move speed sprint.png|20px|link=Move Speed#Sprint]]|{{{sprint_speed|{{#invoke:HeroData|get_hero_var|{{#var:hero_key_or_en}}|SprintSpeed|2}}}}}m/s{{#invoke:HeroData|get_hero_scalar|{{#var:hero_key_or_en}}|Level|SprintSpeed}}{{#invoke:HeroData|get_hero_scalar|{{#var:hero_key_or_en}}|Spirit|SprintSpeed}}}}
|-
|-style="vertical-align:middle;"
<!---- Dash Speed ---->
| style="font-size: 15px;text-shadow: 1.5px 1.5px 0.8px rgba(0, 0, 0, 0.8);text-align:right;color: #afafaf; height:29.5px" |[[Stamina#Dash_Speed{{If_lang}}|<span style="color:#afafaf">{{#invoke:Lang|get_string|DashSpeed_label}}</span>]]:
| [[Stamina#Dash_Speed{{If_lang}}|<span>{{#invoke:Lang|get_string|DashSpeed_label}}</span>]]:
|style="font-size: 16px;text-shadow: 1.5px 1.5px 0.8px rgba(0, 0, 0, 0.8);text-align:left;"|<!--
| style="white-space: nowrap;"| {{Icon/Grey|[[File:Springy_boots_icon.png|20px|link=Stamina#Dash_Speed]]|{{#invoke:HeroData|get_hero_var|{{#var:hero_key_or_en}}|GroundDashSpeed|3}}s{{#invoke:HeroData|get_hero_scalar|{{#var:hero_key_or_en}}|Level|GroundDashSpeed}}{{#invoke:HeroData|get_hero_scalar|{{#var:hero_key_or_en}}|Spirit|GroundDashSpeed}}}}
-->{{Icon/Grey|[[File:Springy_boots_icon.png|20px|link=Stamina#Dash_Speed]]|{{#invoke:HeroData|get_hero_var|{{#var:hero_key_or_en}}|GroundDashSpeed|3}}s{{#invoke:HeroData|get_hero_scalar|{{#var:hero_key_or_en}}|Level|GroundDashSpeed}}{{#invoke:HeroData|get_hero_scalar|{{#var:hero_key_or_en}}|Spirit|GroundDashSpeed}}}}<!--
|-
-->
<!---- Dash Speed ---->
|-style="vertical-align:middle;"
| [[Stamina{{If_lang}}|<span>{{#invoke:Lang|get_string|StatDesc_Stamina}}</span>]]:
| style="font-size: 15px;text-shadow: 1.5px 1.5px 0.8px rgba(0, 0, 0, 0.8);text-align:right;color: #afafaf; height:29.5px" | [[Stamina{{If_lang}}|<span style="color:#afafaf">{{#invoke:Lang|get_string|StatDesc_Stamina}}</span>]]:
| style="white-space: nowrap;"| {{Icon/Grey|[[File:Springy_boots_icon.png|20px|link=Stamina]]|{{{stamina|{{#invoke:HeroData|get_hero_var|{{#var:hero_key_or_en}}|Stamina|2}}}}}{{#invoke:HeroData|get_hero_scalar|{{#var:hero_key_or_en}}|Level|Stamina}}{{#invoke:HeroData|get_hero_scalar|{{#var:hero_key_or_en}}|Spirit|Stamina}}}}
|style="font-size: 16px;text-shadow: 1.5px 1.5px 0.8px rgba(0, 0, 0, 0.8);text-align:left;"| {{Icon/Grey|[[File:Springy_boots_icon.png|20px|link=Stamina]]|{{{stamina|{{#invoke:HeroData|get_hero_var|{{#var:hero_key_or_en}}|Stamina|2}}}}}{{#invoke:HeroData|get_hero_scalar|{{#var:hero_key_or_en}}|Level|Stamina}}{{#invoke:HeroData|get_hero_scalar|{{#var:hero_key_or_en}}|Spirit|Stamina}}}}
|-
|-style="vertical-align:middle;"
<!---- Dash Speed ---->
| style="font-size: 15px;text-shadow: 1.5px 1.5px 0.8px rgba(0, 0, 0, 0.8);text-align:right;color: #afafaf; height:29.5px" | [[Stamina{{If_lang}}|<span style="color:#afafaf">{{#invoke:Lang|get_string|StatDesc_StaminaCooldown}}</span>]]:
| [[Stamina{{If_lang}}|<span>{{#invoke:Lang|get_string|StatDesc_StaminaCooldown}}</span>]]:
|style="font-size: 16px;text-shadow: 1.5px 1.5px 0.8px rgba(0, 0, 0, 0.8);text-align:left"|{{Icon/Grey|[[File:AttributeIconTechDuration.png|20px|link=Stamina#Cooldown]]|{{{stamina_cooldown|{{#invoke:HeroData|get_hero_var|{{#var:hero_key_or_en}}|StaminaCooldown|2}}}}}s{{#invoke:HeroData|get_hero_scalar|{{#var:hero_key_or_en}}|Level|StaminaCooldown}}{{#invoke:HeroData|get_hero_scalar|{{#var:hero_key_or_en}}|Spirit|StaminaCooldown}}}}
| style="white-space: nowrap;"|{{Icon/Grey|[[File:AttributeIconTechDuration.png|20px|link=Stamina#Cooldown]]|{{{stamina_cooldown|{{#invoke:HeroData|get_hero_var|{{#var:hero_key_or_en}}|StaminaCooldown|2}}}}}s{{#invoke:HeroData|get_hero_scalar|{{#var:hero_key_or_en}}|Level|StaminaCooldown}}{{#invoke:HeroData|get_hero_scalar|{{#var:hero_key_or_en}}|Spirit|StaminaCooldown}}}}
|-style="vertical-align:middle;"
|}
! colspan="2" style="position:relative; border-radius:7px; background-color:#ba5ca6; font-size:16px; font-family:'Retail Demo','Open Sans','PT Serif','Palatino','FreeSerif','Liberation Serif', serif; font-weight:bold; text-shadow:1.5px 1.5px 2px rgba(0, 0, 0, 0.7); color:#FFEFD7; text-align:center"|<span style="font-weight: bold; text-shadow: 0px 2px 4px black,1.2px 1.2px rgba(0, 0, 0, 0.7); color:#FFEFD7;">{{#invoke:Lang|get_string|CitadelHeroStats_Spirit}}</span>
 
|-style="vertical-align:middle;"
<!---- Spirit Dropdown ---->
| style="font-size: 15px;text-shadow: 1.5px 1.5px 0.8px rgba(0, 0, 0, 0.8);text-align:right;color: #afafaf; height:29.5px" | [[Spirit Power{{If_lang}}|<span style="color:#afafaf">{{#invoke:Lang|get_string|SpiritPower_label}}</span>]]:
|-
|style="font-size: 16px;text-shadow: 1.5px 1.5px 0.8px rgba(0, 0, 0, 0.8);text-align:left;"| {{Icon/Grey|[[File:Spirit_scaling.png|20px|link=Spirit Power]]|{{{spirit_power|{{#invoke:HeroData|get_hero_var|{{#var:hero_key_or_en}}|TechPower|2}}}}}{{#invoke:HeroData|get_hero_scalar|{{#var:hero_key_or_en}}|Level|TechPower}}{{#invoke:HeroData|get_hero_scalar|{{#var:hero_key_or_en}}|Spirit|TechPower}}}}
! colspan="2" class="infobox-subsection infobox-dropdown infobox-dropdown-spirit" |
|-style="vertical-align:middle;"
{| class="mw-collapsible mw-collapsed infobox-subsection-child"
! colspan="2" style="position:relative; border-radius:7px; background-color:#2f93d6; font-size:16px; font-family:'Retail Demo','Open Sans','PT Serif','Palatino','FreeSerif','Liberation Serif', serif; font-weight:bold; text-shadow:1.5px 1.5px 2px rgba(0, 0, 0, 0.7); color:#FFEFD7; text-align:center"|<span style="font-weight: bold; text-shadow: 0px 2px 4px black,1.2px 1.2px rgba(0, 0, 0, 0.7); color:#FFEFD7;">{{#invoke:Dictionary|translate|Information}}</span>
|+ class="infobox-dropdown-header" | [[Stats#Vitality|<span class="infotext-bold infobox-dropdown-title">{{#invoke:Lang|get_string|CitadelHeroStats_Spirit}}</span>]]
|-style="vertical-align:top;"
|-
| style="padding-top: 8px;"| [[Spirit Power{{If_lang}}|<span>{{#invoke:Lang|get_string|SpiritPower_label}}</span>]]:
| style="white-space: nowrap; padding-right: 4px; padding-top: 8px;"| {{Icon/Grey|[[File:Spirit_scaling.png|20px|link=Spirit Power]]|{{{spirit_power|{{#invoke:HeroData|get_hero_var|{{#var:hero_key_or_en}}|TechPower|2}}}}}{{#invoke:HeroData|get_hero_scalar|{{#var:hero_key_or_en}}|Level|TechPower}}{{#invoke:HeroData|get_hero_scalar|{{#var:hero_key_or_en}}|Spirit|TechPower}}}}
|}
 
<!---- "Information" ---->
|-
!colspan="2" class="infobox-text-stat-subtitle"|
<span class="infotext-bold infotext-title infotext-big">{{#invoke:Dictionary|translate|Information}}</span>
|-
! colspan="2" class="infobox-subsection" |
{| class="infobox-subsection-child"
|-
<!---- Pronouns (Manual Input) ---->
{{#if: {{{pronouns|}}} |
{{#if: {{{pronouns|}}} |
{{!}}-
{{!}}Pronouns:
{{!}}-style="vertical-align:top;"
{{!}}{{{pronouns}}}
{{!}}style="font-size: 15px;text-shadow: 1.5px 1.5px 0.8px rgba(0, 0, 0, 0.8);text-align:right;color: #afafaf; background-color: #2F2F2F;height:29.5px" {{!}} Pronouns:
{{!}}style="font-size: 15px;text-shadow: 1.5px 1.5px 0.8px rgba(0, 0, 0, 0.8);text-align:left; margin-left: -9px; line-height:12px;" {{!}}<span style="margin-left: 2px;">{{{pronouns}}}</span>
}}
}}
|-
<!---- Voice Actor (Manual Input) ---->
{{#if: {{#var:voice_actor}} |
{{#if: {{#var:voice_actor}} |
{{!}}-
{{!}}{{#invoke:Dictionary|translate|VoiceActor}}:
{{!}}-style="vertical-align:top;"
{{!}}{{#var:voice_actor}}
{{!}}style="font-size: 15px;text-shadow: 1.5px 1.5px 0.8px rgba(0, 0, 0, 0.8);text-align:right;color: #afafaf; height:29.5px" {{!}} {{#invoke:Dictionary|translate|VoiceActor}}:
{{!}}style="font-size: 15px;text-shadow: 1.5px 1.5px 0.8px rgba(0, 0, 0, 0.8);text-align:left; margin-left: -9px;" {{!}}<span style="margin-left: 2px;">{{#var:voice_actor}} </span>
}}
}}
|-
<!---- Release Date (Manual Input) ---->
{{#if: {{#var:release_date}} |
{{#if: {{#var:release_date}} |
{{!}}-
{{!}}[[Heroes by release{{If_lang}}|<span>{{#invoke:Dictionary|translate|ReleaseDate}}</span>]]:
{{!}}-style="vertical-align:top;"
{{!}}{{#var:release_date}}
{{!}}style="font-size: 15px;text-shadow: 1.5px 1.5px 0.8px rgba(0, 0, 0, 0.8);text-align:right;color: #afafaf; height:29.5px" {{!}} [[Heroes by release{{If_lang}}|<span style="color:#afafaf">{{#invoke:Dictionary|translate|ReleaseDate}}</span>]]:
{{!}}style="font-size: 15px;text-shadow: 1.5px 1.5px 0.8px rgba(0, 0, 0, 0.8);text-align:left; margin-left: -9px;" {{!}}<span style="margin-left: 2px;">{{#var:release_date}}</span>
}}
}}
|-
<!---- Codenames (Manual Input) ---->
{{#if: {{#var:codenames}} |
{{#if: {{#var:codenames}} |
{{!}}-
{{!}}{{#invoke:Dictionary|translate|Codenames}}:
{{!}}-style="vertical-align:top;"
{{!}}{{#var:codenames}}
{{!}}style="font-size: 15px;text-shadow: 1.5px 1.5px 0.8px rgba(0, 0, 0, 0.8);text-align:right;color: #afafaf; height:29.5px" {{!}} {{#invoke:Dictionary|translate|Codenames}}:
{{!}}style="font-size: 15px;text-shadow: 1.5px 1.5px 0.8px rgba(0, 0, 0, 0.8);text-align:left;" {{!}} <span style="margin-left: 2px;">{{#var:codenames}}</span>
}}
}}
|}
|}
|}
</div>
</div>
<!---- Search Engine Optimization ---->
{{#seo:
{{#seo:
|keywords=Deadlock, {{{name|{{#invoke:Lang|get_string|{{{key}}}}}}}}, hero, abilities, wiki, MOBA, shooter, character, heroes, game, valve
|keywords=Deadlock, {{{name|{{#invoke:Lang|get_string|{{{key}}}}}}}}, hero, abilities, wiki, MOBA, shooter, character, heroes, game, valve
|image_alt = A portrait image of {{{name|{{#invoke:Lang|get_string|{{{key}}}}}}}} from the video game Deadlock
|image_alt = A portrait image of {{{name|{{#invoke:Lang|get_string|{{{key}}}}}}}} from the video game Deadlock
}}
}}
<!---- Quotes rendering ---->
{{#ifeq: {{{no_summary|}}}|true||{{Quotation||<b>{{#invoke:HeroData|get_hero_tag|{{#var:hero_en}}|1}} - {{#invoke:HeroData|get_hero_tag|{{#var:hero_en}}|2}} - {{#invoke:HeroData|get_hero_tag|{{#var:hero_en}}|3}}</b>}}}}
{{#ifeq: {{{no_summary|}}}|true||{{Quotation||<b>{{#invoke:HeroData|get_hero_tag|{{#var:hero_en}}|1}} - {{#invoke:HeroData|get_hero_tag|{{#var:hero_en}}|2}} - {{#invoke:HeroData|get_hero_tag|{{#var:hero_en}}|3}}</b>}}}}