anchor.diff:      if (aGroupID > 0) then
       begin
         G := fIDCache.GetGroup(aGroupID);
  -      if (G <> nil) then
  +      if (G <> nil) and G.CanTakeOrders then
         begin
           G2 := G.OrderSplit;
           if G2 <> nil then
  
positive.code:     if (aGroupID > 0) then
      begin
        G := fIDCache.GetGroup(aGroupID);
        if (G <> nil) and (G.GroupType = gtMelee) then
          G.OrderStorm(True);
      end
      else
  
negative.code:     if (aGroupID > 0) then
      begin
        G := fIDCache.GetGroup(aGroupID);
        if (G <> nil) and G.CanTakeOrders then
          G.OrderHalt(True);
      end
      else
  