

Medic
[Inspired by: UltimateRevive by Quilt] Pick up your teammate’s PlayerDeathHead and press H—spend 20 HP to revive them. Players will automatically show gratitude upon revive with a configurable message.Details
Changelog
All notable changes to Medic! will be documented in this file.
[1.1.3] - 2025-09-07
Added
- Failed revive chat messages: Attempting to revive without the required HP now posts a clear, configurable chat line so everyone understands why the revive didn’t fire.
- Personalized messages: The failed-revive notice includes the downed player’s name for quick identification in busy lobbies.
- Smart cooldown system: Chat and denial sounds now share per-player cooldowns to prevent spam (default 12s, configurable).
- Performance optimization: Smoothed the revive-key handler to avoid frame drops when rapidly pressing H on low HP.
Fixed
- FPS drops on low-HP revives: Rapid H-presses no longer tank framerate when you’re below the health cost.
- Audio spam: Denial sounds respect the new shared cooldown, eliminating bursty playback.
- Failed revive chat spam: Multiple chat lines are now suppressed during a single cooldown window.
Changed
- Single AudioSource: Centralized denial audio through one
AudioSource
to reduce overhead and allocation churn. - Cached lookups: Avatar references and current health values are cached for faster access.
- Cleanup: Removed periodic heartbeat invocation and related console noise.
- Configurable cooldowns and messages: New options to tune durations and customize text:
Chat/FailedReviveMessage
— template for the failure notification (includes revivee name).Chat/FailedReviveCooldownSeconds
— per-player chat cooldown (default 12).Sound/DeniedCooldownSeconds
— per-player denial-sound cooldown (default 12).
[1.1.2] - 2025-09-03
Fixed
- Deny sound origin: Now emits from the reviver’s position instead of a global/menu location, preventing distant/quiet audio near the cart or extraction point.
Improved
- Revive chat timing: Added a one-frame delay before posting the revive chat on the revivee’s client to improve reliability in mixed/laggy lobbies.
[1.1.1] - 2025-09-02
Added
- Audible warning on revive denial: Plays when the reviver lacks sufficient health (config:
Sound/DeniedSoundVolume
).
Removed
- Non-startup logging: Only the activation message remains during initialization.
[1.1.0] - 2025-09-01
Added
- Randomized gratitude chat: Revived players now post a random phrase chosen from
gratitude_phrases.txt
. - Chat toggle:
Chat/EnableGratitude
boolean to enable/disable the gratitude chat line. - Hot reload: Press Ctrl+P to reload phrases at runtime.
- Config options:
Chat/PhrasesFile
— file name to load phrases from (plugin folder → BepInEx/config).Chat/FallbackPhrases
— pipe-separated fallback list used if the file is missing/empty.
- Content: Includes 8 default phrases out of the box in
gratitude_phrases.txt
.
Improved
- Phrase length guard: Phrases longer than 160 characters are trimmed during load to avoid chat overflow.
Compatibility
- No breaking changes. Mixed lobby behavior unchanged.
[1.0.2] - 2025-08-31
Fixed
- Reviver HP sync: When a client revives the host, the client now correctly loses the configured HP (e.g., 20), while the host respawns at the configured amount. Added
SyncReviverHealth
RPC mirroringSyncRevivedHealth
so the reviver’s owner applies the HP cost locally.
Compatibility
- No config or save changes. Mixed-mod lobbies still supported.
[1.0.1] - 2025-08-31
Removed
- Development heartbeat logger that printed every 5 seconds.
No gameplay or network behavior changes; purely removes debug noise from logs.
Compatibility
- No breaking changes. Config and save data unaffected.
[1.0.0] - 2025-08-31
Added
- Pick-up revive: Hold a teammate’s
PlayerDeathHead
and press H to revive (cost: 20 HP by default). - Revivee gratitude message: The revived player automatically shows gratitude via in-game chat.
- Mixed lobby support: Unmodded players can be revived; chat/gratitude requires the revivee to run the mod.
- Config:
HealthTransferAmount
(default 20).