Skip to content
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

Augments change item size on client. EQEMU code does not account. #3326

Open
noudess opened this issue Apr 29, 2023 · 0 comments
Open

Augments change item size on client. EQEMU code does not account. #3326

noudess opened this issue Apr 29, 2023 · 0 comments

Comments

@noudess
Copy link
Contributor

noudess commented Apr 29, 2023

When an augment that is a larger size than the item it is being placed into is inserted, an item becomes the larger size in the eyes of the client. So if an item of size 1 (small) is augmented by an augmentation of size 2 (medium), the client then sees the item as medium.

This is rare, because there are few augs greater than size small, but they do exist. Also, items that are tiny can be make small, which will impact those items fitting into tiny bags.

This became a huge issue on my server, because I had carelessly created weapon augs and ignored size (most were 2).

The bandolier is the primary victim, as it calls: CanItemFitInContainer() which is provided only with bare item data, not information about augments.

To be completely compliant, CanItemFitInContainer() and HasSpaceForItem() would both need either:

  1. a interface parameter of the actual item instance so that augs can be checked for size
    or
  2. All places that call these two functions would need to send the larger of the item, or the items largest aug, to these functions instead of the item itself.

As 100% of the issues on my server were solved by changing all my custom augs to size 1 (should have really done size 0), I didn't tackle this.

If there is demand, I can try and make the fixes.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants