Registrarse

[Otros] R | Crear Efectos de Ataques Defensivos

KevinXDE

Usuario mítico
(Esto es un copy & paste del Tutorial que hice en RomHackIt, así que perdonen si hay incongruencias)


Hola a todos ^^, este fue un descubrimiento que hice hace poco y vengo a compartirlo con vosotros. Este tutorial trata de sobre como crear efectos de ataques defensivos que aumenten/bajen varios stats (no puse eso en el título porque hubiera ocupado mucho xD. Además, insertarlos de manera que solo bajen/suban 1 stat es sencillo.) Aclarar que esto es solo para Ruby, ya que los códigos de los efectos son diferentes para cada edición. Si hackeais Fire Red o Emerald no creo que tengais problema alguno pues he visto tutoriales y información sobre ello, de la que no he encontrado nada en Ruby, y es por eso que hago este Tutorial.

Antes de todo, si no sabeis insertar ataques o efectos, deberías leeros estos dos tutoriales, de otra manera no entendereis un pepino de lo que hablo ^^' (y espero que se os de bien el Inglés):

[Tutorial] [Ruby] Adding New Moves por destinedjagold
[Tutorial] Adding New Moves and Creating New Move Effects por itman

Supongamos que queremos crear el efecto de Avivar, un movimiento que aumenta en 1 nivel tanto el Ataque como el Ataque Especial del Usuario. Si os habéis dado cuenta, hay muy pocos Ataques en la 3ª generación que aumenten 2 stats (porque que aumenten o bajen más stats ya ni hablamos de eso). Esos ataques son Corpulencia (Ataque + Defensa), Masa Cósmica (Defensa + Defensa Especial), Paz Mental (Ataque Especial + Defensa Especial) y Danza Dragón (Ataque + Velocidad).

Os preguntaréis si no era suficiente con mezclar los efectos de Corpulencia y Paz Mental para ello sin sus respectivas Defensas? Pues no, no era suficiente, porque sus efectos tienen unos pointers que hacen que siempre aumenten las mismas caracteristicas, de modo que siempre subirán Ataque y Defensa o Ataque Especial y Defensa Especial (pero tranquilos, que aquí estoy yo xD)

Pondré un ejemplo, este es el efecto de Corpulencia en Ruby:

Código:
00 02 03 20 01 03 01 0C 18 8B 1D 08 20 01 00 02 0C CB 8B 1D 08 09 0A 2E DC 60 01 02 00 48 01 06 00 2E 1E 60 01 02 11 89 41 43 8B 1D 08 29 00 23 4D 02 02 02 43 8B 1D 08 13 70 15 40 08 12 40 00 2E 1E 60 01 02 12 89 41 62 8B 1D 08 29 00 23 4D 02 02 02 62 8B 1D 08 13 70 15 40 08 12 40 00 28 62 6F 1D 08
En el siguiente código marcaré los pointers y bytes que afectan ese efecto (valga la redundancia):

Código:
00 02 03 20 01 03 GG 0C XX XX XX 08 20 01 00 GG 0C CB 8B 1D 08 09 0A 2E DC 60 01 02 00 48 01 ?? 00 2E 1E 60 01 02 GG 89 41 YY YY YY 08 29 00 23 4D 02 02 02 YY YY YY 08 13 70 15 40 08 12 40 00 2E 1E 60 01 02 GG 89 41 ZZ ZZ ZZ 08 29 00 23 4D 02 02 02 ZZ ZZ ZZ 08 13 70 15 40 08 12 40 00 28 62 6F 1D 08
Los pointers están marcados con XX, YY, ZZ, respectivamente. Los bytes para cambiar el efecto del ataque, con GG. Y un byte especial marcado con ??, que ya diré para que es. Todo lo demás que no he marcado lo tienen en común todos movimientos defensivos de esta índole, así que solo hay que cambiar eso. ¿Qué que valores teneis que poner? A eso voy.

Pero antes, unos datos que son necesarios. He recopilado bastantes efectos Defensivos (sus bytes). Sin estos no podrás cambiarlos a tu antojo, así que échales un vistazo. Están en Hexadecimal, así que cuidado no os vayais a confundir xD!

