bff8a16290
🔍 Lint / 🪄 Check lint (pull_request) Has been cancelled
🔍 Lint / 🎨 Check format (pull_request) Has been cancelled
🔍 Lint / 🔎 Typecheck (pull_request) Has been cancelled
📊 Quality / 🔒 Security Audit (pull_request) Has been cancelled
📊 Quality / 📋 Dependency Freshness (pull_request) Has been cancelled
📊 Quality / 📦 Bundle Size (pull_request) Has been cancelled
🔍 Lint / 🏗 Build (pull_request) Has been cancelled
39 lines
1.0 KiB
TypeScript
39 lines
1.0 KiB
TypeScript
import type { Vector3Tuple } from "@/types/three/three";
|
|
import type {
|
|
RepairMissionId,
|
|
RepairMissionTriggerConfig,
|
|
} from "@/types/gameplay/repairMission";
|
|
import { EBIKE_WORLD_POSITION } from "@/data/ebike/ebikeConfig";
|
|
|
|
export const REPAIR_MISSION_ANCHOR_IDS: Partial<
|
|
Record<RepairMissionId, string>
|
|
> = {
|
|
pylon: "repair:pylon",
|
|
};
|
|
|
|
const EBIKE_REPAIR_POSITION = EBIKE_WORLD_POSITION satisfies Vector3Tuple;
|
|
|
|
const REPAIR_MISSION_POSITIONS = {
|
|
ebike: EBIKE_REPAIR_POSITION,
|
|
pylon: [64, 0, -66],
|
|
farm: [-24, 0, 42],
|
|
} as const satisfies Record<RepairMissionId, Vector3Tuple>;
|
|
|
|
export const REPAIR_MISSION_TRIGGERS = [
|
|
{
|
|
mission: "ebike",
|
|
label: "Réparer l'e-bike",
|
|
radius: 4,
|
|
},
|
|
] as const satisfies readonly RepairMissionTriggerConfig[];
|
|
|
|
export const REPAIR_MISSION_POSITION_ENTRIES = Object.entries(
|
|
REPAIR_MISSION_POSITIONS,
|
|
).map(([mission, position]) => ({
|
|
mission: mission as RepairMissionId,
|
|
position,
|
|
})) satisfies readonly {
|
|
mission: RepairMissionId;
|
|
position: Vector3Tuple;
|
|
}[];
|