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(DB/Loot): Near complete loot rework of Vanilla overworld zones #18796
Conversation
Sick. |
scared |
Before marking it as done I'll see if I can:
This would be done only for creatures I've modified, so there'll be plenty of examples/templates to use later on creatures I've missed |
I decided against changing food & water drops for now. So it's done, I believe. |
Finished wrapping up the worldserver errors, had some issues with GroupIds and Reference loot but it shouldn't affect much. Don't exactly know how to test besides checking if the entire loot system has broken down, which so far hasn't 😬 |
In total lowers creature_loot_template by about ~100k rows but adds ~35k to reference_loot_template |
how is the schema working for reference groups that contain 2 different rarity types? (e.g. Dire maul bosses) |
I didn't mess with instance creatures for now, only overworld ones, or at least creatures with rank 0 that have at least one spawn in EK and Kalimdor (maps 0, 1) Instances I imagine can get trickier and have their own peculiarities, as you just pointed out :p |
but wouldnt it make sense to consider those upfront before re-inventing a schema that may only be applicable to half the data stack in the end? |
A lot of instances may have their own rules and use their own specialized reference templates. If not they can re-use the ones I added here. But regardless, there were several different schema before, probably made by several different people over years, which honestly just made it a bit messy, so this would standardize it. It's not supposed to be a strict rule, either, just something that makes it easier to sort through loot, so if it needs another rework in the future it'll be easier to replace all of these with something newer. Besides, 100k rows of bloat removed is already an improvement :P |
How do we plan on making the new schema publicly known? Some kind of wiki update? |
I was thinking of a section in the creature_loot_template page. |
Sounds good. I will merge this |
The worst that can happen is that we rollback any changes 🥴 |
I just forgor |
1 similar comment
I just forgor |
What this does is essentially restructuring the many old messy loot system with a more organized one.
Using References Between 1000000 and 2000000 we can add identifiers to reference loot, following these rules
This was first taken from one of @neifion-00000000 's ideas and then modified to fit what we had on hand.
I used mainly Cmangos' database to gather the references, then added to each creature systematically. Checking each to see if nothing horrible would happen, and removing oddities when I found them.
With this the number of rows in creature_loot_template lowers significantly
Changes Proposed:
This PR proposes changes to:
Issues Addressed:
SOURCE:
The changes have been validated through:
Tests Performed:
This PR has been:
How to Test the Changes:
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.