Pum
Puntuación de reacción
162

Mensajes de perfil Última actividad Publicaciones Acerca

  • Crystal_ fue muy buen maestro para mi, pero no se si tenga mucho tiempo libre. Si sabes ingles Miksy tiene unos videos en YT que te pueden introducir.

    Que paso? pues creo que fue el exceso. Le dedique tanto tiempo a esto que termino por saturarme, pero me alegra que le invirtiera tanto tiempo, si no no hubiera podido implementar las habilidades, mi maximo logro (hasta ahora) en el hacking GBC.

    Tengo pensado regresar el proximo año. Fresco y lleno de vida.
    Te voy a quedar mal unos meses, ando enfadado del hacking y quiero descansar para no terminar odiandolo y poder regresar.
    De hecho una vez que aprendas ASM no querras parar.

    Pues creo que por ahi debemos empezar, enseñandote, asi me ayudas a planear mejor las habilidades. Al momento de hoy no tengo parche de nada, quiero descansar del hacking hasta el proximo año.

    Pues ya no soy moderador por que no tengo tiempo, ahorita me dedico a coleccionar cosas de pokemon de manera fisica, tazos, videojuegos, tarjetas...
    Pues todo es posible, pero si a lo que mas temo son a las rutinas de Menu, por que requieren de subrutinas que guarden lo que hay en la pantalla antes de sacar el nuevo menu.

    Otro "problema" es que quieres que todo esto sea opcional, lo que nos lleva a propongar rutinas, ademas debes pensar a futuro, que otras cosas nuevas te gustaria implementar... como habilidades.
    Nunca he hecho un menu dentro de los menus del juego. Pero bueno, sabiendo esto te digo que tenemos 8 0 16 opciones configurables. Puedes enumerarlas?
    Va! si el tiempo no importa entonces vamosle dando. Yo te programo las rutinas ASM, te las explico y tu las vas insertando paso a paso. Obviamente las mas faciles son las que tienen que ver con los RNG, por que se trata de cambiar solo uno o dos bytes.

    Sobre hacer que sea por opciones si es un poco compicado pero nada fuera de lo normal, como tu los has dicho se trata de solo hacer un menu con scripts que desarolle rutinas ASM.

    Antes de hacer nada si debemos tener ideas claras de como quieres que funcione. Quieres que todo sea configurable o solo elegir el modo easy/hard?
    Yo opto por que los cambios no sean opcionales si no al inicio del juego. En mi hack puedes hacer eso que dices y cada vez que no podia derrotar a un lider ponia el modo facil XD.

    Para que puedas hacer todo eso facil te llevas un año de desarrollo del hack, tendrias que aprender ASM y depues identificar las rutinas e irlas modificando.

    Eso de atacar el mismo tiempo no me parece "grandioso". Pero creo que no te daras cuenta de las cosas hasta que las hagas y las juegues, por eso tanto mi interes en que pruebes el Pyrite, asi podras ver que tan buenas o no son las cosas cuando las llevas del papel a la practica.
    Parte 2:

    Apoyo la idea de "naturalizar" las batllas. Que la lluvia recupere a platas y debilite fuegos me agrada. Tienes buenas ideas en papel, pero que creo que en la practica no serian agradables. Yo disfruto mucho cuando mis peleas las gano por que el oponente fallo un move de 95 de ACC y tu quieres eliminar esa diversion.

    PD: Vamos paso por paso y te voy explicando comos e hace cada cosa?
    PArte 1:

    Tengo muchisimo que opinar.

    En teoría todo lo que quieres hacer es viable a excepcion del Speed Tie. Problema: Se puede tener el resultado que deseas, un doble golpe, y el juego puede interpretar que aunque tu ataques y mates al otros tengas que esperar a ver que movimiento usara el otro, pero son tantos los chequeos de salud y mecanicas que revisan en todo momento si estas vivo o muerto que daria MUCHISIMOS Bugs.

    Tienes muchas ideas ahi que me gustan, pero creo que no bien desarrolladas. El hecho de eliminar el % hax que otorga el juego no me parece nada bueno, quitas lo divertido a los combates. Yo por ahi tengo unas anotaciones de ideas de la web sobre el funcionamiento de los estados como PARALIZIS o similares, creo que podrias considerarlo.
    Referente a la carga de datos no tengo ni idea.

    Me especializo en el sistema de batalla pero mas bien en efectos y no en como se ven.

    Seria bueno que me contaras tus ideas, asi puedo decirte un poco por donde hacer las cosas..
    Si te fijas cuando aplicas Explosion no ocurre asi. Pero bueno, si tu crees que es necesario no hay como experiemntar con el rom.
    No precisamente como lo planteas. Seria una sola animacion que se ejecute en toda la pantalla.

    Que las dos barras de salud bajen al mismo tiempo puede que tbn sea posible, solo tienes que cuestionarte si vale la pena invertir tanto esfuerzo en algo asi?
    Creo que yo tbn andare mas libre por esas fechas.

    No he avanzado mucho en mis investigaciones por que aun no termino de actualizar el pokedex escrito con los nuevos learnsets de los pokemon.
    Parte 2:

    Es decir, esto:

    ld hl,$C6EA
    ld a,[hl]

    Es lo mismo que esto:
    ld a,[$C6EA]

    ...ambas toman el valor y lo ponen en a, pero la primera deja en hl una direccion que quizas la necesitemos mas delante, mientras que la segunda no interfiere con hl.
    Parte 1:
    En el lenguaje de nuestro compilador usamos etiquetas dinamicas que comienzan con @, asi que jr @next indica que hara un salto en la rutina hasta encontrar @next que en nuestro caso sirve para brincar la parte de @.enemy. Antes habiamos visto instrucciones como jr z o jr nz que se activan en función de si el flag Z esta activo o no, pero cuando solo se usa jr significa que siempre hara el brinco.

    ld hl,$C6EA significa que estamos cargando una direccion de la RAM (o a veces ROM) en hl. $C6EA es una direccion libre, que solo mis rutinas usan, pero puedes usar por ejemplo $DA23 que es el ID del primer pokemon en el equipo. La ventaja de tener una dirección en hl es poder hacer sumas, restas, o tomar simplemente el valor y ponerlo en (ld a,[hl]).
    Ya iba de salida, pero te dije que hoy veriamos algo. Esta es la parte importante del script que define los valores de cada movimiento.

    ld a,[$FF00 + $E6]//hBattleTurn ; 1 = turno del oponente ; carga en a el turno en curso
    and a,a//compruba que el resultado 1
    jr nz,@.enemy//nz significa que no es 0

    ld hl,$C6EA//MoveSplitPlayer ; direccion en la RAM yo la hice
    jr @next

    @.enemy
    ld hl,$C6EB//MoveSplitEnemy ; direccion en la RAM yo la hice

    @next
    push hl//guarda hl
    ld a,[$CE60]//CurSpecies ; ID del ataque en curso
    ld hl,$5400//inicio de la tabla
    ld l,a//carga el ID en l
    ld a,[hl]//toma el valor de la tabla y lo pone en a
    pop hl//restaura hl
    ld [hl],a// y lo guarda en la RAM previa
    ret

    PD: Todo lo que aparece despues del // el programa no lo lee, asi que puedes pegar los codigos asi.
  • Cargando…
  • Cargando…
  • Cargando…
Arriba