Template:Item/doc: Difference between revisions
>Illviljan |
>Illviljan |
||
Line 1,808: | Line 1,808: | ||
For the <code>drop_areas</code> parameter you'll need to specify the area ids; the id is required instead of the name of the area, because multiple areas can share the same name. There are a couple of ways to find area ids: | For the <code>drop_areas</code> parameter you'll need to specify the area ids; the id is required instead of the name of the area, because multiple areas can share the same name. There are a couple of ways to find area ids: | ||
# In the '''main area page''' there is a infobox that shows the id. | # In the '''main area page''' there is a infobox that shows the id. | ||
# You can also use | # You can also use #cargo_query to find ids using a simple query such as: | ||
<pre>{{#cargo_query: | <pre>{{#cargo_query: | ||
|tables=areas | |tables=areas | ||
|fields=areas.id, areas.name, areas.act, areas.main_page | |fields=areas._pageName, areas.id, areas.name, areas.act, areas.main_page | ||
|where=areas.name="The Twilight Strand" | |where=areas.name="The Twilight Strand" | ||
|group by=areas._pageID | |group by=areas._pageID | ||
Line 1,818: | Line 1,818: | ||
{{#cargo_query: | {{#cargo_query: | ||
|tables=areas | |tables=areas | ||
|fields=areas.id, areas.name, areas.act, areas.main_page | |fields=areas._pageName, areas.id, areas.name, areas.act, areas.main_page | ||
|where=areas.name="The Twilight Strand" | |where=areas.name="The Twilight Strand" | ||
|group by=areas._pageID | |group by=areas._pageID | ||
}} | }} | ||
So if you meant the act 1 area you'd use <code>drop_areas = 1_1_1</code>, if you meant the act 6 area, you'd use <code>drop_areas = 2_6_1</code> or if you actually want both you can just use them both <code>drop_areas = 1_1_1, 2_6_1</code>. | |||
===Finding monsters=== | |||
For the <code>drop_monsters</code> parameter you'll need to specify the monster ids; the id is required instead of the name of the monster, because multiple monsters can share the same name. There are a couple of ways to find monsters ids: | |||
# In the '''main mosnter page''' there is a infobox that shows the id. | |||
# You can also use #cargo_query to find ids using a simple query such as: | |||
<pre>{{#cargo_query: | |||
|tables=monsters | |||
|fields=monsters._pageName, monsters.metadata_id, monsters.name, | |||
|where=monsters.name = "Atziri, Queen of the Vaal" | |||
}}</pre> | |||
Yields: | |||
{{#cargo_query: | |||
|tables=monsters | |||
|fields=monsters._pageName, monsters.metadata_id, monsters.name, | |||
|where=monsters.name = "Atziri, Queen of the Vaal" | |||
}} | |||
So if you meant the normal boss you'd use <code>drop_monsters = Metadata/Monsters/Atziri/Atziri</code>, if you meant Uber Atziri, you'd use <code>drop_monsters = Metadata/Monsters/Atziri/Atziri2</code> or if you actually want both you can just use them both <code>drop_areas = Metadata/Monsters/Atziri/Atziri, Metadata/Monsters/Atziri/Atziri2</code>. But as we see here there are a few other as well, but by the name we can tell that those seem to be related to the different phases. So study the differences and try to choose the most straightforward one, being consistent by using the same makes it easier to show on all the relevant pages. | |||
==Subpages== | ==Subpages== |
Revision as of 15:44, 13 February 2021
This subpage provides documentation for Template:Item.
This template is used on a large number of pages.
To avoid major disruption and server load, do not make unnecessary edits to this template. Test changes to this template first using its /sandbox and /testcases subpages or your user space. All of the changes can then be applied to this template in a single edit.
Consider discussing changes on the talk page or on Discord before implementing them.
Item is a template that creates an infobox on the page, then sets categories and semantic properties to the page. This allows the items to be searched for and displayed in advanced item tables that stays up-to-date, which can be difficult in a game that is constantly evolving.
Overview
This template should be used for all items on the wiki and it will take of setting semantic properties, creating an infobox as well as setting categories.
It is meant for usage on permanent pages, do not use it on user pages.
Maintenance categories
Maintenance categories will be set when the template is incorrectly used or some parameters should be filled out.
Category | Variable | Description |
---|---|---|
Category:Items without a release version | release_version | Items that do not have a release version set. |
Category:Items with improper modifiers | implicit<i>_text or
explicit<i>_text |
Items that use explicit text instead of proper references to modifiers. |
Category:Items with broken item references in upgraded from parameters | upgraded_from_set<i>_group<j>_item_id or
upgraded_from_set<i>_group<j>_item_page or upgraded_from_set<i>_group<j>_item_name |
Items that have a broken item reference in one of the ingredient groups; i.e. either no matches or too many matches. |
Category:Items with duplicate sets in upgraded from parameters | upgraded_from_set<i>_group<j>_item_id or
upgraded_from_set<i>_group<j>_item_page or upgraded_from_set<i>_group<j>_item_name |
Items that have an upgraded_from set manually entered on their page which is already added by the automatic system for upgraded from parameters.
Those pages should have the duplicate sets removed, as they are not necessary. For cases where the automatic system is incorrect, please comment on the Item2 talk page. |
Base parameters
Parameter | Value | Required | PyPoE Export |
Range | Field | Description |
---|---|---|---|---|---|---|
class_id | str | items.class_id | A valid internal item class id. This is used to determine further properties of the item and thus is required in all cases. | |||
rarity | str | items.rarity | rarity of the item, one of:
| |||
name | str | items.name | Name of the item | |||
name_list | str | items.name_list | List of aliases for this item; this should be used carefully and only for legacy versions of the item (i.e. Caustic Arrow vs Poison Arrow).
The current item name is always added to this list automatically | |||
size_x | int | items.size_x | x-size in inventory units, i.e. the width | |||
size_y | int | items.size_y | y-size in inventory units, i.e. the height | |||
drop_enabled | bool | items.drop_enabled | Whether the item is drop enabled; this defaults to true.
Specify false for legacy items that do not drop anymore. | |||
drop_level | int | items.drop_level | At which level the item starts dropping at (may differ from required_level) | |||
drop_level_maximum | int | items.drop_level_maximum | Up to which level the item drops | |||
drop_leagues | list[str] | items.drop_leagues | A comma-separated list of leagues the item can drop it.
Generally this should specified for items that are only obtainable as long the league flag is active (i.e. through the league itself, though zana mods, or other conditions). | |||
drop_areas | list[str] | items.drop_areas
item.drop_areas_html |
A comma-separated list of area ids the item can drop in.
The field should be specified for items that can only drop in specific areas, but not for instances where specific monsters drop this item (even if the monster only appears in the specific area - this is because the drop restriction is related to the monster, not the area in those cases). See Finding areas section on this page for more details. | |||
drop_areas_html | list[str] | item.drop_areas_html | Overrides the automatically generated text form the drop_areas parameter. This should only be specified in cases where a lot of areas are specified and it would reduce visibility. | |||
drop_monsters | list[str] | items.drop_monsters | A comma-separated list of monster ids the item can drop from.
The field should be specified for items that can only drop from specific monsters, but not in combination with drop_areas. Because the drop restriction is related to the monster, not the area. See Finding monsters section on this page for more details. | |||
drop_text | str | items.drop_text | Parameter to handle any restrictions to obtaining an item that are not covered by more specific parameters.
Always use a specific parameter if possible | |||
required_level | int | items.required_level | Which level is required to use the item (may differ from drop_level) | |||
required_dexterity | int | items.required_dexterity | The dexterity requirement of the item if any | |||
required_intelligence | int | items.required_intelligence | The intelligence requirement of the item if any | |||
required_strength | int | items.required_strength | The strength requirement of the item if any | |||
flavour_text | str | items.flavour_text | Flavour text if any (i.e. for unique items, vaal fragments, divination cards, etc) | |||
help_text | str | items.help_text | Help text if any
For some item classes such as gems a default string is inserted if this value is missing. | |||
tags | list[str] | items.tags | List of internal tags | |||
metadata_id | str | items.metadata_id | Internal metadata id of the item | |||
influences | list[str] | items.influences | Comma-separated list of the item's influences. Valid options are:
| |||
is_fractured | bool | items.is_fractured | Set to true if the item is fractured. | |||
is_synthesised | bool | items.is_synthesised | Set to true if the item is synthesised. | |||
is_veiled | bool | items.is_veiled | Set to true if the item has veiled modifiers. | |||
is_replica | bool | items.is_replica | Set to true if the item is a replica unique item. | |||
is_corrupted | bool | items.is_corrupted | Set to true if the item is always corrupted (i.e. drops in a corrupted state). | |||
is_relic | bool | items.is_relic | Set to true if the item is a relic. Rarity of the item must be "Unique" for this to work. | |||
is_fated | bool | items.is_fated | Set to true if the item is a fated unique item. Rarity of the item must be "Unique" for this to work. | |||
is_drop_restricted | bool | items.is_drop_restricted | Set to true if the item can't be obtained through ordinary means, but isn't entirely removed from the game (i.e. does not have drop_enabled=false )
This parameter is automatically set to false, and set to true for the following cases:
If the parameter is set, the defaults will be overriden. | |||
release_version | str | items.release_version | The version number of when this item was initially released; when an item has legacy variants the date of the original release of the legacy variant should be used. The version must a be a valid version number and there must be a version page or the template will return an error.
Items that have no release version set will also be added to the category Items without a release version. | |||
removal_version | str | items.removal_version | The version number of when this item was removed. The version must a be a valid version number and there must be a version page or the template will return an error. | |||
inventory_icon | str | items.inventory_icon | This parameter only needs to be specified if the item name does not match the wiki page name.
When specified, the specified text will be used instead of the item name in front of the "inventory icon.png" suffix. For example: name = Baller inventory_icon = Test item (cold and fire) -> File:Test item (cold and fire) inventory icon.png | |||
skill_screenshot | str | skill_screenshot | This parameter only needs to be specified if the item name does not match the wiki page name.
When specified, the specified text will be used instead of the item name in front of the "skill screenshot.jpg" suffix. For example: name = Baller inventory_icon = Test item (cold and fire) -> File:Test item (cold and fire) skill screenshot.jpg | |||
alternate_art_inventory_icons | list[str] | items.alternate_art_inventory_icons | This parameter takes a comma-separated list of alternate art icon names, which each be inserted into the name of the item (or the provided override) and the "inventory icon.png" suffix.
The order of the item matters; if using the item link template, the items will can accessed in that order. The list items should be named after where they were retrieved from (for example, which race season) and ordered by the date they were added. Example: name = Test item alternate_art_inventory_icons = race season 1, emberwake -> File:Test item race season 1 inventory icon.png, File:Test item 1 emberwake inventory icon.png | |||
quality | int | item_stats.id = "quality"
item_stats.value = <value> |
Quality of the item. This arguments only works for item classes that can have quality (i.e. Maps, all Flasks, all Weapons and all armour pieces)
For unique weapons and armours this defaults to Q20. | |||
cannot_be_traded_or_modified | boolean | — | Whether the item can be traded or modified.
Defaults to true. |
Base item
Items with a rarity above normal (i.e. magic/rare/unique) can have a base item set.
When a base item is set, most of the attributes will be copied over to the item and only attributes that differ from the base item need to be set, due to that the base item **must** exist.
There should only be one of the following base item parameters be set; if possible consider using a base item that is guaranteed to be unique.
Note that regardless of which setting was used, all properties will be populated.
Parameter | Value | PyPoE Export |
Unique | Field | Field on the base item | Description |
---|---|---|---|---|---|---|
base_item | str | items.base_item | Base item name | |||
base_item_id | str | items.base_item_id | Base item metadata id. | |||
base_item_page | str | items.base_item_page | — | Base item wiki page. |
Purchase costs
Items of Normal rarity support setting purchase costs at NPC vendors for each of the rarities.
In the following table replace these parameters accordingly:
<rarity>
- replace with the current rarity, i.e.normal
,magic
,rare
orunique
, will be added toitem_purchase_costs.rarity
<i>
- replace with the order of the mod starting at 1.
Please note that multiple entries will all be assumed to be necessary for the purchase.
Parameter | Value | Required | PyPoE Export |
Field | Description |
---|---|---|---|---|---|
purchase_cost_<rarity><i>_name | str | item_purchase_costs.name | The item name which is used for purchasing this item of the specified rarity | ||
purchase_cost_<rarity><i>_amount | int | item_purchase_costs.amount | How many of the specified item name are required for purchasing this item of the specified rarity |
For example, to set the purchase cost of an item to 5x File:Scroll of Wisdom inventory icon.pngScroll of WisdomScroll of WisdomStack Size: 40Identifies an itemRight click this item then left click an unidentified item to apply it.File:Scroll of Wisdom inventory icon.png and 1x Module Error: No results found for item using search term "item_name = Orb of Alteration" you'll need to specify the following in the parameters:
purchase_cost_normal1_name = Scroll of Wisdom purchase_cost_normal1_amount = 5 purchase_cost_normal2_name = Orb of Alteration purchase_cost_normal2_amount = 1
Setting mods
Mods can be set on any item type.
Generally there are two ways of doing this:
- setting the mod id
- setting the mod text
The order of the mods does matter - it's how the mod's stats will appear on the item.
Mod id and mod text can mixed up.
Mod parameters
Replace the <i>
with the order of the mod starting at 1.
Replace the <implicit/explicit>
according to whether the modifier is an implicit or explicit. Please note that unique items will receive their implicits from base items and do not require their implicits to be set. In the data base table, this value will correspond to item_mods.is_implicit
.
Parameter | Value | Required | PyPoE Export |
Field(s) | Description |
---|---|---|---|---|---|
<implicit/explicit><i> | str | item_mods.id | Id of the implicit or explicit modifier at index i | ||
<implicit/explicit><i>_text | str | item_mods.text | Text of the implicit or explicit modifier at index i
If the mod id at the same index is:
| ||
<implicit/explicit><i>_random_list | list[str] | item_mods.id
item_mods.is_random |
Should be a set to a comma-separated list of modifiers that can randomly appear on the item. All the modifiers will be added to the infoboxes and item tables, but they will not be included in the inline infoboxes. Unlike regular modifiers, stats here will not affect the visible item stats in the infoboxes (so for example, a random armour modifier will not increase the armour value shown).
If the text parameter is set for this index, the given text will be shown as a summary instead of the default. This parameter should be used for unique items that can choose from a pool of random modifiers. |
When to use mod id and mod text
The mod id must correspond to an existing mod id. please note the mod id may be different from the page itself, look on the particular mod page for the id itself (also see Template:Mod)
The template will calculate adjustments to the base values of the item based on the mods. Make sure that any values on the item itself are set to the **base value** (before applying the stats) and not the final values.
If a base item is supplied for the item, any implicit mods will be copied over. Explicit mods will not be copied.
Finding the appropriate modifiers for unique items
Modifiers are exposed with several properties by {{Mod}}
, as a result modifiers can be searched through queries.
If you have an unique item where the minimum and maximum rolls are known, or even just the stat texts, you can search those properties through queries.
For example, Module Error: No results found for item using search term "item_name = Brightbeak" has 5 different stat lines which rolls are known, finding the mod for
(50 to 75)% increased Physical Damage
can be done through a query like this:
{{#cargo_query: |tables=mods, mod_stats, spawn_weights, _pageData |join on=mods._pageName=mod_stats._pageName, mods._pageName=spawn_weights._pageName, mods._pageName=_pageData._pageName |fields=mods._pageName, mods.id, mods.stat_text, _pageData._creationDate, _pageData._modificationDate |where= mods.stat_text LIKE "%Physical Damage%" AND mods.generation_type=3 AND mod_stats.min=50 AND mod_stats.max=75 |limit=5000 |order by=mods.stat_text |group by=mods._pageName, mod_stats._pageName, spawn_weights._pageName |format=template |template=Mod table with items |intro={{Mod table with items/intro}} |outro={{Mod table with items/outro}} }}
This may yield multiple possible modifiers:
As you can see there is only 1 acceptable mod id in this case that has a matching stat text.
If several modifiers have the same stat text:
- Avoid having multiple items with the same modifier.
- If that's the case try to assign the highest numbered mod id to the newest released item. The
{{Mod table with items}}
result template helps with this.
- If that's the case try to assign the highest numbered mod id to the newest released item. The
- Consider the internal id of the modifier (
mods.id
).- UniqueOneHandMace1 does fit what we're searching for: a modifier for an unique one hand mace
- In addition once you have found multiple modifiers for the different stat texts, they may be named in a similar fashion (they should refer to a UniqueOneHandMace1 in this case).
- Use pathofexile.com/trade as a reference because it always uses the correct modifiers.
- Some modifiers can be excluded because their stat value does not match the trade site. For example Module Error: No results found for item using search term "item_name = The Rat Cage" has the 10% of Fire Damage from Hits taken as Physical Damage. If you filter for this stat it wont be possible to find all Rat Cages because:
- Legacy items uses Module Error: No results found. which has the stat
base_fire_hit_damage_taken_%_as_physical_value_negated = -10
. - Current versions uses Module Error: No results found. which has the stat
base_fire_hit_damage_taken_%_as_physical = 10
.
- Legacy items uses Module Error: No results found. which has the stat
- Some modifiers can be excluded because their stat value does not match the trade site. For example Module Error: No results found for item using search term "item_name = The Rat Cage" has the 10% of Fire Damage from Hits taken as Physical Damage. If you filter for this stat it wont be possible to find all Rat Cages because:
Let's say only 66% increased Physical Damage is known, then the maximum and minimum values are not known but the fields can still be used by replacing that part with:
AND mod_stats.min<=66 AND mod_stats.max>=66
Notes:
- Cargo has similar syntax to SQL.
- Stat text can include linked words. The
[[linked page|linked word]]
will be included and since the linked word sometimes differ to the linked page it's not to easy figure out the correct stat text. - Stat text may change between updates of the game, so searching for the values and not the text might be a good idea.
- Using wildcards can make your life easier.
- The page name and mod id aren't always the same. Use
mods.id
] when adding to the item.
Notes about specific stats:
Type | Description | Values |
---|---|---|
"per second" values | These are generally handled by minute. So 2% Life regenerated per second equals a stat value of 120
|
x*60 |
duration values | These are generally handled in milliseconds. So Gain Onslaught for 3 seconds equals a stat value of 3000
|
x*1000 |
reduced/less | These are generally negated values. So 30% reduced life equals a stat value of -30
|
x*-1 |
x-y | These are generally two separate stats, you want to search for min/max for x or min/max for y.
So for |
x or y not both |
Permyriad | Percentage values are sometimes rewritten as a permyriad stat value. | x*100 |
If you fail to find any mods
Generally using mod text should be avoided, since it doesn't handle any automated updating of the values.
However if there is no appropriate mod on the wiki yet (for example, for upcoming unique items!), you may want to use the <implicit/explicit><i>_text
parameter.
To address the system not updating the values on the item properly, you can also manually set stats on an item:
Parameter | Value | Range | Description |
---|---|---|---|
extra_stat<i>_id | str | — | Identifier of the stat. Consider checking Module:Item2 source code to see which ones are handled. |
extra_stat<i>_value | str | the value of a stat if it isn't a range. | |
extra_stat<i>_min | str | minimum range value of a stat | |
extra_stat<i>_max | str | maximum range value of a stat |
Vendor recipes and upgrade paths
Vendor recipes and upgrade paths can be represented by using the upgraded_from parameters. Any item can have an arbitrary number of sets that produce the item with each set containing a number of groups that represent a single or multiple items of the same type with a specific condition.
Automatic system
The item module has an automatic system that enters upgraded_from data for certain item types.
The system covers the following cases currently:
- (random) 3:1 map upgrade paths
- divination cards that affect more then a single item type
Those entries do not need to be duplicated in the sections and the module will provide an error in the lua log if erroneously provided. Such pages will also be added to Category:Items with duplicate sets in upgraded from parameters in order to find them.
The system is automatically disabled for certain types of items
- Any items that considered disabled (i.e.
drop_enabled=false
) - Any items with
upgraded_from_disabled=true
set - Most items that have
is_drop_restricted
set- this will only apply to entries that don't award specific items, generally this will exclude things that can only drop under specific circumstances (see the parameter for more details)
- certain cards can override this behaviour
Any sets automatically entered to the database will also have the upgraded_from_sets.automatic
field set in the database to differentiate them from manual entries.
Additions or changes to the system should be proposed and discussed on Module:Item2's talk page.
Set parameters
Replace the <i>
with the order of the set starting at 1.
Parameter | Type | Description |
---|---|---|
upgraded_from_set<i>_text | str | A descriptive text that applies to the entire set.
For example, this could be used in vendor recipes to mention that all items need to be quality 20 in order for the set to work. |
Group parameters
Replace the <i>
with the order of the set starting at 1.
Replace the <j>
with the order of the group starting at 1.
The item_
parameters used to look up the item in the wiki database, if no item is found, the set will be considered invalid. An exact error message is output to the log which can be shown under Lua logs when hitting the preview button upon saving the page and the page will be added to Category:Items with broken item references in upgraded from parameters.
Parameter | Type | Description | Required |
---|---|---|---|
upgraded_from_set<i>_group<j>_item_id | str | Metadata id of the ingredient item.
Use this if possible. |
|
upgraded_from_set<i>_group<j>_item_page | str | Page of the ingredient item.
Use this to avoid ambiguous item names. Please note as the page name changes the reference here will be invalid, so it isn't as robust as using ids. |
|
upgraded_from_set<i>_group<j>_item_name | str | Exact, case-sensitive name of the item consumed.
Item names can be used for multiple items which can cause this option to fail. |
|
upgraded_from_set<i>_group<j>_amount | int | Amount of items of this type used/consumed in the recipe. | |
upgraded_from_set<i>_group<j>_notes | str | Extra notes about the item types.
For example, the rarity required of the item could be described here. |
Quest rewards
Replace the <i>
with the ordinal of the quest reward set starting at 1.
Parameter | Type | Required | Reward type | Field | Description |
---|---|---|---|---|---|
quest_reward<i>_type | str | both | — | Sets whether this is a quest reward or a vendor reward. Acceptable values are quest or vendor .
Data will be written to the quest_rewards or vendor_rewards accordingly. | |
quest_reward<i>_quest | str | both | quest_rewards.quest
vendor_rewards.quest |
Name of the quest which rewards this item (in any stage of the quest) | |
quest_reward<i>_quest_id | str | both | quest_rewards.quest_id
vendor_rewards.quest_id |
ID of the quest which rewards this item (in any stage of the quest) | |
quest_reward<i>_act | int | both | quest_rewards.act
vendor_rewards.act |
Act in which the quest appears in | |
quest_reward<i>_class_ids | str | both | quest_rewards.class_ids
quest_rewards.classes vendor_rewards.class_ids vendor_rewards.classes |
List of class ids which can obtain this reward after completing the quest. If left empty it is assumed the reward can be obtained by all classes.
The class id can either be the English Name or the related attribute id (e.x. StrDex for Duelist) | |
quest_reward<i>_npc | str | vendor | vendor_rewards.npc | Which vendor sells the item after the quest has been completed | |
quest_reward<i>_sockets | int | quest | quest_rewards.sockets | Number of sockets (if any) | |
quest_reward<i>_item_level | int | quest | quest_rewards.item_level | Item level of the reward (if any) | |
quest_reward<i>_rarity_id | str | quest | quest_rewards.rarity_id
quest_rewards.rarity |
Rarity id of the reward (english name of the rarity in lower case) | |
quest_reward<i>_notes | str | quest | quest_rewards.notes | Any additional notes for the reward |
Item sell price overrides
In general these parameters should not be set since the item sell price is derived from the modifiers on the item or special vendor recipes. If the sell price is only sightly different from the ingame price (e.x. 2 alchemy shards less then ingame) this indicates that modifiers are missing or wrongfully chosen and should NOT be fixed with sell prices overrides.
Items that have this set will be added to the maintenance category Category:Item with sell prices overrides.
Sell price parameters
Replace the <i>
with the order of the set starting at 1.
Parameter | Type | Description |
---|---|---|
sell_price<i>_name | str | Name of the sell price item |
sell_price<i>_amount | str | How many of the specified item this item sells for |
Parameters available to groups of item classes
Parameters that apply to various groups of item classes.
Flasks
Eligible item classes:
Life Flasks, Mana Flasks, Hybrid Flasks, Utility Flasks, Critical Utility Flasks
Parameter | Value | Required | PyPoE Export |
Range | Properties | Description |
---|---|---|---|---|---|---|
flask_duration | int | flasks.duration | How long the flask lasts | |||
charges_max | int | flasks.charges_max | Maximum number of charges the flask holds | |||
charges_per_use | int | flasks.charges_per_use | Charges consumed when the flask is used |
Utility Flasks
Eligible item classes:
Utility Flasks, Critical Utility Flasks
Parameter | Value | Required | PyPoE Export |
Properties | Description |
---|---|---|---|---|---|
buff_id | str | item_buffs.id | Internal ID of the associated buff (compare to Template:Buff and Buff namespace) | ||
buff_stat_text | str | item_buffs.stat_text | Buff stat text as it would appear on the flask | ||
buff_value | int | item_buffs.values | Values to use for the buff. Order matters; replace <i> with the ordinal number starting at 1.
| ||
buff_icon | str | item_buffs.icon | Icon of the buff effect |
Weapons
Eligible item classes:
'Claws', 'Daggers', 'Wands', 'One Hand Swords', 'Thrusting One Hand Swords', 'One Hand Axes', 'One Hand Maces', 'Bows', 'Staves', 'Two Hand Swords', 'Two Hand Axes', 'Two Hand Maces', 'Sceptres'
Parameter | Value | Required | PyPoE Export |
Range | Properties | Description |
---|---|---|---|---|---|---|
critical_strike_chance | float | weapons.critical_strike_chance | Base critical strike chance of the weapon | |||
attack_speed | float | weapons.attack_speeed | Base attack speed of the weapon | |||
damage_min | int | weapons.physical_damage_max | Minimum base physical damage of the weapon | |||
damage_max | int | weapons.physical_damage_min | Maximum base physical damage of the weapon | |||
weapon_range | int | weapons.range | Range in game units of the weapon |
Additionally, the following values are set in the data base as long other parameters are specified:
Value | Range | Properties | Description |
---|---|---|---|
int | weapons.lightning_damage_min | Minimum lightning damage of the weapon | |
int | weapons.lightning_damage_max | Maximum lightning damage of the weapon | |
int | weapons.cold_damage_min | Minimum cold damage of the weapon | |
int | weapons.cold_damage_max | Maximum cold damage of the weapon | |
int | weapons.fire_damage_min | Minimum fire damage of the weapon | |
int | weapons.fire_damage_max | Maximum fire damage of the weapon | |
int | weapons.chaos_damage_min | Minimum chaos damage of the weapon | |
int | weapons.chaos_damage_max | Maximum chaos damage of the weapon | |
float | weapons.physical_dps | Damage per second based on physical damage and attack speed | |
float | weapons.lightning_dps | Damage per second based on lightning damage and attack speed | |
float | weapons.cold_dps | Damage per second based on cold damage and attack speed | |
float | weapons.fire_dps | Damage per second based on fire damage and attack speed | |
float | weapons.chaos_dps | Damage per second based on chaos damage and attack speed | |
float | weapons.poison_dps | Damage per second based on physical damage, chaos damage and attack speed | |
float | weapons.elemental_dps | Damage per second based on lightning damage, cold damage, fire damage and attack speed | |
float | weapons.physical_dps | Damage per second based on physical damage, lightning damage, cold damage, fire damage, chaos damage and attack speed | |
str | weapons.damage_html | All damage values as HTML |
Armour
Eligible item classes:
'Gloves', 'Boots', 'Body Armours', 'Helmets', 'Shields'
Parameter | Value | Required | PyPoE Export |
Range | Properties | Description |
---|---|---|---|---|---|---|
armour | int | armours.armour | Armour of the armour | |||
energy_shield | int | armours.energy_shield | Energy Shield of the armour | |||
evasion | int | armours.evasion | Evasion Rating of the armour |
Gems
Eligible item classes:
'Active Skill Gems', 'Support Skill Gems'
They also inherit all parameters from the Skill template.
Parameter | Value | Required | PyPoE Export |
Range | Field | Description |
---|---|---|---|---|---|---|
gem_tags | list[str] | skill_gems.gem_tags | List of gem tags. | |||
dexterity_percent | int | skill_gems.dexterity_percent | Dexterity portion of the gem stat distribution.
For pure gems, this is usually 100 for the primary attribute and 0 for the other attribute. For hybrid gems, this is usually 60 for the primary attribute, 40 for the secondary attribute, and 0 for the remaining attribute. | |||
strength_percent | int | skill_gems.strength_percent | Strength portion of the gem stat distribution. | |||
intelligence_percent | int | skill_gems.intelligence_percent | Intelligence portion of the gem stat distribution. |
With all arguments supplied, these properties will also be set:
Field | Description |
---|---|
skill_gems.primary_attribute | Will be set to the primary attribute (highest percentage) |
Stackables
Eligible item classes:
'Currency', 'Stackable Currency', 'Hideout Doodads', 'Microtransactions', 'Divination Card'
Parameter | Value | Required | PyPoE Export |
Range | Field | Description |
---|---|---|---|---|---|---|
stack_size | int | stackables.stack_size | Maximum stack size of the item |
Parameters specific to a single item class
Parameters specific to item classes
Class | Parameter | Value | Required | PyPoE Export |
Range | Field | Description |
---|---|---|---|---|---|---|---|
Life Flasks
Hybrid Flasks |
flask_life | int | flasks.life | How much Life the flask recovers | |||
Mana Flasks
Hybrid Flasks |
flask_mana | int | flasks.mana | How much Mana the flask recovers | |||
Shields | block | int | shields.block | The base chance to block on shields | |||
Amulets | is_talisman | bool | amulets.is_talisman | Whether the amulet is a talisman (defaults to no) | |||
Divination Cards | card_art | str | divination_cards.card_art | Can be used to define alternate name for the divination card background art.
By default, the name of the card is used. | |||
Incubators | incubator_effect | str | incubators.effect | Effect of an Incubator when used on an item. |
Hideout Doodads
Parameter | Value | Required | PyPoE Export |
Range | Field | Description |
---|---|---|---|---|---|---|
is_master_doodad | bool | hideout_doodads.is_master_doodad | Whether this doodad is a doodad that can be bought from a master | |||
master | str | hideout_doodads.master | Name of the forsaken master who sells this doodad, if any | |||
master_level_requirement | int | hideout_doodads.master_level_requirement | Which master level the forsaken master sell the doodad at, if any | |||
master_favour_cost | int | hideout_doodads.master_favour_cost | How master favour the doodad costs, if any | |||
variation_count | int | hideout_doodads.variation_count | Number of available variations for this doodad |
Maps
Parameter | Value | Required | PyPoE Export |
Range | Field | Description |
---|---|---|---|---|---|---|
map_tier | int | maps.tier | Tier of the map | |||
map_guild_character | str | maps.guild_character | Character used when using the map for creating a guild | |||
map_area_id | int | maps.area_id | Area id of the map | |||
map_area_level | int | maps.area_level | Area level of the map | |||
unique_map_guild_character | str | maps.unique_guild_character | Character used when using the unique version of the map for creating a guild | |||
unique_map_area_id | int | maps.unique_area_id | Area id of the unique version of the map | |||
unique_map_area_level | int | maps.unique_area_level | Area level of the map |
Current map series / atlas maps
This set of parameter is intended only for the current map series featured on the atlas and only contains parameters relevant to the atlas.
The placeholder <i>
is used in some places for the upgrade tier of the relevant region. Valid tiers are between 0 and 4.
Parameter | Value | Required | PyPoE Export |
Range | Field | Description |
---|---|---|---|---|---|---|
atlas_region_id | str | atlas_maps.region_id | Internal ID of the Region this map is located in. | |||
atlas_region_minimum | int | atlas_maps.region_minimum | Lowest region upgrade tier at which the map can appear on the region map | |||
atlas_x<i> | float | atlas_maps.x<i> | X-coordinate on the atlas of worlds for the given region upgrade tier <i> | |||
atlas_y<i> | float | atlas_maps.x<i> | Y-coordinate on the atlas of worlds for the given region upgrade tier <i> | |||
atlas_map_tier<i> | int | atlas_maps.map_tier<i> | Tier of the map for the given region upgrade tier <i>
If the map is not present at the specified tier this this value should be 0 |
Connections
Connections are placed here starting at the index <i>
1 incrementing by one for each connection. Any amount of connections can be specified, however no integers can be skipped. The order of the connections does not matter.
Parameter | Value | Required | PyPoE Export |
Range | Field | Description |
---|---|---|---|---|---|---|
atlas_connection<i>_target | page | atlas_connections.map2 | The page name of the connected map. Map page names strictly follow the syntax of Map name (league) , for example Port Map (Metamorph).
| |||
atlas_connection<i>_tier | bool |
atlas_connections.region0 |
A list representing for which region upgrade levels this connection is present. The list always have 5 boolean (true/false) entries representing tiers 0 though 4.
For example: atlas_connections1_tier = False, True, False, True, False means that the connection is present on Tier 1 & 3, but not any of the others. |
Stackable Currency
Parameter | Value | Required | PyPoE Export |
Range | Field | Description |
---|---|---|---|---|---|---|
is_essence | bool | — | Whether the currency item is an essence | |||
essence_level_restriction | int | essences.level_restriction | Up to which item level the essence can be used | |||
essence_level | int | essence.level | Level of the essence |
Jewel
Parameter | Value | Required | PyPoE Export |
Range | Field | Description |
---|---|---|---|---|---|---|
item_limit | int | jewels.item_limit | Maximum amount of jewels that can be equipped at once. | |||
— | str | jewels.radius_html | HTML text of the jewels radius, if any specified via mods |
Harvest Seed
Parameter | Value | Required | PyPoE Export |
Range | Field | Description |
---|---|---|---|---|---|---|
seed_effect | str | harvest_seeds.effect | The description of what the seed does | |||
seed_type_id | str | harvest_seeds.type
harvest_seeds.type_id |
The ID of the seed type.
Valid values are primal, vivid and wild | |||
seed_tier | int | harvest_seeds.tier | The tier of the seed | |||
seed_growth_cycles | int | harvest_seeds.growth_cycles | How many cycles it takes to grow the seed | |||
seed_required_nearby_seed_amount | int | harvest_seeds.required_nearby_seed_amount | How many nearby seeds are required to grow this type of seed. If empty, 0 is assumed. | |||
seed_required_nearby_seed_tier | int | harvest_seeds.required_nearby_seed_tier | The type id of nearby seeds to grow this type of seed. Valid types are primal, vivid and wild. If the seed amount is not specified, this can be left out. | |||
seed_consumed_wild_lifeforce_percentage | int | harvest_seeds.consumed_wild_lifeforce_percentage | How much of the life force is granted as wild lifeforce.
Since the lifeforce is level based, this used to show the distribution. If this item doesn't grant life force of a particular type 0 can be used. | |||
seed_consumed_primal_lifeforce_percentage | int | harvest_seeds.consumed_primal_lifeforce_percentage | How much of the life force is granted as primal lifeforce.
Since the lifeforce is level based, this used to show the distribution. If this item doesn't grant life force of a particular type 0 can be used. | |||
seed_consumed_vivid_lifeforce_percentage | int | harvest_seeds.consumed_vivid_lifeforce_percentage | How much of the life force is granted as vidid lifeforce.
Since the lifeforce is level based, this used to show the distribution. If this item doesn't grant life force of a particular type 0 can be used. | |||
seed_granted_craft_option_ids | list[str] | harvest_seeds.granted_craft_option_ids | List of comma separated crafting options by their ID. Generally this should be covered by the export with no adjustments needed - see Module:Harvest/harvest craft options for the craft option data. |
Other specific parameters
Prophecies
Prophecies are a special case which require the base_item
to be set to "Prophecy" with rarity_id
"normal" and class_id
"StackableCurrency":
{{Item |rarity_id = normal |class_id = StackableCurrency |base_item = Prophecy ... }}
In addition, the following parameters are exclusive to prophecies:
Parameter | Value | Required | PyPoE Export |
Range | Field | Description |
---|---|---|---|---|---|---|
prophecy_id | str | prophecies.prophecy_id | Internal (unique) identifier of the prophecy. | |||
prediction_text | str | prophecies.prediction_text | The prediction text of the prophecy (i.e. the white text that tells you what will happen). | |||
seal_cost | int | prophecies.seal_cost | How many Module Error: No results found for item using search term "item_name = Silver Coin" are required to seal the prophecy. | |||
objective | str | prophecies.objective | Text detailing what is required to successfully complete the prophecy | |||
reward | str | prophecies.reward | Text detailing what the prophecy rewards (please also specify upgraded_from if it upgrades an item) |
Examples
Finding areas
For the drop_areas
parameter you'll need to specify the area ids; the id is required instead of the name of the area, because multiple areas can share the same name. There are a couple of ways to find area ids:
- In the main area page there is a infobox that shows the id.
- You can also use #cargo_query to find ids using a simple query such as:
{{#cargo_query: |tables=areas |fields=areas._pageName, areas.id, areas.name, areas.act, areas.main_page |where=areas.name="The Twilight Strand" |group by=areas._pageID }}
Yields:
So if you meant the act 1 area you'd use drop_areas = 1_1_1
, if you meant the act 6 area, you'd use drop_areas = 2_6_1
or if you actually want both you can just use them both drop_areas = 1_1_1, 2_6_1
.
Finding monsters
For the drop_monsters
parameter you'll need to specify the monster ids; the id is required instead of the name of the monster, because multiple monsters can share the same name. There are a couple of ways to find monsters ids:
- In the main mosnter page there is a infobox that shows the id.
- You can also use #cargo_query to find ids using a simple query such as:
{{#cargo_query: |tables=monsters |fields=monsters._pageName, monsters.metadata_id, monsters.name, |where=monsters.name = "Atziri, Queen of the Vaal" }}
Yields:
So if you meant the normal boss you'd use drop_monsters = Metadata/Monsters/Atziri/Atziri
, if you meant Uber Atziri, you'd use drop_monsters = Metadata/Monsters/Atziri/Atziri2
or if you actually want both you can just use them both drop_areas = Metadata/Monsters/Atziri/Atziri, Metadata/Monsters/Atziri/Atziri2
. But as we see here there are a few other as well, but by the name we can tell that those seem to be related to the different phases. So study the differences and try to choose the most straightforward one, being consistent by using the same makes it easier to show on all the relevant pages.
Subpages
- Template:Item/cargo/acquisition recipe parts/attach
- Template:Item/cargo/acquisition recipe parts/declare
- Template:Item/cargo/acquisition recipe parts/declare/doc
- Template:Item/cargo/acquisition recipes/attach
- Template:Item/cargo/acquisition recipes/declare
- Template:Item/cargo/acquisition recipes/declare/doc
- Template:Item/cargo/amulets/attach
- Template:Item/cargo/amulets/declare
- Template:Item/cargo/amulets/declare/doc
- Template:Item/cargo/armours/attach
- Template:Item/cargo/armours/declare
- Template:Item/cargo/armours/declare/doc
- Template:Item/cargo/atlas connections/attach
- Template:Item/cargo/atlas connections/declare
- Template:Item/cargo/atlas connections/declare/doc
- Template:Item/cargo/atlas maps/attach
- Template:Item/cargo/atlas maps/declare
- Template:Item/cargo/atlas maps/declare/doc
- Template:Item/cargo/blight items/attach
- Template:Item/cargo/blight items/declare
- Template:Item/cargo/blight items/declare/doc
- Template:Item/cargo/cosmetic items/attach
- Template:Item/cargo/cosmetic items/declare
- Template:Item/cargo/cosmetic items/declare/doc
- Template:Item/cargo/essences/attach
- Template:Item/cargo/essences/declare
- Template:Item/cargo/essences/declare/doc
- Template:Item/cargo/flasks/attach
- Template:Item/cargo/flasks/declare
- Template:Item/cargo/flasks/declare/doc
- Template:Item/cargo/hideout doodads/attach
- Template:Item/cargo/hideout doodads/declare
- Template:Item/cargo/hideout doodads/declare/doc
- Template:Item/cargo/item buffs/attach
- Template:Item/cargo/item buffs/declare
- Template:Item/cargo/item buffs/declare/doc
- Template:Item/cargo/item mods/attach
- Template:Item/cargo/item mods/declare
- Template:Item/cargo/item mods/declare/doc
- Template:Item/cargo/item purchase costs/attach
- Template:Item/cargo/item purchase costs/declare
- Template:Item/cargo/item purchase costs/declare/doc
- Template:Item/cargo/item sell prices/attach
- Template:Item/cargo/item sell prices/declare
- Template:Item/cargo/item sell prices/declare/doc
- Template:Item/cargo/item stats/attach
- Template:Item/cargo/item stats/declare
- Template:Item/cargo/item stats/declare/doc
- Template:Item/cargo/items/attach
- Template:Item/cargo/items/declare
- Template:Item/cargo/items/declare/doc
- Template:Item/cargo/jewels/attach
- Template:Item/cargo/jewels/declare
- Template:Item/cargo/jewels/declare/doc
- Template:Item/cargo/map fragments/attach
- Template:Item/cargo/map fragments/declare
- Template:Item/cargo/map fragments/declare/doc
- Template:Item/cargo/maps/attach
- Template:Item/cargo/maps/declare
- Template:Item/cargo/maps/declare/doc
- Template:Item/cargo/quest rewards/attach
- Template:Item/cargo/quest rewards/declare
- Template:Item/cargo/quest rewards/declare/doc
- Template:Item/cargo/shields/attach
- Template:Item/cargo/shields/declare
- Template:Item/cargo/shields/declare/doc
- Template:Item/cargo/skill gems/attach
- Template:Item/cargo/skill gems/declare
- Template:Item/cargo/skill gems/declare/doc
- Template:Item/cargo/stackables/attach
- Template:Item/cargo/stackables/declare
- Template:Item/cargo/stackables/declare/doc
- Template:Item/cargo/tinctures/attach
- Template:Item/cargo/tinctures/declare
- Template:Item/cargo/vendor rewards/attach
- Template:Item/cargo/vendor rewards/declare
- Template:Item/cargo/vendor rewards/declare/doc
- Template:Item/cargo/weapons/attach
- Template:Item/cargo/weapons/declare
- Template:Item/cargo/weapons/declare/doc
- Template:Item/doc
- Template:Item/sandbox
See also