Loading...
Loading...
Escape from Tarkov game domain knowledge for EFT-Tracker. Understands quest structures, traders, Kappa container progression, and tarkov.dev API integration. Activates when user mentions: quest, trader, Kappa, task, hideout, PMC, SCAV, Tarkov, wipe, progression, locked, available, completed.
npx skill4agent add tuckerandrew21/eft-tracker eft-domaintype QuestStatus = "locked" | "available" | "completed";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)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"] }| 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 |
kappaRequired: boolean// 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;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[];
}interface QuestWithProgress extends Quest {
progress: QuestProgress | null;
computedStatus: QuestStatus; // Calculated based on dependencies
}query {
tasks {
id
name
wikiLink
minPlayerLevel
kappaRequired
taskRequirements {
task {
id
}
status
}
trader {
id
name
}
}
}const statusColors = {
locked: "gray",
available: "cyan",
completed: "green",
};await updateQuestProgress({
questId: quest.id,
status: "completed",
completedAt: new Date(),
});const nextQuests = quests.filter(
(q) => q.computedStatus === "available" && q.levelRequired <= playerLevel
);function getDependencyChain(quest: Quest): Quest[] {
const chain: Quest[] = [quest];
for (const dep of quest.dependsOn) {
chain.push(...getDependencyChain(dep.requiredQuest));
}
return chain;
}| 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 |
| File | Purpose |
|---|---|
| Quest type definitions |
| API response types |
| Quest API routes |
| ReactFlow visualization |