Well if you want to find the offset really fast download my Advanced Offset tool. That's one of the main reasons it was made for the help in repointing things.
Yea an ldr and bx is the right path to go, but... Yea no matter what it would remove shellder even if you cancel. I don't believe theres any way to check if the evolution was canceled. (well not without some hooking) but if we end u hooking, then the best option would be to leave the remove poke out of the evolution itself. It may take some research but its entirely possible.
Also your loop is alittle odd. You should have for your ldr r0, firstpoke
is right after it add r0, r0, r6 ---(i used r6 since that is what you set for the #0x64)
and instead of mov r6, #0x64 use add r6, r6, #0x64
but add in a mov r6 #0x0 before the loop is called.
Yea an ldr and bx is the right path to go, but... Yea no matter what it would remove shellder even if you cancel. I don't believe theres any way to check if the evolution was canceled. (well not without some hooking) but if we end u hooking, then the best option would be to leave the remove poke out of the evolution itself. It may take some research but its entirely possible.
Also your loop is alittle odd. You should have for your ldr r0, firstpoke
is right after it add r0, r0, r6 ---(i used r6 since that is what you set for the #0x64)
and instead of mov r6, #0x64 use add r6, r6, #0x64
but add in a mov r6 #0x0 before the loop is called.