eft-domain
Compare original and translation side by side
🇺🇸
Original
English🇨🇳
Translation
ChineseEFT Domain Knowledge Skill
EFT领域知识技能
Game Context
游戏背景
Escape from Tarkov (EFT) is a hardcore tactical FPS with RPG elements. Players complete quests from traders to unlock gear, gain reputation, and progress toward the Kappa container (ultimate goal).
EFT-Tracker helps players track quest progress and visualize quest dependencies.
《逃离塔科夫》(Escape from Tarkov,简称EFT)是一款带有RPG元素的硬核战术FPS游戏。玩家通过完成商人的任务解锁装备、提升声望,并朝着Kappa容器(终极目标)推进进度。
EFT-Tracker帮助玩家追踪任务进度并可视化任务依赖关系。
Quest System
任务系统
Quest Status
任务状态
typescript
type QuestStatus = "locked" | "available" | "completed";- locked - Prerequisites not met (level or quest requirements)
- available - Can be started (all prerequisites met)
- completed - Already finished
typescript
type QuestStatus = "locked" | "available" | "completed";- locked - 未满足前置条件(等级或任务要求)
- available - 可接取(所有前置条件已满足)
- completed - 已完成
Quest Types
任务类型
typescript
type QuestType =
| "standard" // Regular trader quests
| "pvp_zone" // PVP Zone quests (Arena)
| "reputation" // Fence reputation repair
| "lightkeeper" // Lightkeeper questline
| "faction_bear" // BEAR-only quests
| "faction_usec" // USEC-only quests
| "story" // Main story quests (1.0)
| "prestige"; // Prestige quests (require The Collector)typescript
type QuestType =
| "standard" // 常规商人任务
| "pvp_zone" // PVP区域任务(竞技场)
| "reputation" - 跳蚤市场(Fence)声望修复任务
| "lightkeeper" // Lightkeeper任务线
| "faction_bear" // 仅限BEAR阵营的任务
| "faction_usec" // 仅限USEC阵营的任务
| "story" // 主线剧情任务(1.0版本)
| "prestige"; // 威望任务(需要完成《收藏家》任务)Quest Dependencies
任务依赖
Quests can have prerequisites with different status requirements:
typescript
type RequirementStatusType = "complete" | "active" | "failed";
// Quest A requires Quest B to be completed
{ requiredQuest: questB, requirementStatus: ["complete"] }
// Quest A requires Quest B to be active OR completed
{ requiredQuest: questB, requirementStatus: ["active", "complete"] }任务可能带有不同状态要求的前置条件:
typescript
type RequirementStatusType = "complete" | "active" | "failed";
// 任务A需要任务B已完成
{ requiredQuest: questB, requirementStatus: ["complete"] }
// 任务A需要任务B处于激活或已完成状态
{ requiredQuest: questB, requirementStatus: ["active", "complete"] }Traders
商人
| Trader | Specialty | Color |
|---|---|---|
| Prapor | Weapons, ammo | Red |
| Therapist | Medical, food | Purple |
| Fence | Scav items, reputation | Gray |
| Skier | Western weapons | Blue |
| Peacekeeper | NATO weapons, USD | Light Blue |
| Mechanic | Weapon mods | Yellow |
| Ragman | Armor, clothing | Orange |
| Jaeger | Survival, hunting | Green |
| Lightkeeper | Special endgame | Cyan |
| BTR Driver | Convoy quests | Olive |
| Ref | Arena quests | Pink |
| 商人 | 主营品类 | 颜色 |
|---|---|---|
| Prapor | 武器、弹药 | 红色 |
| Therapist | 医疗用品、食物 | 紫色 |
| Fence | Scav物品、声望 | 灰色 |
| Skier | 西方武器 | 蓝色 |
| Peacekeeper | 北约武器、美元 | 浅蓝色 |
| Mechanic | 武器改装件 | 黄色 |
| Ragman | 护甲、服装 | 橙色 |
| Jaeger | 生存、狩猎用品 | 绿色 |
| Lightkeeper | 特殊终局内容 | 青色 |
| BTR Driver | 车队任务 | 橄榄绿 |
| Ref | 竞技场任务 | 粉色 |
Kappa Container
Kappa安全容器
The Kappa Secure Container is the ultimate progression goal:
- Requires completing all "Kappa required" quests
- Quest: "The Collector" unlocks Kappa
- flag on quests indicates if needed for Kappa
kappaRequired: boolean
Kappa安全容器是终极进度目标:
- 需要完成所有“Kappa必备”任务
- 完成《收藏家》任务可解锁Kappa
- 任务中的标记表示是否为解锁Kappa的必备任务
kappaRequired: boolean
Kappa Progress Tracking
Kappa进度追踪
typescript
// Filter for Kappa-required quests only
const kappaQuests = quests.filter((q) => q.kappaRequired);
// Calculate Kappa progress
const completed = kappaQuests.filter((q) => q.computedStatus === "completed");
const progress = (completed.length / kappaQuests.length) * 100;typescript
// 仅筛选Kappa必备任务
const kappaQuests = quests.filter((q) => q.kappaRequired);
// 计算Kappa进度
const completed = kappaQuests.filter((q) => q.computedStatus === "completed");
const progress = (completed.length / kappaQuests.length) * 100;Data Structures
数据结构
Quest Interface
任务接口
typescript
interface Quest {
id: string;
title: string;
wikiLink: string | null;
levelRequired: number;
kappaRequired: boolean;
questType: QuestType;
factionName: string | null; // "BEAR" | "USEC" | null
traderId: string;
trader: Trader;
objectives: Objective[];
dependsOn: QuestDependency[];
dependedOnBy: QuestDependent[];
}typescript
interface Quest {
id: string;
title: string;
wikiLink: string | null;
levelRequired: number;
kappaRequired: boolean;
questType: QuestType;
factionName: string | null; // "BEAR" | "USEC" | null
traderId: string;
trader: Trader;
objectives: Objective[];
dependsOn: QuestDependency[];
dependedOnBy: QuestDependent[];
}Quest with Progress
带进度的任务
typescript
interface QuestWithProgress extends Quest {
progress: QuestProgress | null;
computedStatus: QuestStatus; // Calculated based on dependencies
}typescript
interface QuestWithProgress extends Quest {
progress: QuestProgress | null;
computedStatus: QuestStatus; // 根据依赖关系计算得出
}tarkov.dev API
tarkov.dev API
The app syncs quest data from tarkov.dev GraphQL API.
应用从tarkov.dev的GraphQL API同步任务数据。
Key Endpoints
核心端点
graphql
query {
tasks {
id
name
wikiLink
minPlayerLevel
kappaRequired
taskRequirements {
task {
id
}
status
}
trader {
id
name
}
}
}graphql
query {
tasks {
id
name
wikiLink
minPlayerLevel
kappaRequired
taskRequirements {
task {
id
}
status
}
trader {
id
name
}
}
}Data Sync
数据同步
Quest data is periodically synced and stored in the database. The sync process:
- Fetches all tasks from tarkov.dev
- Maps API structure to internal Quest model
- Updates database with new/changed quests
- Preserves user progress associations
任务数据会定期同步并存储在数据库中。同步流程:
- 从tarkov.dev获取所有任务数据
- 将API结构映射到内部Quest模型
- 用新增/修改的任务更新数据库
- 保留用户进度关联
Quest Tree Visualization
任务树可视化
The quest tree uses ReactFlow to visualize dependencies:
- Nodes = Quests (colored by status)
- Edges = Dependencies (arrows show requirement direction)
- Layout = Hierarchical (dagre algorithm)
任务树使用ReactFlow可视化依赖关系:
- 节点 = 任务(按状态着色)
- 连线 = 依赖关系(箭头指示要求方向)
- 布局 = 层级结构(dagre算法)
Node Colors
节点颜色
typescript
const statusColors = {
locked: "gray",
available: "cyan",
completed: "green",
};typescript
const statusColors = {
locked: "gray",
available: "cyan",
completed: "green",
};Focus Mode
聚焦模式
Double-click a quest to enter Focus Mode:
- Shows only the selected quest and its dependency chain
- Filters out unrelated quests
- ESC exits focus mode
双击任务进入聚焦模式:
- 仅显示选中任务及其依赖链
- 过滤无关任务
- 按ESC退出聚焦模式
Common Operations
常见操作
Mark Quest Complete
标记任务完成
typescript
await updateQuestProgress({
questId: quest.id,
status: "completed",
completedAt: new Date(),
});typescript
await updateQuestProgress({
questId: quest.id,
status: "completed",
completedAt: new Date(),
});Get Next Available Quests
获取可接取的下一批任务
typescript
const nextQuests = quests.filter(
(q) => q.computedStatus === "available" && q.levelRequired <= playerLevel
);typescript
const nextQuests = quests.filter(
(q) => q.computedStatus === "available" && q.levelRequired <= playerLevel
);Calculate Dependency Chain
计算依赖链
typescript
function getDependencyChain(quest: Quest): Quest[] {
const chain: Quest[] = [quest];
for (const dep of quest.dependsOn) {
chain.push(...getDependencyChain(dep.requiredQuest));
}
return chain;
}typescript
function getDependencyChain(quest: Quest): Quest[] {
const chain: Quest[] = [quest];
for (const dep of quest.dependsOn) {
chain.push(...getDependencyChain(dep.requiredQuest));
}
return chain;
}Wipe Cycles
服务器重置周期
EFT has periodic wipes that reset all player progress. The tracker supports:
- Resetting all quest progress for new wipe
- Preserving historical progress (optional)
- Quick-start options for returning players
EFT会定期进行服务器重置(wipe),重置所有玩家进度。追踪器支持:
- 为新的重置周期重置所有任务进度
- 保留历史进度(可选)
- 为回归玩家提供快速启动选项
Terminology Reference
术语参考
| Term | Meaning |
|---|---|
| PMC | Private Military Contractor (main character) |
| SCAV | Scavenger (alternate play mode) |
| Wipe | Server reset of all progress |
| Kappa | Best secure container (5x3 slots) |
| Hideout | Player base for crafting |
| Labs | High-tier locked map |
| FIR | Found In Raid (item status) |
| Fence rep | Scav karma system |
| 术语 | 含义 |
|---|---|
| PMC | 私人军事承包商(主角色) |
| SCAV | 拾荒者(替代游玩模式) |
| Wipe | 服务器重置所有进度 |
| Kappa | 最佳安全容器(5x3格) |
| Hideout | 玩家基地,用于制作 |
| Labs | 高等级锁定地图 |
| FIR | Raid内获取(物品状态) |
| Fence rep | Scav karma系统(跳蚤市场声望) |
Files Reference
文件参考
| File | Purpose |
|---|---|
| Quest type definitions |
| API response types |
| Quest API routes |
| ReactFlow visualization |
| 文件 | 用途 |
|---|---|
| 任务类型定义 |
| API响应类型 |
| 任务API路由 |
| ReactFlow可视化组件 |