anchor.diff:    for I := 0 to Count - 1 do
       if not aHungryOnly or (Members[I].Condition <= UNIT_MIN_CONDITION) then
         Members[I].OrderFood;
  -
  -  OrderHalt(False);
   end;
   
   
  
positive.code:     procedure OrderHalt(aClearOffenders: Boolean);
      procedure OrderLinkTo(aTargetGroup: TKMUnitGroup; aClearOffenders: Boolean);
      procedure OrderNone;
      procedure OrderRepeat;
      function OrderSplit(aClearOffenders: Boolean; aSplitSingle: Boolean = False): TKMUnitGroup;
      function OrderSplitUnit(aUnit: TKMUnit; aClearOffenders: Boolean): TKMUnitGroup;
      procedure OrderSplitLinkTo(aGroup: TKMUnitGroup; aCount: Word; aClearOffenders: Boolean);
  
negative.code: end;
  
  
  //Repeat order after specified aGroup or repeat self order if no aGroup is specified
  procedure TKMUnitGroup.OrderRepeat(aGroup: TKMUnitGroup);
  var Group: TKMUnitGroup;
  begin
    if aGroup = nil then
      Group := Self
    else
    begin
      Group := aGroup;
      fOrder := Group.fOrder;
      if fOrder <> goNone then        //when there is no order, then use own fOrderLoc
        fOrderLoc := Group.fOrderLoc; //otherwise - copy from target group
    end;
  
    case fOrder of
      goNone:         OrderHalt(False);
      goWalkTo:       OrderWalk(Group.fOrderLoc.Loc, False);
      goAttackHouse:  if OrderTargetHouse <> nil then OrderAttackHouse(Group.OrderTargetHouse, False);
      goAttackUnit:   if OrderTargetUnit <> nil then OrderAttackUnit(Group.OrderTargetUnit, False);
      goStorm:        ;
    end;
  end;
  
  
  //Repeat last order e.g. if new members have joined
  procedure TKMUnitGroup.OrderRepeat;
  begin
    OrderRepeat(nil);
  end;
  
  
  