aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/game/SharedDefines.h2
-rw-r--r--src/game/SpellAuras.cpp4
-rw-r--r--src/game/SpellEffects.cpp6
-rw-r--r--src/game/Unit.cpp6
4 files changed, 17 insertions, 1 deletions
diff --git a/src/game/SharedDefines.h b/src/game/SharedDefines.h
index cebd9c07e5d..639bc5f5e81 100644
--- a/src/game/SharedDefines.h
+++ b/src/game/SharedDefines.h
@@ -911,7 +911,7 @@ enum AuraState
AURA_STATE_SWIFTMEND = 15, // T |
AURA_STATE_DEADLY_POISON = 16, // T |
AURA_STATE_ENRAGE = 17, // C |
- //AURA_STATE_UNKNOWN18 = 18, // C t|
+ AURA_STATE_BLEEDING = 18, // T|
//AURA_STATE_UNKNOWN19 = 19, // | not used
//AURA_STATE_UNKNOWN20 = 20, // c | only (45317 Suicide)
//AURA_STATE_UNKNOWN21 = 21, // | not used
diff --git a/src/game/SpellAuras.cpp b/src/game/SpellAuras.cpp
index a88ff097673..027a648cd80 100644
--- a/src/game/SpellAuras.cpp
+++ b/src/game/SpellAuras.cpp
@@ -1129,6 +1129,10 @@ void Aura::_AddAura()
if(m_spellProto->Dispel == DISPEL_ENRAGE)
SetAuraState(AURA_STATE_ENRAGE);
+ // Bleeding aura state
+ if (GetAllSpellMechanicMask(m_spellProto) & 1<<MECHANIC_BLEED)
+ SetAuraState(AURA_STATE_BLEEDING);
+
if(GetSpellSchoolMask(m_spellProto) & SPELL_SCHOOL_MASK_FROST)
{
for (uint8 i = 0;i<MAX_SPELL_EFFECTS;++i)
diff --git a/src/game/SpellEffects.cpp b/src/game/SpellEffects.cpp
index e19dae8601f..674fe0e2ba6 100644
--- a/src/game/SpellEffects.cpp
+++ b/src/game/SpellEffects.cpp
@@ -1549,6 +1549,12 @@ void Spell::EffectDummy(uint32 i)
}
break;
case SPELLFAMILY_ROGUE:
+ // Hunger for Blood
+ if (m_spellInfo->SpellFamilyFlags[1] & 0x1000000)
+ {
+ m_caster->CastSpell(m_caster, 63848, true);
+ break;
+ }
switch(m_spellInfo->Id )
{
case 5938: // Shiv
diff --git a/src/game/Unit.cpp b/src/game/Unit.cpp
index 75ee0e3784d..4c93c6652eb 100644
--- a/src/game/Unit.cpp
+++ b/src/game/Unit.cpp
@@ -7687,6 +7687,12 @@ bool Unit::HandleProcTriggerSpell(Unit *pVictim, uint32 damage, AuraEffect* trig
return false;
break;
}
+ // Decimation
+ case 63156:
+ case 63158:
+ // Can proc only if target has hp below 35%
+ if(!pVictim->HasAuraState(AURA_STATE_HEALTHLESS_35_PERCENT, procSpell, this))
+ return false;
}
// Custom basepoints/target for exist spell