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

refactor(Core/Packet): use WorldPackets::WorldState::InitWorldStates definition #20475

Open
wants to merge 13 commits into
base: master
Choose a base branch
from

Conversation

sogladev
Copy link
Contributor

@sogladev sogladev commented Nov 6, 2024

Changes Proposed:

This PR proposes changes to:

  • Core (units, players, creatures, game systems).
  • Scripts (bosses, spell scripts, creature scripts).
  • Database (SAI, creatures, etc).
  1. cherry-pick implementation WorldPackets::WorldState::InitWorldStates from tc335
  2. refactor GraveYard -> Graveyard

changes in acore vs tc that may need some attention

AB:
acore: resource limit 1600, warning limit 1400
tc: 2000, 1600
unchanged, 1600/1400

arena seasons:
acore: 3901 current season. current season is also sent in 3191
tc: 3901 previous arena season. current season is sent in 3191
changed 3901 to send previous season

added scourge event packets

icc, cos, ulduar
preserved map checks
they were removed in cp
if (instance && mapid == 631)
kept checks

culling of stratholme (cos)
acore: WORLDSTATE_SHOW_CRATES is set to 0
tc: 1
unchanged, 0

halls of reflection
missing FillInitialWorldStates
added in TC update TrinityCore/TrinityCore@8e7cf15

ICC
on acore remaining attempts are always shown. should only be in HC like in tc.
unchanged, always sent but added comment

oculus
missing FillInitialWorldStates
added in TC cleanup TrinityCore/TrinityCore@2c307aa

Violet hold
missing FillInitialWorldStates
added in TC rewrite TrinityCore/TrinityCore@df21162

outdoorpvpEP
acore also sends

    data << EP_UI_TOWER_SLIDER_DISPLAY << uint32(0);
    data << EP_UI_TOWER_SLIDER_POS << uint32(50);
    data << EP_UI_TOWER_SLIDER_N << uint32(100);

unchanged

OutdoorPvPHP
acore also sends

    data << uint32(HP_UI_TOWER_COUNT_H) << uint32(m_HordeTowersControlled);
    data << uint32(HP_UI_TOWER_SLIDER_DISPLAY) << uint32(0);
    data << uint32(HP_UI_TOWER_SLIDER_POS) << uint32(50);
    data << uint32(HP_UI_TOWER_SLIDER_N) << uint32(100);

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

TrinityCore/TrinityCore@e69570d

followup TrinityCore/TrinityCore@7fdf970

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.

@github-actions github-actions bot added CORE Related to the core Script file-cpp Used to trigger the matrix build labels Nov 6, 2024
"virtual" is redundant since function is already declared as "override"
{
data << uint32(3610) << uint32(1); // 9 show
Arena::FillInitialWorldStates(data);
packet.Worldstates.emplace_back(0xe1a, 1); // ARENA_WORLD_STATE_ALIVE_PLAYERS_SHOW
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Well here it was decimal and you made it into hex now :p not sure if there's a prereference

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I replaced all instances with hex format since hex is commonly used to represent packet data. It’s probably best to use hex for consistency

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Either way, it should be replaced with enums eventually. >:D

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 Script
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants