diff --git a/src/services/deepseek.ts b/src/services/deepseek.ts index 6ac3b95..a178ff0 100644 --- a/src/services/deepseek.ts +++ b/src/services/deepseek.ts @@ -154,10 +154,24 @@ NSFW RULES: ` : ""; + // OOC rules (same for all stories) + const oocRules = ` +=== OOC (OUT OF CHARACTER) MODE === +When player's message starts with [OOC: ...], they are speaking DIRECTLY to you as the AI. +In OOC mode: +— Break character completely +— Respond as a helpful AI assistant, not as the narrator +— Answer questions about the story, characters, mechanics +— Accept instructions to change story direction, tone, pacing +— Can discuss plot ideas, suggest alternatives, clarify rules +— After OOC response, do NOT continue the narrative until player sends a normal message +`; + // If there are custom rules - use them if (story.narrativeRules && story.narrativeRules.trim()) { return `${story.narrativeRules} ${nsfwBlock} +${oocRules} === METADATA === LANGUAGE: ${story.language} GENRE: ${story.genre.join(", ")} @@ -215,6 +229,7 @@ WRONG: "Я ему не доверяю," пробормотала она. RIGHT: **"Я ему не доверяю,"** пробормотала она. Descriptions and narration — plain text without any asterisks. +${oocRules} Respond in language: ${story.language} === PLAYER CHARACTER ===