¡Comienzan las votaciones del MPC o Mejor Proyecto Cuatrimestral de enero a abril de 2026!
¡Vota por tu proyecto favorito y recompensa el trabajo duro de los participantes!
Me refiero a que trabajes sobre pokecrystal no a que lo uses como informacion. Sin poder compilar es bastante locura hacer algo que de verdad merezca la pena sobre el AI
hace no mucho tiempo añadi bastante comentario y etiquetas al tema del AI en pokecrystal. Puede que te sirva: https://github.com/kanzure/pokecrystal/blob/master/battle/ai/scoring.asm
Si quieres hacer algo mas o menos decente no te queda mas remedio que trabajar sobre pokecrystal, sino te puedes...
por ahora no he hecho nada mas que modificar un poco el AI de hidden power, so se si modificare mas cosas. Pero ten en cuenta que si modificas los movimientos algunos aspectos del AI quedarian extraños, p ej si sustituyes fire punch por water pulse, el AI favoreceria sunny day si el pokemon sabe...
Que quieres saber exactamente? D3 03 es probablemente la mejor combinacion (la usan gym laeders/e4).
Aunque hay otras combinaciones posibles, no necesariamente mejores o peores, por ejemplo que usar ataques de modificar stats en turno 1 sea bueno o malo, depende de cada combate.
Cada uno de esos numeros ocupa un byte, por lo que no puedes poner dos numeros en la misma direccion. Por tanto, sin comas y cada numero en una linea: 0A en 7F14, 05 en 7F15, 0F en 7F16...
No es una rutina, sino una tabla, por tanto sin ret. La instrucción ret solo se utiliza para retornar de...
En la linea que tienes subrayada cambiala por ld hl, 7F14, que es la direccion donde va a empezar la tabla. Despues, a partir de 7F14 empieza a escribir los datos de la tabla (0A, 05...)
Estoy viendo que en jr nz, 7F03 me colé, cambia eso por jr nz, 7ED9.
Si te fijas ahora, la instruccion call z tiene que ser call z, 7EF7, porque es desde donde vas a empezar a hacer la rutina de Pickup.
Lo demas todo bien
Me las invente, porque es imposible saberlas exactamente sin escribirlo en bgb. Por eso dije "pondrá por ejemplo".
Ves que debajo de "Pickup" hay un ld a, (hl)? Quiero que apuntes la direccion (los 4 numeros hex despues de ROMF:) en la que esta esa instruccion en un papel, y sustituyas el call...
ahora tienes que fijarte en donde se encuentra la linea en la que empieza la rutina de pickup (es decir el ld a, (hl), seguido de and a, seguido de ret z). En la linea del ld a, (hl) pondra por ejemplo ROMF:7EB5 o ROMF:7EC2 o lo que sea, entonces vas a donde pusistes call z, 0000 y lo cambias...
He corregido un bug hacia el final del codigo. Me diste las probabilidades sobre 255 y algo no me cuadraba! Hay algun cambio a partir de la linea 36, no es mucho.
ld hl, DA2A ld bc, 002F ld d, 6 ldi a, (hl) cp 13 jr z, 0A cp 14 jr z, 06 - Pastebin.com
seguido, no hace falta dejar espacio.
Por cierto cuando acabes, haz File -> Save ROM as, y guardala con un nombre nuevo, para no sobreescribir tu hack actual en caso de que algo vaya mal (a no ser que tengas backup reciente)
ok, entonces donde escribiste call 7E9B, cambialo por call 7ED1 y empieza a escribir las instrucciones que te pase en el link, a partir de 7E9B. (donde dice call z, Pickup y ld hl, tablaProbsItems, escribe en su lugar call z, 0000 y ld hl, 0000) luego ya pondremos bien las direcciones.
Cada vez...