I’m currently trying to make a Behavior Tree , in UE 4.7.5, for a Boss that will stand still and perform 1 of 3 task depending on the player location. The way my behavior tree is set up right now, it goes from the Idle tasks to an other one at random. What I would like to do is, if the player is not in the appropriated range from the Boss, the task doesn’t execute and my Behavior Tree goes back to Idle to pick a new task.
I made a decorator with a condition check for the player location (with the Observer aborts set to Self), when the condition is met, my task is executed properly, but if the condition fails, the entire behavior tree stops and from what I have read on the subject (if I got it right), it should go back up the tree and look to execute a diffrent task, shouldn’t it?
I’ve seen a recent update in a question about the Receive condition check that seems like it could be a solution here:
[UPDATED 5/16] A.I. Templates - Bot, Car, & +Flying AI - Programming & Scripting - Unreal Engine Forums
Is there a similar node that would use a boolean (in this case the result from Boss location minus Player location) to set the condition result? If not, what would be another way to set such a condition?
Also on a different, but not unrelated topic, I noticed that my Cooldown only have 2 options in the Observer aborts section: None and Lower Priority. Since my intention with those was to make sure that my behavior tree doesn’t end up executing the same task over and over again, it seems they won’t do… What am I missing?