Producers: Zach Braff, Pamela Koffler, Florence Pugh, Christine Vachon, Christina Pivesan and Noah Segal   Director: Zach Braff   Screenplay: Zach Braff   Cast: Florence Pugh, Morgan Freeman, Molly Shannon, Chinaza Uche, Celeste O’Connor, Zoe Lister-Jones, Alex Wolff, Brian Rojas, Ryann Redmond, Ignacio Diaz-Silverio, Oli Green, Nichelle Hines, Toby Onwumere and Sydney Morton    Distributor: Metro Goldwyn Mayer/United Artists

Grade: C

Stellar performances by Florence Pugh and Morgan Freeman aren’t enough to salvage “A Good Person,” an earnest but heavy-handed, melodramatic multiple redemption story from writer-director Zach Braff.

Pugh is Allison, a New Jersey songstress engaged to marry handsome, genial Nathan (Chinaza Uche).  Her future happiness is shattered when she picks up Molly (Nichelle Hines), Nathan’s sister, and Molly’s husband Jesse (Toby Onwumere) at the airport and makes the mistake of glancing down at a map on her phone while driving into a construction zone.  In the ensuing crash, Molly and Jesse are killed, and Allison severely injured.  She and Nathan break up soon afterward, and she moves back in with her mother Diane (Molly Shannon), a chattering but loving woman who imbibes wine freely and is determined to wean her daughter off her continuing reliance on the opioids the doctors will no longer prescribe. 

The crash is also a life-changing event for Ryan (Celeste O’Connor), Nathan’s teenage niece, and his estranged father Daniel (Freeman), a Vietnam vet, retired cop and recovering alcoholic now tasked with raising the smart but traumatized girl, who gets into serious trouble at school.  Daniel relishes the control he exercises over his model trains in the basement, and is driven to distraction by the messiness he faces in the real world.

Allison hits rock bottom when Diane flushes her last stash of pills.  After trying to hit up old acquaintance Becka (Ryann Redmond), who works at Purdue Pharma, for an under-the-counter bottle of opioids, she tries to score at a neighborhood bar where she encounters old high school classmates Mark (Alex Wolff) and Diego (Brian Rojas), whose memories of her are hardly friendly.  (The sequence of the three of them is one of Braff’s best.)

Allison finally decides to attend an AA meeting at a local church, where she finds Daniel a long-time member.  He encourages her to stay despite her misgivings, and will eventually secure a sponsor, group leader Simone (Zoe Lister-Jones).

Through Daniel Allison also accidentally connects with Ryan, who’s initially hostile but seems to come around when Daniel follows Allison’s advice to moderate the strict regimen he’s imposed on his granddaughter after discovering her in bed with an older guy named Quinn (Ignacio Diaz-Silverio).  (That sequence is one of Braff’s worst.)  In fact, Ryan arranges an evening out with Allison at a New York dance club where she also invites Nathan.  Unfortunately, he brings along his new girlfriend Joelle (Sydney Morton). 

The aftermath of that debacle is the certifiably worst scene Braff concocts, a party where Ryan winds up with Quinn and Allison with a member of the band (Oli Green).  Daniel tracks them down and shows up with his police revolver, which he’s dissuaded from using only by the intervention of Nathan and Simone.  But before stalking off with Ryan he vents, reading the riot act to Allison, explaining that while he’s tried to be a good person, he’s still enraged over what she did to his family.

That’s not the end, of course; Braff goes on to outline a recovery arc for each of the main characters, in particular Allison, who goes into rehab and emerges a new person, learning to overcome her debilitating guilt and pain while accepting responsibility for her mistakes.  But all benefit from Braff’s creative benevolence. 

“A Good Person” aims for truthfulness, and in its depiction of Allison it comes close to achieving it, though the reason is more Pugh’s performance than Braff’s writing or direction, both of which are only sporadically effective.  Pugh rarely puts a foot wrong, but Braff often slips into LifeTime movie territory.  Freeman does some of his better recent work here, even though the character of Daniel is often more literary conceit (as in his love of the predictability of his model-train town, complete with little re-enactments of events from his own life, not always accurate).  Uche’s Nathan is unfortunately a smiling cipher (there are far too many dreamy inserts of him walking toward the camera), and Shannon could have used a bit of restraint. 

But the main problem with the script’s machinations lies with O’Connor, not because the actress doesn’t do what’s asked of her—in fact she does it well—but because Ryan is a clumsily written character, her motivations opaque at best.  It’s difficult to discern whether her warming up to Allison is genuine or a trap, and whether the meeting she arranges between Allison and Nathan is really meant to bring them back together or cause a row.  In any event, it leads to that dreadful party scene, which represents melodrama at its most cringingly unbelievable.

The look of the film is fine, with Merissa Lombardo’s production design and Tere Duncan’s costumes nicely caught in Mauro Fiore’s nimble camerawork (a couple of sequences toward the start—the short crash scene and the furious confrontation between Allison and Diane over the pills—being especially impressive).  Dan Schalk’s editing is solid, and Bryce Dessner’s score effective enough, though one has to wonder whether both Allison and Daniel would be likely to know the lyrics to “Last Train to Clarksville.”