anchor.diff:    if not IndexInRange(MapItems, Index) then Exit;
     I := GlobalIndex(MapItems, MapID, Index);
     if (I < 0) then Exit;
  +  if (FItem.Amount <= 0) then Exit;
     Result := MapItems[I];
   end;
   
  
positive.code:   if not IndexInRange(MapItems, Index) then Exit;
    I := GlobalIndex(MapItems, MapID, Index);
    if (I < 0) then Exit;
    MapItems[I] := AItem;
    Result := IntTrue;
  end;
  
negative.code:   if not IndexInRange(MapItems, Index) then Exit;
    I := GlobalIndex(MapItems, MapID, Index, AX, AY);
    if (I < 0) then Exit;
    if (FItem.Amount <= 0) then Exit;
    Result := MapItems[I];
  end;
  
  