diff options
-rw-r--r-- | src/game/Player.cpp | 9 |
1 files changed, 5 insertions, 4 deletions
diff --git a/src/game/Player.cpp b/src/game/Player.cpp index ae14d5ebc30..2d7d98579a8 100644 --- a/src/game/Player.cpp +++ b/src/game/Player.cpp @@ -16454,18 +16454,19 @@ void Player::RemovePet(Pet* pet, PetSaveMode mode, bool returnreagent) } } - pet->SavePetToDB(mode); - // only if current pet in slot switch(pet->getPetType()) { case POSSESSED_PET: pet->RemoveCharmedOrPossessedBy(NULL); + break; default: - SetGuardian(pet, false); + pet->SavePetToDB(mode); break; } + SetGuardian(pet, false); + pet->CleanupsBeforeDelete(); pet->AddObjectToRemoveList(); pet->m_removed = true; @@ -17987,7 +17988,7 @@ bool Player::canSeeOrDetect(Unit const* u, bool detect, bool inVisibleList, bool return false; } - if(u->GetVisibility() == VISIBILITY_OFF) + if(u->GetVisibility() == VISIBILITY_OFF || u->m_invisibilityMask ) { // GMs see any players, not higher GMs and all units if(isGameMaster()) |