I noticed a couple mistakes with the code and fixed it, making this:
Code:
ldr r1,=0x022AF136
mov r5,#0x0
mov r0,#0x4
mov r2,#0xF
loop:
ldrb r3,[r1]
add r1,#1
cmp r3,#0x3A
blt number
add r3,#9
number:
and r3,r2
lsl r3,r0
add r5,r3
sub r0,#0x4
bpl loop
ldr r2,=0x021D8FC8
strb r5,[r2]
bx lr
but it's still not right! it seems to only change the first digit of the emotion and it doesn't do it right either. like any number starting with 1 and any digit afterward gives broken heart, any starting with 2 gives deal cards, etc.