diff options
author | QAston <none@none> | 2009-04-15 20:59:07 +0200 |
---|---|---|
committer | QAston <none@none> | 2009-04-15 20:59:07 +0200 |
commit | 74725802350690813a4364ae94af466a19aa0bff (patch) | |
tree | 2cfaa86da56fbae7657c7264f9cec9cb7ada397b /src | |
parent | 441d042d5c5317e25193769c766b60e9cae6ced4 (diff) | |
parent | 8ca97f7bcbb7cc8d20eeefe2ee3c6646542ae6cb (diff) |
*Merge
--HG--
branch : trunk
Diffstat (limited to 'src')
-rw-r--r-- | src/game/Player.cpp | 1 | ||||
-rw-r--r-- | src/game/Spell.cpp | 7 | ||||
-rw-r--r-- | src/game/Unit.h | 8 |
3 files changed, 7 insertions, 9 deletions
diff --git a/src/game/Player.cpp b/src/game/Player.cpp index 65a3adae6b8..803f2b5ecef 100644 --- a/src/game/Player.cpp +++ b/src/game/Player.cpp @@ -3240,6 +3240,7 @@ void Player::_LoadSpellCooldowns(QueryResult *result) // some cooldowns can be already set at aura loading... //QueryResult *result = CharacterDatabase.PQuery("SELECT spell,item,time FROM character_spell_cooldown WHERE guid = '%u'",GetGUIDLow()); + if(result) { time_t curTime = time(NULL); diff --git a/src/game/Spell.cpp b/src/game/Spell.cpp index 073425741d7..d9aa5ffc2a1 100644 --- a/src/game/Spell.cpp +++ b/src/game/Spell.cpp @@ -1108,8 +1108,8 @@ void Spell::DoSpellHitOnUnit(Unit *unit, const uint32 effectMask) } unit->RemoveAurasWithInterruptFlags(AURA_INTERRUPT_FLAG_HITBYSPELL); - //if(m_customAttr & SPELL_ATTR_CU_AURA_CC) - //unit->RemoveAurasWithInterruptFlags(AURA_INTERRUPT_FLAG_CC); + if(m_customAttr & SPELL_ATTR_CU_AURA_CC) + unit->RemoveAurasWithInterruptFlags(AURA_INTERRUPT_FLAG_CC); } else { @@ -2220,9 +2220,6 @@ void Spell::prepare(SpellCastTargets const* targets, AuraEffect* triggeredByAura if(isSpellBreakStealth(m_spellInfo) ) m_caster->RemoveAurasWithInterruptFlags(AURA_INTERRUPT_FLAG_CAST); - if(!m_IsTriggeredSpell) - m_caster->RemoveAurasWithInterruptFlags(AURA_INTERRUPT_FLAG_ANY_CAST); - m_caster->SetCurrentCastedSpell( this ); m_selfContainer = &(m_caster->m_currentSpells[GetCurrentContainer()]); SendSpellStart(); diff --git a/src/game/Unit.h b/src/game/Unit.h index 4559bd97bba..3e7a93bad1f 100644 --- a/src/game/Unit.h +++ b/src/game/Unit.h @@ -59,9 +59,9 @@ enum SpellChannelInterruptFlags enum SpellAuraInterruptFlags { - AURA_INTERRUPT_FLAG_ANY_CAST = 0x00000001, // 0 removed by any cast + AURA_INTERRUPT_FLAG_HITBYSPELL = 0x00000001, // 0 removed when getting hit by a negative spell? AURA_INTERRUPT_FLAG_DAMAGE = 0x00000002, // 1 removed by any damage - AURA_INTERRUPT_FLAG_HITBYSPELL = 0x00000004, // 2 removed when getting hit by a negative spell? aoe damage? + AURA_INTERRUPT_FLAG_CC = 0x00000004, // 2 crowd control AURA_INTERRUPT_FLAG_MOVE = 0x00000008, // 3 removed by any movement AURA_INTERRUPT_FLAG_TURNING = 0x00000010, // 4 removed by any turning AURA_INTERRUPT_FLAG_JUMP = 0x00000020, // 5 removed by entering combat @@ -71,8 +71,8 @@ enum SpellAuraInterruptFlags AURA_INTERRUPT_FLAG_NOT_SHEATHED = 0x00000200, // 9 removed by unsheathing AURA_INTERRUPT_FLAG_TALK = 0x00000400, // 10 talk to npc / loot? action on creature AURA_INTERRUPT_FLAG_USE = 0x00000800, // 11 mine/use/open action on gameobject - AURA_INTERRUPT_FLAG_ATTACK = 0x00001000, // 12 removed by attacking (negative spell cast?) - AURA_INTERRUPT_FLAG_CAST = 0x00002000, // 13 cast stealth breaking spell + AURA_INTERRUPT_FLAG_ATTACK = 0x00001000, // 12 removed by attacking + AURA_INTERRUPT_FLAG_CAST = 0x00002000, // 13 ??? AURA_INTERRUPT_FLAG_UNK14 = 0x00004000, // 14 AURA_INTERRUPT_FLAG_TRANSFORM = 0x00008000, // 15 removed by transform? AURA_INTERRUPT_FLAG_UNK16 = 0x00010000, // 16 |