From 854c525b07c8d8eb45a428abd2a511a8ed7d86f6 Mon Sep 17 00:00:00 2001 From: Z8MB1E Date: Sun, 6 Sep 2026 01:24:02 -0400 Subject: [PATCH] feat(events): add staffing, upkeep, and upgrade event types Adds staff:hired/terminated/headcount-set, staff:salary-paid/unpaid, structure:upgraded/maintenance-paid/maintenance-unpaid/upkeep-short event types and registers npc-staffing as an event target collection. Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent) Co-authored-by: Sisyphus --- src/collections/game/GameEventLogs.ts | 1 + src/utils/event-log/emit.ts | 1 + src/utils/event-log/eventTypes.ts | 11 +++++++++++ 3 files changed, 13 insertions(+) diff --git a/src/collections/game/GameEventLogs.ts b/src/collections/game/GameEventLogs.ts index 29a3eb3..e30c541 100644 --- a/src/collections/game/GameEventLogs.ts +++ b/src/collections/game/GameEventLogs.ts @@ -5,6 +5,7 @@ const TARGET_COLLECTIONS = [ { label: "Game Structures", value: "game-structures" }, { label: "Game Vehicles", value: "game-vehicles" }, { label: "Game NPCs", value: "game-npcs" }, + { label: "NPC Staffing", value: "npc-staffing" }, { label: "Structures", value: "structures" }, { label: "Resources", value: "resources" }, { label: "Assets", value: "assets" }, diff --git a/src/utils/event-log/emit.ts b/src/utils/event-log/emit.ts index c6189b3..de8c884 100644 --- a/src/utils/event-log/emit.ts +++ b/src/utils/event-log/emit.ts @@ -20,6 +20,7 @@ interface GameEventInput { | "game-structures" | "game-vehicles" | "game-npcs" + | "npc-staffing" | "shipments" | "bank-accounts" | "bank-transactions" diff --git a/src/utils/event-log/eventTypes.ts b/src/utils/event-log/eventTypes.ts index 36fe2c8..27c6a16 100644 --- a/src/utils/event-log/eventTypes.ts +++ b/src/utils/event-log/eventTypes.ts @@ -16,6 +16,17 @@ export const EventTypes = { // Structure StructureResize: "structure:resize", + StructureUpgraded: "structure:upgraded", + UpkeepShort: "structure:upkeep-short", + + // Staffing + StaffHired: "staff:hired", + StaffTerminated: "staff:terminated", + StaffHeadcountSet: "staff:headcount-set", + SalaryPaid: "staff:salary-paid", + SalaryUnpaid: "staff:salary-unpaid", + MaintenancePaid: "structure:maintenance-paid", + MaintenanceUnpaid: "structure:maintenance-unpaid", // Finance FinanceDeposit: "finance:deposit",