Sumulat ng hero analysis
Kusang nag-a-update ang game data; ang komentaryo ay kailangang isulat.Matuto pa
Narito kung paano sumulat ng hero analysis at i-submit ito sa site.
- Mga hero na may analysis
- 38
- Naghihintay ng analysis
- 96
Ang isusulat mo
Ang mga role, lane, skill, skin, stats at sikat na build ay galing sa awtomatikong sync sa wiki at sa community API. Ang analysis ay nagdadagdag lang ng hindi kayang ibigay ng anumang extraction: ano talaga ang ginagawa ng hero, mga lakas at kahinaan, mga counter at ipinaliwanag na build.
Isinusulat ang mga analysis sa French, ang orihinal na wika ng site. Bawat isa ay TypeScript entry na idinadagdag sa role file ng hero sa src/data/heroes/.
Ang mga field
Sinusunod ng analysis ang type na AnalyseHeros sa src/lib/types.ts. May kanya-kanyang hugis ang mga skill at build nito.
Ang analysis — AnalyseHeros
slugstring- Ang eksaktong identifier ng hero, gaya ng nakalista sa
src/data/jeu/heros.json. summarystring- Isang pangungusap tungkol sa kung ano ang kakaiba sa hero. Ginagamit din ito bilang meta description.
analysisstring- Dalawang talata na pinaghihiwalay ng blangkong linya: ano talaga ang ginagawa ng hero, tapos ang mga limitasyon nito.
skillsSkill[]- Mga skill sa order ng laro: passive, skill 1, skill 2, ultimate. Ang order ang nagtutugma sa bawat paglalarawan at sa skill sa wiki.
strengthsstring[]- Tatlo hanggang limang maiikling punto, na nakikita sa isang match.
weaknessesstring[]- Tatlo hanggang limang maiikling punto, kasama kung ano ang sumasamantala sa mga ito.
strongAgainststring[]- Mga slug ng mga hero na kayang-kaya ng hero na ito.
weakAgainststring[]- Mga slug ng mga hero na nagpapahirap sa hero na ito.
buildsBuild[]- Isa o higit pang mga build, bawat isa ay may konteksto nito.
Isang skill — Competence
type"Passive" | "Skill 1" | "Skill 2" | "Ultimate"- Slot ng skill.
namestring- English na pangalan, gaya sa laro. Ang pangalan sa wiki ang ipinapakita ng site.
descriptionstring- Ano ang ginagawa ng skill at kailan ito gagamitin, walang damage value.
cooldownnumber[] · opsyonal- Cooldown bawat level, sa segundo. Wala para sa passive.
costnumber[] · opsyonal- Cost bawat level. Wala kung hindi gumagamit ng mana ang hero.
Isang build — Build
namestring- Maikling pangalan ng build.
contextstring- Kailan gagamitin ang build na ito. Walang naituturo ang build na walang konteksto.
itemsstring[]- Anim na item, sa English na pangalan nila, sa order ng pagbili.
emblemstring- Inirerekomendang emblem, pinangalanan gaya sa mga kasalukuyang analysis ("Emblème de mage").
talentstring- Pangunahing talent ng emblem, English na pangalan.
spellstring- Battle Spell, English na pangalan.
Annotated na template
Kopyahin ang template na ito sa dulo ng listahan sa role file, punan ito, tapos tanggalin ang mga comment. Sinusuri ito ng npm run typecheck sa bawat run, kaya palagi itong sumusunod sa kasalukuyang type.
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",
},
],
};
Tingnan ang template sa GitHubMga style rule
- Mga French accent saanman kailangan ng wika: ipinapakita sa mga bisita ang teksto ng analysis, kahit walang accent ang code ng proyekto.
- Nananatili sa English ang mga game term: ang mga item, skill, talent at spell ay may pangalang nakikita ng mga player sa laro ("Winter Crown", "Flicker").
- Walang kinopya: walang wiki, gabay o video. Tatanggihan ang analysis na kinuha sa iba, kahit binago nang kaunti ang pagkakasulat.
- Walang damage value: nagbabago ito halos bawat patch. Ilarawan ang epekto, hindi ang numero.
- Konkreto kaysa superlatibo: "nananalo siya sa mahahabang laban basta hindi bumibili ng healing reduction ang kalaban" ay mas mabuti kaysa "napakalakas niya".
Review, sa pamamagitan ng pull request
- I-fork ang GitHub repository at gumawa ng branch para sa iyong pagsusuri.
- Idagdag ang entry sa role file:
tanks.ts,fighters.ts,assassins.ts,mages.ts,marksmen.tsosupports.ts. - Patakbuhin ang
npm run lint,npm run typecheckatnpm test. Patatakbuhin din ulit ang mga ito ng automated checks. - Magbukas ng pull request na may malinaw na pamagat sa imperative, sa French: "ajoute l'analyse de Ling".
- Nire-review ng isang maintainer ang laman at anyo — tama para sa kasalukuyang patch, style, pagka-orihinal — at nagko-comment sa pull request kung may kailangang baguhin.
- Kapag na-merge na, magiging live ang analysis sa susunod na deployment, at mananatili ang pangalan mo sa history ng repository.