We do not carry codeine on board BA aircraft. The only drug we have for mild/moderate pain is Paracetamol and I certainly would not give this to someone that had been drinking heavily. The rules for giving out medication are very strict. You ask the customer questions before giving them out which means asking about allergies, and whether the person has taken any previous medication. It must be taken on board and nothing is to be given out for a customer to take off the aircraft with them. we also have to fill out a form with customer name and time pill was taken (to avoid other crew giving out more to the same person). If we have recommended Paracetamol (i.e the customer has not asked for it by name) then a more detailed form need to be filled out including customer address and contact and signs and symptoms etc.
If the "very nice' crew member gave out some of their own personal medication they were not complying with our very clear rules and training.
As an aside the only places we are told that Codeine is not to be carried without prescription is UAE and some other Middle Eastern destinations.