PDA

View Full Version : Interest Check: Initial Token Visibility Extension



Minty23185Fresh
February 18th, 2021, 05:09
I'm one of those DM's who spends way to much time prep'ing for my next session. And I'd really like to get more for my time investment. So there are a lot of little things that would help me. One is, the initial visibility of the NPC tokens on the map when an encounter is put into play.

Fantasy Grounds' default behavior is that all tokens are added to the Combat Tracker and the corresponding map with their visibilities set to invisible. Then the DM selects which tokens, if any, to make visible as the encounter unfolds. To my mind, in most cases initiative is rolled and the battle map is shared when at least one of the opposing combatants can be seen by the heroes.

Nearly every encounter I prep has an "Environment" NPC, things like lighting, when reinforcement NPC's arrive, saving throws by the heroes due to something or other, anything that changes during the bout that I need to be reminded of and that I don't want to have to go searching the Story text for. The Environment, i.e. my notes, is never visible to the players.

If you've ever read one of my posts, you know by now there is bound to be a screenshot or two.
The following screenshot depicts the Encounter dialog with an added field (boxed in red), the Initial Token Visibility (by group of NPCs).
43893

And then in this screenshot, the map and Combat Tracker are shown. The goblins, selected in the Encounter dialog as initially visible (blue arrows) are visible on the map and marked accordingly in the Combat Tracker. The hobgoblin and pit trap marked as initially invisible (orange arrows) are set accordingly (the default). The hazard wasn't placed on the map.
43894

Admittedly, this simple example is hardly worth the effort, why would this be needed when there are but three NPCs to make visible? (Even I can do that!) It becomes far more appreciated when there are 6 PCs and tribe of 8 goblins, 3 hobgoblins, and reinforcements of another half dozen goblins and a couple ogres in the adjacent chamber all intermingled in the Combat Tracker.

If I receive enough confirmations of interest, I'll pretty it up a bit and publish.

El Condoro
February 18th, 2021, 08:50
Seems like a good idea to me. Back in the day, the factions (friendly etc.) had to be set after the actors were added to the CT. Having this sort of thing ready to go would help in the same way, I think.

Ludd_G
February 18th, 2021, 10:24
I like it to a degree (and definitely appreciate the work you put in) but is there any chance at all that this could also include the 'mask sensitivity' etc states? And, much more importantly for me, have the ability to group select numbers of NPC tokens, on the map, and change their visibility state, including 'mask sensitivity' on the fly? I'm pretty sure there's no way to do this at present, and that, for some unknown reason, group selecting tokens only allows group movement and not changing visibility states, or even targeting (something else I'd love to see)? Or, which is not unheard of, am I missing some basic FGU functionality that I really should know about? :D

Cheers,

Simon

Minty23185Fresh
February 18th, 2021, 13:58
@Ludd_G
Thank you for bringing “mask sensitivity” into view. A quick search in the forums enlightened me. I don’t want anything to do with this in the realm of LoS. I will not be pursuing this further. Again thank you, you saved me from some major headaches!

Kelrugem
February 18th, 2021, 14:07
I like it to a degree (and definitely appreciate the work you put in) but is there any chance at all that this could also include the 'mask sensitivity' etc states? And, much more importantly for me, have the ability to group select numbers of NPC tokens, on the map, and change their visibility state, including 'mask sensitivity' on the fly? I'm pretty sure there's no way to do this at present, and that, for some unknown reason, group selecting tokens only allows group movement and not changing visibility states, or even targeting (something else I'd love to see)? Or, which is not unheard of, am I missing some basic FGU functionality that I really should know about? :D

Cheers,

Simon

Group targeting already works :) Or what do you mean? In the image toolbar you can select a group of tokens as target (free form also possible with some hotkey); when you have multiple tokens selected, then all of these get the same targets at once

@minty: I think Ludd_G means with mask-sensitivity just the typical FGC thing, so, token shown if not in mask; when an entry in the CT gets visible via the eye button, then it is always mask-sensitive as default. It looks like that your eye buttons in the encounter window are linked to the ones in the CT, so, mask-sensitivity is probably immediate without further effort

Ludd_G was basically asking for a way to adjust the visibility settings of a group of tokens simultaneously, but that is more for another project not the same as your idea :)

Jiminimonka
February 18th, 2021, 14:11
I'm one of those DM's who spends way to much time prep'ing for my next session. And I'd really like to get more for my time investment. So there are a lot of little things that would help me. One is, the initial visibility of the NPC tokens on the map when an encounter is put into play.

Fantasy Grounds' default behavior is that all tokens are added to the Combat Tracker and the corresponding map with their visibilities set to invisible. Then the DM selects which tokens, if any, to make visible as the encounter unfolds. To my mind, in most cases initiative is rolled and the battle map is shared when at least one of the opposing combatants can be seen by the heroes.

Nearly every encounter I prep has an "Environment" NPC, things like lighting, when reinforcement NPC's arrive, saving throws by the heroes due to something or other, anything that changes during the bout that I need to be reminded of and that I don't want to have to go searching the Story text for. The Environment, i.e. my notes, is never visible to the players.

If you've ever read one of my posts, you know by now there is bound to be a screenshot or two.
The following screenshot depicts the Encounter dialog with an added field (boxed in red), the Initial Token Visibility (by group of NPCs).
43893

And then in this screenshot, the map and Combat Tracker are shown. The goblins, selected in the Encounter dialog as initially visible (blue arrows) are visible on the map and marked accordingly in the Combat Tracker. The hobgoblin and pit trap marked as initially invisible (orange arrows) are set accordingly (the default). The hazard wasn't placed on the map.
43894

Admittedly, this simple example is hardly worth the effort, why would this be needed when there are but three NPCs to make visible? (Even I can do that!) It becomes far more appreciated when there are 6 PCs and tribe of 8 goblins, 3 hobgoblins, and reinforcements of another half dozen goblins and a couple ogres in the adjacent chamber all intermingled in the Combat Tracker.

If I receive enough confirmations of interest, I'll pretty it up a bit and publish.

Sounds like a good idea.

Ludd_G
February 18th, 2021, 14:35
See I knew I'd missed something! I'd always tried to get the selection mode button to work in conjunction with the target button! I never realised or spotted that the target button also works in drag-select mode! D'oh! Thank you for that! What a revelation! Haha!

But yeah, my basic hope is for some sort of "group select - change visibility state" button or something. That would be a time saver for me.

Cheers,

Simon

Ludd_G
February 18th, 2021, 14:36
Thanks for all your work, and I still think that the extension originally proposed would be a great addition.

Cheers,

Simon

Kelrugem
February 18th, 2021, 14:39
See I knew I'd missed something! I'd always tried to get the selection mode button to work in conjunction with the target button! I never realised or spotted that the target button also works in drag-select mode! D'oh! Thank you for that! What a revelation! Haha!

But yeah, my basic hope is for some sort of "group select - change visibility state" button or something. That would be a time saver for me.

Cheers,

Simon

Hehe, I thought so :D

About the visibility changer for groups: I think I may have already an idea for that; but that needs some time until I have time for extensions again :) I try to write it then on CoreRPG level (if it is possible at all)

Ludd_G
February 18th, 2021, 14:41
Hehe, I thought so :D

About the visibility changer for groups: I think I may have already an idea for that; but that needs some time until I have time for extensions again :) I try to write it then on CoreRPG level (if it is possible at all)

For example there are a couple of very busy rooms in The Sunless Citadel 5e, and the presence of so many tokens, in 'mask sensitivity' mode, really drags performance down, but to change them to 'always visible' requires each one to be set individually (even if they're selected as a group), which is a bit of a pain to say the least.

Minty23185Fresh
February 18th, 2021, 14:45
@minty: I think Ludd_G means with mask-sensitivity just the typical FGC thing, so, token shown if not in mask; when an entry in the CT gets visible via the eye button, then it is always mask-sensitive as default. It looks like that your eye buttons in the encounter window are linked to the ones in the CT, so, mask-sensitivity is probably immediate without further effort

Ludd_G was basically asking for a way to adjust the visibility settings of a group of tokens simultaneously, but that is more for another project not the same as your idea :)
Thank you for joining in. I appreciate your thoughts.

I searched the forums for “mask sensitivity” and the results indicate possible ambiguities in current implantation and desired implementation. That coupled with the possible high demand for everything to be LoS compliant makes me believe there will be too many requests for out of scope enhancements.

This little bit of functionality will remain in my toolkit. Let someone else eat that can of worms.

Minty23185Fresh
February 18th, 2021, 15:43
For example there are a couple of very busy rooms in The Sunless Citadel 5e, and the presence of so many tokens, in 'mask sensitivity' mode, really drags performance down, but to change them to 'always visible' requires each one to be set individually (even if they're selected as a group), which is a bit of a pain to say the least.
My experiments with “always visible” is that that is a falsehood. You can still turn the visibility on and off in the Combat Tracker. How is that “always”? (I might be mistaken or confused, or maybe don’t understand the intent or usefulness.)

SilentRuin
February 18th, 2021, 15:46
My experiments with “always visible” is that that is a falsehood. You can still turn the visibility on and off in the Combat Tracker. How is that “always”? (I might be mistaken or confused, or maybe don’t understand the intent or usefulness.)

Its a one way transaction. Setting visibility in tokens will not transfer to CT and only apply to the token. Setting visibility in CT will set the visibility to players in the CT AND set the token visibility. Can get confusing when you don't realize that.

Ludd_G
February 18th, 2021, 16:01
In my case I guess I'm talking about 'mask sensitivity' with regards FGU's LoS, in that a token can be always visible and ignore any LoS masking (so you will see tokens floating in the inky blackness of an unexplored map from where ever your pc is), always invisible (great for enemies in your LoS but hidden) or mask sensitive (the tokens are seen by the PCs only if they have LoS to them).

I just find myself wanting to swap between "always invisible" and "mask sensitive" quite often (goblins do like to hide... alot! :D ), and it's a bit annoying to have to change each token individually.

Cheers for the discussion,

Simon

Minty23185Fresh
February 18th, 2021, 16:03
Its a one way transaction. Setting visibility in tokens will not transfer to CT and only apply to the token. Setting visibility in CT will set the visibility to players in the CT AND set the token visibility. Can get confusing when you don't realize that.
Thank you confirming what I thought I had seen in my experiments. I guess I’m just a bit rigid, to me “always” means “ALWAYS”, not just sometimes, or “kinda”. :)

SilentRuin
February 18th, 2021, 16:05
In my case I guess I'm talking about 'mask sensitivity' with regards FGU's LoS, in that a token can be always visible and ignore any LoS masking (so you will see tokens floating in the inky blackness of an unexplored map from where ever your pc is), always invisible (great for enemies in your LoS but hidden) or mask sensitive (the tokens are seen by the PCs only if they have LoS to them).

I just find myself wanting to swap between "always invisible" and "mask sensitive" quite often (goblins do like to hide... alot! :D ), and it's a bit annoying to have to change each token individually.

Cheers for the discussion,

Simon

Yeah it can be an annoyance. Annoyances in my world are solved by writing an extension for it so I'd say do that! :)

Ludd_G
February 18th, 2021, 16:16
Arrrgghhhhh... *runs away screaming* :D

Minty23185Fresh
February 18th, 2021, 16:18
Arrrgghhhhh... *runs away screaming* :D

Ditto.

Ludd_G
February 18th, 2021, 16:19
Haha! Touche!

celestian
February 18th, 2021, 16:43
I'm one of those DM's who spends way to much time prep'ing for my next session. And I'd really like to get more for my time investment. So there are a lot of little things that would help me. One is, the initial visibility of the NPC tokens on the map when an encounter is put into play.

Fantasy Grounds' default behavior is that all tokens are added to the Combat Tracker and the corresponding map with their visibilities set to invisible. Then the DM selects which tokens, if any, to make visible as the encounter unfolds. To my mind, in most cases initiative is rolled and the battle map is shared when at least one of the opposing combatants can be seen by the heroes.



I am working on a related "prep" feature. I made it as an extension called Situational Awareness (https://www.fantasygrounds.com/forums/showthread.php?64386-5E-Extension-Situational-Awareness-(pre-load-encounter-tokens-on-maps)) but I've done a bit more in the 2E ruleset trying to work around some of the performance hits. In short, it allows you to preload encounters on the map, then select and activate or deactivate those tokens in the CT (if deactive they only show on the map, if active they show in CT and map). It does not toggle the stealth/hidden modes that exist now.

The biggest problem I have is that even hooking into getCombatants() and replacing it to only display the correct tokens, it will still bog down in certain situations if you have a lot of tokens preloaded. I'm working on a cache mechanic but right now it's still a few issues (client side). Outside of that the design and implementation is quite simple.

I am hoping we can, in the future, auto-hide/unhide CT entries based on visual distance to a specific player and what their token can "see". I know they have said there will be API hooks for such things down the road but that would help with some of what you are describing as well.

Minty23185Fresh
February 18th, 2021, 16:47
Thank you celestian
(This is far beyond my capabilities.)

celestian
February 18th, 2021, 16:59
Thank you celestian
(This is far beyond my capabilities.)

Hah, you are to modest. ;)

I really love to prep ahead of games like you seem too. It would be nice if we could see these sorta things across all systems. I'm going to keep an eye on what you're doing here. Your encounter sheet looks interesting!

Minty23185Fresh
February 18th, 2021, 17:09
@celestian
As you mentioned earlier, this too is really quite simple, a handful of lines of script. A couple issues to solve are initialization (it doesn’t work for the first added encounter, but every encounter thereafter it’s gold) and second a wholesale replacement of one function (which just begs for inter-extension conflicts).

kevininrussia
February 18th, 2021, 23:16
I am hoping we can, in the future, auto-hide/unhide CT entries based on visual distance to a specific player and what their token can "see". I know they have said there will be API hooks for such things down the road but that would help with some of what you are describing as well.

I made a wish item for that on Idea Informer a while ago. Moon Wizard said it was something they are going to look into after Lighting release.

https://fgapp.idea.informer.com/proj/?ia=135345