You are viewing a potentially older version of this package. View all versions.
tony4twenty-Vasodilation-2.0.0 icon

Vasodilation

Spend stamina to resist Cold. Host-synced ratios for sprint, jump, climb, rope, and vine. Alpine walls skip. Emote warmth included. DanceTillYouDrop compatible.

Date uploaded 2 weeks ago
Version 2.0.0
Download link tony4twenty-Vasodilation-2.0.0.zip
Downloads 2279
Dependency string tony4twenty-Vasodilation-2.0.0

This mod requires the following mods to function

BepInEx-BepInExPack_PEAK-5.4.75301 icon
BepInEx-BepInExPack_PEAK

BepInEx pack for PEAK. Preconfigured and ready to use.

Preferred version: 5.4.75301

README

πŸ₯Ά Vasodilation

Keep moving to keep warm.
Spending stamina on movement resists Cold β€” same idea as a heat pack, just from staying active. It will not make you invincible; it buys you time. Only runs while you actually have Cold.

Not just the Alpines β€” even at night when Ascent 5 starts getting cold.

Find the mod in the Peak Modding Discord under #mod-releases to discuss issues, reports, or thanks.


πŸ’‘ What It Does

Cold removed uses a host-synced ratio per movement type:

  • πŸƒ Sprint
  • 🦘 Jump / SprintJump / ClimbJump
  • πŸͺ’ RopeClimb (up only) and VineClimb (including Alpine). Hang, vine grab, and rope climb-down do not warm
  • πŸ§— WallClimb β€” hang, move, and re-grab except in Alpine

πŸ’ƒ Emotes do not use stamina, so they use a separate host rate: Dance, Crashout, Shimmy, Backflip, Wave, and Bully.

Infinite stamina (lollipops, etc.) does not warm you. Cheaper stamina (ice, tired climb, egg buffs, Tenderfoot) warms less; harder stamina (high Ascent) warms more.


πŸ›‘οΈ Host-Controlled Multiplayer

  • βœ… Host has mod β†’ Clients with the mod get warmth using the host’s config
  • ❌ Host doesn’t have mod β†’ Nobody gets the effect (even if clients have it)
  • πŸ” Host migration / late join β†’ Config re-syncs automatically
  • πŸ”’ Fair by design β†’ No client-side advantage in lobbies where the host doesn’t have it

🀝 Compatibility

  • DanceTillYouDrop β€” optional. If that mod keeps you looping an allowed emote, Vasodilation keeps applying EmoteColdPerSecond for the whole loop.

βš™οΈ Configuration (BepInEx)

A config file is created on first run:
BepInEx/config/tony4twentys.Vasodilation.cfg

Warmth (host values sync to the room). Each is Cold per stamina spent (0.5 = half, 1 = 1:1) except emote, which is Cold per second.

  • Sprint = 0.5
  • Jump = 0.25 β€” standing jump
  • SprintJump = 0.25 β€” jump while sprinting
  • ClimbJump = 0.25 β€” wall sprint-boost (skipped in Alpine)
  • WallClimb = 0.5 β€” wall hang / move / re-grab (skipped in Alpine)
  • RopeClimb = 1.0 β€” climbing up a rope
  • VineClimb = 0.75 β€” climbing a vine
  • EmoteColdPerSecond = 0.01 β€” Dance, Crashout, Shimmy, Backflip, Wave, Bully

General (host values sync to the room)

  • ColdGateOn = 0.025 β€” Start warming once Cold is above this
  • ColdGateOff = 0.0 β€” Stop warming once Cold is at or below this

Debug (local only, not synced)

  • VerboseLogs = false β€” Log warmth about once per second per move. Leave off unless you are debugging

πŸ“¦ Installation

  1. Download the mod manually and extract the files
  2. Drop the .dll into your /PEAK/BepInEx/plugins/ folder
  3. Launch the game and the config will be generated automatically

πŸ”₯ Or use a mod manager πŸ”₯


πŸ‘‘ Credits

Author - mod created by tony4twenty
Check out my other PEAK mods


Stay fast. Stay warm. Stay alive.

CHANGELOG

Changelog

[2.0.0] - 2026-09-17

Rework for current PEAK. More ways to stay warm, stamina-based heat, and the same RaiseEvent host handshake as my other mods.

Warmth (was sprint-only in 1.2.2)

  • Per-move host-synced ratios: Sprint 0.5, Jump / SprintJump / ClimbJump 0.25, WallClimb 0.5, RopeClimb 1.0, VineClimb 0.75
  • Rope hang, vine hang, vine grab, and kicks do not warm
  • Wall climbing warms the same way except in Alpine (cold surfaces)
  • Infinite stamina / no real spend = no warmth
  • Emotes are the only fake: host EmoteColdPerSecond (default 0.01) for Dance, Crashout, Shimmy, Backflip, Wave, and Bully
  • Works with DanceTillYouDrop β€” allowed emotes keep warming for as long as that mod keeps you emoting them

Multiplayer (replaced 1.2.2's PhotonCustomPropsUtils room property)

  • Host handshake + config sync via Photon RaiseEvent 162 (tony4twentys.Vasodilation)
  • No more VASO_CFG_V1 room CustomProperties and no PhotonCustomPropsUtils dependency
  • If the host does not have Vasodilation, clients stay cold (even if they have the mod)
  • Host ratio / emote rate / gate values sync on join, late join, host migrate, and live config changes
  • Solo / offline works without waiting on a room property
  • Drops 1.x ColdPerSecond / TickSeconds instead of keeping dead config keys
  • Removed PhotoCustomPropsUtils dependency

[1.2.2] - 2025-09-16

  • Readded PhotonCustomPropsUtils dependency to improve the host handshake and config sync
  • Should also fix it not working in offline mode

[1.2.1] - 2025-08-24

  • Removede the leftover PhotonCustomPropsUtils dependecy stuff I didnt remove before previous update -_-

[1.2.0] - 2025-08-24

  • Host-authoritative behavior: effect only applies if the host has the mod; clients consume host ticks and settings.
  • Config sync: host writes room property VASO_CFG_V1 (pipe-packed); clients adopt host config on join and when updated.
  • Networking: per-actor ticks sent via Photon RaiseEvent (no PhotonView required); prevents scene-load hangs.
  • Reliability: broadcast ticks β†’ clients gate locally (must be sprinting & Cold > gateOff); hysteresis reduces flicker.
  • Compatibility: explicit IInRoomCallbacks / IMatchmakingCallbacks / IOnEventCallback implementations for PEAK’s PUN signatures; handles host migration (re-publishes config and restarts loop).
  • Debugging: new config Debug.VerboseLogs with detailed join, publish/receive, and tick apply/skip messages.
  • Fixes: resolved client not receiving effects under host configs; removed ambiguous Hashtable usage and invalid PhotonView IDs.

[1.1.0] - 2025-08-12

  • Checks if player has cold affliction before activating, removing unwanted VFX/SFX anytime the player runs

[1.0.0] - 2025-08-06

  • Initial release.