short me_charmedif ( GetEffect, sEffectCharm == 1 ) set me_charmed to 1else set me_charmed to 0endiffor every spell effect I want detected and then using those local vars in dialogue conditions. The imperfection of this method, though, is that I can't detect the strength of a spell the NPC was hit by. So a 1-point Charm will always give a positive response, even though it doesn't affect the target much, and there's no point to use a stronger spell that, according to common sense, would have a real effect with substantial probability of failure. Well, I could also include Player->GetIllusion check into equation, but it's not the same thing. Does anybody have an idea how to make this work realistically and not just so-so?
Thanks.