- Handling checked in sniffs: Spell 63710 Void Barrier vs 49143 Frost Strike
* Send spell miss immune only if spell consists of damage effects
- Checked with 348 Immolate:
* No packets sent if damage immune, aura is applied normally
Also... who the fuck uses 0 to compare against pointers
(cherry picked from commit ca1c4525c7da320da2c0a55bfd803879e3cf60b2)
Core/Unit: fix build
Ctrl-S failure
(cherry picked from commit f3bdd705c0e3ab28585406ae8e08da44a09b14df)
Fixes an issue with Skadi Harpoons.
Note to self: should actually implement GameObject casting already :/
(cherry picked from commit 3f1d020a2cee1436c5e0c891bc7a63147659b497)
- Spell attributes research
- Container optimization
- Do not skip damage immunity checks on SPELL_ATTR0_UNAFFECTED_BY_INVULNERABILITY present
- Added additonal arguments support to SendCastResult / CheckCast, spells can now send proper error messages
- Loads spell immune masks/states/effects at startup.
- This cached info is used whenever a spell cast requires immunities to be known beforehand (to see if an aura could be applied for example)
Closes#16658Closes#16901Closes#18114
(cherry picked from commit 50a3ce5703bdaa4fe16e2e773eabafa9a4818083)
Core/Spell: fix warning
(cherry picked from commit 3588ff894bef2fc1f1600c73ad67fbdceecf8e2a)
Core/Unit: misc codestyle
use typedef for constant reference
(cherry picked from commit 7943150dcb20597f30259354563d79fb1606b21f)
Core/Spell: Fixed immunities for some spells (they were broken before rewrite too)
- Warlord's Presence, Uncontrollable Frenzy, Free Friend
- Overload, Lightning Tendrils
- Fervor, Berserk
- Determination
(cherry picked from commit fc6844173f70f436b92fb0dbc4398290ce935038)
Core/Spell: fix typos
(cherry picked from commit f060efbdb4c51a7fe22cb6a9012cc76477a1f92b)
Core/Unit: improved handling of some spell attributes
- SPELL_ATTR1_UNAFFECTED_BY_SCHOOL_IMMUNE
- SPELL_ATTR2_UNAFFECTED_BY_AURA_SCHOOL_IMMUNE
- SPELL_ATTR3_IGNORE_HIT_RESULT
(cherry picked from commit 352c84943c4495631a5dd1e9285cde35fdc23c37)
Core/Spell: fix typo
Closes#18248
(cherry picked from commit 1ad9c7d3fd4e7cfb2a6b12fc37bd748cf5fd772b)
Core/Spell: perform charmer check against player controlling unit. Fixes spellcasts while charmed
(cherry picked from commit 425f6c3c34b72190e481ba89fd4757df238475d8)
Core/Unit: don't use damage immunity to calculate hit result for the whole spell. Should be used only for damage
(cherry picked from commit 9f5df023b746d324588f175e264c62205b69e165)
Core/Spell: fix a potential null dereference crash
(cherry picked from commit 64304d8b2b33ac04d3013d47b2f50c5023300c2e)