In a lot of turn based games, where a token started from and what path it followed in a turn makes a big difference. Often there are movement limits, hidden traps, enemy attacks of opportunity, or other reasons to wonder where they came from this turn, and exactly how they got to where they are now. Also often the DM wants all the players to freeze as he describes some surprise, and can be very distracted and annoyed with chatter from other players who are not moving right now.
This is a complicated set of features to include, but I think will be very useful to many games, and I think I have a decent idea on how to implement it all in a user friendly manner, one piece at a time.
Since all of it relates to who has permission to move when, it should all be tied into the turn order tool, controlled from and dependent upon that window being used. Some of the features here are only needed by some sensitive GMs who really want to keep their logs clean and their tokens in control, but they are trivial extensions to the basic functionality most games will want working by default.
The Locking Project
Step 1 - The Lock Button
- Add a padlock button to the bottom of the turn order window
- Clicking this button depresses it visibly and opens up the locking options pane below that window
- It also enables the lock settings, which are all ignored but retained when the button is not pressed
Step 2 - Lock Notifications
- If need be create a function that displays a brief warning, like a yellow box that drops from the top of screen
- It should not block clicks, should not go below the top 20% of the screen, and go away in a few seconds
- Extra warnings triggered display very briefly in order before the box goes away
- Turning the lock on or off should trigger a notification that GM -name- turned on/off locking features
- If a player action is blocked (see below) it should notify all (see below)
Step 3 - Player Movement Lock
- In the locking pane, add a checkbox entitled "Player Movement Lock"
- If locking and this are on it triggers a notification that "Player Movement is locked"
- When the system checks for player permission to move a token, it should also check this
- If player movement is blocked it should notify all that Player -name- could not move due to initiative lock
Step 4 - Initiative move unlock
- Indented below the Player Movement Lock add a checkbox "Player moves with initiative"
- When the system checks permissions, ignore lock if player has control of top initiative token and this is checked
Step 5 - Player Chat lock
- In the locking pane, add a checkbox entitled "Player Chat Lock"
- If locking and this are on it triggers a notification that "Player Chat is locked"
- Players commands that would write to all windows (but not whisper and gm) should be ignored when this is on
- When a player chat is ignored, notify all that Player -name- can not chat due to initiative lock
Step 6 - Initiative chat unlock
- Indented below the Player Chat Lock add a checkbox "Player chats with initiative"
- When the system checks chat, ignore lock if player has control of top initiative token and this is checked
The Tracking Project
Step 1 - The Tracking Button
- Add a wandering dotted line icon button to the top left of the turn order window
- Depressing this creates a little dotted path button on every entry in the window
- When the main button is depressed, each entry in the order window records it's initial position
- When a token is added, and at the beginning of each of it's turns, this record is reset to it's current position
- When a token is moved from it's recorded location, it also records which user moved it
- A dot matching the player's chat color is also displayed next to the entry's path button
- Another small matching dot is displayed on the original square (about 1/10th the width of the square)
- The GM or player who moved the token can right click on the order entry and select "reset position"
- This will move the icon back to it's starting position and mark it as unmoved
Step 2 - Path recording
- When a token is moved, the order entry stores a record of the squares it passes through
- A square is considered passed through if the center of the token passes within a half a square width
- Hovering over a token, it's turn order entry, or clicking it's little path button displays the full path (for you only)
- This path displays as dots of the color of the player who moved it
Step 3 - Path editing and calculation
- When the little path button is clicked, the dots on the path become buttons (for you only)
- Each button starts by displaying the scale number from the map page settings
- Left clicking increases the buttons value by increments of scale, right clicking reduces it
- At value zero the dot (and button) dissappear, and that square is removed from the path
- Clicking on a square not on the path adds it to the path (and gives it a scale value)
- The current location of the token displays the sum of the values displayed for that path
- Clicking on the sum display will put a small line on top with + or - scale values
- When the final square has a value on top, the sum is pushed to the bottom half of the square
- Squares with double value are slightly larger hollow dots in the dot view
- Squares triple or above are circles with the number inside in dot view
- The Sum number is displayed on the token in dot view
I think this suggestion outlines a very easy to control method of automatically tracking token movement, which also allows for very quick precise calculations, should exact movement tracing be desired.
Furthermore, these options are extensions to the current functionality only, which can be enabled intuitively as desired, or ignored to keep things exactly the way they are currently, and can be implemented one small step at a time.