public void OnHelpfulTipReceived(string inText)
    {
        if (cueController)
        {
            string nameText = ""; // dajiang hack, special cases, special cases everywhere, and "Skip/Push/Break" are left untouched here coz they already work, LOLz.

            // get some name bullshits
            if (inText == "OutOfTime" || inText == "PocketCueBall" || inText == "FourBallRail" || inText == "RightFirstBall" || inText == "Disconnected")
            {
                nameText = Localization.Get("YourOpponent");
            }

            // see if we should kill everything else
            if (inText == "Disconnected" || inText == "OppoLeftGame")
            {
                cueController.ShowHelpfulTooltipPopup(nameText, inText, true, true);
            }
            else
            {
                cueController.ShowHelpfulTooltipPopup(nameText, inText, true, false);
            }

            // show tips

            // dajiang hack, increment foul scratches on the opponent, really kinda sketchy
            if (inText == "PocketCueBall" || inText == "FourBallRail" || inText == "RightFirstBall" || inText == "BallRailContact")
            {
                GameManager_script.IncrementScratch(cueController.TrackingShotAsPlayerOne, cueController.TrackingShotAsPlayerTwo);
            }
        }
    }