aboutsummaryrefslogtreecommitdiff
path: root/src/game/SpellEffects.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/game/SpellEffects.cpp')
-rw-r--r--src/game/SpellEffects.cpp13
1 files changed, 3 insertions, 10 deletions
diff --git a/src/game/SpellEffects.cpp b/src/game/SpellEffects.cpp
index 33beae157d5..c3d4b226cb4 100644
--- a/src/game/SpellEffects.cpp
+++ b/src/game/SpellEffects.cpp
@@ -3264,8 +3264,6 @@ void Spell::EffectSummonType(uint32 i)
if(!summon || !summon->isTotem())
return;
- summon->SetOwner(m_originalCaster, true);
-
if(damage) // if not spell info, DB values used
{
summon->SetMaxHealth(damage);
@@ -3288,19 +3286,14 @@ void Spell::EffectSummonType(uint32 i)
case SUMMON_TYPE_MINIPET:
{
summon = m_caster->GetMap()->SummonCreature(entry, x, y, z, m_caster->GetOrientation(), properties, duration, m_originalCaster);
- if(!summon)
+ if(!summon || !summon->HasSummonMask(SUMMON_MASK_MINION))
return;
- summon->SetOwner(m_originalCaster, true);
- summon->SetCreatorGUID(m_originalCaster->GetGUID());
- summon->setFaction(m_originalCaster->getFaction());
-
//summon->InitPetCreateSpells(); // e.g. disgusting oozeling has a create spell as summon...
summon->SetMaxHealth(1);
summon->SetHealth(1);
summon->SetLevel(1);
- summon->SetReactState(REACT_PASSIVE);
summon->SetFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NON_ATTACKABLE);
summon->GetMotionMaster()->MoveTargetedHome();
@@ -3960,7 +3953,7 @@ void Spell::EffectTameCreature(uint32 /*i*/)
pet->SetUInt32Value(UNIT_FIELD_LEVEL, level);
// caster have pet now
- m_caster->SetGuardian(pet, true);
+ m_caster->SetMinion(pet, true);
if(m_caster->GetTypeId() == TYPEID_PLAYER)
{
@@ -6440,7 +6433,7 @@ void Spell::SummonGuardian(uint32 entry, SummonPropertiesEntry const *properties
{
Unit *caster = m_originalCaster;
if(caster && caster->GetTypeId() == TYPEID_UNIT && ((Creature*)caster)->isTotem())
- caster = caster->GetOwner();
+ caster = ((Totem*)caster)->GetOwner();
if(!caster)
return;