aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/game/Pet.cpp10
-rw-r--r--src/game/Unit.cpp2
2 files changed, 7 insertions, 5 deletions
diff --git a/src/game/Pet.cpp b/src/game/Pet.cpp
index 71f45507d45..91630eda9a4 100644
--- a/src/game/Pet.cpp
+++ b/src/game/Pet.cpp
@@ -210,8 +210,6 @@ bool Pet::LoadPetFromDB( Player* owner, uint32 petentry, uint32 petnumber, bool
}
owner->SetPet(this, true);
- AIM_Initialize();
- map->Add((Creature*)this);
InitStatsForLevel(petlevel);
SetUInt32Value(UNIT_FIELD_PET_NAME_TIMESTAMP, time(NULL));
@@ -314,6 +312,9 @@ bool Pet::LoadPetFromDB( Player* owner, uint32 petentry, uint32 petnumber, bool
sLog.outDebug("New Pet has guid %u", GetGUIDLow());
+ AIM_Initialize();
+ map->Add((Creature*)this);
+
if(owner->GetTypeId() == TYPEID_PLAYER)
{
((Player*)owner)->PetSpellInitialize();
@@ -1362,8 +1363,8 @@ bool Pet::learnSpell(uint32 spell_id)
WorldPacket data(SMSG_PET_LEARNED_SPELL, 2);
data << uint16(spell_id);
((Player*)owner)->GetSession()->SendPacket(&data);
+ ((Player*)owner)->PetSpellInitialize();
}
- ((Player*)owner)->PetSpellInitialize();
}
return true;
}
@@ -1603,7 +1604,8 @@ bool Pet::resetTalents(bool no_cost)
m_resetTalentsCost = cost;
m_resetTalentsTime = time(NULL);
}
- player->PetSpellInitialize();
+ if(!m_loading)
+ player->PetSpellInitialize();
return true;
}
diff --git a/src/game/Unit.cpp b/src/game/Unit.cpp
index 100fa5231db..c7a5d45d285 100644
--- a/src/game/Unit.cpp
+++ b/src/game/Unit.cpp
@@ -8273,7 +8273,7 @@ Pet* Unit::GetPet() const
return pet;
sLog.outError("Unit::GetPet: Pet %u not exist.",GUID_LOPART(pet_guid));
- const_cast<Unit*>(this)->SetUInt64Value(UNIT_FIELD_SUMMON, 0);
+ //const_cast<Unit*>(this)->SetUInt64Value(UNIT_FIELD_SUMMON, 0);
}
return NULL;