无编辑摘要 |
(清空页面) 标签:清空 |
||
(未显示同一用户的36个中间版本) | |||
第1行: | 第1行: | ||
− | <includeonly><!-- |
||
− | |||
− | //localization info in [[template:item_infobox/l10n]].(autoload) |
||
− | |||
− | //ext l10n info: how to get english item name from {{BASEPAGENAME}}? |
||
− | -->{{#vardefine:itemnamefrompagename|{{pagename2en|{{#titleparts:{{ROOTPAGENAME}}}}}}}}<!-- |
||
− | |||
− | === l10n end ========================================================================================================== |
||
− | |||
− | //view related options |
||
− | -->{{#vardefine:viewname|{{lc:{{{mode|{{{output|{{{view|{{#var:_item_infobox_flag_view|infobox}}}}}}}}}}}}}}}<!-- |
||
− | -->{{#switch:{{#var:viewname}}<!-- |
||
− | -->|infobox=<!-- |
||
− | -->{{#lstmap:<!-- |
||
− | -->float/css/style/boxwidth/imagebreak/showids/idshow/idbuffshow/idtileshow/projectileblock/projectilename/projectileimage/showenglishname/{{{extargs|{{item infobox/options|get|extargs}}}}}<!-- |
||
− | -->|/|@@@@|<esc>{{#vardefine:ii:ext:@@@@|{{{@@@@|}}}}}</esc>|}}<!-- ext parameters for view |
||
− | -->|table=<!-- |
||
− | -->{{#lstmap:<!-- |
||
− | -->cols/{{{extargs|{{item infobox/options|get|extargs}}}}}<!-- |
||
− | -->|/|@@@@|<esc>{{#vardefine:ii:ext:@@@@|{{{@@@@|}}}}}</esc>|}}<!-- ext parameters for view |
||
− | //pass all custom col values. |
||
− | -->{{#lstmap:<!-- |
||
− | -->{{#var:ii:ext:cols|{{#var:_item_infobox_flag_cols}}}}<!-- |
||
− | -->|{{#or:{{item infobox/options|get|colsep}}|/}}|@@@@|<esc>{{#if:{{#rmatch:@@@@|^col:|{{#vardefine:ii:@@@@|{{{@@@@|}}}}}}}}}</esc>|}}<!-- |
||
− | -->|custom=<!-- |
||
− | -->{{#lstmap:<!-- |
||
− | -->template/{{{extargs|{{item infobox/options|get|extargs}}}}}<!-- |
||
− | -->|/|@@@@|<esc>{{#vardefine:ii:ext:@@@@|{{{@@@@|}}}}}</esc>|}}<!-- ext parameters for view |
||
− | -->|item=<!-- |
||
− | -->{{#lstmap:<!-- |
||
− | -->mode/nolink/link/wrap/note/note2/showid/class/css/t/{{{extargs|{{item infobox/options|get|extargs}}}}}<!-- |
||
− | -->|/|@@@@|<esc>{{#vardefine:ii:ext:@@@@|{{{@@@@|}}}}}</esc>|}}<!-- ext parameters for view |
||
− | -->|#default=<!-- |
||
− | -->{{#lstmap:<!-- |
||
− | -->{{{extargs|{{item infobox/options|get|extargs}}}}}<!-- |
||
− | -->|/|@@@@|<esc>{{#vardefine:ii:ext:@@@@|{{{@@@@|}}}}}</esc>|}}<!-- ext parameters for view |
||
− | -->}}<!-- |
||
− | -->{{#vardefine:imagemode|{{{imagemode|{{#ifeq:{{#var:viewname}}|infobox|full|{{item infobox/options|get|imagemode}}}}}}}}}<!-- image mode |
||
− | |||
− | ======== DATA MODEL ======== |
||
− | note: #lst** will ignore empty list items. |
||
− | |||
− | //types: "/" seperated. |
||
− | -->{{#vardefine:ii:types|{{{type|}}}/{{{type2}}}}}<!-- |
||
− | //listcats:"/" seperated. |
||
− | -->{{#vardefine:ii:listcats|{{{listcat|}}}/{{{listcat2}}}/{{{listcat3}}}/{{{listcat4}}}/{{{listcat5}}}}}<!-- |
||
− | //tags:"/" seperated. |
||
− | -->{{#vardefine:ii:tags|{{{tags|{{{tag|}}}}}}}}<!-- |
||
− | |||
− | //check for special tags: |
||
− | * xxx -> xxx items |
||
− | -->{{#lstjoin:{{#var:ii:listcats}}|/|{{#lstmap:{{#lstfltr:drop/loot/plunder/fished/unobtainable/developer/furniture/storage/informational/light source/novelty/mechanism/bag loot|/|{{#var:ii:tags}}|/|/}}|/|@@@|@@@ items|/}}|/|/}}<!-- |
||
− | * xxx -> xxx |
||
− | -->{{#lstjoin:{{#var:ii:listcats}}|/|{{#lstfltr:potion ingredients/quest rewards|/|{{#var:ii:tags}}|/|/}}|/|/}}<!-- |
||
− | * special mapping |
||
− | -->{{#if:{{#lstind:bagloot|{{#var:ii:tags}}|/}}|{{#lstapp:{{#var:ii:listcats}}|/|bag loot items}}}}<!-- |
||
− | -->{{#if:{{#lstind:treasure bag loot|{{#var:ii:tags}}|/}}|{{#lstapp:{{#var:ii:listcats}}|/|Treasure Bag loot items}}}}<!-- |
||
− | |||
− | //check for special listcats: |
||
− | Broadswords/Shortswords: add swords |
||
− | -->{{#if:{{#lstfltr:broadswords/shortswords|/|{{#var:ii:listcats}}|/}}|{{#lstapp:{{#var:ii:listcats}}|/|swords}}}}<!-- |
||
− | Explosives: add weapon to types. |
||
− | -->{{#if:{{#lstind:explosives|{{#var:ii:listcats}}|/}}|{{#lstapp:{{#var:ii:types}}|/|weapon}}}}<!-- |
||
− | |||
− | summon weapons: |
||
− | -->{{#if:{{#lstind:set|{{#var:ii:types}}|/}}||<!-- exclude armor sets |
||
− | -->{{#lstjoin:{{#var:ii:listcats}}|/|{{#lstmap:{{#lstfltr:minion/sentry|/|{{#var:ii:tags}}|/|/}}|/|@@@|@@@ summon items|/}}|/|/}}<!-- |
||
− | -->{{#lstapp:{{#var:ii:types}}|/|weapon}}<!-- |
||
− | -->}}<!-- |
||
− | |||
− | ////////// auto info as base //////////////// |
||
− | -->{{#invoke:Iteminfo|getInfo|prefix=ii:info:|id={{#if:{{{auto|}}}|<!-- |
||
− | -->{{#iferror:{{#expr:1+{{{auto|}}}}}|<!-- if not is_number($auto) |
||
− | -->{{#or:{{{id|{{ItemIdFromName|{{{name|{{#var:itemnamefrompagename}}}}}}}}}}|0}}<!-- $id -> idFromName -> 0 |
||
− | -->|<!-- |
||
− | -->{{{auto|}}}<!-- //$auto is number. |
||
− | -->}}<!-- |
||
− | -->|<!-- |
||
− | -->0<!-- not auto: 0; |
||
− | -->}}}}<!-- fetch data or reset those data filed vars. |
||
− | |||
− | ////////// post process, manually override, and save into "standard" vars |
||
− | -->{{#vardefine:ii:id|{{{id|{{#ifexpr:{{#dplvar:ii:info:type}}|{{#dplvar:ii:info:type}}}}}}}}}<!-- |
||
− | -->{{#vardefine:ii:name|{{{name|{{#or:{{#dplvar:ii:info:name}}|{{#var:itemnamefrompagename}}}}}}}}}<!-- |
||
− | -->{{#vardefine:ii:namesub|{{{namesub|}}}}}<!-- |
||
− | -->{{#vardefine:ii:lname|{{{lname|{{tr|{{#var:ii:name|}}}}}}}}}<!-- |
||
− | -->{{#vardefine:ii:internalName|{{#dplvar:ii:info:internalName}}}}<!-- |
||
− | -->{{#vardefine:ii:autoswing|{{{autoswing|{{#dplvar:ii:info:autoReuse}}}}}}}<!-- |
||
− | -->{{#vardefine:ii:stack|<!-- |
||
− | -->{{#if:{{{stack|}}}<!-- |
||
− | -->|{{#rreplace:{{{stack|}}}|@@@@|{{#dplvar:ii:info:maxStack}}}}<!-- |
||
− | -->|{{#dplvar:ii:info:maxStack}}<!-- |
||
− | -->}}<!-- |
||
− | -->}}<!-- |
||
− | -->{{#vardefine:ii:hammer|<!-- |
||
− | -->{{#if:{{{hammer|}}}<!-- |
||
− | -->|{{#rreplace:{{{hammer|}}}|@@@@|{{#dplvar:ii:info:hammer}}%}}<!-- |
||
− | -->|{{#ifexpr:{{#dplvar:ii:info:hammer}}|{{#dplvar:ii:info:hammer}}%}}<!-- |
||
− | -->}}<!-- |
||
− | -->}}<!-- |
||
− | -->{{#vardefine:ii:pick|<!-- |
||
− | -->{{#if:{{{pick|}}}<!-- |
||
− | -->|{{#rreplace:{{{pick|}}}|@@@@|{{#dplvar:ii:info:pick}}%}}<!-- |
||
− | -->|{{#ifexpr:{{#dplvar:ii:info:pick}}|{{#dplvar:ii:info:pick}}%}}<!-- |
||
− | -->}}<!-- |
||
− | -->}}<!-- |
||
− | -->{{#vardefine:ii:axe|<!-- |
||
− | -->{{#if:{{{axe|}}}<!-- |
||
− | -->|{{#rreplace:{{{axe|}}}|@@@@|{{#expr:{{#dplvar:ii:info:axe}}*5}}%}}<!-- |
||
− | -->|{{#ifexpr:{{#dplvar:ii:info:axe}}|{{#expr:{{#dplvar:ii:info:axe}}*5}}%}}<!-- |
||
− | -->}}<!-- |
||
− | -->}}<!-- |
||
− | add "tool" to types, and try to detect chainsaws/drills/hamaxes... |
||
− | -->{{#ifexpr:{{#dplvar:ii:info:axe}}{{#dplvar:ii:info:hammer}}{{#dplvar:ii:info:pick}}|<!-- 000 -> false |
||
− | -->{{#lstapp:{{#var:ii:types}}|tool}}<!-- |
||
− | //hammer & hamaxe |
||
− | -->{{#ifexpr:{{#dplvar:ii:info:hammer}}|<!-- |
||
− | -->{{#ifexpr:{{#dplvar:ii:info:axe}}<!-- |
||
− | -->|{{#lstapp:{{#var:ii:listcats}}|hamaxes}}<!-- |
||
− | -->|{{#lstapp:{{#var:ii:listcats}}|hammers}}<!-- |
||
− | -->}}<!-- |
||
− | -->}}<!-- |
||
− | //axe and chainsaws |
||
− | -->{{#ifexpr:{{#dplvar:ii:info:axe}}|<!-- |
||
− | -->{{#ifexpr:{{#dplvar:ii:info:hammer}}||<!-- exclude hamaxe |
||
− | -->{{#ifexpr:{{#dplvar:ii:info:shoot}}<!-- |
||
− | -->|{{#lstapp:{{#var:ii:listcats}}|chainsaws}}<!-- |
||
− | -->|{{#lstapp:{{#var:ii:listcats}}|axes}}<!-- |
||
− | -->}}<!-- |
||
− | -->}}<!-- |
||
− | -->}}<!-- |
||
− | //pickaxe and drills |
||
− | -->{{#ifexpr:{{#dplvar:ii:info:pick}}|<!-- |
||
− | -->{{#ifexpr:{{#dplvar:ii:info:shoot}}<!-- |
||
− | -->|{{#lstapp:{{#var:ii:listcats}}|drills}}<!-- |
||
− | -->|{{#lstapp:{{#var:ii:listcats}}|pickaxes}}<!-- |
||
− | -->}}<!-- |
||
− | -->}}<!-- |
||
− | -->}}<!-- |
||
− | -->{{#vardefine:ii:ammo|{{#dplvar:ii:info:ammo}}}}<!-- |
||
− | -->{{#ifexpr:{{#var:ii:ammo}}|<!-- Ammo type/cate |
||
− | //add "Ammunition" to type. |
||
− | -->{{#lstapp:{{#var:ii:types}}|/|ammunition}}<!-- |
||
− | //add ammo type to listcat: (by AmmoID ) |
||
− | -->{{#lstapp:{{#var:ii:listcats}}|/|{{#switch:{{#var:ii:ammo}}<!-- |
||
− | -->|40=arrows<!-- |
||
− | -->|71=coins<!-- |
||
− | -->|97=bullets<!-- |
||
− | -->|169=sands<!-- |
||
− | -->|283=darts<!-- |
||
− | -->|771=rockets<!-- |
||
− | -->|780=solutions<!-- |
||
− | -->|931=flares<!-- |
||
− | -->}}}}<!-- |
||
− | -->}}<!-- |
||
− | // use ammo type |
||
− | -->{{#vardefine:ii:useammo|{{#switch:{{#dplvar:ii:info:useAmmo}}<!-- |
||
− | -->|23=gel<!-- |
||
− | -->|40=arrows<!-- |
||
− | -->|71=coins<!-- |
||
− | -->|75=fallenStar<!-- |
||
− | -->|97=bullets<!-- |
||
− | -->|169=sands<!-- |
||
− | -->|283=darts<!-- |
||
− | -->|353=ale<!-- |
||
− | -->|771=rockets<!-- |
||
− | -->|780=solutions<!-- |
||
− | -->|931=flares<!-- |
||
− | -->|949=snowball<!-- |
||
− | -->|1261=styngerBolt<!-- |
||
− | -->|1783=candyCorn<!-- |
||
− | -->|1785=jackOLantern<!-- |
||
− | -->|1836=stake<!-- |
||
− | -->|3108=nailFriendly<!-- |
||
− | -->}}}}<!-- |
||
− | -->{{#vardefine:ii:fishing|{{{fishing|{{#dplvar:ii:info:fishingPole}}}}}}}<!-- |
||
− | -->{{#vardefine:ii:bait|{{{bait|{{#dplvar:ii:info:bait}}}}}}}<!-- |
||
− | -->{{#ifexpr:{{#or:{{#dplvar:ii:info:bait}}|0}}|<!-- bait? |
||
− | -->{{#lstapp:{{#var:ii:types}}|/|bait}}<!-- |
||
− | -->}}<!-- |
||
− | -->{{#vardefine:ii:damage|<!-- |
||
− | -->{{#if:{{{damage|}}}<!-- |
||
− | -->|{{#rreplace:{{{damage|}}}|@@@@|{{#dplvar:ii:info:damage}}}}<!-- |
||
− | -->|{{#ifexpr:({{#dplvar:ii:info:damage}}>0) or {{#lstind:weapon|{{#var:ii:types}}|/}}|{{#dplvar:ii:info:damage}}}}<!-- |
||
− | -->}}<!-- |
||
− | -->}}<!-- |
||
− | //if damage>0 then use, and always use damage for all weapons |
||
− | -->{{#vardefine:ii:damagetype|{{#if:{{#var:ii:damage}}|{{#switch:1<!-- |
||
− | -->|{{#dplvar:ii:info:melee}}=Melee<!-- |
||
− | -->|{{#dplvar:ii:info:ranged}}=Ranged<!-- |
||
− | -->|{{#dplvar:ii:info:magic}}=Magic<!-- |
||
− | -->|{{#dplvar:ii:info:summon}}=Summon<!-- |
||
− | -->|{{#dplvar:ii:info:thrown}}=Throwing<!-- |
||
− | -->}}}}}}<!-- |
||
− | //other items with damage |
||
− | -->{{#ifexpr:{{#dplvar:ii:info:damage}}>0|<!-- |
||
− | -->{{#if:{{#lstind:tool|{{#var:ii:types}}|/}}|<!-- |
||
− | -->{{#lstapp:{{#var:ii:listcats}}|/|weapon items}}<!-- tool with damage need "weapon items" in listcat |
||
− | -->|<!-- else |
||
− | -->{{#if:{{#lstind:ammunition|{{#var:ii:types}}|/}}||<!-- is not ammo |
||
− | -->{{#if:{{#dplvar:ii:info:accessory}}||<!-- and is not accessory |
||
− | -->{{#lstapp:{{#var:ii:types}}|/|weapon}}<!-- added "weapon" to types |
||
− | -->}}<!-- |
||
− | -->}}<!-- |
||
− | -->}}<!-- |
||
− | -->}}<!-- |
||
− | // add "<auto damagetype> weapons" to listcat. |
||
− | -->{{#if:{{#var:ii:damagetype}}|<!-- |
||
− | -->{{#if:{{#lstind:weapon|{{#var:ii:types}}|<!-- |
||
− | -->{{#lstapp:{{#var:ii:types}}|/|{{#var:ii:damagetype}}}}<!-- |
||
− | -->}}<!-- |
||
− | -->}}<!-- |
||
− | // NOTE: for all non-auto damage type(input by |damagetype=) including pre-1.4 throwing weapons, you should manually add 'throwing weapons' to their listcats. |
||
− | // manually override: |
||
− | -->{{#vardefine:ii:damagetype|<!-- |
||
− | -->{{#if:{{{damagetype|}}}<!-- |
||
− | -->|{{#rreplace:{{{damagetype|}}}|@@@@|{{#var:ii:damagetype}}}}<!-- |
||
− | -->|{{#var:ii:damagetype}}<!-- |
||
− | -->}}<!-- |
||
− | -->}}<!-- |
||
− | // research required |
||
− | -->{{#vardefine:ii:sacrifices|{{#ifexpr:{{#dplvar:ii:info:sacrifices}}>0|{{#dplvar:ii:info:sacrifices}}}}}}<!-- |
||
− | |||
− | |||
− | |||
− | ============== @doing ==================== |
||
− | |||
− | |||
− | //reset all fields. So they won't go wrong with multiple item infoboxes. |
||
− | |||
− | -->{{#vardefine:ii:DD2Summon|}}<!-- |
||
− | -->{{#vardefine:ii:knockback|}}<!-- |
||
− | -->{{#vardefine:ii:defense|}}<!-- |
||
− | -->{{#vardefine:ii:tileboost|}}<!-- |
||
− | -->{{#vardefine:ii:mana|}}<!-- |
||
− | -->{{#vardefine:ii:mheal|}}<!-- |
||
− | -->{{#vardefine:ii:hheal|}}<!-- |
||
− | -->{{#vardefine:ii:critical|}}<!-- |
||
− | -->{{#vardefine:ii:use|}}<!-- |
||
− | -->{{#vardefine:ii:velocity|}}<!-- |
||
− | -->{{#vardefine:ii:rawVelocity|}}<!-- |
||
− | -->{{#vardefine:ii:velocityMultiplier|}}<!-- |
||
− | -->{{#vardefine:ii:toolspeed|}}<!-- |
||
− | -->{{#vardefine:ii:idbuff|}}<!-- |
||
− | -->{{#vardefine:ii:buff|}}<!-- |
||
− | -->{{#vardefine:ii:bufftype|}}<!-- |
||
− | -->{{#vardefine:ii:mobilebuff|}}<!-- if buff is mobile only |
||
− | -->{{#vardefine:ii:buffduration|}}<!-- in seconds. |
||
− | -->{{#vardefine:ii:bufflink|}}<!-- |
||
− | -->{{#vardefine:ii:bufftip|}}<!-- |
||
− | -->{{#vardefine:ii:buffchance|}}<!-- |
||
− | -->{{#vardefine:ii:debuffchance|}}<!-- |
||
− | -->{{#vardefine:ii:rare|}}<!-- |
||
− | -->{{#vardefine:ii:value|}}<!--in cc. |
||
− | -->{{#vardefine:ii:sell|}}<!--divide by 5, round down, in cc. |
||
− | -->{{#vardefine:ii:buy|}}<!-- |
||
− | -->{{#vardefine:ii:shopCustomPrice|}}<!-- |
||
− | -->{{#vardefine:ii:idtile|}}<!-- |
||
− | -->{{#vardefine:ii:idtilesub|}}<!-- |
||
− | -->{{#vardefine:ii:idwall|}}<!-- |
||
− | -->{{#vardefine:ii:idarmor|}}<!-- |
||
− | -->{{#vardefine:ii:idmount|}}<!-- |
||
− | -->{{#vardefine:ii:idprojectile|}}<!-- |
||
− | -->{{#vardefine:ii:consumable|}}<!-- |
||
− | -->{{#vardefine:ii:tooltip|}}<!-- |
||
− | |||
− | -->{{#vardefine:ii:pickreq|}}<!-- |
||
− | -->{{#vardefine:ii:hammerreq|}}<!-- |
||
− | -->{{#vardefine:ii:placeable|}}<!-- |
||
− | -->{{#vardefine:ii:width|}}<!-- |
||
− | -->{{#vardefine:ii:height|}}<!-- |
||
− | -->{{#vardefine:ii:bodyslot|}}<!-- |
||
− | -->{{#vardefine:ii:bonus|}}<!-- |
||
− | -->{{#vardefine:ii:setbonus|}}<!-- |
||
− | -->{{#vardefine:ii:hardmodeonly|}}<!-- |
||
− | -->{{#vardefine:ii:allversions|}}<!-- |
||
− | -->{{#vardefine:ii:material|}}<!-- |
||
− | -->{{#vardefine:ii:craftable|}}<!-- |
||
− | |||
− | -->{{#arraydefine:ii:sounds|}}<!-- |
||
− | //images: |
||
− | -->{{#vardefine:ii:imagealt|}}<!-- //full image code for image area |
||
− | -->{{#vardefine:ii:imagefile|}}<!-- //main image file |
||
− | -->{{#vardefine:ii:image|}}<!-- //main image name. |
||
− | -->{{#vardefine:ii:imageold|}}<!-- //oldimage. |
||
− | -->{{#vardefine:ii:imagefemale|}}<!-- |
||
− | -->{{#vardefine:ii:imageplaced|}}<!-- |
||
− | -->{{#vardefine:ii:imageequipped|}}<!-- |
||
− | -->{{#vardefine:ii:imageext|}}<!-- //custom extra images. full image code. |
||
− | |||
− | |||
− | //==auto vars== |
||
− | -->{{#if:{{{auto|}}}|<!-- |
||
− | // post process and save into "standard" vars: |
||
− | |||
− | |||
− | -->{{#if:{{#dplvar:ii:info:accessory}}|<!-- accessory? |
||
− | -->{{#arraydefine:z|accessory}}{{#arrayunion:ii:types|z|ii:types}}<!-- |
||
− | -->}}<!-- |
||
− | -->{{#if:{{#dplvar:ii:info:cartTrack}}|<!-- cart track |
||
− | -->{{#arraydefine:z|Minecart track items}}{{#arrayunion:ii:listcats|z|ii:listcats}}<!-- |
||
− | -->}}<!-- |
||
− | -->{{#ifexpr:{{#dplvar:ii:info:dye}}|<!-- is dye? |
||
− | -->{{#arraydefine:z|dye}}{{#arrayunion:ii:types|z|ii:types}}<!-- |
||
− | -->}}<!-- |
||
− | -->{{#ifexpr:{{#dplvar:ii:info:hairDye}}>-1|<!-- is hair dye? |
||
− | -->{{#arraydefine:z|hair dye}}{{#arrayunion:ii:types|z|ii:types}}<!-- |
||
− | -->}}<!-- |
||
− | -->{{#if:{{#dplvar:ii:info:string}}|<!-- string? |
||
− | -->{{#arraydefine:z|string}}{{#arrayunion:ii:tags|z|ii:tags}}<!-- |
||
− | -->}}<!-- |
||
− | -->{{#if:{{#dplvar:ii:info:vanity}}|<!-- vanity? |
||
− | -->{{#arraydefine:z|vanity}}{{#arrayunion:ii:types|z|ii:types}}<!-- |
||
− | -->}}<!-- |
||
− | -->{{#if:{{#dplvar:ii:info:mech}}|<!-- mech? |
||
− | -->{{#arraydefine:z|mechanism}}{{#arrayunion:ii:types|ii:types|z}}<!-- |
||
− | -->}}<!-- |
||
− | -->{{#ifeq:{{#invoke:Iteminfo/idSets|value|IsFood|{{#var:ii:id}}}}|true|<!-- food? |
||
− | -->{{#arraydefine:z|food}}{{#arrayunion:ii:types|ii:types|z}}<!-- |
||
− | -->}}<!-- |
||
− | |||
− | |||
− | // if autokb>0 then use it, always use kb for all axe/hammer/pick(/drill) tools, always use kb for all weapons |
||
− | -->{{#vardefine:ii:knockback|<!-- |
||
− | -->{{#ifexpr:({{#dplvar:ii:info:knockBack}}>0) or {{#dplvar:ii:info:axe}} or {{#dplvar:ii:info:hammer}} or {{#dplvar:ii:info:pick}} or {{#arraysearch:ii:types|weapon|0|1|0}}|{{#dplvar:ii:info:knockBack}}}}<!-- |
||
− | -->}}<!-- |
||
− | -->{{#vardefine:ii:defense|{{#ifexpr:{{#dplvar:ii:info:defense}}>0|{{#dplvar:ii:info:defense}}}}}}<!-- |
||
− | -->{{#vardefine:ii:tileboost|{{#ifexpr:{{#dplvar:ii:info:tileBoost}}<>0|{{#dplvar:ii:info:tileBoost}}}}}}<!-- |
||
− | -->{{#vardefine:ii:mana|{{#ifexpr:{{#dplvar:ii:info:mana}}>0|{{#dplvar:ii:info:mana}}}}}}<!-- |
||
− | -->{{#vardefine:ii:mheal|{{#ifexpr:{{#dplvar:ii:info:healMana}}>0|{{#dplvar:ii:info:healMana}}}}}}<!-- |
||
− | -->{{#vardefine:ii:hheal|{{#ifexpr:{{#dplvar:ii:info:healLife}}>0|{{#dplvar:ii:info:healLife}}}}}}<!-- |
||
− | -->{{#vardefine:ii:critical|<!-- |
||
− | -->{{#ifexpr:{{#var:ii:damage|0}}>0|<!-- if autodamage exist |
||
− | -->{{#ifexpr:{{#dplvar:ii:info:crit}}>0|<!-- |
||
− | -->{{#expr:{{#dplvar:ii:info:crit}}+4}}<!-- use autocrit+4 |
||
− | -->|<!-- |
||
− | -->{{#if:{{#arraysearch:ii:types|weapon|0|y}}{{#arraysearch:ii:types|tool|0|y}}|<!-- |
||
− | -->{{#if:{{#var:ii:damagetype}}|{{#ifeq:{{#var:ii:damagetype}}|Summon||4}}}}<!-- if $damagetype and $damagetype != summon then 4% |
||
− | -->}}<!-- |
||
− | -->}}<!-- |
||
− | -->}}<!-- |
||
− | -->}}<!-- |
||
− | -->{{#vardefine:ii:use|{{#ifexpr:{{#dplvar:ii:info:useAnimation}}<100|{{#dplvar:ii:info:useAnimation}}}}}}<!-- |
||
− | -->{{#vardefine:ii:velocity|{{#ifexpr:{{#dplvar:ii:info:shootSpeed}}>0|{{#dplvar:ii:info:shootSpeed}}}}}}<!-- |
||
− | -->{{#vardefine:ii:toolspeed|<!-- |
||
− | -->{{#ifexpr:({{#dplvar:ii:info:useAnimation}}<100) and ({{#dplvar:ii:info:useTime}}<100) and {{#arraysearch:ii:types|tool|0|1|0}}|{{#dplvar:ii:info:useTime}}}}<!-- |
||
− | -->}}<!-- |
||
− | -->{{#vardefine:ii:idbuff|<!-- |
||
− | -->{{#ifexpr:{{#dplvar:ii:info:buffType}}>0|<!-- |
||
− | -->{{#dplvar:ii:info:buffType}}<!-- |
||
− | -->|<!-- |
||
− | -->{{#ifexpr:{{#dplvar:ii:info:mountType}}>-1|{{BuffIdFromName|{{getMountInfo|{{#dplvar:ii:info:mountType}}|name}}}}}}<!-- |
||
− | -->}}<!-- |
||
− | -->}}<!-- |
||
− | -->{{#vardefine:ii:buffduration|{{#ifexpr:{{#dplvar:ii:info:buffTime}}>0|{{#expr:{{#dplvar:ii:info:buffTime}}/60}}}}}}<!-- in seconds. |
||
− | -->{{#vardefine:ii:rare|{{#dplvar:ii:info:rare}}}}<!-- |
||
− | -->{{#ifeq:{{#dplvar:ii:info:rare}}|-11|{{#vardefine:ii:rare|quest}}}}<!--quest |
||
− | -->{{#if:{{#dplvar:ii:info:questItem}}|{{#vardefine:ii:rare|quest}}}}<!--quest |
||
− | |||
− | -->{{#arraysearch:ii:tags|dd2|0|{{#vardefine:ii:DD2Summon|1}}|{{#vardefine:ii:DD2Summon|{{#dplvar:ii:info:DD2Summon}}}}}}<!-- |
||
− | -->{{#vardefine:ii:value|{{#ifexpr:{{#dplvar:ii:info:value}}>0|{{#dplvar:ii:info:value}}}}}}<!--in cc. |
||
− | -->{{#vardefine:ii:shopCustomPrice|{{#dplvar:ii:info:shopCustomPrice}}}}<!--dm |
||
− | -->{{#ifexpr:{{#dplvar:ii:info:value}}>0|<!-- |
||
− | -->{{#vardefine:ii:sell|{{#expr:floor({{#expr:{{#dplvar:ii:info:value}}/5}})}}}}<!-- divide by 5, round down, in cc. |
||
− | -->{{#ifexpr:{{#var:ii:sell}}<1|{{#vardefine:ii:sell|1}}}}<!-- at least 1cc |
||
− | -->}}<!-- |
||
− | -->{{#vardefine:ii:idtile|{{#ifexpr:{{#dplvar:ii:info:createTile}}>-1|{{#dplvar:ii:info:createTile}}}}}}<!-- |
||
− | -->{{#vardefine:ii:idtilesub|<!-- |
||
− | -->{{#ifexpr:({{#dplvar:ii:info:createTile}}>-1) and ({{#dplvar:ii:info:placeStyle}}>0)|{{#expr:{{#dplvar:ii:info:placeStyle}}+1}}}}<!-- |
||
− | -->}}<!-- |
||
− | -->{{#vardefine:ii:idwall|{{#ifexpr:{{#dplvar:ii:info:createWall}}>-1|{{#dplvar:ii:info:createWall}}}}}}<!-- |
||
− | -->{{#if:{{#var:ii:idwall}}|<!-- wall? |
||
− | -->{{#arraydefine:z|wall}}{{#arrayunion:ii:types|z|ii:types}}<!-- |
||
− | -->}}<!-- |
||
− | -->{{#ifexpr:{{#dplvar:ii:info:headSlot}}>-1|<!-- head armor? |
||
− | -->{{#vardefine:ii:idarmor|{{#dplvar:ii:info:headSlot}}}}<!-- |
||
− | -->{{#arraysearch:ii:types|vanity|0|<!-- set body slot |
||
− | -->{{#vardefine:ii:bodyslot|social helmet}}<!-- |
||
− | -->|<!-- |
||
− | -->{{#vardefine:ii:bodyslot|helmet}}<!-- |
||
− | -->{{#arraydefine:z|armor}}{{#arrayunion:ii:types|z|ii:types}}<!-- add "armor" to types |
||
− | -->}}<!-- |
||
− | -->}}<!-- |
||
− | -->{{#ifexpr:{{#dplvar:ii:info:bodySlot}}>-1|<!-- body armor? |
||
− | -->{{#vardefine:ii:idarmor|{{#dplvar:ii:info:bodySlot}}}}<!-- |
||
− | -->{{#arraysearch:ii:types|vanity|0|<!-- |
||
− | -->{{#vardefine:ii:bodyslot|social shirt}}<!-- |
||
− | -->|<!-- |
||
− | -->{{#vardefine:ii:bodyslot|shirt}}<!-- |
||
− | -->{{#arraydefine:z|armor}}{{#arrayunion:ii:types|z|ii:types}}<!-- |
||
− | -->}}<!-- |
||
− | -->}}<!-- |
||
− | -->{{#ifexpr:{{#dplvar:ii:info:legSlot}}>-1|<!-- legs armor? |
||
− | -->{{#vardefine:ii:idarmor|{{#dplvar:ii:info:legSlot}}}}<!-- |
||
− | -->{{#arraysearch:ii:types|vanity|0|<!-- |
||
− | -->{{#vardefine:ii:bodyslot|social pants}}<!-- |
||
− | -->|<!-- |
||
− | -->{{#vardefine:ii:bodyslot|pants}}<!-- |
||
− | -->{{#arraydefine:z|armor}}{{#arrayunion:ii:types|z|ii:types}}<!-- |
||
− | -->}}<!-- |
||
− | -->}}<!-- |
||
− | -->{{#vardefine:ii:idmount|{{#ifexpr:{{#dplvar:ii:info:mountType}}>-1|{{#dplvar:ii:info:mountType}}}}}}<!-- |
||
− | -->{{#if:{{#var:ii:idmount}}|<!-- mount |
||
− | //add "mount Summon" to type. |
||
− | -->{{#arraydefine:z|mount summon}}{{#arrayunion:ii:types|z|ii:types}}<!-- |
||
− | -->}}<!-- |
||
− | -->{{#if:{{#var:ii:useammo}}||{{#vardefine:ii:idprojectile|{{#ifexpr:{{#dplvar:ii:info:shoot}}>0|{{#dplvar:ii:info:shoot}}}}}}}}<!--don't show default projectile id for items which use ammo. |
||
− | -->{{#if:{{#dplvar:ii:info:UseSound}}|<!-- |
||
− | -->{{#arraydefine:_usesounds|{{#dplvar:ii:info:UseSound}}}}<!-- |
||
− | -->{{#arraydefine:ii:sounds|{{l10n|item_infobox|th:use}}@@{{#arrayprint:_usesounds|,|##|##.wav}}|@@@}}<!-- put all usesounds in the first element of the ii:sounds array |
||
− | -->}}<!-- |
||
− | -->{{#vardefine:ii:placeable|{{#if:{{#var:ii:idtile}}{{#var:ii:idwall}}|y}}}}<!-- |
||
− | -->{{#vardefine:ii:consumable|{{#dplvar:ii:info:consumable}}}}<!-- |
||
− | -->{{#vardefine:ii:tooltip|{{itemTooltip|{{#var:ii:id}}|right={{l10n|item_infobox|rightclick}}}}}}<!-- |
||
− | |||
− | -->{{#vardefine:ii:material|{{#dplvar:ii:info:material}}}}<!-- |
||
− | -->{{#vardefine:ii:craftable|{{#dplvar:ii:info:craftable}}}}<!-- |
||
− | |||
− | -->}}<!-- |
||
− | |||
− | //== manual vars override and complete all fields. == |
||
− | //as they are defined after the automatic variables, using these manual parameters always overwrites the respective automatic variable. if auto mode was not used, this ensures correct functioning of the template |
||
− | |||
− | |||
− | -->{{#vardefine:ii:knockback|{{regex|{{{knockback|}}}|/@@@@/|{{knockback|{{#var:ii:knockback}}|full=y}}|{{{knockback|{{#var:ii:knockback}}}}}}}}}<!-- |
||
− | -->{{#vardefine:ii:defense|{{#var:ii:defense|{{#arraysearch:ii:types|set|0|{{#arraysearch:ii:types|vanity|0||{{#ifexpr:{{#explode:{{getSetInfo|{{#var:ii:name}}|defense|raw=y}}|§|1}}>0|{{getSetInfo|{{#var:ii:name}}|defense}}}}}}}}}}}}<!-- auto defense for armor sets |
||
− | -->{{#vardefine:ii:defense|{{regex|{{{defense|}}}|/@@@@/|{{#var:ii:defense|0}}|{{{defense|{{#var:ii:defense}}}}}}}}}<!-- |
||
− | -->{{#vardefine:ii:tileboost|{{{tileboost|{{#var:ii:tileboost}}}}}}}<!-- |
||
− | -->{{#vardefine:ii:mana|{{regex|{{{mana|}}}|/@@@@/|{{#var:ii:mana}}|{{{mana|{{#var:ii:mana}}}}}}}}}<!-- |
||
− | -->{{#vardefine:ii:mheal|{{regex|{{{mheal|}}}|/@@@@/|{{#var:ii:mheal}}|{{{mheal|{{#var:ii:mheal}}}}}}}}}<!-- |
||
− | -->{{#vardefine:ii:hheal|{{regex|{{{hheal|}}}|/@@@@/|{{#var:ii:hheal}}|{{{hheal|{{#var:ii:hheal}}}}}}}}}<!-- |
||
− | -->{{#vardefine:ii:critical|{{regex|{{{critical|}}}|/@@@@/|{{#var:ii:critical}}%|{{{critical|{{#var:ii:critical|{{#if:{{#var:ii:damage}}|<!-- |
||
− | if $damage and ($type=weapon or =tool) and ("summon" not in $damagetype) then 4 end |
||
− | -->{{#if:{{#arraysearch:ii:types|weapon|0|y}}{{#arraysearch:ii:types|tool|0|y}}|<!-- |
||
− | -->{{#if:{{#var:ii:damagetype}}|{{#if:{{#rmatch:{{#var:ii:damagetype}}|/summon/i|y}}||4}}}}<!-- if $damagetype and ("summon" not in $damagetype) then 4% |
||
− | -->}}<!-- |
||
− | -->}}}}}}}}}}}<!-- |
||
− | -->{{#vardefine:ii:use|{{regex|{{{use|}}}|/@@@@/|{{use time|{{#var:ii:use}}|full=y}}|{{{use|{{#var:ii:use}}}}}}}}}<!-- |
||
− | -->{{#vardefine:ii:velocity|{{{velocity|{{{sspeed|{{#var:ii:velocity}}}}}}}}}}<!-- |
||
− | -->{{#vardefine:ii:toolspeed|{{regex|{{{toolspeed|}}}|/@@@@/|{{#var:ii:toolspeed}}|{{{toolspeed|{{#var:ii:toolspeed}}}}}}}}}<!-- |
||
− | -->{{#vardefine:ii:idbuff|{{{idbuff|{{#var:ii:idbuff}}}}}}}<!-- |
||
− | -->{{#vardefine:ii:buffduration|{{regex|{{{duration|}}}|/@@@@/|{{duration|{{#var:ii:buffduration}}}}|{{{duration|{{#var:ii:buffduration}}}}}}}}}<!--in seconds. |
||
− | -->{{#vardefine:ii:rare|{{#var:ii:rare|{{#arraysearch:ii:types|set|0|{{getSetInfo|{{#var:ii:name}}|rare|raw=y}}}}}}}}<!-- auto rarity for armor/vanity sets |
||
− | -->{{#vardefine:ii:rare|{{regex|{{{rare|}}}|/@@@@/|{{rare|{{#var:ii:rare}}}}|{{{rare|{{#var:ii:rare}}}}}}}}}<!-- |
||
− | -->{{#vardefine:ii:idtile|{{{idtile|{{#var:ii:idtile}}}}}}}<!-- |
||
− | -->{{#vardefine:ii:idtilesub|{{#if:{{{idtile|}}}||{{{idtilesub|{{#var:ii:idtilesub}}}}}}}}}<!-- |
||
− | -->{{#vardefine:ii:idwall|{{{idwall|{{#var:ii:idwall}}}}}}}<!-- |
||
− | -->{{#vardefine:ii:idarmor|{{{idarmor|{{#var:ii:idarmor}}}}}}}<!-- |
||
− | -->{{#vardefine:ii:idmount|{{{idmount|{{#var:ii:idmount}}}}}}}<!-- |
||
− | -->{{#vardefine:ii:idprojectile|{{{idprojectile|{{{shoot|{{#var:ii:idprojectile}}}}}}}}}}<!-- |
||
− | -->{{#vardefine:ii:consumable|{{{consumable|{{#var:ii:consumable}}}}}}}<!-- |
||
− | -->{{#vardefine:ii:placeable|{{{placeable|{{#var:ii:placeable}}}}}}}<!-- |
||
− | -->{{#vardefine:ii:value|{{{value|{{#var:ii:value}}}}}}}<!-- |
||
− | // sell/buy |
||
− | -->{{#arraysearch:ii:types|set|0|<!-- armor/vanity sets |
||
− | -->{{#vardefine:ii:sell|{{regex|{{{sell|}}}|/@@@@/<!-- |
||
− | -->|{{#ifexpr:{{#explode:{{getSetInfo|{{#var:ii:name}}|sell|raw=y}}|§|1}}>0|{{getSetInfo|{{#var:ii:name}}|sell}}}}<!-- |
||
− | -->|{{{sell|{{#ifexpr:{{#explode:{{getSetInfo|{{#var:ii:name}}|sell|raw=y}}|§|1}}>0|{{getSetInfo|{{#var:ii:name}}|sell}}}}}}}<!-- |
||
− | -->}}}}<!-- |
||
− | -->|<!-- regular, single items |
||
− | -->{{#vardefine:ii:sell|{{regex|{{{sell|}}}|/@@@@/<!-- |
||
− | -->|{{coin|{{#var:ii:sell|{{#ifexpr:{{#var:ii:value|0}}>0|{{#expr:floor({{#expr:{{#var:ii:value}}/5}})}}}}}}cc}}<!-- |
||
− | -->|{{{sell|{{#var:ii:sell|{{#ifexpr:{{#var:ii:value|0}}>0|{{#expr:floor({{#expr:{{#var:ii:value}}/5}})}}}}}}}}}<!-- |
||
− | -->}}}}<!-- |
||
− | -->}}<!-- |
||
− | -->{{#vardefine:ii:buy|<!-- |
||
− | -->{{#switch:{{lc:{{{buy|}}}}}<!-- |
||
− | -->|y|yes|true|show={{#ifexpr:{{#var:ii:value|0}}>0|{{#var:ii:value}}|{{#arraysearch:ii:types|set|0|{{getSetInfo|{{#var:ii:name}}|buy}}}}}}<!-- |
||
− | -->|#default={{#if:{{{buy|}}}|<!-- |
||
− | -->{{regex|{{{buy|}}}|/@@@@/|{{#ifexpr:{{#var:ii:value|0}}>0|{{coin|{{#var:ii:value}}cc}}}}|{{{buy|{{#arraysearch:ii:types|set|0|{{#ifexpr:{{#explode:{{getSetInfo|{{#var:ii:name}}|buy|raw=y}}|§|1}}>0|{{getSetInfo|{{#var:ii:name}}|buy}}}}}}}}}}}<!-- |
||
− | -->|<!-- |
||
− | -->{{#if:{{#arraysearch:ii:tags|buy|0|y}}{{#arraysearch:ii:tags|buyable|0|y}}{{#arraysearch:ii:tags|vendor|0|y}}|<!-- |
||
− | -->{{#ifexpr:{{#var:ii:value|0}}>0|{{#var:ii:value}}|{{#arraysearch:ii:types|set|0|{{#ifexpr:{{#explode:{{getSetInfo|{{#var:ii:name}}|buy|raw=y}}|§|1}}>0|{{getSetInfo|{{#var:ii:name}}|buy}}}}}}}}<!-- |
||
− | -->}}<!-- |
||
− | -->}}<!-- |
||
− | -->}}<!-- |
||
− | -->}}<!-- |
||
− | -->{{#if:{{#var:ii:shopCustomPrice}}|<!-- |
||
− | -->{{#vardefine:ii:buy|{{dm|{{#var:ii:shopCustomPrice}}}}}}<!-- |
||
− | -->|<!-- |
||
− | -->{{#if:{{#var:ii:buy}}|<!-- |
||
− | -->{{#iferror:{{#expr:1+{{#var:ii:buy}}}}||{{#vardefine:ii:buy|{{coin|{{#var:ii:buy}}cc}}}}}}<!-- |
||
− | -->}}<!-- |
||
− | -->}}<!-- |
||
− | -->{{#if:{{#var:ii:sell}}|<!-- |
||
− | -->{{#iferror:{{#expr:1+{{#var:ii:sell}}}}||{{#vardefine:ii:sell|{{coin|{{#var:ii:sell}}cc}}}}}}<!-- |
||
− | -->}}<!-- |
||
− | //ext buffinfo |
||
− | -->{{#if:{{#var:ii:idbuff}}|<!-- |
||
− | -->{{#vardefine:ii:buff|{{{buff|{{getBuffInfo|{{#var:ii:idbuff}}|name}}}}}}}<!-- |
||
− | -->{{#vardefine:ii:bufftype|{{{bufftype|{{getBuffInfo|{{#var:ii:idbuff}}|type}}}}}}}<!-- |
||
− | -->{{#vardefine:ii:bufflink|{{{bufflink|{{getBuffInfo|{{#var:ii:idbuff}}|page}}}}}}}<!-- |
||
− | -->{{#vardefine:ii:bufftip|{{{bufftip|{{getBuffInfo|{{#var:ii:idbuff}}|tooltip}}}}}}}<!-- |
||
− | -->|<!-- no idbuff, see if there is $buff or $debuff |
||
− | -->{{#if:{{{debuff|}}}|<!-- |
||
− | -->{{#arraydefine:debuffinfo|{{{debuff|}}}|/}}<!-- |
||
− | -->{{#vardefine:ii:bufftype|Debuff}}<!-- |
||
− | -->{{#vardefine:ii:idbuff|{{buffIdFromName|{{#arrayindex:debuffinfo|0}}}}}}<!-- |
||
− | -->{{#if:{{#var:ii:idbuff}}|<!-- |
||
− | -->{{#ifeq:{{#sub:{{#var:ii:idbuff}}|0|1}}|m|<!-- is mobile exclusive? |
||
− | -->{{#vardefine:ii:idbuff|{{#sub:{{#var:ii:idbuff}}|1}}}}<!-- |
||
− | -->{{#vardefine:ii:mobilebuff|m}}<!-- |
||
− | -->}}<!-- |
||
− | -->}}<!-- |
||
− | -->{{#vardefine:ii:buff|{{#if:{{#var:ii:idbuff}}|{{getBuffInfo|{{#var:ii:mobilebuff}}{{#var:ii:idbuff}}|name}}|{{#arrayindex:debuffinfo|0}}}}}}<!-- |
||
− | -->{{#vardefine:ii:buffduration|{{{debuffduration|{{#arrayindex:debuffinfo|1}}}}}}}<!-- in seconds. |
||
− | -->{{#vardefine:ii:debuffchance|{{#arrayindex:debuffinfo|2}}}}<!-- |
||
− | -->|{{#if:{{{buff|}}}|<!-- |
||
− | -->{{#arraydefine:buffinfo|{{{buff|}}}|/}}<!-- |
||
− | -->{{#vardefine:ii:bufftype|Buff}}<!-- |
||
− | -->{{#vardefine:ii:idbuff|{{buffIdFromName|{{#arrayindex:buffinfo|0}}}}}}<!-- |
||
− | -->{{#if:{{#var:ii:idbuff}}|<!-- |
||
− | -->{{#ifeq:{{#sub:{{#var:ii:idbuff}}|0|1}}|m|<!-- is mobile exclusive? |
||
− | -->{{#vardefine:ii:idbuff|{{#sub:{{#var:ii:idbuff}}|1}}}}<!-- |
||
− | -->{{#vardefine:ii:mobilebuff|m}}<!-- |
||
− | -->}}<!-- |
||
− | -->}}<!-- |
||
− | -->{{#vardefine:ii:buff|{{#if:{{#var:ii:idbuff}}|{{getBuffInfo|{{#var:ii:mobilebuff}}{{#var:ii:idbuff}}|name}}|{{#arrayindex:buffinfo|0}}}}}}<!-- |
||
− | -->{{#vardefine:ii:buffduration|{{{buffduration|{{#arrayindex:buffinfo|1}}}}}}}<!-- in seconds. |
||
− | -->{{#vardefine:ii:buffchance|{{#arrayindex:buffinfo|2}}}}<!-- |
||
− | -->}}}}<!-- |
||
− | -->{{#vardefine:ii:bufflink|{{{debufflink|{{getBuffInfo|{{#var:ii:mobilebuff}}{{#var:ii:idbuff}}|page}}}}}}}<!-- |
||
− | -->{{#vardefine:ii:bufftip|{{{debufftip|{{getBuffInfo|{{#var:ii:mobilebuff}}{{#var:ii:idbuff}}|tooltip}}}}}}}<!-- |
||
− | -->}}<!-- |
||
− | -->{{#ifeq:{{lc:{{#var:ii:bufftype}}}}|debuff|<!-- |
||
− | -->{{#vardefine:ii:debuffchance|{{{debuffchance|{{#var:ii:debuffchance}}}}}}}<!-- |
||
− | -->}}<!-- |
||
− | -->{{#ifeq:{{#var:ii:bufflink}}|{{BASEPAGENAME}}|<!-- if is self link |
||
− | //add "buffs" to cate. |
||
− | -->{{#arraydefine:z|buffs}}{{#arrayunion:ii:listcats|ii:listcats|z}}<!-- |
||
− | -->}}<!-- |
||
− | -->{{#vardefine:ii:tooltip|{{regex|{{{tooltip|}}}|/@@@@/|{{#var:ii:tooltip}}|{{{tooltip|{{#var:ii:tooltip|{{itemTooltip|{{#var:ii:id}}}}}}}}}}}}}<!-- |
||
− | -->{{#vardefine:ii:pickreq|{{{pickreq|{{#var:ii:pickreq}}}}}}}<!-- |
||
− | -->{{#vardefine:ii:hammerreq|{{{hammerreq|{{#var:ii:hammerreq}}}}}}}<!-- |
||
− | -->{{#arraysearch:ii:types|block|0|{{#vardefine:ii:width|1}}{{#vardefine:ii:height|1}}}}<!-- |
||
− | -->{{#arraysearch:ii:types|brick|0|{{#vardefine:ii:width|1}}{{#vardefine:ii:height|1}}}}<!-- |
||
− | -->{{#vardefine:ii:width|{{{width|{{#var:ii:width}}}}}}}<!-- |
||
− | -->{{#vardefine:ii:height|{{{height|{{#var:ii:height}}}}}}}<!-- |
||
− | -->{{#vardefine:ii:bodyslot|{{{body slot|{{#var:ii:bodyslot}}}}}}}<!-- |
||
− | -->{{#vardefine:ii:bonus|{{{bonus|{{#var:ii:bonus}}}}}}}<!-- |
||
− | -->{{#vardefine:ii:setbonus|{{#arraysearch:ii:types|set|0|{{#arraysearch:ii:types|vanity|0||{{getSetInfo|{{#var:ii:name}}|setbonuslist|sep=<br/>}}}}}}}}<!-- auto setbonus for armor sets |
||
− | -->{{#vardefine:ii:setbonus|{{regex|{{{setbonus|}}}|/@@@@/|{{#var:ii:setbonus}}|{{#var:ii:setbonus}}}}}}<!-- |
||
− | -->{{#vardefine:ii:hardmodeonly|{{{hardmode|{{#if:{{#arraysearch:ii:tags|hardmodeonly|0|y}}{{#arraysearch:ii:tags|hardmode|0|y}}|y|{{#var:ii:hardmodeonly}}}}}}}}}<!-- |
||
− | -->{{#vardefine:ii:allversions|{{#switch:{{lc:{{{allversions|}}}}}<!-- allversions? |
||
− | -->|y|yes|true=y<!-- |
||
− | -->|n|no|false=<!-- |
||
− | -->|#default={{#arraysearch:ii:tags|allversions|0|y|{{#if:{{#var:ii:id}}|{{#if:{{eversions|{{#var:ii:name}}|raw=y}}|<!--not all versions-->|y}}}}}}<!-- auto detected: tag -> id+eversions. |
||
− | -->}}}}<!-- |
||
− | crafting cate/type |
||
− | -->{{#if:{{#var:ii:name}}|<!-- |
||
− | //Is crafting material ?? |
||
− | -->{{#if:{{#var:ii:material}}|<!-- |
||
− | //add "Crafting material" to type. |
||
− | -->{{#arraydefine:z|crafting material}}<!-- |
||
− | -->{{#arrayunion:ii:types|ii:types|z}}<!-- |
||
− | -->}}<!-- |
||
− | //Is craftable? |
||
− | -->{{#if:{{#var:ii:craftable}}|<!-- |
||
− | //add "Craftable items" to listcate. |
||
− | -->{{#arraydefine:z|craftable items}}<!-- |
||
− | -->{{#arrayunion:ii:listcats|ii:listcats|z}}<!-- |
||
− | -->}}<!-- |
||
− | -->}}<!-- |
||
− | |||
− | //velocity/extraUpdate fix |
||
− | -->{{#vardefine:ii:rawVelocity|{{#var:ii:velocity}}}}<!-- |
||
− | -->{{#if:{{#var:ii:idprojectile}}|{{#if:{{#var:ii:rawVelocity}}|<!-- |
||
− | -->{{#vardefine:_extraUpdates|0{{getProjectileInfo|{{#explode:{{#var:ii:idprojectile}}|,|0}}|extraUpdates}}}}<!-- |
||
− | -->{{#ifexpr:{{#var:_extraUpdates}}>0|<!-- |
||
− | -->{{#arraysearch:ii:types|ammunition|0|<!-- is ammo |
||
− | -->{{#vardefine:ii:velocityMultiplier|{{#expr:{{#var:_extraUpdates}}+1}}}}<!-- |
||
− | -->|<!-- others |
||
− | -->{{#vardefine:ii:velocity|{{#expr:{{#var:ii:velocity}}*({{#var:_extraUpdates}}+1)}}}}<!-- |
||
− | -->}}<!-- |
||
− | -->}}<!-- |
||
− | -->}}}}<!-- |
||
− | |||
− | |||
− | //sounds: |
||
− | -->{{#if:{{{sounduse|}}}|{{#arraydefine:ii:sounds|{{l10n|item_infobox|th:use}}@@{{{sounduse|}}}|@@@@}}}}<!-- use delimiter "@@@@" to prevent multiple comma-separated sounds to be stored as different array elements. ii:sounds should only have a single element at this point. |
||
− | -->{{#arraydefine:z|<!-- // custom sounds (e.g. $sound1) |
||
− | -->{{#forargs:sound|k|v|<!-- |
||
− | -->{{#if:{{{soundcaption{{#var:k}}|}}}|<!-- |
||
− | -->@@@@{{{soundcaption{{#var:k}}|}}}@@{{#var:v}}<!-- "@@" is the delimiter between caption and sound; "@@@@" the delimiter between array elements |
||
− | -->}}<!-- |
||
− | -->}}<!-- |
||
− | -->|@@@@<!-- |
||
− | -->}}<!-- |
||
− | -->{{#arrayunique:z}}<!-- removing empty and duplicate elements |
||
− | -->{{#arrayunion:ii:sounds|ii:sounds|z}}<!-- |
||
− | //images: There are some expensive calls in image auto detection, so run detection based on view mode. |
||
− | -->{{#vardefine:ii:imagealt|{{{imagealt|}}}}}<!-- custom full image code. |
||
− | -->{{#if:{{#var:ii:imagealt}}||<!-- |
||
− | -->{{#ifeq:{{#var:imagemode}}|full|<!--full mode |
||
− | //female image check first (used in equipped image) |
||
− | -->{{#vardefine:ii:imagefemale|<!-- |
||
− | -->{{#if:{{{imagefemale|}}}|<!-- |
||
− | -->[[File:{{{imagefemale|}}}|{{l10n|item_infobox|imagealt:female|$name$={{#var:ii:lname}}}}|link=]]<!-- |
||
− | -->|<!-- |
||
− | -->{{image|{{#var:ii:name}} female.{{{ext|png}}}|{{l10n|item_infobox|imagealt:female|$name$={{#var:ii:lname}}}}|link=}}<!-- check ext as main image |
||
− | -->}}<!-- |
||
− | -->}}<!-- |
||
− | -->{{#vardefine:ii:imagefemale|{{#var:ii:imagefemale|<!-- second try to fetch female image (armor/vanity sets are named "<name> female.png"; regular items are named "<name> (equipped) female.png") |
||
− | -->{{image|{{#var:ii:name}} (equipped) female.{{{ext|png}}}|{{l10n|item_infobox|imagealt:female|$name$={{#var:ii:lname}}}}|link=}}<!-- check ext as main image |
||
− | -->}}}}<!-- |
||
− | -->{{#vardefine:_male_image_suffix|{{#if:{{#var:ii:imagefemale}}|y|}}}}<!-- |
||
− | //main image |
||
− | -->{{#vardefine:ii:image|<!-- |
||
− | -->{{#vardefine:alttext|<!-- |
||
− | -->{{#arraysearch:ii:types|set|0|<!-- |
||
− | -->{{#if:{{#var:ii:imagefemale}}|<!-- //if there is a female image, the main(male) image need a suffix |
||
− | -->{{l10n|item_infobox|imagealt:equipped_suffixed|$name$={{#var:ii:lname}}}}<!-- |
||
− | -->|<!-- |
||
− | -->{{l10n|item_infobox|imagealt:equipped|$name$={{#var:ii:lname}}}}<!-- |
||
− | -->}}<!-- |
||
− | -->|<!-- |
||
− | -->{{l10n|item_infobox|imagealt:default|$name$={{#var:ii:lname}}}}<!-- |
||
− | -->}}<!-- |
||
− | -->}}<!-- |
||
− | -->{{#if:{{{image|}}}|<!-- |
||
− | -->{{#vardefine:ii:imagefile|{{{image|}}}}}<!-- |
||
− | -->[[File:{{{image|}}}|{{#var:alttext}}|link=]]<!-- |
||
− | -->|<!-- |
||
− | -->{{#vardefine:ii:imagefile|{{regex|{{#var:ii:name}}|/:\s*/|_|{{#var:ii:name}}}}.{{{ext|png}}}}}<!--replace ":" and ": " in filename with "_", |
||
− | -->{{#ifeq:{{{imageinfo|}}}|no|<!-- |
||
− | -->[[file:{{#var:ii:imagefile}}|{{#var:alttext}}|link=]]<!-- |
||
− | -->|<!-- |
||
− | -->{{image|{{#var:ii:imagefile}}|{{#var:alttext}}|link=}}<!-- |
||
− | -->}}<!-- |
||
− | -->}}<!-- |
||
− | -->}}<!-- |
||
− | // fallback if {{image}} failed (red link) |
||
− | -->{{#if:{{#var:ii:image}}||<!-- |
||
− | -->{{#vardefine:ii:image|[[File:{{#var:ii:name}}.png|{{l10n|item_infobox|imagealt:missing}}|link=]]}}<!-- |
||
− | -->}}<!-- |
||
− | //old image |
||
− | -->{{#vardefine:ii:imageold|{{{imageoldalt|<!-- |
||
− | -->{{#if:{{{imageold|}}}|<!-- |
||
− | -->[[File:{{{imageold|}}}|{{l10n|item_infobox|imagealt:old|$name$={{#var:ii:lname}}}}|link=]]<!-- |
||
− | -->|<!-- |
||
− | -->{{image|{{#var:ii:name}} (old)|{{l10n|item_infobox|imagealt:old|$name$={{#var:ii:lname}}}}|link=}}<!-- check .gif, then .png |
||
− | -->}}<!-- |
||
− | -->}}}}}<!-- |
||
− | //placed image |
||
− | -->{{#vardefine:ii:imageplaced|{{{imageplacedalt|<!-- |
||
− | -->{{#if:{{{imageplaced|}}}|<!-- |
||
− | -->[[File:{{{imageplaced|}}}|{{l10n|item_infobox|imagealt:placed|$name$={{#var:ii:lname}}}}|link=]]<!-- |
||
− | -->|<!-- |
||
− | -->{{image|{{#var:ii:name}} (placed)|{{l10n|item_infobox|imagealt:placed|$name$={{#var:ii:lname}}}}|link=}}<!-- check .gif, then .png |
||
− | -->}}<!-- |
||
− | -->}}}}}<!-- |
||
− | //equipped image |
||
− | -->{{#vardefine:ii:imageequipped|{{{imageequippedalt|<!-- |
||
− | -->{{#if:{{{imageequipped|}}}|<!-- |
||
− | -->[[File:{{{imageequipped|}}}|{{l10n|item_infobox|imagealt:equipped|$name$={{#var:ii:lname}}}}|link=]]<!-- |
||
− | -->|<!-- |
||
− | -->{{image|{{#var:ii:name}} (equipped)|{{l10n|item_infobox|imagealt:equipped|$name$={{#var:ii:lname}}}}|link=}}<!-- check .gif, then .png |
||
− | -->}}<!-- |
||
− | -->}}}}}<!-- |
||
− | -->|<!-- else simple mode |
||
− | //main image |
||
− | -->{{#vardefine:ii:image|<!-- |
||
− | -->{{#if:{{{image|}}}|<!-- |
||
− | -->{{#vardefine:ii:imagefile|{{{image|}}}}}<!-- |
||
− | -->[[File:{{{image|}}}|{{l10n|item_infobox|imagealt:default|$name$={{#var:ii:lname}}}}|link=]]<!-- |
||
− | -->|<!-- |
||
− | -->{{#vardefine:ii:imagefile|{{regex|{{#var:ii:name}}|/:\s*/|_|{{#var:ii:name}}}}.{{{ext|png}}}}}<!--replace ":" and ": " in filename with "_", |
||
− | -->{{#ifeq:{{{imageinfo|}}}|no|<!-- |
||
− | -->[[File:{{#var:ii:imagefile}}|{{l10n|item_infobox|imagealt:default|$name$={{#var:ii:lname}}}}|link=]]<!-- |
||
− | -->|<!-- |
||
− | -->{{image|{{#var:ii:imagefile}}|{{l10n|item_infobox|imagealt:default|$name$={{#var:ii:lname}}}}|link=}}<!-- |
||
− | -->}}<!-- |
||
− | -->}}<!-- |
||
− | -->}}<!-- |
||
− | // fallback if {{image}} failed (red link) |
||
− | -->{{#if:{{#var:ii:image}}||<!-- |
||
− | -->{{#vardefine:ii:image|[[File:{{#var:ii:name}}.png|file is missing|link=]]}}<!-- |
||
− | -->}}<!-- |
||
− | //placed image |
||
− | -->{{#if:{{#pos:{{#var:imagemode}}|placed}}|<!-- |
||
− | -->{{#vardefine:ii:imageplaced|{{{imageplacedalt|<!-- |
||
− | -->{{#if:{{{imageplaced|}}}|<!-- |
||
− | -->[[File:{{{imageplaced|}}}|{{l10n|item_infobox|imagealt:placed|$name$={{#var:ii:lname}}}}|link=]]<!-- |
||
− | -->|<!-- |
||
− | -->{{image|{{#var:ii:name}} (placed)|{{l10n|item_infobox|imagealt:placed|$name$={{#var:ii:lname}}}}|link=}}<!-- check .gif, then .png |
||
− | -->}}<!-- |
||
− | -->}}}}}<!-- |
||
− | -->}}<!-- |
||
− | -->}}<!-- |
||
− | -->}}<!-- |
||
− | |||
− | ===== cate and cargo ====== |
||
− | -->{{#vardefine:cate|}}<!-- |
||
− | -->{{#switch:{{{cate|}}}<!-- |
||
− | -->|yes|force={{#vardefine:cate|y}}<!-- |
||
− | -->|no={{#vardefine:cate|}}<!-- |
||
− | -->|#default={{#ifeq:{{NAMESPACE}}|{{ns:0}}|<!-- only in main ns |
||
− | -->{{#switch:{{#var:viewname}}<!-- |
||
− | -->|infobox|table={{#vardefine:cate|y}}<!-- only cate for infobox/table view, no cate for void/item view |
||
− | -->}}<!-- |
||
− | -->}}<!-- |
||
− | -->}}<!-- |
||
− | -->{{#if:{{#var:cate}}|<!-- |
||
− | == cates == |
||
− | -->{{#ifeq:{{{cate|}}}|no|<!-- nothing -->|{{#ifeq:{{{listexclude|no}}}|yes|<!-- nothing -->|<!-- only if $cate != no |
||
− | //cate |
||
− | -->{{#arrayprint:ii:types||@@@@|[[Category:{{#if:{{l10n|item_infobox|typecate:@@@@}}|{{l10n|item_infobox|typecate:@@@@}}|{{tr|{{ucfirst:@@@@}} items|link=y}}}}]]}}<!-- |
||
− | -->{{#arrayprint:ii:listcats||@@@@|[[Category:{{#if:{{l10n|item_infobox|listcat:@@@@}}|{{l10n|item_infobox|listcat:@@@@}}|{{tr|{{ucfirst:@@@@}}|link=y}}}}]]}}<!-- |
||
− | -->{{#arraysearch:ii:types|set|0|<!-- |
||
− | -->{{#arraysearch:ii:types|vanity|0|[[Category:{{l10n|item_infobox|cate:vanitysets}}]]}}<!-- |
||
− | -->{{#arraysearch:ii:types|armor|0|<!-- |
||
− | -->[[Category:{{l10n|item_infobox|cate:armorsets}}]]<!-- |
||
− | -->{{#if:{{#var:ii:setbonus}}||[[Category:{{l10n|item_infobox|cate:nosetbonus}}]]}}<!-- |
||
− | -->}}<!-- |
||
− | -->}}<!-- |
||
− | -->{{#if:{{#var:ii:consumable}}|[[Category:{{l10n|item_infobox|cate:consumableitem}}]]}}<!-- |
||
− | -->{{#if:{{#var:ii:buy}}|[[Category:{{l10n|item_infobox|cate:vendoritem}}]]}}<!-- |
||
− | -->{{#if:{{#var:ii:hardmodeonly}}|[[Category:{{l10n|item_infobox|cate:hardmodeonlyitem}}]]}}<!-- |
||
− | -->{{#if:{{#var:ii:autoswing}}|<!-- |
||
− | -->{{#arraysearch:ii:types|furniture|0|<!-- nothing, don't categorize placeable weapons -->|<!-- |
||
− | -->{{#arraysearch:ii:types|weapon|0|<!-- |
||
− | -->[[Category:{{l10n|item_infobox|cate:autoswingitem}}]]<!-- |
||
− | -->|{{#arraysearch:ii:types|tool|0|<!-- |
||
− | -->[[Category:{{l10n|item_infobox|cate:autoswingitem}}]]}}<!-- |
||
− | -->}}<!-- |
||
− | -->}}<!-- |
||
− | -->}}<!-- |
||
− | -->{{#if:{{#var:ii:allversions}}|{{all versions}}}}<!-- |
||
− | @todo: buff part--><!-- {{void|#ifeq:{{{bufflink|}}}|no|[[Category:Buffs]]}} --><!-- |
||
− | -->}}}}<!-- |
||
− | -->}}<!-- |
||
− | |||
− | -->{{#vardefine:cargo|}}<!-- |
||
− | -->{{#ifeq:{{NAMESPACE}}|{{ns:0}}|{{#ifeq:{{PAGENAME}}|{{ROOTPAGENAME}}|{{#vardefine:cargo|y}}}}}}<!-- |
||
− | -->{{#if:{{{cargo|}}}|{{#ifeq:{{{cargo|}}}|force|{{#vardefine:cargo|y}}|{{#vardefine:cargo|}}}}}}<!-- |
||
− | -->{{#if:{{#var:cargo}}|<!-- |
||
− | == cargo store == |
||
− | //new table: |
||
− | -->{{#cargo_store:_table=Items_new<!-- |
||
− | -->|itemid={{#var:ii:id}}<!-- |
||
− | -->|name={{#var:ii:name}}<!-- |
||
− | -->|internalname={{#var:ii:internalName}}<!-- |
||
− | -->|image={{#var:ii:imagealt|{{#var:ii:image|{{#var:ii:imageplaced|{{#var::ii::imageequipped}}}}}}}}<!-- |
||
− | -->|imagefile={{#var:ii:imagefile|{{{image|{{#var:ii:name}}.{{{ext|png}}}}}}}}<!-- |
||
− | -->|autoswing={{#var:ii:autoswing}}<!-- |
||
− | -->|stack={{#var:ii:stack}}<!-- |
||
− | -->|type={{#arrayprint:ii:types|^}}<!-- |
||
− | -->|listcat={{#arrayprint:ii:listcats|^}}<!-- |
||
− | -->|tag={{#arrayprint:ii:tags|^}}<!-- |
||
− | -->|buy={{#var:ii:buy}}<!-- |
||
− | -->|consumable={{#var:ii:consumable}}<!-- |
||
− | -->|hardmode={{#var:ii:hardmodeonly}}<!-- |
||
− | -->|damage={{#var:ii:damage}}<!-- |
||
− | -->|damagetype={{#var:ii:damagetype}}<!-- |
||
− | -->|defense={{#var:ii:defense}}<!-- |
||
− | -->|velocity={{#var:ii:velocity}}<!-- |
||
− | -->|knockback={{#var:ii:knockback}}<!-- |
||
− | -->|rare={{#var:ii:rare}}<!-- |
||
− | -->|sell={{#var:ii:sell}}<!-- |
||
− | -->|axe={{#var:ii:axe}}<!-- |
||
− | -->|pick={{#var:ii:pick}}<!-- |
||
− | -->|hammer={{#var:ii:hammer}}<!-- |
||
− | -->|bait={{#ifexpr:{{#var:ii:bait}}|{{#var:ii:bait}}}}<!-- |
||
− | -->|fishing={{#ifexpr:{{#var:ii:fishing}}|{{#var:ii:fishing}}}}<!-- |
||
− | -->|bonus={{#var:ii:tileboost}}<!-- |
||
− | -->|toolspeed={{#var:ii:toolspeed}}<!-- |
||
− | -->|usetime={{#var:ii:use}}<!-- |
||
− | -->|unobtainable={{#arraysearch:ii:listcats|unobtainable items|0|y|}}<!-- |
||
− | -->|autoswing={{#var:ii:autoswing}}<!-- |
||
− | -->|critical={{#var:ii:critical}}<!-- |
||
− | -->|tooltip={{#var:ii:tooltip}}<!-- |
||
− | -->|placeable={{#var:ii:placeable}}<!-- |
||
− | -->|placedwidth={{#var:ii:width}}<!-- |
||
− | -->|placedheight={{#var:ii:height}}<!-- |
||
− | -->|mana={{#var:ii:mana}}<!-- |
||
− | -->|bodyslot={{#var:ii:bodyslot}}<!-- |
||
− | -->|toolspeed={{#var:ii:toolspeed}}<!-- |
||
− | -->|buff={{#var:ii:buff}}<!-- |
||
− | -->|bufftype={{#var:ii:bufftype}}<!-- |
||
− | -->}}<!-- |
||
− | //CARGO END |
||
− | -->}}<!-- |
||
− | end===== cate and cargo ====== |
||
− | |||
− | ===== OUTPUT VIEW ====== |
||
− | select view base on viewname. e.g. mode=table means {{item infobox/tableView}}, default is {{item infobox/infoboxView}} |
||
− | -->{{item infobox/{{#var:viewname}}View}}<!-- |
||
− | |||
− | --></includeonly><!-- |
||
− | |||
− | --><noinclude><!-- |
||
− | |||
− | -->{{#cargo_declare:_table=Items_new |
||
− | |itemid=Integer |
||
− | |name = String |
||
− | |internalname=String |
||
− | |image = Wikitext |
||
− | |imagefile = String |
||
− | |autoswing=Boolean |
||
− | |stack=Integer |
||
− | |consumable=Boolean |
||
− | |hardmode=Boolean |
||
− | |type = List (^) of String |
||
− | |listcat = List (^) of String |
||
− | |tag = List (^) of String |
||
− | |damage = Wikitext |
||
− | |damagetype=String |
||
− | |defense=Wikitext (size=1000) |
||
− | |velocity = Wikitext |
||
− | |knockback = Wikitext |
||
− | |rare = Wikitext |
||
− | |buy = Wikitext |
||
− | |sell = Wikitext |
||
− | |axe = Wikitext (size=1000) |
||
− | |pick = Wikitext (size=1000) |
||
− | |hammer = Wikitext (size=1000) |
||
− | |fishing = Integer |
||
− | |bait = Integer |
||
− | |bonus = Wikitext |
||
− | |toolspeed = Wikitext |
||
− | |usetime = Wikitext |
||
− | |unobtainable = Boolean |
||
− | |autoswing = Boolean |
||
− | |critical=Wikitext (size=1000) |
||
− | |tooltip=Wikitext |
||
− | |placeable=Boolean |
||
− | |placedwidth=Integer |
||
− | |placedheight=Integer |
||
− | |mana=Integer |
||
− | |bodyslot=String |
||
− | |usetime=Integer |
||
− | |toolspeed=Integer |
||
− | |buff=Wikitext (size=1000) |
||
− | |bufftype=Wikitext (size=1000) |
||
− | }}<!-- |
||
− | |||
− | -->{{i18n-ready}}{{lua|Iteminfo}}{{doc}}</noinclude> |