Volver a la página principal
miércoles 13 noviembre 2024
16

#1 Guía sobre la API de League of Legends: Datos de Campeones e Interpretación de Estadísticas

Accediendo a Datos de Campeones en League of Legends

Archivos JSON de Campeones

Existen dos tipos de archivos JSON que puedes utilizar para acceder a la información de los campeones en LoL:

1. Resumen de Campeones: A través del archivo champion.json, puedes obtener una lista de campeones con datos generales sobre cada uno, como su nombre y una breve descripción.

2. Datos Detallados de un Campeón: Cada campeón también tiene su propio archivo JSON, donde se ofrece información más detallada sobre sus habilidades, estadísticas y recomendaciones. Por ejemplo, para el campeón Aatrox, el archivo está en Aatrox.json.

Interpretando Texto y Placeholders en las Habilidades

Los textos de habilidades en LoL suelen incluir variables dinámicas (placeholders) en formato {{ variable }} que varían dependiendo del nivel de habilidad o de estadísticas adicionales. Vamos a explicar cómo interpretar estos valores.

Uso de Placeholders {{ eN }}

Los placeholders {{ eN }} se remplazan por los valores en el campo effectBurn del archivo JSON.

Ejemplo:

En la habilidad "Bandage Toss" de Amumu, el tooltip es:

"tooltip": "Launches a bandage in a direction. If it hits an enemy unit, Amumu pulls himself to them, dealing {{ e1 }} <scaleAP>(+{{ a1 }})</scaleAP> magic damage and stunning for {{ e2 }} second.",
"effectBurn": [ null, "80/130/180/230/280", "1", "1350" ]
  • {{ e1 }} corresponde a "80/130/180/230/280".
  • {{ e2 }} corresponde a "1", indicando la duración del aturdimiento.

Uso de Placeholders {{ aN }} o {{ fN }}

Los placeholders {{ aN }} o {{ fN }} se encuentran en el campo vars y representan estadísticas que se escalan con el poder de habilidad o el daño de ataque.

Ejemplo:

Siguiendo con la habilidad de Amumu:

"vars": [
  {
    "key": "a1",
    "link": "spelldamage",
    "coeff": [ 0.7 ]
  }
]

Aquí:

  • {{ a1 }} corresponde a 0.7, lo que significa que la habilidad escala con el 70% del poder de habilidad de Amumu.

Campos effect y effectBurn

Cada habilidad incluye los campos effect y effectBurn para especificar valores de habilidad a lo largo de varios niveles.

  • effect: Un array que contiene los valores de la habilidad a diferentes niveles. Por ejemplo: [30, 60, 90, 120, 150 ].
  • effectBurn: Un string con los valores concatenados por niveles, como "30/60/90/120/150".

Costos de Habilidades y Recursos

Cada habilidad en LoL puede tener un costo en maná, energía, o salud. Estos valores se encuentran en los campos cost y costBurn. En la mayoría de los casos, el campo resource indica el tipo de recurso utilizado.

Ejemplos:

  • Soraka (Astral Infusion): Costo en salud y maná.
"resource": "10% Max Health, {{ cost }} Mana",
  "cost": [ 20, 25, 30, 35, 40 ],
  "costBurn": "20/25/30/35/40"
  • Dr. Mundo (Infected Cleaver): Costo en salud.
"resource": "{{ e3 }} Health",
  "effect": [ null, [ 80, 130, 180, 230, 280 ] ]

Imágenes de los Campeones y Habilidades

La API también proporciona assets visuales, como iconos y splash art de cada campeón y habilidad.

Splash Art de Campeones

Cada campeón tiene su propia imagen de splash art en la pantalla de carga. El archivo sigue este formato:

https://ddragon.leagueoflegends.com/cdn/img/champion/splash/[CAMPEÓN]_[NUMERO_SKIN].jpg

Por ejemplo, el splash art de Aatrox con skin predeterminada se encuentra en:

https://ddragon.leagueoflegends.com/cdn/img/champion/splash/Aatrox_0.jpg

Íconos de Habilidades y Pasivas

Las habilidades y pasivas de cada campeón tienen iconos individuales que se pueden encontrar en los archivos JSON del campeón bajo los campos spells y passive.

  • Icono de Pasiva:
"image": { "full": "Anivia_P.png" }

Ubicación:

https://ddragon.leagueoflegends.com/cdn/14.22.1/img/passive/Anivia_P.png
  • Icono de Habilidad:
"image": { "full": "FlashFrost.png" }

Ubicación:

https://ddragon.leagueoflegends.com/cdn/14.22.1/img/spell/FlashFrost.png

Detalles de los Objetos

Los objetos en LoL también tienen sus propios archivos JSON y assets visuales. A través del archivo de items.json, puedes acceder a detalles como descripciones, valores de compra/venta y efectos especiales.

Campos y Convenciones de Estadísticas

  • Modificadores: Las estadísticas incluyen términos como Percent y Flat, indicando si el efecto es un porcentaje o un valor fijo.
  • Tenacidad: La tenacidad de objetos no se acumula, mientras que la obtenida de runas sí.

Ejemplo de Implementación

Para obtener la lista de campeones desde el archivo champion.json, una solicitud HTTP sencilla usando fetch en JavaScript sería la siguiente:

fetch("https://ddragon.leagueoflegends.com/cdn/14.22.1/data/en_US/champion.json")
  .then(response => response.json())
  .then(data => console.log(data));

Este código retornará un objeto con los datos generales de cada campeón, incluyendo sus nombres y descripciones. Puedes luego realizar una solicitud adicional para acceder a los detalles de un campeón específico usando su archivo correspondiente.

Conclusión

La API de League of Legends ofrece un amplio abanico de datos para quienes desean profundizar en el desarrollo de aplicaciones relacionadas con LoL o simplemente explorar las mecánicas de los campeones. Desde habilidades detalladas hasta assets visuales, cada recurso puede ser accedido y utilizado para crear aplicaciones interactivas o enriquecer tu experiencia de juego.

Compartir:
Creado por:
Author photo

Jorge García

Fullstack developer