Пример #1
0
        private IEnumerable <Act.Status> Cleanup(CreatureAI creature)
        {
            if (creature.Blackboard.GetData <bool>("NoPath", false))
            {
                creature.SetMessage("Failed to plant. Task was unreachable.");
                yield return(Act.Status.Fail);

                yield break;
            }
            yield return(Act.Status.Success);
        }
Пример #2
0
        public IEnumerable <Act.Status> PenAnimal(CreatureAI agent, CreatureAI creature, AnimalPen animalPen)
        {
            foreach (var status in animalPen.AddAnimal(Animal.Physics, agent.Faction))
            {
                if (status == Act.Status.Fail)
                {
                    creature.ResetPositionConstraint();
                    agent.SetMessage("Failed to pen animal.");
                    yield return(Act.Status.Fail);

                    yield break;
                }
            }
            yield return(Act.Status.Success);
        }
Пример #3
0
        private IEnumerable <Act.Status> Cleanup(CreatureAI creature)
        {
            if (creature.Blackboard.GetData <bool>("NoPath", false))
            {
                if (creature.Faction == creature.World.PlayerFaction)
                {
                    creature.World.MakeAnnouncement(String.Format("{0} cancelled farming task because it is unreachable", creature.Stats.FullName));
                    creature.World.TaskManager.CancelTask(this);
                }
                creature.SetMessage("Failed to plant. Task was unreachable.");
                yield return(Act.Status.Fail);

                yield break;
            }
            yield return(Act.Status.Success);
        }