diff --git a/src/game/Spell.cpp b/src/game/Spell.cpp index afdaf7bfb..f8baab82f 100644 --- a/src/game/Spell.cpp +++ b/src/game/Spell.cpp @@ -571,15 +571,12 @@ void Spell::FillTargetMap() tmpUnitMap.push_back(m_caster); break; case SPELL_EFFECT_SUMMON_CHANGE_ITEM: - case SPELL_EFFECT_SUMMON_WILD: - case SPELL_EFFECT_SUMMON_GUARDIAN: case SPELL_EFFECT_TRANS_DOOR: case SPELL_EFFECT_ADD_FARSIGHT: case SPELL_EFFECT_APPLY_GLYPH: case SPELL_EFFECT_STUCK: case SPELL_EFFECT_FEED_PET: case SPELL_EFFECT_DESTROY_ALL_TOTEMS: - case SPELL_EFFECT_SUMMON_DEMON: case SPELL_EFFECT_SKILL: tmpUnitMap.push_back(m_caster); break; @@ -4208,9 +4205,7 @@ uint8 Spell::CanCast(bool strict) break; } - // This is generic summon effect now and don't make this check for summon types similar - // SPELL_EFFECT_SUMMON_CRITTER, SPELL_EFFECT_SUMMON_WILD or SPELL_EFFECT_SUMMON_GUARDIAN. - // These won't show up in m_caster->GetPetGUID() + // This is generic summon effect case SPELL_EFFECT_SUMMON: { switch(m_spellInfo->EffectMiscValueB[i]) @@ -4230,10 +4225,8 @@ uint8 Spell::CanCast(bool strict) } break; } - // Don't make this check for SPELL_EFFECT_SUMMON_CRITTER, SPELL_EFFECT_SUMMON_WILD or SPELL_EFFECT_SUMMON_GUARDIAN. - // These won't show up in m_caster->GetPetGUID() + // Not used for summon? case SPELL_EFFECT_SUMMON_PHANTASM: - case SPELL_EFFECT_SUMMON_DEMON: { if(m_caster->GetPetGUID()) return SPELL_FAILED_ALREADY_HAVE_SUMMON; diff --git a/src/game/Unit.cpp b/src/game/Unit.cpp index 4baf69901..9a46287c0 100644 --- a/src/game/Unit.cpp +++ b/src/game/Unit.cpp @@ -7390,6 +7390,16 @@ bool Unit::isSpellCrit(Unit *pVictim, SpellEntry const *spellProto, SpellSchoolM } } } + // Glyph of Shadowburn + if (spellProto->SpellFamilyName == SPELLFAMILY_WARLOCK && + spellProto->SpellFamilyFlags & 0x0000000000000080 && + pVictim->HasAuraState(AURA_STATE_HEALTHLESS_35_PERCENT)) + { + AuraList const& mOverrideClassScript = GetAurasByType(SPELL_AURA_OVERRIDE_CLASS_SCRIPTS); + for(AuraList::const_iterator i = mOverrideClassScript.begin(); i != mOverrideClassScript.end(); ++i) + if((*i)->GetModifier()->m_miscvalue == 7917) + crit_chance+=(*i)->GetModifier()->m_amount; + } } break; } diff --git a/src/shared/revision_nr.h b/src/shared/revision_nr.h index eacc46b75..5839fa16d 100644 --- a/src/shared/revision_nr.h +++ b/src/shared/revision_nr.h @@ -1,4 +1,4 @@ #ifndef __REVISION_NR_H__ #define __REVISION_NR_H__ - #define REVISION_NR "7035" + #define REVISION_NR "7036" #endif // __REVISION_NR_H__