diff options
| author | QAston <qaston@gmail.com> | 2011-06-26 19:31:11 +0200 |
|---|---|---|
| committer | QAston <qaston@gmail.com> | 2011-06-26 19:31:11 +0200 |
| commit | faaba1aa65c17ca48f4f8d25612e4ff5f4afcd5e (patch) | |
| tree | 45e8d06e2ec2f3be2b9b7e1368f22463e816f908 /src/server/game/Spells/SpellMgr.h | |
| parent | d2e1f5a2592dbfeecd188c5edc78e38617257f05 (diff) | |
Core/Auras: Improvements in spell_linked_spell table handling, now auras with using this table have linked stack amount, also linked aura removal is called now when aura is removed on target death.
Diffstat (limited to 'src/server/game/Spells/SpellMgr.h')
| -rwxr-xr-x | src/server/game/Spells/SpellMgr.h | 11 |
1 files changed, 8 insertions, 3 deletions
diff --git a/src/server/game/Spells/SpellMgr.h b/src/server/game/Spells/SpellMgr.h index 4c2ce3741c0..c6d875bf0cf 100755 --- a/src/server/game/Spells/SpellMgr.h +++ b/src/server/game/Spells/SpellMgr.h @@ -311,6 +311,11 @@ inline bool IsPassiveSpellStackableWithRanks(SpellEntry const* spellProto) return !IsSpellHaveEffect(spellProto, SPELL_EFFECT_APPLY_AURA); } +inline bool IsMultiSlotAura(SpellEntry const* spellProto) +{ + return IsPassiveSpell(spellProto) || spellProto->Id == 44413; +} + inline bool IsDeathPersistentSpell(SpellEntry const *spellInfo) { return spellInfo->AttributesEx3 & SPELL_ATTR3_DEATH_PERSISTENT; @@ -723,7 +728,7 @@ enum ProcFlagsSpellPhase enum ProcFlagsHit { - PROC_HIT_NONE = 0x0000000, // no value - PROC_HIT_NORMAL | PROC_HIT_CRITICAL for TAKEN proc type, PROC_HIT_NORMAL | PROC_HIT_CRITICAL | PROC_HIT_ABSORB + PROC_HIT_NONE = 0x0000000, // no value - PROC_HIT_NORMAL | PROC_HIT_CRITICAL for TAKEN proc type, PROC_HIT_NORMAL | PROC_HIT_CRITICAL | PROC_HIT_ABSORB for DONE PROC_HIT_NORMAL = 0x0000001, // non-critical hits PROC_HIT_CRITICAL = 0x0000002, PROC_HIT_MISS = 0x0000004, @@ -769,8 +774,8 @@ struct SpellProcEntry uint32 spellTypeMask; // if nonzero - bitmask for matching proc condition based on candidate spell's damage/heal effects, see enum ProcFlagsSpellType uint32 spellPhaseMask; // if nonzero - bitmask for matching phase of a spellcast on which proc occurs, see enum ProcFlagsSpellPhase uint32 hitMask; // if nonzero - bitmask for matching proc condition based on hit result, see enum ProcFlagsHit - uint32 attributesMask; - float ratePerMinute; // if nonzero - chance to proc is equal to value * weapon speed / 60 + uint32 attributesMask; // bitmask, see ProcAttributes + float ratePerMinute; // if nonzero - chance to proc is equal to value * aura caster's weapon speed / 60 float chance; // if nonzero - owerwrite procChance field for given Spell.dbc entry, defines chance of proc to occur, not used if perMinuteRate set float cooldown; // if nonzero - cooldown in secs for aura proc, applied to aura uint32 charges; // if nonzero - owerwrite procCharges field for given Spell.dbc entry, defines how many times proc can occur before aura remove, 0 - infinite |
