protected virtual float GetPriority() { bool isOrder = objectiveManager.IsOrder(this); if (!IsAllowed) { Priority = 0; Abandon = !isOrder; return(Priority); } if (isOrder) { Priority = objectiveManager.GetOrderPriority(this); } else { Priority = BasePriority + CumulatedDevotion; } return(Priority); }