Wondering if someone can explain this for me. I have a good 'friend' (male) who can be adorable, sweet, kind, generous, willing to go out of his way to help people. But if you annoy him he won't tell you and instead turns into a moody, selfish, rude git who points out all your faults and thinks its entertaining to wind you up and lie to you. i've seen him do this to a couple of people before yet he doesn't seem to be aware he's doing it and when challanged about the rudeness says that's just the way he is.
The reason I ask is that I've been on the end of the git behaviour for a few months, although it took ages to get him to admit he was pissed off with me, and had pretty much given up on the friendship but recently I've seen him do some great things for other people which has made me want to be persist. Maybe I'm too tolerant but i think everyone has issues and no one deliberately sets out to behave like an idiot. I'm wondering if there might be some kind of underlying mental health issue or personality disorder which might cause this switch.