Combat system like Uncharted

Hello Everyone,
I was thinking of adding combat to my game, I reviewed some games and seemed to like Uncharted’s hand to hand melee system good enough. So I would like to have some direction as to how it could be implemented.

One could go about using different animations as player hits the button, but how to bring something contextual, like hitting him against the wall or using a bottle of a table.
And then use it. And moreover get different moveset also!