Boolean type blueprint function call always gives 'false' in c++. What's going on?

For background: I’m trying to make a conversation system in c++. Certain lines have conditions attached, and the attaching is done from blueprint.

Here are parts of the header file for a line in the conversation:

image

The only important member variable now is conditions.

Relevant parts of the .cpp file:

image

Now the problem is I made an actor that has lines and added a condition to one of them. The function for test purposes always returns true, however, testvar somehow always becomes false. Even when I set the function to always return false, testvar is still false.

In the actor:

I checked that Blabla (great name I know) indeed runs, but then testvar still becomes false.

And the most baffling thing is, that I did the same thing in the controller, and somehow it works as intended there. I’m just completely lost. Anyone have a guess of what’s causing this behaviour?

(post deleted by author)

check if the Get node is returning what is intended?

Update:

The difference between the actor and the controller is that in the actor I made the function “by hand” in the editor. In the controller I auto-generated the function for calling AddCondition. When I choose to generate a matching function with the Create Event node, everything works as expected.

I have a guess that it could be about returning by value or reference, and the editor defaults to reference, maybe? Does anyone have any ideas?