For extension savvy people, how should this variable statement be phrased?

Object.Object.VariableString(turn[Object.Behavior::PropertyName(value)])

I’m trying to check whether or not the second object with the behavior, which I understand to be the direct object, has a name property that is equal to the first object’s array child that is equal to the number variable that decides which string child of the array is currently selected.

I’m not sure if I understand. I’ll give it a try.

You don’t need Object. twice. Just once.
If turn is an array variable within a function then it needs Variable() or VariableString()

This might not fix everything but should be close. Just make sure numbers and strings are used where needed.

I’m not sure if value needs to be in quotes. What is value if it’s not a variable or parameter it might need quotes. After the other issues are fixed, the error text should become more specific.