So I have run into a weird problem with dialogue conditions. I have a refcollectionalias holding some NPCs, and I want them to speak random lines from a set of Idle Topic Infos. I created the dialogue, I made it conditional on GetIsAliasRef for that refcollection alias, and it worked exactly as desired. So far so good... But this makes the NPCs in that refcollectionalias say those lines all the time. I need them to only say the lines after certain events occur. So I added a HasKeyword condition to the dialogue, and made the script add the keyword to the NPCs when certain things happen. The problem is, when my script puts that keyword on the NPCs, they don't start speaking the lines. I have verified that the script works, the NPCs do have that keyword, etc. More puzzling, if I save my game and load it again, the NPCs start speaking the line. It's as if the condition function results are cached somehow, and are not re-checked until the game is reloaded. Am I missing something obvious here? I've tried various other ways to do the condition - using a faction instead of a keyword, using a linked ref, etc. Nothing seems to work. But in every case, once I save and reload, the condition is re-evaluated and the lines start working.