* Replace reqClass by reqSkillVlaue field in `skill_discovery_template`
and check expected skill points amount for specific reipe discovery.
* Add new `spell_loot_template` loot table for store item selection data for spells.
At this moment for expclicit recipes discovery spells.
* Code cleanups.
Coorrect update Talent Points on levelup / leveldown
Unlearn other ranks of learned talent
Fix typo in Pet::HasSpell (wrong result for removed spell)
Allow .reset talents reset pet talent
Implement SPELL_AURA_MOD_PET_TALENT_POINTS aura (hunter talent)
Only reset pet talent from trainer unlearn.
Signed-off-by: DiSlord <dislord@nomail.com>
* Implement SPELL_EFFECT_CREATE_ITEM_2 (157). This alos let work many item creating spells.
* Add `skill_discovery_template`.`reqClass` for allow clas specific racipes storing in table.
* Make primary key for `skill_discovery_template` pair (spellId,reqSpell) that allow have duplicate recipes for different reqSpells.
* Implement SPELL_EFFECT_SCRIPT (77) cases for explicit recipe discovery spells with learn spell selected by `skill_discovery_template` data.
Note: as expected explicit recipe discovery abilities always return some spell while exist any not learned yet for player class.
Correct totem immunes for dot/leech/Fear/Transform auras (immune only to effect)
Correct log if all effects immuned by Effect Immune
Move check for IMMUNITY_STATE to Unit::IsImmunedToSpellEffect
Signed-off-by: DiSlord <dislord@nomail.com>
Add use autorepeat flag and set more corect triggers flag for ranged autorepeat spells
Restore work paladin 20210 and ranks after client switch
Add 6-7 scripted paladin shock spell (also add it in dummy and fix flag)
Hidden cooldown and hacky (need more fixes in triggers) fix for 33953
Remove not used code
Signed-off-by: DiSlord <dislord@nomail.com>
Allow stack some auras from some caster in one
Move apply/remove aura state on apply/remove aura (on 1 add / on last remove)
Correctly fill aura flag and send duration update to client
Not use m_procCharges for store satack amount, used m_stackAmount
Fixes in HandlePeriodicDamage (use m_stackAmount, fix formulas to 303, optimisation)
Fixes in Spell::EffectSchoolDMG (use m_stackAmount, fix formulas to 303)
Remove unused uint32 m_PeriodicEventId from aura struct
Add Unit::RemoveSingleSpellAurasFromStack for remove one Spell auras from stack
Add Aura::RefreshAura() for refresh aura duration
Signed-off-by: DiSlord <dislord@nomail.com>
Also disable incorrect used vanity pets/currences/quest items special slotes. All items in its will be send by mail to characters at re-login.
Fixed code for item stacks operations with size > 255.
Allow proc from every kill
Fix (and remove hack) priest 32379 and rank (backfire damage after 1 sec)
Remove not need stack overflow protection
Signed-off-by: DiSlord <dislord@nomail.com>