Skip to content

Unique items need to separate the game version from other variants #9390

@Wires77

Description

@Wires77

Check for duplicates

  • I've checked for duplicate open and closed issues by using the search function of the issue tracker

What platform are you running Path of Building on?

Windows

Is your feature request related to a problem?

Problem: Uniques with variants get unwieldy when there are also differences between game versions for those variants. This is often handled by allowing an Alt Variant, one for the version, one for the actual variant. However this is making updating them very error-prone and potentially confusing users into thinking they can have more variants than possible. See #8999 (comment)

Another issue this would solve is a stupidly long number of variants on lines that haven't changed in years, but other mods on the item have. E.g. on Vessel of Vinktar:

{variant:1,2,3,4}30% of Lightning Damage Leeched as Life during Flask effect
{variant:5,6,7,8,9,10,11,12,13,14,15,16,17,18}20% of Lightning Damage Leeched as Life during Flask effect

Describe the solution you'd like

Proposal: Add a version spec to items that can be parsed and automatically create a version box, similar to our variant box. This would look something like this for a made-up item:

{version:,3.15.0}15% increased maximum life
{version:3.15.0,3.23.0}5% increased maximum life
{version:3.23.0,}10% increased maximum life

Note the leading/trailing commas, signifying those lines are the earliest/latest versions. This also directly specifies the version, so the code would have to parse the semantic version to decide which lines should be included depending on the selected version, but it simplifies the update process so you aren't having to go back and forth between some index and what it means

Describe alternatives you've considered

No response

Additional context

Longer example of the difference in a full item. Old:

unique name
Glorious Plate
Variant: pre 1
Variant: pre 2
Variant: Current
Variant: Life
Variant: Mana
Variant: ES
Variant: ES (pre 3)
{variant:6}ES
{variant:7}ES
{variant:4}Life
{variant:5}Mana
{variant:1}Quantity
{variant:2}Rarity
{variant:3}Big Rarity
Armour

New:

unique name
Glorious Plate
Variant: ES
Variant: Life
Variant: Mana
{version:3,}{variant:1}ES
{version:,3}{variant:1}big ES
{variant:2}Life
{variant:3}Mana
{version:,1}Quantity
{variant:1,3}Rarity
{variant:3,}Big Rarity
Armour

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature, calculation, or mod

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions