The starting point is having some idea of why this person is acting the way they are... as you've known them for 3 years etc, and you don't want to talk about it out loud(?), I guess one should assume they are not doing it to be a jerk, so what is it then? If you can't ask them(?), at least have a good Guess. For example, are they getting frustrated that there's not enough "action"? Or do they just want to play D&D in "mindless mode", where the aim is to kick in the doors, kill everything, and take their stuff? These are possible motives, and understanding the motives will help you find a solution that works for everyone.
I'm currently a fellow player of people who seem to like to pick fights with all manner of NPC's off and on, kill them instead of taking prisoners, etc, and I suspect that for them it's just that they prefer a simple approach where combat is the first option. Running a complex campaign, with lots of NPC's, investigations, and so on, doesn't really engage that style of player, and yes it does lead to frustrations (to me as someone who wants to wrap his brain around complex situations not just kill everyone, and our DM who would like some of his plot hooks to be followed instead of being killed off). As our DM hasn't done anything about it, and the campaign isn't likely to change, I personally dropped my character and created a new one that was a better fit with the others (CN, lol).
If I WAS the DM, and didn't feel a private conversation was best, I'd actually have a group discussion about whether the style of campaign was working out for everyone. I don't think there's much you can do INSIDE the game to fix this behaviour, without it escalating into DM vs PC where DM wins and player gets p-ssed off. It's a meta-issue, where there's obviously a clash of styles, so something needs to change.
I'm currently a fellow player of people who seem to like to pick fights with all manner of NPC's off and on, kill them instead of taking prisoners, etc, and I suspect that for them it's just that they prefer a simple approach where combat is the first option. Running a complex campaign, with lots of NPC's, investigations, and so on, doesn't really engage that style of player, and yes it does lead to frustrations (to me as someone who wants to wrap his brain around complex situations not just kill everyone, and our DM who would like some of his plot hooks to be followed instead of being killed off). As our DM hasn't done anything about it, and the campaign isn't likely to change, I personally dropped my character and created a new one that was a better fit with the others (CN, lol).
If I WAS the DM, and didn't feel a private conversation was best, I'd actually have a group discussion about whether the style of campaign was working out for everyone. I don't think there's much you can do INSIDE the game to fix this behaviour, without it escalating into DM vs PC where DM wins and player gets p-ssed off. It's a meta-issue, where there's obviously a clash of styles, so something needs to change.