2 Attachment(s)
Assistant GM Extension (Fantasy Grounds Unity 5E Ruleset)
Only in Forge.
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.
Network problems can reek havoc with this - as it can with anything else in FGU. Make sure you actually have given ownership to a player - combat groups will have ability to hover over CT link and show who owns it. I can't count how many times I thought I dragged the CT link over the players portrait and dropped it in giving them ownership or Granting NPC access to a user only to find something did not actually work due to network or mouse lag of actually grabbing the link.
Also when you use the Clear All button remember it will remove all ownerships defined and clear the list of current logged in players. To recover the selection list you will need to have them erase their logged in PC and reselect it. Also, best to have players close maps and combat tracker before you do Clear All if you have a lot of owned NPCs ( can be up to a minute while all the clients maps flash and CT's get refreshed for each NPC - small numbers its not noticeable).
Updates:
[See .txt file for early updates and features]
V1.5 - Bug - missing init call and did not place limit in combobox definitions so that scroll bar would be used properly.
V1.6 - Feature - when the CT map token is double clicked it will insure the CT scrolls to a point in the window that it is showing that CT token's entry - if visible in the CT list.
V1.7 - Bug - added additional end turn check to resolve an incompatibility with another extension.
V1.8 - Bug - Added in client message to try and insure that any owned token change is selected on client after change. Trying to prevent a black screen for player.
V1.9 - Bug - Fixed where GrantNPCAccess button would only clear access of an owned NPC if it was a logged in user. In one of my sessions one of the players was out and another took over his PC and NPCs for that character but I had to recreate the NPCs in CT because I could not free up the usernames owned ones (because he was not logged in). Will now clear owned NPCs (that were assigned by AssistantGM) whether logged in or not when the GrantNPCAccess is turned off for that user.
V1.10 - Bug - AssistantGM would cause NPC's that used polymorphism to lose their ownership when switching back to original NPC by running through CT entries to remove ownership. Rewrite of portions of extension to make sure ownership removal was only done by those who owned the PC/NPC. Also guarded to make sure this logic was never called for a PC CT node. Hopefully this fixes my problems with losing ownership of map tokens for players.
V1.11 - Update - FGU update required changes to code.
V1.12 - Update - Support for Sir Motte's theme.
V1.13 - Update - FGU update required changes to code.
V1.14 - Update - FGU update required changes to code.
V1.15 - Bug - AssistantGM had major client CT initialization issues that slowed down the host when any client first brought up their CT with a huge number of shared NPCs that they had the potential to control. Rare for normal users to see but a killer on performance like big player controlled battles like I sometimes run. Fixed.
V1.16 - Update - added support for TokenHeight so that when you change ownership you keep the token height assigned.
V1.17 - Bug - FGU snuck a relocation of the target logic for ct clients - which resulted in the logic that allows owned NPCs to show targets on client ct's to be disabled. Fixed.
V1.18 - Update - added support for client combat tracker sheet links when they have ownership of the CT entry.
V1.19 - Bug - fixed some issues with V1.18 not displaying link correctly all the time (when combat tracker window was not up and other cases). Added Clear Button that will clear only the current User selected in the list - will do the same as clear all button but do it only for one user (remove all ownerships). When doing a clear all the list of users will now be replaced with the active logged on users (instead of empty).
V1.20 - Update - added ability to drop NPC CT entry onto the Clear button to remove NPCowner access to a single entry. If you accidentally click on the clear button when you do the drop and have an active user - then obviously you can kiss all that user's owned stuff goodbye as designed.
V1.21 - Update - implemented node and childList changes to code that SW wanted.
V1.22 - Update - supported vehicle class as much as possible in the same manner as npc class.
V1.23 - Bug - Assistant GM is allowing PC to get an NPC access control icon shown when it should not - fixed. Was not allowing PC sheet to be displayed from CT link - fixed. After an NPC was polymorphed it was stuck on assistant GM ownership even when cleared on host - fixed. Running a local client would have ownership detection issues - changed check to be with Session.UserName instead of User.getUserName() so the correct login user would be returned for comparison with owner when the client is running on same machine as host.
V1.24 - Bug - V1.23 tied the CT player side to the host CT and accidental wiped the link data when not displayed. This causes the link to be broken on host - this fixes it so it won't kill the link anymore. If you suffered from that brief window V1.23 was live just delete and replace any CT entries that lost their link.
V1.25 - Bug - This was super weird - basically I fixed it by trial and error so when a PC is added into CT on host it will now have correct CT entry (no assistant GM icon) and will not blank the name. Voodoo fix. Not even going to explain what I did as I don't understand why it fixed it to start with.
V1.26 - Bug - add new callback for CombatRecordManager.getRecordTypePostAddCallback(" charsheet") to insure if someone defined this already I call theirs before I do my stuff. Prevent conflicts (maybe, as this is voodoo code now and if everyone setting these RecordType functions does not also do this type of thing my stuff will be stomped if the load order does not favor me - but at least now I won't be responsible for the stomping of anyone else).
V1.27 - Deprecated Code - Deprecated legacy functionality I still use has been moved directly into the extensions which removes the deprecated errors. The new CT (client/host) does not easily support what I need to do and don't have time to figure it out, so for now just sticking with old way of doing things until something makes me do it differently.
V1.28 - Bug - FGU underlying execution somehow shifted so that my end turn override didn't get applied anymore. Fixed.
V1.29 - Update - using local client confuses User.getIdentityOwner(sIdentity) calls so have to check for nil and then use sIdentity.sUser in order for it to get the local machine name (user). Only relevant if your using a local client like I do for testing. Will be part of next delivery version as this is just for me.
V1.30- Update/Bug - FGU no longer properly processes a double click in maps that are not simple (not much or any LOS/Lighting). Using middle mouse button to also do the onDoubleClick logic here.
Attachment 43847
https://www.youtube.com/watch?v=892TL-gzJms
A homemade big battle to demo some things... A video made for my own entertainment...
https://youtu.be/ZHOex26Vjic
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. These extensions are also maintained by me for me. I provide them outside of my own games purely to those who wish to take advantages of things I use for myself.
Included is original text used for describing this extension - provided for reference if needed.