Skip to content

Refactor how PoB handles item types and subTypes #688

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Draft
wants to merge 15 commits into
base: dev
Choose a base branch
from

Conversation

QuickStick123
Copy link
Contributor

@QuickStick123 QuickStick123 commented Feb 3, 2025

Description of the problem being solved:

GGG uses classes and categories internally, for example in PoE 1 A Sceptre is a class called Sceptre and a category called One Hand Mace. As we have our own special type/subType system it become annoying to make mapping between these formats and they have to be manually manged which can lead to issue such as when we ported our changes to PoE 2. GGG is not super consistent with labels and while this isn't a problem so much in PoE 2 due to most items having their labels it is problematic in PoE 1 e.g. abyss jewels uses a special label that must be hard coded which makes it easier to just hard code all labels.

This also automatically handles different item stat types, now called the type catgory which refers to wether is a evasion/es/armour equipment.

There is an issue that isn't super desirable is that all jewels are considered to be of the same class so they all get squashed together now. The label Charm: Utility Flask isn't very nice either.

Todo:

  • The influence stuff should probably be fixed and commented out if we want to port this to PoB 1.
  • Need to double check usage of class vs category is correct across the program.
  • Fix issue regarding being unable to distinguish between radius jewels and regular jewels, this is problematic for mods leaching onto regular jewel tags for trade stuff. This could be fixed by properly supporting them though so they are distinguished but a solution here would be good. This could be done by readding the type directive to be used sparingly in cases where GGG doesn't provide enough clarity.
  • Check the rare stuff works

Before screenshot:

image
image

After screenshot:

image
image
image
image

@QuickStick123 QuickStick123 added the enhancement New feature, calculation, or mod label Feb 3, 2025
@QuickStick123 QuickStick123 marked this pull request as draft February 3, 2025 06:17
@QuickStick123 QuickStick123 force-pushed the change-type-and-subtype-implementation branch from cd3d655 to aa57cda Compare February 3, 2025 06:27
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature, calculation, or mod
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant