Registrarse

[Parche] [GBC-Parche]Clasificacion de movientos Fisico/Especial

Chamber

Miembro insignia
Miembro insignia



Para los amantes de los juegos de segunda generacion, hoy les traigo un parche que cambia la clasificacion de los movimientos en Fisico y Especial igual que los juegos de 4ta. Generacion en adelante.

Con esto por fin podremos tener a un Machamp sacandole provecho a Ice Punch, o a un Gengar que por fin le saca jugo a Shadow Ball/Sludge Bomb.

Que contiene el parche?
Despues de aplicado el parche, hay un tabla en $99400 en el orden de los movimientos, que define con 0x01 si es ataque especial, o 0x00 si es ataque fisico. Los movimientos del tipo "otro" tienen valor 0x00.

Estos son los movimientos ya clasificados:

Código:
Fisico.
00 – Nothing
01 - Pound
02 - Karate Chop
03 - Double Slap
04 - Comet Punch
05 - Mega Punch
06 - Pay Day
07 - Fire Punch
08 - Ice Punch
09 - Thunder Punch
0A - Scratch
0B - Vice Grip
0C - Guillotine
0F - Cut
11 - Wing Attack
13 - Fly
14 – Bind
15 – Slam
16 - Vine Whip
17 - Stomp
18 - Double Kick
19 - Mega Kick
1A - Jump Kick
1B - Rolling Kick
1D - Head Butt
1E - Horn Attack
1F - Fury Attack
20 - Horn Drill
21 - Tackle
22 - Body Slam
23 - Wrap
24 - Take Down
25 - Thrash
26 - Double Edge
28 - Poison Sting
29 – Twineedle
2A - Pin Missile
2C - Bite
40 - Peck
41 - Drill Peck
42 - Submission
43 - Low Kick	
44 - Counter
45 - Seismic Toss
46 - Strength
58 - Rock Throw
59 - Earthquake
5A - Fissure
5B - Dig
62 - Quick Attack
63 - Rage
75 - Bide
78 - Selfdestruct
79 - Egg Bomb	
7A – Lick
7D - Bone Club
7F - Waterfall
80 – Clamp
82 - Skull Bash
83 - Spike Cannon
84 – Constrict
88 - Hi Jump Kick
8D - Leech Life
8F - Sky Attack
92 - Dizzy Punch
98 – Crabhammer
99 - Exposion
9A - Fury Swipes
9B – Bonemerang
9D - Rock Slide
9E - Hyper Fang
A3 - Slash
A2 - Super Fang
A5 - Struggle
A7 - Triple Kick
A8 - Thief
AC - Flame Wheel
AF - Flail
B3 - Reversal
B7 - Mach Punch
B9 - Faint Attack
C6 - Bone Rush
C8 - Outrage
CD - Rollout
CE - False Swipe
D1 – Spark
D2 - Fury Cutter
D3 - Steel Wing
D8 – Return
D9 – Present
DA – Frustration
DD - Sacred Fire
DE - Magnitude
DF - Dynamicpunch
E0 - Megahorn
E4 - Pursuit
E5 - Rapid Spin
E7 - Iron Tail
E8 - Metal Claw
E9 - Vital Throw
EE - Cross Chop
F2 - Crunch
F5 - Extremespeed
F9 - Rock Smash
FB - Beat Up

Especial
0D - Razor Wind
10 - Gust
31 - Sonicboom
33 - Acid
34 - Ember
35 - Flamethrower
37 - Water Gun
38 - Hydro Pump
39 - Surf
3A - Ice Beam
3B - Blizzard
3C - Psybeam
3D - Bubblebeam
3E - Aurora Beam
3F - Hyper Beam
47 - Absorb
48 - Mega Drain
4B - Razor Leaf
4C - Solar Beam
50 - Petal Dance
52 - Dragon Rage
53 - Fire Spin
54 - Thundershock
55 - Thunderbolt
57 - Thunder
5D - Confusion
5E - Psychic
65 - Night Shade
7B - Smog
7C – Sludge
7E - Fire Blast
81 - Swift
91 - Bubble
95 - Psywave
A1 - Tri Attack
AD - Snore
B1 – Aeroblast
B5 - Powder Snow
BC - Sludge Bomb
BD - Mud – Slap
BE – Octazooka
C0 - Zap Cannon
C4 - Icy Wind
CA - Giga Drain
E1 - Dragonbreath
ED - Hidden Power
EF - Twister
F6 - Ancientpower
F7 - Shadow Ball
F8 - Future Sight
FA - Whirlpool

