Difference between revisions of "Template:Gacha infobox"

From Tokyo Afterschool Summoners
Jump to navigation Jump to search
 
(44 intermediate revisions by 2 users not shown)
Line 1: Line 1:
<includeonly>{{#if: {{NAMESPACE}} | <!-- don't create subobj within namespace --> |
<includeonly>{{#if: {{NAMESPACE}} | <!-- don't create subobj within namespace --> |
{{#vardefine:is active|}}{{#if:{{{duration|}}}|{{#vardefine:duration array|{{{duration|}}}}}{{#vardefine:duration loop|1}}{{#vardefine:duration loop|1}}{{#while:|{{#var:duration loop}}|
{{ #if: {{{id|}}} | {{#masterdata:Gacha|{{{id|}}} }} }}{{#vardefine:is active|
{{#vardefine:duration array piece|{{#sub:{{#var:duration array}}|0|{{#pos:{{#var:duration array}}|;}}}}}}{{#vardefine:duration array piece start|{{#explode:{{#explode:{{#var:duration array piece}}|!|1}}|->|0}}}}{{#vardefine:duration array piece end|{{#explode:{{#explode:{{#var:duration array piece}}|!|1}}|->|1}}}}
}}{{#if:{{{duration|{{#var:event duration|}}}}}|
{{#ifexpr:{{#time: U|now}}>={{#time: U|{{#replace:{{#var:duration array piece start|0}}|@|}}}} and {{#time: U|now}}<={{#time: U|{{#replace:{{#var:duration array piece end|0}}|@|}}}}|{{#vardefine:is active|true}}|}}
  {{#vardefine:duration array|{{{duration|{{#var:event duration|}}}}}
{{#if:{{#pos:{{#var:duration array}}|;}}||{{#vardefine:duration loop|}}}}{{#vardefine:duration array|{{#sub:{{#var:duration array}}|{{#expr:{{#pos:{{#var:duration array}}|;}}+1}}}}}}
}}<!-- clear previous vars -->{{#vardefine:duration latest end|{{#time:c|December 2nd, 2016}}}}{{#vardefine:duration start|{{#time:c|December 31st, 3000}}{{#vardefine:duration loop|}}{{#vardefine:duration array piece|}}{{#vardefine:duration array piece start|}}{{#vardefine:duration array piece end|}}{{#vardefine:duration|}}{{#vardefine:duration array piece name|}}{{#vardefine:duration earliest start|}}{{#vardefine:duration latest end|}}
}}}}{{#subobject:gacha{{#vardefineecho:gachanumber|{{#expr:{{#var:gachanumber|-1}}+1}}}}
}}{{#vardefine:duration loop|1
}}{{#while:|{{#var:duration loop}}|
{{#vardefine:duration array piece|
  {{#sub:{{#var:duration array}}|0|{{#pos:{{#var:duration array}}|;}}}}
}}{{#if:{{#var:duration array|}}|
  {{#if:{{#pos:{{#var:duration array}}|!}}|
    {{#vardefine:duration array piece name|
      {{#explode:{{#var:duration array piece}}|!|0}}
    }}{{#vardefine:duration array piece start|
      {{#explode:
        {{#explode:{{#var:duration array piece}}|!|1
      }}|->|0}}
    }}{{#vardefine:duration array piece end|
      {{#explode:
        {{#explode:{{#var:duration array piece}}|!|1
      }}|->|1}}
    }}
    |{{#vardefine:duration array piece name|Duration
    }}{{#vardefine:duration array piece start|
      {{#explode:{{#var:duration array piece}}|->|0}}
    }}{{#vardefine:duration array piece end|
      {{#explode:{{#var:duration array piece}}|->|1}}
    }}{{#if:{{#var:duration array piece start|}}||{{#vardefine:duration array piece start|{{#time:c|December 2nd, 2016}}}}
    }}{{#if:{{#var:duration array piece end|}}||{{#vardefine:duration array piece end|{{#time:c|December 31st, 3000}}}}
    }}
  }}{{#vardefine:duration array piece start|{{#replace:{{#var:duration array piece start}}|@|}}
    }}{{#vardefine:duration array piece end|{{#replace:{{#var:duration array piece end}}|@|}}
  }}{{#if:{{#var:duration}}|
    {{#vardefine:duration|{{#var:duration}};{{#var:duration array piece name}}!{{#replace:{{#time:c|{{#var:duration array piece start}}}}|+00:00|+09:00}}->{{#replace:{{#time:c|{{#var:duration array piece end}}}}|+00:00|+09:00}}}}
    |{{#vardefine:duration|{{#var:duration array piece name}}!{{#replace:{{#time:c|{{#var:duration array piece start}}}}|+00:00|+09:00}}->{{#replace:{{#time:c|{{#var:duration array piece end}}}}|+00:00|+09:00}}}}
  }}{{#ifexpr:{{#time: U|+9 hours}} >= {{#time:U|{{#var:duration array piece start}}}} and {{#time: U|+9 hours}} <= {{#time: U|{{#var:duration array piece end}}}}|
    {{#vardefine:is active|true}}
  }}{{#vardefine:duration array piece start|{{#time:U|{{#var:duration array piece start}}}}
  }}{{#vardefine:duration array piece end|{{#time:U|{{#var:duration array piece end}}}}
  }}{{#ifexpr:{{#var:duration array piece start}} <= {{#var:duration earliest start|{{#time:U|December 31, 3000}}}}|{{#vardefine:duration earliest start|{{#var:duration array piece start}}}}
  }}{{#ifexpr:{{#var:duration array piece end}} >= {{#var:duration latest end|{{#time:U|December 2nd, 2016}}}}|{{#vardefine:duration latest end|{{#var:duration array piece end}}}}
  }}
}}{{#if:{{#pos:{{#var:duration array}}|;}}||
  {{#vardefine:duration loop|}}
}}{{#vardefine:duration array|
  {{#sub:{{#var:duration array}}|{{#expr:{{#pos:{{#var:duration array}}|;}}+1}}}}
}}
}}
}}{{#ifeq:{{#var:is active|false}}|true||{{#vardefine:is active|false}}}}<!--{{#arraydefine:featured units unsliced|{{{units|}}}|*}}{{#arrayslice:featured units|featured units unsliced|1}}-->{{#arraydefine:featured units|{{{units|}}}|;}}{{#subobject:gacha{{#vardefineecho:gachanumber|{{#expr:{{#var:gachanumber|-1}}+1}}}}
| Has game context = Gacha
| Has game context = Gacha
| Has Japanese name ={{{jp name|}}}
| Has Japanese name ={{{jp name|{{#var:gacha name|}}}}}
| Has English name ={{{en name|}}}
| Has English name ={{{en name|{{#var:gacha en name|}}}}}
| Has lowercase English name ={{lc:{{{en name|}}}}}
| Has lowercase English name ={{lc:{{{en name|{{#var:gacha en name|}}}}}}}
| Has news link = {{{news link|}}}
| Has news link = {{#ifeq:{{#var:is active|}}|true||https://web.archive.org/web/*/|}}{{#var:gacha news link|{{{news link|}}}}}
| Has banner image = {{{banner image|}}}
| Has banner image = {{{banner image|}}}
| Has duration date = {{{duration|}}}
| Has duration date = {{#var:duration|{{{duration|{{#var:event duration|}}}}}}}
| Has gacha type = {{{type|New}}}
| Has gacha type = {{{type|New}}}
| Revolves around units = {{{units|}}}
| Revolves around units = <!--{{#arrayprint:featured units|###|@@@@|{{Strip formatting|@@@@}}}}
|+sep=###-->{{#arrayprint:featured units|###|@@@@|{{Name corrector|{{lc:{{#explode:@@@@|/|0}}}}}}/{{#if:{{#explode:@@@@|/|1}}|{{#explode:@@@@|/|1}}|{{#ask: [[Has lowercase English name::{{Name corrector|{{lc:{{#explode:@@@@|/|0}}}}}}]] [[Has variant::{{#explode:@@@@|/|2}}]] [[Has availability::Current]]|?Has rarity|mainlabel=-|headers=hide}}}}/{{#if:{{#explode:@@@@|/|2}}|{{#explode:@@@@|/|2}}|Standard}}}}|+sep=###
| Contains units = {{{unit-list|}}}
| Earliest duration = {{#var:duration earliest start}}
| Latest duration = {{#var:duration latest end}}
| Is active = {{#var:is active}}
| Is active = {{#var:is active}}
}}{{#if:{{#var:is active}}|[[Category:Active gachas]]|[[Category:Inactive gachas]]}}
| Has ID = {{{id|}}}
| Has filename = {{#var:gacha filename|}}
}}{{#ifeq:{{#var:is active|false}}|true|[[Category:Active gachas]]|[[Category:Inactive gachas]]}}
}}<!-- end subobject
}}<!-- end subobject
-->{{Gacha preview infobox
-->{{Gacha preview infobox
Line 22: Line 71:
| floats = true
| floats = true
| banners = 0
| banners = 0
| units = <!--&nbsp;
{{{units|}}}-->{{#arrayprint:featured units||@@@@|{{spaces|1}}
* {{#ifeq:{{Transient icon|{{#explode:@@@@|/|0}}|size=medium|show name=n}}|{{Transient icon|Unknown entry|size=medium|show name=n}}|{{AR Equipment|en name={{#explode:@@@@|/|0}}}}|{{Transient icon|{{#explode:@@@@|/|0}}|rarity={{#explode:@@@@|/|1}}|variant={{#if:{{#explode:@@@@|/|2}}|{{#explode:@@@@|/|2}}|Standard}}}}}}}}
| show news link = yes
}}</includeonly><noinclude>
}}</includeonly><noinclude>
== Description ==
== Description ==
Line 29: Line 82:
* Has Japanese name
* Has Japanese name
* Has English name
* Has English name
* Has news link
* Has news link
* Has banner image
* Has banner image
* Has duration date
* Has duration date
* Has gacha type
* Has gacha type
* Earliest duration
* Latest duration
* Revolves around units
* Revolves around units
* Is active
* Is active

Latest revision as of 06:37, 4 November 2022

Description

This templates creates an infobox for an gacha, as well as an gacha subobject using the following properties:

  • Has Japanese name
  • Has English name
  • Has news link
  • Has banner image
  • Has duration date
  • Has gacha type
  • Earliest duration
  • Latest duration
  • Revolves around units
  • Is active

Usage

{{Gacha infobox
| jp name = 
| en name = 
| news link =
| banner image = 
| duration = 
| type =
| units =
}}

Parameters

jp name
Japanese name.
en name
Translated name, official if jp-en name exists, unofficial if not.
jp-en name
Unofficial translated name.
news link
Official link to the unit distribution
banner image
Image(s) for the banners present during the gacha; separate multiple images using a semicolon.
duration
The start and end date(s); separate multiples using a semicolon. Name using a !. Separate start and end with -> Please use an ISO-8601 timestamp.
type
The type of gacha (or currency used): Main, New, Paid, Reprint, Ally, etc.
units
List of units that are the focus of the gacha (for example, new units or units with a higher rate up, if no new units are present)

Examples

{{Gacha infobox
| jp name = 
| en name = Main Gacha
| news link = http://housamo.info/gacha2/
| banner image = banner_gacha_2-1.png;banner_gacha_2_en.png
| duration = Duration!{{#time:c|0}} -> {{#time:c|now}}
| units = *
| type = Main
}}