Escribir el análisis de un héroe
Los datos del juego se actualizan solos; el comentario, en cambio, hay que escribirlo. Así se redacta el análisis de un héroe y se propone al sitio.
- Héroes analizados
- 18
- Pendientes de análisis
- 115
Lo que escribes
Roles, líneas, habilidades, skins, estadísticas y builds jugadas llegan por la sincronización automática con la wiki y la API de la comunidad. Un análisis solo aporta lo que ninguna extracción produce: lo que el héroe hace de verdad, sus fortalezas y debilidades, sus counters y builds explicadas.
Los análisis se escriben en francés, el idioma original del sitio. Cada uno es una entrada TypeScript, añadida al archivo del rol del héroe en src/data/heros/.
Los campos
Un análisis sigue el tipo AnalyseHeros de src/lib/types.ts. Sus habilidades y sus builds tienen cada una su propia forma.
El análisis — AnalyseHeros
slugstring- Identificador exacto del héroe, tal como figura en
src/data/jeu/heros.json. resumestring- Una frase sobre lo que hace único al héroe. También sirve de meta description.
analysestring- Dos párrafos separados por una línea vacía: lo que el héroe hace realmente y, después, sus límites.
competencesCompetence[]- Las habilidades en el orden del juego: pasiva, habilidad 1, habilidad 2, definitiva. Es el orden lo que asocia cada descripción a la habilidad de la wiki.
forcesstring[]- De tres a cinco puntos breves, observables en partida.
faiblessesstring[]- De tres a cinco puntos breves, con lo que los aprovecha.
fortContrestring[]- Slugs de los héroes contra los que se siente cómodo.
faibleContrestring[]- Slugs de los héroes que lo ponen en apuros.
buildsBuild[]- Una o varias builds, cada una con su contexto.
Una habilidad — Competence
type"Passif" | "Competence 1" | "Competence 2" | "Ultime"- Posición de la habilidad.
nomstring- Nombre en inglés, como en el juego. El sitio muestra el de la wiki.
descriptionstring- Lo que permite la habilidad y cuándo usarla, sin valores de daño.
rechargenumber[] · opcional- Enfriamiento por nivel, en segundos. Ausente en una pasiva.
coutnumber[] · opcional- Coste por nivel. Ausente si el héroe no usa maná.
Una build — Build
nomstring- Nombre corto de la build.
contextestring- Cuándo elegir esta build. Una build sin contexto no enseña nada a nadie.
objetsstring[]- Seis objetos, con su nombre en inglés, en orden de compra.
emblemestring- Emblema recomendado, nombrado como en los análisis existentes («Emblème de mage»).
talentstring- Talento principal del emblema, nombre en inglés.
sortstring- Hechizo de combate, nombre en inglés.
Plantilla comentada
Copia esta plantilla al final de la lista del archivo del rol, rellénala y quita sus comentarios. npm run typecheck la comprueba en cada ejecución: siempre sigue el tipo vigente.
import type { AnalyseHeros } from "@/lib/types";
/**
* Modele d'analyse de heros.
*
* A recopier dans le fichier du role du heros (`src/data/heros/tanks.ts`,
* `fighters.ts`, `assassins.ts`, `mages.ts`, `marksmen.ts` ou `supports.ts`),
* a remplir, puis a debarrasser de ses commentaires. Il n'est importe nulle
* part : `npm run typecheck` le verifie seulement, ce qui le garde conforme au
* type `AnalyseHeros`.
*
* Le texte affiche s'ecrit en francais, avec ses accents. Les noms d'objets,
* de competences, de talents et de sorts restent en anglais, comme en jeu.
* Rien ne se recopie d'un autre site. Guide complet : /fr/contribute.
*/
export const modele: AnalyseHeros = {
// Slug exact, tel qu'il figure dans src/data/jeu/heros.json.
slug: "slug-du-heros",
// Une phrase : ce que le heros a de singulier. Reprise en meta description.
resume: "Une phrase qui dit ce que le héros a de singulier.",
// Deux paragraphes separes par une ligne vide : ce que le heros fait
// reellement, puis ses limites. Des faits observables, pas de superlatifs.
analyse:
"Premier paragraphe : le plan de jeu du héros, ce qu'il fait réellement en partie.\n\n" +
"Second paragraphe : ses limites, et ce qui les expose.",
// Ordre du jeu : passif, competence 1, competence 2, ultime. C'est l'ordre
// qui apparie chaque description a la competence du wiki, dont le nom est
// celui qui s'affiche.
competences: [
{
type: "Passif",
// Nom anglais, comme en jeu.
nom: "Passive Name",
// L'effet et son usage, sans valeurs de degats : elles changent presque
// a chaque patch. Ni recharge ni cout pour un passif.
description: "Ce que le passif change à la façon de jouer le héros.",
},
{
type: "Competence 1",
nom: "First Skill Name",
description: "Ce que la compétence permet, et quand s'en servir.",
// Recharge par niveau, en secondes.
recharge: [8, 7.5, 7, 6.5, 6, 5.5],
// Cout par niveau ; a omettre si le heros n'utilise pas de mana.
cout: [60, 65, 70, 75, 80, 85],
},
{
type: "Competence 2",
nom: "Second Skill Name",
description: "Ce que la compétence permet, et ce qui la rend dangereuse ou fragile.",
recharge: [12, 11, 10, 9, 8, 7],
cout: [70, 75, 80, 85, 90, 95],
},
{
type: "Ultime",
nom: "Ultimate Name",
description: "Ce que l'ultime change à un combat, et le bon moment pour le lancer.",
recharge: [40, 35, 30],
cout: [120, 140, 160],
},
],
// Trois a cinq points courts, observables en partie.
forces: ["Une force concrète, visible en partie"],
// Trois a cinq points courts, avec ce qui les exploite.
faiblesses: ["Une faiblesse concrète, et ce qui la punit"],
// Des slugs, pas des noms : heros face auxquels il est a l'aise…
fortContre: ["slug-adverse"],
// … et heros qui le mettent en difficulte.
faibleContre: ["autre-slug"],
builds: [
{
nom: "Nom court du build",
// Quand choisir ce build : un build sans contexte n'apprend rien.
contexte: "La situation dans laquelle ce build s'impose, et ce qu'il sacrifie.",
// Six objets, noms anglais du jeu, dans l'ordre d'achat.
objets: ["Item One", "Item Two", "Item Three", "Item Four", "Item Five", "Item Six"],
// Emblemes nommes comme dans les analyses existantes.
embleme: "Emblème de mage",
// Talent principal et sort de combat, noms anglais.
talent: "Lethal Ignition",
sort: "Flicker",
},
],
};
Ver la plantilla en GitHubReglas de estilo
- Acentos allí donde el francés los pida: el texto de un análisis se muestra a los visitantes, aunque el código del proyecto prescinda de ellos.
- Los términos del juego se quedan en inglés: objetos, habilidades, talentos y hechizos conservan el nombre que el jugador encuentra en partida («Winter Crown», «Flicker»).
- Nada copiado: ni wiki, ni guías, ni vídeos. Un análisis tomado de otro sitio, aunque se reformule de cerca, será rechazado.
- Sin valores de daño: cambian casi en cada parche. Describe el efecto, no la cifra.
- Lo concreto antes que los superlativos: «gana los combates largos mientras el rival no compre reducción de curación» vale más que «es muy fuerte».
La revisión, mediante pull request
- Haz un fork del repositorio de GitHub y crea una rama para tu análisis.
- Añade la entrada al archivo del rol:
tanks.ts,fighters.ts,assassins.ts,mages.ts,marksmen.tsosupports.ts. - Ejecuta
npm run lint,npm run typecheckynpm test. La verificación automática los volverá a lanzar de todos modos. - Abre una pull request con un título claro en imperativo, en francés: «ajoute l'analyse de Ling».
- Un mantenedor revisa fondo y forma —exactitud respecto al parche actual, estilo, originalidad— y comenta la pull request si hay que cambiar algo.
- Una vez fusionada, el análisis se publica en el siguiente despliegue, y tu nombre queda en el historial del repositorio.