aboutsummaryrefslogtreecommitdiff
path: root/src/game/Player.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/game/Player.cpp')
-rw-r--r--src/game/Player.cpp9
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())