ADVERTISEMENT

Self-inflicted and conflicted: A review of 'Novocaine'

Published Mar 12, 2025 06:34 am

At A Glance

  • Directed by the team of Dan Berk and Robert Olsen, it stars the son of Meg Ryan and Dennis Quaid, the affable Jack Henry Quaid - whose breakout role would be Hughie Campbell in the superhero TV series The Boys.
image0.jpeg
A scene from 'Novocaine'

"Novocaine" opens this week, and it’s an action-comedy film that comes out of left field and manages to satisfy by being so self-aware. Directed by the team of Dan Berk and Robert Olsen, it stars the son of Meg Ryan and Dennis Quaid, the affable Jack Henry Quaid - whose breakout role would be Hughie Campbell in the superhero TV series The Boys. Amber Midthunder of Prey is the love interest, and Jacob Batalon has a supporting role.

The premise is a crazy one, as Nathan is a local bank executive with an unusual condition, an inability to feel physical pain, known as CIP - congenital insensitivity to pain. He’s been sheltered by his parents all his life, as they’re afraid he may do something fatal and not even know it - like bite off his tongue while chewing food, and bleed to death, and hence, his being on a strict liquid diet. When his office crush, Sherry (Amber Midthunder) takes an interest in him and even feeds him pie (he loves it!) for the first time, and stays the night, he is smitten.

image2 (1).jpeg

The following day, there’s a bank robbery, and the trio of criminals takes Sherry hostage. And we’re off with the gist of the film’s narrative, Nathan’s quest to rescue Sherry. So it’s a bank geek now using his freak condition to his advantage. It definitely relies on straight-faced humor and originality to offer us scenes of self-inflicted body horror — daring us to shut our eyes while laughing at the absurdity of what’s happening on-screen.

One brilliantly staged sequence happens in the booby-trapped home of one of the bank robbers, and it reminded me of Home Alone meets Deadpool, as the torture instruments and scenes of physical pain are played for uncomfortable laughs - and it worked beautifully with the advanced screening audience I was with. It’s rendered deadpan, and as a wise-cracking ‘anti-hero’, Quaid knows how to execute these scenes.

image1 (3).jpeg

There’s not much chemistry between the lead actors or even the support cast, and it seems we’re relying more on the premise, and milking situations that come out of said premise. So there’s a very shaggy dog element to the film. It’s like that stray who’s gnarly and smells bad but stays long enough to charm us, and we enjoy its company. No one will call this a great new superhero film; but it’s self-aware enough to know that and deliver within the parameters of its limitations.

Think of Edgar Wright’s films, like Hot Fuzz and Shaun of the Dead, and how they mix humor with action and/or horror. Then recall how Simon Pegg and Nick Frost were the perfect heroes for these films, the ordinary man on the street thrust into a situation where, against type, they emerge heroic. This film operates similarly, with Quaid as Nathan Caine emerging as a lovable, flawed hero. Look out for this audience pleaser at your favorite SM Cinema.

ADVERTISEMENT
.most-popular .layout-ratio{ padding-bottom: 79.13%; } @media (min-width: 768px) and (max-width: 1024px) { .widget-title { font-size: 15px !important; } }

{{ articles_filter_1561_widget.title }}

.most-popular .layout-ratio{ padding-bottom: 79.13%; } @media (min-width: 768px) and (max-width: 1024px) { .widget-title { font-size: 15px !important; } }

{{ articles_filter_1562_widget.title }}

.most-popular .layout-ratio{ padding-bottom: 79.13%; } @media (min-width: 768px) and (max-width: 1024px) { .widget-title { font-size: 15px !important; } }

{{ articles_filter_1563_widget.title }}

{{ articles_filter_1564_widget.title }}