Other
0E - Swords Dance
12 - Whirl Wind
1C - Sand Attack
27 - Tail Whip
2B - Leer
2D - Growl
2E - Roar
2F - Sing
30 - Supersonic
32 – Disable
36 - Mist
49 - Leech Seed
4A - Growth
4D - Poisonpowder
4E - Stun Spore
4F - Sleep Powder
51 - String Shot
56 - Thunder Wave
5C - Toxic
5F - Hypnosis
60 - Meditate
61 - Agility
64 - Teleport
66 – Mimic
67 - Screech
68 - Double Team
69 - Recover
6A - Harden
6B - Minimize
6C - Smoke Screen
6D - Confuse Ray
6E – Withdraw	
6F - Defense Curl
70 – Barrier
71 - Light Screen
72 - Haze
73 - Reflect
74 - Focus Energy
76 - Metronome
77 - Mirror Move
85 - Amnesia
86 – Kinesis
87 – Softboiled
89 – Glare
8A - Dream Eater
8B - Poison Gas
8C – Barrage
8E - Lovely Kiss
90 - Transform
93 - Spore
94 - Flash
96 - Splash
97 - Acid Armor
9C - Rest
9F – Sharpen	
A0 – Conversion
A4 - Substitute
A6 – Sketch
A9 - Spider Web
AA - Mind Reader
AB - Nightmare
AE - Curse
B0 - Conversion2
B2 - Cotton Spore
B4 - Spite
B6 - Protect
B8 - Scary Face
BA - Sweet Kiss
BB - Belly Drum
C1 - Foresight
C2 - Destiny Bond
C3 - Perish Song
C5 – Detect
C7 - Lock – On
C9 - Sandstorm
CB - Endure
CC - Charm
CF - Swagger
D0 - Milk Drink
D4 - Mean Look
D5 - Attract
D6 - Sleep Talk
D7 - Heal Bell
DB - Safeguard
DC - Pain Split
E2 - Baton Pass
E3 - Encore
E6 - Sweet Scent
EA - Morning Sun
EB - Synthesis
EC - Moonlight
F0 - Rain Dance
F1 - Sunny Day
F3 - Mirror Coat
F4 - Psych Up

La rutina original fue creada por Koolboyman, pero fue corregida y ampliada por @Crystal_. Un cambio importante respecto a la rutina original fue la reubicacion de la tabla que lee el tipo de movimiento, ya que era incompatible con el parche "descompresor de portada" muy famoso entre los hacks de GBC. Dicho problema esta arreglado y ambos parches son compatibles.



Creditos:
GOLD! - Por facilitar la informacion de la rutina.
Koolboyman - Rutina Original.
Código:
//Stats the new routine 
0D:543F - jp $7FA0

//Main routine 
0D:7FA0 - ld hl, $5000 
0D:7FA3 - ld a, $26 
0D:7FA5 - rst $8 //Moves to a new bank 
0D:7FA6 - ld a,[$DEFF] // Load result into a 
0D:7FA9 - dec a // Decreases the value you got so it can easily check if it's special or not.
0D:7FAa - jp z, $5467 // If it's zero, it's a special attack. 
0D:7FAd - jp $5443 // Else is a physical.

