public override void Execute() { NWCreature self = (NWCreature)Self; ExtPoint iPos = Position; if (self.IsSeen(iPos.X, iPos.Y, true) && !(self.CurrentMap.FindItem(iPos.X, iPos.Y) is Item)) { IsComplete = true; } else { if (MathHelper.Distance(self.Location, iPos) == 0) { self.PickupAll(); IsComplete = true; } else { ExtPoint next = self.GetStep(iPos); if (!next.IsEmpty) { Brain.StepTo(next.X, next.Y); } else { IsComplete = true; } } } }