private static void RemovePetLevel(ref Mate mate, Guid idToRemove) { if (mate == null || mate.Level <= 1) { return; } mate.Level -= 1; mate.Experience = 0; mate.Hp = mate.HpLoad(); mate.Mp = mate.MpLoad(); mate.Owner?.Session.SendPacket(mate.GenerateCond()); mate.Owner?.Session.SendPacket(mate.GenerateScPacket()); mate.Owner?.Session.CurrentMapInstance?.Broadcast(StaticPacketHelper.GenerateEff(UserType.Npc, mate.MateTransportId, 8), mate.PositionX, mate.PositionY); mate.Owner?.Session.CurrentMapInstance?.Broadcast(StaticPacketHelper.GenerateEff(UserType.Npc, mate.MateTransportId, 198), mate.PositionX, mate.PositionY); mate.Owner?.Session.Character.Inventory.RemoveItemFromInventory(idToRemove); }