Combat encounters: Add pre-encounter config modal, targeting fixes, and tracker integration

- Add pre-encounter narrative configuration modal with combat/summary style settings
- Change POV fields to text inputs (default: narrator) for custom character names
- Fix targeting system for enemies with spaces in names (e.g., 'Gilded Thrall 1')
- Display character-specific sprites/avatars in targeting modal instead of generic emojis
- Add combat difficulty scaling guidance to prevent trivial god defeats or endless wolf battles
- Integrate tracker updates in combat summary generation (together mode)
- Update auto-save logs description to clarify file storage vs chat history
- Apply extension theming to Close Combat Window button
This commit is contained in:
Spicy_Marinara
2025-12-27 16:06:06 +01:00
parent 436f3495f8
commit 3caa74fbf8
9 changed files with 3805 additions and 19 deletions
+16 -1
View File
@@ -11,8 +11,9 @@ import { Generate } from '../../../../../../../script.js';
/**
* Sets up the plot progression buttons inside the send form area.
* @param {Function} handlePlotClick - Callback function to handle plot button clicks
* @param {Function} handleEncounterClick - Callback function to handle encounter button click
*/
export function setupPlotButtons(handlePlotClick) {
export function setupPlotButtons(handlePlotClick, handleEncounterClick) {
// Remove existing buttons if any
$('#rpg-plot-buttons').remove();
@@ -50,6 +51,19 @@ export function setupPlotButtons(handlePlotClick) {
" tabindex="0" role="button">
<i class="fa-solid fa-forward"></i> Natural Plot
</button>
<button id="rpg-encounter-button" class="menu_button interactable" style="
background-color: #cc3333;
color: white;
border: none;
padding: 8px 12px;
border-radius: 4px;
font-size: 13px;
cursor: pointer;
margin: 0 4px;
display: inline-block;
" tabindex="0" role="button" title="Enter combat encounter">
<i class="fa-solid fa-fire"></i> Enter Encounter
</button>
</span>
`;
@@ -59,6 +73,7 @@ export function setupPlotButtons(handlePlotClick) {
// Add event handlers for buttons
$('#rpg-plot-random').on('click', () => handlePlotClick('random'));
$('#rpg-plot-natural').on('click', () => handlePlotClick('natural'));
$('#rpg-encounter-button').on('click', () => handleEncounterClick());
// Show/hide based on setting
togglePlotButtons();