That's definitely doable! Instead of lines like
if affectation >= 100:
elif affectation == 75:
elif affectation == 25:
else:
you could use any kind of true/false statements like
if happy == True:
elif annoyed == True:
elif angry == True:
else:
A reason I used numbers was to have things scale the whole way along a meter. But you could leave out those in between points and just use a simpler set of true/false statements.
Also my username on the discord is SuperBiasedGary. Feel free to DM if you'd want me to take a look at your specific code!