mirror of
https://github.com/mangosfour/server.git
synced 2025-12-14 07:37:01 +00:00
Prevent using loading pet from DB code for non-player pets.
This commit is contained in:
parent
3c774f9c68
commit
3488c1fee3
4 changed files with 5 additions and 5 deletions
|
|
@ -101,7 +101,7 @@ void Pet::RemoveFromWorld()
|
|||
Unit::RemoveFromWorld();
|
||||
}
|
||||
|
||||
bool Pet::LoadPetFromDB( Unit* owner, uint32 petentry, uint32 petnumber, bool current )
|
||||
bool Pet::LoadPetFromDB( Player* owner, uint32 petentry, uint32 petnumber, bool current )
|
||||
{
|
||||
m_loading = true;
|
||||
|
||||
|
|
|
|||
|
|
@ -133,7 +133,7 @@ class Pet : public Creature
|
|||
|
||||
bool Create (uint32 guidlow, Map *map, uint32 Entry, uint32 pet_number);
|
||||
bool CreateBaseAtCreature(Creature* creature);
|
||||
bool LoadPetFromDB( Unit* owner,uint32 petentry = 0,uint32 petnumber = 0, bool current = false );
|
||||
bool LoadPetFromDB( Player* owner,uint32 petentry = 0,uint32 petnumber = 0, bool current = false );
|
||||
void SavePetToDB(PetSaveMode mode);
|
||||
void Remove(PetSaveMode mode, bool returnreagent = false);
|
||||
static void DeleteFromDB(uint32 guidlow);
|
||||
|
|
|
|||
|
|
@ -3283,7 +3283,7 @@ void Spell::EffectSummon(uint32 i)
|
|||
uint32 level = m_caster->getLevel();
|
||||
Pet* spawnCreature = new Pet(SUMMON_PET);
|
||||
|
||||
if(spawnCreature->LoadPetFromDB(m_caster,pet_entry))
|
||||
if(m_caster->GetTypeId()==TYPEID_PLAYER && spawnCreature->LoadPetFromDB((Player*)m_caster,pet_entry))
|
||||
{
|
||||
// set timer for unsummon
|
||||
int32 duration = GetSpellDuration(m_spellInfo);
|
||||
|
|
@ -4099,7 +4099,7 @@ void Spell::EffectSummonPet(uint32 i)
|
|||
Pet* NewSummon = new Pet;
|
||||
|
||||
// petentry==0 for hunter "call pet" (current pet summoned if any)
|
||||
if(NewSummon->LoadPetFromDB(m_caster,petentry))
|
||||
if(m_caster->GetTypeId() == TYPEID_PLAYER && NewSummon->LoadPetFromDB((Player*)m_caster,petentry))
|
||||
{
|
||||
if(NewSummon->getPetType()==SUMMON_PET)
|
||||
{
|
||||
|
|
|
|||
|
|
@ -8419,7 +8419,7 @@ void Unit::Unmount()
|
|||
if(GetTypeId() == TYPEID_PLAYER && IsInWorld() && ((Player*)this)->GetTemporaryUnsummonedPetNumber() && isAlive())
|
||||
{
|
||||
Pet* NewPet = new Pet;
|
||||
if(!NewPet->LoadPetFromDB(this, 0, ((Player*)this)->GetTemporaryUnsummonedPetNumber(), true))
|
||||
if(!NewPet->LoadPetFromDB((Player*)this, 0, ((Player*)this)->GetTemporaryUnsummonedPetNumber(), true))
|
||||
delete NewPet;
|
||||
|
||||
((Player*)this)->SetTemporaryUnsummonedPetNumber(0);
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue