diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/game/SharedDefines.h | 2 | ||||
-rw-r--r-- | src/game/SpellAuras.cpp | 4 | ||||
-rw-r--r-- | src/game/SpellEffects.cpp | 6 | ||||
-rw-r--r-- | src/game/Unit.cpp | 6 |
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 |