This is solve problems with talents/glyphs/etc that affect of some talent/passive ability bonus in case:
affected talent/ability spell aura already applied before spellmod apply and not affecte as must until relearn/reload.
Example: talent 14983 and later applied glyph 42971.
Also drop dead code for removed in 3.x talent 12303.
* Drop learning form passives at form psell learning, and cast it explictly from code in all cases.
* Drop cast form passives at learning.
* Note: talents that have dependent form time passives still work in original way: learned and casted at learn if need.
* Drop hack for spell 24907 casting at form apply: it casted fines as result normal triggered effect in related form spell.
Original patch provided by nos4r2zod.
* Make spell 40216 and 42016 casted/remove at aura 40214 apply/remove.
And drop related spell_area possible existed data.
* In general restore apply area limitations to spell casting in GM mode.
* Use counter for aura uses lock for recursivly mark as used in some cases.
* At aura remove add aura to deleting delayed auras list for aura target.
* Remove now unneeded hacks from aura handlers and aura tick code (maybe not all found yet)
* Use new aura delete locking for simplify proc spell event code.
* Prevent apply aura boost spells if aura deleted while adding to target by triggered spells.
* Re-implement aura list updating at auras update for target to better way skip
removed from aura list auras while auras update.
This provided more clear place where dependent auras can be applied/removed,
if expected manual apply _with_ aura remove at parent aura expire.
This can be used for more cases.
In current state it implement additional effects for
29836 and ranks, 61846 and ranks, 31869, 53379 and ranks, 20254 and ranks,
20138 an ranks, 48263, and 48265.
Signed-off-by: VladimirMangos <vladimir@getmangos.com>
Thanks to KAPATEJIb for proper rank and chance selection.
Thanks to raftom for proper aura remove mode detection
Thanks to me for proper triggered spell casting affect diminitshing return group selection.
* This can prevent removing single cast aura of same id and effect
but different caster what can cause assert in next code.
Thanks Vladimir for hints.
Signed-off-by: ApoC <apoc@nymfe.net>
* Support correct aura state at server set for different casters effects
* Correctly check this telent (per caster) aura state at cast
* Correctly show per-caster aura state for cleitns.
* Implement DoT apply for 47897 and ranks.
* Implement propertly aura state update at add/remove 47897/348 and ranks
* Update checks for 29722 and ranks for bonus damage
Signed-off-by: VladimirMangos <vladimir@getmangos.com>
After switch to 3.x.x all data get explcitly from ClassMask fields in spell.dbc
and no need in custom values.
Signed-off-by: VladimirMangos <vladimir@getmangos.com>