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): correct SpellPriority logic #21052

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

Conversation

sogladev
Copy link
Member

@sogladev sogladev commented Dec 28, 2024

Changes Proposed:

This PR proposes changes to:

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

corrects original implementation of SpellPriority and subsequent inaccurate fix for auras with charges:

This PR can cause regressions, the following interactions may be affected:

did not cp:

  • Shaman's clearcasting/elemental mastery: "Clearcasting - Shaman - need to be applied before elemental mastery", unsure of this interaction

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

when applying spellmods, sort them based on their spell priority based on : cmangos/mangos-wotlk@3d2fccf

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.

Tested:

  • Mage Missile Barrage, Clearcasting
  • Mage Hot Streak, Brain Freeze
  • Warrior Juggernaut, Recklessness
  • DK Deathchill/Killing Machine
  • Warlock Backdraft/Backlash

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.

sogladev and others added 4 commits December 28, 2024 11:10
based on "Spell: Rework Spellmods using trickle down RAII principle"
cmangos/mangos-wotlk@3d2fccf

Co-authored-by: killerwife <[email protected]>
everything is public
@github-actions github-actions bot added CORE Related to the core file-cpp Used to trigger the matrix build labels Dec 28, 2024
@Kitzunu
Copy link
Member

Kitzunu commented Dec 28, 2024

@azerothcore/bug-triaging Perhaps one of you wanna test this to see if it works? :)

@Exitare
Copy link
Member

Exitare commented Dec 29, 2024

I can certainly test this (starting next week), but I would appreciate clear instructions on how to test this PR.
I dont see particular value for testing every single mentioned PR in here, without even knowing what this particular PR be be fixing and what the expected baseline should be.

@TheSCREWEDSoftware
Copy link
Contributor

I can certainly test this (starting next week), but I would appreciate clear instructions on how to test this PR. I dont see particular value for testing every single mentioned PR in here, without even knowing what this particular PR be be fixing and what the expected baseline should be.

At least for the issues it closes: it's related to the Recklessness + Juggernaut behaviour and copying and pasting from the issue the way to reproduce:

  1. Cast Recklesness
  2. Charge with Juggernaut talent
  3. Use Mortal Strike
  4. If it doesn't crit, thats an issue

@Nyeriah
Copy link
Member

Nyeriah commented Dec 29, 2024

Most important thing here is testing for the regressions. So they can be addressed before this is merged, if any

@kissingers
Copy link
Contributor

When a mage uses Blizzard, if the talent includes a freezing effect, the frozen status of the monsters will be instantly broken, instead of being frozen for more seconds as before. unclear whether these fix caused.

@sogladev
Copy link
Member Author

sogladev commented Jan 7, 2025

When a mage uses Blizzard, if the talent includes a freezing effect, the frozen status of the monsters will be instantly broken, instead of being frozen for more seconds as before. unclear whether these fix caused.

The damage threshold to break was changed in 00eeb00, so it should break sooner on high hp mobs (like elites).

frostbite also has a priority value, so I tested blizzard+frostbite before and with this PR: didn't see any changes. Frostbite refreshes as expected

@kissingers
Copy link
Contributor

Actually, currently if you use the high-level Blizzard spell, no matter how many mages there are, they cannot prevent the movement of the Sunwell's minions, as the freeze effect will always be broken. However, if everyone uses the low-level Blizzard, just 3-4 mages can keep the minions immobile throughout the entire process.

#21072
This test shows that the player level and mob level have not changed, but the spell level has. The damage also changes with the spell level, but the freezing effect varies greatly and is not as described in the PR maintain: use caster's level to scale amount to break crowd control auras, but use spell or damge level to scale amount to break crowd control auras

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 Waiting to be Tested
Projects
None yet
7 participants