I'm not sure how it worked before, I'm relatively new to TBA coding, but I believe you may be missing a call to parse_at() to convert the '@'s into special tabs that are used to display color.
How is you do_say() function?
Mine has this:
Code:
if (CONFIG_SPECIAL_IN_COMM && legal_communication(argument))
parse_at(argument);
If you don't have this check and a call to parse_at() you might wanna add it an try it.
If you already have it, then you might wanna check the CONFIG_SPECIAL_IN_COMM option, you change it in cedit (it is under O) Operation Options and then S) Enable Special Char in Comm).