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

[Feature]: Chat window /tsay command improvements for impersonated token #5039

Open
Baaaaaz opened this issue Nov 7, 2024 · 3 comments
Open
Labels
feature Adding functionality that adds value

Comments

@Baaaaaz
Copy link

Baaaaaz commented Nov 7, 2024

Describe the Problem

I'd expect to be able to use an impersonated token's speeches in the chat, but this is not possible in certain situations as /tsay slash commands currently work using selected token(s) not impersonated tokens. Scenarios are:

  • If a token is impersonated (but no token is selected on the current map) the /tsay command returns "No Tokens Selected" to the chat window.
  • If a token is impersonated and a different token is selected on the current map and both have a speech with the same speech id, the /tsay commands will return the selected token's speech to the chat window, not the speech from the impersonated token.
  • If a token is impersonated and multiple tokens are selected (including the impersonated one) (and multiple tokens have a speech with the same id) /tsay id will return selected tokens' speeches to the chat window.

The Solution you'd like

  1. If a token is being impersonated, /tsay slash commands should return a matching speech for the impersonated token only, regardless of whether any tokens are selected or not, and regardless of whether or not the impersonated token is on the current map.
  2. If a token is not being impersonated, /tsay can return matching speeches for selected tokens as current behaviour.

Alternatives that you've considered.

To not use chat, just use MTScript, but even then one cannot use speech functions currently from a different map to the one with the impersonated token on.

Additional Context

Even when a token is impersonated, I have to go to the right map, and select the right token in order to get the chat \tsay command to behave correctly.

@Baaaaaz Baaaaaz added the feature Adding functionality that adds value label Nov 7, 2024
@cwisniew
Copy link
Member

Token impersonation should not carry over map change if it does someone has introduced a bug which needs to be fixed as it's likely to cause other problems

@Baaaaaz
Copy link
Author

Baaaaaz commented Nov 11, 2024

It appears to do so yes. If you are impersonating a token and change to another map the token is still showing as impersonated in chat and in the impersonated window, and if you then enter something into the chat input box the impersonated token's image does not get displayed next to the sent chat message (which it does if the current map has the impersonated token on).

It may be better from a user experience standpoint if the impersonation is remembered, but only shows if the impersonated token is on the current map. For example, if the impersonated token is 'teleported' to a different map, or if the user is impersonating a token and switches to another map and then switches back.

As an aside, with the chat command /im you can also impersonate non-tokens (e.g. /im bob the barbarian).

@cwisniew
Copy link
Member

As an aside, with the chat command /im you can also impersonate non-tokens (e.g. /im bob the barbarian).

This is intentional so you don't have to create a token for on-the-fly things that don't need one, mind you, possibly less useful now that nearly everyone is using discord or something to speak to each other :), and it might be that it's being handled the same way as this is when the map is swapped, I would need to check (this is ok if that's the case but it would mean that any macros expecting an impersonated token would see no token impersonated).

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
feature Adding functionality that adds value
Projects
None yet
Development

No branches or pull requests

2 participants