I’ve been working on a resource that does something sort of like this, though it’s not meant to be used alone. It’s intended as the NPC base for other scripts to use.