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> |