Disculpe buenas noches antes que nada, queria hacer una pregunta acerca de las habilidades, ¿como se en donde se encuentra la habilidad para poder probarla?, lo que pasa es que agrego la habildiad, pero cuando busco la habilidad no se en donde se encuentra o en donde ponerla, la habilidad que trato de agregar es Protean:
.text
.align 2
.thumb
.thumb_func
.global protean
AbilityBufferUser:
push {r0-r5}
ldr r0, .Bank
ldrb r0, [r0]
mov r1, #0x58
ldr r2, .BattleData
mul r0, r1
add r2, r0, r2
ldrb r0, [r2]
ProteanCheck:
cmp r0, #0xA9
bne Return
BufferType:
ldrb r0, [r2, #0x1]
ldrb r1, [r2, #0x2]
CheckVariableTypeMoves:
ldr r4, .CheckTypeLoc
ldr r4, [r4]
ldrb r4, [r4, #0x13]
mov r5, #0x3F
and r4, r5
cmp r4, #0x0
beq CheckMove
b CheckSameType
CheckMove:
ldr r3, .MoveIndex
ldrh r3, [r3]
cmp r3, #0xA5
beq Return
GetMoveType:
ldr r4, .MoveData
mov r5, #0xC
mul r5, r3
add r4, r4, r5
ldrb r4, [r4, #0x2]
CheckSameType:
cmp r0, r4
bne ChangeType
cmp r1, r4
beq Return
ChangeType:
strb r4, [r2, #0x1]
strb r4, [r2, #0x2]
ldr r3, =0xFF0003FD
lsl r4, #0x10
add r3, r4
ldr r0, .BufferTypeLoc
str r3, [r0]
BufferMessage:
mov r0, #0x49
ldr r1, .Bank
ldrb r1, [r1]
bl DisplayMessage
Return:
pop {r0-r5}
ldrb r1, [r0]
str r2, [sp]
mov r0, #0x2
mov r2, #0x0
ldr r3, .Return
bx r3
DisplayMessage:
ldr r2, .DisplayMessageBL
bx r2
.align 2
.Bank: .word 0x02023D6B
.BattleData: .word 0x02023C04
.MoveIndex: .word 0x02023D4A
.CheckTypeLoc: .word 0x02023FE8
.MoveData: .word 0x8250C04
.BufferTypeLoc: .word 0x02022AB8
.Return: .word 0x0801D7E1
.DisplayMessageBL: .word 0x080173AD
*Insert 00 49 08 47 xx xx xx 08 at 1D7D8
1D7D8: No se si es la direccion en donde se en cuentra,me imagino que si lo malo es que no se como ponerla en el programa.