diff --git a/README.md b/README.md index 870d692..2abf83f 100644 --- a/README.md +++ b/README.md @@ -40,20 +40,25 @@ Have you tried it? Got feedback or questions? Discuss here: [https://discourse.d * When a player character reaches 0 HP, three death save checkboxes appear in the DM view. * Marking the third death save triggers a dissolve animation on the player display, then removes the participant from the encounter. * **Conditions:** - * Apply any of the 15 standard D&D conditions to a participant: Blinded, Charmed, Deafened, Exhaustion, Frightened, Grappled, Incapacitated, Invisible, Paralyzed, Petrified, Poisoned, Prone, Restrained, Stunned, Unconscious. + * Apply any of 22 conditions to a participant, including all standard D&D conditions plus several extras: Alchemist Fire πŸ”₯, Bardic Inspiration 🎡, Blinded πŸ™ˆ, Charmed πŸ’˜, Deafened πŸ”‡, Exhaustion 😴, Frightened 😱, Grappled 🀜, Grazed 🩹, Incapacitated πŸ’«, Invisible πŸ‘», Paralyzed ⚑, Petrified πŸ—Ώ, Poisoned 🀒, Prone ⬇️, Restrained πŸ•ΈοΈ, Sapped πŸ”¨, Shield πŸ›‘οΈ, Slowed 🐌, Stunned πŸ’₯, Unconscious πŸ’€, Vexed 🎯. * Active conditions are shown as emoji badges on both the DM view and the player display. * Conditions can be toggled directly from the badge or from an expandable condition picker per participant. * **Player Display:** * A clean interface showing the current initiative order, round number, participant HP, and current turn. * HP bars use color-coded thresholds: green (above half), yellow (quarter to half), red (below quarter), dark red (dead). * Monster and NPC HP totals are hidden; only the color-coded bar is shown. + * Player character HP can be hidden from the player display via a toggle in the DM's initiative controls ("Hide player HP"). When enabled, only the color-coded bar is shown for characters as well. * Active conditions are displayed as emoji badges on each participant's card. * Inactive participants (and dead ones) are greyed out with a grayscale filter. + * Inactive monsters (e.g. pre-staged or summoned reserves) are hidden from the player display entirely; inactive player characters still appear greyed out. * The current participant's card auto-scrolls into view when the turn advances. * NPCs are visually distinct from hostile monsters, which are distinct from player characters. * Displays a custom campaign background image if one is set. * Shows a "Game Session Paused" message when no encounter is active, or "(Combat Paused)" when the DM pauses a running encounter. * Player display is opened in a separate window via the "Open Player Window" button in the DM's header. + * A **fullscreen button** (top-right corner) toggles the browser into fullscreen mode β€” ideal for a dedicated second monitor. + * A **prevent sleep toggle** (moon/coffee icon, top-right corner) uses the browser Wake Lock API to keep the screen on while active. +* **Combat Action Log:** A running log of combat events (HP changes, turn advances, encounter starts/ends, etc.) is available at `/logs`. Entries are timestamped and tagged with the encounter name. The log can be cleared from that page. * **Real-time Updates:** Uses Firebase Firestore for real-time synchronization between DM actions and the player display. * **Initiative Tie-Breaking:** DMs can drag-and-drop participants with tied initiative scores (before an encounter starts or while paused) to set a manual order. * **Responsive Design:** Styled with Tailwind CSS. @@ -90,21 +95,30 @@ The TTRPG Initiative Tracker is designed for Dungeon Masters to manage combat en * Use the "Next Turn" button (disabled when paused) to advance through the initiative order. The current combatant will be highlighted. * Apply damage or healing to participants directly in the Admin View. Participants at 0 HP are automatically deactivated and marked with a skull icon. Healing them above 0 HP revives them. * For player characters at 0 HP, track death saving throws using the three checkboxes that appear. Marking the third failure triggers a death animation on the player display and removes the participant. - * Apply or remove D&D conditions (Blinded, Charmed, Poisoned, etc.) using the ✨ button next to each participant. Active conditions appear as emoji badges on both the DM view and the player display. - * Mark participants as inactive (e.g., if knocked out) using the toggle next to their name. + * Apply or remove conditions (Blinded, Charmed, Poisoned, etc.) using the ✨ button next to each participant. Active conditions appear as emoji badges on both the DM view and the player display. + * Mark participants as inactive (e.g., if knocked out) using the toggle next to their name. Inactive monsters are hidden from the player display entirely, making this useful for pre-staging summoned reserves. + * Toggle **Hide player HP** in the initiative controls to show or hide player character HP values on the player display. * Click "End Encounter" (with confirmation) when combat is over. This also deactivates it from the Player Display. 2. **Player Display Window:** * This window (opened by the DM via the "Open Player Window" button, or accessed directly at `/display` or `/?playerView=true`) shows a simplified, header-less view of the active encounter. - * It displays the initiative order, current turn, round number, and participant HP bars. Monster/NPC HP totals are hidden; only the color-coded bar is shown. Player character HP is shown numerically. + * It displays the initiative order, current turn, round number, and participant HP bars. Monster/NPC HP totals are hidden; only the color-coded bar is shown. Player character HP is shown numerically unless the DM has enabled "Hide player HP". * HP bars are color-coded: green (above 50%), yellow (25–50%), red (below 25%), dark red (dead/0 HP). * Active conditions are shown as emoji badges on each participant's card. * The current participant's card automatically scrolls into view when the turn advances. * NPCs are styled with a muted gray background, distinct from hostile monsters (reddish-brown) and player characters (dark blue/indigo). - * Dead and inactive participants are greyed out with a grayscale filter. + * Dead and inactive participants are greyed out with a grayscale filter. Inactive monsters are hidden entirely. * When a player character's third death save is marked, a dissolve animation plays on the display before the participant is removed. * If a custom background URL was set for the campaign, it will be displayed with a semi-transparent overlay behind the participant cards. * If no encounter is active on the Player Display, it shows "Game Session Paused". If the current encounter is paused by the DM, it shows "(Combat Paused)". + * Use the **fullscreen button** (top-right) to go fullscreen β€” great for a dedicated second monitor. Press Escape or click again to exit. + * Use the **prevent sleep toggle** (moon icon, top-right) to keep the screen awake using the browser Wake Lock API. The icon turns amber and switches to a coffee cup when active. + +3. **Combat Log (`/logs`):** + * A dedicated page that records all significant combat events: encounter starts and ends, turn advances, HP changes, and death saves. + * Each entry is timestamped and tagged with the encounter name for easy reference. + * The log can be cleared in bulk from the page (with confirmation). + * Accessible via the "Logs" link in the DM header or directly at `/logs`. This flow allows the DM to prepare and run encounters efficiently while providing a clear, real-time view for the players.