On tonight's episode of "Arrow," Oliver's loyalties were put to the test. When Damien Darhk kidnapped Oliver's son William, Oliver had to choose between protecting William or protecting Star City. Unfortunately more than just William got caught in the crossfire of Darhk's plans, as Oliver was forced to tell Felicity the truth about having a son. That truth splintered their relationship and might leave it irreparable for the foreseeable future. Mari McCabe also made an appearance on "Arrow" tonight, as the team needed her magic to track both William and Darhk. Oliver had many tough choices tonight, and in trying to protect his son, he may have ended up failing both his city, and his fiance.

The central focus on tonight's episode -- "Taken" -- was the kidnapping of Oliver's son William. Oliver (Stephen Amell) first found out about William during "The Flash"/"Arrow" crossover episode when he ran into his former girlfriend, Samantha at Jitters. Samantha let Oliver meet William (whose favorite superhero ironically was The Flash,) but only on the condition that no one else knew about him. This put Oliver in a rough spot with Felicity (Emily Bett Rickards), because he agreed not to lie to her anymore. Fast forward to tonight, when Oliver and Felicity were talking about wanting to walk down the aisle at their wedding, and Oliver got the call that Damein Darhk (Neal McDonough) had kidnapped William. At Felicity's words, "Who's William?" Oliver knew it was all over.

On the phone, Damien gave Oliver an ultimatum, drop out of the Star City mayors race and save William, or stay in the race and let William die. Oliver didn't want either of those things to happen, so he called Team Arrow together and they began working on the problem. Their main decision, in addition to getting the police involved, was to call in someone who could go up against Darhk's magic. Since Constantine was literally in Hell, as they said, they decided to call in Mari McCabe (Megalyn Echikunwoke.) Mari previously met Oliver in the animated series "Vixen," which aired on The CW Seed earlier last year. Mari can channel the spirit of animals by tapping into the power of her totem. When William's mom Samantha (Anna Hopkins) showed up -- and after they told her that Oliver was the Green Arrow -- she was able to give Mari something of William's to smell, so that she could track him.

Mari and the team were able to track William, but Darhk moved him and attacked them. Darhk took special notice to Mari's totem, even recognizing where it came from. Darhk used his magic to throw Oliver out a window, but Mari's quick reflexes caught him. After they lost William's track, they came up with the plan of finding Darhk's totem, and they were able to do so by charting magical lay lines. When the team was trying to figure out who told Darhk about William's existence, Thea (Willa Holland) confronted Malcolm (John Barrowman) who finally admitted that he did tell Darhk, and that he "did what he had to do to keep her safe." After a season and half of trusting Malcolm, Thea finally decided she was done letting him into her life. Malcolm pulled the "without me you are nothing card," but it didn't change Thea's mind about him, especially since she knew that he chose Darhk and League of Assassins over her life, and the life of her nephew.

The final showdown between Vixen, the Green Arrow, the Black Canary and Damian Darhk was intense. Vixen was able to steal Darhk's source of power, and by channeling the strength of a gorilla, she was able to destroy it. Darhk was immediately sapped of all of his powers, and Oliver quickly took him down. The police were on their way, so Oliver tipped his head in a nod to William, and darted off. William was safely returned to his mother, who very cutely said that he wanted a Green Arrow figure now instead of The Flash. Samantha agreed to move William far away to keep him safe for as long as possible. Presumably Darhk was apprehended by the police and taken to jail, now that he was powerless. Oliver also recorded William a message for his 18th birthday, telling him that he was the Green Arrow and that he sent him away to give him his best chance. Mari also left Star City, after saying goodbye to the team and heading back to Detroit. Mari will be seen again in season two of her animated series "Vixen." Things on the island got interesting as well, as the magical power Reiter was looking for was found. Oliver's tattoo saved him again, and Constantine, though not in tonight's episode, seemed to be saving Oliver's life again.

The episode concluded with Felicity placing her engagement ring on Oliver's desk and calling off the wedding. The craziest part about this scene was that while she was breaking up with Oliver, Curtis' spinal stimulating device started to work, and Felicity regained the use of her legs. In what should have been a joyous moment of celebration and hugs, Felicity stood up from her wheelchair and walked out of the apartment. What does this mean for Oliver and Felicity's relationship? Are they over for good? Are they on a break? In the flash forward at the grave site Felicity is not wearing her engagement ring, but she and Oliver did show up together, does that mean they are still close but not quite mended?

"Arrow" is now on hiatus for the next three weeks, just like "The Flash." The show will return on March 23 in an episode titled "Broken Hearts." While that could refer to Oliver and Felicity's broken hearts, it is also a nod to returning favorite, Cupid. Amy Gumenick will be reprising her role as Cupid, as you can see in the new trailer below.

"Arrow" airs Wednesdays on The CW at 8 p.m.