Skip to content

Conversation

@UndoUreche
Copy link
Contributor

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:

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. Create a feral druid character
  2. Invest into survival of the fittest (0, 1, 2, 3 points) and/or add extra defense rating
  3. Allow mobs up to 3 levels above you to attack you
  4. At 3 points, defense cap, or a combination of points and defense rating, the player should no longer be dazed

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 file-cpp Used to trigger the matrix build labels Oct 29, 2025
@UndoUreche
Copy link
Contributor Author

The probability numbers I've chosen for every rank of the talent match the probability to be dazed by a creature 3 levels higher than the player (3 levels, such that it matches boss levels and defense caps):

  • 7.38f = 1/3 of the total chance
  • 14.761f = 2/3 of the total chance
  • 22.142f = 3/3 of the total chance

decreasing the probability like this, rather than denying the spell allows higher level creatures to still daze the player in spite of the talent (like they would in spite of the def cap) and allows the player to mix in defense to complement the talent points invested

@Tereneckla
Copy link
Contributor

I'd say it's more likely the daze chance should be modified in relation to the total SPELL_AURA_MOD_ATTACKER_MELEE_CRIT_CHANCE AuraEffect amount

Druid is the only class that can get crit immune with that so they are the only one that was noticed on

@UndoUreche
Copy link
Contributor Author

I'd say it's more likely the daze chance should be modified in relation to the total SPELL_AURA_MOD_ATTACKER_MELEE_CRIT_CHANCE AuraEffect amount

Druid is the only class that can get crit immune with that so they are the only one that was noticed on

Yeah, a solution that ties the chance to be dazed to the chance to be crit would be better. I'm not familiar with this enum (assuming that's what it is). Are there any docs for it I could look up?

@Tereneckla
Copy link
Contributor

There is a reference for auras that have MiscValues to affect their meaning (this one is not one of them)
https://www.azerothcore.org/wiki/spell-aura-reference

In this case you just need to call victim->GetTotalAuraModifier(SPELL_AURA_MOD_ATTACKER_MELEE_CRIT_CHANCE); to get the crit chance modification ( a negative value)

@UndoUreche
Copy link
Contributor Author

There is a reference for auras that have MiscValues to affect their meaning (this one is not one of them) https://www.azerothcore.org/wiki/spell-aura-reference

In this case you just need to call victim->GetTotalAuraModifier(SPELL_AURA_MOD_ATTACKER_MELEE_CRIT_CHANCE); to get the crit chance modification ( a negative value)

ended up using GetUnitCriticalChance to avoid duplicating the code for that calculation

@Tereneckla
Copy link
Contributor

That function includes many other modifiers. One of which, resilience rating, definitely does not affect the chance to be dazed

@UndoUreche
Copy link
Contributor Author

That function includes many other modifiers. One of which, resilience rating, definitely does not affect the chance to be dazed

hmmm, you're right, that would be a stretch. Fixing this right away

…r modifiers taking part. Added aura-based crit chance reduction by converting it back to def
@UndoUreche
Copy link
Contributor Author

Right, this should do

@heyitsbench heyitsbench merged commit 158ef9c into azerothcore:master Nov 12, 2025
17 checks passed
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

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants