PDA

View Full Version : Assistant GM Extension (Fantasy Grounds Unity 5E Ruleset)



SilentRuin
February 17th, 2021, 18:19
Within a week or so this will be removed from DMsG but updates will be maintained for those who already own it. After that it will move into Forge though I'm not sure on details yet will notify when I am.

Assistant GM (Fantasy Grounds Unity) (https://www.dmsguild.com/product/347833/Assistant-GM-Fantasy-Grounds-Unity)

Players can become an Assistant GM and fully control Monsters & NPCs in D&D 5e!
This stand-alone extension was created for 5th Edition Dungeons & Dragons, and its use in Fantasy Grounds allows a Game Master to grant full Monster & NPC control to any number of Assistant Game Masters or share monsters individually so players can easily control movement, targeting, and abilities.

This extension unlocks the following functions:


Assign one or more players an Assistant GM role, which unlocks:


Control of a Monster’s and NPC’s: actions, stats, movement, and abilities
End a Monster’s or NPC’s turn, switching to the next actor in combat

Grant Monster & NPC access on a monster-by-monster basis
Clear all defined users and access to all shared NPC access for everything in campaign.


V1.1 - Feature - when dropping a CT entry onto player portrait to give ownership to the player the NPC will now allow the operations to show in CT just as if it were activated for Assistant GM. This means all things host normally can click on in CT to do attacks, etc. will be available to player who owns the NPC. As before, if you remove Assistant GM access it will preserve previous ownerships created via the portrait drops.

V1.2 - BUG - Fixed stuttering recursive call problem that caused first click of visibility icon on player CT to not take and sometimes make the option go away when dealing with a shared NPC (via portrait drop). Fixed clearall.

V1.3 - BUG - Fixed dropping NPC on player portrait will now automatically update players CT - same for clearing.

V1.4 - BUG - Polymorphism had timing issues with this extension which caused its ownership to get removed (could not move transformed NPC and other owner issues). Fixing this also allowed Polymorphed NPCs to show their full CT action list for use by player - just like in host.

V1.5 - Bug - missing init call and did not place limit in combobox definitions so that scroll bar would be used properly.

43847


https://www.youtube.com/watch?v=892TL-gzJms

Grim Press will be handling the sales and promotion of this extension.
If you'd like to engage with us, please feel free to join the Grim Press discord: https://discord.gg/N7MM93a

Extensions = RISK: This note is added to all the extensions I maintain. I want users to understand that extensions are code that is added to or overrides portions of code in the Fantasy Grounds Unity (FGU) application. When the underlying code in FGU changes it can break an extension. When you run with other extensions they can conflict by trying to overwrite the same parts of the FGU code. I will keep my extensions working with FGU changes, and the extensions I use (listed in my FGU signature) as I have direct control over those things. I cannot make the same promise with other extensions. If I am notified of an incompatibility I will attempt to resolve it - but if I cannot I will list what the known extension incompatibilities are. Understand before you get any extensions that it comes with RISK. Not just my extensions - any extension.

Included is original text used for describing this extension - provided for reference if needed.

SilentRuin
February 17th, 2021, 20:27
Grim Press posted a video.

The High Druid
February 17th, 2021, 21:42
. . . will I finally be able to offload maps to a player client on a second monitor?

SilentRuin
February 17th, 2021, 22:08
. . . will I finally be able to offload maps to a player client on a second monitor?

I'm afraid that sentence is not making sense to me. Forgetting my extension - which has everything to do with NPC control and nothing to do with maps - you can currently...

Make a map public to all players (right mouse over list of image and share).
Make a map shared to one player (drag image link over player portrait - you can share any DB thing (notes, images, NPCs, etc.))

So what are you saying? Sounds like what you want - you can do now.

Now, if you are saying you split the party and some are on one map - and some are on another... then maybe? Your still one host and all those messages are still flying around one chat log. Not sure that would be what you envision. If you are talking about a clean two hosts running with copies of the campaign that you offload to someone else - that is still how you would have to do it I'm afraid. Unless I'm not understanding - which is very possible :)

The High Druid
February 17th, 2021, 23:00
Not really. Ideally I want a full DM's map on the second screen, so the main screen is clear for the combat tracker, story entries, the second floor map I'm trying to fix while the players clear the first, etc (no, screen stretching doesn't work, different sized monitors with different resolutions). Thinking about it though, that would mean the assistant DM would at least need to be able to open locked doors, reveal secrets, add npc's (and players I guess) from combat tracker onto the map, and probably other things I'm not thinking of right now . . .

Basically all the stuff I can do in Foundry by logging in as a second DM.

SilentRuin
February 17th, 2021, 23:14
Not really. Ideally I want a full DM's map on the second screen, so the main screen is clear for the combat tracker, story entries, the second floor map I'm trying to fix while the players clear the first, etc (no, screen stretching doesn't work, different sized monitors with different resolutions). Thinking about it though, that would mean the assistant DM would at least need to be able to open locked doors, reveal secrets, add npc's (and players I guess) from combat tracker onto the map, and probably other things I'm not thinking of right now . . .

Basically all the stuff I can do in Foundry by logging in as a second DM.

Well let me spitball here on how I'd do it. Forget this extension for the moment. I use Combat Group extensions to pre setup every map/encounter the party might visit/revisit before any session I start. And while they are playing I use it to manage other things in CT as long as I remember to keep the combat group I'm working on invisible to them. That takes care of your first sentence. As far as the monitor, I suffer that pain also. I already have to bump up the scaleui to see things well and have one large monitor (waiting until Star Citizen comes out before I get new hardware - sigh). And nothing is going to solve the Host can only do it via engine code (no API to get out some low level parts of map stuff/priv) to do that last sentence. The only thing this extension will help you with is if you want someone do all the combat for you - you still have to have the map given out - placement of initial stuff (I do that with Combat Groups as I said) - but then they can fully run the encounter as far as running the NPCs (including editing them in CT if you need that). Gist is nothing I have will help you with that whole host only stuff in your last sentence. Just FYI.

Extension = RISK so always be careful on spending on anything you don't need - including on my stuff :)

FundPirate
February 18th, 2021, 08:10
Could we potentially have three Assistant DMs each running one or two NPCs each coming together in potential four-way free for all so that players would see alternative players/NPC suddenly pop onto the battlefield and having to convince them to be on 'their' side? If so I am assuming someone can make them invisible to the players til thhe AsstDM decides to have her NPCs reveal themselves?

SilentRuin
February 18th, 2021, 13:15
Could we potentially have three Assistant DMs each running one or two NPCs each coming together in potential four-way free for all so that players would see alternative players/NPC suddenly pop onto the battlefield and having to convince them to be on 'their' side? If so I am assuming someone can make them invisible to the players til thhe AsstDM decides to have her NPCs reveal themselves?

Yes. You can assign any number of players the ability to control NPCs. Of course only one can have read/write control of one at any time but that is why the red dice icons are in CT - if open on that entry you have control of that entry if not you do not. Having said all that - me testing this is not same as live testing it out in the wild so will have to see how extension holds up after live. But the intent is - yes.

SilentRuin
February 18th, 2021, 15:12
Could we potentially have three Assistant DMs each running one or two NPCs each coming together in potential four-way free for all so that players would see alternative players/NPC suddenly pop onto the battlefield and having to convince them to be on 'their' side? If so I am assuming someone can make them invisible to the players til thhe AsstDM decides to have her NPCs reveal themselves?

As I use Combat Groups to manage group visibility not sure how hard/easy that is to do in normal combat tracker - so there is that caveat of an unknown there as this extension does nothing with visibility. I.E. You are dealing with raw FGU for that.

SilentRuin
February 22nd, 2021, 16:02
Activated in DMsG - see Page 1. Let me know how it works.

SilentRuin
February 22nd, 2021, 23:51
My first use with my players in my COS campaign will happen tonight. About a half mile away they will see an encounter beginning to happen between Rictavio and his tiger and some vistani. At that point I plan to use combat groups to turn off the PC's party and turn on that group into the CT. Double click on the text field to bring up map and again to bring into view - make that group visible - and grant NPC rights to all my players. They will then "fight" the NPCs against each other as their actual PC's are either trying to reach them or just watching. We shall see how it works out :)

SilentRuin
February 23rd, 2021, 13:13
My first use with my players in my COS campaign will happen tonight. About a half mile away they will see an encounter beginning to happen between Rictavio and his tiger and some vistani. At that point I plan to use combat groups to turn off the PC's party and turn on that group into the CT. Double click on the text field to bring up map and again to bring into view - make that group visible - and grant NPC rights to all my players. They will then "fight" the NPCs against each other as their actual PC's are either trying to reach them or just watching. We shall see how it works out :)
This worked, but I’m going to pass on some lessons I learned.

Granting NPC access to every player on the board and telling them which NPCs they control works. Unfortunately a bunch of players simultaneously picking the wrong NPC to control or opening up others just to look will lock out the player who is going to play them. Also having several open up control at same time had one guy appear had released control on his CT but still had it from other players perspective. I had to have them both relinquish control and then the guy who appeared to have control click it on and off. Then the other guy got control when he tried again. I could have also just taken away NPC access to the one player and regiven to fix this I suspect. Or just nuked it all but then they would have to release their PC and reselect it to get back in logged in list not to mention have to reassign an NPC pack mule that was controlled by a player (drag CT link onto portrait).

I also had a player claim he could not get control (no conflict) and it turned out he was double clicking red dice icon turning it off and on.

I could have avoided this if I individually shared each NPC to each player (one guy controlled 5) but that’s permanent control till a clear all or unshaing them manually in NPC list. And would impinge on my laziness - and enhancing my laziness is the whole point.

Lesson learned was players are pesky.

Herding cats is often easier.

Daniel Fletcher
February 24th, 2021, 01:35
Thanks for the update: Yeah was wondering about other players sneaking at the NPCs even if you say not to. Maybe you can change it so the DM can assign the NPC. Not sure on that but right click the NPC and give out but again way more coding. I am liking it for large combat with friendly NPCs. Going to use it that way also.

SilentRuin
February 24th, 2021, 02:07
Thanks for the update: Yeah was wondering about other players sneaking at the NPCs even if you say not to. Maybe you can change it so the DM can assign the NPC. Not sure on that but right click the NPC and give out but again way more coding. I am liking it for large combat with friendly NPCs. Going to use it that way also.

Think I will be leaving it get hammered by users for a bit before I contemplate rocking the boat with more features. But I have thought about this and other stuff I’d like after using it. Just want to make sure it’s stable enough (see equipped effects why I’m currently gun shy right now) :)

GuardianLurker
March 7th, 2021, 03:54
OK, I've downloaded this, but haven't used this yet.

So let's reiterate my scenario - big huge climatic battle at Tiamat's Palace in Avernus. Consisting of (1) Tiamat's Privy Court, (2)-(6) The Courts of each of her consorts.
A Consort's Court consists of a) The Consort, a Legendary, Classed/Advanced, Dragon; b) 2 Ancient Dragons; c) 4 Old Dragons (upgraded Adults); d) 7 abishai
Tiamat's Privy Court consists of I) Tiamat; II) Tiamat's Grand High Priest of Law (classed/advanced ancient blue); III) Tiamat's Grand High Priest of Death (classed/advanced ancient black;IV) Tiamat's Grand High Priest of War (classed/advanced ancient green); V) Tiamat's Grand High Priest of Trickery (classed/advanced ancient white); VI) 2 Fang Dragons.

I think you can see why I want/need Assistant GMs.

From of the sounds of things, right now, I can grant Assistant GMs access to all the NPCs, but I can't limit specific assistant to specific factions (E.g. GM Assistant 1 to just the White Court). I have to rely on the discipline of my Assistants. (Shrug. I can work with that.)

Feature request: "Faction" support (which you've already nodded to).
Feature Request: Move it out from under 5e to a CoreRPG derived module.
Feature Request: User Manual/Reference Module built-in to the extension itself.

SilentRuin
March 7th, 2021, 06:09
OK, I've downloaded this, but haven't used this yet.

So let's reiterate my scenario - big huge climatic battle at Tiamat's Palace in Avernus. Consisting of (1) Tiamat's Privy Court, (2)-(6) The Courts of each of her consorts.
A Consort's Court consists of a) The Consort, a Legendary, Classed/Advanced, Dragon; b) 2 Ancient Dragons; c) 4 Old Dragons (upgraded Adults); d) 7 abishai
Tiamat's Privy Court consists of I) Tiamat; II) Tiamat's Grand High Priest of Law (classed/advanced ancient blue); III) Tiamat's Grand High Priest of Death (classed/advanced ancient black;IV) Tiamat's Grand High Priest of War (classed/advanced ancient green); V) Tiamat's Grand High Priest of Trickery (classed/advanced ancient white); VI) 2 Fang Dragons.

I think you can see why I want/need Assistant GMs.

From of the sounds of things, right now, I can grant Assistant GMs access to all the NPCs, but I can't limit specific assistant to specific factions (E.g. GM Assistant 1 to just the White Court). I have to rely on the discipline of my Assistants. (Shrug. I can work with that.)

