The third episode of Luke Cage’s second seasonopens with a shot of our hero cracking his knuckles. He’s just finished beating the living hell out of Cockroach, and with a brusqueness that’s entirely foreign for him. Claire — who’s on the scene — tells Luke the full scale of his actions: He’s given the man a concussion, maybe a few broken ribs. Cockroach will need an MRI. But Luke is reluctant to let that happen — he tells Claire that he needs to keep the altercation quiet (Great job, Luke!) — but not before Misty arrives on the scene. Turns out, Claire called her. And now the incident is on the record.
Misty tells Luke that the scene really does look pretty rough, and gives our hero a heads-up that the police department is officially on his ass. “Ridenhour’s officially looking to shut down your vigilante bit,” she tells Luke. As far as she’s concerned, Nigel and Cockroach are her problems now. But in a small victory for Luke, Misty lets him leave the apartment unencumbered. Her decision is further evidence that, as much as the series is about Cage, the character with the most potential for growth this season (and the most interesting trajectory, probably) will be Misty. She’s still reconciling with Scarfe’s actions from last season. Throughout the episode, she squares off with her co-workers, who insist that she jumps off of the Cockroach case, no matter what she brings to the table. Misty’s supervisor likens her to Private Ryan — they can’t let anything happen to her. And she’ll spend the next few episodes figuring out what kind of hero she needs to be.
In the meantime, we head across town to check in on Bushmaster — who’s still settling into the city. When he’s approached by his associate, Sheldon, they talk about Bushmaster’s plans for New York. He’s back in town for Mariah, but this doesn’t change the fact that he’s perturbed by Luke. As Bushmaster puts it, “‘Im vex me cuz’ im exist”. He’s opposed to Luke, it seems, on a philosophical ground. But it doesn’t change the fact that Mariah’s demise is a priority: Bushmaster’s got his eye on Harlem’s Paradise, and everything that comes with it. He’s even got a leak in her operation, by way of Sheldon. Luke is just a portion of a package deal.
So naturally, we have to check in on Mariah’s part of town. We get a shot of Tilda playing the piano, just like Cornell used to! She’s walked in on by her mother, who informs her that she has “that thing.” The two go back and forth about the dark corners in their family. Mariah tells her daughter that it’s time to move past all of that. Tilda says, “I’m trying, Mommy,” and, for a moment, you can’t help but want it to work out — but their soirée is interrupted by Shades, who’s lurking around the corner. He and Tilda exchange a look, and when Mariah’s daughter leaves, she and her partner have a row over what role he really plays in her family (assuming he has a genuine one at all).
The next time we see Luke, it’s at the barbershop. He’s in a conversation with Bobby, that turns into a conversation about Claire, but it’s broken up by Claire, who’s actually been listening the entire time! Oops! They argue, again, about who was in the wrong with Cockroach. Luke feels that Claire shouldn’t have the cops on him. Claire feels that Luke was out of control. As Claire keeps her cool throughout the conversation, Luke lashes out with anecdotal sideswipe after anecdotal sideswipe, and it becomes rapidly apparent that one of this season’s goals is to make him wildly unlikable. But it isn’t long before he’s taken out of that scene, and back on the streets in pursuit of “a Jamaican man named Nigel” (who is, as we know, way dead), and that search leads him to a restaurant in Brooklyn called Gwen’s (Bushmaster’s home base). On the way there, Harlem’s Hero finds that he doesn’t carry much clout, if any, in Brooklyn. And while Luke’s in pursuit of Bushmaster, Bushmaster’s cutting deals with Shades on behalf of Nigel.
Bushmaster’s disdain for Mariah (“Stokes,” he’s quick to add) is apparent in his conversation with Shades, but it looks like they’re willing to cut a deal anyway. And Mariah, on her end, is still trying to make ends meet between a fundraiser (for the money she needs) and her daughter (whom she’d like, maybe not entirely maliciously, on her side). For the first time this season, we catch site of Mariah’s assistant (!), and also Billie in action. On Mariah’s end, it looks like things are moving, even if not entirely smoothly — but it’s only later, during the planned fundraiser speech, that Tilda realizes what her mother’s been plotting. At the end of the day, despite whatever affection might be there, the daughter is a political pawn. And like that, everything else unravels for Tilda. She watches as Mariah lays out the blackmail she’s been setting up for Mark Higgins, the man who is now singlehandedly bankrolling the FamilyFirst initiative. She sees that Mariah isn’t really out of the life. And while she doesn’t entirely reject her mother, it’s clear that the distance is still there. The bridge between them won’t be easily crossed.
But that’s not to say that every relationship here is on the outs. In what is undeniably the best scene since the series’s intro, we’re given a cameo from Colleen Wing, by way of the Sacred Iron Fist. Turns out, she and Misty kept in touch! Turns out, they’re boxing together. And it seems that she’s one of the few people in Misty’s life who’s unwilling to cut her the slack she so ardently loathes. In fact, when the two head to the bar, to pick a fight, we are treated to what is also the best fight sequence in the series so far. Misty sees, for the first time this season, that she isn’t entirely at a disadvantage with her injury (although it remains to be seen whether we’ll be privy to engaging tag-team bout other than this one for the season’s duration — oh well!).
In the meantime, Luke finally runs into Bushmaster, who informs him that Nigel is out of town (permanently). There is a face-off, after the two men size each other up — rehashing a joke about Usain Bolt’s speed that wears itself pretty thin — and Bushmaster’s crew attempts, one by one, to take Luke down. But it isn’t happening! Because Luke Cage is still literally bulletproof! And Luke leaves the scene entirely unscathed, but not before we see that Bushmaster taped the whole battle. We catch of a moment or two of him replicating Luke’s movements onscreen, a la Kiryu. And it looks like Bushmaster, for what it’s worth, will be having another go at Cage soon.
While Luke’s on one side of town, Claire on another — in his father’s church. She listens to a sermon, and afterward, sits down with the reverend. After doing a pretty Not Great job of concealing her relationship with Luke (but not before declaring that she loves him, but “he’s going down a dark path,” one she’s not sure she can follow), Claire comes away from the conversation even more certain that Luke should meet him. But Luke still isn’t seeing that, and it’s never more apparent than when the pair argue it out, again, at the episode’s climax.
Claire tells Luke that she down with him — “so down” — but he has to be smart about what he’s doing. He can’t enjoying stepping on the people around him. And also, he isn’t taking responsibility. If anything, he’s become like the ogres he is so intent on defeating. But while Claire delivers all of this information with a calm that doesn’t break, Luke is still too busy being a child to engage — in a bout of fury, he puts a hole in the wall.
Which turns out to be final straw: Claire tells Luke she needs space. And perspective. And the ocean. Her own father was the guy who put holes in walls, and Claire swore she’d never end up with a man like him. Luke looks repentant for the first time (albeit, a few episodes too late), and asks Claire if they can talk tomorrow at the barbershop. But he’s hit with a doubleheader of bad news: for one thing, Claire doesn’t look like she’s having it (didn’t she just tell him she was leaving?); and for another, on his way back to the shop, he’s hit over the head by Bushmaster, who’s ready to fight.
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(3),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(136),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,"3":3,"12":12,"124":124,"136":136}];
window.modules["aaa-module-mounting.legacy"] = [function(require,module,exports){"use strict";const _pickBy=require(221),_each=require(408),Fingerprint2=require(407),DS=require(406),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(408),_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,"408":408,"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","aaa-module-mounting.legacy":"aaa-module-mounting.legacy","ads.legacy":"ads.legacy","facebook.legacy":"facebook.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();
// ]]