Pokemon follow a loyalty value
the more you use the pokemon; carry it, give it items, use abilities, use it in battle the more loyal it becomes to a max value of 255 i believe
open up the ds versions of the pokemon game in the pokesav and u can see the value. since sum pokemon evolve by...