Escrever uma análise de herói
Os dados do jogo se atualizam sozinhos; o comentário precisa ser escrito.Saiba mais
Veja como redigir a análise de um herói e enviá-la ao site.
- Heróis analisados
- 38
- Aguardando análise
- 96
O que você escreve
Funções, lanes, habilidades, skins, estatísticas e builds usadas chegam pela sincronização automática com a wiki e a API da comunidade. Uma análise traz apenas o que nenhuma extração produz: o que o herói realmente faz, seus pontos fortes e fracos, seus counters e builds explicadas.
As análises são escritas em francês, o idioma original do site. Cada uma é uma entrada TypeScript, adicionada ao arquivo da função do herói em src/data/heroes/.
Os campos
Uma análise segue o tipo AnalyseHeros de src/lib/types.ts. As habilidades e as builds têm, cada uma, seu próprio formato.
A análise — AnalyseHeros
slugstring- Identificador exato do herói, como aparece em
src/data/jeu/heros.json. summarystring- Uma frase que diz o que o herói tem de único. Ela também serve como meta description.
analysisstring- Dois parágrafos separados por uma linha vazia: o que o herói realmente faz, depois seus limites.
skillsSkill[]- As habilidades na ordem do jogo: passiva, habilidade 1, habilidade 2, ultimate. É a ordem que associa cada descrição à habilidade da wiki.
strengthsstring[]- De três a cinco pontos curtos, visíveis em partida.
weaknessesstring[]- De três a cinco pontos curtos, com o que os explora.
strongAgainststring[]- Slugs dos heróis contra os quais ele se sai bem.
weakAgainststring[]- Slugs dos heróis que lhe dão trabalho.
buildsBuild[]- Uma ou mais builds, cada uma com seu contexto.
Uma habilidade — Competence
type"Passive" | "Skill 1" | "Skill 2" | "Ultimate"- Posição da habilidade.
namestring- Nome em inglês, como no jogo. O site exibe o nome da wiki.
descriptionstring- O que a habilidade permite e quando utilizá-la, sem valores de dano.
cooldownnumber[] · opcional- Recarga por nível, em segundos. Omitida para uma passiva.
costnumber[] · opcional- Custo por nível. Omitido se o herói não usa mana.
Uma build — Build
namestring- Nome abreviado da build.
contextstring- Quando escolher esta build. Uma build sem contexto não ensina nada a ninguém.
itemsstring[]- Seis itens, com seus nomes em inglês, por ordem de compra.
emblemstring- Emblema recomendado, com o nome usado nas análises existentes (« Emblème de mage »).
talentstring- Talento principal do emblema, nome em inglês.
spellstring- Feitiço de Batalha, nome em inglês.
Modelo anotado
Copie este modelo no fim da lista do arquivo da função, preencha-o e depois remova os comentários. npm run typecheck o verifica a cada execução, então ele sempre segue o tipo atual.
import type { HeroAnalysis } from "@/lib/types";
/**
* Hero analysis template.
*
* Copy it into the file of the hero's role (`src/data/heroes/tanks.ts`,
* `fighters.ts`, `assassins.ts`, `mages.ts`, `marksmen.ts` or `supports.ts`),
* fill it in, then strip its comments. It is imported nowhere:
* `npm run typecheck` only checks it, which keeps it in line with the
* `HeroAnalysis` type.
*
* Displayed text is written in French, with its accents. Item, skill, talent
* and spell names stay in English, as in the game.
* Nothing is copied from another site. Full guide: /fr/contribute.
*/
export const template: HeroAnalysis = {
// Exact slug, as it appears in src/data/game/heroes.json.
slug: "slug-du-heros",
// One sentence: what sets the hero apart. Reused as the meta description.
summary: "Une phrase qui dit ce que le héros a de singulier.",
// Two paragraphs separated by a blank line: what the hero actually does,
// then its limits. Observable facts, no superlatives.
analysis:
"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.",
// Game order: passive, skill 1, skill 2, ultimate. The order is what pairs
// each description with the wiki skill, whose name is the one that is
// displayed.
skills: [
{
type: "Passive",
// English name, as in the game.
name: "Passive Name",
// The effect and how to use it, without damage values: they change
// almost every patch. No cooldown or cost for a passive.
description: "Ce que le passif change à la façon de jouer le héros.",
},
{
type: "Skill 1",
name: "First Skill Name",
description: "Ce que la compétence permet, et quand s'en servir.",
// Cooldown per level, in seconds.
cooldown: [8, 7.5, 7, 6.5, 6, 5.5],
// Cost per level; omit it if the hero does not use mana.
cost: [60, 65, 70, 75, 80, 85],
},
{
type: "Skill 2",
name: "Second Skill Name",
description: "Ce que la compétence permet, et ce qui la rend dangereuse ou fragile.",
cooldown: [12, 11, 10, 9, 8, 7],
cost: [70, 75, 80, 85, 90, 95],
},
{
type: "Ultimate",
name: "Ultimate Name",
description: "Ce que l'ultime change à un combat, et le bon moment pour le lancer.",
cooldown: [40, 35, 30],
cost: [120, 140, 160],
},
],
// Three to five short points, observable in a match.
strengths: ["Une force concrète, visible en partie"],
// Three to five short points, with what exploits them.
weaknesses: ["Une faiblesse concrète, et ce qui la punit"],
// Slugs, not names: heroes it is comfortable against…
strongAgainst: ["slug-adverse"],
// … and heroes that give it trouble.
weakAgainst: ["autre-slug"],
builds: [
{
name: "Nom court du build",
// When to pick this build: a build without context teaches nothing.
context: "La situation dans laquelle ce build s'impose, et ce qu'il sacrifie.",
// Six items, English in-game names, in purchase order.
items: ["Item One", "Item Two", "Item Three", "Item Four", "Item Five", "Item Six"],
// Emblems named as in the existing analyses.
emblem: "Emblème de mage",
// Main talent and battle spell, English names.
talent: "Lethal Ignition",
spell: "Flicker",
},
],
};
Ver o modelo no GitHubRegras de estilo
- Acentos onde quer que o francês os exija: o texto de uma análise é exibido aos visitantes, mesmo que o código do projeto não os use.
- Os termos do jogo ficam em inglês: itens, habilidades, talentos e feitiços mantêm o nome que o jogador vê na partida (“Winter Crown”, “Flicker”).
- Nada copiado: nem wiki, nem guia, nem vídeo. Uma análise tirada de outro lugar, mesmo que bem reformulada, será recusada.
- Sem valores de dano: eles mudam quase a cada patch. Descreva o efeito, não o número.
- Coisas concretas em vez de superlativos: “ele vence lutas longas enquanto o adversário não compra redução de cura” vale mais do que “ele é muito forte”.
Revisão, por pull request
- Faça um fork do repositório no GitHub e crie uma branch para sua análise.
- Adicione a entrada ao arquivo de função:
tanks.ts,fighters.ts,assassins.ts,mages.ts,marksmen.tsousupports.ts. - Execute
npm run lint,npm run typecheckenpm test. A verificação automática vai executá-los de novo de qualquer forma. - Abra um pull request com um título claro, no imperativo, em francês: "ajoute l'analyse de Ling".
- Um mantenedor revisa o conteúdo e a forma — precisão em relação ao patch atual, estilo, originalidade — e comenta no pull request se algo precisar mudar.
- Depois do merge, a análise entra no ar na próxima implantação, e seu nome fica no histórico do repositório.