OK I just tried a replacement variable. It sort-of worked. It replaced {freeze} with the text I had indicated, but it did not parse $post[username] (as I kind of suspected it wouldn't).
So, let's try this.
In showthread.php, find
Code:
if ($post['receivepm'] and $enablepms==1) {
eval("\$post[pmlink] = \"".gettemplate("postbit_sendpm")."\";");
} else {
$post[pmlink] = "";
}
Right below that, add this:
Code:
$post[message] = str_replace("[power=freeze]","<i>$post[username] leans back and flaps about a bit, accidentally freezing Phoebe and Prue in the process...</i>",$post[message]);
You can change [power=freeze] to whatever you want your users to enter, and change the stuff in the second quotes to whatever you want to display. You could also do this multiple times, changing the power=freeze to power=spell or whatever and change what is displayed, but the idea is the same.