aboutsummaryrefslogtreecommitdiff
path: root/src/game/Spell.cpp
diff options
context:
space:
mode:
authormegamage <none@none>2009-03-06 19:52:46 -0600
committermegamage <none@none>2009-03-06 19:52:46 -0600
commitf6ca5c601ef6089220fb0bfe3bc155fbbf3de812 (patch)
treeb9598e93d132aea806527aa4de13046e3c80dc5d /src/game/Spell.cpp
parentdbb8c78394660c277f9056d899df8b0f9f1f8cb0 (diff)
parent4f6c96b98c5d5a065f902aa6106c928bf0b2a668 (diff)
*Merge.
--HG-- branch : trunk
Diffstat (limited to 'src/game/Spell.cpp')
-rw-r--r--src/game/Spell.cpp10
1 files changed, 4 insertions, 6 deletions
diff --git a/src/game/Spell.cpp b/src/game/Spell.cpp
index 66f2eded6ac..6d34d29b644 100644
--- a/src/game/Spell.cpp
+++ b/src/game/Spell.cpp
@@ -1164,10 +1164,10 @@ void Spell::DoSpellHitOnUnit(Unit *unit, const uint32 effectMask)
}
}
- if(unit->GetTypeId() == TYPEID_UNIT && ((Creature*)unit)->AI())
+ if(unit->GetTypeId() == TYPEID_UNIT && ((Creature*)unit)->IsAIEnabled)
((Creature*)unit)->AI()->SpellHit(m_caster, m_spellInfo);
- if(m_caster->GetTypeId() == TYPEID_UNIT && ((Creature*)m_caster)->AI())
+ if(m_caster->GetTypeId() == TYPEID_UNIT && ((Creature*)m_caster)->IsAIEnabled)
((Creature*)m_caster)->AI()->SpellHitTarget(unit, m_spellInfo);
for(ChanceTriggerSpells::const_iterator i = m_ChanceTriggerSpells.begin(); i != m_ChanceTriggerSpells.end(); ++i)
@@ -4251,10 +4251,8 @@ uint8 Spell::CanCast(bool strict)
InstanceTemplate const* instance = ObjectMgr::GetInstanceTemplate(m_caster->GetMapId());
if(!instance)
return SPELL_FAILED_TARGET_NOT_IN_INSTANCE;
- if ( instance->levelMin > target->getLevel() )
- return SPELL_FAILED_LOWLEVEL;
- if ( instance->levelMax && instance->levelMax < target->getLevel() )
- return SPELL_FAILED_HIGHLEVEL;
+ if(!target->Satisfy(objmgr.GetAccessRequirement(instance->access_id), m_caster->GetMapId()))
+ return SPELL_FAILED_BAD_TARGETS;
}
break;
}