You can use Input.mouseScrollDelta to get which direction the mouse wheel is currently being scrolled and use that to offset the camerOffset Z value.
public Transform PlayerTransform;
private UnityEngine.Vector3 _cameraOffset;
public float smoothFactor = 0.5f;
public float minZoomDistance = 0;
public float maxZoomDistance = 2f;
There is never a best solution. Only the solution which is best for your game and your personal workflow.
However, I would suggest a third solution.
One scene only
Store every map as a prefab (The Grid object with the tilemaps and all the objects on the map)
When the player switches maps, destroy the old map and instantiate the new one.
Why only one scene?...
I multiply the velocity by -1 to the the opposite direction
That's your mistake. If you do that, you then have to check if you have gone into reverse.
Easier ways focus on scalar rather than vector arithmetic, as it's cheaper and easier to reason about.
Friction works as follows:
const FRICTION = 0.1;
let speed = velocityVector.magnitude();
Common wisdom when it comes to MMO economics is to just let players decide at what prices they are willing to trade resources and equipment between each other. Create a trade platform where sellers can offer items or resources for any price and where buyers can then accept those offers if they find them fair (often called "auction house"). Some games also ...
I would agree with trait or modifier if you are listing it below the name.
It should be called prefix if you list it before the name and suffix if it is after the name
Hearty ring, Shield of indomitably -> Affix description
A trait or modifier of the robe`
As a native English speaker, Trait sounds much more accurate in this case. Affix is much less used and so harder to understand. Calling them traits makes it clear that they are properties of the item. Other options could be Property, or Modifier, but Trait still sounds best in my opinion. "Affix" sounds like something you learn in school and never worry ...