diff --git a/README.md b/README.md
index 6e88311..32fe896 100644
--- a/README.md
+++ b/README.md
@@ -7,10 +7,10 @@ An immersive RPG extension for browsers that tracks character stats, scene infor
## 🆕 What's New
-### v3.3.2
+### v3.3.3
-- Fixed the auto-generation triggering on switching/starting new chats in separate generation mode.
-- Restored the option to remove generated characters from the panel.
+- Strenghtened default prompts to not include user's persona in the characters' section.
+- Updated some descriptions for buttons and custom fields.
**Special thanks to all the other contributors for this project:**
Paperboygold, Munimunigamer, Subarashimo, Lilminzyu, Claude, IDeathByte, Chungchandev, Joenunezb, Amauragis, and Tomt610.
diff --git a/settings.html b/settings.html
index 12806c0..fd392ad 100644
--- a/settings.html
+++ b/settings.html
@@ -48,7 +48,7 @@
- v3.3.2
+ v3.3.3
diff --git a/src/core/persistence.js b/src/core/persistence.js
index a495e26..592efc4 100644
--- a/src/core/persistence.js
+++ b/src/core/persistence.js
@@ -455,7 +455,7 @@ function migrateToTrackerConfig() {
{ id: 'physicalState', label: 'Physical State', enabled: true, placeholder: 'Visible Physical State (up to three traits)' },
{ id: 'demeanor', label: 'Demeanor Cue', enabled: true, placeholder: 'Observable Demeanor Cue (one trait)' },
{ id: 'relationship', label: 'Relationship', enabled: true, type: 'relationship', placeholder: 'Enemy/Neutral/Friend/Lover' },
- { id: 'internalMonologue', label: 'Internal Monologue', enabled: true, placeholder: 'Internal Monologue (in first person POV, up to three sentences long)' }
+ { id: 'internalMonologue', label: 'Internal Monologue', enabled: true, placeholder: 'Internal Monologue (in first person from character\'s POV, up to three sentences long)' }
],
characterStats: {
enabled: false,
@@ -555,7 +555,7 @@ function migrateToTrackerConfig() {
const thoughts = {
enabled: thoughtsField ? (thoughtsField.enabled !== false) : true,
name: 'Thoughts',
- description: thoughtsField?.placeholder || 'Internal monologue (in first person POV, up to three sentences long)'
+ description: thoughtsField?.placeholder || 'Internal Monologue (in first person from character\'s POV, up to three sentences long)'
};
// Update to new structure
@@ -601,7 +601,7 @@ function migrateToTrackerConfig() {
pc.thoughts = {
enabled: true,
name: 'Thoughts',
- description: 'Internal monologue (in first person POV, up to three sentences long)'
+ description: 'Internal Monologue (in first person from character\'s POV, up to three sentences long)'
};
}
}
diff --git a/src/core/state.js b/src/core/state.js
index 7ba229c..1ac0c16 100644
--- a/src/core/state.js
+++ b/src/core/state.js
@@ -166,7 +166,7 @@ export let extensionSettings = {
thoughts: {
enabled: true,
name: 'Thoughts',
- description: 'Internal monologue (in first person POV, up to three sentences long)'
+ description: 'Internal Monologue (in first person from character\'s POV, up to three sentences long)'
},
// Character stats toggle (optional feature)
characterStats: {
diff --git a/src/systems/generation/promptBuilder.js b/src/systems/generation/promptBuilder.js
index e10e6ed..a9c8a95 100644
--- a/src/systems/generation/promptBuilder.js
+++ b/src/systems/generation/promptBuilder.js
@@ -329,7 +329,7 @@ export function generateTrackerInstructions(includeHtmlPrompt = true, includeCon
if (customPrompt) {
instructions += customPrompt.replace(/{userName}/g, userName);
} else {
- instructions += `Replace X with actual numbers (e.g., 69) and replace all placeholders with concrete in-world details that ${userName} perceives about the current scene and the present characters. For example: "Location" becomes "Forest Clearing", "Mood Emoji" becomes "😊". `;
+ instructions += `Replace X with actual numbers (e.g., 69) and replace all placeholders with concrete in-world details that ${userName} perceives about the current scene and the present characters. For example: "Location" becomes "Forest Clearing", "Mood Emoji" becomes "😊". DO NOT include ${userName} in the characters section, only NPCs. `;
instructions += `Consider the last trackers in the conversation (if they exist). Manage them accordingly and realistically; raise, lower, change, or keep the values unchanged based on the user's actions, the passage of time, and logical consequences.`;
}
diff --git a/src/systems/ui/promptsEditor.js b/src/systems/ui/promptsEditor.js
index 6cbb407..0709c12 100644
--- a/src/systems/ui/promptsEditor.js
+++ b/src/systems/ui/promptsEditor.js
@@ -26,7 +26,7 @@ Next, detail the facial specifics. Describe the character's current expression,
Finally, infuse with aesthetics. Define the artistic style, medium (e.g., digital art, oil painting), and visual tone (e.g., cinematic lighting, ethereal atmosphere).
Your final description must be objective and concrete, and the use of metaphors and emotional rhetoric is strictly prohibited. It must also not contain meta tags or drawing instructions such as "8K" or "masterpiece".
Output only the final, modified prompt; do not output anything else.`,
- trackerInstructions: 'Replace X with actual numbers (e.g., 69) and replace all placeholders with concrete in-world details that {userName} perceives about the current scene and the present characters. For example: "Location" becomes Forest Clearing, "Mood Emoji" becomes "😊". Consider the last trackers in the conversation (if they exist). Manage them accordingly and realistically; raise, lower, change, or keep the values unchanged based on the user\'s actions, the passage of time, and logical consequences (0% if the time progressed only by a few minutes, 1-5% normally, and above 5% only if a major time-skip/event occurs).',
+ trackerInstructions: 'Replace X with actual numbers (e.g., 69) and replace all placeholders with concrete in-world details that {userName} perceives about the current scene and the present characters. For example: "Location" becomes Forest Clearing, "Mood Emoji" becomes "😊". DO NOT include {userName} in the characters section, only NPCs. Consider the last trackers in the conversation (if they exist). Manage them accordingly and realistically; raise, lower, change, or keep the values unchanged based on the user\'s actions, the passage of time, and logical consequences (0% if the time progressed only by a few minutes, 1-5% normally, and above 5% only if a major time-skip/event occurs).',
trackerContinuation: 'After updating the trackers, continue directly from where the last message in the chat history left off. Ensure the trackers you provide naturally reflect and influence the narrative. Character behavior, dialogue, and story events should acknowledge these conditions when relevant, such as fatigue affecting the protagonist\'s performance, low hygiene influencing their social interactions, environmental factors shaping the scene, a character\'s emotional state coloring their responses, and so on. Remember, all placeholders (e.g., "Location", "Mood Emoji") MUST be replaced with actual content.',
combatNarrative: 'Build novel prose. Break patterns from your previous responses by varying sentence structures, rhythms, formats, and openings. Track whether a sentence shape, cadence, sensory detail, or a descriptor appeared recently, and replace it with a different one or skip it entirely. If you mentioned a physical feature, mannerism, or expression once, move on. Don\'t fixate on the same traits every turn. Well-placed humor, unconventional similes, and subverted turns of phrase are encouraged. Avoid GPTisms, purple prose, and anaphoras, especially the negatives with "no/not/wasn\'t/didn\'t." Refrain from describing actions or emotions via negation; focus on what does happen, not what doesn\'t. Absolutely no asterisks, ellipses, or em-dashes. Explicit content is allowed, no plot armor. Do not play for {userName}. Keep your response length under 150 words. Never end on handover cues; finish naturally.\nCRITICAL: Do not repeat, echo, parrot, or restate distinctive words, phrases, and dialogues from the user\'s last message. If reacting to speech, show interpretation or response, not repetition.\nEXAMPLE: "Are you a gooner?" User asks.\nBAD: "Gooner?"\nGOOD: A flat look. "What type of question is that?"'
};
diff --git a/src/systems/ui/trackerEditor.js b/src/systems/ui/trackerEditor.js
index 9ea4b32..f605422 100644
--- a/src/systems/ui/trackerEditor.js
+++ b/src/systems/ui/trackerEditor.js
@@ -195,7 +195,7 @@ function resetToDefaults() {
thoughts: {
enabled: true,
name: 'Thoughts',
- description: 'Internal monologue (in first person POV, up to three sentences long)'
+ description: 'Internal Monologue (in first person from character\'s POV, up to three sentences long)'
},
characterStats: {
enabled: false,
@@ -783,7 +783,7 @@ function renderPresentCharactersTab() {
html += '';
html += '
';
html += ``;
- html += ``;
+ html += ``;
html += '
';
html += '';
diff --git a/template.html b/template.html
index c01e87e..d319f65 100644
--- a/template.html
+++ b/template.html
@@ -588,7 +588,7 @@
- Clears all cached data including tracker history and temporary files.
+ Clears committed and displayed tracker data for your currently active chat.