Help plis:
Spoiler:
/****** NEW GEN EXP SHARE + EGG EXP FIX *******
************** Ruby VERSION ********************
Es necesario realizar las siguientes ediciones en el rom:
- Ve a 0x080201E2 y escribe los bytes "02 21"
- Ve a 0x08020336 y escribe los bytes "01 20"
- Ve a 0x08020278 y escribe lo siguiente:
"C0 46 00 4A 10 47 [XX+1 XX XX 08] 04 BC"
siendo [XX+1 XX XX 08] el pointer permutado a esta rutina
************************************************
Es también importante recalcar que debéis escoger el flag que
vais a utilizar para activar/desactivar la rutina.
De la misma forma debéis escoger una variable que utilizará
está rutina para almacenar un valor de control.
************************************************
************************************************
************************************************
Créditos a BluRose, Lunos and samus *********************
************************************************
************************************************/
.align 2
.thumb
no_crash:
ldr r0, [r5]
mov r1, r0
add r1, #0x53
ldrb r0, [r1]
flag_check:
push {r0-r2}
ldr r0, flag_number
ldr r2, flag_routine
push {r1-r3}
bl linker
pop {r1-r3}
cmp r0, #0x1
bne routine_off
pop {r0-r2}
main:
push {r3-r6}
ldr r6, slot_var
ldrb r3, [r6]
ldr r4, is_egg_party
mov r5, #0x64
mul r5, r5, r3
ldrb r4, [r4, r5]
cmp r4, #0x6
beq pokemonIsEgg
mov r2, #0x1
b update_slot
pokemonIsEgg:
mov r2, #0x0
update_slot:
add r3, #0x1
cmp r3, #0x6
bne end
mov r3, #0x0
end:
strh r3, [r6]
pop {r3-r6}
return:
push {r2}
ldr r2, return_dir
bx r2
routine_off:
pop {r0-r2}
mov r2, #0x1
and r2, r0
b return
linker:
bx r2
.align 2
flag_number:
.word 0x00000[XXX]
flag_routine:
.word 0x08069340 +1
slot_var:
.word 0x02025280 + (0x400[X] * 2)
is_egg_party:
.word 0x02022928 + 0x13
return_dir:
.word 0x08020284 + 1
The routine does not give experience when using movements like absorbs, mega drain or giga drain, in addition to giving experience without having the active flag, also I do not know if the var is the correct one.