Template:WeaponCard: Difference between revisions

Sur (talk | contribs)
m key param can now be passed instead of english text to allow O(1) calls instead of O(N)
removing inline css because we have templatestyles now!
 
(39 intermediate revisions by 8 users not shown)
Line 1: Line 1:
<onlyinclude>
<includeonly><!--
{{#if: {{{key|}}} |  
-->{{#if: {{{key|}}} |<!-- If key is provided
  <!-- If key is provided, localize it -->
-->{{#vardefine:hero_key_or_en|{{{key}}}}}<!-- key
  {{#vardefine:hero_name|{{#invoke:Lang|get_string|{{{key}}}}}}}
-->{{#vardefine:hero_en|{{#invoke:Lang|get_string|{{{key}}}|lang_code_override=en}}}}<!-- en
|  
-->|<!-- 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 is not provided, use {{{1}}} and assume its in english where it will be re-localized to current language -->
-->{{#vardefine:hero_key_or_en|{{{1}}}}}<!-- en
  {{#vardefine:hero_name|{{{1}}}}}
-->{{#vardefine:hero_en|{{{1}}}}}<!-- en
}}
-->}}
 
<div class="weaponcard-container">
<div style="display:inline-block; margin: 15px 10px 15px 0px; width:650px; max-width:100%;">
<div class="weapon-display">
{|- style="text-align:center; background-image: linear-gradient(#180E02, #30220C); border-collapse:collapse; font-size: 16px; font-family: 'PT Serif','Palatino','Georgia',serif;"
<div class="name-stats-container">
| style="width:350px; color:#CDBFAB; font-family: 'Retail Demo';" | {{#invoke:Lang|get_string|CitadelHeroStats_Weapon}}
<div class="weapon-name">'''{{{weapon_name|{{#invoke:HeroData|get_hero_var|{{#var:hero_key_or_en}}|NameKey|true}}}}}'''</div>
| rowspan="3" style="bottom:50px;" | <div style="display:inline-block; position:relative;">{{#ifeq:{{{ph|}}}|true|[[File:Placeholder Weapon.png|320x200px|link=]]|[[File:{{#var:hero_name}} Weapon.png|320x200px|link=]]}} <div style="position:absolute; bottom:0px; right:0px;><div style="position:relative; color:#FFEFD7;">
<div class="weapon-type-container">
{|- style="background-color:rgba(0, 0, 0, 0.4); width:120px"
{{#if:{{#invoke:HeroData|get_list_elem|{{#var:hero_key_or_en}}|WeaponTypes|1|true}}
|colspan="2" style="font-family:'Retail Demo'; |{{#invoke:Lang|get_string|CitadelHeroStats_Weapon_Falloff}}
|<div class="weapon-type">{{#invoke:HeroData|get_list_elem|{{#var:hero_key_or_en}}|WeaponTypes|1|true}}</div>
|-
|}}<!--
|style="font-family:'Retail Demo'; font-weight:bold; font-size:14px;"|{{#invoke:HeroData|get_hero_var|{{{1|Abrams}}}|FalloffStartRange|2}}{{#invoke:Lang|get_string|StatDesc_WeaponRangeFalloffMin_postfix}} - {{#invoke:HeroData|get_hero_var|{{{1|Abrams}}}|FalloffEndRange|2}}{{#invoke:Lang|get_string|StatDesc_WeaponRangeFalloffMax_postfix}}
-->{{#if:{{#invoke:HeroData|get_list_elem|{{#var:hero_key_or_en}}|WeaponTypes|2|true}}
|}
|<div class="weapon-type">{{#invoke:HeroData|get_list_elem|{{#var:hero_key_or_en}}|WeaponTypes|2|true}}</div>
|}}<!--
-->{{#if:{{#invoke:HeroData|get_list_elem|{{#var:hero_key_or_en}}|WeaponTypes|3|true}}
|<div class="weapon-type">{{#invoke:HeroData|get_list_elem|{{#var:hero_key_or_en}}|WeaponTypes|3|true}}</div>
|}}
</div></div>
<div class="second-half-container">
<div class="dps-text">[[File:Bullet_damage.png|20px|link=Damage per second]] <span style="color:#ffefd7;>{{#invoke:HeroData|get_hero_var|{{#var:hero_key_or_en}}|DPS|2}}</span> <span style="color:#ccbca8;">{{#invoke:Lang|get_string|DPS_label}}</span>
</div>
<div class="falloff-range-container">
<div class="falloff-range-text">{{#invoke:Lang|get_string|CitadelHeroStats_Weapon_Falloff}}</div><!--
--><div class="falloff-range-numbers">{{#ifeq:{{{no_falloff|}}}|true|N/A|{{#invoke:HeroData|get_hero_var|{{#var:hero_key_or_en}}|FalloffStartRange|2}}{{#invoke:Lang|get_string|StatDesc_WeaponRangeFalloffMin_postfix}} {{#invoke:HeroData|get_hero_var|{{#var:hero_key_or_en}}|FalloffEndRange|2}}{{#invoke:Lang|get_string|StatDesc_WeaponRangeFalloffMax_postfix}}}}</div>
</div>
<div class="weapon-image">{{#ifexist:File:{{#var:hero_en}} Weapon.png|[[File:{{#var:hero_en}} Weapon.png|320x200px|link=]]|[[File:Placeholder Weapon.png|320x200px|link=]]}}
</div>
</div>
</div>
</div>
<div style="position:absolute; top:0px; right:5px; ><div style="position:relative; color:#FFEFD7; font-family:'Retail Demo'; font-weight:bold; font-size:14px;">{{Icon/Brown|[[File:Damage.png|20px|link=Damage per second]]|{{#invoke:HeroData|get_hero_var|{{{1|Abrams}}}|DPS|2}} {{#invoke:Lang|get_string|DPS_label}}}}</div> </div>
</div>
</div>
|-
<div class="notes-box">{{#ifeq:{{{no_description|}}}|true||{{#invoke:HeroData|get_hero_var|{{#var:hero_key_or_en}}|DescKey|true}}}}</div>
| style="text-align:center; font-family: 'Retail Demo'; font-weight:bold; color:#FFEFD7; height:20px; font-size:25px; line-height:8px;" | {{#invoke:HeroData|get_hero_var|{{{1|Abrams}}}|WeaponName|true}}
</div></includeonly><templatestyles src="WeaponCard/styles.css"/><noinclude>{{Documentation}}</noinclude>
|-
|
{| style="text-align:center; color:#FFEFD7; font-family:'Retail Demo'; font-weight:bold; font-size:15px; background-color:#1B160C; border-radius:15px; margin:auto;"
| <span style="margin-left:5px">{{#invoke:HeroData|get_list_elem|{{{1|Abrams}}}|WeaponTypes|1|true}}</span>
| style="background-color:rgba(0, 0, 0, 0); width:20px;"|
| {{#invoke:HeroData|get_list_elem|{{{1|Abrams}}}|WeaponTypes|2|true}}
{{#if:{{#invoke:HeroData|get_list_elem|{{{1|Abrams}}}|WeaponTypes|3|true}}
|<td style="background-color:rgba(0, 0, 0, 0); width:20px;"></td>
<td> <span style="margin-right:5px">{{#invoke:HeroData|get_list_elem|{{{1|Abrams}}}|WeaponTypes|3|true}}</span></td>
|}}
|}
|-
| colspan="2" style="background-color:#4A3617; color:#FFEFD7; height:40px; font-family:'Retail Demo'; font-size:14px; text-align:left;"> |<span style="margin-left:10px;">{{#invoke:HeroData|get_hero_var|{{{1|Abrams}}}|WeaponDescription|true}}</span>
|}
</div></onlyinclude><noinclude>{{Documentation}}</noinclude>