The more I look at this, the more I feel we need to have a slightly different back end combat system. I think key change is that we need to be able to get arbitrary amounts of logging information depending on the user, possibly with a change in the after combat log screen, but also be able to know precisely what went into the battle so it could be reproduced accurately.
Aka, input that matters to a battles outcome (I believe):
Players stats and principles, armor, temporary effects
Creatures (level, type) used
Creatures tokens
Creatures age - used for some tokens
day of battle - used for some tokens I believe?
Random seed - Used to allow the random to act the same each time
----
Anything else that is required to "run" a battle?