Hay deberias aclara el porque de algunos cambios no mencionados, como lo de piroar por rapidash, y algun otro que ahora no recuerdo.
Por cierto, yo conozco ASM, lo que aun no se es como debuggear en condiciones para encontrar la rutina que yo quiera, me imagino que soloo sera practica con el debugger, te puedo ir enseñando en lo que sepa para que vayas cambiando cosas.
En principio lo que se me viene a la mente (que no se si estoy en lo correcto) habria que cambiar la estructura de los datos de los ataques, poniendo si son fisico o especiales, y haciendo que en caso de que sean fisicos, tome en cuenta el valor especial, y en caso contrario, que tomen en cuenta el valor de ataque. esto simplemente seria añadiendo un campo al ataque que se ponga a 0 o a 1 dependiedno de si es fisico o no, y luego una modificacion en la rutina que hace las cuents de los ataques, que en vez de tomar el valor de ataque o ataque especiel con el tipo del ataque tome en cuanta el nuevo campo con valor 0 o 1.