| Latest revision |
Your text |
| Line 1: |
Line 1: |
| <templatestyles src="Template:ItemBox/styles.css" /><includeonly> | | <onlyinclude> |
| | <div style="display:inline-block; margin-left: 5px"> |
| | {|- style="text-align:center; border-collapse:collapse; border-radius: 7px; width:100px; max-width:200px; height:2px; font-size: 12px;{{ |
| | #switch: {{{item_type}}}| |
| | | Weapon = background-color: #C97A03; |
| | | Vitality = background-color: #659818; |
| | | Spirit = background-color: #8B56B4; |
| | | background-color: #C97A03;}}" |
| | ! {{souls|{{{item_price}}}}} |
| | |- style="text-align:center; width:100px; max-width:200px; height:60px; {{ |
| | #switch: {{{item_type}}} |
| | | Weapon = background-color: #FCAC4D; color: #3A2B08; |
| | | Vitality = background-color: #86C921; color: #233A00; |
| | | Spirit = background-color: #DE9CFF; color: #3C254E; |
| | | background-color: #FCAC4D; color: #3A2B08;}}" |
| | | <span style="filter: brightness(0) saturate(100%); transition: 0.1s transform ease-in-out; "{{ |
| | #switch: {{{item_type}}} |
| | | Weapon = color: #3A2B08; |
| | | Vitality = color: #233A00; |
| | | Spirit = color: #3C254E; |
| | | color: #3A2B08;}}">[[File:{{{item_name}}}.png|50px|link={{{item_name}}}]]</span> |
|
| |
|
| {{#vardefine:itemName|{{{itemName|{{{1}}}}}}}}<!-- | | |- style="text-align: center; height:50px; font-size: 14px; {{ |
| | #switch: {{{item_type}}} |
| | | Weapon = background-color: #FFF0D7; color: #151912; |
| | | Vitality = background-color: #FFFFE7; color: #1C1E18; |
| | | Spirit = background-color: #FFEFD7; color: #131610; |
| | | background-color: #FFF0D7; color: #151912;}}" |
| | ! {{#if:{{{display_name|}}}|[[{{{item_name}}}|{{{display_name}}}]]|[[{{{item_name}}}]]}} |
| | |}</div></onlyinclude> |
|
| |
|
| Display name: Lang string for the codename, else the raw name, then override.
| |
| -->{{#vardefine:displayName|{{#invoke:Lang|get_string|{{#invoke:ItemData|get_codename|{{#var:itemName}}}}}}}}<!--
| |
| -->{{#vardefine:displayName|{{#if:{{#var:displayName}}|{{#var:displayName}}|{{#var:itemName}}}}}}<!--
| |
| -->{{#vardefine:displayName|{{{overrideDisplayName|{{#var:displayName}}}}}}}<!--
| |
|
| |
|
| Measured name size (cqw) and stable per-item texture variety.
| | A port of the initial box in [[Template:Infobox item]] with links, for use on pages that could use it without the whole infobox. |
| -->{{#vardefine:fontSize|{{#invoke:ItemBox|getFontSize|{{#var:displayName}}}}}}<!--
| |
| -->{{#vardefine:variants|{{#invoke:ItemBox|variants|{{#var:itemName}}}}}}<!--
| |
|
| |
|
| Modifier classes: slot (Weapon/Armor/Tech from data, or Weapon/Vitality/Spirit override -> weapon/vitality/spirit), tier, tags.
| | {{ItemBox|item_name = Bullet Lifesteal (item)|item_type = Vitality|item_price = 1250|display_name = Bullet Lifesteal}} {{ItemBox|item_name = Basic Magazine|item_type = Weapon|item_imagefilepath = Basic Magazine|item_price = 500}} {{ItemBox|item_name = Improved Cooldown|item_type = Spirit|item_price = 1250}} |
| -->{{#vardefine:slot|{{#switch:{{{overrideSlot|{{#invoke:ItemData|get_prop|{{#var:itemName}}|Slot}}}}}|Weapon=itembox-weapon|Armor|Vitality=itembox-vitality|Tech|Spirit=itembox-spirit}}}}<!--
| | <noinclude> |
| -->{{#vardefine:tier|itembox-tier-{{{overrideTier|{{#invoke:ItemData|get_prop|{{#var:itemName}}|Tier}}}}}}}<!--
| | <templatedata> |
| -->{{#vardefine:showTierTag|{{#ifeq:{{{showTierTag|}}}|true|itembox-show-tier}}}}<!--
| | { |
| -->{{#vardefine:isActive|{{{overrideIsActive|{{#invoke:ItemData|is_active|{{#var:itemName}}}}}}}}}<!--
| | "params": { |
| -->{{#vardefine:isActive|{{#ifeq:{{#var:isActive}}|true|itembox-active}}}}<!--
| | "item_type": { |
| -->{{#vardefine:isImbue|{{{overrideIsImbue|{{#invoke:ItemData|get_prop|{{#var:itemName}}|IsImbue}}}}}}}<!--
| | "description": "What category of Item is this?", |
| -->{{#vardefine:isImbue|{{#ifeq:{{#var:isImbue}}|true|itembox-imbue}}}}<!--
| | "example": "Spirit", |
| | | "type": "string", |
| lowGraphics=true is for callers that place dozens of cards on one page (the
| | "suggestedvalues": [ |
| card navboxes). It swaps the paper texture from the normal-mode multiply,
| | "Weapon", |
| which blends two images and so is re-rasterised every scrolled frame, to a
| | "Vitality", |
| transparent-paper overlay that is a single cacheable image. On the profiled
| | "Spirit" |
| navbox this took the render thread's OpenGL work from ~230 ms/s to ~10 and
| | ], |
| roughly doubled the frame rate. The wear and icon masks are clips of a
| | "required": true |
| single image, not blends, so they cache once rasterised and stay at full
| | }, |
| detail. The overlay itself is defined in [[Template:ItemBox/styles.css]] and
| | "item_price": { |
| keyed off the same per-item texture-vN class, so a card keeps its paper
| | "description": "How much does this item cost in souls?", |
| across both modes.
| | "example": "500", |
| -->{{#vardefine:lowGraphics|{{#ifeq:{{{lowGraphics|}}}|true|itembox-lowgfx}}}}<!--
| | "type": "number", |
| | | "required": true |
| Links.
| | }, |
| -->{{#vardefine:linkTooltip|{{{overrideLinkTooltip|{{#var:itemName}}}}}}}<!--
| | "item_name": { |
| -->{{#vardefine:linkImage|{{{overrideLinkImage|{{#var:itemName}}}}}}}<!--
| | "description": "Name of the item", |
| -->{{#vardefine:linkClick|{{{overrideLinkClick|{{#var:itemName}}{{If lang}}}}}}}<!--
| | "example": "Basic Magazine", |
| | | "type": "string", |
| --><div class="itembox {{#var:showTierTag}} {{#var:tier}} {{#var:slot}} {{#var:isActive}} {{#var:isImbue}} {{#var:variants}} {{#var:lowGraphics}}" style="font-size:{{#expr: 10 * {{#if:{{{size|}}}|{{{size}}}|1}} }}px;">
| | "required": true |
| <div class="itembox-background">
| | }, |
| <div class="itembox-card"> | | "display_name": { |
| <div class="itembox-icon-area"> | | "description": "The display name of the item (for special cases such as Bullet Lifesteal (item) or Spirit Lifesteal (item))", |
| <div class="itembox-icon">[[File:{{#var:linkImage}}.png|160px|link=]]</div>
| | "example": "Bullet Lifesteal", |
| <div class="itembox-tier-badge">
| | "type": "string" |
| <div class="itembox-tier-badge-shadow"></div>
| | } |
| <div class="itembox-tier-badge-fill"></div>
| | }, |
| <div class="itembox-tier-badge-number"></div>
| | "paramOrder": [ |
| </div>
| | "item_name", |
| <div class="itembox-imbue-tag">{{#invoke:Lang|get_string|item_info_imbue}}</div>
| | "item_type", |
| </div> | | "item_price", |
| <!-- container-type is inline because TemplateStyles strips it; the name's cqw size measures against this box. -->
| | "display_name" |
| <div class="itembox-name-area" style="container-type: inline-size;"> | | ] |
| <p class="itembox-name" style="font-size:{{#var:fontSize}};text-wrap:balance;">{{#var:displayName}}</p>
| | } |
| </div>
| | </templatedata> |
| <div class="itembox-wear"></div>
| | </noinclude> |
| <div class="itembox-texture"></div>
| |
| <div class="itembox-bevel"></div>
| |
| <div class="itembox-active-tag">{{#invoke:Lang|get_string|item_info_active}}</div>
| |
| <div class="itembox-outline"></div>
| |
| </div>
| |
| </div> | |
| <div class="item-link-wrapper" data-item-name="{{#var:linkTooltip}}">[[{{#var:linkClick}}|<span></span>]]</div>
| |
| </div></includeonly><noinclude>{{Documentation}}</noinclude>
| |