Core/Scripts: Print error when attempting to retrieve aura application target in script hook which does not have one

This commit is contained in:
Shauren
2011-05-19 13:22:17 +02:00
parent c3e1f41bc2
commit b8a7eace3e
2 changed files with 28 additions and 12 deletions

View File

@@ -830,7 +830,21 @@ bool AuraScript::HasEffectType(AuraType type) const
Unit* AuraScript::GetTarget() const
{
return m_auraApplication->GetTarget();
switch (m_currentScriptState)
{
case AURA_SCRIPT_HOOK_EFFECT_APPLY:
case AURA_SCRIPT_HOOK_EFFECT_REMOVE:
case AURA_SCRIPT_HOOK_EFFECT_PERIODIC:
case AURA_SCRIPT_HOOK_EFFECT_ABSORB:
case AURA_SCRIPT_HOOK_EFFECT_AFTER_ABSORB:
case AURA_SCRIPT_HOOK_EFFECT_MANASHIELD:
case AURA_SCRIPT_HOOK_EFFECT_AFTER_MANASHIELD:
return m_auraApplication->GetTarget();
default:
sLog->outError("TSCR: Script: `%s` Spell: `%u` AuraScript::GetTarget called in a hook in which the call won't have effect!", m_scriptName->c_str(), m_scriptSpellId);
}
return NULL;
}
AuraApplication const* AuraScript::GetTargetApplication() const