Template:Infobox hero: Difference between revisions

commented out SEO extension stuff due to its removal
General template overhaul by User:Samlovesmath
Line 1: Line 1:
<onlyinclude><!--
<onlyinclude>
-->{{#if: {{{key|}}} |<!-- If key is provided
<templatestyles src="Infobox_hero/styles.css" />
-->{{#vardefine:hero_key_or_en|{{{key}}}}}<!-- key
<templatestyles src="Infobox_hero/themes.css" /><!--
-->{{#vardefine:hero_en|{{#invoke:Lang|get_string|{{{key}}}|lang_code_override=en}}}}<!-- en
-->{{#vardefine:provided_key|{{{key|}}}}}<!--
-->|<!-- If key is not provided, use {{{1}}} and assume its in english where it will be re-localized to current language in called functions
  If key provided is an accepted hero_[name] key, use it;
-->{{#vardefine:hero_key_or_en|{{#if:{{{1|}}}|{{{1}}}|hero_atlas}}}}<!-- en
-->{{#ifeq: {{#invoke:Infobox_hero|is_hero_key|{{#var:provided_key}}}}|true|{{#vardefine:hero_key|{{#var:provided_key}}}}|<!--
-->{{#vardefine:hero_en|{{#if:{{{1|}}}|{{{1}}}|{{#invoke:Lang|get_string|hero_atlas|lang_code_override=en}}}}}}<!-- en
  Else, if key provided is actually the string *English* name, get the key from it to use it;
-->}}<!--
-->{{#ifeq:{{#invoke:Infobox_hero|en_is_hero_key|{{#var:provided_key}}}}|true| {{#vardefine:hero_key|{{#invoke:HeroData|get_hero_key|{{#var:provided_key}}}}}}|<!--
-->{{#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>}}}}<!--
  Else, fall back on "hero_targetdummy"
--><div class="infobox">
-->{{#vardefine:hero_key|hero_targetdummy}}<!--
{| style="font-family:Retail Demo, Open Sans, PT Serif; width:260px; padding-top:0px; background-color:#2F2F2F; color:#FFEFD7; font-weight:bold;"
-->
! colspan="2" style="color: #FFEFD7; background-color: #2F2F2F; font-size: {{{font-size|25px}}}; font-family:Retail Demo, Open Sans, PT Serif; font-weight: bold; text-shadow: 1.2px 2px 3px black, 1.2px 1.2px 0.1px #A69885;border-bottom: none" |
}}}}
{{#ifeq: {{{no_icon|}}}|true|<div style="display: center; justify-content: space-between">|<div style="display: flex; justify-content: space-between">}}
<!--
<div style="width: 50px;"></div>
 
<div style="margin-top:4px;font-family:Valve Occult, Forevs Demo, Retail Demo, Open Sans, PT Serif;line-height:30px;">{{If lang|{{#ifeq: {{{no_name|}}}|true|{{{name|{{#invoke:Lang|get_string|{{{key}}}}}}}}|{{Template:Icon/White|[[File:{{{name|{{#invoke:Lang|get_string|{{{key}}}}}}}}_name.png|130px|class=notpageimage]]}}}}|{{{name|{{#invoke:Lang|get_string|{{{key}}}}}}}}}}</div>
  Get English string name from current key
<div style="padding-left: 10px;">{{#ifeq: {{{no_icon|}}}|true||[[Image:{{{icon|{{#invoke:HeroData|get_hero_var|{{#var:hero_key_or_en}}|Name}}}}}.png|frameless|center|35px]]}}</div></div>
-->{{#vardefine:hero_en|{{#invoke:Lang|get_string|{{#var:hero_key}}|lang_code_override=en}} }}<!--
-->{{#vardefine:hero_en_herodata|{{#invoke:HeroData|get_hero_var|{{#var:hero_key}}|Name}} }}<!--
-->{{#vardefine:hero_lang|{{#invoke:Lang|get_string|{{#var:hero_key}}}} }}<!--
 
  THEME VARIABLES:
-->{{#vardefine:theme-logo-height| {{#invoke:Infobox_hero|get_theme_var|{{#var:hero_key}}|logo-height}} }}<!--
-->{{#vardefine:theme-bg-image| {{#invoke:Infobox_hero|get_theme_var|{{#var:hero_key}}|bg-image}} }}<!--<!--
-->{{#vardefine:theme-bg-height| {{#invoke:Infobox_hero|get_theme_var|{{#var:hero_key}}|bg-height}} }}<!--
 
  DEPRECATED PARAM VARIABLES:  (at least until its all moved over)
-->{{#ifeq:{{{no_name|}}}|true|{{#vardefine:show_logo|false}}|{{#vardefine:show_logo|{{{show_logo|true}}}}}}}<!--
-->{{#ifeq:{{{no_summary|}}}|true|{{#vardefine:show_hero_tags|false}}|{{#vardefine:show_hero_tags|{{{show_hero_tags|true}}}}}}}<!--
-->{{#ifeq:{{{no_icon|}}}|true|{{#vardefine:show_icon|false}}|{{#vardefine:show_icon|{{{show_icon|true}}}}}}}<!--
 
-->{{#vardefine:quotemark|"}}<!-- for inserting into html
 
 
  --- Overridden Variable Styles ---
--><div class={{#var:quotemark}}infobox {{#var:hero_key}}{{#var:quotemark}}><!--
 
  --- Box Background ---
--><div class="infobox-background">[[File:{{#var:theme-bg-image}}|{{#var:theme-bg-height}}|right|link=]]</div><!--
-->
{| class="infobox-content"
! colspan="2" class="infobox-title" {{#if:{{{name_font_size|}}}|style{{=}}"font-size: {{{name_font_size|25px}}};"}} |<!--
 
---- Title + Name Image + Hero Thumbnail ---->
<div class="infobox-title-hero">
<div class="infobox-title-hero-left"></div>
<div class="infobox-title-hero-middle {{If lang|{{#ifeq:{{#var:show_logo}}|true|{{#ifexist:File:{{#var:hero_en}}_name.png|">{{Template:Icon/White|[[File:{{#var:hero_en}}_name.png|{{#var:theme-logo-height}}|class=notpageimage]]}}|infobox-title-hero-middle-text">{{{name|{{#var:hero_lang}}}}}}}|infobox-title-hero-middle-text">{{{name|{{#var:hero_lang}}}}}}}}}</div>
<div class="infobox-title-hero-right"><div>
{{#ifeq:{{#var:show_icon}}|true|{{#ifexist:File:{{{icon|{{#var:hero_en}}.png}}}|<div class="infobox-title-hero-tornbox"></div>
<div class="infobox-title-hero-icon">[[File:{{{icon|{{#var:hero_en}}.png}}}|center|35px]]</div></div>
</div>|}}}}<!--
 
---- Hero Image Card ---->
|-
|-
! colspan="2" class="infobox-image" style="margin:auto; border:none;" |<div style="overflow:hidden; border-radius:15px; padding:0px; background-color:#423837; 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" |<div>{{#ifexist: File:{{{card|{{#var:hero_en_herodata}} card.png}}}|[[File:{{{card|{{#var:hero_en_herodata}} card.png}}}|190px|alt={{{BASEPAGENAME}}}]]|[[File:Dummy card.png|190px|alt={{{BASEPAGENAME}}}]]}}</div><!--
 
---- Weapon Name ---->
|-
|-
!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>
!colspan="2" class="infobox-text-weapon infotext-bold" | {{#if: {{{weapon_name|{{#invoke:HeroData|get_hero_var|{{#var:hero_key}}|NameKey|true}}}}}|<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}}|NameKey|true}}}}}"''</span>|}}<!--
 
---- "Base Statistics" ---->
|-
|-
!colspan="2" style="border-top:solid 3px #5b5b5b;"|
!colspan="2" class="infobox-text-stat-subtitle-border"|
<span class=""><b style="color: #FFEFD7; background-color: #2F2F2F; 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>
<span class="infotext-bold infotext-title infotext-big">{{#invoke:Lang|get_string|Citadel_HeroPage_BaseStats}}</span><!--
|-style="vertical-align:middle;"
! colspan="2" style="position:relative; border-radius:7px; background-color:#d5903f; 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; 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; background-color: #2F2F2F;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; background-color: #2F2F2F;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; background-color: #2F2F2F;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; background-color: #2F2F2F;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;"
{{#ifexpr: {{#invoke:HeroData|get_hero_var|{{#var:hero_key_or_en}}|BulletsPerBurst|3}} != 1 |
{{!}} style="font-size: 16px;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" {{!}} Bullets Per Burst:
{{!}}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]]|{{#invoke:HeroData|get_hero_var|{{#var:hero_key_or_en}}|BulletsPerBurst|3}}}}}}
|-style="vertical-align:middle;"
{{#ifexpr: {{#invoke:HeroData|get_hero_var|{{#var:hero_key_or_en}}|BulletsPerShot|3}} != 1 |
{{!}} style="font-size: 16px;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" {{!}} Bullets Per Shot:
{{!}}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]]|{{#invoke:HeroData|get_hero_var|{{#var:hero_key_or_en}}|BulletsPerShot|3}}}}}}


|-style="vertical-align:middle;"
---- Weapon Dropdown ---->
| 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" | [[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}}}}}}}
! colspan="2" class="infobox-subsection infobox-dropdown infobox-dropdown-weapon" |
|-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; background-color: #2F2F2F;height:29.5px" | [[Bullet Velocity{{If_lang}}|<span style="color:#afafaf">{{#invoke:Lang|get_string|StatDesc_BulletSpeed}}</span>]]:
|+ class="infobox-dropdown-header" | [[Stats{{If_lang}}#Weapon|<span class="infotext-bold infobox-dropdown-title">{{#invoke:Lang|get_string|CitadelHeroStats_Weapon}}</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;"
---- Damage per second ---->
| 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" | [[Melee Damage{{If_lang}}|<span style="color:#afafaf">{{#invoke:Lang|get_string|StatDesc_LightMeleeDamage}}</span>]]:
| [[Damage per second{{If_lang}}|<span>{{#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: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}}}}
| {{Icon/Brown|[[File:Damage.png|20px|link=Damage per second{{If_lang}}]]|{{{dps|{{#invoke:HeroData|get_hero_var|{{#var:hero_key}}|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; background-color: #2F2F2F;height:29.5px" | [[Melee Damage{{If_lang}}|<span style="color:#afafaf">{{#invoke:Lang|get_string|StatDesc_HeavyMeleeDamage}}</span>]]:
---- Bullet Damage ---->
|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}}}}
| [[Bullet Damage{{If_lang}}|<span>{{#invoke:Lang|get_string|StatDesc_BulletDamage}}</span>]]:
|-style="vertical-align:middle;"
| style="padding-right: 5px;" | {{Icon/Brown|[[File:Bullet damage.png|20px|link=Bullet Damage{{If_lang}}]]|{{{bullet_damage|{{#invoke:HeroData|get_hero_var|{{#var:hero_key}}|BulletDamage|3}}}}}<span class{{=}}"infobox-spiritboon">{{#invoke:HeroData|get_hero_scalar|{{#var:hero_key}}|Level|BulletDamage}}{{#invoke:HeroData|get_hero_scalar|{{#var:hero_key}}|Spirit|BulletDamage}}</span>}}
| 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" | [[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}}}}}}}
<!---- Ammo ---->
|-style="vertical-align:middle;"
| [[Ammo{{If_lang}}|<span>{{#invoke:Lang|get_string|StatDesc_ClipSizeBonus}}</span>]]:
| {{Icon/Grey|[[File:Clip size icon.png|20px|link=Ammo{{If_lang}}]]|{{{ammo|{{#ifeq: {{{no_ammo|}}}|true|N/A|{{#invoke:HeroData|get_hero_var|{{#var:hero_key}}|ClipSize|3}}<span class{{=}}"infobox-spiritboon">{{#invoke:HeroData|get_hero_scalar|{{#var:hero_key}}|Level|ClipSize}}{{#invoke:HeroData|get_hero_scalar|{{#var:hero_key}}|Spirit|ClipSize}}</span>}}}}}}}
|-
<!---- Bullets per sec ---->
| [[Fire_Rate{{If_lang}}|<span>{{#invoke:Lang|get_string|StatDesc_RoundsPerSecond}}</span>]]:
| {{Icon/Grey|[[File:Bullets per sec icon.png|20px|link=Fire Rate{{If_lang}}]]|{{{bullets_per_sec|{{#invoke:HeroData|get_hero_var|{{#var:hero_key}}|RoundsPerSecond|3}}}}}<span class{{=}}"infobox-spiritboon">{{#invoke:HeroData|get_hero_scalar|{{#var:hero_key}}|Level|RoundsPerSecond}}{{#invoke:HeroData|get_hero_scalar|{{#var:hero_key}}|Spirit|RoundsPerSecond}}</span>}}
|-
<!---- Reload Time ---->
| [[Reload Time{{If_lang}}|<span>{{#invoke:Lang|get_string|StatDesc_ReloadTime}}</span>]]:
| {{Icon/Grey|[[File:AttributeIconReloadTime.png|20px|link=Reload Time{{If_lang}}]]|{{{reload_time|{{#ifeq: {{{no_ammo|}}}|true|N/A|{{#invoke:HeroData|get_hero_var|{{#var:hero_key}}|ReloadTime|3}}s}}}}}}}
|-
<!---- Bullet Velocity ---->
| [[Bullet Velocity{{If_lang}}|<span>{{#invoke:Lang|get_string|StatDesc_BulletSpeed}}</span>]]:
| {{Icon/Grey|[[File:AttributeIconBulletSpeed.png|20px|link=Bullet Velocity{{If_lang}}]]|{{{bullet_velocity|{{#invoke:HeroData|get_hero_var|{{#var:hero_key}}|BulletSpeed|3}}}}}m/s}}
|-
<!---- Light Melee ---->
| [[Melee Damage{{If_lang}}|<span>{{#invoke:Lang|get_string|StatDesc_LightMeleeDamage}}</span>]]:
| style="padding-right: 5px;"| {{Icon/Brown|[[File:Melee damage.png|20px|link=Melee Damage{{If_lang}}]]|{{{light_melee|{{#invoke:HeroData|get_hero_var|{{#var:hero_key}}|LightMeleeDamage|3}}}}}<span class{{=}}"infobox-spiritboon">{{#invoke:HeroData|get_hero_scalar|{{#var:hero_key}}|Level|LightMeleeDamage}}{{#invoke:HeroData|get_hero_scalar|{{#var:hero_key}}|Spirit|LightMeleeDamage}}</span>}}
|-
<!---- Heavy Melee ---->
| [[Melee Damage{{If_lang}}|<span>{{#invoke:Lang|get_string|StatDesc_HeavyMeleeDamage}}</span>]]:
| style="padding-right: 5px;"| {{Icon/Brown|[[File:Melee damage.png|20px|link=Melee Damage{{If_lang}}]]|{{{heavy_melee|{{#invoke:HeroData|get_hero_var|{{#var:hero_key}}|HeavyMeleeDamage|3}}}}}<span class{{=}}"infobox-spiritboon">{{#invoke:HeroData|get_hero_scalar|{{#var:hero_key}}|Level|HeavyMeleeDamage}}{{#invoke:HeroData|get_hero_scalar|{{#var:hero_key}}|Spirit|HeavyMeleeDamage}}</span>}}
|-
<!---- Falloff Range ---->
| [[Falloff Range{{If_lang}}|<span>{{#invoke:Lang|get_string|CitadelHeroStats_Weapon_Falloff}}</span>]]:
| {{Icon/Brown||{{{range|{{#ifeq: {{{no_falloff|}}}|true|N/A|{{#invoke:HeroData|get_hero_var|{{#var:hero_key}}|FalloffStartRange|2}}m <span style="color:#ecac19;">➔</span> {{#invoke:HeroData|get_hero_var|{{#var:hero_key}}|FalloffEndRange|2}}m}}}}}}}
|-
<!---- Maximum Range (Manual Input) ---->
{{#if: {{{max_range|}}} |
{{#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; background-color: #2F2F2F;height:29.5px" {{!}} {{#invoke:Lang|get_string|MaxDistance_label}}:
  {{!}} [[Falloff_Range{{If_lang}}|<span>Max Range</span>]]:
{{!}}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}}}}
{{!}} {{Icon/Brown||{{{max_range|}}}}}}}
|-style="vertical-align:middle;"
|-
{{#ifexpr: {{#invoke:HeroData|get_hero_var|{{#var:hero_key_or_en}}|CritDamageBonusPercent|3}} != 0 |
<!---- Crit Bonus Scale ---->
{{!}} style="font-size: 16px;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" {{!}} [[Weapon Damage{{If_lang}}|<span style="color:#afafaf">{{#invoke:Lang|get_string|StatDesc_CritDamageBonusScale}}</span>]]:
{{#ifexpr: {{#invoke:HeroData|get_hero_var|{{#var:hero_key}}|CritDamageBonusPercent|3}} != 0 |
{{!}}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}}%}}}}
{{!}} [[Weapon Damage{{If_lang}}#Crit_Multiplier|<span>{{#invoke:Lang|get_string|StatDesc_CritDamageBonusScale}}</span>]]:
{{!}}-style="vertical-align:middle;"
{{!}} {{Icon/Grey|[[File:Crit reduction.png|20px|link=Weapon Damage#Crit_Multiplier]]|{{#invoke:HeroData|get_hero_var|{{#var:hero_key}}|CritDamageBonusPercent|3}}%}}}}
! 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;"
 
| 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" | [[Health{{If_lang}}|<span style="color:#afafaf">{{#invoke:Lang|get_string|StatDesc_HealthAttribute}}</span>]]:
<!---- Vitality Dropdown ---->
|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}}}}
|-
|-style="vertical-align:middle;"
! colspan="2" class="infobox-subsection infobox-dropdown infobox-dropdown-vitality" |
| 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" | [[Health Regen{{If_lang}}|<span style="color:#afafaf">{{#invoke:Lang|get_string|StatDesc_HealthRegen}}</span>]]:
{| class="mw-collapsible mw-collapsed infobox-subsection-child"
|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}}}}
|+ class="infobox-dropdown-header" | [[Stats#Vitality|<span class="infotext-bold infobox-dropdown-title">{{#invoke:Lang|get_string|CitadelHeroStats_Vitality}}</span>]]
|-style="vertical-align:middle;"
|-
{{#if: {{{crit_reduction|}}}{{#invoke:HeroData|hero_has_stat|{{#var:hero_key_or_en}}|CritDamageReceivedPercent}} |
<!---- Health ---->
{{!}}-style="vertical-align:middle;"
| {{#ifeq:{{#invoke:Infobox_hero|hero_has_scalars|{{#var:hero_key}}|MaxHealth}}|true|style{{=}}"padding-top:8px;"{{!}}}}[[Health{{If_lang}}|<span>{{#invoke:Lang|get_string|StatDesc_HealthAttribute}}</span>]]:
{{!}} 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" {{!}} [[Damage Resistance{{If_lang}}|<span style="color:#afafaf">{{#invoke:Lang|get_string|StatDesc_CritDamageReceivedScale}}:</span>]]
| {{Icon/Green|[[File:Health.png|20px|link=Health{{If_lang}}]]|{{{max_health|{{#invoke:HeroData|get_hero_var|{{#var:hero_key}}|MaxHealth|3}}}}}<span class{{=}}"infobox-spiritboon">{{#invoke:HeroData|get_hero_scalar|{{#var:hero_key}}|Level|MaxHealth}}{{#invoke:HeroData|get_hero_scalar|{{#var:hero_key}}|Spirit|MaxHealth}}</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=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}}}}
|-
| {{!}}-
<!---- Health Regen ---->
| [[Health Regen{{If_lang}}|<span>{{#invoke:Lang|get_string|StatDesc_HealthRegen}}</span>]]:
| {{Icon/Grey|[[File:Health regen.png|20px|link=Health Regen{{If_lang}}]]|{{{health_regen|{{#invoke:HeroData|get_hero_var|{{#var:hero_key}}|BaseHealthRegen|2}}}}}<span class{{=}}"infobox-spiritboon">{{#invoke:HeroData|get_hero_scalar|{{#var:hero_key}}|Level|BaseHealthRegen}}{{#invoke:HeroData|get_hero_scalar|{{#var:hero_key}}|Spirit|BaseHealthRegen}}</span>}}
|-
<!---- Crit Resistance ---->
{{#if: {{{crit_reduction|}}}{{#invoke:HeroData|hero_has_stat|{{#var:hero_key}}|CritDamageReceivedPercent}} |
{{!}}[[Damage Resistance{{If_lang}}#Crit_Reduction|<span>{{#invoke:Lang|get_string|StatDesc_CritDamageReceivedScale}}</span>]]:
{{!}}{{Icon/Grey|[[File:Crit reduction.png|20px|link=Damage Resistance{{If_lang}}#Crit_Reduction]]|{{{crit_reduction|{{#invoke:HeroData|get_hero_var|{{#var:hero_key}}|CritDamageReceivedPercent|3}}}}}%<span class{{=}}"infobox-spiritboon">{{#invoke:HeroData|get_hero_scalar|{{#var:hero_key}}|Level|CritDamageReceivedPercent}}{{#invoke:HeroData|get_hero_scalar|{{#var:hero_key}}|Spirit|CritDamageReceivedPercent}}</span>}}}}
|-
<!---- Bullet Resistance ---->
{{#if: {{{bullet_resist|}}}{{#invoke:HeroData|hero_has_stat|{{#var:hero_key}}|BulletResist}} |
{{!}}[[Damage Resistance{{If_lang}}|<span>{{#invoke:Lang|get_string|StatDesc_BulletArmorDamageReduction}}</span>]]:
{{!}}{{Icon/Grey|[[File:Bullet Armor.png|20px|link=Bullet Resist{{If_lang}}]]|{{{bullet_resist|{{#invoke:HeroData|get_hero_var|{{#var:hero_key}}|BulletResist|3}}}}}%<span class{{=}}"infobox-spiritboon">{{#invoke:HeroData|get_hero_scalar|{{#var:hero_key}}|Level|BulletResist}}{{#invoke:HeroData|get_hero_scalar|{{#var:hero_key}}|Spirit|BulletResist}}</span>}}}}
|-
<!---- Spirit Resistance ---->
{{#if: {{{spirit_resist|}}}{{#invoke:HeroData|hero_has_stat|{{#var:hero_key}}|TechResist}} |
{{!}}[[Damage Resistance{{If_lang}}#Spirit_Resist|<span>{{#invoke:Lang|get_string|StatDesc_TechArmorDamageReduction}}</span>]]:
{{!}}{{Icon/Grey|[[File:Spirit Armor.png|20px|link=Damage Resistance{{If_lang}}#Spirit_Resist]]|{{{spirit_resist|{{#invoke:HeroData|get_hero_var|{{#var:hero_key}}|TechResist|3}}}}}%<span class{{=}}"infobox-spiritboon">{{#invoke:HeroData|get_hero_scalar|{{#var:hero_key}}|Level|TechResist}}{{#invoke:HeroData|get_hero_scalar|{{#var:hero_key}}|Spirit|TechResist}}</span>}}}}
|-
<!---- Melee Resistance ---->
{{#if: {{{melee_resist|}}}{{#invoke:HeroData|hero_has_stat|{{#var:hero_key}}|MeleeResist}} |
{{!}}[[Damage Resistance{{If_lang}}#Melee Resist|<span>{{#invoke:Lang|get_string|StatDesc_MeleeResist}}</span>]]:
{{!}}{{Icon/Grey|[[File:Melee damage.png|20px|link=Damage Resistance{{If_lang}}#Melee Resist]]|{{{melee_resist|{{#invoke:HeroData|get_hero_var|{{#var:hero_key}}|MeleeResist|3}}}}}%<span class{{=}}"infobox-spiritboon">{{#invoke:HeroData|get_hero_scalar|{{#var:hero_key}}|Level|MeleeResist}}{{#invoke:HeroData|get_hero_scalar|{{#var:hero_key}}|Spirit|MeleeResist}}</span>}}}}
|-
<!---- Bullet Lifesteal ---->
{{#if: {{{bullet_lifesteal|}}}{{#invoke:HeroData|hero_has_stat|{{#var:hero_key}}|BulletLifesteal}} |
{{!}}[[Lifesteal{{If_lang}}#Bullet Lifesteal|<span>{{#invoke:Lang|get_string|StatDesc_BulletLifesteal}}</span>]]:
{{!}}{{Icon/Grey|[[File:AttributeIconBulletLifesteal.png|20px|link=Lifesteal{{If_lang}}#Bullet Lifesteal]]|{{{bullet_lifesteal|{{#invoke:HeroData|get_hero_var|{{#var:hero_key}}|BulletLifesteal|3}}}}}%<span class{{=}}"infobox-spiritboon">{{#invoke:HeroData|get_hero_scalar|{{#var:hero_key}}|Level|BulletLifesteal}}{{#invoke:HeroData|get_hero_scalar|{{#var:hero_key}}|Spirit|BulletLifesteal}}</span>}}}}
|-
<!---- Spirit Lifesteal ---->
{{#if: {{{spirit_lifesteal|}}}{{#invoke:HeroData|hero_has_stat|{{#var:hero_key}}|SpiritLifesteal}} |
{{!}}[[Lifesteal{{If_lang}}#Spirit Lifesteal|<span>{{#invoke:Lang|get_string|StatDesc_SpiritLifesteal}}</span>]]:
{{!}}{{Icon/Grey|[[File:AttributeIconBulletLifesteal.png|20px|link=Lifesteal{{If_lang}}#Spirit Lifesteal]]|{{{spirit_lifesteal|{{#invoke:HeroData|get_hero_var|{{#var:hero_key}}|SpiritLifesteal|3}}}}}%<span class{{=}}"infobox-spiritboon">{{#invoke:HeroData|get_hero_scalar|{{#var:hero_key}}|Level|SpiritLifesteal}}{{#invoke:HeroData|get_hero_scalar|{{#var:hero_key}}|Spirit|SpiritLifesteal}}</span>}}}}
|-
<!---- Move Speed ---->
| [[Move Speed{{If_lang}}|<span>{{#invoke:Lang|get_string|StatDesc_RunSpeed}}</span>]]:
| {{Icon/Green|[[File:Move speed.png|20px|link=Move Speed]]|{{{move_speed|{{#invoke:HeroData|get_hero_var|{{#var:hero_key}}|MaxMoveSpeed|2}}}}}m/s<span class{{=}}"infobox-spiritboon">{{#invoke:HeroData|get_hero_scalar|{{#var:hero_key}}|Level|MaxMoveSpeed}}{{#invoke:HeroData|get_hero_scalar|{{#var:hero_key}}|Spirit|MaxMoveSpeed}}</span>}}
|-
<!---- Sprint Speed ---->
| [[Move Speed{{If_lang}}#Sprint|<span>{{#invoke:Lang|get_string|StatDesc_SprintSpeed}}</span>]]:
| {{Icon/Green|[[File:Move speed sprint.png|20px|link=Move Speed#Sprint]]|{{{sprint_speed|{{#invoke:HeroData|get_hero_var|{{#var:hero_key}}|SprintSpeed|2}}}}}m/s<span class{{=}}"infobox-spiritboon">{{#invoke:HeroData|get_hero_scalar|{{#var:hero_key}}|Level|SprintSpeed}}{{#invoke:HeroData|get_hero_scalar|{{#var:hero_key}}|Spirit|SprintSpeed}}</span>}}
|-
<!---- Dash Speed ---->
| [[Stamina{{If_lang}}#Dash_Speed|<span>{{#invoke:Lang|get_string|DashSpeed_label}}</span>]]:
| {{Icon/Green|[[File:Springy_boots_icon.png|20px|link=Stamina#Dash_Speed]]|{{#invoke:HeroData|get_hero_var|{{#var:hero_key}}|GroundDashSpeed|3}}s<span class{{=}}"infobox-spiritboon">{{#invoke:HeroData|get_hero_scalar|{{#var:hero_key}}|Level|GroundDashSpeed}}{{#invoke:HeroData|get_hero_scalar|{{#var:hero_key}}|Spirit|GroundDashSpeed}}</span>}}
|-
<!---- Stamina ---->
| [[Stamina{{If_lang}}|<span>{{#invoke:Lang|get_string|StatDesc_Stamina}}</span>]]:
| {{Icon/Green|[[File:Springy_boots_icon.png|20px|link=Stamina]]|{{{stamina|{{#invoke:HeroData|get_hero_var|{{#var:hero_key}}|Stamina|2}}}}}<span class{{=}}"infobox-spiritboon">{{#invoke:HeroData|get_hero_scalar|{{#var:hero_key}}|Level|Stamina}}{{#invoke:HeroData|get_hero_scalar|{{#var:hero_key}}|Spirit|Stamina}}</span>}}
|-
<!---- Stamina Cooldown ---->
| [[Stamina{{If_lang}}#Cooldown|<span>{{#invoke:Lang|get_string|StatDesc_StaminaCooldown}}</span>]]:
| {{Icon/Grey|[[File:AttributeIconTechDuration.png|20px|link=Stamina#Cooldown]]|{{{stamina_cooldown|{{#invoke:HeroData|get_hero_var|{{#var:hero_key}}|StaminaCooldown|2}}}}}s<span class{{=}}"infobox-spiritboon">{{#invoke:HeroData|get_hero_scalar|{{#var:hero_key}}|Level|StaminaCooldown}}{{#invoke:HeroData|get_hero_scalar|{{#var:hero_key}}|Spirit|StaminaCooldown}}</span>}}
|}
 
<!---- Spirit Dropdown ---->
|-
! colspan="2" class="infobox-subsection infobox-dropdown infobox-dropdown-spirit" |
{| class="mw-collapsible mw-collapsed infobox-subsection-child"
|+ class="infobox-dropdown-header" | [[Stats#Vitality|<span class="infotext-bold infobox-dropdown-title">{{#invoke:Lang|get_string|CitadelHeroStats_Spirit}}</span>]]
|-
| {{#ifeq:{{#invoke:Infobox_hero|hero_has_scalars|{{#var:hero_key}}|TechPower}}|true|style{{=}}"padding-top:8px;"{{!}}}}[[Spirit Power{{If_lang}}|<span>{{#invoke:Lang|get_string|SpiritPower_label}}</span>]]:
| {{Icon/Purple|[[File:Spirit_icon_noborder.png|20px|link=Spirit Power{{If_lang}}]]|{{{spirit_power|{{#invoke:HeroData|get_hero_var|{{#var:hero_key}}|TechPower|2}}}}}<span class{{=}}"infobox-spiritboon">{{#invoke:HeroData|get_hero_scalar|{{#var:hero_key}}|Level|TechPower}}{{#invoke:HeroData|get_hero_scalar|{{#var:hero_key}}|Spirit|TechPower}}</span>}}
|}<!--
 
---- "Information" ---->
|-
! colspan="2" class="infobox-text-stat-subtitle" {{#if:{{{release_date|}}}{{{voice_actor|}}}{{{pronouns|}}}{{{codenames|}}}||style{{=}}"display:none;"}}|
<span class="infotext-bold infotext-title infotext-big">{{#invoke:Dictionary|translate|Information}}</span>
|-
! colspan="2" class="infobox-subsection" {{#if:{{{release_date|}}}{{{voice_actor|}}}{{{pronouns|}}}{{{codenames|}}}||style{{=}}"display:none;"}} |
{| class="infobox-subsection-child"
|-<!--
-- Pronouns (Manual Input) ---->
{{#if:{{{pronouns|}}}|
{{!}}Pronouns:
{{!}}{{{pronouns|}}}
}}
}}
{{#if: {{{bullet_resist|}}}{{#invoke:HeroData|hero_has_stat|{{#var:hero_key_or_en}}|BulletResist}} |
|-
{{!}}-style="vertical-align:middle;"
<!---- Voice Actor (Manual Input) ---->
{{!}} 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" {{!}} [[Damage Resistance{{If_lang}}|<span style="color:#afafaf">{{#invoke:Lang|get_string|StatDesc_BulletArmorDamageReduction}}</span>]]:
{{#if:{{{voice_actor|}}}|
{{!}}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}}}}
{{!}}{{#invoke:Dictionary|translate|VoiceActor}}:
| {{!}}-
{{!}}{{{voice_actor|}}}
}}
}}
{{#if: {{{spirit_resist|}}}{{#invoke:HeroData|hero_has_stat|{{#var:hero_key_or_en}}|TechResist}} |
|-
{{!}}-style="vertical-align:middle;"
<!---- Release Date (Manual Input) ---->
{{!}} 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" {{!}} [[Damage Resistance{{If_lang}}|<span style="color:#afafaf">{{#invoke:Lang|get_string|StatDesc_TechArmorDamageReduction}}</span>]]:
{{#if:{{{release_date|}}}|
{{!}}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}}}}
{{!}}[[Heroes by release{{If_lang}}|<span>{{#invoke:Dictionary|translate|ReleaseDate}}</span>]]:
| {{!}}-
{{!}}{{{release_date|}}}
}}
}}
{{#if: {{{melee_resist|}}}{{#invoke:HeroData|hero_has_stat|{{#var:hero_key_or_en}}|MeleeResist}} |
|-
{{!}}-style="vertical-align:middle;"
<!---- Codenames (Manual Input) ---->
{{!}} 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" {{!}} [[Damage Resistance{{If_lang}}|<span style="color:#afafaf">{{#invoke:Lang|get_string|StatDesc_MeleeResist}}</span>]]:
{{#if:{{{codenames|}}}|
{{!}}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}}}}
{{!}}{{#invoke:Dictionary|translate|Codenames}}:
| {{!}}-
{{!}}{{{codenames|}}}
}}
}}
{{#if: {{{bullet_lifesteal|}}}{{#invoke:HeroData|hero_has_stat|{{#var:hero_key_or_en}}|BulletLifesteal}} |
|}
{{!}}-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; background-color: #2F2F2F;height:29.5px" {{!}} [[Lifesteal{{If_lang}}|<span style="color:#afafaf">{{#invoke:Lang|get_string|StatDesc_BulletLifesteal}}</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: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}}}}
</div>
| {{!}}-
 
}}
<!---- Search Engine Optimization ---->
{{#if: {{{spirit_lifesteal|}}}{{#invoke:HeroData|hero_has_stat|{{#var:hero_key_or_en}}|SpiritLifesteal}} |
<!--
{{!}}-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; background-color: #2F2F2F;height:29.5px" {{!}} [[Lifesteal{{If_lang}}|<span style="color:#afafaf">{{#invoke:Lang|get_string|StatDesc_SpiritLifesteal}}</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: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="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; background-color: #2F2F2F;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}}}}
|-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; background-color: #2F2F2F;height:29.5px" | [[Move Speed#Sprint{{If_lang}}|<span style="color:#afafaf">{{#invoke:Lang|get_string|StatDesc_SprintSpeed}}</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 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;"
| 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" |[[Stamina#Dash_Speed{{If_lang}}|<span style="color:#afafaf">{{#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;"|<!--
-->{{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}}}}<!--
-->
|-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; background-color: #2F2F2F;height:29.5px" | [[Stamina{{If_lang}}|<span style="color:#afafaf">{{#invoke:Lang|get_string|StatDesc_Stamina}}</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: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;"
|  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" | [[Stamina{{If_lang}}|<span style="color:#afafaf">{{#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="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;"
| 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" | [[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}}}}
|-style="vertical-align:middle;"
! 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>
|-style="vertical-align:top;"
{{#if: {{{pronouns|}}} |
{{!}}-
{{!}}-style="vertical-align:top;"
{{!}}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>
}}
{{#if: {{{voice_actor|}}} |
{{!}}-
{{!}}-style="vertical-align:top;"
{{!}}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" {{!}} {{#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;">{{{voice_actor}}}</span>
}}
{{#if: {{{release_date|}}} |
{{!}}-
{{!}}-style="vertical-align:top;"
{{!}}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" {{!}} [[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;">{{{release_date}}}</span>
}}
{{#if: {{{codenames|}}} |
{{!}}-
{{!}}-style="vertical-align:top;"
{{!}}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" {{!}} {{#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;">{{{codenames}}}</span>
}}
|}<!--
{{#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
}}-->
}}-->
</div><!--
 
--></onlyinclude><noinclude>{{Documentation}}</noinclude>
<!---- Quotes rendering ---->
{{#ifeq: {{{no_summary|}}}|true
||{{#ifeq:{{#invoke:Infobox_hero|hero_has_tags|{{#var:hero_en}}}}|true|{{Quotation||
<div class{{=}}{{#var:quotemark}}infobox-herotags {{#var:hero_key}}{{#var:quotemark}}>
<div><div class{{=}}"infobox-herotag-back"></div><div class{{=}}"infobox-herotag-text">{{#invoke:HeroData|get_hero_tag|{{#var:hero_en}}|1}}</div></div>
<div><div class{{=}}"infobox-herotag-back"></div><div class{{=}}"infobox-herotag-text">{{#invoke:HeroData|get_hero_tag|{{#var:hero_en}}|2}}</div></div>
<div><div class{{=}}"infobox-herotag-back"></div><div class{{=}}"infobox-herotag-text">{{#invoke:HeroData|get_hero_tag|{{#var:hero_en}}|3}}</div></div>
</div>}}|}}}}
 
</onlyinclude><!--noinclude>{{Documentation}}</noinclude>-->