5E Product Walkthrough Playlist
Page 2 of 5 First 1234 ... Last
  1. #11
    As I mentioned above, I'd need an example all set up in a campaign with the current extension that can be walked to the error in a few clicks, before I can provide any real feedback.

    JPG

  2. #12
    Quote Originally Posted by Moon Wizard View Post
    As I mentioned above, I'd need an example all set up in a campaign with the current extension that can be walked to the error in a few clicks, before I can provide any real feedback.

    JPG
    Sent to you in discord with directions. Should be simple to duplicate. If you need to recreate the polymorph just hit Druid action tabs ACTIVE button - the kobold is already targeted. It will polymorph to the active setting (baboon) and then if stop concentration button is not showing flip back and forth between any tab and back to actions. Double click on stop concentration and Error will occur when trying to expire (delete) the effect that no longer exists.
    Free(Forums/Forge) Extension(FGU 5E):
    Paid (Forge) Extension(FGU 5E):

  3. #13
    @Moon Wizard

    Was that enough?
    Free(Forums/Forge) Extension(FGU 5E):
    Paid (Forge) Extension(FGU 5E):

  4. #14
    Quote Originally Posted by SilentRuin View Post
    @Moon Wizard

    Was that enough?
    It may take some time to go over what you provided and go through testing scenarios. Moon will reach out when further information is needed or a solution is found.
    Dominic Morta
    Ruleset Developer
    Smiteworks

    How to zip up your campaign if the Developers ask for it-How to zip up your campaign if the Developers ask for it

    How to provide an Unity Connection issue?-Connection Issues and What to Provide

    Unity Updater issue?-Updater Issues

    Classic and Unity Port Forwarding?-Fantasy Grounds Connections Explained

    Comcast or Cox ISP User?-Comcast XFinity and Cox Users

    Have a suggestion?-Feature Request

  5. #15
    Quote Originally Posted by superteddy57 View Post
    It may take some time to go over what you provided and go through testing scenarios. Moon will reach out when further information is needed or a solution is found.
    Cool - just wanted to make sure you guys got it as I dropped it all in his discord.
    Free(Forums/Forge) Extension(FGU 5E):
    Paid (Forge) Extension(FGU 5E):

  6. #16
    Finally got a chance to dig into this today.

    It's because your extension assumes it is the last one to register an effect delete handler (or assumes it is the only one), which is not an assumption you can ever make, since initialization order is never guaranteed (since Lua table ordering is never guaranteed).

    Your current handler as implemented actually deletes the current CT node which the effect is on; which makes the nodeEffectList invalid (since it was deleted with the CT node you deleted). Thus, any subsequent effect deletion handler calls now throw an error.

    In fact, there are many places in the CoreRPG code where the CT node is continued to be referenced after an effect is expired/deleted. I'm surprised you haven't run into more issues before; except that the references are minimal.

    I would suggest changing the data within the same CT node if at all possible to preserve the integrity of any code executing after yours; or come up with another mechanism to do what you want.

    Regards,
    JPG

  7. #17
    Since you're already overriding CombatManager.onDeleteCombatantEffectEvent, you might be able to get away with not registering the function at all, and calling it explicitly in your override after the standard processing. This may get you back "to where you were before". However, the issues I mentioned still remain in terms of deleting a CT node mid code stream when the expectation is that only the effect node when away; and I would expect that you would encounter future issues as the code evolves because of that.

    Regards,
    JPG

  8. #18
    Quote Originally Posted by Moon Wizard View Post
    Since you're already overriding CombatManager.onDeleteCombatantEffectEvent, you might be able to get away with not registering the function at all, and calling it explicitly in your override after the standard processing. This may get you back "to where you were before". However, the issues I mentioned still remain in terms of deleting a CT node mid code stream when the expectation is that only the effect node when away; and I would expect that you would encounter future issues as the code evolves because of that.

    Regards,
    JPG
    Yes that's what I described to you was happening - though I was not aware it could have been happening (race condition) in other places - I only overrode the one you mention above as that was the only one I had to guard against a bad address to get it to work. I'll take a look at working around this issue of having the removal of a concentration effect triggering the change of nodes. This is vital to how polymorphism works as when damage is done and something loses concentration for these its automatically going to work. In fact, everything still works just fine - its just that error gets printed out (and likely if anything else is going on after it that will not be happening).

    Is there any chance at all you can guard against the non database reference argument like I do in your code? I mean this is something that can legally happen - and like guarding against nil in similar situations I would thing doing this guard would be something worthwhile and would certainly solve my problem with the new TEST version. All it would need would be the below code added like I originally did correct?

    Code:
    function onDeleteCombatantEffectEvent(nodeEffectList)
    	if type(nodeEffectList) ~= "databasenode" then
    		return false;
    	end
    	.... Do your normal stuff .... 
    end
    Also not sure what you mean by registering it - as you can see in the extension code I gave you it just overrides the function - does not do anything with the registration.
    Free(Forums/Forge) Extension(FGU 5E):
    Paid (Forge) Extension(FGU 5E):

  9. #19
    I'm actually wondering if the CombatManager.setCustomDeleteCombatantEffectHandle r(onEffectsChildDeleted); call that triggers the whole node thing can somehow be done so that it does not occur until the effect is actually deleted and done processing (I'm still confused on how I can be triggered by a child delete and the child still being processed in places).
    Free(Forums/Forge) Extension(FGU 5E):
    Paid (Forge) Extension(FGU 5E):

  10. #20
    Well looking at the latest drop in TEST I thought - wow you guys wrote some safeties in. Then I realized a bunch of other stuff changed breaking things all in a different way (sigh)
    Free(Forums/Forge) Extension(FGU 5E):
    Paid (Forge) Extension(FGU 5E):

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
  •  
Starfinder Playlist

Log in

Log in