aboutsummaryrefslogtreecommitdiff
path: root/src/game/Unit.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/game/Unit.cpp')
-rw-r--r--src/game/Unit.cpp31
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;
}