Scrivere l'analisi di un eroe
I dati del gioco si aggiornano da soli; il commento, invece, va scritto. Ecco come redigere l'analisi di un eroe e proporla al sito.
- Eroi analizzati
- 18
- In attesa di un'analisi
- 115
Cosa scrivi
Ruoli, corsie, abilità, skin, statistiche e build giocate arrivano dalla sincronizzazione automatica con la wiki e l'API della community. Un'analisi aggiunge solo ciò che nessuna estrazione produce: cosa fa davvero l'eroe, i suoi punti di forza e le sue debolezze, i counter e build spiegate.
Le analisi si scrivono in francese, la lingua originale del sito. Ognuna è una voce TypeScript, aggiunta al file del ruolo dell'eroe in src/data/heros/.
I campi
Un'analisi segue il tipo AnalyseHeros di src/lib/types.ts. Abilità e build hanno ciascuna la propria forma.
L'analisi — AnalyseHeros
slugstring- Identificativo esatto dell'eroe, come compare in
src/data/jeu/heros.json. resumestring- Una frase su ciò che rende unico l'eroe. Serve anche da meta description.
analysestring- Due paragrafi separati da una riga vuota: cosa fa realmente l'eroe, poi i suoi limiti.
competencesCompetence[]- Le abilità nell'ordine del gioco: passiva, abilità 1, abilità 2, ultimate. È l'ordine ad associare ogni descrizione all'abilità della wiki.
forcesstring[]- Da tre a cinque punti brevi, osservabili in partita.
faiblessesstring[]- Da tre a cinque punti brevi, con ciò che li sfrutta.
fortContrestring[]- Slug degli eroi contro cui è a suo agio.
faibleContrestring[]- Slug degli eroi che lo mettono in difficoltà.
buildsBuild[]- Una o più build, ognuna con il suo contesto.
Un'abilità — Competence
type"Passif" | "Competence 1" | "Competence 2" | "Ultime"- Posizione dell'abilità.
nomstring- Nome inglese, come nel gioco. Il sito mostra quello della wiki.
descriptionstring- Cosa permette l'abilità e quando usarla, senza valori di danno.
rechargenumber[] · facoltativo- Ricarica per livello, in secondi. Assente per una passiva.
coutnumber[] · facoltativo- Costo per livello. Assente se l'eroe non usa mana.
Una build — Build
nomstring- Nome breve della build.
contextestring- Quando scegliere questa build. Una build senza contesto non insegna niente a nessuno.
objetsstring[]- Sei oggetti, con il nome inglese, in ordine di acquisto.
emblemestring- Emblema consigliato, chiamato come nelle analisi esistenti (« Emblème de mage »).
talentstring- Talento principale dell'emblema, nome inglese.
sortstring- Magia di battaglia, nome inglese.
Modello commentato
Copia questo modello in fondo alla lista del file del ruolo, compilalo, poi togli i commenti. npm run typecheck lo verifica a ogni esecuzione: segue sempre il tipo in vigore.
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",
},
],
};
Vedi il modello su GitHubRegole di stile
- Gli accenti ovunque il francese li richieda: il testo di un'analisi è mostrato ai visitatori, anche se il codice del progetto ne fa a meno.
- I termini del gioco restano in inglese: oggetti, abilità, talenti e magie mantengono il nome che il giocatore ritrova in partita (« Winter Crown », « Flicker »).
- Niente di copiato: né wiki, né guide, né video. Un'analisi presa altrove, anche se riformulata da vicino, sarà rifiutata.
- Niente valori di danno: cambiano quasi a ogni patch. Descrivi l'effetto, non il numero.
- Concretezza piuttosto che superlativi: « vince gli scontri lunghi finché l'avversario non compra riduzione delle cure » vale più di « è molto forte ».
La revisione, tramite pull request
- Fai un fork del repository GitHub e crea un branch per la tua analisi.
- Aggiungi la voce al file del ruolo:
tanks.ts,fighters.ts,assassins.ts,mages.ts,marksmen.tsosupports.ts. - Esegui
npm run lint,npm run typecheckenpm test. I controlli automatici li rilanceranno comunque. - Apri una pull request con un titolo chiaro all'imperativo, in francese: « ajoute l'analyse de Ling ».
- Un maintainer rivede contenuto e forma — correttezza per la patch corrente, stile, originalità — e commenta la pull request se qualcosa va cambiato.
- Una volta unita, l'analisi va online al deploy successivo, e il tuo nome resta nella cronologia del repository.