Terraria.Mount.GetMinecartMechPoint C# (CSharp) Method

GetMinecartMechPoint() public static method

public static GetMinecartMechPoint ( Player mountedPlayer, int offX, int offY ) : Vector2
mountedPlayer Player
offX int
offY int
return Vector2
        public static Vector2 GetMinecartMechPoint(Player mountedPlayer, int offX, int offY)
        {
            int num1 = Math.Sign(mountedPlayer.velocity.X);
            if (num1 == 0)
                num1 = mountedPlayer.direction;
            float num2 = (float)offX;
            int num3 = Math.Sign(offX);
            if (mountedPlayer.direction != num1)
                num2 -= (float)num3;
            if (num1 == -1)
                num2 -= (float)num3;
            Vector2 vector2_1 = Utils.RotatedBy(new Vector2(num2 * (float)num1, (float)offY), (double)mountedPlayer.fullRotation, new Vector2());
            Vector2 vector2_2 = Utils.RotatedBy(new Vector2(MathHelper.Lerp(0.0f, -8f, mountedPlayer.fullRotation / 0.7853982f), MathHelper.Lerp(0.0f, 2f, Math.Abs(mountedPlayer.fullRotation / 0.7853982f))), (double)mountedPlayer.fullRotation, new Vector2());
            if (num1 == Math.Sign(mountedPlayer.fullRotation))
                vector2_2 *= MathHelper.Lerp(1f, 0.6f, Math.Abs(mountedPlayer.fullRotation / 0.7853982f));
            return mountedPlayer.Bottom + vector2_1 + vector2_2;
        }