Sounds like a cool game concept, DG. It's also an interesting problem, so I've spent *way* too much time on it. Here's how I would implement. It takes some work to set up, but should be fairly easy to manage once it's in place. I'm assuming that there aren't *too* many shared attributes. You need three scripts: the Carry Tokens script, described here , and the TokenMod and ChatSetAttr scripts, all three available from the one-click library. After installing the scripts, you will need some macros. The following assumes two identities, Regan and Lemur. Starting condition is with Regan as the identity in use. On each character sheet, create 3 macros. I would have all three show as token actions, so the players can control them. The first creates the dual identity, and the other two control the switch from one identity to the other. It should work for more than two identities, but will require more macros. The "create-merge" macro connects the two tokens. The one shown here is for Regan to be the top/shown identity and Lemur the hidden one, and should be on the Regan character sheet. To reverse, just reverse the names so Lemur is associated with "selected" and Regan with "target", and save the reverse one as a token action for Lemur. This not only stacks the tokens and keeps them associated with each other, it also acquires the token ID's and stores them to be used by the other two macros. create-merge !setattr --name Regan --ID|@{selected|token_id}
!setattr --name Lemur --ID|@{target|token_id}
!CARRY_TOKENS_CARRY_BELOW @{selected|token_id} @{target|token_id} Next, "change-to-Lemur", a macro on Regan's character sheet to take the shared values from the top identity (Regan) and store them in temporary values on the hidden identity (Lemur). Of course, the inverse, with all "Lemur" references replaced with "Regan", needs to be on Lemur's character sheet. change-to-Lemur /w Change to Lemur! !token-mod --config players-can-ids|on !setattr --name Lemur --HP|@{selected|HP} --Strength|@{selected|Strength} --temp1|@{selected|bar1} --temp2|@{selected|bar2} --temp3|@{selected|bar3} --temp1max|@{selected|bar1|max} --temp2max|@{selected|bar2|max} --temp3max|@{selected|bar3|max} #transform-to-Lemur The last line should call the next macro, but in my experiments it has not worked. Maybe someone else here can correct what is probably a simple error on my part. Anyway, the third macro, also on Regan's character sheet, is "transform-to-Lemur", which separates the stacked tokens, moves the new identity values from the temp fields to the appropriate attributes, moves the new token to the top of the stack, and re-attaches the two tokens in the new order. Again, the inverse, with all "Lemur" references replaced with "Regan", needs to be on Lemur's character sheet. (Incidentally, if you miss one reference, tracking down why one value won't update can take a surprisingly long time ...) transform-to-Lemur !CARRY_TOKENS_DROP_ALL @{selected|token_id} !token-mod --ids @{Lemur|ID} --set bar1_value|@{Lemur|temp1} bar2_value|@{Lemur|temp2} bar3_value|@{Lemur|temp3} !token-mod --ids @{Lemur|ID} --set bar1_max|@{Lemur|temp1max} bar2_max|@{Lemur|temp2max} bar3_max|@{Lemur|temp3max} !token-mod --ids @{Lemur|ID} --order top !CARRY_TOKENS_CARRY_BELOW @{Lemur|ID} @{selected|token_id} /w Done! There are some imperfections to this scheme: The worst is that although the images swap on my GM view, they do not necessarily swap for the player view. The new token is selected, but the picture does not show! I hope one of the script gurus can help with that, because I'm really invested now in seeing this succeed! The motion of the attached token lags. This is not ideal, but not too bad. In my experiments, the stacked configuration survives being transferred, via player ribbon, to another map page. But, the Carry Tokens stack ("create-merge" macro) seems to need to be re-done each time the game is re-opened. You will need to read up on the syntax for ChatSetAttr and TokenMod to be able to use them for all you have planned. I picked hit points, strength, and the three bar values as test items. If a bar is linked to hit points (or presumably anything else) the last one in the line takes precedence. So by putting the bubble/bar value last, and connecting bar3 to hit points, I can override hit points in the sheet. The player needs to de-select and re-select after the switch to finalize the changes and to avoid accidentally detaching the stacked tokens. If you don't mind adding another script, I really like The Aaron's Color Emote script, which will output a picture to chat using the currently selected identity. You can add a line to the macro to announce the switch. The Carry Tokens seems to need to be reset each time the game is re-opened. Brought to you by Regan and Lemur