Relative/Global Rotations to simulate rocking

I’m looking to make my boats rotate in order to simulate waves/rocking. Currently, it only rotates left/right, and I am trying to make it always rotate north/south, while keeping the rotation of the ship when turning the same.

gyro.cframe =,,base.CFrame.Y+(-MaxTilt*(seat.TurnSpeed/(MaxTurn/100))+script.Parent.TiltAmount.Value),Guide.Z))

script.Parent.TiltAmount.Value is the amount it should rock, which is tweened by a different part of the script from positive to negative.

I’ve tried using Cframe.Angles, though I had trouble finding anything or working anything out that did what I needed it to. Most ended up either flinging/sinking the ship and/or simply not working.