.mb-article-details { position: relative; } .mb-article-details .article-body-preview, .mb-article-details .article-body-summary{ font-size: 17px; line-height: 30px; font-family: "Libre Caslon Text", serif; color: #000; } .mb-article-details .article-body-preview iframe , .mb-article-details .article-body-summary iframe{ width: 100%; margin: auto; } .read-more-background { background: linear-gradient(180deg, color(display-p3 1.000 1.000 1.000 / 0) 13.75%, color(display-p3 1.000 1.000 1.000 / 0.8) 30.79%, color(display-p3 1.000 1.000 1.000) 72.5%); position: absolute; height: 200px; width: 100%; bottom: 0; display: flex; justify-content: center; align-items: center; padding: 0; } .read-more-background a{ color: #000; } .read-more-btn { padding: 17px 45px; font-family: Inter; font-weight: 700; font-size: 18px; line-height: 16px; text-align: center; vertical-align: middle; border: 1px solid black; background-color: white; } .hidden { display: none; }
function initializeAllSwipers() { // Get all hidden inputs with cms_article_id document.querySelectorAll('[id^="cms_article_id_"]').forEach(function (input) { const cmsArticleId = input.value; const articleSelector = '#article-' + cmsArticleId + ' .body_images'; const swiperElement = document.querySelector(articleSelector); if (swiperElement && !swiperElement.classList.contains('swiper-initialized')) { new Swiper(articleSelector, { loop: true, pagination: false, navigation: { nextEl: '#article-' + cmsArticleId + ' .swiper-button-next', prevEl: '#article-' + cmsArticleId + ' .swiper-button-prev', }, }); } }); } setTimeout(initializeAllSwipers, 3000); const intersectionObserver = new IntersectionObserver( (entries) => { entries.forEach((entry) => { if (entry.isIntersecting) { const newUrl = entry.target.getAttribute("data-url"); if (newUrl) { history.pushState(null, null, newUrl); let article = entry.target; // Extract metadata const author = article.querySelector('.author-section').textContent.replace('By', '').trim(); const section = article.querySelector('.section-info ').textContent.replace(' ', ' '); const title = article.querySelector('.article-title h1').textContent; // Parse URL for Chartbeat path format const parsedUrl = new URL(newUrl, window.location.origin); const cleanUrl = parsedUrl.host + parsedUrl.pathname; // Update Chartbeat configuration if (typeof window._sf_async_config !== 'undefined') { window._sf_async_config.path = cleanUrl; window._sf_async_config.sections = section; window._sf_async_config.authors = author; } // Track virtual page view with Chartbeat if (typeof pSUPERFLY !== 'undefined' && typeof pSUPERFLY.virtualPage === 'function') { try { pSUPERFLY.virtualPage({ path: cleanUrl, title: title, sections: section, authors: author }); } catch (error) { console.error('ping error', error); } } // Optional: Update document title if (title && title !== document.title) { document.title = title; } } } }); }, { threshold: 0.1 } ); function showArticleBody(button) { const article = button.closest("article"); const summary = article.querySelector(".article-body-summary"); const body = article.querySelector(".article-body-preview"); const readMoreSection = article.querySelector(".read-more-background"); // Hide summary and read-more section summary.style.display = "none"; readMoreSection.style.display = "none"; // Show the full article body body.classList.remove("hidden"); } document.addEventListener("DOMContentLoaded", () => { let loadCount = 0; // Track how many times articles are loaded const offset = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]; // Offset values const currentUrl = window.location.pathname.substring(1); let isLoading = false; // Prevent multiple calls if (!currentUrl) { console.log("Current URL is invalid."); return; } const sentinel = document.getElementById("load-more-sentinel"); if (!sentinel) { console.log("Sentinel element not found."); return; } function isSentinelVisible() { const rect = sentinel.getBoundingClientRect(); return ( rect.top < window.innerHeight && rect.bottom >= 0 ); } function onScroll() { if (isLoading) return; if (isSentinelVisible()) { if (loadCount >= offset.length) { console.log("Maximum load attempts reached."); window.removeEventListener("scroll", onScroll); return; } isLoading = true; const currentOffset = offset[loadCount]; window.loadMoreItems().then(() => { let article = document.querySelector('#widget_1690 > div:nth-last-of-type(2) article'); intersectionObserver.observe(article) loadCount++; }).catch(error => { console.error("Error loading more items:", error); }).finally(() => { isLoading = false; }); } } window.addEventListener("scroll", onScroll); });

Sign up by email to receive news.