diff options
author | Ovah <dreadkiller@gmx.de> | 2022-10-01 17:21:07 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2022-10-01 17:21:07 +0200 |
commit | b47ef3ce90f6192784f8ce903b6738d568631809 (patch) | |
tree | 6db340ab46755252d18316a8d4205331e75314da /src/server/shared/enuminfo_SharedDefines.cpp | |
parent | 2b8fc95fdec69ca5c057c2e63a1313d8165d44ea (diff) |
Core/Spells: fixed up block mechanics (#28286)
* Ranged attacks can now be blocked
* Implement SPELL_ATTR3_COMPLETELY_BLOCKED
* Fixed a bug which was causing blocking to block entire spell effects regardless if the attribute was present or not
* Fixed a logic mistake which was causing blocks to roll twice (once for effect negation and once on hit)
* No longer send blocked miss conditions in spell_go packets when the spell is not completely blocked to match sniff data
Diffstat (limited to 'src/server/shared/enuminfo_SharedDefines.cpp')
-rw-r--r-- | src/server/shared/enuminfo_SharedDefines.cpp | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/src/server/shared/enuminfo_SharedDefines.cpp b/src/server/shared/enuminfo_SharedDefines.cpp index 31398718e2f..bc6b4d77638 100644 --- a/src/server/shared/enuminfo_SharedDefines.cpp +++ b/src/server/shared/enuminfo_SharedDefines.cpp @@ -658,7 +658,7 @@ TC_API_EXPORT EnumText EnumUtils<SpellAttr3>::ToString(SpellAttr3 value) case SPELL_ATTR3_UNK0: return { "SPELL_ATTR3_UNK0", "Unknown attribute 0@Attr3", "" }; case SPELL_ATTR3_IGNORE_PROC_SUBCLASS_MASK: return { "SPELL_ATTR3_IGNORE_PROC_SUBCLASS_MASK", "SPELL_ATTR3_IGNORE_PROC_SUBCLASS_MASK", "1 Ignores subclass mask check when checking proc" }; case SPELL_ATTR3_UNK2: return { "SPELL_ATTR3_UNK2", "Unknown attribute 2@Attr3", "" }; - case SPELL_ATTR3_BLOCKABLE_SPELL: return { "SPELL_ATTR3_BLOCKABLE_SPELL", "Blockable spell", "" }; + case SPELL_ATTR3_COMPLETELY_BLOCKED: return { "SPELL_ATTR3_COMPLETELY_BLOCKED", "Completely Blocked", "" }; case SPELL_ATTR3_IGNORE_RESURRECTION_TIMER: return { "SPELL_ATTR3_IGNORE_RESURRECTION_TIMER", "Ignore resurrection timer", "" }; case SPELL_ATTR3_UNK5: return { "SPELL_ATTR3_UNK5", "Unknown attribute 5@Attr3", "" }; case SPELL_ATTR3_UNK6: return { "SPELL_ATTR3_UNK6", "Unknown attribute 6@Attr3", "" }; @@ -702,7 +702,7 @@ TC_API_EXPORT SpellAttr3 EnumUtils<SpellAttr3>::FromIndex(size_t index) case 0: return SPELL_ATTR3_UNK0; case 1: return SPELL_ATTR3_IGNORE_PROC_SUBCLASS_MASK; case 2: return SPELL_ATTR3_UNK2; - case 3: return SPELL_ATTR3_BLOCKABLE_SPELL; + case 3: return SPELL_ATTR3_COMPLETELY_BLOCKED; case 4: return SPELL_ATTR3_IGNORE_RESURRECTION_TIMER; case 5: return SPELL_ATTR3_UNK5; case 6: return SPELL_ATTR3_UNK6; @@ -743,7 +743,7 @@ TC_API_EXPORT size_t EnumUtils<SpellAttr3>::ToIndex(SpellAttr3 value) case SPELL_ATTR3_UNK0: return 0; case SPELL_ATTR3_IGNORE_PROC_SUBCLASS_MASK: return 1; case SPELL_ATTR3_UNK2: return 2; - case SPELL_ATTR3_BLOCKABLE_SPELL: return 3; + case SPELL_ATTR3_COMPLETELY_BLOCKED: return 3; case SPELL_ATTR3_IGNORE_RESURRECTION_TIMER: return 4; case SPELL_ATTR3_UNK5: return 5; case SPELL_ATTR3_UNK6: return 6; |