Oliver had thanked Percy before - for getting Comet and all the things a new puppy needed, for putting together the surprise Quidditch party for Oliver, for taking Oli out on Monday for dinner on his actual birthday. This was no surprise. But the hug was. Percy wasn't sure whether or not he return the hug, but he did, however not with the amount of enthusiasm he would've wanted.
"You're my best friend," Percy muttered while still hugging. "I want to see you happy."