I'd almost go after posts.php (or, subs-posts.php).
In the actual createpost function, just prior to the insert, do a regex for some pseudo BBCode you're about to invent. Something akin to
[roll=12] or whatever you need. In this case, a 12 sided. I'd suggest just prior to the insert, as you want to wait for the actual post to be created; you do NOT want this evaluated during a preview

I suspect the regex would be something akin to
\[roll=(%d{1,2})\]
...to support up to 99 sides.
Just prior to the insert, if at least one [roll=] is present, append some linefeeds to the message.
Then for each [roll=] in the post, generate the roll and append it to the message.
To validate that the rolls are legit... a reader merely proves that one or more [roll=] are present in the post, which means the legit rolls will be on the last line or something. (You will need to segregate the roll text from the user message, heh. Otherwise, I'd simply omit the [roll] and supply my own at the end of my message. Wow! I won again!)
Sounds like a fun project!
- SBB