- A problem when a different spell tries to overwrite existing ModTakingSpell should no longer happen
(cherrypicked from e261754c9cd8b14a0555e866b4e193e1fe3c25ae)
- Fixed possible exploit with tamed pets having template immunities
- Implemented binary resistances
- Corrected resistances calculations
- Pets properly inherit players spell penetration
- Fixed doubled block calculation for damaging melee spells
- Auras removing snare effects will only remove the snaring component
- Shapeshifting will properly remove movement impairing auras only and not crowd control (dragon's breath)
- Immunities are properly checked versus all schools appearing in spell, unit is immune only if immune to all schools
- Spells with melee and magic school mask should compare armor reduction with resistances and select smaller reduction
- Demonic Circle: Teleport no longer removes root effects
(cherrypicked from 93746e8c4a79c8256cd4896533315683f143508c)
* Remade trajectory target selection
* Added possibility to apply conditions to trajectory spells
* Properly recalculate delay time if CMSG_UPDATE_PROJECTILE_POSITION is received
(cherrypicked from c6060dd0c511ddad3cb1f0423aa9ccf2de7aedec)
Allowed mechanic mask is calculated on startup and auras checked against those mechanics
Closes#18798
(cherrypicked from 3544577e48f3cf4fe4eae670facb3e5f77608e68)
(cherrypicked from 53eb6ec61628147046f1e8996e05921a00726c11)
- Fixes an issue with generic mount scripts where the dummy aura was applied and removed then the real mount was applied
- Pets would be unsummoned, resummoned and unsummoned again in an instant
Closes#16783
(cherry picked from commit 584d347b70be521d7431dfe1694b80f2e95b957b)
- Unsure of what is the correct check, most generic thing I could make
Closes#18479
(cherry picked from commit 452ef146f41a9bf06ca2bfb8dc9f26ca20b4fb83)
- Some function renames
- Used in some client checks but not 100% sure of its usage (eg in CGUnit_C::CheckAndReportSpellInhibitFlags but not in Spell_C::IsUsableAction)
Closes#18366
(cherry picked from commit 77a08ad73cac678ad6b85723cf2e352a8a4e355b)
- 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)