protected override Composite CreateBehavior_CombatOnly() { return(new PrioritySelector(isViableContext => { return IsViableForItemUse(Me.CurrentTarget); }, // If we acquired mob aggro while on the way to our selected target, // deal with the aggro'd mob immediately... new ActionRunCoroutine(context => UtilityCoroutine.PreferAggrodMob()), // Combat with viable mob... new Decorator(isViableContext => (bool)isViableContext, SubBehavior_CombatWithViableMob()), // Combat with non-viable mob... new Decorator(isViableContext => !(bool)isViableContext, SubBehavior_CombatWithNonViableMob()) )); }