Sube Ataque Usuario = 11
Sube Defensa Usuario = 12
Sube Velocidad Usuario = 13
Sube Ataque Especial Usuario= 14
Sube Defensa Especial Usuario = 15
Sube Precisión Usuario = 16
Sube Evasión Usuario = 17
Sube Mucho Ataque Usuario = 21
Sube Mucho Defensa Usuario = 22
Sube Mucho Velocidad Usuario = 23
Sube Mucho Ataque Especial Usuario = 24
Sube Mucho Defensa Especial Usuario = 25
Sube Mucho Precisión Usuario = 26
Sube Mucho Evasión Usuario = 27
Baja Ataque Enemigo = 91
Baja Defensa Enemigo = 92
Baja Velocidad Enemigo = 93
Baja Ataque Especial Enemigo = 94
Baja Defensa Especial Enemigo = 95
Baja Precisión Enemigo = 96
Baja Evasión Enemigo = 97
Baja Mucho Ataque Enemigo = A1
Baja Mucho Defensa Enemigo = A2
Baja Mucho Velocidad Enemigo = A3
Baja Mucho Ataque Especial Enemigo = A4
Baja Mucho Defensa Especial Enemigo = A5
Baja Mucho Precisión Enemigo = A6
Baja Mucho Evasión Enemigo = A7

Empecemos con los GG. Los 2 primeros, desconozco el porqué, pero empiezan por 0 y acaban en el número del efecto. El primer GG es 01 (empieza en 0 y acaba en 1, que sería el último número de 11, el efecto que sube el Ataque), y el segundo GG es 02 (para la Defensa). Tan solo hay que cambiarlos para hacer el efecto que queráis (en este caso, como vamos a hacer Avivar, el primer GG debería quedarse = en 01, y el segundo debería ser 04). El tercer y cuarto GG es mas sencillo, son ídenticos al número de efecto que puse en el spoiler de arriba, así que el tercero, que es 11 y sube el Ataque, se queda =, y el cuarto (que en Corpulencia es 12 para subir la Defensa) lo cambiamos por 14 para que suba el Ataque Especial. Pero aun así no funciona, porque hay que cambiar los pointers, que es lo siguiente que voy a explicar. Lo que hemos cambiado quedaría tal que así:

Código:
00 02 03 20 01 03 01 0C XX XX XX 08 20 01 00 04 0C CB 8B 1D 08 09 0A 2E DC 60 01 02 00 48 01 ?? 00 2E 1E 60 01 02 11 89 41 YY YY YY 08 29 00 23 4D 02 02 02 YY YY YY 08 13 70 15 40 08 12 40 00 2E 1E 60 01 02 14 89 41 ZZ ZZ ZZ 08 29 00 23 4D 02 02 02 ZZ ZZ ZZ 08 13 70 15 40 08 12 40 00 28 62 6F 1D 08
El primer pointer marcado con XX dirigue justo al inicio del byte que dice 09 0A 2E DC. Lo que significa que, en el efecto de Corpulencia, el pointer 18 8B 1D 08 dirige al Offset 1D8B18, que es justo donde empieza los bytes que dije anteriormente (09 0A 2E DC). Lo que vosotros teneis que hacer es lo mismo: en el lugar donde están marcadas las XX XX XX, deben colocar su Offset girado donde empiezan esos bytes. Por ejemplo, mis XX XX XX tienen el siguiente pointer: 53 F4 6F 08. Lo que significa que en mi efecto de Avivar los bytes 09 0A 2E DC empiezan en el Offset 6FF453.

Ahora vamos con los YY. Tienen que hacer lo mismo que antes, solo que en vez de poner el Offset que empieza en 09 0A 2E DC, deben hacerlo donde empieza lo siguiente: 2E 1E 60 01 02 14 89. Este es el segundo efecto, no el primero! El que sube el Ataque Especial, y no el Ataque, así que no se confundan! En Corpulencia el pointer es 43 8B 1D 08, lo que significa que lleva al Offset 1D8B43, donde están los bytes 2E 1E 60 01 02 12 89, que sería el efecto que sube la Defensa! Mis valores YY son 7E F4 6F 08.

Por último, los ZZ. Ahí tienen que hacer lo mismo, pero con el Offset que empieza en 28 62 6F 1D 08, justo al final del efecto (los últimos 5 bytes). En Corpulencia ese pointer es 62 8B 1D 08, y en mi efecto de Avivar, 9D F4 6F 08.

El ?? es el byte que hace que cambie el color del efecto. En Corpulencia ese valor es 06, que hace que al subir el Ataque se vea rojo, al subir la Defensa se vea verde, y al subir las 2 se vea gris. Desconozco que valores tiene que tomar para que se vea rojo cuando sube el Ataque, que se vea naranja cuando suba el Ataque Especial, y que se vea gris cuando suban las 2. Pero se de un valor que hace que se vean las 3 de color gris, que es el color que uso yo (ya que me da = eso mientras el efecto funcione). Ese valor es 09. Por lo tanto, si cambian el 06 que hay en ?? por 09, los efectos se veran grises incluso cuando solo suba el Ataque o el Ataque Especial.

Finalmente este es el efecto de Avivar que me ha quedado a mi, pero el vuestro tiene que ser diferente a menos que lo inserteis en el mismo espacio que yo, que lo dudo muchísimo:

Código:
00 02 03 20 01 03 01 0C 53 F4 6F 08 20 01 00 04 0C CB 8B 1D 08 09 0A 2E DC 60 01 02 00 48 01 09 00 2E 1E 60 01 02 11 89 41 7E F4 6F 08 29 00 23 4D 02 02 02 7E F4 6F 08 13 70 15 40 08 12 40 00 2E 1E 60 01 02 14 89 41 9D F4 6F 08 29 00 23 4D 02 02 02 9D F4 6F 08 13 70 15 40 08 12 40 00 28 62 6F 1D 08
Tan solo teneis que ponerle ese efecto a un movimiento (ya sea con las herramientas PGE o G3T, yo uso G3T) y comprobarlo en batalla, y debería funcionaros.

Y qué pasa si queremos hacer un efecto que suba más stats, tales como Danza Aleteo o Enrosque? Esto es muy sencillo, tan solo hay que añadir varias cosas al efecto anterior. Seguiré con el efecto de Paz Mental, que sube el Ataque Especial y la Defensa Especial, y trataremos de hacer el efecto de Danza Aleteo, que sube exactamente lo mismo más un bonus de Velocidad.

Este es el efecto de Paz Mental en Ruby:

Código:
00 02 03 20 01 03 04 0C 7C 8B 1D 08 20 01 00 05 0C CB 8B 1D 08 09 0A 2E DC 60 01 02 00 48 01 30 00 2E 1E 60 01 02 14 89 41 A7 8B 1D 08 29 00 23 4D 02 02 02 A7 8B 1D 08 13 70 15 40 08 12 40 00 2E 1E 60 01 02 15 89 41 C6 8B 1D 08 29 00 23 4D 02 02 02 C6 8B 1D 08 13 70 15 40 08 12 40 00 28 62 6F 1D 08
Marcaré de nuevo los pointers y los bytes de la misma manera que antes:

Código:
00 02 03 20 01 03 GG 0C XX XX XX 08 20 01 00 GG 0C CB 8B 1D 08 09 0A 2E DC 60 01 02 00 48 01 30 00 2E 1E 60 01 02 GG 89 41 YY YY YY 08 29 00 23 4D 02 02 02 YY YY YY 08 13 70 15 40 08 12 40 00 2E 1E 60 01 02 GG 89 41 ZZ ZZ ZZ 08 29 00 23 4D 02 02 02 ZZ ZZ ZZ 08 13 70 15 40 08 12 40 00 28 62 6F 1D 08
Para añadir un efecto extra copien esto y lo pegan justo al final del 08, y antes del 20: 20 01 03 GG 0C XX XX XX 08. Quedaría esto: 20 01 03 GG 0C XX XX XX 08 20 01 03 GG 0C XX XX XX 08, lo que se vería en el efecto tal que así:

Código:
00 02 03 20 01 03 GG 0C XX XX XX 08 20 01 03 GG 0C XX XX XX 08 20 01 00 GG 0C CB 8B 1D 08 09 0A 2E DC 60 01 02 00 48 01 30 00 2E 1E 60 01 02 GG 89 41 YY YY YY 08 29 00 23 4D 02 02 02 YY YY YY 08 13 70 15 40 08 12 40 00 2E 1E 60 01 02 GG 89 41 ZZ ZZ ZZ 08 29 00 23 4D 02 02 02 ZZ ZZ ZZ 08 13 70 15 40 08 12 40 00 28 62 6F 1D 08
También deben copiar esto y colocarlo justo despues del final, y antes de que el otro efecto empieze: 2E 1E 60 01 02 GG 89 41 YY YY YY 08 29 00 23 4D 02 02 02 YY YY YY 08 13 70 15 40 08 12 40 00. Pero cambiaremos esas YY por SS, para no confundirnos, porque los pointers serán diferents. Quedaría tal que así:

Código:
00 02 03 20 01 03 GG 0C XX XX XX 08 20 01 03 GG 0C XX XX XX 08 20 01 00 GG 0C CB 8B 1D 08 09 0A 2E DC 60 01 02 00 48 01 30 00 2E 1E 60 01 02 GG 89 41 YY YY YY 08 29 00 23 4D 02 02 02 YY YY YY 08 13 70 15 40 08 12 40 00 2E 1E 60 01 02 GG 89 41 SS SS SS 08 29 00 23 4D 02 02 02 SS SS SS 08 13 70 15 40 08 12 40 00 2E 1E 60 01 02 GG 89 41 ZZ ZZ ZZ 08 29 00 23 4D 02 02 02 ZZ ZZ ZZ 08 13 70 15 40 08 12 40 00 28 62 6F 1D 08
Ahora el código tiene 3 efectos, solo hay que cambiar los valores para hacer un Danza Aleteo funcionable. Cambiaremos los 3 primeros GG por 04, 05 y 03, y los 3 últimos GG por 14, 15 y 13. Si no entendéis porqué volved a leer justo después del Spoiler. Luego, la cosa cambia para los pointers. El XX sigue dirigiendo al 09 0A 2E DC, pero YY ahora dirige a al 2E 1E 60 que hay justo antes del SS, el SS dirige al 2E 1E 60 que hay justo antes del ZZ, y el ZZ sigue dirigiendo al 28 62 6F 1D 08. Para cambiar los pointers es exactamente de la misma manera que antes, teniendo encuenta lo que os acabo de decir. El byte ?? es =, yo lo pongo en 09 porque no se otros valores.

Este es mi efecto de Danza Aleteo:

Código:
00 02 03 20 01 03 04 0C 8F F6 6F 08 20 01 03 05 0C 8F F6 6F 08 20 01 00 03 0C CB 8B 1D 08 09 0A 2E DC 60 01 02 00 48 01 09 00 2E 1E 60 01 02 14 89 41 BA F6 6F 08 29 00 23 4D 02 02 02 BA F6 6F 08 13 70 15 40 08 12 40 00 2E 1E 60 01 02 15 89 41 D9 F6 6F 08 29 00 23 4D 02 02 02 D9 F6 6F 08 13 70 15 40 08 12 40 00 2E 1E 60 01 02 13 89 41 F8 F6 6F 08 29 00 23 4D 02 02 02 F8 F6 6F 08 13 70 15 40 08 12 40 00 28 62 6F 1D 08
Lo mismo que antes, le poneis el efecto a un movimiento y lo comprobais en batalla. Os dejo ahora unos cuantos efectos que he hecho yo con sus pointers marcados de manera que podáis hacer los vuestros! Tened en cuenta que el byte ?? yo lo tengo puesto como 09.

-Avivar
00 02 03 20 01 03 01 0C XX XX XX 08 20 01 00 04 0C CB 8B 1D 08 09 0A 2E DC 60 01 02 00 48 01 09 00 2E 1E 60 01 02 11 89 41 YY YY YY 08 29 00 23 4D 02 02 02 YY YY YY 08 13 70 15 40 08 12 40 00 2E 1E 60 01 02 14 89 41 ZZ ZZ ZZ 08 29 00 23 4D 02 02 02 ZZ ZZ ZZ 08 13 70 15 40 08 12 40 00 28 62 6F 1D 08

-Enrosque
00 02 03 20 01 03 01 0C XX XX XX 08 20 01 03 02 0C XX XX XX 08 20 01 00 06 0C CB 8B 1D 08 09 0A 2E DC 60 01 02 00 48 01 09 00 2E 1E 60 01 02 11 89 41 YY YY YY 08 29 00 23 4D 02 02 02 YY YY YY 08 13 70 15 40 08 12 40 00 2E 1E 60 01 02 12 89 41 SS SS SS 08 29 00 23 4D 02 02 02 SS SS SS 08 13 70 15 40 08 12 40 00 2E 1E 60 01 02 16 89 41 ZZ ZZ ZZ 08 29 00 23 4D 02 02 02 ZZ ZZ ZZ 08 13 70 15 40 08 12 40 00 28 62 6F 1D 08

