[7036] Implement one warlock glyph

Restore build after prev commit

Signed-off-by: DiSlord <dislord@nomail.com>
This commit is contained in:
DiSlord 2009-01-06 02:02:08 +03:00
parent 8caa11da65
commit 93bcb0b91d
3 changed files with 13 additions and 10 deletions

View file

@ -571,15 +571,12 @@ void Spell::FillTargetMap()
tmpUnitMap.push_back(m_caster); tmpUnitMap.push_back(m_caster);
break; break;
case SPELL_EFFECT_SUMMON_CHANGE_ITEM: case SPELL_EFFECT_SUMMON_CHANGE_ITEM:
case SPELL_EFFECT_SUMMON_WILD:
case SPELL_EFFECT_SUMMON_GUARDIAN:
case SPELL_EFFECT_TRANS_DOOR: case SPELL_EFFECT_TRANS_DOOR:
case SPELL_EFFECT_ADD_FARSIGHT: case SPELL_EFFECT_ADD_FARSIGHT:
case SPELL_EFFECT_APPLY_GLYPH: case SPELL_EFFECT_APPLY_GLYPH:
case SPELL_EFFECT_STUCK: case SPELL_EFFECT_STUCK:
case SPELL_EFFECT_FEED_PET: case SPELL_EFFECT_FEED_PET:
case SPELL_EFFECT_DESTROY_ALL_TOTEMS: case SPELL_EFFECT_DESTROY_ALL_TOTEMS:
case SPELL_EFFECT_SUMMON_DEMON:
case SPELL_EFFECT_SKILL: case SPELL_EFFECT_SKILL:
tmpUnitMap.push_back(m_caster); tmpUnitMap.push_back(m_caster);
break; break;
@ -4208,9 +4205,7 @@ uint8 Spell::CanCast(bool strict)
break; break;
} }
// This is generic summon effect now and don't make this check for summon types similar // This is generic summon effect
// SPELL_EFFECT_SUMMON_CRITTER, SPELL_EFFECT_SUMMON_WILD or SPELL_EFFECT_SUMMON_GUARDIAN.
// These won't show up in m_caster->GetPetGUID()
case SPELL_EFFECT_SUMMON: case SPELL_EFFECT_SUMMON:
{ {
switch(m_spellInfo->EffectMiscValueB[i]) switch(m_spellInfo->EffectMiscValueB[i])
@ -4230,10 +4225,8 @@ uint8 Spell::CanCast(bool strict)
} }
break; break;
} }
// Don't make this check for SPELL_EFFECT_SUMMON_CRITTER, SPELL_EFFECT_SUMMON_WILD or SPELL_EFFECT_SUMMON_GUARDIAN. // Not used for summon?
// These won't show up in m_caster->GetPetGUID()
case SPELL_EFFECT_SUMMON_PHANTASM: case SPELL_EFFECT_SUMMON_PHANTASM:
case SPELL_EFFECT_SUMMON_DEMON:
{ {
if(m_caster->GetPetGUID()) if(m_caster->GetPetGUID())
return SPELL_FAILED_ALREADY_HAVE_SUMMON; return SPELL_FAILED_ALREADY_HAVE_SUMMON;

View file

@ -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; break;
} }

View file

@ -1,4 +1,4 @@
#ifndef __REVISION_NR_H__ #ifndef __REVISION_NR_H__
#define __REVISION_NR_H__ #define __REVISION_NR_H__
#define REVISION_NR "7035" #define REVISION_NR "7036"
#endif // __REVISION_NR_H__ #endif // __REVISION_NR_H__