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

fix(Core/Player): Allow to swap bags when they are filled #17086

Merged
merged 1 commit into from
Sep 5, 2023

Conversation

Kitzunu
Copy link
Member

@Kitzunu Kitzunu commented Aug 26, 2023

Changes Proposed:

This PR proposes changes to:

  • Core (units, players, creatures, game systems).
  • Scripts (bosses, spell scripts, creature scripts).
  • Database (SAI, creatures, etc).

If your pull request promotes complex changes that require a detailed explanation, please describe them in detail specifying what your solution is and what is it meant to address.

Issues Addressed:

SOURCE:

The changes have been validated through:

  • Live research (checked on live servers, e.g Classic WotLK, Retail, etc.)
  • Sniffs (remember to share them with the open source community!)
  • Video evidence, knowledge databases or other public sources (e.g forums, Wowhead, etc.)
  • The changes promoted by this pull request come partially or entirely from another project (cherry-pick). Cherry-picks must be committed using the proper --author tag in order to be accepted, thus crediting the original authors, unless otherwise unable to be found

Tests Performed:

This PR has been:

  • Tested in-game by the author.
  • Tested in-game by other community members/someone else other than the author/has been live on production servers.
  • This pull request requires further testing and may have edge cases to be tested.

How to Test the Changes:

  • This pull request can be tested by following the reproduction steps provided in the linked issue
  • This pull request requires further testing. Provide steps to test your changes. If it requires any specific setup e.g multiple players please specify it as well.

Known Issues and TODO List:

  • [ ]
  • [ ]

How to Test AzerothCore PRs

When a PR is ready to be tested, it will be marked as [WAITING TO BE TESTED].

You can help by testing PRs and writing your feedback here on the PR's page on GitHub. Follow the instructions here:

http://www.azerothcore.org/wiki/How-to-test-a-PR

REMEMBER: when testing a PR that changes something generic (i.e. a part of code that handles more than one specific thing), the tester should not only check that the PR does its job (e.g. fixing spell XXX) but especially check that the PR does not cause any regression (i.e. introducing new bugs).

For example: if a PR fixes spell X by changing a part of code that handles spells X, Y, and Z, we should not only test X, but we should test Y and Z as well.

@yehonal-bot yehonal-bot added CORE Related to the core file-cpp Used to trigger the matrix build labels Aug 26, 2023
@Kitzunu Kitzunu added Waiting to be Tested Ready to be Reviewed and removed CORE Related to the core file-cpp Used to trigger the matrix build labels Aug 26, 2023
@Kitzunu Kitzunu added CORE Related to the core file-cpp Used to trigger the matrix build labels Aug 26, 2023
@Nyeriah
Copy link
Member

Nyeriah commented Aug 26, 2023

Need check if bag can hold all items e.g smaller bag and also if it’s appropriate e.g soul bag mining bag etc

@Kitzunu
Copy link
Member Author

Kitzunu commented Aug 26, 2023

I tested swapping big filled bag to small filled bag, don't work. So that is good.
I also tested switching normal bag to mining bag. Dont work, so also good

@heyitsbench
Copy link
Contributor

heyitsbench commented Aug 26, 2023

Interestingly I've tried switching a felcloth bag with an herb bag in this situation, and it gave this error, which doesn't sound correct - testing on Classic indicates this is the correct error. Still need to check with bank bags.

@Kitzunu
Copy link
Member Author

Kitzunu commented Aug 26, 2023

I also tested filled mining bag (20slot), to normal bag (20slot), to mining bag. Works too

@Kitzunu
Copy link
Member Author

Kitzunu commented Aug 26, 2023

As for swapping mining bag onto bag with normal items on it, it gives the same error bench got. So that is good I guess

caught here

if (!bagItemProto || !ItemCanGoIntoBag(bagItemProto, emptyProto))
{
// one from items not go to empty target bag
SendEquipError(EQUIP_ERR_NONEMPTY_BAG_OVER_OTHER_BAG, pSrcItem, pDstItem);
return;

@heyitsbench
Copy link
Contributor

Bank-wise, I've swapped bags between existing bags in the bank: the items don't leave the bag they were in before the swap. I've swapped bags between a bag in my backpack and one in the bank, the item in the bank bag stays in the bank bag in the position post-swap. If too many items are in the bank bag to swap into the new bag, it gives the error These items cannot be swapped. Seems to yield the same results with specialized bags as in the normal inventory. (e.g. the aforementioned herb bag/felcloth bag swap circumstance) All looks good. 👍

@heyitsbench heyitsbench added Tested This PR has been tested and is working. and removed Waiting to be Tested labels Aug 26, 2023
@elthehablo
Copy link
Contributor

elthehablo commented Aug 26, 2023

Don't forget to include CC issue
image

@Kitzunu
Copy link
Member Author

Kitzunu commented Aug 26, 2023

If you see me forget it, please at least link the issue for me in the comment so I don't have to go looking for it. I don't work for cc 🤷

@Nyeriah Nyeriah merged commit 1ed1cd0 into azerothcore:master Sep 5, 2023
46 of 52 checks passed
@Kitzunu Kitzunu deleted the someweirdfix branch September 5, 2023 10:21
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
CORE Related to the core file-cpp Used to trigger the matrix build Ready to be Reviewed Tested This PR has been tested and is working.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Cannot swap bags unless old bag is empty Dropin replacement of bags not possible if not empty
5 participants