เขียนบทวิเคราะห์ฮีโร่
ข้อมูลเกมอัปเดตเองได้ แต่บทวิเคราะห์ต้องมีคนเขียน นี่คือวิธีเขียนบทวิเคราะห์ฮีโร่และส่งเข้าเว็บไซต์
- ฮีโร่ที่มีบทวิเคราะห์แล้ว
- 38
- รอบทวิเคราะห์
- 96
สิ่งที่คุณเขียน
บทบาท เลน สกิล สกิน สถิติ และบิลด์ยอดนิยมมาจากการซิงก์อัตโนมัติกับวิกิและ API ของคอมมูนิตี้ บทวิเคราะห์จะเพิ่มเฉพาะสิ่งที่การดึงข้อมูลอัตโนมัติให้ไม่ได้: ฮีโร่ทำอะไรได้จริง จุดแข็งและจุดอ่อน เคาน์เตอร์ และบิลด์พร้อมคำอธิบาย
บทวิเคราะห์เขียนเป็นภาษาฝรั่งเศส ซึ่งเป็นภาษาต้นฉบับของเว็บไซต์ แต่ละบทเป็นรายการ TypeScript ที่เพิ่มลงในไฟล์บทบาทของฮีโร่ใน src/data/heroes/
ช่องข้อมูล
บทวิเคราะห์ใช้ type AnalyseHeros ใน src/lib/types.ts สกิลและบิลด์แต่ละรายการมีโครงสร้างของตัวเอง
บทวิเคราะห์ — AnalyseHeros
slugstring- ตัวระบุที่ตรงกันของฮีโร่ ตามที่ระบุไว้ใน
src/data/jeu/heros.json summarystring- ประโยคเดียวที่บอกว่าฮีโร่ตัวนี้มีอะไรพิเศษ ใช้เป็นคำอธิบายเมตาด้วย
analysisstring- สองย่อหน้าคั่นด้วยบรรทัดว่าง: ฮีโร่ทำอะไรได้จริง แล้วตามด้วยข้อจำกัด
skillsSkill[]- สกิลตามลำดับในเกม: พาสซีฟ สกิล 1 สกิล 2 อัลติเมต ลำดับนี้ใช้จับคู่แต่ละคำอธิบายกับสกิลในวิกิ
strengthsstring[]- 3 ถึง 5 ข้อสั้นๆ ที่เห็นได้ในแมตช์
weaknessesstring[]- 3 ถึง 5 ข้อสั้นๆ พร้อมวิธีที่ใช้ประโยชน์จากจุดอ่อนนั้น
strongAgainststring[]- slug ของฮีโร่ที่ฮีโร่ตัวนี้รับมือได้สบาย
weakAgainststring[]- slug ของฮีโร่ที่ทำให้ฮีโร่ตัวนี้เล่นยาก
buildsBuild[]- บิลด์หนึ่งหรือหลายบิลด์ แต่ละบิลด์มีบริบทการใช้งานของตัวเอง
สกิล — Competence
type"Passive" | "Skill 1" | "Skill 2" | "Ultimate"- ตำแหน่งสกิล
namestring- ชื่อภาษาอังกฤษตามในเกม เว็บไซต์จะแสดงชื่อจากวิกิ
descriptionstring- สกิลนี้ทำอะไรได้และควรใช้เมื่อไร โดยไม่ระบุค่าดาเมจ
cooldownnumber[] · ไม่จำเป็น- คูลดาวน์ต่อเลเวล หน่วยเป็นวินาที ไม่ต้องใส่สำหรับพาสซีฟ
costnumber[] · ไม่จำเป็น- ค่าใช้ต่อเลเวล ไม่ต้องใส่หากฮีโร่ไม่ใช้มานา
บิลด์ — Build
namestring- ชื่อสั้นๆ ของบิลด์
contextstring- ควรใช้บิลด์นี้เมื่อไร บิลด์ที่ไม่มีบริบทไม่ได้ช่วยให้ใครเรียนรู้อะไร
itemsstring[]- ไอเทมหกชิ้น ใช้ชื่อภาษาอังกฤษ เรียงตามลำดับการซื้อ
emblemstring- Emblem ที่แนะนำ ตั้งชื่อแบบเดียวกับบทวิเคราะห์ที่มีอยู่ ("Emblème de mage")
talentstring- Talent หลักของ Emblem ใช้ชื่อภาษาอังกฤษ
spellstring- Battle Spell ใช้ชื่อภาษาอังกฤษ
เทมเพลตพร้อมคำอธิบาย
คัดลอกเทมเพลตนี้ไปไว้ท้ายลิสต์ในไฟล์บทบาท กรอกข้อมูล แล้วลบคอมเมนต์ออก npm run typecheck ตรวจเทมเพลตนี้ทุกครั้งที่รัน จึงตรงกับ 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",
},
],
};
ดูเทมเพลตบน GitHubกฎการเขียน
- ใส่เครื่องหมายเน้นเสียงภาษาฝรั่งเศสทุกที่ที่ภาษาต้องใช้: ข้อความบทวิเคราะห์จะแสดงให้ผู้เข้าชมเห็น แม้โค้ดของโปรเจกต์จะไม่ใช้ก็ตาม
- คำศัพท์ในเกมใช้ภาษาอังกฤษ: ไอเทม สกิล Talent และ Battle Spell ใช้ชื่อที่ผู้เล่นเห็นในเกม ("Winter Crown", "Flicker")
- ห้ามคัดลอก: ไม่ว่าจากวิกิ ไกด์ หรือวิดีโอ บทวิเคราะห์ที่นำมาจากที่อื่น แม้จะเรียบเรียงใหม่แบบใกล้เคียงก็จะถูกปฏิเสธ
- ห้ามใส่ค่าดาเมจ: ค่าเหล่านี้เปลี่ยนแทบทุกแพตช์ ให้อธิบายเอฟเฟกต์ ไม่ใช่ตัวเลข
- เน้นรูปธรรมมากกว่าคำโอ้อวด: "ชนะไฟต์ยาวได้ตราบใดที่ศัตรูไม่ซื้อไอเทมลดฮีล" ดีกว่า "แข็งแกร่งมาก"
การตรวจทานผ่าน pull request
- Fork repository บน GitHub แล้วสร้าง branch สำหรับบทวิเคราะห์ของคุณ
- เพิ่มรายการลงในไฟล์บทบาท:
tanks.ts,fighters.ts,assassins.ts,mages.ts,marksmen.tsหรือsupports.ts - รัน
npm run lint,npm run typecheckและnpm testระบบตรวจสอบอัตโนมัติจะรันซ้ำอีกครั้งอยู่แล้ว - เปิด pull request ที่มีชื่อชัดเจนในรูปคำสั่ง เป็นภาษาฝรั่งเศส: "ajoute l'analyse de Ling"
- ผู้ดูแลจะตรวจทั้งเนื้อหาและรูปแบบ ได้แก่ ความถูกต้องในแพตช์ปัจจุบัน สำนวน และความเป็นต้นฉบับ และจะคอมเมนต์ใน pull request หากมีสิ่งที่ต้องแก้
- เมื่อ merge แล้ว บทวิเคราะห์จะขึ้นเว็บในการ deploy ครั้งถัดไป และชื่อของคุณจะอยู่ในประวัติของ repository