//Getting the type 
26:5000 - ld a,[$CE60] // Get the move ID 
26:5003 - ld hl,$5100 // Pointer to type array 
26:5006 - ld l,a // Increase the pointer by the move being used 
26:5007 - ld a, [hl] // Load the result into a 
26:5008 - ld [$DEFF],a //Save result into RAM 26:500C - ret

26:5100 - Array of attack type 
0 - Physical 
1 - Special

Crytal & Chamber - Rutina corregida y ampliada.
Código:
//Stats the new routine 
0D:543F - jp $7FA0 ; C3 A0 7F

//Main routine 
0D:7FA0 - ld hl, $5300 ; 21 00 53
0D:7FA3 - ld a, $26 ; 3E 26
0D:7FA5 - rst $8 ; CF
0D:7FA6 - ld a,[$DEFF] ; FA FF DE
0D:7FA9 - dec a ; 3D
0D:7FAa - jp z, $5467 ; CA 67 54 
[37FAD] 0D:7FAd - jp $5443 ; C3 43 54

//Getting the type 
26:5300 - ld a,[$CE60] ; FA 60 CE
26:5303 - ld hl,$5400 ; 21 00 54
26:5306 - ld l,a ; 6F
26:5307 - ld a, [hl] ; 7E
26:5308 - ld [$DEFF] ; EA FF DE
26:530B - ret ; C9

//Rival moves
0D:5548 - jp $7FB0 ; C3 B0 7F

//Main routine 
0D:7FB0 - ld hl, $5300 ; 21 00 53
0D:7FB3 - ld a, $26 ; 3E 26
0D:7FB5 - rst $8 ; CF
0D:7FB6 - ld a,[$DEFF] ; FA FF DE
0D:7FB9 - dec a ; 3D
[37FBA] 0D:7FBa - jp z,$5570 ; CA 70 55 
[37FBD] 0D:7FBd - jp $554C ; C3 4C 55

26:5400
0 - Physical 
1 - Special



-LINK DE LA DESCARGA-​
 

Gold

Porrero a tiempo parcial
Miembro insignia
Respuesta: [Parche-GBC]Clasificacion de movientos Fisico/Especial

Y creditos a @GأD por joderse todo un dia buscando documentacion GBC en el inmenso pokecommunity y hallar la jodida rutina (?)

Por falta de tiempo no pude poner en marcha esa rutina, pues busco otras de ni interes, aunque tengo una duda.

Que hago si sistituyo pound por focus blast??? Si pound es fisico como hago para convertirlo a especial????
 

Chamber

Miembro insignia
Miembro insignia
Respuesta: [Parche-GBC]Clasificacion de movientos Fisico/Especial

Siempre estuve pensando en ti para los creditos, no se por que al final lo olvide... Disculpa XD

Para hacer funcionar la rutina se usa la tabla que esta en $99400 que sigue el orden que tiene los ataques. Si sustituyes Pound por Focus Blast, vas a $99401 (0x99400 + 0x01 [Pound]) y cambias el 0x00 por 0x01. Si en lugar de eso quieres cambiar Hyper Beam por Giga impact, buscas el valor hex de Hyper Beam que es 0x3F, le sumas 0x99400 dando como resultado $9943F, vas a ese offset y cambias 0x01 por 0x00.

Facil no? :D
 

Xuuki

holi
Respuesta: [Parche-GBC]Clasificacion de movientos Fisico/Especial

