Adke
Puntuación de reacción
538

Mensajes de perfil Última actividad Publicaciones Acerca

  • ¿Qué tile significa qué tipo de tile o en qué coordenada del mapa? De todos modos, tengo que hacer todos los deberes de navidad xD.
    Eso... es complicado. Ahora estoy de vacaciones con internet intermitente. Recuérdamelo pasado mañana o así
    Nunca me ha dado por investigar los tilesets xD
    Preguntale a cosarara porque el si, al haber creado una tool sobre mapeo.
    ¡Felicidades por ganar el Whack a Ranking del mes de Diciembre!

    Se nota que tu hack avanza de a montones y tienes una gran originalidad para hacer las cosas. Haz actualizado mucho éste mes, tu tema estará como importante hasta finalizar Enero.

    Una vez más ¡Felicidades!
    Ah, pues habrá habido algún error al copiarla o algo. Pero bueno, me alegro de que te funcione :D
    Esa que te he puesto sería la rutina. Y compilada quedaría así:

    3F B5 0F 48 00 22 64 24 54 43 04 19 00 23 21 68 99 42 13 D0 56 25 61 5B 99 42 09 D0 50 25 61 5B 99 42 05 D1 07 49 09 88 00 25 50 25 61 53 05 E0 01 24 12 19 06 24 A2 42 00 D0 E4 E7 00 24 3F BD 60 43 00 03 C4 E8 02 02

    Nada más que la pegas en un espacio vacío del rom y la llamas con un callasm. Eso sí, recuerda que el offset donde pongas la rutina debe acabar en 0, 4, 8 o C. Y cuando hagas el callasm, súmale 1 al offset.

    Te explico cómo funciona. En la variable 0x8000 pones el estado. Como tú quieres envenenado, pones 0x8. Pero lo he hecho así por si quieres utilizar otros estados. La rutina va comprobando cada slot. Si no hay pokémon, termina, si lo hay, comprueba que no esté debilitado (si lo está pasa al siguiente) y que no tiene ya ningún otro estado (si lo tiene también pasa al siguiente). Cuando encuentra un pokémon no debilitado sin ningún estado, le pone el nuevo y finaliza.
    .align 2
    .thumb

    push {r0-r5,lr}
    ldr r0, .party
    mov r2, #0x0

    rutina:
    mov r4, #0x64
    mul r4, r2
    add r4, r0, r4
    mov r3, #0x0
    ldr r1, [r4]
    cmp r1, r3
    beq exit
    ldr r5, =0x56
    ldrh r1, [r4,r5]
    cmp r1, r3
    beq next
    ldr r5, =0x50
    ldrh r1, [r4,r5]
    cmp r1, r3
    bne next
    ldr r1, .var_8000
    ldrh r1, [r1]
    mov r5, #0x0
    ldr r5, =0x50
    strh r1, [r4,r5]
    b exit

    next:
    mov r4, #0x1
    add r2, r2, r4
    mov r4, #0x6
    cmp r2, r4
    beq exit
    b rutina

    exit:
    mov r4, #0x0
    pop {r0-r5,pc}

    .party: .word 0x03004360
    .var_8000: .word 0x0202E8C4
    Uff, se me había olvidado completamente D:
    Una cosa. Imagínate que el pokémon tiene otro estado, por ejemplo, paralizado. En tal caso, ¿Debería pasar al siguiente pokémon o debería cambiar el estado?
  • Cargando…
  • Cargando…
  • Cargando…
Arriba