I am trying to define an AI behavior where if a conditional (MyCondition) is false, execute the task. I know I can do this as follows:

import myCondition?:"tech.otter.something.MyCondition"
import otherTask:"tech.otter.something.OtherTask"

    myCondition? # i.e. if !myCondition then otherTask

Now I'd like to use the snazzy guard syntax like so:

  (myCondition?) otherTask

The problem is that I really need otherTask to fire when the guard (myCondition?) is false. Is there a way to do this shy of defining a "MyInvertedCondition" task?


1 Answer 1


This can be achieved using decorators which can be read about here. I believe the syntax would be like this: (invert MyCondition).

If that doesn't work you can always use a subtree as your guard. The syntax would then be like this:

subtree name:"Invertedguard"
    invert MyCondition?


You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .