feat: Implement quest event handling and integrate it into leveling, economy, and inventory services.

This commit is contained in:
syntaxbullet
2026-01-15 15:04:50 +01:00
parent f8436e9755
commit 52f8ab11f0
5 changed files with 109 additions and 0 deletions

View File

@@ -37,6 +37,11 @@ export const inventoryService = {
eq(inventory.itemId, itemId)
))
.returning();
// Trigger Quest Event
const { questService } = await import("@shared/modules/quest/quest.service");
await questService.handleEvent(userId, 'ITEM_COLLECT', Number(quantity), txFn);
return entry;
} else {
// Check Slot Limit
@@ -60,6 +65,11 @@ export const inventoryService = {
quantity: quantity,
})
.returning();
// Trigger Quest Event
const { questService } = await import("@shared/modules/quest/quest.service");
await questService.handleEvent(userId, 'ITEM_COLLECT', Number(quantity), txFn);
return entry;
}
}, tx);
@@ -179,6 +189,10 @@ export const inventoryService = {
await inventoryService.removeItem(userId, itemId, 1n, txFn);
}
// Trigger Quest Event
const { questService } = await import("@shared/modules/quest/quest.service");
await questService.handleEvent(userId, 'ITEM_USE', 1, txFn);
return { success: true, results, usageData, item };
}, tx);
},