diff options
Diffstat (limited to 'src/game/Unit.cpp')
-rw-r--r-- | src/game/Unit.cpp | 31 |
1 files changed, 16 insertions, 15 deletions
diff --git a/src/game/Unit.cpp b/src/game/Unit.cpp index bfab6c85254..54d0f54c88f 100644 --- a/src/game/Unit.cpp +++ b/src/game/Unit.cpp @@ -108,7 +108,6 @@ Unit::Unit() //m_AurasCheck = 2000; //m_removeAuraTimer = 4; //tmpAura = NULL; - waterbreath = false; m_Visibility = VISIBILITY_ON; @@ -1588,18 +1587,6 @@ void Unit::DealMeleeDamage(CalcDamageInfo *damageInfo, bool durabilityLoss) CastSpell(pVictim, 1604, true); } - // update at damage Judgement aura duration that applied by attacker at victim - if(damageInfo->damage) - { - AuraMap& vAuras = pVictim->GetAuras(); - for(AuraMap::iterator itr = vAuras.begin(); itr != vAuras.end(); ++itr) - { - SpellEntry const *spellInfo = (*itr).second->GetSpellProto(); - if( spellInfo->AttributesEx3 & 0x40000 && spellInfo->SpellFamilyName == SPELLFAMILY_PALADIN && ((*itr).second->GetCasterGUID() == GetGUID())) - (*itr).second->RefreshAura(); - } - } - // If not miss if (!(damageInfo->HitInfo & HITINFO_MISS)) { @@ -5397,7 +5384,13 @@ bool Unit::HandleDummyAuraProc(Unit *pVictim, uint32 damage, Aura* triggeredByAu basepoints0 = GetAttackTime(BASE_ATTACK) * int32(ap*0.022f + 0.044f * holy) / 1000; break; } - + // Sacred Shield + if (dummySpell->SpellFamilyFlags&0x0008000000000000LL) + { + triggered_spell_id = 58597; + target = this; + break; + } switch(dummySpell->Id) { // Judgement of Light @@ -7856,7 +7849,7 @@ bool Unit::isSpellCrit(Unit *pVictim, SpellEntry const *spellProto, SpellSchoolM } // Glyph of Shadowburn if (spellProto->SpellFamilyName == SPELLFAMILY_WARLOCK && - spellProto->SpellFamilyFlags & 0x0000000000000080 && + spellProto->SpellFamilyFlags & 0x0000000000000080LL && pVictim->HasAuraState(AURA_STATE_HEALTHLESS_35_PERCENT)) { AuraList const& mOverrideClassScript = GetAurasByType(SPELL_AURA_OVERRIDE_CLASS_SCRIPTS); @@ -7864,6 +7857,14 @@ bool Unit::isSpellCrit(Unit *pVictim, SpellEntry const *spellProto, SpellSchoolM if((*i)->GetModifier()->m_miscvalue == 7917) crit_chance+=(*i)->GetModifier()->m_amount; } + // Sacred Shield + if (spellProto->SpellFamilyName == SPELLFAMILY_PALADIN && + spellProto->SpellFamilyFlags & 0x0000000040000000LL) + { + Aura *aura = pVictim->GetDummyAura(58597); + if (aura && aura->GetCasterGUID() == GetGUID()) + crit_chance+=aura->GetModifier()->m_amount; + } } break; } |