From b47ef3ce90f6192784f8ce903b6738d568631809 Mon Sep 17 00:00:00 2001 From: Ovah Date: Sat, 1 Oct 2022 17:21:07 +0200 Subject: 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 --- src/server/shared/enuminfo_SharedDefines.cpp | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) (limited to 'src/server/shared/enuminfo_SharedDefines.cpp') 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::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::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::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; -- cgit v1.2.3