The Kansas City Royals have locked up one of their core players.

The team has reportedly agreed to a long-term contract extension with left-hander Danny Duffy. The Royals have not yet confirmed the deal.

Duffy, like so many core Royals, was due to become a free agent following the 2017 season. Eric Hosmer, Mike Moustakas, Lorenzo Cain, and Alcides Escobar are among those still scheduled to hit the open market following the upcoming season.

Here is the year-by-year breakdown of Duffy's new contract:

Despite opening the 2016 season in the bullpen, the 28-year-old Duffy emerged as Kansas City's best starting pitcher last year. He went 12-3 with a 3.56 ERA and 167 strikeouts in 161 2/3 innings after moving into the rotation in May. Duffy was in the AL ERA title race until suffering through a tough September.

The Royals drafted Duffy in the third round of the 2007 draft, and he's spent the last six seasons bouncing back and forth between the rotation and the bullpen. He also missed much of the 2012 and 2013 seasons with Tommy John surgery. He's had some shoulder problems in recent years too.

Since returning from elbow reconstruction, Duffy had thrown 490 innings across 80 starts and 28 relief appearances. He has a 3.29 ERA (127 ERA+) during that time with 425 strikeouts and a healthy 2.62 strikeout-to-walk ratio. Opponents have hit .267/.305/.379 against Duffy during that time.

usatsi9495294.jpg
The Royals have locked up staff ace Danny Duffy long-term. USATSI

It's very unlikely Kansas City will be able to retain all their impending free agent core players. In fact, they traded ace closer Wade Davis, another impending free agent, earlier this offseason. GM Dayton Moore figures to spend the next few months exploring extensions and gauging the trade market.

Even with Duffy now locked up, next offseason's free agent pitching class will still be headlined by Jake Arrieta and Yu Darvish. Masahiro Tanaka can also opt-out of his contract and become a free agent.