lo he probado y se me crashea el rom en varios ataques, sean mios o del rival :(
 

Rata

Veterano en Gráficos
Respuesta: [Parche-GBC]Clasificacion de movientos Fisico/Especial

He leído los comentarios de arriba y aunque reporten errores, se pueden solucionar.
Creo que el aporte es muy bueno, te felicito, se agradece.
Ojalas los aportes sigan ya que como veo, wah ya ni se trata de rom hacking.

Saludos! ^^
 

Chamber

Miembro insignia
Miembro insignia
Respuesta: [Parche-GBC]Clasificacion de movientos Fisico/Especial

lo he probado y se me crashea el rom en varios ataques, sean mios o del rival :(
Ya hice las pruebas con los ataques que me comentas (Smoke Screen y Hyper Fang) y no ha pasado nada.

Las pruebas fueron hechas en un rom limpio y revise el log para ver que no hubiera modificaciones adicionales.

Si alguien puede hacer pruebas tambien se los agradeceria, ya que a mi no me falla por el momento.
 

Crystal_

Héroe de WaH
Respuesta: [Parche-GBC]Clasificacion de movientos Fisico/Especial

ok ya se lo que pasa:

//Stats the new routine
0D:543F - jp $7FA0 ; C3 A0 7F

//Main routine
0D:7FA0 - ld hl, $5300 ; 21 00 53
0D:7FA3 - ld a, $26 ; 3E 26
0D:7FA5 - rst $8 ; CF
0D:7FA6 - ld a,[$DEFF] ; FA FF DE
0D:7FA9 - dec a ; 3D
0D:7FAa - jp z, $5467 ; CA 67 54
[37FAD] 0D:7FAd - jp $5443 ; C3 43 54

//Getting the type
26:5300 - ld a,[$CE60] ; FA 60 CE
26:5303 - ld hl,$5400 ; 21 00 54
26:5306 - ld l,a ; 6F
26:5307 - ld a, [hl] ; 7E
26:5308 - ld [$DEFF] ; EA FF DE
26:530B - ret ; C9

//Rival moves
0D:5548 - jp $7FB0 ; C3 B0 7F

//Main routine
0D:7FB0 - ld hl, $5300 ; 21 00 53
0D:7FB3 - ld a, $26 ; 3E 26
0D:7FB5 - rst $8 ; CF
0D:7FB6 - ld a,[$DEFF] ; FA FF DE
0D:7FB9 - dec a ; 3D
[37FBA] 0D:7FBa - jp z,$5570 ; CA 70 55
[37FBD] 0D:7FBd - jp $554C ; C3 4C 55

26:5400
0 - Physical
1 - Special
@Chamber, cambiaste el puntero pero se te olvido cambiar los offsets!
 

Xuuki

holi
Respuesta: [Parche-GBC]Clasificacion de movientos Fisico/Especial

si, copie mal la rutina, lo hice directamente con el parche y de momento no me ha dado ningun error

por cierto cuando se me crasheaba solo se reiniciaba el rom con graficos alterados, no me daba ningun opcode
 

Chamber

Miembro insignia
Miembro insignia
Respuesta: [Parche-GBC]Clasificacion de movientos Fisico/Especial

@Crystal_ Olvide cambiarlos solo en el tema, pero en el parche si estan aplicados, mira el log:

Lunar IPS (LIPS) Version 1.00
Apply IPS Patch Log

Offset Size RLE IPS_File_Range IPS_File_Size
------ ---- ID 00000000-00000004 5
03543F 3 No 00000005-0000000C 8
035548 3 No 0000000D-00000014 8
037FA0 20 No 00000015-00000039 25
099300 C No 0000003A-0000004A 11
09940D 4 No 0000004B-00000053 9
099431 F No 00000054-00000067 14
099447 17 No 00000068-00000083 1C
099465 1 No 00000084-00000089 6
09947B 7 No 0000008A-00000095 C
099491 5 No 00000096-0000009F A
0994A1 1 No 000000A0-000000A5 6
0994AD 9 No 000000A6-000000B3 E
0994BD E No 000000B4-000000C6 13
0994E1 1 No 000000C7-000000CC 6
0994ED E No 000000CD-000000DF 13
------ ---- EOF 000000E0-000000E2 3

Total Patches: F (15)



Edit: Parece que eso puedo haber sido el fallo si la aplicaste "a mano", ya se corrigio el tema principal indicando los offsets correctos, aun asi el parche siempre tuvo las hubicaciones correctas :D
 

Crystal_

Héroe de WaH
Respuesta: [Parche-GBC]Clasificacion de movientos Fisico/Especial

ah vale ok ok, se me olvido que habias subido un parche. Pense que la gente estaba tomando el código directamente y que al ver eso lo estaba copiando en la dirección incorrecta. Pero el parche está bien, ya veo, entonces solo te lo digo entonces para que la gente que prefiera copiarlo ella misma en hex no tenga problemas :)

por cierto cuando se me crasheaba solo se reiniciaba el rom con graficos alterados, no me daba ningun opcode
Entonces eso no es exactamente crashear :p
 
Respuesta: [Parche-GBC]Clasificacion de movientos Fisico/Especial

MUY BUEN APORTE AUNQUE NO LOGRO ENTENDER DE QUE TRATA :p ESPERO PONGAS UN EJEMPLO EN QUE CONSISTE O ALGUNAS IMÁGENES PARA ENTENDERLO , SORRY POR LA IGNORANCIA PERO ME GUSTARÍA MAS DETALLES
 

Chamber

Miembro insignia
Miembro insignia
Respuesta: [Parche-GBC]Clasificacion de movientos Fisico/Especial

Mi estimado @WiZaRD, segun recuerdo tu no has jugado las ultimas generaciones de pokemon, en donde a diferencia de los juegos de 1ra. a 3ra. generacion los ataques se clasificaban en fisicio y especial segun su tipo. Teniendo asi, por ejemplo, que todos los ataques de hielo eran especiales sin importar nadamas.

De la 4ta gen. en adelante esto cambio y ahora siguen una logica de "contacto" por llamarlo de alguna manera. Es asi, que movimientos como Ice Punch ahora es FISICO dada su naturaleza de dar un puñetazo y Shadow Ball pasa a ser ESPECIAL al ser una bola de energia donde no hay "contacto".

Bajo esta primicia, muchos pokemon se ven beneficiados con movimentos como Bite o Crunch que ahora son fisicos y que en su mayoria lo aprendian pokemon con buen ATK, pero tambien muchos otros perdieron "versatilidad", como Alakazam que ya no hace buen uso de los Elemental Punchs.

Lo que el parche pretende es traer ese toque de modernidad a los juegos de segunda generacion y junto a otros tutoriales de la web, tener ataques como Zen Headbutt en un Tauros o Snorlax, para asi tener mas variedad de pokemons y mas diversion C: .Yo creo que uno de los pokemon que saca mas provecho de estó es Gyarados, ya que antes no tenia movimientos con STAB que aprovecharan su gran fuerza fisica, pero ahora veras como su Waterfall pone a temblar a los rivales.

Te explico como funciona el parche. Cuando lo aplicas en tu rom, ademas de modificar las rutinas correspondientes para separar los movimientos en FISICO y ESPECIAL, crea una tabla en $99400 donde cada byte representa un movimiento y que depende de si ese byte esta en 0x00 el juego lo toma como ataque fisico o si esta en 0x01 lo toma como ataque especial.

Puedes comprobar esto con el primer ataque especial que es Razor Wind y su valor hex es 0x0D, haces la operacion correspondiente 0x99400 + 0x0D = 0x9949D, vas a ese offset con tu editor HEX favorito y compruebas que esta en 0x01. Despues haces pruebas en el emulador, atacando a una Blissey quien tiene una gran diferencia entre su Defense y Sp.Defense.

Espero todo haya quedado mas claro con esto y si aun sigues con dudas puedes seguir preguntando.

Saludos! :D
 
Ohhh , ahora entiendo , esto entonces ayuda a mejorar la vesatilidad del juego , ya que trata de asemejarse a los juegos actuales , probare para ver que hay xD ojala la dirección que mencionas no este ocupada como la del tutor y de ser asi espero con tu ayuda compa como para poder poner en una nueva dirección .
Nuevamente gracias por el aporte y felicito la tremenda dedicación de tu parte hacia el room hack GBC :D
Saludos @Chamber
 
Arriba