Index: /trunk/src/game/Spell.cpp
===================================================================
--- /trunk/src/game/Spell.cpp (revision 226)
+++ /trunk/src/game/Spell.cpp (revision 228)
@@ -178,6 +178,6 @@
         //m_destY = caster->GetPositionY();
         //m_destZ = caster->GetPositionZ();
-        m_unitTarget = caster;
-        m_unitTargetGUID = caster->GetGUID();
+        //m_unitTarget = caster;
+        //m_unitTargetGUID = caster->GetGUID();
         return true;
     }
@@ -462,4 +462,5 @@
                 case SPELL_EFFECT_LEARN_SPELL: // 0
                 case SPELL_EFFECT_TRADE_SKILL: // 0 or 1
+                case SPELL_EFFECT_PROFICIENCY: // 0
                     tmpUnitMap.push_back(m_caster);
                     break;
@@ -555,11 +556,12 @@
                 case SPELL_EFFECT_CREATE_ITEM:
                 case SPELL_EFFECT_TRIGGER_SPELL:
-                case SPELL_EFFECT_TRIGGER_MISSILE:
+                //case SPELL_EFFECT_TRIGGER_MISSILE: ??
                 case SPELL_EFFECT_SKILL_STEP:
-                case SPELL_EFFECT_PROFICIENCY:
                 case SPELL_EFFECT_SELF_RESURRECT:
                 case SPELL_EFFECT_REPUTATION:
                     if(m_targets.getUnitTarget())
                         tmpUnitMap.push_back(m_targets.getUnitTarget());
+                    else
+                        tmpUnitMap.push_back(m_caster);
                     break;
                 case SPELL_EFFECT_SUMMON_PLAYER:
