I found an easier way to do it, i tried the array method and it didn't work so i created a work around and an ingenious one at that, rather then try to change the color of the string, i just used if and else if to choose each of the 3 states based on the bool value that was true.
All this is for, is for the quest log its just a void display feature that then launches the manager if desired to read quest info / cancel quest. there is also an updater function that updates the status for the log, and manager view.