Vorlage:Qualityprice: Unterschied zwischen den Versionen
Zur Navigation springen
Zur Suche springen
K (unique arrays for each template) |
(Move auto-derived prices/qualities here instead of infosection_price) |
||
Zeile 3: | Zeile 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, Wein, | ||
+ | , Juice, Saft, | ||
+ | , Jelly, Gelee, | ||
+ | , Pickles, Eingelegtes, | ||
+ | , Roe, Fischlaich, | ||
+ | , Aged Roe, Gealterter Fischlaich, | ||
+ | , Caviar, Kaviar, | ||
+ | }}<!-- | ||
// END of translation | // END of translation | ||
− | -->{{#arraydefine:$ | + | // 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|}}} |
− | // If | + | | {{#switch:{{lc:{{{1|}}}}} |
− | -->{{#iferror:{{#expr:{{# | + | |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|{{{link|{{ParseInputValues|code=qitem|{{{1|}}}}}}}}}}<!-- | ||
+ | // 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:$ | + | -->{{#arrayprint:$qpqual||@qual@|<nowiki/> |
{{!}}- | {{!}}- | ||
− | {{!}} {{Quality|{{{1|}}}|@qual@| size={{{size|24}}} |link={{ | + | {{!}} {{Quality|{{{1|}}}|@qual@| size={{{size|24}}} |link={{#arrayprint:$qplink}} |alt={{{alt|{{#if:{{#arrayprint:$qplink}}|{{#arrayprint:$qplink}}|{{{1|}}}}}}}}}} |
{{!}} {{#expr: | {{!}} {{#expr: | ||
− | trunc( {{ | + | 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({{# | + | trunc({{#arrayprint:$qpprice}}) ) ) |
}}{{#arrayprint:$lang_qp_gold}} | }}{{#arrayprint:$lang_qp_gold}} | ||
}} | }} |
Version vom 9. September 2020, 17:50 Uhr
Details zur Vorlage finden Sie auf der englischsprachigen Dokumentationsseite.
Verwendung
Diese Vorlage kann verwendet werden, indem Sie auf eine relevante Seite folgendes eingeben.
{{Qualityprice}}
Ergibt... Vorlage:ParseInputValues
0g |