You’d have to have had one hell of a night to be relieved at the sight of Officer Kaya Blanke arriving at your apartment to arrest you for criminal mischief, and that is exactly what’s happened to former child star Mackenzie Altman (Brittany O’Grady) when she wakes up with no memory of how she got blood on her white Marilyn Monroe in The Seven Year Itch–style dress, or her hair cut into bangs, or a tattoo celebrating the love of Rick and Amy (people she does not know), or a hickey from what seems to have been a very small mouth. And! As we’ve already seen, Mac dreamed that she’d shot a werewolf-masked assailant, and as it happens, her handgun is not in its locked safe. Oh, dear.
Thank goodness Kaya was the arresting officer, because Elsbeth can now get in on the case. I knew we’d get a Halloween episode this season and was very curious about how Elsbeth would approach her costume. Would she carry several options around town in her tote bags, changing into different options over the course of the episode? Would she convince Kaya and Captain Wagner to do a group costume? Instead, she went for a flawlessly executed one-costume strategy, keeping things simple by dressing as Audrey Hepburn as Holly Golightly in Breakfast at Tiffany’s, complete with a very chic updo and one of those long cigarette holders, which unfortunately made smoking look very glamorous way back when.
Character Development Twist No. 1: The extremely starchy Lieutenant Connor is the only other staff member at the precinct to be in costume. He’s gone for something equally on brand: Winston Churchill, complete with bowler hat, pocket square, and what I can only assume is a very well-starched shirt. Character Development Twist No. 2: Captain Wagner does not dress up because he hates the “sanctioned mayhem” of Halloween. However, he was an expert high-volume trick-or-treater in childhood: “We’d change costumes twice and hit each block three times.” I salute the creative problem-solving and efficiency of this method.
As Mac cools her heels in a meeting room, Kaya furnishes helpful exposition: Mac played the eldest daughter on Father’s Keepers, a show on KidPow (a Nickelodeon or Disney Channel analog) about a widowed father raising four daughters. Her roommate Cissy (Zolee Griggs) — who wisely advised Mack to say nothing and wait for her attorney to arrive — played one of her younger sisters on the show. Neither of them made the Miley-style leap from child stardom to adult careers in the industry, but not for lack of trying on Mac’s part. Her very tenacious lawyer/manager/agent/accountant, Danny Beck (Ryan Spahn), sails in, saying the club owner is dropping the charges because it was all a misunderstanding. This is entirely of a piece with Danny’s strong record of getting celebrity clients out of scrapes; he’s extracted one client from a cult and another from a drug cartel in Bogotá — all for a price, of course.
You’d think Mac would be more relieved to learn that she can go free, but eventually confides in Elsbeth her lack of memories from the evening before and her suspicion that she may have killed someone. She wants to get to the bottom of it, regardless of the consequences for her, which is more than I expect from a spoiled former child star.
With the assistance of Cissy’s memory, Instagram posts, a bartender, and tattoo artist, Kaya, Elsbeth, and Mac retrace Mac’s steps from the night before to piece together what happened, furnishing a timeline to fill in the sizable gaps in Mac’s memory, and, sadly, a dead body. It seems Mac did shoot someone, and he wasn’t unknown to her. The victim was an aspiring rapper named Sonny Miller (Geronimo Ambert), who was also Mac’s on-again, off-again friend and hookup. It’s a good thing Mac has Elsbeth and Kaya on her side because Detective Smullen (Danny Mastrogiorgio) is ready to call this case fully closed purely on the basis of Sonny being dead and Mac having gunshot residue on her hands from a gun that matches the caliber of the one that killed Sonny. Smullen’s inclinations here reek of resentment rather than a healthier competitiveness that would drive him to bring a solid case against his main suspect.
Our glorious two-episode streak free from resentful veteran detectives is over, but Elsbeth and Kaya’s work is not! Off the top of their heads, there are at least three reasons not to bring charges against Mac yet: She couldn’t have brought the gun with her when she went out for the evening (no pockets, no bag, and the PostMark party had a metal detector); she helped them find Sonny’s body, and her total lack of memories about the night before suggests not having been blackout drunk, but having been roofied.
Elsbeth and Kaya continue to chase down details of Mac’s evening and relationships. Cissy lives with Mac, but is crashing, not her roommate. The arrangement has soured their relationship, though, with each of them thinking of the other as a user — Mac doesn’t even know Cissy’s real name! She doesn’t have any real friends at all. Compounding or maybe just exploiting her social isolation is the extreme degree to which Danny is involved in her life. He’s pretty intense and very protective, but Mac excuses it as caring too much. He’s negotiating a multi-film deal with the PostMark Channel on her behalf and has been managing the design and construction of a club in Montenegro, to the East of Italy on the Adriatic Sea.
The club was meant to be “a cash cow” and to make both Mac and Danny’s future retirements easy and lucrative. She’s invested over $6 million so far, but owing to weather delays and bad contractors, the club hasn’t been opened yet. Danny did say that Mac is highly suggestible and too trusting for her own good. Is it possible that it was less a critique of his client and more of a confession about what he actually does in his capacity as her manager of everything?
To Smullen’s credit, he has been working the case, too, and has learned that two days before Sonny’s murder, he called a production company in Montenegro to get the ball rolling for the video shoot Mac had agreed to let him use her club as a set. What a coincidence: The man Sonny spoke with told him that no such club exists. His next call was to Danny, likely providing a motive for Danny to kill Sonny — if that call was to let Danny know the jig was up and to blackmail him, that would make a lot more sense than Mac killing Sonny for the flimsy reason that he was messing with her sobriety (which was tenuous, anyway — the Tampa sobriety of alcohol and Xanax is pushing the definition pretty hard). But somehow Mac still pulled the trigger?
Bloodwork results furnish evidence for Elsbeth’s roofie hypothesis; Mac had high levels of a substance called scopolamine in her system. Captain Wagner explains that it’s a nightshade (so it’s related to tomatoes and eggplant) commonly called Devil’s Breath, which Colombian drug cartels use to hypnotize people and compel them to carry out terrible crimes. Kaya pipes up that it’s pretty easy to acquire here because it also has a legitimate use in small doses as an anti-nausea medication. Danny chimes in to cite a law stating that defendants can’t be held responsible if they commit crimes while involuntarily intoxicated, which is an incredibly convenient thing for him to know as someone who was deeply intertwined in all of Mac’s business and finance dealings, and who knows the combination to her gun safe.
Elsbeth’s bolt from the blue-style realization that Danny could well have learned all about Devil’s Breath when he rescued a client from a drug cartel in Bogotá, which is the capital city of Colombia! A quick Zoom with Jesse Fox (Dan Hoy), the former client in question, confirms that suspicion, along with Danny’s penchant for embezzling (which is why Jesse is a former client).
The final piece of the puzzle snaps into place as the gang attends a party thrown by Mac’s friend and former producer Roya (Haven Burton), who happens to own the monkey that gave Mac that embarrassing small-mouth hickey. Roya had hosted a party the night before, which didn’t have a metal detector but did use invisible ink stamps to show who had been admitted. The previous party stamps were on the right wrist, and the second one was on the left. Danny’s been maintaining all along that he never left the PostMark party, too bad, so sad, but what’s this? An invisible ink stamp from Roya’s earlier party on his right wrist? Off to jail with you, sir!
Mac — who knows she has some real growing up to do — can’t be held criminally responsible for poor Sonny’s death, but the legal process that will set her free will take some time. Kaya and Elsbeth reframe the entire experience as an opportunity to start her life afresh with new, actual friends. Probably she should retire her obnoxious Father’s Keepers-era “I’ll be the judge of that” catchphrase, too.
Meanwhile, at the precinct, Wagner saw the disgruntled Detective Smullen sign up for a slot to speak with Lt. Connor as part of his audit, and is keen to hear about Connor’s progress so far. The results summary is bad for Wagner; staff morale is low, and the rank-and-file perceives him as a remote captain and thinks he plays favorites with Elsbeth and Kaya. Oh, also, Elsbeth’s undefined role makes others “uncomfortable.” Harrumph!
Out that evening with his wife, Claudia (Gloria Reuben), Wagner is brooding. He’s not remote, he’s shy! Claudia encourages him to make more of an effort at approachability and then wonders aloud if Connor’s efforts are in aid of moving on Wagner or perhaps on Elsbeth herself. Neither option is good.
In This Week’s Tote Bag
• In this episode, we get a fleeting glimpse of a more assertive Elsbeth. When Smullen suggests that Mac’s fame is misleading — that she’s “being snowed by an actress,” Elsbeth shoots back that of course he doesn’t believe Mac; men don’t generally believe anything a woman says unless that woman is their mother. Not all men, of course, but for sure way too many men. I dig feisty Elsbeth and would love to see her again.
• I don’t smoke, but should I wish to cultivate the eccentric air conferred on a person holding one of those long cigarette holders, is eBay the place to look?
By submitting your email, you agree to our
Terms and Privacy Notice
and to receive email correspondence from us. This site is protected by reCAPTCHA and the Google
Privacy Policy and
Terms of Service apply.
or
Already a subscriber?
What is your email?
This email will be used to sign into all New York sites. By submitting your email, you agree to our Terms and Privacy Policy and to receive email correspondence from us.
Password must be at least 8 characters and contain:
Lower case letters (a-z)
Upper case letters (A-Z)
Numbers (0-9)
Special Characters (!@#$%^&*)
This password will be used to sign into all New York sites. By submitting your email, you agree to our Terms and Privacy Policy and to receive email correspondence from us.
You’re in!
As part of your account, you’ll receive occasional updates and offers from New York, which you can opt out of anytime.
or
Already a subscriber?
What is your email?
This email will be used to sign into all New York sites. By submitting your email, you agree to our Terms and Privacy Policy and to receive email correspondence from us.
Password must be at least 8 characters and contain:
Lower case letters (a-z)
Upper case letters (A-Z)
Numbers (0-9)
Special Characters (!@#$%^&*)
This password will be used to sign into all New York sites. By submitting your email, you agree to our Terms and Privacy Policy and to receive email correspondence from us.
You’re in!
As part of your account, you’ll receive occasional updates and offers from New York, which you can opt out of anytime.
Already a subscriber?
Already a subscriber?
`;
// integrate Sub(x) scripts and elements
if (hostname !== 'subs.nymag.com') { // do not integrate on this subdomain
document.head.appendChild(trackingScript);
document.body.insertAdjacentHTML('beforeend', subXAnimationElements);
}
There was an error processing the request. Please try again later."}).catch(e=>console.error("Error verifying email: ",e)))(r.querySelector(".content"),o.bannerCTAVerification)})):(l.remove(),s.remove()),o.dismissable||n.remove(),o.useAlertIcon||a.remove(),r.classList.add("show"),n.addEventListener("click",()=>{u(),r.classList.remove("show")})}else r.remove()}});
}, {"1":1,"6":6,"12":12,"35":35,"40":40}];
window.modules["global-nav.client"] = [function(require,module,exports){"use strict";const dom=require(4),auth=require(12),signInButton=dom.find(".user-signin"),signOutButton=dom.find(".user-signout"),globalNav=dom.find('[class^="global-nav"]'),body=dom.find("body"),dropdownItems=dom.findAll(".dropdown-wrap"),gtm=require(1),appendLandingPageParams=require(135),pageUri=require(124).getPageUri(),subscriptionPromoLinks=dom.findAll(".persist-params"),searchString=window.location.search||"";function closeDropdowns(e){let n=globalNav.querySelectorAll(".dropdown.open");dropdownItems.forEach(function(t){let o=t.querySelector(".dropdown");!n||t.contains(e.target)&&27!==e.keyCode||o.classList.remove("open")})}function gtmSendReport(e,n,t){let o={eventCategory:"ecommerce",eventAction:"componentClick",brand:e,dimension23:"global-nav",list:pageUri,pageZone:"header",variant:"nav-link"};"global-nav-link"===t&&(o.eventLabel=n.href),gtm.reportNow(o)}function updateElementTargetUrlsIfQueryStrings(e){if(searchString){const n=new URLSearchParams(searchString);let t=e.href;if(t.includes("?")){const o=t.split("?"),i=new URLSearchParams(o[1]);for(let e of n.entries())i.set(e[0],e[1]);t=`${o[0]}?${i.toString()}`,e.href=t}else e.href=`${t}?${n.toString()}`}}function init(e){const n=e.querySelectorAll(".to-landing-page");window.addEventListener("auth:init",()=>{signInButton.addEventListener("click",function(e){e.preventDefault(),auth.showEmbeddedLoginFlow("top navigation")}),signOutButton.addEventListener("click",function(e){e.preventDefault(),gtmSendReport("Sign Out",e.target,"user-info-link"),auth.logout()}),auth.isAuthenticated()&&e.classList.add("signed-in"),auth.isSubscriber()&&e.classList.add("subscribed"),e.querySelectorAll(".user-link").forEach(e=>{e.classList.add("active")}),subscriptionPromoLinks.forEach(e=>{updateElementTargetUrlsIfQueryStrings(e)}),appendLandingPageParams(n)})}dropdownItems.forEach(function(e){e.addEventListener("click",function(){e.querySelector(".dropdown").classList.toggle("open")})}),body.addEventListener("click",closeDropdowns),document.addEventListener("keydown",closeDropdowns),globalNav.addEventListener("click",function(e){let n=e.target;n.classList.contains("global-nav-track")&>mSendReport(n.text,n,"global-nav-link")}),module.exports=init;
}, {"1":1,"4":4,"12":12,"124":124,"135":135}];
window.modules["aaa-module-mounting.legacy"] = [function(require,module,exports){"use strict";const _pickBy=require(221),_each=require(406),Fingerprint2=require(408),DS=require(407),Eventify=require(246);function registerGlobals(){window.DS=DS,window.Eventify=Eventify,window.Fingerprint2=Fingerprint2,DS.value("Eventify",Eventify),DS.value("Fingerprint2",Fingerprint2),DS.value("$document",window.document),DS.value("$window",window)}function mountDollarSliceComponents(){DS.service("components",["$document","$module",function(e,n){var o=_pickBy(n.definitions,e=>e.providerStrategy===n.providers.controller),r=Object.keys(o);function t(e){return o=>{try{n.get(e,o)}catch(e){logMountError(o,e)}}}_each(r,n=>{var o=e.querySelectorAll('[data-uri*="/_components/'+n+'/"]'),r=e.querySelectorAll('[data-uri$="/_components/'+n+'"]');_each(o,t(n)),_each(r,t(n))}),this.components=r}]),DS.get("components")}function logMountError(e,n){const o=e.outerHTML.slice(0,e.outerHTML.indexOf(e.innerHTML));console.error("Error attaching controller to "+o,n)}registerGlobals(),"loading"===document.readyState?document.addEventListener("DOMContentLoaded",()=>{mountDollarSliceComponents()}):mountDollarSliceComponents();
}, {"221":221,"246":246,"406":406,"407":407,"408":408}];
window.modules["ads.legacy"] = [function(require,module,exports){"use strict";const _map=require(118),_forEach=require(107),_isString=require(268),_intersectionWith=require(409),_isEqual=require(274),_each=require(406),_debounce=require(182),_sortBy=require(205),page=require(124),visit=require(114);DS.service("adService",["Eventify","$cid","$document","$window",function(e,t,a,i){var o,n,s,r,d,c,u,l,g={},p=this,h=[],f=visit.getQueryParamsObject(["utm_campaign"]),m=document.querySelector('script[data-type="ad-a9"]'),b=[],w=!1,v=[],y=document.querySelector('script[data-name="ad-doubleverify"]');document.querySelector('script[data-name="concert-ads"]')||(i.NYM={},i.NYM.analytics={},i.NYM.analytics.adStartTime=i.performance.now(),i.googletag=i.googletag||{},i.googletag.cmd=i.googletag.cmd||[],u=i.googletag,(m||y)&&(i.googletag.cmd=i.googletag.cmd||[],i.googletag.cmd.push(function(){i.googletag.pubads().disableInitialLoad()})),m&&(l=i.setInterval(function(){void 0!==window.apstag&&void 0!==window.apstag.timeout&&(i.clearInterval(l),window.apstag.cleared=!0,l=null)},10),setTimeout(function(){l&&(i.clearInterval(l),i.googletag.pubads().refresh(),window.apstag||console.log("MESSAGE: Timeout for A9 load exceeded, aborting"))},500)),y&&(b.push(new Promise(function(e){w?e():v.push(e)})),c=i.setTimeout(T,2500)),o=function(e){var t,a,o=e.data,n=[];return o.loaded?e:(o.loaded=!0,t=null,(t=o.sizes?u.defineSlot(o.name,o.sizes,o.id).addService(u.pubads()):u.defineOutOfPageSlot(o.name,o.id).addService(u.pubads())).setTargeting("adid",o.id),f.hasOwnProperty("utm_campaign")&&t.setTargeting("utmcamp",f.utm_campaign),a=p.getAdCount(o.label),t.setTargeting("label",o.label+"_"+o.site+"-"+a),u.display(o.id),u.pubads().addEventListener("slotOnload",function(){i.NYM.analytics.firstAdLoadTime||(i.NYM.analytics.firstAdLoadTime=i.performance.now(),i.NYM.analytics.firstAdLoadLabel=e.data.label)}),n=_(o),Promise.all(b).then(function(){n?window.apstag&&window.apstag.cleared?window.apstag.fetchBids({slots:[n],timeout:window.apstag.timeout},function(){u.cmd.push(function(){window.apstag.setDisplayBids(),u.pubads().refresh([t],{changeCorrelator:!1})})}):y&&u.pubads().refresh([t],{changeCorrelator:!1}):u.pubads().refresh([t],{changeCorrelator:!1})}),e.slot=t,e)},n=function(e){var a,i,o,n=t(),s=e.getAttribute("data-name"),r=e.getAttribute("data-sizes"),d=e.getAttribute("data-label"),c=e.getAttribute("data-site");n=e.id,r&&r.length?(r=r.split(","),a=[],_map(r,function(e){e=e.split("x"),i=parseInt(e[0]),o=parseInt(e[1]),a.push([i,o])})):(e.classList.add("oop"),a=!1),this.data={id:n,name:s,sizes:a,loaded:!1,label:d,site:c},g[n]=this},r=function(e){u.cmd.push(function(){var t=o(e);g[e.data.id]=t})},s=function(e){var t=[];e.slot?(t=_(e))&&window.apstag&&window.apstag.cleared&&window.apstag.fetchBids({slots:[t],timeout:window.apstag.timeout},function(){u.cmd.push(function(){window.apstag.setDisplayBids(),u.pubads().refresh([e.slot],{changeCorrelator:!1})})}):e&&r(e)},u.cmd.push(function(){var e,t,o,n=page.getMeta("article:tag"),s=page.getMeta("author"),r=i.location.href,d=(e=a.head.querySelector(".head-gtm"),t=a.body.querySelector(".gtm"),e&&"top"===e.getAttribute("data-gtm")?"gtmtop":t&&"bottom"===t.getAttribute("data-gtm")?"gtmbottom":"");o=[],_forEach([n,s,d],function(e){_forEach(e.split(","),function(e){(e=e.trim().toLowerCase().replace(/\s/g,"-").replace(/\'|\’/g,"")).length&&o.push(e)})}),u.pubads().setTargeting("kw",o),u.pubads().setTargeting("entry_group",o),r=r.slice(r.lastIndexOf("/")+1),u.pubads().setTargeting("pn",r),u.companionAds().setRefreshUnfilledSlots(!0),u.pubads().enableAsyncRendering(),u.enableServices()}),this.load=r,this.create=function(e){return new n(e)},this.refresh=function(e){var t;_isString(e)?(t=this.getById(e),s(t)):s(e)},this.remove=function(e){var t=e.data.id;a.getElementById(t).innerHTML=""},this.getAdCount=function(e){var t,a=0,i=Object.keys(g);return _each(i,function(i){(t=g[i]).data.loaded&&t.data.label===e&&a++}),a},this.getById=function(e){return g[e]},d=_debounce(function(){var e={TopLeaderboard:1,RightColTopMPU:2,outOfPage:99,"homepageTakeover/TopLeaderboard":1},t=_sortBy(h,function(t){return e[t.data.label]||10});_forEach(t,function(e){return e.data.sizes?r(e):i.setTimeout(function(){r(e)},2e3)}),y&&window.PQ.cmd.push(()=>{try{window.PQ.loadSignals(["ids","bsc","vlp"],T)}catch(e){T(),console.error(`There has been an error loading Double Verify signals: ${e}`)}}),h=[]},10),this.addToPageLoadQueue=function(e){h.push(e),d()});function _(e){var t,a=e.sizes;return a=_intersectionWith(a,[[970,250],[970,90],[728,90],[300,600],[300,250],[320,100],[320,50]],_isEqual),e.sizes&&e.sizes.length&&(t={slotID:e.id,sizes:a,slotName:e.label}),t}function T(){i.clearTimeout(c),w=!0,_forEach(v,function(e){e()})}}]);
}, {"107":107,"114":114,"118":118,"124":124,"182":182,"205":205,"268":268,"274":274,"406":406,"409":409}];
window.modules["cid.legacy"] = [function(require,module,exports){"use strict";DS.service("$cid",function(){var r=Math.floor(100*Math.random());return function(){return"cid-"+ ++r}});
}, {}];
window.modules["client.legacy"] = [function(require,module,exports){"use strict";require("cid.legacy"),require("ads.legacy"),require("facebook.legacy"),require("aaa-module-mounting.legacy");
}, {"cid.legacy":"cid.legacy","ads.legacy":"ads.legacy","facebook.legacy":"facebook.legacy","aaa-module-mounting.legacy":"aaa-module-mounting.legacy"}];
window.modules["facebook.legacy"] = [function(require,module,exports){"use strict";DS.service("facebook",[function(){this.fb=function(i){window.FB&&window.FB[i].apply(this,Array.prototype.slice.call(arguments,1))}}]);
}, {}];
require=(function e(t,n,r){function s(o,u){if(!n[o]){if(!t[o]){var a=typeof require=="function"&&require;if(!u&&a)return a(o,!0);if(i)return i(o,!0);var f=new Error("Cannot find module '"+o+"'");throw f.code="MODULE_NOT_FOUND",f}var l=n[o]={exports:{}};t[o][0].call(l.exports,function(e){var n=t[o][1][e];return s(n?n:e)},l,l.exports,e,t,n,r)}return n[o].exports}var i=typeof require=="function"&&require;for(var o=0;o typeof key === 'string' && key.match(/\.legacy$/)).forEach(key => window.require(key));
}
function tryToMount(fn, el, name) {
try {
fn(el); // init the controller
} catch (e) {
const elementTag = el.outerHTML.slice(0, el.outerHTML.indexOf(el.innerHTML));
console.error(`Error initializing controller for "${name}" on "${elementTag}"`, e);
}
}
/**
* mount client.js component controllers
*/
function mountComponentModules() {
Object.keys(window.modules).filter(key => typeof key === 'string' && key.match(/\.client$/)).forEach(key => {
let controllerFn = window.require(key);
if (typeof controllerFn === 'function') {
const name = key.replace('.client', ''),
instancesSelector = `[data-uri*="_components/${name}/"]`,
defaultSelector = `[data-uri$="_components${name}"]`,
instances = document.querySelectorAll(instancesSelector),
defaults = document.querySelectorAll(defaultSelector);
for (let el of instances) {
tryToMount(controllerFn, el, name);
}
for (let el of defaults) {
tryToMount(controllerFn, el, name);
}
}
});
}
// Make sure that a `window.process.env.NODE_ENV` is available in the client for any dependencies,
// services, or components that could require it
// note: the `` value is swapped for the actual environment variable in /lib/cmd/compile/scripts.js
window.process = window.process || {};
window.process.env = window.process.env || {};
if (!window.process.env.NODE_ENV) {
window.process.env.NODE_ENV = '';
}
// note: legacy controllers that require legacy services (e.g. dollar-slice) must
// wait for DOMContentLoaded to initialize themselves, as the files themselves must be mounted first
mountLegacyServices();
mountComponentModules();
// ]]