I'm currently working on programming a dice roller for Vampire: the Masquerade 5th Edition. In the game system, you can spend willpower to reroll up to three dice in a roll. The way my dice roller works, is that it outputs images of each die rolled and then computes the results. I would like to make it possible for players to click on dice they wish to reroll, highlighting them, and then click a button at the bottom which would output a new roll with the selected dice rerolled. I think I know how to do the highlighting bit (assuming I can use the checkbox/span::before CSS trick commonly used in character sheets in chat), and I know I can create a button that sends an API command. How can I set up the API command so that it knows which dice have been selected? For example, if six dice are rolled, and the player selects the third die and the fifth die, I'd like the reroll button to send an API command like "!reroll {original roll results} 35". Alternatively, if that isn't possible, perhaps I could make every die that's displayed be a button, and have each one send an API command like "!select {die number}" or "!deselect {die number}" in a way that changes an attribute, so that when the final "!reroll" button is clicked, the API just looks up the attribute in which the selected dice numbers are stored, and rerolls those? If I do this, how can I make the dice buttons work as a toggle that changes their appearance (with a highlight or something) when they're selected? (I'm not using roll templates for this, choosing instead to send raw HTML from the initial !roll API --- I just find it easier) Any help would be much appreciated! EDIT: Another method to dynamically change the results of already-entered chat commands just occurred to me, in case limitations preclude the options I suggested above. Would it be possible to use positioning cheats to overlay a newly-generated chat message directly on top of a previous one? For example, if my first message is contained like this: <div style="height: 200px; z-index: 0;"> ... </div> And a message to immediately follow it is styled like this: <div style="height: 200px; margin-top: -200px; z-index: 1;"> ... </div> Would the second message cover up the first message, allowing for the appearance of dynamically-changing chat messages? (I'm at work and can't test right now, but thought I'd post the idea in case it helps with responses in the meantime!) This would let me just generate an entire new roll results div for each time a die is selected, with the only difference being a highlight around the selected die, and the command for the final api "reroll" button being changed to reflect the selected numbers (I'd just have to increment the z-index by one each time, yes?)