There’s several Pokémon that have branching evolution paths – Slowpoke for example can be evolved into Slowbro by level-up, or into Slowking by trading with King’s Rock held.
In most cases, these branches can’t conflict, but there’s at least one where 3 conditions can be potentially met at once.
Take these three evolution conditions for Eevee:
- Espeon – level up once with a high Happiness value (during the day, or at night for Umbreon)
- Leafeon – level up once nearby the Mossy Rock
- Sylveon – level up once with 2+ Affection and a fairy-type attack.
It’s entirely possible for all 3 criteria to be met at the same time (a single Eevee with Charm – Fairy type as of Gen VI -, high affection and friendship, levelled up at the Mossy Rock). Which evolution takes place? Will the game pick randomly, or is logic included to pre-determine the path? Or is it based on which criteria is hit first?
Phew. Man. This isn’t super well documented. Here’s what I’ve got:
Location takes precedence over friendship:
In the case that your Eevee reaches the correct friendship level while around say, the Mossy Rock, it will always attempt to become Leafeon over Umbreon/Espeon. See here.
Fairy Move takes precedence over friendship:
In the case that your Eevee knows a fairy move, it will always attempt to become Sylveon over Umbreon/Espeon… as long as you also have the 2 Affection. Fairy Move without 2 Affection obviously results in no Sylveon. See here.
The problem is if you hit all criteria. Say you have an Eevee that hits the right friendship level around the Mossy Rock (or the Ice one) and it knows a fairy move (and has 2 Affection). The question is, what does it turn into?
Friendship is the weakest evolution criteria by far (everything trumps friendship). So it probably would be duked out between the Fairy type move and the location. Still, some people say that the process is randomized (this theory is not documented well) and some people say that the fairy move/2 Affection will take precedence.
This is just a guess based on looking at all the information I could find, but it looks like the Sylveon evolution has so much going into it that it would be easiest for the game to check this first. See the comments by Swaggie Mils and Distincct here. So, and this is just a guess, Sylveon probably would take precedence over location. We’d need to do a test with multiple Eevees.
EDIT: I realized that Swaggie Mils and Distincct say “everything needs to be maxxed out” but I’m pretty sure that this is a safety precaution (to be sure you get a Sylveon). It only needs two Pokemon Amie hearts and a Fairy move, according to Bulbapedia. Fullness is not actually an issue, although I supposed it’s best to just max everything out if you’re trying to be sure. Still, if you’re missing any of the Sylveon evolution criteria, you can’t turn into a Sylveon… so I’m assuming the game checks for the fairy move, and if there is a fairy move then the affection, else if no fairy move/not enough affection then the location, then the friendship level. But this is a guess and not well documented, based on what I could find. It would still need to be tested.