Changes

Jump to navigation Jump to search
2,412 bytes added ,  16:47, 10 September 2020
Move auto-derived prices/qualities here instead of infosection_price
Line 3: Line 3:  
// Define letter/symbol used for gold in current language
 
// Define letter/symbol used for gold in current language
 
-->{{#arraydefine:$lang_qp_gold|g}}<!--
 
-->{{#arraydefine:$lang_qp_gold|g}}<!--
 
+
// 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
 
// END of translation
   −
-->{{#arraydefine:$qpqualities|{{ParseInputQuality|quality={{#if:{{{quality|}}}|{{{quality}}}|true}}|iridium={{{3|{{{iridium|}}}}}}|hide={{{hide|}}}}}}}<!--
+
// Get list of qualities. Set from quality/iridium/hide OR override for specific items if {{{auto}}}
// Create span containing sort key
+
-->{{#arraydefine:$qpqual|{{ParseInputQuality|quality={{#if:{{{quality|}}}|{{{quality}}}|true}}|iridium={{{3|{{{iridium|}}}}}}|hide={{{hide|}}}}}}}<!--
--><span class="sortkey" style="display:none;">{{#expr:trunc(trunc({{#if:{{{2|}}}|{{{2}}}|0}})*{{{prof_mult|1}}})}}</span><!--
+
-->{{#if:{{{auto|}}}
// If base_price is a text value (non-numeric) display it and quit
+
      | {{#switch:{{lc:{{{1|}}}}}
-->{{#iferror:{{#expr:{{#if:{{{2|}}}|{{{2}}}|0}}>0}}
+
          |wine|pale ale|beer|mead= {{#arraydefine:$qpqual|Normal,Silver,Gold,Iridium}}
      |{{{2|}}}
+
          |juice|jelly|pickles|honey|roe|caviar|aged roe= {{#arraydefine:$qpqual|Normal}}
      |{{{!}} class="no-wrap" style="border-spacing: 0;"<!--
+
  }}}}<!--
 +
// 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|{{#if:{{{link|}}}|{{{link}}}|{{ParseInputValues|code=qitem|{{{1|}}}|translate=true}}}}}}<!--
 +
// If $qpprice is a text value (non-numeric) display it and quit; set sortkey=0 so it doesn't mess up table
 +
-->{{#iferror:{{#expr:{{#arrayprint:$qpprice}}>0}}
 +
      |<span class="sortkey" style="display:none;">0</span>''{{{2|}}}''<!--
 +
// Display sort key and start table
 +
-->    |<span class="sortkey" style="display:none;">{{#expr:trunc(({{#arrayprint:$qpmult}})*trunc({{#arrayprint:$qpprice}}))}}</span>
 +
{{{!}} class="no-wrap" style="border-spacing: 0;"<!--
    
// Loop through each requested quality.  Display icon using Quality template and calculate/display price
 
// Loop through each requested quality.  Display icon using Quality template and calculate/display price
-->{{#arrayprint:$qpqualities||@qual@|<nowiki/>
+
-->{{#arrayprint:$qpqual||@qual@|<nowiki/>
 
{{!}}-
 
{{!}}-
{{!}} {{Quality|{{{1|}}}|@qual@| size={{{size|24}}} |link={{{link|}}} |alt={{{alt|{{{link|{{{1|}}}}}}}}}}}
+
{{!}} {{Quality|{{{1|}}}|@qual@| size={{#if:{{{size|}}}|{{{size}}}|24}} |link={{#arrayprint:$qplink}} |alt={{#if:{{{alt|}}}|{{{alt}}}|{{#if:{{#arrayprint:$qplink}}|{{#arrayprint:$qplink}}|{{{1|}}}}}}}}}
{{!}} {{#expr:
+
{{!}} {{formatnum:{{#expr:
           trunc( {{{prof_mult|1}}} *
+
           trunc( ({{#arrayprint:$qpmult}}) *
 
             trunc ( {{#switch:@qual@|Silver=1.25|Gold=1.5|Iridium=2|Normal|#default=1}} *
 
             trunc ( {{#switch:@qual@|Silver=1.25|Gold=1.5|Iridium=2|Normal|#default=1}} *
                 trunc({{#if:{{{2|}}}|{{{2}}}|0}}) ) )
+
                 trunc({{#arrayprint:$qpprice}}) ) )
       }}{{#arrayprint:$lang_qp_gold}}
+
       }}}}{{#arrayprint:$lang_qp_gold}}
 
}}
 
}}
 
{{!}}}<!--
 
{{!}}}<!--
 
-->}}</includeonly><noinclude>{{Englishdoc}}{{#ifexist:{{FULLPAGENAME}}/doc |<nowiki/>
 
-->}}</includeonly><noinclude>{{Englishdoc}}{{#ifexist:{{FULLPAGENAME}}/doc |<nowiki/>
 
{{{{FULLPAGENAME}}/doc}} }}</noinclude>
 
{{{{FULLPAGENAME}}/doc}} }}</noinclude>

Navigation menu