DICE PACKS BUNDLE
Page 40 of 43 First ... 303839404142 ... Last
  1. #391
    FYI, there is a race condition with Clock Adjuster which affects auto-removal of NPC tokens when placed with GAL layer. I believe this must be fixed on their side, but you might want to check as well.

  2. #392
    Quote Originally Posted by Arnagus View Post
    FYI, there is a race condition with Clock Adjuster which affects auto-removal of NPC tokens when placed with GAL layer. I believe this must be fixed on their side, but you might want to check as well.
    Don't use it and as you say you can't remover something that something outside of your extensions power (GAL) has removed for its own reasons.
    Free(Forums/Forge) Extension(FGU 5E):
    Paid (Forge) Extension(FGU 5E):

  3. #393
    Quote Originally Posted by SilentRuin View Post
    you can't remover something that something outside of your extensions power (GAL) has removed for its own reasons.
    Actually, it is a Generic Actions Layer Extension - V1.10 feature to place and remove those tokens.
    A NPC token removed this way seems to still exists on the CombatManager.CT_LIST.
    But it will be much easier to check the existence of the token before processing instead of assuming each entry of CT_LIST is valid.

  4. #394
    Quote Originally Posted by Arnagus View Post
    Actually, it is a Generic Actions Layer Extension - V1.10 feature to place and remove those tokens.
    A NPC token removed this way seems to still exists on the CombatManager.CT_LIST.
    But it will be much easier to check the existence of the token before processing instead of assuming each entry of CT_LIST is valid.
    combattracker.list is a DB entry. If you are not rereading it every time you try to use that list then you are subject to it getting out of date. Usually someone who stores a list from DB will intercept "onUpdate", "onDelete", etc. to keep it up to date. If you do not, you take the risks - you reap the dangers. Again - nothing to do with GAL.
    Free(Forums/Forge) Extension(FGU 5E):
    Paid (Forge) Extension(FGU 5E):

  5. #395
    As far as I can tell, it is a true race condition since ClockAdjuster loops over the freshly pulled list and it becomes outdated while still processing the loop.
    But as said: needs to be fixed there.

  6. #396
    Quote Originally Posted by Arnagus View Post
    As far as I can tell, it is a true race condition since ClockAdjuster loops over the freshly pulled list and it becomes outdated while still processing the loop.
    But as said: needs to be fixed there.
    If loop makes calls that can trigger stuff outside of the loop while looping then yes, its a true race condition. As generally FGU is single threaded.
    Free(Forums/Forge) Extension(FGU 5E):
    Paid (Forge) Extension(FGU 5E):

  7. #397

  8. #398
    Quote Originally Posted by SilentRuin View Post
    If loop makes calls that can trigger stuff outside of the loop while looping then yes, its a true race condition. As generally FGU is single threaded.
    That is exactly what GAL is doing... the ClockAdjuster is looping over all CT entries, lists the effects on each, and reduces the duration accordingly. GAL interferes here by removing tokens during this loop.

    Let me explain: you have a combat tracker (CT) token (usually with a low ID number) which casts a spell causing a GAL layer image to be created and with the image, places an NPC on the CT (usually with a higher ID number). The layer is bound to a spell effect on this token.

    Advancing the time, ClockAdjuster loops over all CT entries (apparently in numerical order) to reduce the duration of each effect. This causes the effect of the spell caster to expire, triggering the deletion of the GAL layer and with it, deletion of the NPC token. When the loop continues, it reaches this token entry in the CT, but it is no longer there - causing the error.

    I have added the fix in my original post - it is as simple as checking if the next CT entry is still there before processing it.

  9. #399
    This is true for any valid deletion operation. If you are not rereading the information you are subject to that information having been removed by other operations reacting to changes in the system - which may have been done by the owner of the loop. A DB entry (record,token,whatever) can be removed if you trigger a callback by changing data someplace that something else is watching.

    Nature of the beast in FGU extension land. You have to guard against nil if you hold a DB record in a list as it can and will go away if your touching things in the DB during the loop.
    Free(Forums/Forge) Extension(FGU 5E):
    Paid (Forge) Extension(FGU 5E):

  10. #400
    Generic Actions Extension - V1.61 - Update - support of 2024 ruleset for generic actions operations. The generic actions operations have a unique option: "Rules: Grapple, Break Grapple, Shove". Each has the following options: "Default" (active FGU ruleset defined in options - 2024 or Legacy), "2024" (forces use of 2o24 ruleset), or "Legacy" (forces use of Legacy ruleset). Basically these operations have changed in how they manage rules in the 2024 5E ruleset - all other operations have remained the same. The first roll in Grapple and Shove will be replaced with the 2024 rules (when in effect) 8 + strength bonus + proficiency bonus. And for Break Grapple the 2nd roll will be replaced with 8 + strength bonus + proficiency. Monks will be able to use higher of strength or dexterity bonus.
    Last edited by SilentRuin; March 29th, 2025 at 16:24.
    Free(Forums/Forge) Extension(FGU 5E):
    Paid (Forge) Extension(FGU 5E):

Page 40 of 43 First ... 303839404142 ... Last

Thread Information

Users Browsing this Thread

There are currently 1 users browsing this thread. (0 members and 1 guests)

Bookmarks

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •  
TALES of the VALIANT

Log in

Log in