-
August 3rd, 2020, 07:03 #31
-
August 3rd, 2020, 14:55 #32
Ok - deathindicator does it's own thing to refresh the tokens whenever addNPC is called. And it is 100% dependent on the npc.sourcelink and combattracker.*.sourcelink (if present) being 100% accurate. I've made up an NPC in combat tracker and added it as an categorized NPC - purerly through FGU. And then I've run my new extension through it.
I can tell you some of the sourcelink entries are dead wrong. That is how this extension is putting the "random, timing based" wrong tokens in CT. It's simply reflecting the bad sourcelink data. Turn off the extension - and nothing is really reading that sourcelink data so you don't see it.
Question is - why is it bad? That will be the solution.
Gist being - if your sourcelink to an NPC reference is not spot on - it will give you results like this. Evidently it gets rewritten frequently enough there are a variety of ways of fixing it. I'll continue with the search for "why?".Free(Forums/Forge) Extension(FGU 5E):
Paid (Forge) Extension(FGU 5E):
-
August 3rd, 2020, 15:27 #33
Hence sounds like some of the source-link code is not working well with recent update of FGU, because before this was working ok?
-
August 3rd, 2020, 15:29 #34
sourcelink is inherently unreliable and they are using it like its "gospel" in this extension.
For example, I create a CT entry (CT1->nil) on its own. It has no sourcelink. I copy it to the NPC (NPC1->nil) directory. It has no sourcelink. I delete my CT original and replace it with my new NPC (CT2->NPC1). CT2 entry now has a sourcelink to NPC1. All good so far. I now copy my CT2 entry back into NPC (NPC2->NPC1) - and now both the CT2 entry and the new NPC2 entry point to NPC1. I now delete NPC1 and I now I have two bogus sourcelinks pointing to something that no longer exists. I can even scramble it further as all DB indexing is the same and if I can reset the indexing or get something new I can actually have a sourcelink pointing to the wrong thing.
Gist is - sourcelink is useful in very limited settings and cannot be fully trusted based on what I showed you above.
The correct thing would be for FGU to blank out the sourcelink anytime a reference to it is deleted. That way it can never lie.
But fundamentally, sourcelink is unreliable because it holds onto and passes on old stuff that has been deleted or changed. Not something that happens often - but it does happen if you make your own NPC's.
Using it to look up and refresh a token based on sourcelink is therefore not reliable. It mostly is, but not entirely.
Not sure how to fix that. I'll take a brief look at it to see if I can't stop it from using sourcelink when it points to a db.xml npc (changeable) reference instead of a module reference (unchangeable - mostly).Free(Forums/Forge) Extension(FGU 5E):
Paid (Forge) Extension(FGU 5E):
-
August 3rd, 2020, 17:46 #35
Unlikely. I don't think it has ever been reliable. Death Indicator just exacerbates the flaw so you see it.
I don't understand why Death indicator is even updating the tokens on addNPC/removeNPC/and something with adding in battles. Removing them makes this problem way less likely to happen (in pure FGU) and as long as I don't use anything these things were in there for - probably ok with removing them to prevent this issue becoming more frequent.
For sure it means it won't be trying to use sourcelink for anything and I have not seen the harm in removing those handlers. When I put it out here please let me know you don't see anything "missing" that used to work in Death indicators.Free(Forums/Forge) Extension(FGU 5E):
Paid (Forge) Extension(FGU 5E):
-
August 3rd, 2020, 17:58 #36
V 4.7 - Removed handlers in DeathIndicatorEx\scripts\manager_npc_token.lua because they were using NPC sourcelink which is unreliable in certain cases and I could not see any use for this extension doing anything on CombatManager.setCustomAddNPC(), CombatManager.setCustomDeleteCombatantHandler(), or CombatManager.setCustomAddBattle(). I'm sure someone will let me know if this had something they needed. But the risk of bad tokens goes way down with this code removal.
As stated above could not see any use for these overrides and they for sure can make bad token replacement much more frequent. As stated earlier NPC sourcelink is not always reliable.Free(Forums/Forge) Extension(FGU 5E):
Paid (Forge) Extension(FGU 5E):
-
August 3rd, 2020, 22:37 #37
Thanks SilentRuin for all your efforts! I will give it a test and see how it goes, as you explained I expect it to give no issues!
-
August 3rd, 2020, 23:28 #38
Happens much less but if I have a bogus NPC defined with a crap sourcelink and I stick it in CT - it still occasionally happens. Not sure if I can fix this - just make it "less frequent". If you addNPC() to NPC with a bogus sourcelink bad things can happen I guess?
Free(Forums/Forge) Extension(FGU 5E):
Paid (Forge) Extension(FGU 5E):
-
August 4th, 2020, 00:40 #39
any chance you could do a version of this for Savage Worlds? In FGC it worked great but in FGU it throws a ton of script errors when I try it.
Ultimate license owner.
I use FG online as well as at the tabletop. I usually stream my games; Savage Worlds - Sat at 6, Sunday at 2 and 6pm and 5e on Monday at 6:30 pm Pacific time. Look for 7thSim on Twitch!
-
August 4th, 2020, 05:19 #40Free(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