Шаблон:Qualityprice: различия между версиями

Материал из Stardew Valley Wiki
Перейти к навигации Перейти к поиску
(sync with english template)
Строка 1: Строка 1:
<includeonly><onlyinclude>{|
+
<includeonly><!--
|-
+
 
|<span class="sortkey" style="display:none;">{{#len:{{{2|}}}}}{{{2|}}}</span>{{#if:{{#pos:{{{hide|}}}|normal}}
+
// Define letter/symbol used for gold in current language
|
+
-->{{#arraydefine:$lang_qp_gold|&nbsp;з.}}<!--
|<nowiki />
+
// Items that get autofilled by Infobox and therefore need to be autotranslated to fill in link
 +
// (other items are tested below, but the tested values should be image names which are same on all sites)
 +
-->{{ParseInputValues|code=qitem||
 +
,Wine,    Вино,
 +
,Juice,    Сок,
 +
,Jelly,    Джем,
 +
,Pickles,  Консервы,
 +
,Roe,      Икра,
 +
,Aged Roe, Вяленая икра,
 +
,Caviar,  Черная икра,
 +
}}<!--
 +
// END of translation
 +
 
 +
// Get list of qualities. Set from quality/iridium/hide OR override for specific items if {{{auto}}}
 +
-->{{#arraydefine:$qpqual|{{ParseInputQuality|quality={{#if:{{{quality|}}}|{{{quality}}}|true}}|iridium={{{3|{{{iridium|}}}}}}|hide={{{hide|}}}}}}}<!--
 +
-->{{#if:{{{auto|}}}
 +
      | {{#switch:{{lc:{{{1|}}}}}
 +
          |wine|pale ale|beer|mead= {{#arraydefine:$qpqual|Normal,Silver,Gold,Iridium}}
 +
          |juice|jelly|pickles|honey|roe|caviar|aged roe= {{#arraydefine:$qpqual|Normal}}
 +
  }}}}<!--
 +
// Don't allow artisan bonus to ever be applied to coffee, oil.  Done regardless of {{{auto}}}
 +
-->{{#arraydefine:$qpmult|
 +
      {{#switch:{{lc:{{{1|}}}}}
 +
        |oil|coffee = 1
 +
|#default = {{#iferror:{{#expr:{{{prof_mult}}}*1}}|1|{{{prof_mult}}}}}}}}}<!--
 +
// Set price to {{{2}}} or derive from srcprice if {{{auto}}}, srcprice is valid, and item name is recognized
 +
// (extra complication for roe: allow [color]_roe to be recognized ... but don't confuse with aged roe)
 +
-->{{#arraydefine:$qpprice
 +
      |{{#ifexpr:{{#if:{{{auto|}}}|1|0}} and {{#if:{{{srcprice|}}}|1|0}} and {{#iferror:{{#expr:{{{srcprice}}}*1}}|0|1}}
 +
        |{{#ifexpr:{{#ifeq:{{lc:{{{1|}}}}}|aged roe|0|1}} and {{#ifeq:{{lc:{{#sub:{{{1|}}}|-3|3}}}}|roe|1|0}}
 +
    |{{#expr:30+trunc({{{srcprice}}})/2}}{{#arraydefine:$qpqual|Normal}}
 +
            |{{#switch:{{lc:{{{1|}}}}}|
 +
              |wine    = {{#expr:trunc({{{srcprice}}})*3}}
 +
              |juice    = {{#expr:trunc({{{srcprice}}})*2.25}}
 +
              |jelly
 +
              |pickles  = {{#expr:trunc({{{srcprice}}})*2 + 50}}
 +
              |honey    = {{#expr:trunc({{{srcprice}}})*2 + 100}}
 +
              |roe      = {{#expr:30+trunc({{{srcprice}}})/2}}
 +
      |caviar  = 500
 +
              |aged roe = {{#expr:2*trunc(30+trunc({{{srcprice}}})/2)}}
 +
      |pale ale = 300
 +
      |beer    = 200
 +
      |mead    = 200
 +
              |#default = {{{2|0}}}
 +
          }}}}
 +
        |{{{2|0}}}
 +
  }}}}{{#arraydefine:$qplink|
 +
    {{#ifeq:{{{link}}}|||
 +
        {{#if:{{#if:{{{auto|}}}|{{ParseInputValues|code=qitem|{{{1|}}}|translate=true}}}}
 +
          |{{ParseInputValues|code=qitem|{{{1|}}}|translate=true}}
 +
          |{{#ifeq:{{{link|}}}|1||{{{link|{{#ifeq:{{CONTENTLANG}}|en|{{{1|}}}}}}}}}}}}}}}}<!--
 +
// Display sort key (0 for text/non-numeric price so it doesn't mess up table)
 +
--><span class="sortkey" style="display:none;">{{#iferror:
 +
    {{#expr:{{#arrayprint:$qpprice}}>0}}
 +
        |0
 +
        |{{#expr:trunc(({{#arrayprint:$qpmult}})*trunc({{#arrayprint:$qpprice}}))}}}}</span><!--
 +
// Start table and loop through each requested quality
 +
// Display icon using Quality template and calculate/display price-->
 +
{{{!}} class="no-wrap" style="border-spacing: 0;"
 +
{{#arrayprint:$qpqual||@qual@|<nowiki/>
 
{{!}}-
 
{{!}}-
{{!}}{{Quality|{{{1|}}}||{{#switch: {{{size|}}} |16=16|32=32|48=48|64=64|#default=24}}}}
+
{{!}} {{Quality|{{{1|}}}|@qual@| size={{#if:{{{size|}}}|{{{size}}}|24}} |link={{#arrayprint:$qplink}} |alt={{#ifeq:{{{alt}}}|||{{#if:{{{alt|}}}|{{{alt}}}|{{#if:{{#arrayprint:$qplink}}|{{#arrayprint:$qplink}}|{{{1|}}}}}}}}}}}
{{!}}{{#expr:trunc({{{2|}}})}}&nbsp;з.}}
+
{{!}} {{#iferror:{{#expr:{{#arrayprint:$qpprice}}>0}}
{{#if: {{#pos:{{{hide|}}}|silver}}
+
        |{{Italics|{{{2|}}}}}
|
+
        |{{formatnum:{{#expr:
|{{!}}-
+
          trunc( ({{#arrayprint:$qpmult}}) *
{{!}}{{Quality|{{{1|}}}|silver|{{#switch: {{{size|}}} |16=16|32=32|48=48|64=64|#default=24}}}}
+
              trunc ( {{#switch:@qual@|Silver=1.25|Gold=1.5|Iridium=2|Normal|#default=1}} *
{{!}}{{#expr:trunc({{{2|}}}*1.25)}}&nbsp;з.}}{{#if: {{#pos:{{{hide|}}}|gold}}
+
                trunc({{#arrayprint:$qpprice}}) ) )
|
+
        }}}}{{#arrayprint:$lang_qp_gold}}
|<nowiki/>
+
}}}}
{{!}}-
+
{{!}}}<!--
{{!}}{{Quality|{{{1|}}}|gold|{{#switch: {{{size|}}} |16=16|32=32|48=48|64=64|#default=24}}}}
+
--></includeonly><noinclude>{{Englishdoc}}{{#ifexist:{{FULLPAGENAME}}/doc |<nowiki/>
{{!}}{{#expr:trunc({{{2|}}}*1.50)}}&nbsp;з.}}{{#if: {{{3|}}}
+
{{{{FULLPAGENAME}}/doc}} }}</noinclude>
| {{#if: {{#pos:{{{hide|}}}|iridium}}
 
  |<strong class="error">Qualityprice: Cannot show and hide iridium.</strong>
 
  |<nowiki/>
 
  {{!}}-
 
  {{!}}{{Quality|{{{1}}}|iridium|{{#switch: {{{size|}}} |16=16|32=32|48=48|64=64|#default=24}}}}
 
  {{!}}{{#expr:trunc({{{2}}}*2)}}&nbsp;з.
 
  }}
 
}}
 
|}</onlyinclude></includeonly><noinclude>{{englishdoc}}</noinclude>
 

Версия 23:17, 6 октября 2020

Для получения подробной информации о данном шаблоне обратитесь к документации на английском языке.

Применение

Этот шаблон можно использовать путем ввода следующего на соответствующей странице:

{{Qualityprice}}

Результаты в ... Шаблон:ParseInputValues

0 з.