import type { OasisType, RegionType } from "./types"; import type { VillageState } from "./village"; export function resolveMission(V: VillageState, region: RegionType) { const mission = region.state.mission; if (!mission) { return; } switch (mission.type) { case 'pillage': if (region.type === 'oasis') { resolvePillageOasis(V, region); } break; default: throw new Error(`Unknown mission type: "${ mission.type }"`); } } function resolvePillageOasis(V: VillageState, region: OasisType) { const mission = region.state.mission; if (!mission) { return; } V.resources[region.resource] += mission.unitCount * 40; delete region.state.mission; }