diff --git a/shared/modules/game-settings/game-settings.service.ts b/shared/modules/game-settings/game-settings.service.ts index f02f1f0..0d91712 100644 --- a/shared/modules/game-settings/game-settings.service.ts +++ b/shared/modules/game-settings/game-settings.service.ts @@ -9,6 +9,7 @@ import type { LootdropConfig, TriviaConfig, ModerationConfig, + QuestConfig, } from "@db/schema/game-settings"; export type GameSettingsData = { @@ -18,6 +19,7 @@ export type GameSettingsData = { lootdrop: LootdropConfig; trivia: TriviaConfig; moderation: ModerationConfig; + quest: QuestConfig; commands: Record; system: Record; }; @@ -45,6 +47,7 @@ export const gameSettingsService = { lootdrop: settings.lootdrop, trivia: settings.trivia, moderation: settings.moderation, + quest: settings.quest, commands: settings.commands ?? {}, system: settings.system ?? {}, }; @@ -64,6 +67,7 @@ export const gameSettingsService = { lootdrop: data.lootdrop ?? existing?.lootdrop ?? gameSettingsService.getDefaultLootdrop(), trivia: data.trivia ?? existing?.trivia ?? gameSettingsService.getDefaultTrivia(), moderation: data.moderation ?? existing?.moderation ?? gameSettingsService.getDefaultModeration(), + quest: data.quest ?? existing?.quest ?? gameSettingsService.getDefaultQuest(), commands: data.commands ?? existing?.commands ?? {}, system: data.system ?? existing?.system ?? {}, updatedAt: new Date(), @@ -180,6 +184,10 @@ export const gameSettingsService = { }, }), + getDefaultQuest: (): QuestConfig => ({ + maxActiveQuests: 3, + }), + getDefaults: (): GameSettingsData => ({ leveling: gameSettingsService.getDefaultLeveling(), economy: gameSettingsService.getDefaultEconomy(), @@ -187,6 +195,7 @@ export const gameSettingsService = { lootdrop: gameSettingsService.getDefaultLootdrop(), trivia: gameSettingsService.getDefaultTrivia(), moderation: gameSettingsService.getDefaultModeration(), + quest: gameSettingsService.getDefaultQuest(), commands: {}, system: {}, }),