Item Filtering: Difference between revisions

Undo revision 17920 by Equanimity (talk)
(→‎Multi-layered Stats: Added note about elemental skill ids)
(Undo revision 17920 by Equanimity (talk))
Tag: Undo
 
(21 intermediate revisions by 3 users not shown)
Line 38:
The next simplest rule is one that displays all items with their default appearances. The output keyword '''''%NAME%''''' refers to an item's default appearance, and varies depending on which item is being shown. All items are displayed by default - the game essentially adds this rule to the bottom of the filter before beginning to process the filter's rules.
 
<code>ItemDisplay[]: %NAME%</code> <span style="color:gray;">''displays all items with their default appearancesnames''</span>
 
<code>ItemDisplay[]: %NAME%{%NAME%}</code> <span style="color:gray;">''displays all items with their default names and descriptions''</span>
 
=== Conditions ===
Line 55 ⟶ 57:
Rules with multiple conditions may use logic operators ('''AND''','''OR''','''!''') to specify how the conditions relate to each other. If no operator is used between conditions, '''AND''' will be assumed.
 
<code>ItemDisplay[NMAG AND SOCKSOCKETS=1 AND CLVL>10]:</code> <span style="color:gray;">''hides regular 1-socket items if the character is above level 10''</span>
 
<code>ItemDisplay[NMAG SOCKSOCKETS=1 CLVL>10]:</code> <span style="color:gray;">''hides regular 1-socket items if the character is above level 10 (same as above)''</span>
 
 
Line 76 ⟶ 78:
 
<code>ItemDisplay[MAG !ID HELM !(BAR OR DRU OR ELT)]:</code> <span style="color:gray;">''hides magic unidentified helms that are not barbarian helms, druid pelts, or elite''</span>
 
 
In addition to the standard comparison operators, value conditions can also be used with the "BETWEEN" operator ('''~''') to specify value ranges.
 
<code>ItemDisplay[NMAG SOCKETS~1-2]:</code> <span style="color:gray;">''hides regular items with 1-2 sockets''</span>
 
<code>ItemDisplay[NMAG SOCKETS>0 SOCKETS<3]:</code> <span style="color:gray;">''hides regular items with 1-2 sockets (same as above)''</span>
 
 
The following attribute codes can have addition applied between them prior to the condition being evaluated: '''STR''', '''DEX''', '''STAT3''' (vitality) '''LIFE''', '''MANA''', '''FRES''', '''CRES''', '''LRES''', '''PRES''', '''EDEF''', '''EDAM''', '''FCR''', '''AR''', '''REPLIFE''', '''STAT60''' (life leech), '''STAT62''' (mana leech)
 
<code>ItemDisplay[RARE FRES+CRES+LRES+PRES>79]: %NAME% %RED%!</code> <span style="color:gray;">''appends a red '''!''' to rares with 80+ total resistance''</span>
 
 
=== Output ===
A rule's output (text and keywords in the second part of the rule) describe how the matching item(s) should be displayed.
 
