Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Bug]: Movement details shown to players for NPCs covered by FoW #4081

Open
kwvanderlinde opened this issue May 24, 2023 · 1 comment
Open
Assignees
Labels

Comments

@kwvanderlinde
Copy link
Collaborator

kwvanderlinde commented May 24, 2023

Describe the Bug

When an NPC is visible to a PC according to the PC's vision, but the NPC is still under FoW, the movement details are shown to players. This is confusing because the NPC itself is not rendered, and can also lead to GMs inadvertently revealing the presence of tokens they thought would be hidden from players.

This only happens when Use Individual FoW is enabled in the server settings.

To Reproduce

In the following, make sure not to expose FoW at any point.

  1. Start a new campaign. Make sure the map has FoW enabled, is visible to players, and vision is set to Night.
  2. Start a server with Use Individual FOW enabled.
  3. Connect with a player client.
  4. As GM, add a PC token with darkvision, and make it owned by all players.
  5. As GM, add an unowned NPC token nearby the PC.
  6. As GM, drag NPC around and player will see the labels.

Expected Behaviour

If an unowned token is covered by FoW, movement details and other revealing information should not be shown to players.

Screenshots

This is the view from a player client, with the Elf being owned by the player. The GM is dragging an NPC on their own client, but FoW prevents the token itself from appearing:

image

MapTool Info

1.8.5 through 1.13.0

Desktop

Linux Mint 21.1

Additional Context

No response

@kwvanderlinde
Copy link
Collaborator Author

This specific case should not be hard to address. We just need to check against FoW like we do for the other case (Use Individual FOW disabled).

More broadly, it would be good to be consistent in our visibility checks where possible during rendering, so that the results are consistent with each other and with what the player sees. The ZoneView keeps track of view-specific visible areas and exposed FoW in a way that accounts for ownership and server settings. If we make a point of using the ZoneView that for visibility-based decisions, we would always be consistent with what the player sees regarding vision and FoW.

Contrast with today where we sometimes check the ZoneView's perspective, sometimes check the zone directly, sometimes we check against the visible area and exposed area in screen space, etc.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
Status: Needs Testing
Development

No branches or pull requests

1 participant