feat(遊戲化): 新增大廳、附身、時間流、後日談進度等遊戲化系統功能
新增角色大廳(lobby)邀約與通話、附身(possession)、時鐘(clock)抽象、 時間流與睡眠負債、後日談進度、行為選擇與旁觀反應等模組,並補齊對應冒煙 測試(R~V)與單元測試;同步調整 web/mobile 對應頁面與元件。 Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
This commit is contained in:
@@ -43,7 +43,15 @@ export class TaskService {
|
||||
async create(
|
||||
characterId: string,
|
||||
userId: string,
|
||||
input: { type: "ONE_TIME" | "RECURRING" | "CONDITIONAL" | "QUERY_ORGANIZE" | "TODO_TRACKING"; content: string; rawText: string; triggerAt?: Date; cronExpression?: string; condition?: string },
|
||||
input: {
|
||||
type: "ONE_TIME" | "RECURRING" | "CONDITIONAL" | "QUERY_ORGANIZE" | "TODO_TRACKING";
|
||||
content: string;
|
||||
rawText: string;
|
||||
triggerAt?: Date;
|
||||
cronExpression?: string;
|
||||
condition?: string;
|
||||
sourceRoomId?: string; // T7:房內自走委託的來源房間,供追溯到來源房間與該則發言
|
||||
},
|
||||
now: Date = new Date(),
|
||||
): Promise<CreateTaskResult> {
|
||||
const character = await this.prisma.client.character.findUniqueOrThrow({ where: { id: characterId } });
|
||||
@@ -64,6 +72,7 @@ export class TaskService {
|
||||
triggerAt: input.triggerAt,
|
||||
cronExpression: input.cronExpression,
|
||||
condition: input.condition,
|
||||
sourceRoomId: input.sourceRoomId,
|
||||
},
|
||||
});
|
||||
|
||||
|
||||
Reference in New Issue
Block a user