Solution

Use `TimeSinceShoot.Relative.Remap(0, recovery, 1, 0)` to get a 0-1 aim cone amount — From BaseBulletWeapon.cs in the official Sandbox gamemode. Tension: recoil by directly modifying `Owner.Controller.EyeAngles` on the owning client — no RPC needed. Outcome: Canonical implementation from BaseBulletWeapon.cs in the official Sandbox gamemode.

95296295-d305-4b16-b2d1-9aff602b7ee1

Use TimeSinceShoot.Relative.Remap(0, recovery, 1, 0) to get a 0-1 aim cone amount — From BaseBulletWeapon.cs in the official Sandbox gamemode. Tension: recoil by directly modifying Owner.Controller.EyeAngles on the owning client — no RPC needed. Outcome: Canonical implementation from BaseBulletWeapon.cs in the official Sandbox gamemode.