manuelVo / foundryvtt-drag-ruler

A Foundry VTT module that shows a ruler when dragging tokens so you can see how far you've dragged them
MIT License
40 stars 54 forks source link

Movement detents #71

Closed n0q closed 2 years ago

n0q commented 3 years ago

At present, drag-ruler can indicate with color changes when a token has moved beyond its permitted movement range. Often a use simply want to move as far as they are permitted. This still requires eyeing measurements and making sure they, for example, move 30 feet and not one fraction further.

Proposed enhancement: Movement detents. When enabled, drag-ruler will resist moving a token beyond its maximum allotted range.

Before and up to allotted range: No change in behavior.

Immediately beyond allotted range: If a user tries to move a token beyond its allotted range, drag-ruler simply refuses to move the token any further. A character which can move 30 feet could be lazily dragged "30-ish" feet and drag ruler will not move them beyond 30.

Further beyond allotted range: If a user persists in moving their token beyond its range (based either on a configurable timer or dead zone), drag ruler ceases to impede the user further, allowing the token to be freely placed.

Optionally, a keybinding could enforce or inhibit this behavior.

manuelVo commented 3 years ago

That sounds like a fun idea!

manuelVo commented 3 years ago

For clarification: Is this request soley meant for gridless play or does this idea extend to hex and square grids as well?

n0q commented 3 years ago

I suggested it with gridless play in mind (where it would be most useful), but I imagine it might be useful on a grid.

Issue to consider: Movement with wasd should be observed. It might interact with this feature in a desirable/undesirable way. This especially becomes a 'thing' on a grid, where moving via keyboard is more commonplace.

patrickporto commented 2 years ago

@manuelVo Is movement with WASD supported?

manuelVo commented 2 years ago

@patrickporto The feature tracked in this issue is implemented. If you have any questions or feature requests, please open a new issue. This makes easier for me to keep an overview.