I like the change that NPC can still get the space bonus with 2 other NPC nearby. It has a huge impact and will make happy NPC much more easier than before.
However some NPC still cant reach max happiness.
Could e.g. pets (in village range(120)) have a small impact as well?
e.g. somewhere between 1.5% (all 3 needed for max) to 2.5% (2 are enough for max). = factor 0.985 to 0.975
Or as alternative some NPC are dog-people, some are cat-people. Preferred gives 3% (= factor 0.97), bunny 2%, 3rd no impact
Or as alternative a princess in village (120) increase it by 5% for all NPC living there.
------
Bonus: asymmetric, not-hard borders:
With the 2-nearby-still-Ok change more NPC can be happy at the same time. Compared to previous version it also gives the player more freedom at the NPC arrangement.
However through the symmetry of love/hate relation, the same distance for crowing and hard borders the player is still limited.
How about some separation? E.g. loved NPC still have an impact in 40 range, liked in 30 (but not in crowding). Hated only in 20 range, disliked only in 15 range.
Instead of hard borders how about some decay? e.g. loved have max impact up to 40 range and 0 in 50 and above. In between some (linear?) transition.
Disliked has max impact up to 15 range and slowly decays to 0 impact in 25 range.
Crowding also depends at the individual distance, if they like the NPC (count <1) or not (count >1 but decays to 1). This will also include not a hard border in between village and house distance. E.g. between 20 and 30 they could be partly in house range and partly in village range (did some post about this
here: (outdated, new math need to be done)).
----
Or as simple change like/loved have the 1.4.1.0/1 range of 50. Hated/Disliked and crowding have the 1.4.1.2 range of 25.
In real life you can be friends over long distance but dont care about people you dont like in same distance.