private static Task RequestPersonalTask(Dwarf d) { if (d.SkipPersonalForOneTask || DebugRules.SkipPersonalTasks) return null; List<Task> tasksToChooseFrom = new List<Task>(); if (d.NeedFood()) { tasksToChooseFrom.Add(new GetFoodTask()); } if (d.NeedTool()) { tasksToChooseFrom.Add(new GetToolTask()); } if (d.NeedSleep()) { tasksToChooseFrom.Add(new GetSleepTask()); } if (d.NeedCloth()) { } if (tasksToChooseFrom.Count == 0) return null; else return tasksToChooseFrom.TakeRandom(); }