Ir para o conteúdo
MLBBDex

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 GitHub

Regras 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

  1. Faça um fork do repositório no GitHub e crie uma branch para sua análise.
  2. Adicione a entrada ao arquivo de função: tanks.ts, fighters.ts, assassins.ts, mages.ts, marksmen.ts ou supports.ts.
  3. Execute npm run lint, npm run typecheck e npm test. A verificação automática vai executá-los de novo de qualquer forma.
  4. Abra um pull request com um título claro, no imperativo, em francês: "ajoute l'analyse de Ling".
  5. 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.
  6. Depois do merge, a análise entra no ar na próxima implantação, e seu nome fica no histórico do repositório.