So it looks like this site has been inactive for a while now, but I'm hoping I can get a response some time in the future. I've been programming several utilities to help run my own ZODIAC campaign (so far I have stat calculators for players/monsters), and have been working on an initiative tool to automate combat tracking. The first issue I ran into was how to calculate slow/haste, and I've done that (and added my own little balancing attempt) by remembering the old speed value, calculating the difference between the new and old speed values, then adding that back into the running "initiative" pool that actions are drawn from.
For example, say haste grants a player with 10 speed another 2 points of speed, while their running total is 16 (rolled a 6 at the start of combat). They would subtract 8 for casting haste and add 2 to their speed total. Since 12 speed -10 (the old value) speed is 2, they also add 2 points to their running total. They have 10sp to work with in combat as of now.
My real question is, how does revive or raise effects work when determining who gets to go when? Should they act on their current initiative? (This could lead to a situation where Kari the Black Mage dies with 16sp remaining. Rubie the White Mage decides to use her last 8sp (and is the last player/monster able to move for the round) to revive Kari, meaning that Kari would get to act twice in a row immediately)
Or should raise make a character stuck at 0 initiative, so they have to wait next round to act? This would discourage raising at the beginning of rounds, since a character might be raised just to die all over again.
The solution I'm thinking of right now is that the player revives at the caster's speed. So either the player revives at the old speed value (so the healer subtracts their speed points, meaning that the revived character goes before the healer can act again, guaranteed) or at the new speed value (so both players would act in the same instant). I'll probably default to the latter option, but any input I could get would be welcome.