Feature request: "Faction" support (which you've already nodded to).
Feature Request: Move it out from under 5e to a CoreRPG derived module.
Feature Request: User Manual/Reference Module built-in to the extension itself.

Faction request - why bother? You make your own factions - I had my guys basically take two NPC groups fighting each other - one guy had multiples. Described how I did that in this thread somewhere. You just tell them which they should control. While its like herding cats - once they are sorted out they are fine. Gist being as I've said before - if you can't trust your players you have bigger problems. No need for faction support - have them or don't - matters not to who controls the NPC. They can play the faction or not. I only have neutral/foe/friendly anyway - and attack and damage never care.

CoreRPG - I only use 5E. If some day I wish to play another ruleset I'll make sure it runs under it. Thing is - ruleset's be crazy and not all of them follow CoreRPG rules. Not sure - but think it is already CoreRPG in all the calls. Point being - extensions = RISK - and I won't risk people assuming I'll support something because I added the ruleset in. I have people who modify it for their own personal use as it is. Feel free.

Manual/Reference Module - I don't have one. This thread and the .txt file are it. You have to understand - I make these for me - and that is who my primary customer is. I don't think anyone will argue that I don't actively support my extensions more than most - because I actively use them. I sell them so that other people can use them. But the hurdle for getting me to add something into them - is that I want that for me. Several have gotten me to add things in because I wanted what they wanted.

Sorry, but none of these are something I want at the moment. Your free to try to convince me - but that is the task. I won't just add something in because people want it. I have to want it.

Grim Press will update the videos at some point but probably not until FG Forge comes out. Plus they complain I add to many things in constantly so the video would be out of date constantly.

If you have any bugs that were not "that's how it works" per commentary in this thread - let me know and If I can duplicate I'll fix it.

Minethulhu
March 11th, 2021, 07:25
I'm wondering if some combination of:

Assistant GM
Combat Groups

would allow spells like:

Summon <Whatever>
Conjure <Whatever>
Animate Object

to function more easily. Or would only Assistant GM and some pre-made encounters be enough?

I've made the mistake (?) of giving one of my players an item that can summon several raven swarms once daily only to realize I've just given myself extra work.

Hmm...if this works, since my group is way too big, I may let each player control a Raven swarm so they can at least do something while waiting. The summoner can give commands on their turn, but it's up to each player to interpret as they wish (this way I've got complete deniability if somebody else decides the creature will behave more like it's nature dictates rather than an automaton).

Edit: remembered the conjure spell...

SilentRuin
March 11th, 2021, 14:51
I'm wondering if some combination of:

Assistant GM
Combat Groups

would allow spells like:

Summon <Whatever>
Conjure <Whatever>
Animate Object

to function more easily. Or would only Assistant GM and some pre-made encounters be enough?

I've made the mistake (?) of giving one of my players an item that can summon several raven swarms once daily only to realize I've just given myself extra work.

Hmm...if this works, since my group is way too big, I may let each player control a Raven swarm so they can at least do something while waiting. The summoner can give commands on their turn, but it's up to each player to interpret as they wish (this way I've got complete deniability if somebody else decides the creature will behave more like it's nature dictates rather than an automaton).

Edit: remembered the conjure spell...

Basically I look at it as a sharing issue (see post here for share details) (https://www.fantasygrounds.com/forums/showthread.php?66295-Sharing-and-Public-DB-node-records-(the-things-on-the-right-side-of-your-app)&highlight=) where if I want global access to NPCs given - I'd grant rights in Assistant GM. I can only see doing that productively if you have someone running NPC's for you or you have all the players running a purely NPC vs NPC set of battles.

When using Assistant GM for players it becomes a bit like herding cats. Someone will always be opening control (blocking it) to take a peek at something or making a mistake on which they open for their control and can take a while to sort them out.

In what you describe I'd be doing the share via dragging the combat tracker entry link onto a portrait for the NPC raven you want a particular player to control. That way they actually only have those NPC's you've given them. If you have Assistant GM or polymorphism running then this will essentially give them full ownership of those NPC's and they can do whatever they want. But even without my extensions you can do a lot of what you want when you share in this way.

So personally, that is how I'd manage it - well actually - I'd never allow a situation where someone could just spam numerous NPC's. Bag of tricks throwing some single NPC is more my speed - or sharing a Pack animals like a mule (if you have inventories in NPCs) is about all I'd do.

As I described in here I have had my players sight a group of NPCs in the distance about to fight - then used Combat Groups to turn off all their PC's from combat tracker and turn on all the NPC's groups then granted them NPC control. Took a while to herd those cats to only control the things they were going to fight with but once done it was pretty easy for the two groups of NPCs to duke it out - even though one player had to control multiple NPCs.

Minethulhu
March 11th, 2021, 22:21
With FGC players were able to move friendly NPCs (I did this extensively as a kludge workaround for wildshape before I started using tons of extensions). It seems this is no longer the case with FGU since my players can no longer move the tokens of anything aside form their PC. Does your extension fix this?

NOTE: I always play with tokens unlocked and a ton of extensions, so maybe I'm doing something wrong above.

A few enhancement requests (obviously your call, but it can't hurt asking):

Combat Tracker
As a GM I much prefer doing my most things from the Combat Tracker. Giving an "assistant GM" access to more of the hidden combat tracker stuff would be nice. Especially the "Offense" section since I 100% prefer that as a GM vs. the NPC record sheet. Also nice would be the "Targets" icons (there's an extension called Player Targeting that does this for PCs in the combat tracker)

Bell on turn
Some of my players zone out during combat but amazingly respond to the ding from Fantasy Grounds when it's their turn. It would be nice if this worked for NPCs that have an assigned player to control them.

Minethulhu
March 11th, 2021, 22:36
Also...it wasn't obvious, but does Assistant GM allow players to click End Turn for the assigned NPC(s)?

SilentRuin
March 11th, 2021, 22:41
With FGC players were able to move friendly NPCs (I did this extensively as a kludge workaround for wildshape before I started using tons of extensions). It seems this is no longer the case with FGU since my players can no longer move the tokens of anything aside form their PC. Does your extension fix this?

NOTE: I always play with tokens unlocked and a ton of extensions, so maybe I'm doing something wrong above.

A few enhancement requests (obviously your call, but it can't hurt asking):

Combat Tracker
As a GM I much prefer doing my most things from the Combat Tracker. Giving an "assistant GM" access to more of the hidden combat tracker stuff would be nice. Especially the "Offense" section since I 100% prefer that as a GM vs. the NPC record sheet. Also nice would be the "Targets" icons (there's an extension called Player Targeting that does this for PCs in the combat tracker)

Bell on turn
Some of my players zone out during combat but amazingly respond to the ding from Fantasy Grounds when it's their turn. It would be nice if this worked for NPCs that have an assigned player to control them.

I know nothing about FGC - never used it never plan to - only FGU is relevant to me so can't answer that comparison. NPC's cannot be moved by players unless shared as I described - or given rights as Assistant GM. And no, you can never more more than your owned PC's unless you have that movement options set in FGU ("I think"). Check into it. It seems you are not familiar with FGU.

Given your questions here - have you ever used Assistant GM? Obviously the offense section is there for the player its just not called that - its the Assistant GM expanded page though more or less. As far as other people's extensions I don't use them. Nor do I plan on implementing more targeting options - if you have that extension and its compatible - have at it. The map targeting tools and combat tracker are plenty for me.

Bell on turn? That's an option in standard RAW FGU. I admit I've never tried it on an NPC or shared NPC as I don't run with it. Not sure if that option would work or not. But you should try it. Not something I really use.

Minethulhu
March 11th, 2021, 23:24
Thanks. Just had questions that I didn't see answered here or in the video. Will be grabbing this now...

SilentRuin
March 11th, 2021, 23:36
Thanks. Just had questions that I didn't see answered here or in the video. Will be grabbing this now...

As I state up front - videos are hopelessly out of date on all my extensions - you have to read the version updates to find out what things do now.

webdove
March 16th, 2021, 22:51
Hi Silent, Nice extension. I used it last Friday.

I was playing with it today and noticed a couple of things.
(Note, I normally exclude all PC's from party vision except for a single metacharacter affectionately named "PV" so fog of war is realistic. By default all non-friendlies are excluded.)

When I drag an NPC/CT token to a PC Portrait they gain shared vision from that NPC, access to its sheet by double clicking on the map NPC token, and the ability to move the NPC.

I discovered that if I toggle the "grant NPC access" button for that PC, it clears that access away from that PC. This is great because I never knew a way to undo inadvertent NPC access by a PC.

I read from the text file:

"you can drop an individual NPC from CT onto portrait of player and give them full control of that NPC movement, targeting(Map or CT), and access to NPC sheet to control whatever you wish".

What did "targeting (Map of CT)" mean? For me the PC can select the NPC, but control clicking while the NPC is selected only targets for the PC, not for the NPC.

Is there any way for that NPC control to include adding the die icon in the CT so the PC can open the NPC/CT entry and control it using CT controls?
(The NPC sheet can be clunking to use and takes up a lot of space.)

Thanks
Web

webdove
March 16th, 2021, 22:53
Ah. I bet you meant dragging a save or damage to a target rather than selecting a target.

SilentRuin
March 16th, 2021, 22:59
Hi Silent, Nice extension. I used it last Friday.

I was playing with it today and noticed a couple of things.
(Note, I normally exclude all PC's from party vision except for a single metacharacter affectionately named "PV" so fog of war is realistic. By default all non-friendlies are excluded.)

When I drag an NPC/CT token to a PC Portrait they gain shared vision from that NPC, access to its sheet by double clicking on the map NPC token, and the ability to move the NPC.

I discovered that if I toggle the "grant NPC access" button for that PC, it clears that access away from that PC. This is great because I never knew a way to undo inadvertent NPC access by a PC.

I read from the text file:

"you can drop an individual NPC from CT onto portrait of player and give them full control of that NPC movement, targeting(Map or CT), and access to NPC sheet to control whatever you wish".

What did "targeting (Map of CT)" mean? For me the PC can select the NPC, but control clicking while the NPC is selected only targets for the PC, not for the NPC.

Is there any way for that NPC control to include adding the die icon in the CT so the PC can open the NPC/CT entry and control it using CT controls?
(The NPC sheet can be clunking to use and takes up a lot of space.)

Thanks
Web

If you log in as a player you should see the entire CT NPC set of powers just like you would on attack in your host CT - unless you set it invisible (as player side has that option). Yeah that clear button (not the grant button) is all powerful and if you read .txt file you'd see where I mention it will wipe out all shared NPC connections. Now I had to do some special recognition stuff in DB and code to make sure you did not lose an NPC you were given control of just because you were also granted Assistant GM powers - so you can gain control and lose control without you actually losing control of previous shared ones. But hit the clear and everything is gone.

Don't forget whatever DB record you share to a player by dropping it over the portrait - it will be shown as shared in the DB records list and you can unshare it there also. NPC's are just one of the DB records you can share in that manner. Normal FGU stuff.

webdove
March 17th, 2021, 06:59
When I drag an NPC onto a PC portrait, the Player can double click on the NPC map icon to pull up the NPC sheet and they can drag attacks and such from the NPC sheet onto another character in the CT.
The Player does not see the NPC CT display that I as the GM sees. They cannot select targets for the NPC in the CT. They cannot see the NPC/CT list of attacks and spells. That was what I was hoping for.

They only way to get the full NPC/CT display is the select the Player in the Assistant GM selection window at the top of the CT and "Grant them NPC access" (to all visible NPCs). Then they can see all the NPC/CT features.

webdove
March 17th, 2021, 07:03
BTW, I would be thrilled to learn that I am just not pushing the correct buttons :)

SilentRuin
March 17th, 2021, 11:22
BTW, I would be thrilled to learn that I am just not pushing the correct buttons :)

I’m not sure what your expecting here. If you share an NPC via the portrait your giving ownership but it’s the same rules as normal player side NPC except you can click anything in sheet like polymorphism buttons or map parcel inventories. You for sure can target but normal FGU rules apply - as in must be your turn if player. The attack like player abilities are ONLY if you use assistant GM capabilities per description.

webdove
March 19th, 2021, 01:51
One suggestion that I would offer is that the buttons "add", "Delete from CT" and "Frieds" growth the Combat Tracker about 40% horizontally.
If they could be slid under the Group Name box immediately to their left it would make for a more compact Combat Tracker. (My screen space is somewhat limited).

webdove
March 19th, 2021, 02:09
Here is a quirk. It appears that clicking Grant NPC Access for any PC erases all memory of the map for all PCs.
Before clicking Grant
44993

After clicking Grant
44994

Clicking Grant with Party Vision disabled and with only a PV character in Party Vision causes the PV character to get kicked out of Party Vision.

SilentRuin
March 19th, 2021, 04:36
One suggestion that I would offer is that the buttons "add", "Delete from CT" and "Frieds" growth the Combat Tracker about 40% horizontally.
If they could be slid under the Group Name box immediately to their left it would make for a more compact Combat Tracker. (My screen space is somewhat limited).

Your talking about combat groups not assistant GM, this is Assistant GM thread - and the reason its only on one line is to keep it obvious what the active group selected is tied with and due to the pain it is to manage things in FGU windows. May consider it at some point in combat groups but not any time soon as I like it this way (one single line for all the functionality). For sure you could edit your version to change it though.

SilentRuin
March 19th, 2021, 04:39
Here is a quirk. It appears that clicking Grant NPC Access for any PC erases all memory of the map for all PCs.
Before clicking Grant
44993

After clicking Grant
44994

Clicking Grant with Party Vision disabled and with only a PV character in Party Vision causes the PV character to get kicked out of Party Vision.

I'm not sure what your telling me here. If you grant NPC access the whole CT is redone and updated on the players side - which will clear any active status likely. If you don't have a player active you will see nothing. Its the way FGU works. Activate the player token and you'll see their perspective again. Per usual FGU.

Unless I'm misunderstanding what your saying.

webdove
March 19th, 2021, 05:01
What I am observing is that the the PC's memory of the map that they have seen so far is lost when I click Grant.

You can see in the first image the screen view for the Player controlling the Minsc character to the SE of the nightmare with that character token not selected.
The gray regions are his memory of map areas he has seen in the past.

The second image is the view for that same character with the token unselected after Grant was pressed. The gray (memorized) areas from the previous image are now black (erased).

My players like being able to see in gray where they have been on the map and erasing that information will make them unhappy.

webdove
March 19th, 2021, 05:02
My apologies for cross posting.

SilentRuin
March 19th, 2021, 05:18
What I am observing is that the the PC's memory of the map that they have seen so far is lost when I click Grant.

You can see in the first image the screen view for the Player controlling the Minsc character to the SE of the nightmare with that character token not selected.
The gray regions are his memory of map areas he has seen in the past.

The second image is the view for that same character with the token unselected after Grant was pressed. The gray (memorized) areas from the previous image are now black (erased).

My players like being able to see in gray where they have been on the map and erasing that information will make them unhappy.

Ok let me explain the basic facts of FGU and visibility. The visibility is tied to the token, which is tied to the combat tracker entry. You can think of that data as being part of that combat tracker entry. Forget this extension. Go into combat tracker and remove everything and then put it all back in. Or just do it for one token/CT entry PC or NPC does not matter. What you will see is that the history view of that token is gone. In fact, you will see a black screen until the map is re-shared to a player if you remove their CT entry and remove the token from the map then put it back out there from the host side. This is because this is how visibility works in FGU. Active token is what you see the visible perspective of. No active token - black map. Re sharing the map will give them that token's viewpoint again as there is no way for them to select it in a black map. This is all without this extension. Its how it works.

So when this extension replaces the CT entries - or anything else does - then you are back to how FGU works when you delete a CT entry from the map and replace it while that player is still logged in. You will have to reshare the map. And no matter what, just like in FGU, the history tied to that old CT entry that was replaced is gone.

I can't "fix" how FGU works in that regard. It is what it is. Now I could kludge it probably to force some kind of post operation to activate the token or something for the logged in unit - but really I'm not going to want to mess with that basic FGU behavior. If they don't bother to insure the logged in token is activated when you replace its map and CT entry I'm not going to make it behave differently.

Also if your making an assistant GM - you share and leave it for them for the duration - you don't switch it on and off like a light switch. Or at least for the duration of that map.

webdove
March 19th, 2021, 13:17
I understand.

If you remove and replace a CT entry you eliminate that character's memory of the map.
In order to Grant NPC access you must remove and replace the CT entry because you cannot modify the CT entry object in place to accomplish this.

SilentRuin
March 22nd, 2021, 21:48
corrected spelling of AssistantGM.ext that I deliver to DMsG - irrelevant really as they rename the whole thing when they deliver it but in case it matters to people - the name is now spelled correctly.

webdove
March 25th, 2021, 20:23
I just had a problem with Party Vision that stopped when I disabled loading of Assistant GM. Party vision and movement was turned off. I had one character (PV) included in party vision and moved them around the map so PV built a party vision memory of everywhere the party had been. I then stopped both clients and restarted everything. I put PV back into Party Vision and shared the map. My two clients (PV and Dufus) could the the areas that PV had memorized into Party Vision during the previous run. When I clicked to open the combat tracker on the Dufus client and clicked the map there all Party Vision memory was erased both on Dufus and on PV. I repeated this experiment with Assistant GM disabled and Party Vision memory was saved across different runs of fantasy grounds. I wonder if Assistant GM is doing something with the PV character entry in the Combat Tracker (when Dufus opens his Combat Tracker) that is causing PV's memory of Party Vision to get erased.

SilentRuin
March 25th, 2021, 20:31
I just had a problem with Party Vision that stopped when I disabled loading of Assistant GM. Party vision and movement was turned off. I had one character (PV) included in party vision and moved them around the map so PV built a party vision memory of everywhere the party had been. I then stopped both clients and restarted everything. I put PV back into Party Vision and shared the map. My two clients (PV and Dufus) could the the areas that PV had memorized into Party Vision during the previous run. When I clicked to open the combat tracker on the Dufus client and clicked the map there all Party Vision memory was erased both on Dufus and on PV. I repeated this experiment with Assistant GM disabled and Party Vision memory was saved across different runs of fantasy grounds. I wonder if Assistant GM is doing something with the PV character entry in the Combat Tracker (when Dufus opens his Combat Tracker) that is causing PV's memory of Party Vision to get erased.

Didn't we just cover all this a few posts ago? LOS is a combat tracker (CT) stored thing. If you replace the CT entries your going to lose all that LOS remembered data. I'm positive we just discussed this above. Not sure where the disconnect is happening for you - as ANY LOS remembered data will be lost if you replace the CT entry. Party vision set or not. And assistant GM will do that when it has to reformat the CT on the player side. As we discussed - don't grant stuff on and off if you plan on having an assistant GM. And if you plan to let players run NPCs then don't do it when using the same map. But point is - do not use assistant GM if you want some player to retain past memory of a map. Period. Its an FGU thing as I told you - remove a CT entry and it removes its LOS/occluder/whatever memory with it - as far as I've been able to tell.

Here is a handy rule of thumb. If you have an Assistant GM to run NPCs for you grant them access and leave it alone forever. They have access - end of story. No memory will then be lost except for things they remove from the CT in normal ways - or via other extensions.

If you have players you want to run NPCs then don't plan on the LOS memory being retained after the point you do the grant off or on because that will reformat the CT on their side which likely includes removing and adding in the CT entries in a new version of the CT display. As in not the old one. As in no LOS remembered data in that one.

webdove
March 25th, 2021, 21:32
Yes I understood that granting assistant would replace a CT entry. I imagined that it would only affect the CT memory of the PC that was granted Assistant status.

What I had not realized is that just having the Assistant module loaded without changing any granting of assistant GM or modifying any Assistant GM settings wipes all Party Vision for all characters.

Thus even your suggestion "If you have an Assistant GM to run NPCs for you grant them access and leave it alone forever." will still result in wiped party vision the next time the game is loaded. That was in fact the experiment that I performed.

I am not being critical, I am just observing that Party Vision and Assistant GM are incompatible.

SilentRuin
March 25th, 2021, 21:59
Yes I understood that granting assistant would replace a CT entry. I imagined that it would only affect the CT memory of the PC that was granted Assistant status.

What I had not realized is that just having the Assistant module loaded without changing any granting of assistant GM or modifying any Assistant GM settings wipes all Party Vision for all characters.

Thus even your suggestion "If you have an Assistant GM to run NPCs for you grant them access and leave it alone forever." will still result in wiped party vision the next time the game is loaded. That was in fact the experiment that I performed.

I am not being critical, I am just observing that Party Vision and Assistant GM are incompatible.

Its how FGU works. If LOS data is tied to the CT entry - any removal of it will result in its loss. Not anything I'm going to manage as LOS data is notoriously tricky even for them. Its not party vision. Its the CT entry's individual recording of its LOS data.

I'm going to ask an expert to make sure my world view on the way FGU works with history data is correct - remove CT entry or change its map and the LOS history data is lost. If I can get that theory validated - I will come back and double down on this not being anything to do with party vision or anything else but what I've said it is. If not - I'll tell you what I found out.

SilentRuin
March 25th, 2021, 22:24
Ok this is according to Moon Wizard:


Token history is tied to a “tokeninstance”; which at the API level is part of an image value. FoW is tied to a tokeninstance. Therefore, since FoW is only relevant to the image value that the tokeninstance is part of; then there is no mechanism to track a historical FoW since the FoW data is only relevant to the current image. Plus, it would get huge data wise.
This is completely independent of the CT; which only saves a “link” to a tokeninstance using a image data path and token ID.
When a token is added/deleted; the CoreRPG code checks this “token link” to see if it is “linked” to a CT entry for actions, decorations, etc.

FoW data is huge; since it’s actually a geometric Boolean of all visible regions.
Plus, there is no where to store this information right now; and it could be a problem that additional database checks would need to be added for every image database node to know when images deleted in order to remove the token data to prevent crashes later.

So every time CT entry gets updated by AssistantGM and the tokeninstance gets copied to the new entry the FoW data is lost.

Nothing to do with party vision. Nothing to do with anything except the replacement of the CT window list and the data within it - which is mostly copied.

I asked to make sure there was no way to get this data when replacing a tokeninstance (which I do in several of my extensions not just this one - so do others I'm sure) and got this answer from Moon...


No; there is no way to retrieve this data; and even if we did; it would be a lot of data to pass through an API. Hundreds of points defined in floating point variables.

So, doubling down on my answer. This is how FGU works. If you want to use Assistant GM - or some of the other extensions that replace or update a tokeninstance? You will lose the FoW data. Like I said - its fragile data useful while in one map for one run. Though if you stay on that one map that history will still be there as long as nothing changes to that tokeninstance. And if your using Assistant GM for that player - it will.

And just went to the trouble of trying to not copy the tokeninstance and got a nasty reminder of why I had to copy it in the first place. Its the only way to inherit the new ownership from the CT entry. Hence, it is what it is and that's the way it has to be to work. If you want to preserve your FoW - do not grant access to Assistant GM - though that will only interfere with it after you start a new session or switch it back your FoW will be there for the time in between - do not change the tokeninstance in normal FGU by switching maps, removing the CT entry (which removes the tokeninstance) and probably a bunch of other ways in FGU and with other extensions.

webdove
March 26th, 2021, 01:23
So to gain control of a tokeninstance which contains its own FoW data you must construct a new one which has no FoW data.
Odd that it seems to be erasing all FoW data even though I have not activated Assistant on anything. Perhaps the client preemptively recreates all the tokeninstances when the client opens the CT?

Moon says: "the FoW data is only relevant to the current image" I parse that as: "the record of current (white) and memorized (gray) map appearance only pertains to the tokeninstance's current containing image (picture of the map)".
That is perfectly sensible.

He avoids maintaining a FoW history, but there is no need for historical FoW data here only current data not being lost.

The only way this could work is if you could create a new tokeninstance for so you inherit ownership (as you currently do) and then copy the linkage from the old tokeninstance to its FoW and transplant that copy into the new tokeninstance so it now has proper FoW to match the old tokeninstance then delete the old tokeninstance. You would now have a properly owned tokeninstance with the correct current FoW image data attached.

That does sound tricky though. It would require you to find the FoW structure attached to the old tokeninstance and I have been searching corerpg, 5E and refdoc and can find no reference to {LOS Sight Line-of-sight} anywhere. Perhaps Moon knows where it is hidden.

Thanks very much for helping me learn. I am working to convert Celestian's 2E DMGX code to 5E with an extension (having last written lisp code decades ago) and learning all of this is a real challenge without an overall explanatory document for all the classes, attributes, methods and their relationships.

SilentRuin
March 26th, 2021, 04:10
Honestly I've explained as best I can. If you have Assistant GM active for the player it will wipe out the FoW due to the fact it has to update the CT to be different from the default and apply ownerships. All your doing is describing the exact same thing I've described already. This will happen when you open the CT when active for first time - or when its up and you grant access on or off. If active. Its for the reasons I stated. I'm not sure what you mean by "preemptive" - if its active it HAS to update the CT which involves updating all the relevant entries and thus all the tokeninstances. As I've stated - again.

And yes I tested that the FoW is still there after the session restarts if the Assistant GM for that user is not active. It was still there.

webdove
March 26th, 2021, 05:00
You were right that some other extensions may be updating token instances and erasing FoW data. I saw it happen if my PV PC had a set of map FoW in Party Vision and I used the GM to flip PV out of and back into Party Vision. That wiped the Party Vision memory.

The workaround that I have found is if I never login a client in control of the PV character that I include in Party Vision. With that restriction I can keep all my extensions loaded (several are yours) and the PV token never loses its Party Vision memory of the map. I had been logging in as the PV client using my localhost connection when I was talking with you before.

Again, thanks for your help.

vaughnlannister
March 27th, 2021, 14:37
Hi, a small thing that annoys me somewhat as DM is that my players aren't able to drag their player token from the Combat Tracker onto the map, is that something that they would be able to do with assistant GM :)? Thanks!

SilentRuin
March 27th, 2021, 14:51
Hi, a small thing that annoys me somewhat as DM is that my players aren't able to drag their player token from the Combat Tracker onto the map, is that something that they would be able to do with assistant GM :)? Thanks!

No that is FGU behavior which I happen to agree with. Last thing one needs is a bunch of players screwing with the map by simply moving locked tokens to where ever they like simply by dragging into a new position. I'm not going to provide that and I hope they never allow it also!

vaughnlannister
March 27th, 2021, 16:08
Ok, yes that would be really bad :p, though you could use masking :P, and only reveal the area their allowed to drag them, though then you would have to remove the mask again XD, so ummh more clicks lol, if you use the green icon at the bottom of the Combat Tracker, its just on click-drag anyway ;). I'm always looking for little tweaks that give me less clicks during a sessions :), for instance, would a feature that allows to auto-share a map with the players, after you've dragged them onto the map something you would be interested in?

SilentRuin
March 27th, 2021, 16:54
Ok, yes that would be really bad :p, though you could use masking :P, and only reveal the area their allowed to drag them, though then you would have to remove the mask again XD, so ummh more clicks lol, if you use the green icon at the bottom of the Combat Tracker, its just on click-drag anyway ;). I'm always looking for little tweaks that give me less clicks during a sessions :), for instance, would a feature that allows to auto-share a map with the players, after you've dragged them onto the map something you would be interested in?

To many variables. People will not be ready to "share" a map right away without doing some prep work first in some cases right before they hand it out. I would not want to automate that - especially when lighting comes around.

SilentRuin
April 22nd, 2021, 15:29
While this video shows a lot of other stuff just for fun - it does have example of having a player's druid going "bad" and breaking from the party, attacking them with the help of a orc war band. They use assistant GM to play out the battle between the druid and orc band (player controlled) vs the rest of the party PC's controlled by the GM. Just and example of how this can work - but really - its up to your own imagination how you use it. I've also done multiple players controlling two completely different groups of NPC's battling each other (using combat groups to remove all the PC's from the combat tracker only leaving NPC's). It's a long boring video I posted in another thread to show generally what things can be done with extensions, modules, and themes - but it does show the use of Assistant GM in it as I described above.

This shows an example of a PC player turning evil and taking over an orc war band to fight PC's. (https://youtu.be/Rym-nbuh8E8?t=418)

SilentRuin
May 11th, 2021, 15:31
V1.1 - Feature - when dropping a CT entry onto player portrait to give ownership to the player the NPC will now allow the operations to show in CT just as if it were activated for Assistant GM. This means all things host normally can click on in CT to do attacks, etc. will be available to player who owns the NPC. As before, if you remove Assistant GM access it will preserve previous ownerships created via the portrait drops.

Basically, I was in my COS game and it became annoying that one of my players had to go through the main tab and find things they could do in a particular nasty NPC support character they were running that had a lot of things it could do. Made me think - why am I not letting the single ownership show the details in the players individually given NPCs like I do when they are granted access to all the NPCs? No reason I could think of. So I've added it in.

The effect of this is that if you have dropped a CT link onto a player portrait it will still get FULL ownership but will now also let them pick form the CT tracker for attacks, etc. just like they could if they had granted access to all NPC's and chosen one or more of them. If you grant access you will not be able to close NPCs in player CT that already had FULL ownerships via portrait drop and they will still be accessible after Grant NPC access has been taken away as they were given ownership through the other mechanism. Confused? To bad, that's what is going on. Here I'll toss in a few pictures.

The first picture shows a Mule and PugUgly in CT that were dropped over portrait to give access. The second picture shows that same CT after the player was granted NPC access. When that access is removed you'll be back to the first picture.
46515

46516

webdove
May 11th, 2021, 16:41
Will Polymorphism get the same feature?

SilentRuin
May 11th, 2021, 16:52
Will Polymorphism get the same feature?

Nope. While it has shared code for making the NPC fully controllable the CT client modifications are purely Assistant GM and will remain so. As I use all my extensions as essentially one beast, this has no effect on me. If you have polymorphism only you'll certainly still have full control of your NPC as you had before.

SirMotte
May 12th, 2021, 01:08
V1.1 - Feature - when dropping a CT entry onto player portrait to give ownership to the player the NPC will now allow the operations to show in CT just as if it were activated for Assistant GM. This means all things host normally can click on in CT to do attacks, etc. will be available to player who owns the NPC. As before, if you remove Assistant GM access it will preserve previous ownerships created via the portrait drops.

Basically, I was in my COS game and it became annoying that one of my players had to go through the main tab and find things they could do in a particular nasty NPC support character they were running that had a lot of things it could do. Made me think - why am I not letting the single ownership show the details in the players individually given NPCs like I do when they are granted access to all the NPCs? No reason I could think of. So I've added it in.

The effect of this is that if you have dropped a CT link onto a player portrait it will still get FULL ownership but will now also let them pick form the CT tracker for attacks, etc. just like they could if they had granted access to all NPC's and chosen one or more of them. If you grant access you will not be able to close NPCs in player CT that already had FULL ownerships via portrait drop and they will still be accessible after Grant NPC access has been taken away as they were given ownership through the other mechanism. Confused? To bad, that's what is going on. Here I'll toss in a few pictures.

The first picture shows a Mule and PugUgly in CT that were dropped over portrait to give access. The second picture shows that same CT after the player was granted NPC access. When that access is removed you'll be back to the first picture.
46515

46516

This is exactly what I wished for since I first experimented with the extension. Thanks! While I do trust my players to not screw things up, I felt a little uneasy granting full access all the time ;).

SilentRuin
May 26th, 2021, 03:22
V1.2 - BUG - Fixed stuttering recursive call problem that caused first click of visibility icon on player CT to not take and sometimes make the option go away when dealing with a shared NPC (via portrait drop). Fixed clearall.

SilentRuin
May 26th, 2021, 16:51
V1.3 - BUG - Fixed dropping NPC on player portrait will now automatically update players CT - same for clearing.

SilentRuin
May 26th, 2021, 21:50
Now, if I were player and wanted control of an NPC mule and/or an enemy Pugugly NPC - how would I do it? I'd have the host drag the NPC CT entry link I wanted to be controlled by the player and then drop it over that players portrait! Then on the players side... you'd have full control of the map and the sheet! See here is a picture of how the players sees those NPCs in its combat tracker (CT)... but... what is that? Can anyone see a strange difference from normal FGU players CT? Hmmmm.....
47125

Or if I open the CT visible icon on Pugugly...

47126

An example of my short version explanations on how player controlled NPC's work in my world ;)

SilentRuin
June 7th, 2021, 06:59
V1.4 - BUG - Polymorphism had timing issues with this extension which caused its ownership to get removed (could not move transformed NPC and other owner issues). Fixing this also allowed Polymorphed NPCs to show their full CT action list for use by player - just like in host.

SilentRuin
July 13th, 2021, 00:24
V1.5 - Bug - missing init call and did not place limit in combobox definitions so that scroll bar would be used properly.