User:Samlovesmath/Sandbox: Difference between revisions

Samlovesmath (talk | contribs)
added hero tags, automated all variables
Samlovesmath (talk | contribs)
more cleanup / finalizing styles
Line 25: Line 25:
<span style="font-size:small; opacity:50%">'''''WIP -- Last edited: Mar 28, 2026'''''</span>
<span style="font-size:small; opacity:50%">'''''WIP -- Last edited: Mar 28, 2026'''''</span>
<!--
<!--
-->{{#vardefine:key|hero_atlas}}<!-- hero keyname
-->{{#vardefine:key|hero_ghost}}<!-- hero keyname


-->{{#vardefine:color1| \#{{#invoke:Samlovesmath/Sandbox|get_value|{{#var:key}}|color1}} }} <!--
-->{{#vardefine:color1| \#{{#invoke:Samlovesmath/Sandbox|get_value|{{#var:key}}|color1}} }} <!--
Line 61: Line 61:
<div class="infobox" style=
<div class="infobox" style=
{{#var:quotemark}}
{{#var:quotemark}}
--infobox_th_color2: {{#var:color2}} !important;
--infobox_th_text_title: {{#var:text_title}} !important;
--infobox_th_text_title: {{#var:text_title}} !important;
--infobox_th_stats_text: {{#var:stats_text}} !important;
--infobox_th_stats_text: {{#var:stats_text}} !important;
Line 78: Line 79:
<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|{{#var:logo_height}}|class=notpageimage|link=]]}}}}|{{{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|{{#var:logo_height}}|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>
<div class="infobox-title-hero-icon">{{#ifeq: {{{no_icon|}}}|true||[[Image:{{{icon|{{#invoke:HeroData|get_hero_var|{{#var:hero_key_or_en}}|Name}}}}}.png|frameless|center|35px|link=]]}}</div></div>
<div class="infobox-title-hero-icon">{{#ifeq: {{{no_icon|}}}|true||[[Image:{{{icon|{{#invoke:HeroData|get_hero_var|{{#var:hero_key_or_en}}|Name}}}}}.png|center|35px]]}}</div></div>
</div>
</div>


<!---- Hero Image Card ---->
<!---- 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}}}|link=]]</div>
! colspan="2" class="infobox-image" style="margin:auto; border:none; --secondaryColor: {{#var:color2}};" |<div>[[File:{{{card|{{#invoke:HeroData|get_hero_var|{{#var:hero_key_or_en}}|Name}} card.png}}}|190px|alt={{{BASEPAGENAME}}}]]</div>


<!---- Weapon Name ---->
<!---- Weapon Name ---->
Line 101: Line 102:
! colspan="2" class="infobox-subsection infobox-dropdown infobox-dropdown-weapon" |
! colspan="2" class="infobox-subsection infobox-dropdown infobox-dropdown-weapon" |
{| class="mw-collapsible mw-collapsed infobox-subsection-child"
{| 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>]]
|+ class="infobox-dropdown-header" | [[Stats{{If_lang}}#Weapon|<span class="infotext-bold infobox-dropdown-title">{{#invoke:Lang|get_string|CitadelHeroStats_Weapon}}</span>]]
|-
|-
<!---- Damage per second ---->
<!---- Damage per second ---->
| [[Damage per second{{If_lang}}|<span>{{#invoke:Lang|get_string|DPS_label}}</span>]]:
| [[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}}}}}}}
| style="white-space: nowrap;" | {{Icon/Brown|[[File:Damage.png|20px|link=Damage per second{{If_lang}}]]|{{{dps|{{#invoke:HeroData|get_hero_var|{{#var:hero_key_or_en}}|DPS|3}}}}}}}
|-
|-
<!---- Bullet Damage ---->
<!---- Bullet Damage ---->
| [[Bullet Damage{{If_lang}}|<span>{{#invoke:Lang|get_string|StatDesc_BulletDamage}}</span>]]:
| [[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}}}}
| style="white-space: nowrap; 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_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 ---->
| [[Ammo{{If_lang}}|<span>{{#invoke:Lang|get_string|StatDesc_ClipSizeBonus}}</span>]]:
| [[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}}}}}}}}}
| style="white-space: nowrap;"| {{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_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 ---->
<!---- Bullets per sec ---->
| [[Damage per second{{If_lang}}|<span>{{#invoke:Lang|get_string|StatDesc_RoundsPerSecond}}</span>]]:
| [[Fire_Rate{{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}}}}
| style="white-space: nowrap;"| {{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_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 ---->
| [[Reload Time{{If_lang}}|<span>{{#invoke:Lang|get_string|StatDesc_ReloadTime}}</span>]]:
| [[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}}}}}}}
| style="white-space: nowrap;"| {{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_or_en}}|ReloadTime|3}}s}}}}}}}
|-
|-
<!---- Bullet Velocity ---->
<!---- Bullet Velocity ---->
| [[Bullet Velocity{{If_lang}}|<span>{{#invoke:Lang|get_string|StatDesc_BulletSpeed}}</span>]]:
| [[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}}
| style="white-space: nowrap;"| {{Icon/Grey|[[File:AttributeIconBulletSpeed.png|20px|link=Bullet Velocity{{If_lang}}]]|{{{bullet_velocity|{{#invoke:HeroData|get_hero_var|{{#var:hero_key_or_en}}|BulletSpeed|3}}}}}m/s}}
|-
|-
<!---- Light Melee ---->
<!---- Light Melee ---->
| [[Melee Damage{{If_lang}}|<span>{{#invoke:Lang|get_string|StatDesc_LightMeleeDamage}}</span>]]:
| [[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}}}}
| style="white-space: nowrap; 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_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 ---->
<!---- Heavy Melee ---->
| [[Melee Damage{{If_lang}}|<span>{{#invoke:Lang|get_string|StatDesc_HeavyMeleeDamage}}</span>]]:
| [[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}}}}
| style="white-space: nowrap; 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_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 ---->
Line 141: Line 142:
<!---- Maximum Range (Manual Input) ---->
<!---- Maximum Range (Manual Input) ---->
{{#if: {{#var:max_range|}} |
{{#if: {{#var:max_range|}} |
  {{!}} Max Range:
  {{!}} [[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||31}}}}
{{!}} style="font-size: 16px;text-shadow: 1.5px 1.5px 0.8px rgba(0, 0, 0, 0.8);text-align:left"{{!}}{{Icon/Brown||31}}}}
|-
|-
<!---- Crit Bonus Scale ---->
<!---- Crit Bonus Scale ---->
{{#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 |
  {{!}} [[Weapon Damage{{If_lang}}|<span>{{#invoke:Lang|get_string|StatDesc_CritDamageBonusScale}}</span>]]:
  {{!}} [[Weapon Damage{{If_lang}}#Crit_Multiplier|<span>{{#invoke:Lang|get_string|StatDesc_CritDamageBonusScale}}</span>]]:
{{!}} 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="white-space: nowrap;"{{!}}{{Icon/Grey|[[File:Crit reduction.png|20px|link=Weapon Damage#Crit_Multiplier]]|{{#invoke:HeroData|get_hero_var|{{#var:hero_key_or_en}}|CritDamageBonusPercent|3}}%}}}}
|}
|}


Line 158: Line 159:
<!---- Health ---->
<!---- Health ---->
| style="padding-top: 8px;"| [[Health{{If_lang}}|<span>{{#invoke:Lang|get_string|StatDesc_HealthAttribute}}</span>]]:
| 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}}}}
| style="white-space: nowrap; padding-right: 5px; padding-top: 8px;"| {{Icon/Green|[[File:Health.png|20px|link=Health{{If_lang}}]]|{{{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 ---->
| [[Health Regen{{If_lang}}|<span>{{#invoke:Lang|get_string|StatDesc_HealthRegen}}</span>]]:
| [[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}}}}
| style="white-space: nowrap;"| {{Icon/Grey|[[File:Health regen.png|20px|link=Health Regen{{If_lang}}]]|{{{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 ---->
<!---- 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}} |
{{!}}[[Damage Resistance{{If_lang}}|<span>{{#invoke:Lang|get_string|StatDesc_CritDamageReceivedScale}}</span>]]:
{{!}}[[Damage Resistance{{If_lang}}#Crit_Reduction|<span>{{#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="white-space: nowrap;"{{!}}{{Icon/Grey|[[File:Crit reduction.png|20px|link=Damage Resistance{{If_lang}}#Crit_Reduction]]|{{{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 ---->
<!---- 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}} |
{{!}}[[Damage Resistance{{If_lang}}|<span>{{#invoke:Lang|get_string|StatDesc_BulletArmorDamageReduction}}</span>]]:
{{!}}[[Damage Resistance{{If_lang}}|<span>{{#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="white-space: nowrap;"{{!}}{{Icon/Grey|[[File:Bullet Armor.png|20px|link=Bullet Resist{{If_lang}}]]|{{{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 ---->
<!---- 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}} |
{{!}}[[Damage Resistance{{If_lang}}|<span>{{#invoke:Lang|get_string|StatDesc_TechArmorDamageReduction}}</span>]]:
{{!}}[[Damage Resistance{{If_lang}}#Spirit_Resist|<span>{{#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="white-space: nowrap;"{{!}}{{Icon/Grey|[[File:Spirit Armor.png|20px|link=Damage Resistance{{If_lang}}#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 ---->
<!---- 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}} |
{{!}}[[Damage Resistance{{If_lang}}|<span>{{#invoke:Lang|get_string|StatDesc_MeleeResist}}</span>]]:
{{!}}[[Damage Resistance{{If_lang}}#Melee Resist|<span>{{#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="white-space: nowrap;"{{!}}{{Icon/Grey|[[File:Melee damage.png|20px|link=Damage Resistance{{If_lang}}#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 ---->
<!---- 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}} |
{{!}}[[Lifesteal{{If_lang}}|<span>{{#invoke:Lang|get_string|StatDesc_BulletLifesteal}}</span>]]:
{{!}}[[Lifesteal{{If_lang}}#Bullet Lifesteal|<span>{{#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="white-space: nowrap;"{{!}}{{Icon/Grey|[[File:AttributeIconBulletLifesteal.png|20px|link=Lifesteal{{If_lang}}#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 ---->
<!---- 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}} |
{{!}}[[Lifesteal{{If_lang}}|<span>{{#invoke:Lang|get_string|StatDesc_SpiritLifesteal}}</span>]]:
{{!}}[[Lifesteal{{If_lang}}#Spirit Lifesteal|<span>{{#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="white-space: nowrap;"{{!}}{{Icon/Grey|[[File:AttributeIconBulletLifesteal.png|20px|link=Lifesteal{{If_lang}}#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 ---->
| [[Move Speed{{If_lang}}|<span>{{#invoke:Lang|get_string|StatDesc_RunSpeed}}</span>]]:
| [[Move Speed{{If_lang}}|<span>{{#invoke:Lang|get_string|StatDesc_RunSpeed}}</span>]]:
| 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="white-space: nowrap;"| {{Icon/Green|[[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 ---->
<!---- Sprint Speed ---->
| [[Move Speed#Sprint{{If_lang}}|<span>{{#invoke:Lang|get_string|StatDesc_SprintSpeed}}</span>]]:
| [[Move Speed{{If_lang}}#Sprint|<span>{{#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="white-space: nowrap;"| {{Icon/Green|[[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}}}}
|-
|-
<!---- Dash Speed ---->
<!---- Dash Speed ---->
| [[Stamina#Dash_Speed{{If_lang}}|<span>{{#invoke:Lang|get_string|DashSpeed_label}}</span>]]:
| [[Stamina{{If_lang}}#Dash_Speed|<span>{{#invoke:Lang|get_string|DashSpeed_label}}</span>]]:
| 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}}}}
| style="white-space: nowrap;"| {{Icon/Green|[[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 ---->
<!---- Stamina ---->
| [[Stamina{{If_lang}}|<span>{{#invoke:Lang|get_string|StatDesc_Stamina}}</span>]]:
| [[Stamina{{If_lang}}|<span>{{#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="white-space: nowrap;"| {{Icon/Green|[[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}}}}
|-
|-
<!---- Dash Speed ---->
<!---- Stamina Cooldown ---->
| [[Stamina{{If_lang}}|<span>{{#invoke:Lang|get_string|StatDesc_StaminaCooldown}}</span>]]:
| [[Stamina{{If_lang}}#Cooldown|<span>{{#invoke:Lang|get_string|StatDesc_StaminaCooldown}}</span>]]:
| 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="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}}}}
|}
|}
Line 222: Line 223:
|-
|-
| style="padding-top: 8px;"| [[Spirit Power{{If_lang}}|<span>{{#invoke:Lang|get_string|SpiritPower_label}}</span>]]:
| 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}}}}
| style="white-space: nowrap; padding-right: 4px; padding-top: 8px;"| {{Icon/Purple|[[File:Spirit_icon_noborder.png|20px|link=Spirit Power{{If_lang}}]]|{{{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}}}}
|}
|}