예제 #1
0
        void HandlePetAbandon(PetAbandon packet)
        {
            if (!GetPlayer().IsInWorld)
            {
                return;
            }

            // pet/charmed
            Creature pet = ObjectAccessor.GetCreatureOrPetOrVehicle(GetPlayer(), packet.Pet);

            if (pet && pet.ToPet() && pet.ToPet().getPetType() == PetType.Hunter)
            {
                _player.RemovePet((Pet)pet, PetSaveMode.AsDeleted);
            }
        }
예제 #2
0
        void HandlePetAbandon(PetAbandon packet)
        {
            if (!GetPlayer().IsInWorld)
            {
                return;
            }

            Creature pet = ObjectAccessor.GetCreatureOrPetOrVehicle(GetPlayer(), packet.Pet);

            if (pet)
            {
                if (pet.IsPet())
                {
                    GetPlayer().RemovePet(pet.ToPet(), PetSaveMode.AsDeleted);
                }
                else if (pet.GetGUID() == GetPlayer().GetCharmGUID())
                {
                    GetPlayer().StopCastingCharm();
                }
            }
        }