Reading "Artifact Research Notes" does not fire "ARTIFACT_KNOWLEDGE_CHANGED"
smaitch opened this issue ยท 5 comments
I would have expected reading the notes would have caused the event to fire. When opening the artifact UI the event will fire with the new value, but that is suboptimal.
ARTIFACT_KNOWLEDGE_CHANGED fires when both the knowledge level and multiplier are known. This is not the case when reading the research notes. Register ARTIFACT_DATA_MISSING to get the new knowledge level. For the knowledge multiplier you could use LAD:ForceUpdate() or just wait for the user to view an artifact.
Actually I am going to monitor UNIT_SPELLCAST_SUCCEEDED and check for spell ID 219978, which is the reading of the Artifact Research Notes. Then I just need to check GetCurrencyInfo(1171) which gives me the new artifact knowledge level.
You can use CURRENCY_DISPLAY_UPDATE, it fires a lot less than UNIT_SPELLCAST_SUCCEEDED. Why you'd opt to do it like that and still use LAD, I don't know. Why do you need that information to be that exact anyway?
I was unaware of CURRENCY_DISPLAY_UPDATE. I only wanted to use LAD to find out when the artifact knowledge changed. In testing I found the issue here, so I posted it. In researching a way around it I found the solution I explained, and have turned off the use of LAD. I need this information because Grail needs to know when the artifact knowledge has passed a couple of different levels to indicate that some quests in the order hall are now available.