An item's default name can be referenced with the '''''%NAME%''''' keyword and modified by adding text. To shorten a name or change it entirely, write-out the new name instead. Valid text characters include all those in the [https://en.wikipedia.org/wiki/List_of_Unicode_characters#Basic_Latin '''Basic Latin'''] and [https://en.wikipedia.org/wiki/List_of_Unicode_characters#Latin-1_Supplement '''Latin-1 Supplement'''] Unicode blocks (except '''·''' and '''¸''').
 
{| class="wikitable"
Line 97 ⟶ 112:
| space || <code>&nbsp;</code>
|-
| other symbols || <code>µ¶¢£¥®©§¿¡¯¨¬­&#173;¦«»÷×±ªº´¤°¹²³¼½¾·¸</code>
|-
| other capital letters || <code>ÐÞÆØÁÀÂÄÃÅÇÉÈÊËÍÌÎÏÑÓÒÔÖÕÚÙÛÜÝ</code>
Line 104 ⟶ 119:
|}
* The last three categories require the filter file to be encoded in ANSI rather than the default UTF-8
* The soft hyphen character doesn't display correctly herein many places (including this wiki) but does show up in-game
* These characters display as "?" if HD text is disabled: ·¸
* These characters aren't displayed at all if HD text is enabled: ¬­÷±¤ (including soft hyphen)
 
 
Line 113 ⟶ 130:
<code>ItemDisplay[hdm]: Charsi's Favorite Hammer</code> <span style="color:gray;">''Charsi's Favorite Hammer''</span>
 
 
Text and keywords can be used together to add extra information, change parts of the name to be different colors, and more. See [[Item_Filtering#Output_Keywords | all keywords]] below.
 
<code>ItemDisplay[SOCKSOCKETS>0]: %NAME% %GRAY%[%SOCKETS%]</code> <span style="color:gray;">''displays socketed items with '''[X]''' appended in gray, where X is the number of sockets''</span>
 
 
The price of an item (displayed above the name when a merchant is selling it) can be recolored by using a color keyword after the rest of the output.
As with elsewhere, the double slash ('''//''') functions as an in-file way to write comments that will be ignored by the computer.
 
<code>ItemDisplay[SHOP]: %NAME%%WHITE%</code> <span style="color:gray;">''changes the price color for shop items to white</span>
 
 
As with elsewhere, the double slash ('''//''') functions as an in-file way to write comments that will be ignored by the computer. Everything afterward will be ignored.
 
<code>ItemDisplay[NMAG (aqv OR cqv)]: // hides regular arrows/bolts</code>
 
<code>ItemDisplay[tsc]: //%NAME% // Scroll of Town Portal</code> <span style="color:gray;">''this rule hides TP scrolls, but can be changed to display them instead by deleting the first '''//'''''</span>
 
When frequently enabling or disabling parts of a filter, putting '''//''' in front of those parts instead of deleting them can result in faster editing.
<code>//ItemDisplay[MAG cm2]: // hides magic large charms</code> <span style="color:gray;">''this "rule" is ignored, but can be quickly re-enabled by deleting the first '''//'''''</span>
 
<code>ItemDisplay[tsc]: //%NAME%</code> <span style="color:gray;">''this rule hides TP scrolls, but can be changed to display them instead by deleting '''//''' in front of %NAME%''</span>
 
<code>//ItemDisplay[MAG (aqv OR cqv)]: // hides magic quivers if enabled</code> <span style="color:gray;">''this "rule" is ignored, but can be quickly re-enabled by deleting '''//''' from in front of ItemDisplay''</span>
 
 
Line 135 ⟶ 160:
The '''''%CONTINUE%''''' keyword replaces the contents of '''''%NAME%''''' with the current rule's '''''Output''''' (overwriting the default name or previously stored output) and makes the program continue checking rules. This allows multiple rules to modify an item's appearance based on different conditions.
 
<code>ItemDisplay[SOCKSOCKETS>0]: %NAME% [%SOCKETS%]%CONTINUE%</code> <span style="color:gray;">''appends '''[X]''' to socketed items, where X is the number of sockets (continues)''</span>
 
<code>ItemDisplay[ETH]: eth %NAME%%CONTINUE%</code> <span style="color:gray;">''prepends '''eth''' to ethereal items (continues)''</span>
Line 143 ⟶ 168:
Without '''''%CONTINUE%''''', this would require a separate rule for every possible combination of different conditions, the number of rules growing exponentially with each additional condition:
 
<code>ItemDisplay[ETH SOCKSOCKETS>0]: eth %NAME% [%SOCKETS%]</code>
 
<code>ItemDisplay[!ETH SOCKSOCKETS>0]: %NAME% [%SOCKETS%]</code>
 
<code>ItemDisplay[ETH SOCKSOCKETS=0]: eth %NAME%</code>
 
<code>ItemDisplay[!ETH SOCKSOCKETS=0]: %NAME%</code>
 
 
Line 173 ⟶ 198:
 
 
The '''''%NL%''''' keyword adds a new line above the previous line and can only be used withinin item descriptions for any item, or item names for the following: identified items whose rarity is magic or higher, runewords, and items within shops.
 
<code>ItemDisplay[]: %NAME%{Affix Level: %ALVL%%NL%Item Level: %ILVL%}</code> <span style="color:gray;">''Shows item/affix levels on separate lines in description (same effect as '''Show iLvlItem Level''' setting)''</span>
 
 
The number of displayed characters for an item's name is capped at 56. The internal limit for an item's name includes additional characters for color keywords (3 characters each) and %NL% (2 characters each) and goes up to 125.
 
For example, a name that uses all 56 text characters and also uses 23 color keywords (69 internal characters) would have an internal size of 125 (56+69) and work as expected, but attempting to add another color will break things.
 
The cap for item descriptions is much higher at 500 total characters and, unlike for item names, is the same for both displayed characters and internal characters.
 
<!-- End of "Filter Syntax" category -->
Line 185 ⟶ 217:
To enable custom filter levels, use the following format at the top of the filter:
 
<code>ItemDisplayFilterName[]: CustomLow Level 1Strictness</code> <span style="color:gray;">''Adds a new filter strictness level named "Custom LevelLow 1Strictness"''</span>
 
<code>ItemDisplayFilterName[]: Medium Strictness</code> <span style="color:gray;">''Adds a new filter strictness level named "Medium Strictness"''</span>
 
<code>ItemDisplayFilterName[]: CustomHigh Level 2Strictness</code> <span style="color:gray;">''Adds a new filter strictness level named "Custom LevelHigh 2Strictness"''</span>
 
 
Line 237 ⟶ 271:
| %ORANGE% || <span class="d2-orange">Orange</span> || crafted items, endgame quest items, runes
|-
| %CORAL% || <span class="d2-coral">Coral</span> || ''only works with Glidecustom''
|-
| %SAGE% || <span class="d2-sage">Sage</span> || ''only works with Glidecustom''
|-
| %TEAL% || <span class="d2-teal">Teal</span> || ''only works with Glidecustom''
|-
| %LIGHT_GRAY% || <span class="d2-light-gray">Light Gray</span> || ''only works with Glidecustom''
|}
* Custom text colors only work with Glide or if HD text is enabled, and will otherwise function the same as '''''%GRAY%'''''
 
Some items have their default color built into '''''%NAME%''''', so their color won't change unless their name is rewritten completely. This is likely [[Bugs|unintended behavior]], and applies to runes, Standard of Heroes, and the PD2-specific non-equipment items other than map/arena scrolls and jewel fragments.
Line 269 ⟶ 304:
|-
| %QTY% || quantity || 0 - 350
|-
| %SOCKETS% || number of sockets || 0 - 6
|-
| %RANGE% || melee range adder || 0 - 5
Line 287 ⟶ 320:
|}
 
InAdditionally, additionkeywords toalso these, keywordsexist for each [[Item_Filtering#Numbered_Attribute_CodesNamed_Attribute_Codes|numberednamed attribute code]] also exist. They should have a hyphen between(except ''STAT'MAXDUR''') and theeach number,[[Item_Filtering#Numbered_Attribute_Codes|numbered suchattribute ascode]]. '''''%STAT-18%'''''.Some examples are:
{| class="wikitable"
! Code !! Output !! Details
|-
| %SOCKETS% || total sockets ||
|-
| %DEF% || total defense ||
|-
| %ED% || enhanced defense/damage || refers to defense for armor,<br>damage for weapons
|-
| %EDEF% || +N% Enhanced Defense || Includes bonuses from runewords and sockets<br>(ED does '''not''' include these)
|-
| %EDAM% || +N% Enhanced Damage || Includes bonuses from runewords and sockets<br>(ED does '''not''' include these)
|-
| %AR% || +N to Attack Rating ||
|-
| %RES% || All Resistances +N ||
|-
| %STR% || +N to Strength ||
|-
| %DEX% || +N to Dexterity ||
|-
| %STAT1% || +N to Energy ||
|-
| %STAT3% || +N to Vitality ||
|-
| %STAT36% || Physical Damage Taken Reduced by N% ||
|-
| %STAT58% || +X Poison Damage over Y Seconds<br>''bitrate N = (256X) / (25Y)'' ||
|-
| %STAT60% || N% Life Stolen per Hit ||
|-
| %STAT62% || N% Mana Stolen per Hit ||
|-
| %STAT86% || +N Life after each Kill ||
|-
| %STAT91% || Requirements +N% ||
|-
| %STAT329% || N% to Fire Skill Damage ||
|-
| %STAT330% || N% to Lightning Skill Damage ||
|-
| %STAT331% || N% to Cold Skill Damage ||
|-
| %STAT332% || N% to Poison Skill Damage ||
|-
| %STAT357% || N% to Magic Skill Damage ||
|-
| %SK48% || +N to Nova (Sorceress Only) || see [[Item_Filtering#Multi-layered_Stats|multi-layered stats]]
|}
 
==== Notification Keywords ====
Line 337 ⟶ 419:
| <span class="d2-orange">Orange</span> || 0B || 60
|-
| <span class="d2-coral">Coral</span> || ? || ?
|-
| <span class="d2-sage">Sage</span> || ? || ?
|-
| <span class="d2-teal">Teal</span> || ? || ?9F
|-
| <span class="d2-light-gray">Light Gray</span> || ? || ?
|}
 
Line 363 ⟶ 445:
 
 
All notification keywords seem to bypass the normal rule-handling procedure. Normally, the rules are processed top-to-bottom and this process halts when a matching rule (without '''%CONTINUE%''') is found. Notification keywords, however, can apply even after the process has halted. This mayis most likely due to the game making a separate pass through the filter file for notification keywords - the first pass ignores notification keywords, and the second pass beignores [[Bugs|unintendedeverything behavior]]else.
 
==== Special Keywords ====
Line 371 ⟶ 453:
| %CONTINUE% || the item is compared against additional rules instead of being displayed by the current rule<br>the current rule's output is stored in %NAME%
|-
| %NL% || specifies a new line, (lines are constructed bottom-up)<br>only works within braces (descriptions) or for '''ID !NMAG''', '''RW''', or '''SHOP''' items (identified items which are magic or higher rarity, runewords, or items within shops)
|-
| {} || anything within the braces applies to the item's description rather than the item's name/title
Line 382 ⟶ 464:
=== Boolean Conditions ===
==== Mutable Codes ====
Contrary to most "immutable" codes which refer to static item properties, these conditions depend on where and how the item is being viewed. Some value conditions suchare asalso "mutable" in this way: [[Item_Filtering#Info_Codes|CLVL, andCRAFTALVL, DIFF, FILTLVL, MAPID]], areand also[[Item_Filtering#Numbered_Attribute_Codes|CHARSTAT "mutable" in this waycodes]].
{| class="wikitable"
! Code !! Description
Line 405 ⟶ 487:
|}
<code>ItemDisplay[key ASSASSIN]:</code> <span style="color:gray;">''hides keys when playing as an Assassin''</span>
 
Both '''SHOP''' and '''EQUIPPED''' behave as expected in most scenarios, but they each have a [[Bugs|bug]] associated with them. Most notably, '''EQUIPPED''' incorrectly applies to items that begin the game within the multiplayer shared stash.
 
==== Item Group Codes ====
Line 465 ⟶ 545:
! Code !! Code !! Group !! Details
|-
| EQ1 || HELM || HelmetsHelms || includes class helms
|-
| EQ2 || CHEST || Chests ||
Line 494 ⟶ 574:
| WP4 || DAGGER || Daggers || includes throwing knives
|-
| WP5 || THROWING || Throwing Weapons || includes throwing knives/axes, all javelins, throwing potions
|-
| WP6 || JAV || Javelins || includes all throwing weapons, all spears, Amazon javelins
|-
| WP7 || SPEAR || Spears || includes Amazon spears & all javelins
|-
| WP8 || POLEARM || Polearms ||
Line 517 ⟶ 597:
|-
| 2H || || 2-Handed Weapons ||
|-
| CLUB || || Clubs (mace subtype) ||
|-
| TMACE || || Tipped Maces (mace subtype) ||
|-
| HAMMER || || Hammers (mace subtype) ||
|}
Since '''WP6''' overlaps entirely with both '''WP5''' and '''WP7''' (two very different kinds of weapons), it's rarely useful.
 
The '''1H''' code is currently [[Bugs|bugged]] and doesn't include Hand Axe.
 
===== Class-Restricted Item Groups =====
Line 528 ⟶ 611:
| CL1 || DRU || Druid pelts
|-
| CL2 || BAR || Barbarian helmetshelms
|-
| CL3 || DIN || Paladin shields
Line 539 ⟶ 622:
|-
| CL7 || ZON || Amazon weapons
|-
| CLASS || || All class-restricted items
|}
 
Line 550 ⟶ 635:
! Code !! Description !! Details
|-
| GOLD || Gold || can be hidden, but not modified (always displays as "N Gold")<br>gold is automatically picked up (hiding it does not prevent this)
|-
| <s>GEMLEVEL</s><br>GEM || gem quality level || 1 - 5 (Chipped-Perfect)<br>doesn't apply to ''unstacked'' Flawless/Perfect [[Item_Filtering#Gems|gems]]
|-
| GEMTYPE || gem type || 1 - 7 (Amethyst, Diamond, Emerald, Ruby, Sapphire, Topaz, Skull)
Line 559 ⟶ 644:
|-
| QTY || quantity ||
|-
| DEF || total defense ||
|-
| LVLREQ || level requirement ||
Line 578 ⟶ 661:
| DIFF || difficulty || 0 - 2 (Normal, Nightmare, Hell)
|-
| MAPID || item'scurrent initial locationzone || 1 - 175 (see [[Item_Filtering#MAPID_IDs|details]])
|-
| MAPTIER || map tier || 0 - 45 (PvP, T1, T2, T3, Dungeon, Unique)
|-
| SUFFIXPREFIX || item suffixprefix || 1 - 849805 (see [[Item_Filtering#SUFFIX,_PREFIX,_and_AUTOMOD_IDs|details]])
|-
| PREFIXSUFFIX || item prefixsuffix || 8501 - 1644900 (see [[Item_Filtering#SUFFIX,_PREFIX,_and_AUTOMOD_IDs|details]])
|-
| AUTOMOD || item automod || 16451 - 168844 (see [[Item_Filtering#SUFFIX,_PREFIX,_and_AUTOMOD_IDs|details]])
|-
| FILTLVL || filter strictness level || 0 - 9 (Show All Items, up to 9 custom levels)
|}
 
There is currently a [[Bugs|bug]] with hiding stacked gems/runes - if the lootfilter attempts to hide them, they'll usually be loaded regardless and appear with an empty name.
 
==== Named Attribute Codes ====
Line 597 ⟶ 678:
! Code !! Description !! Item Appearance !! Details
|-
| SOCKETS<br>SOCK || total sockets || Socketed (N) ||
|-
| DEF || total defense || Defense: N<br>+N Defense ||
|-
| ED || enhanced defense/damage || +N% Enhanced Defense<br>+N% Enhanced Damage || refers to defense for armor,<br>damage for weapons
|-
| EDEF || enhanced defense || +N% Enhanced Defense || Includes bonuses from runewords and sockets<br>(ED does '''not''' include these)
|-
| EDAM || enhanced damage || +N% Enhanced Damage || Includes bonuses from runewords and sockets<br>(ED does '''not''' include these)
|-
| MAXDUR || max durability || Increase Maximum Durability N% ||
Line 653 ⟶ 740:
| FOOLS || fool's mod || +X to Attack Rating (Based on Character Level)<br>+Y to Maximum Damage (Based on Character Level) || boolean condition
|}
Some attributes (STR, DEX, LIFE, MANA, FRES, CRES, LRES, PRES) can have addition applied between them prior to the condition being evaluated.
 
==== Numbered Attribute Codes ====
<code>ItemDisplay[RARE FRES+CRES+LRES+PRES>79]: %NAME% %RED%!</code> <span style="color:gray;">''appends a red '''!''' to rares with 80+ total resistance''</span>
The relevant number for each code is shown as N. If N is absent, it is often either 0 or 1. For codes that refer to attributes which are based on character level, N is often a multiple of Y (as in "+Y per Character Level") such as 8Y for STAT214 or 2Y for STAT224.
 
Some numbered attribute codes (shown in <span style="color:gray;">gray</span>) refer to the same attributes as [[Item_Filtering#Named_Attribute_Codes|named attribute codes]] or other named codes, which can be used instead for better readability.
 
To refer to stats that have multiple parts such as chance-to-cast effects or skill charges, the '''MULTI''' condition must be used instead of '''STAT''': see [[Item_Filtering#Multi-layered_Stats|Multi-Layered Stats]]
It seems values get converted to unsigned integers '''before comparison'''. For negative values, this means that instead of counting backwards from 0, they count backwards from the maximum storeable value (a few billion). The following examples illustrate this point, but they're outdated since medium/heavy armors no longer have movement speed penalties.
 
All these numbered attribute '''STAT''' codes refer to individual items in the same way that most codes do - they are "immutable" and don't change depending on the character viewing the item. There are also corresponding '''CHARSTAT''' codes for each attribute which are "mutable" and can change based on other factors - rather than checking whether an ''item'' has the attribute, these codes check whether the ''character'' has the attribute. In most cases, that means checking whether the character is wearing an item with the attribute. But there are also some "non-item" codes such as '''CHARSTAT14''' and '''CHARSTAT15''' which refer to how much gold the character is carrying and how much gold they have in their stash, respectively.
<code>ItemDisplay[NMAG !ELT (FRW=-5 OR FRW=-10)]:</code> <span style="color:gray;">''hides regular non-elite medium/heavy armors''</span>
 
<code>ItemDisplay[NMAG !ELT FRW>1000]:</code> <span style="color:gray;">''hides regular non-elite medium/heavy armors''</span>
 
<code>ItemDisplay[NMAG !ELT FRW>-20]:</code> <span style="color:gray;">''hides regular non-elite medium/heavy armors''</span>
 
==== Numbered Attribute Codes ====
The relevant number for each code is shown as N. In many cases, if N is absent, it is either 0 or 1. For codes that refer to attributes which are based on character level, N is often a multiple of Y (+Y per Character Level) such as 8Y for STAT214 or 2Y for STAT224.
 
Some numbered attribute codes (shown in <span style="color:gray;">gray</span>) refer to the same attributes as [[Item_Filtering#Named_Attribute_Codes|named attribute codes]] or other named codes, which can be used instead for better readability.
 
<div><ul style="margin-left:0px;">
Line 749 ⟶ 828:
| STAT89 || +N to Light Radius
|-
| STAT91 || Requirements -+N%
|-
| <span style="color:gray;">STAT93</span> || +N% Increased Attack Speed
Line 825 ⟶ 904:
| style="font-size:90%;" | <span style="color:gray;">STAT252</span> || style="font-size:78%;" | Repairs X Durability in Y Seconds ''(N = 100/Y)''
|-
| style="font-size:90%;" | STAT360 || Corrupted ''Corruption ([[Item_Filtering#STAT360_IDs|values for N]])''
|-
| style="font-size:90%;" | STAT422 || Replenishes 1 Charge in 3 Seconds
Line 833 ⟶ 912:
| style="font-size:90%;" | STAT425 || -N% to Enemy Physical Resistance
|-
| style="font-size:90%;" | STAT486 || ''Mirrored''
|-
| style="font-size:90%;" | STAT477 || style="font-size:90%;" | ''transform_dye (N: black=4, white=21)''
|-
| style="font-size:90%;" | STAT501 || style="font-size:92%;" | +N Open Wounds Damage per Second
|-
| style="font-size:90%;" | STAT504 || Curse Resistance +N%
|}
</li>
Line 1,216 ⟶ 1,299:
| style="font-size:90%;" | STAT496 || ''map_mon_droparmor''
|-
| style="font-size:90%;" | STAT497 || ''map_mon_dropcharmsmap_mon_dropcrafting''
|-
| style="font-size:90%;" | STAT498 || ''map_glob_extra_boss''
|-
| style="font-size:90%;" | STAT499 || ''map_glob_add_mon_shriek''
|-
| style="font-size:90%;" | STAT500 || Area Contains a Random Event
|-
| style="font-size:90%;" | STAT502 || ''map_mon_dropcharms''
|-
| style="font-size:90%;" | STAT503 || ''map_glob_dropcorrupted''
|-
| style="font-size:90%;" | STAT186 || ''map_glob_boss_dropskillers''
|-
| style="font-size:90%;" | STAT187 || ''map_glob_boss_dropcorruptedunique''
|-
| style="font-size:90%;" | STAT505 || ''map_glob_boss_dropfacet''
|-
| style="font-size:90%;" | STAT506 || ''map_mon_dropjewels''
|-
|}
Line 1,355 ⟶ 1,452:
|-
| style="font-size:90%;" | STAT184 || ''missing_hp''
|-
| style="font-size:90%;" | STAT185 || ''uber_difficulty''
|-
| style="font-size:90%;" | STAT189 || ''openwounds_stack''
|-
| style="font-size:90%;" | STAT190 || ''curse_slots''
|-
| style="font-size:90%;" | STAT191 || ''item_skillonequip''
|-
| style="font-size:90%;" | STAT213 || ''item_mindamage_energy''
|-
| style="font-size:90%;" | STAT215 || ''item_armorpercent_perlevel''
Line 1,568 ⟶ 1,675:
|-
| STAT88 || ''item_doubleherbduration''
|-
| style="font-size:90%;" | STAT185 || ''unused185''
|-
| style="font-size:90%;" | STAT186 || ''unused186''
|-
| style="font-size:90%;" | STAT187 || ''unused187''
|-
| style="font-size:90%;" | STAT189 || ''unused189''
|-
| style="font-size:90%;" | STAT190 || ''unused190''
|-
| style="font-size:90%;" | STAT191 || ''unused191''
|-
| style="font-size:90%;" | STAT192 || ''unused192''
Line 1,604 ⟶ 1,699:
|-
| style="font-size:90%;" | STAT212 || ''unused211''
|-
| style="font-size:90%;" | STAT213 || ''unused212''
|-
| style="font-size:90%;" | STAT268 || ''item_armor_bytime''
Line 1,683 ⟶ 1,776:
 
===== Multi-layered Stats =====
Some stats have an additional layer that needs to be specified in order for the stat to filter properly. To access these layers, the '''MULTI''' condition can be used. The- formatif forfollows this condition is <code>MULTI{Stat ID},{Layer ID}>{Value}</code>format:
 
MULTI '''''Stat_ID''''' , '''''Layer_ID''''' = '''''Value'''''
Below is a list of stats with extra layers:
 
Any of the comparison operators ('''<''','''>''','''=''') may be used - below is a list of stats with extra layers:
 
{| class="wikitable"
! Name !! Stat ID !! Layer ID !! Value !! Example
|-
| Class Skill || 83 || [[Item_Filtering#Group_Skills|class_id]] || skill_bonus || <code>MULTI83,2=2</code> ([[Hellfire Torch]] with Necromancer skills)
|-
| O SkillOSkill || 97 || [[Item_Filtering#Individual_Skills|skill_id]] || skill_bonus || <code>MULTI97,74=20</code> ([[Corpsemourn]])
|-
| Single Skill || 107 || [[Item_Filtering#Individual_Skills|skill_id]] || skill_bonus || <code>MULTI107,20=3</code> ([[Thunderstroke]])
|-
| Elemental Skill || 126 || elemental_id‡elemental_id (<span class="d2-red">1</span>, <span class="d2-yellow">2</span>, <span class="d2-orange">3</span>, <span class="d2-blue">4</span>, <span class="d2-green">5</span>) || skill_bonus || <code>MULTI126,4=2>0</code> ([[Snowclash]])
|-
| Aura when Equipped || 151 || [[Item_Filtering#Individual_Skills|skill_id]] || aura_level || <code>MULTI151,98=8>5</code> ([[Templar's Might]])
|-
| Reanimate as: || 155 || monster_id || % chance || <code>MULTI155,492=6</code> ([[Demon Machine]])
|-
| Class Skill Tab || 188 || [[Item_Filtering#Group_Skills|skilltab_id]] || skill_bonus || <code>MULTI188,25=6>4</code> ([[Cloudcrack]])
|-
| Cast on Attack || 195 || (skill_id * 64) + skill_level || % chance || <code>MULTI195,3028=15</code> ([[Todesfaelle Flamme]])
Line 1,727 ⟶ 1,822:
|}
 
There are also alternative ways to replicate what '''MULTI''' does for specific stats:
''‡ 1: Fire, 2: Lightning, 3: Magic, 4: Cold, 5: Poison''
 
{| class="wikitable"
! Stat !! MULTI !! Alternative !! Example
|-
| Class Skill || MULTI83 || CLSK || <code>CLSK2=2</code> ([[Hellfire Torch]] with Necromancer skills)
|-
| OSkill || MULTI97 || OS || <code>OS74=20</code> ([[Corpsemourn]])
|-
| Single Skill || MULTI107 || SK || <code>SK20=3</code> ([[Thunderstroke]])
|-
| Class Skill Tab || MULTI188 || TABSK || <code>TABSK25>4</code> ([[Cloudcrack]])
|}
 
==== Skill Codes ====
Line 2,072 ⟶ 2,179:
| SK115 || Vigor
|-
| SK116 || ConversionHoly Sword
|-
| SK117 || Holy Shield
Line 2,100 ⟶ 2,207:
</li>
<li style="display:inline-table; margin-left:0px; margin-right:8px;">
 
====== Barbarian ======
{| class="wikitable"
Line 2,164 ⟶ 2,272:
|-
| SK155 || Battle Command
|-
| SK368 || Deep Wounds
|}
</li>
Line 2,318 ⟶ 2,428:
|-
| <span style="color:gray;">SK400</span> || <span style="color:gray;">Bone Nova</span>
|-
| <span style="color:gray;">SK442</span> || <span style="color:gray;">Amplify Damage (Proc)</span>
|-
| <span style="color:gray;">SK443</span> || <span style="color:gray;">Weaken (Proc)</span>
|-
| <span style="color:gray;">SK444</span> || <span style="color:gray;">Iron Maiden (Proc)</span>
|-
| <span style="color:gray;">SK445</span> || <span style="color:gray;">Life Tap (Proc)</span>
|-
| <span style="color:gray;">SK446</span> || <span style="color:gray;">Decrepify (Proc)</span>
|-
| <span style="color:gray;">SK447</span> || <span style="color:gray;">Lower Resist (Proc)</span>
|}
</li>
Line 2,715 ⟶ 2,837:
|-
| 175 || Ashen Plains
|-
| 176 || Zhar's Sanctum
|-
| 177 || Hidden Waterways
|-
| 178 || Colonnades of Madness
|-
| 179 || Counselor's Causeway
|-
| 180 || <span class="omod">''Unused''</span>
|-
| 181 || Stygian Caverns
|-
| 182 || Stronghold of Acheron
|-
| 183 || Fallen Gardens
|-
| 184 || Diamond Gate
|}
</li>
Line 2,728 ⟶ 2,868:
AUTOMOD functions much the same as SUFFIX and PREFIX.
 
Two of the three basic comparison operators ('''<''' and '''>''') cannot be reliably used with SUFFIX or PREFIX. However, abut specialthe "BETWEEN" comparison operator ('''~''') canworks be usedwell with them to- referit towas IDactually ranges,developed sometimesspecifically referredfor to as the "BETWEEN" operatorthem. Since multiple PREFIX or SUFFIX conditions are not mutually exclusive with themselves, ID ranges would not be able to be referred to accurately with only '''<''' and '''>'''. ThisThe special"BETWEEN" operator condenses the ranges to a single condition so that it can be evaluated as either true or fase, and is much more convenient than creating large groups of conditions using only '''=''' as comparison operators.
 
<code>ItemDisplay[cm3 PREFIX>1278 PREFIX<1354]: %NAME% +1</code> <span style="color:gray;">''no effect (don'''t use)''</span>
 
<code>ItemDisplay[cm3 (PREFIX=1279 OR PREFIX=1280 OR PREFIX=1281 OR PREFIX=1291 OR PREFIX=1292 OR PREFIX=1293 OR PREFIX=1303 OR PREFIX=1304 OR PREFIX=1305 OR PREFIX=1315 OR PREFIX=1316 OR PREFIX=1317 OR PREFIX=1327 OR PREFIX=1328 OR PREFIX=1329 OR PREFIX=1339 OR PREFIX=1340 OR PREFIX=1341 OR PREFIX=1351 OR PREFIX=1352 OR PREFIX=1353)]: %NAME% +1</code> <span style="color:gray;">''appends '''+1''' to any grand charm with a skill''</span>
 
<code>ItemDisplay[cm3 PREFIX~1279-1353]: %NAME% +1</code> <span style="color:gray;">''appends '''+1''' to any grand charm with a skill (same as above)''</span>
 
External Chart of IDs: [https://docs.google.com/spreadsheets/d/1J5_V3bIloualyzb5_lDFueSSCcQyyPEkKYvoQR9Ve9Y/ Affix IDs]
Line 2,810 ⟶ 2,950:
| 26 || Attack Rating, Enhanced Damage
|-
| 27 || All Skills <span class="omod">(Weapons)</span>
|-
| 28 || Fire Mastery, Faster Cast
Line 2,856 ⟶ 2,996:
| 49 || Curse Resistance <span class="omod">(Chest, Helm, Quiver, Shield)</span>
|-
| 50 || All Skills <span class="omod">(Non-weapons)</span>
|}
</li>
97

edits