-Danza Aleteo
00 02 03 20 01 03 04 0C XX XX XX 08 20 01 03 05 0C XX XX XX 08 20 01 00 03 0C CB 8B 1D 08 09 0A 2E DC 60 01 02 00 48 01 09 00 2E 1E 60 01 02 14 89 41 YY YY YY 08 29 00 23 4D 02 02 02 YY YY YY 08 13 70 15 40 08 12 40 00 2E 1E 60 01 02 15 89 41 SS SS SS 08 29 00 23 4D 02 02 02 SS SS SS 08 13 70 15 40 08 12 40 00 2E 1E 60 01 02 13 89 41 ZZ ZZ ZZ 08 29 00 23 4D 02 02 02 ZZ ZZ ZZ 08 13 70 15 40 08 12 40 00 28 62 6F 1D 08

-Afilagarras
00 02 03 20 01 03 01 0C XX XX XX 08 20 01 00 06 0C CB 8B 1D 08 09 0A 2E DC 60 01 02 00 48 01 09 00 2E 1E 60 01 02 11 89 41 YY YY YY 08 29 00 23 4D 02 02 02 YY YY YY 08 13 70 15 40 08 12 40 00 2E 1E 60 01 02 16 89 41 ZZ ZZ ZZ 08 29 00 23 4D 02 02 02 ZZ ZZ ZZ 08 13 70 15 40 08 12 40 00 28 62 6F 1D 08

-Ráfaga > Sube 2 niveles el Ataque Especial y 1 nivel el Ataque Especial.
00 02 03 20 01 03 04 0C XX XX XX 08 20 01 00 04 0C CB 8B 1D 08 09 0A 2E DC 60 01 02 00 48 01 09 00 2E 1E 60 01 02 24 89 41 3F F8 6F 08 29 00 23 4D 02 02 02 3F F8 6F 08 13 70 15 40 08 12 40 00 2E 1E 60 01 02 14 89 41 ZZ ZZ ZZ 08 29 00 23 4D 02 02 02 ZZ ZZ ZZ 08 13 70 15 40 08 12 40 00 28 62 6F 1D 08

-Rizo Algodón > Sube 2 niveles la Defensa y 1 nivel la Defensa.
00 02 03 20 01 03 02 0C XX XX XX 08 20 01 00 02 0C CB 8B 1D 08 09 0A 2E DC 60 01 02 00 48 01 09 00 2E 1E 60 01 02 22 89 41 YY YY YY 08 29 00 23 4D 02 02 02 YY YY YY 08 13 70 15 40 08 12 40 00 2E 1E 60 01 02 12 89 41 ZZ ZZ ZZ 08 29 00 23 4D 02 02 02 ZZ ZZ ZZ 08 13 70 15 40 08 12 40 00 28 62 6F 1D 08

A continuación hay una lista de efectos pero que no funcionan bien del todo, también hechos por mi. Diré los bugs/problemas que tienen. No he sabido solucionarlos hasta el momento, así que si alguien le apetece arreglarlos es libre de hacerlo, y de hecho lo agradeceré mucho xD! Reserva tiene el mismo color que Masa Cósmica, así que en ese aspecto está bien (Carga también, pero ese no es correcto ya que solo sube la Defensa Especial). Rompecoraza tiene 5 efectos, así que sus pointers los he puesto como XX, YY, SS, MM, LL, ZZ.

-Reserva > [Puede subir la Defensa hasta 6 y no se pierde al liberar energia. Gasta 2 PP. La animación sale 2 veces]
00 02 03 85 09 0A 13 5E 15 40 08 12 40 00 00 02 03 20 01 03 02 0C XX XX XX 08 20 01 00 05 0C CB 8B 1D 08 00 00 2E DC 60 01 02 00 48 01 24 00 2E 1E 60 01 02 12 89 41 YY YY YY 08 29 00 23 4D 02 02 02 YY YY YY 08 13 70 15 40 08 12 40 00 2E 1E 60 01 02 15 89 41 ZZ ZZ ZZ 08 29 00 23 4D 02 02 02 ZZ ZZ ZZ 08 13 70 15 40 08 12 40 00 28 62 6F 1D 08

