TheLionCid-WhySleepAlone icon

WhySleepAlone

Share double beds with another Viking, share respawn, wake Satisfied, add custom modded beds, and use your own dreams and wake text.

CHANGELOG

Changelog

1.0.0 - Dreams, Custom Text & Modded Bed Support

Added

  • Added 80 shared-sleep dreams and 20 wake lines in English and Spanish.
  • Added longer, more atmospheric Viking/Norse writing across Neutral, Romantic and Bawdy profiles.
  • Added Custom text mode using BepInEx/config/WhySleepAlone_CustomText.txt.
  • Added [Dreams] and [Wake] custom text sections with safe parsing/fallback behavior.
  • Added IncludeCustomInMixed for optional custom-text participation in Mixed mode.
  • Added configurable support for additional double beds through Compatibility / AdditionalDoubleBeds.
  • Added host-authoritative synchronization of the allowed additional-bed list through the existing gameplay snapshot.
  • Added validation of configured third-party beds against the actual registered prefab and expected Valheim bed/network/spawn components.

Changed

  • Mixed built-in weighting is now 45% Neutral, 30% Romantic, 20% Bawdy Mild and 5% Bawdy Spicy.
  • Bawdy Spicy mode keeps a blend of Mild and Spicy lines for better variety.
  • Expanded anti-repeat behavior to avoid the last 10 different dreams and recent wake lines while alternatives remain.
  • Wake flavor text uses the existing fresh Satisfied reward event and does not replay when restoring the buff after reconnecting.
  • Custom text is loaded/cached at startup or config reload instead of being read from disk during sleep.
  • Additional-bed prefab names are parsed/cached only when configuration or scene state requires it.

Vanilla dream safety

  • Why Sleep Alone only replaces verified generic vanilla dream entries.
  • Boss, progression, special and cinematic dreams always retain priority.
  • Unknown and null dream results are preserved.
  • Vanilla DreamText objects, cinematic state and progression flags are not modified by the replacement system.
  • Because the mod does not reroll vanilla results, a Why Sleep Alone dream is not guaranteed every shared night.

Additional modded beds — compatibility notice

Support for compatible beds from other mods was added by community request.

I have not been able to live-test this integration with third-party bed mods because we do not currently use custom bed mods in our own world.

The implementation has logic/build coverage, but third-party bed geometry, animation setup and prefab structure still need real-world compatibility feedback. Please report the mod name/version, exact prefab name and relevant host/client logs if you test this feature.

Compatibility / installation

  • Prepared for Valheim 1.0.17.
  • Requires BepInExPack Valheim 5.4.2351.
  • Install the same Why Sleep Alone version on host/server and participating clients.
  • All participants also need any mod that provides a configured additional bed.
  • Why Sleep Alone does not depend on a specific third-party double-bed mod.

0.1.5 - Multiplayer Linking Hotfix

Fixed

  • Fixed the multiplayer join/link flow for the second player using a shared Dragon Bed.
  • Remote player identity is resolved from the synchronized character ZDO and validated against the owning peer.
  • Join requests no longer depend on Peer.PlayerID being available.
  • The validated remote-character identity path is also used for occupancy, shared-sleep rewards and disconnect cleanup.
  • Improved diagnostics for failed remote-character resolution.

Apology

The initial public release shipped with a multiplayer issue that prevented the core shared-bed link from working correctly in real multiplayer. Thank you to the players who reported it and helped identify the problem.


0.1.1 - Initial Public Release

  • Shared sleeping for two players in the vanilla Dragon Bed (piece_bed02).
  • Persistent two-player shared-bed link.
  • Shared respawn support.
  • Configurable sleep/respawn positions.
  • Satisfied / Satisfecho status effect.
  • Neutral, Romantic, Bawdy and Mixed presentation modes.