* Core/Player: add helper methods GetNativeGender/SetNativeGender/SetGender and fix some cases, where we should get player gender, instead of modified by display gender
* fix merge
* Add virtual methods for Unit class
(cherry picked from commit b47bb59e2a)
* Adding last state of rivendare rewrite
* Fix aura beeing removed on reset, fix death pact
* Not needed
* SQL: Changed remove/inset into update, fixed delete at conditions part
* Typo
* Remove link spell, fix blank lines, change magic numbers to enum
* Test changes with SpellScript and DoCastSelf
* Revert SpellScript and moved DoCastSelf for the aura into UpdateAI part
* Damn, copyright.
* Fix Unholy Aura
* Fix again (does attack now / does cast if encounter resets)
* Adding handling of the aura to the db
* Rename 2018_99_99_99_world_335.sql to 2019_05_31_02_world_335.sql
(cherry picked from commit ee5101fbf7)
* Core/Spell: add proper cooldowns to some spells used by vehicles, thanks to jackpoz and sirikfoll.
* Add Wing Buffet and Stampy's Stompy-Stomp.
* Add Tag Greater Felfire Diemetradon and Touch of Darkness.
* Rename 9999_99_99_99_world.sql to 2019_05_17_00_world.sql
(cherry picked from commit 4d04344b41)
- Decoupled Unit logic: split of spell critical chance into done (caster bonuses) and taken (target bonuses), this allows to precalculate caster bonuses on aura apply and then check victim's auras on damage/healing calc
- Made static a bunch of methods (they no longer have this pointer because they are now called from periodic handlers which may or may not have an active caster in world)
- Simplified all AuraEffect bonuses into AuraEffect::_amount, no more duplicated code
- Critical chance and whether or not caster is player owned unit (for resilience calcs) is now saved one level upper, on Aura itself (it's impossible as of 3.3.5 to have different effects with different critical chances)
- Minor cleanup of SPELL_DAMAGE_CLASS_NONE and Arcane Potency (#18813) crit handling
Closes#19876
(cherry picked from commit cb9e72e521)
Core/Spell: The giant CastSpell unclusterfucking (that's a word now) of this generation.
- CastSpell now always takes three arguments - target, spellId, and a struct containing extra arguments
- This struct (CastSpellExtraArgs, see SpellDefines.h) serves as a conglomerate of every previous combination of the 20 billion different CastSpell overloads, all merged into one
- It has some great utility constructors - check them out! All of these can be used to implicitly construct the ExtraArgs object.
- A gajillion refactors to make everything behave the way it always has
(cherry picked from commit d507a7e338)
Ref #18542
- Implemented Choking Vines transformation at 5 stacks
- Implemented periodic Aura of Fear ticks
- Fixed Savage Rend passive proccing on anything (raptor pets)
(cherry picked from commit de9f904269)
(cherry picked from commit 32e2207ab9)
(cherry picked from commit 9934a43e09)