mirror of
https://github.com/mangosfour/server.git
synced 2025-12-13 22:37:03 +00:00
Merge branch 'master' into 310
Conflicts: src/game/Player.cpp
This commit is contained in:
commit
9b20869a32
83 changed files with 623 additions and 581 deletions
|
|
@ -8550,21 +8550,7 @@ void Unit::Mount(uint32 mount)
|
|||
|
||||
// unsummon pet
|
||||
if(GetTypeId() == TYPEID_PLAYER)
|
||||
{
|
||||
Pet* pet = GetPet();
|
||||
if(pet)
|
||||
{
|
||||
if(pet->isControlled())
|
||||
{
|
||||
((Player*)this)->SetTemporaryUnsummonedPetNumber(pet->GetCharmInfo()->GetPetNumber());
|
||||
((Player*)this)->SetOldPetSpell(pet->GetUInt32Value(UNIT_CREATED_BY_SPELL));
|
||||
}
|
||||
|
||||
((Player*)this)->RemovePet(NULL,PET_SAVE_NOT_IN_SLOT);
|
||||
}
|
||||
else
|
||||
((Player*)this)->SetTemporaryUnsummonedPetNumber(0);
|
||||
}
|
||||
((Player*)this)->UnsummonPetTemporaryIfAny();
|
||||
}
|
||||
|
||||
void Unit::Unmount()
|
||||
|
|
@ -8580,14 +8566,8 @@ void Unit::Unmount()
|
|||
// only resummon old pet if the player is already added to a map
|
||||
// this prevents adding a pet to a not created map which would otherwise cause a crash
|
||||
// (it could probably happen when logging in after a previous crash)
|
||||
if(GetTypeId() == TYPEID_PLAYER && IsInWorld() && ((Player*)this)->GetTemporaryUnsummonedPetNumber() && isAlive())
|
||||
{
|
||||
Pet* NewPet = new Pet;
|
||||
if(!NewPet->LoadPetFromDB((Player*)this, 0, ((Player*)this)->GetTemporaryUnsummonedPetNumber(), true))
|
||||
delete NewPet;
|
||||
|
||||
((Player*)this)->SetTemporaryUnsummonedPetNumber(0);
|
||||
}
|
||||
if(GetTypeId() == TYPEID_PLAYER)
|
||||
((Player*)this)->ResummonPetTemporaryUnSummonedIfAny();
|
||||
}
|
||||
|
||||
void Unit::SetInCombatWith(Unit* enemy)
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue