Terraria Wiki
Terraria Wiki
1735
страниц
(обновление данных)
(обновление данных)
Строка 11: Строка 11:
 
-->}}<!--
 
-->}}<!--
 
-->}}}}}<!--
 
-->}}}}}<!--
  +
 
// handle manual parameters
  +
-->{{#vardefine:di:manual|{{#fornumargs:k|v|{{#ifeq:{{#var:k}}|1||{{#var:v}}₪}}}}}}<!-- store data to a list, skip $1
 
-->{{#vardefine:__sep-ind|{{#lstind:@@@@|{{#var:di:manual}}|₪}}}}<!-- separator index between pre-auto and post-auto ("@@@@" is the sep)
   
 
// get all mode information
 
// get all mode information
-->{{#vardefine:di:modes|<!--
+
-->{{#vardefine:di:modes|{{#cargo_compound_query:<!-- auto data
 
--> tables=Drops;fields=MIN(normal),MAX(normal);where=item="{{#var:di:item}}"<!--
-->{{#cargo_compound_query:<!--
 
--> tables=Drops;fields=MIN(normal),MAX(normal);where=item="{{#var:di:item}}"<!--
+
-->|tables=Drops;fields=MIN(expert),MAX(expert);where=item="{{#var:di:item}}"<!--
-->|tables=Drops;fields=MIN(expert),MAX(expert);where=item="{{#var:di:item}}"<!--
+
-->|fields=MIN(master),MAX(master);tables=Drops;where=item="{{#var:di:item}}"<!-- avoid duplicate "tables=" parameter
 
-->|format=template|template=max<!--
-->|fields=MIN(master),MAX(master);tables=Drops;where=item="{{#var:di:item}}"<!-- avoid duplicate "tables=" parameter
 
  +
-->}}}}<!--
-->|format=template|template=max<!--
 
  +
-->{{#if:{{#var:di:manual}}|<!-- manual data
 
-->{{#vardefine:di:modes-manual|{{#lstuniq:{{#listmap:list={{#var:di:manual}}<!--
  +
-->|insep=₪|outsep=,|indextoken=°°|token=§§§§|pattern=<esc>{{#ifexpr:°° mod 3 = 0|<!--
  +
-->{{#switch:{{lc:{{#sub:§§§§|-7}}}}<!--
  +
-->|#expert=011<!-- expert and above
  +
-->|#master=001<!-- master and above (equal to @master, since there is nothing above master)
  +
-->|@normal=100<!-- only normal
  +
-->|@expert=010<!-- only expert
  +
-->|@master=001<!-- only master
 
-->|#default=111<!--
 
-->}}<!--
  +
-->}}</esc><!--
  +
-->}}|,|,}}}}<!--
  +
-->{{#vardefine:di:modes|<!--
  +
// bitwise OR on di:modes and di:modes-manual
  +
-->{{max|{{#sub:{{#var:di:modes}}|0|1}}|{{#ifexpr:{{#lstmap:{{#var:di:modes-manual}}|,|@@@@|<esc>{{#sub:@@@@|0|1}}</esc>|}}|1|0}}}}<!--
  +
-->{{max|{{#sub:{{#var:di:modes}}|1|1}}|{{#ifexpr:{{#lstmap:{{#var:di:modes-manual}}|,|@@@@|<esc>{{#sub:@@@@|1|1}}</esc>|}}|1|0}}}}<!--
  +
-->{{max|{{#sub:{{#var:di:modes}}|2|1}}|{{#ifexpr:{{#lstmap:{{#var:di:modes-manual}}|,|@@@@|<esc>{{#sub:@@@@|2|1}}</esc>|}}|1|0}}}}<!--
 
-->}}<!--
 
-->}}<!--
 
-->}}<!--
 
-->}}<!--
Строка 58: Строка 80:
 
-->}}<!--
 
-->}}<!--
   
 
// get number of rows for regular and custom drops
// handle manual parameters
 
-->{{#vardefine:di:manual|{{#fornumargs:k|v|{{#ifeq:{{#var:k}}|1||{{#var:v}}₪}}}}}}<!-- store data to a list, skip $1
+
-->{{#vardefine:di:rowcount_non-custom|{{#cargo_query:tables=Drops|fields=count(name)|where=item="{{#var:di:item}}" AND custom IS NULL|no html}}}}<!--
 
-->{{#vardefine:di:rowcount_custom|{{#cargo_query:tables=Drops|fields=count(name)|where=item="{{#var:di:item}}" AND custom IS NOT NULL|no html}}}}<!--
-->{{#vardefine:__sep-ind|{{#lstind:@@@@|{{#var:di:manual}}|₪}}}}<!-- separator index between pre-auto and post-auto ("@@@@" is the sep)
 
  +
  +
-->{{#vardefine:di:rowcount_total|{{#expr:<!--
  +
-->(0{{#lstcnt:{{#var:di:manual}}|₪}}/3)<!--
  +
-->+0{{#var:di:rowcount_non-custom}}<!--
  +
-->+0{{#var:di:rowcount_custom}}<!--
  +
-->}}}}<!--
   
   
 
------ START OUTPUT ------
 
------ START OUTPUT ------
   
  +
-->{{#vardefine:di:box-collapseclass|{{#if:{{{collapsible|}}}||<!--
--><div class="drop infobox {{#var:di:box-modeclass}} {{#if:{{{float|}}}|float-{{{float}}}}}" style="width:{{#or:{{{width|}}}|{{l10n|drop_infobox|width}}}};{{{css|}}};{{{style|}}}"><!--
 
  +
-->mw-collapsible <!--
--><div class="title">{{{title|{{l10n|drop_infobox|dropped_by}}}}}</div><!--
 
  +
-->{{#switch:{{{collapse|{{{collapsed}}}}}}<!--
 
  +
-->|y|yes=<!--
// get number of rows for regular and custom drops
 
  +
-->|n|no=mw-collapsed<!--
-->{{#vardefine:di:rowcount_non-custom|{{#if:{{#var:di:manual}}|1|<!--
 
  +
-->|#default={{#ifexpr:{{#var:di:rowcount_total}}>5|mw-collapsed}}<!--
-->{{#cargo_query:tables=Drops|fields=count(name)|where=item="{{#var:di:item}}" AND custom IS NULL|no html}}<!--
 
  +
-->}}<!--
 
-->}}}}<!--
 
-->}}}}<!--
 
--><div class="drop infobox {{#var:di:box-modeclass}} {{#var:di:box-collapseclass}} {{#if:{{{float|}}}|float-{{{float}}}}}" style="width:{{#or:{{{width|}}}|{{l10n|drop_infobox|width}}}}; {{{css|}}}; {{{style|}}}"><!--
-->{{#vardefine:di:rowcount_custom|{{#cargo_query:tables=Drops|fields=count(name)|where=item="{{#var:di:item}}" AND custom IS NOT NULL|no html}}}}<!--
 
 
--><div class="title">{{{title|[[File:Bestiary Boss Enemy.png|{{l10n|drop_infobox|dropped_by}}|link=]]&ensp;{{l10n|drop_infobox|dropped_by}}}}}</div><!--
  +
--><div class="mw-collapsible-content"><!--
   
-->{{#ifexpr:{{#var:di:rowcount_non-custom}}{{#var:di:rowcount_custom}}|<!--
+
-->{{#ifexpr:{{#var:di:rowcount_total}}|<!--
   
 
// print mode tabs
 
// print mode tabs
Строка 84: Строка 115:
   
 
// NON-CUSTOM TABLE
 
// NON-CUSTOM TABLE
-->{{#ifexpr:{{#var:di:rowcount_non-custom}}|<!--
+
-->{{#ifexpr:{{#var:di:rowcount_non-custom}}{{#lstcnt:{{#var:di:manual}}|₪}}|<!--
 
// set class for the "Entity"/"Quantity"/"Rate" heading
 
// set class for the "Entity"/"Quantity"/"Rate" heading
-->{{#vardefine:di:subtable-modeclass|{{#switch:<!--
+
-->{{#vardefine:di:subtable-modeclass|{{#cargo_compound_query:<!-- get classes for auto data
 
--> tables=Drops;fields=MIN(normal),MAX(normal);where=item="{{#var:di:item}}" AND custom IS NULL<!--
-->{{#cargo_compound_query:<!--
 
--> tables=Drops;fields=MIN(normal),MAX(normal);where=item="{{#var:di:item}}" AND custom IS NULL<!--
+
-->|tables=Drops;fields=MIN(expert),MAX(expert);where=item="{{#var:di:item}}" AND custom IS NULL<!--
-->|tables=Drops;fields=MIN(expert),MAX(expert);where=item="{{#var:di:item}}" AND custom IS NULL<!--
+
-->|fields=MIN(master),MAX(master);tables=Drops;where=item="{{#var:di:item}}" AND custom IS NULL<!-- avoid duplicate "tables=" parameter
  +
-->|format=template|template=max<!--
-->|fields=MIN(master),MAX(master);tables=Drops;where=item="{{#var:di:item}}" AND custom IS NULL<!-- avoid duplicate "tables=" parameter
 
-->|format=template|template=max<!--
+
-->}}}}<!--
  +
-->{{#if:{{#var:di:manual}}|<!--
  +
-->{{#vardefine:di:subtable-modeclass-manual|{{#lstuniq:{{#listmap:list={{#var:di:manual}}<!-- get classes for manual data
  +
-->|insep=₪|outsep=,|indextoken=°°|token=§§§§|pattern=<esc>{{#ifexpr:°° mod 3 = 0|<!--
  +
-->{{#switch:{{lc:{{#sub:§§§§|-7}}}}<!--
  +
-->|#expert=011<!-- expert and above
  +
-->|#master=001<!-- master and above (equal to @master, since there is nothing above master)
  +
-->|@normal=100<!-- only normal
  +
-->|@expert=010<!-- only expert
  +
-->|@master=001<!-- only master
  +
-->|#default=111<!--
  +
-->}}<!--
  +
-->}}</esc><!--
  +
-->}}|,|,}}}}<!--
  +
-->{{#vardefine:di:subtable-modeclass|<!--
  +
// bitwise OR on di:subtable-modeclass and di:subtable-modeclass-manual
  +
-->{{max|{{#sub:{{#var:di:subtable-modeclass}}|0|1}}|{{#ifexpr:{{#lstmap:{{#var:di:subtable-modeclass-manual}}|,|@@@@|<esc>{{#sub:@@@@|0|1}}</esc>|}}|1|0}}}}<!--
  +
-->{{max|{{#sub:{{#var:di:subtable-modeclass}}|1|1}}|{{#ifexpr:{{#lstmap:{{#var:di:subtable-modeclass-manual}}|,|@@@@|<esc>{{#sub:@@@@|1|1}}</esc>|}}|1|0}}}}<!--
  +
-->{{max|{{#sub:{{#var:di:subtable-modeclass}}|2|1}}|{{#ifexpr:{{#lstmap:{{#var:di:subtable-modeclass-manual}}|,|@@@@|<esc>{{#sub:@@@@|2|1}}</esc>|}}|1|0}}}}<!--
 
-->}}<!--
 
-->}}<!--
  +
-->}}<!--
  +
-->{{#vardefine:di:subtable-modeclass|{{#switch:{{#var:di:subtable-modeclass}}<!--
 
-->|001=m-master<!-- only master
 
-->|001=m-master<!-- only master
 
-->|010=m-expert<!-- only expert
 
-->|010=m-expert<!-- only expert
 
-->|011=m-expert-master<!-- expert and master
 
-->|011=m-expert-master<!-- expert and master
 
-->|100=m-normal<!-- only normal
 
-->|100=m-normal<!-- only normal
  +
-->|#default=<!--
 
-->}}}}<!--
 
-->}}}}<!--
 
// start output
 
// start output
Строка 110: Строка 162:
 
-->|indextoken=°°<!--
 
-->|indextoken=°°<!--
 
-->|token=§§§§<!--
 
-->|token=§§§§<!--
-->|intro=<tr><!--
+
-->|pattern=<esc>{{#ifeq:§§§§|@@@@||<!--
-->|pattern=<esc>{{#ifeq:§§§§|@@@@||{{#ifexpr:°°!= 1 and °° mod 3 = 1|</tr><tr>}}<td>§§§§</td>}}</esc><!--
+
-->{{#ifexpr:°° mod 3 = 0|<!--
  +
-->{{#vardefine:_thiscell|{{#sub:§§§§|0|-7}}}}<!--
  +
-->{{#vardefine:_modeclass|{{#switch:{{lc:{{#sub:§§§§|-7}}}}<!--
  +
-->|#expert=m-expert-master<!-- expert and above
  +
-->|#master=m-master<!-- master and above (equal to @master, since there is nothing above master)
  +
-->|@normal=m-normal<!-- only normal
  +
-->|@expert=m-expert<!-- only expert
  +
-->|@master=m-master<!-- only master
  +
-->|#default={{#vardefine:_thiscell|§§§§}}<!--
  +
-->}}}}<!--
  +
--><tr class="{{#var:_modeclass}}">{{#var:_row}}<td>{{#var:_thiscell}}</td></tr><!-- output row
  +
-->{{#vardefine:_row|}}<!--
  +
-->|<!--
  +
-->{{#vardefine:_row|{{#var:_row}}<td>§§§§</td>}}<!-- store data of cells 1 and 2
  +
-->}}<!--
  +
-->}}</esc><!--
 
-->|outsep=<!--
 
-->|outsep=<!--
-->|outro=</tr><!--
 
 
-->}}<!--
 
-->}}<!--
 
// print data from cargo
 
// print data from cargo
Строка 146: Строка 212:
 
-->|indextoken=°°<!--
 
-->|indextoken=°°<!--
 
-->|token=§§§§<!--
 
-->|token=§§§§<!--
-->|intro=<tr><!--
+
-->|pattern=<esc>{{#ifeq:§§§§|@@@@||<!--
-->|pattern=<esc>{{#ifexpr:°°!= 1 and °° mod 3 = 1|</tr><tr>}}<td>§§§§</td></esc><!--
+
-->{{#ifexpr:°° mod 3 = 0|<!--
  +
-->{{#vardefine:_thiscell|{{#sub:§§§§|0|-7}}}}<!--
  +
-->{{#vardefine:_modeclass|{{#switch:{{lc:{{#sub:§§§§|-7}}}}<!--
  +
-->|#expert=m-expert-master<!-- expert and above
  +
-->|#master=m-master<!-- master and above (equal to @master, since there is nothing above master)
  +
-->|@normal=m-normal<!-- only normal
  +
-->|@expert=m-expert<!-- only expert
  +
-->|@master=m-master<!-- only master
  +
-->|#default={{#vardefine:_thiscell|§§§§}}<!--
  +
-->}}}}<!--
  +
--><tr class="{{#var:_modeclass}}">{{#var:_row}}<td>{{#var:_thiscell}}</td></tr><!-- output row
  +
-->{{#vardefine:_row|}}<!--
  +
-->|<!--
  +
-->{{#vardefine:_row|{{#var:_row}}<td>§§§§</td>}}<!-- store data of cells 1 and 2
  +
-->}}<!--
  +
-->}}</esc><!--
 
-->|outsep=<!--
 
-->|outsep=<!--
-->|outro=</tr><!--
 
 
-->}}}}<!--
 
-->}}}}<!--
 
--></table><!--
 
--></table><!--
Строка 212: Строка 292:
 
-->}}<!-- end of if
 
-->}}<!-- end of if
   
  +
--></div><!--
 
--></div><!--
 
--></div><!--
   

Версия от 04:02, 15 сентября 2020

Этот шаблон интернационализирован (i18n) — это означает, что его легко переводить на другие языки.
Для более подробной информации см. шаблоны i18n и l10n (англ.)
Перевести этот шаблон можно на странице «Шаблон:Drop infobox/l10n».
Template-info Документация Документация, указанная ниже, находится на странице «Шаблон:Drop infobox/док». (править | история)
См. также этот шаблон на английском языке: Template:Drop infobox. В нём может содержаться более полная или подробная информация.

Шаблон используется в статьях о предметах, которые могут выпасть при убийстве существа или при разбивании объекта. Размещается непосредственно под {{карточка предмета}} (используйте для этого шаблон {{обтекание}}).

Использование

Если количество противников/объектов превышает 4, то сообщите об этом на страницу обсуждения шаблона.

{{карточка дропа
| заголовок = необязательный параметр, если хотите использовать отличное название карточки от «Выпадает с»
| противник1 | количество | шанс
...
| противник4 | количество | шанс
}}

Пример

Выпадает с Выпадает с
Classic mode icon Классика
Expert mode icon Эксперт
Master mode icon Мастер
СущностьКол‑воШанс
15-20100%Демонический глаз
{{карточка дропа
| заголовок = Пример карточки
| Зомби | 15-20 | 100%
| Демонический глаз | 100500 | 0.1%
}}