NLP engine for implementing intelligent agents?

At the end of the day it’s still going to be relying on a bunch of logic to sort through this kind of thing. Which means you’re going to be writing your own logic and conversations as well as emotions that the npc would possess which will be handled through an array.

The best way to handle this in my opinion would basically be to write up all the potential responses and use a sorting algorithm to decide which would be best when in X emotion. First thing is first though, place it in a .dat file and have C++ open it. Use structs to plan out the logic(And obviously hold the data) and then assign it to your npc depending on the conditions.

Now if you want something like Cleverbot and have them learn via real-time… that’s a whole different story my friend.

(Forgot to add something that might help you!: http://www.cplusplus.com/doc/tutorial/files/)