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(DB/Gameobject): Rebuild all Eastern Kingdoms gathering nodes using sniffed data #18898

Merged
merged 2 commits into from
May 14, 2024

Conversation

Gultask
Copy link
Contributor

@Gultask Gultask commented May 14, 2024

Thank you @heyitsbench and @neifion-00000000 for snoffs
Thanks @sudlud for giving me all the data curated

The method I used is a simplified version (due to large amount of nodes and zones) of my earlier work in Outlands. After sorting the nodes, I then create between 2 and 5 "sub-zones" which rotate their own spawn points and are pooled separately.
This is done for 2 reasons:

  1. It adds more variety into the spawns. It avoids clumping all nodes into only some portions of the zones, causing too much barren segments.
  2. When someone only picks one type of node (Fadeleaf instead of Kingsblood) or farms in only one part of the zone (North instead of South), in time spawns will congregate into Kingsblood contained within the opposite side of the zone. Separating zones into sub-zones and making a pool for each node id alleviates much of these issues.

In Blizz, the likely method they use is single pools. See my post for proof: Gultask/Research-Wotlk#1 (comment)

Two examples of a zone divided into sub-zones:

EK - The Hinterlands

EK - Stranglethorn Vale

Caves are separate as well, and some special cases too. To see all subzones, use

SELECT * FROM `pool_template` WHERE `description` LIKE '%Zone%' ORDER BY `entry` DESC;

Oh, and the amount of nodes each pool can spawn is (number of spawn points)/4 rounded up

Changes Proposed:

This PR proposes changes to:

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

Issues Addressed:

maybe more

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.
  1. run around with Find Herbs and Find Minerals I dunno :p

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.

@github-actions github-actions bot added the DB related to the SQL database label May 14, 2024
@Gultask
Copy link
Contributor Author

Gultask commented May 14, 2024

yeah I'll also do Kalimdor in time :)))

Edit: I'll also add in the details in the PR proper, maybe I'll write a wiki article too

@elthehablo
Copy link
Contributor

What needs testing still? Should be good to go, no?

@Gultask
Copy link
Contributor Author

Gultask commented May 14, 2024

Yeah, probably :p

@Gultask Gultask merged commit fd7c8a0 into azerothcore:master May 14, 2024
16 checks passed
@Gultask Gultask deleted the eastern_kingdoms_nodes branch May 14, 2024 22:59
@heyitsbench
Copy link
Contributor

Sick.

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