-Carga > [Gasta 2 PP. Cuando la Defensa Especial está al máximo no sale mensaje y sí el color]
00 02 03 CB 09 0A 10 A5 00 12 40 00 00 02 03 20 01 03 02 0C XX XX XX 08 20 01 00 05 0C CB 8B 1D 08 00 00 2E DC 60 01 02 00 48 01 24 00 2E 1E 60 01 02 15 89 41 ZZ ZZ ZZ 08 29 00 23 4D 02 02 02 ZZ ZZ ZZ 08 13 70 15 40 08 12 40 00 28 62 6F 1D 08

-Desarrollo > [No sube en 2 el Ataque y el Ataque Especial en Día Soleado]
00 02 03 20 01 03 01 0C XX XX XX 08 20 01 00 04 0C CB 8B 1D 08 09 0A 2E DC 60 01 02 00 48 01 09 00 2E 1E 60 01 02 11 89 41 YY YY YY 08 29 00 23 4D 02 02 02 YY YY YY 08 13 70 15 40 08 12 40 00 2E 1E 60 01 02 14 89 41 ZZ ZZ ZZ 08 29 00 23 4D 02 02 02 ZZ ZZ ZZ 08 13 70 15 40 08 12 40 00 28 62 6F 1D 08

-Geocontrol > [Sube 1 nivel Ataque y Defensa Especiales y Velocidad en 1 turno, al igual que Danza Aleteo]
00 02 03 20 01 03 04 0C XX XX XX 08 20 01 03 05 0C XX XX XX 08 20 01 00 03 0C CB 8B 1D 08 09 0A 2E DC 60 01 02 00 48 01 09 00 2E 1E 60 01 02 14 89 41 YY YY YY 08 29 00 23 4D 02 02 02 YY YY YY 08 13 70 15 40 08 12 40 00 2E 1E 60 01 02 15 89 41 SS SS SS 08 29 00 23 4D 02 02 02 SS SS SS 08 13 70 15 40 08 12 40 00 2E 1E 60 01 02 13 89 41 ZZ ZZ ZZ 08 29 00 23 4D 02 02 02 ZZ ZZ ZZ 08 13 70 15 40 08 12 40 00 28 62 6F 1D 08

-Rompecoraza > [No baja las Defensas a los Pokémon con Cuerpo Puro/Humo Blanco, ni se muestra su color al bajar. Cuando las características no pueden ser cambiadas la animacion ocurre pero sin efectos]
00 02 03 20 01 03 01 0C XX XX XX 08 20 01 03 04 0C XX XX XX 08 20 01 03 03 0C XX XX XX 08 20 01 03 02 0C XX XX XX 08 20 01 00 05 0C CB 8B 1D 08 09 0A 2E DC 60 01 02 00 48 01 09 00 2E 1E 60 01 02 21 89 41 YY YY YY 08 29 00 23 4D 02 02 02 YY YY YY 08 13 70 15 40 08 12 40 00 2E 1E 60 01 02 24 89 41 SS SS SS 08 29 00 23 4D 02 02 02 SS SS SS 08 13 70 15 40 08 12 40 00 2E 1E 60 01 02 23 89 41 MM MM MM 08 29 00 23 4D 02 02 02 MM MM MM 08 13 70 15 40 08 12 40 00 2E 1E 60 01 02 92 89 41 LL LL LL 08 29 00 23 4D 02 02 02 LL LL LL 08 13 70 15 40 08 12 40 00 2E 1E 60 01 02 95 89 41 ZZ ZZ ZZ 08 29 00 23 4D 02 02 02 ZZ ZZ ZZ 08 13 70 15 40 08 12 40 00 28 62 6F 1D 08

Eso es todo, seguramente tendréis muchas dudas ya que puede parecer complicado (para mi ya no lo es xD). Así que pueden dejar sus dudas y intentaré responderlas.
 

Laquin

Usuario mítico
Respuesta: R | Otros | Crear Efectos de Ataques Defensivos

¡Es muy buen aporte! :D

Lo malo que solo para Rubí -_- Pero eso no quita que sea de ayuda para algunos ^^
Te doy +Gracias... En mi corazón (?)

¡Saludos!
 
Arriba