tony4twenty-Vasodilation icon

Vasodilation

Like the heat pack, whenever you sprint, you resist cold affliction. Keep moving to keep warm!

Last updated a week ago
Total downloads 9416
Total rating 1 
Categories Mods Quality Of Life All Clients
Dependency string tony4twenty-Vasodilation-1.2.1
Dependants 5 other packages depend on this package

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

Sprint to stay warm.
This mod gives your character a survivalist edge for the Alpines — whenever you sprint, you resist cold affliction. Keep moving to keep warm! - Cold reduction is minor — it won’t make you invincible, just buy you time. Only activates when the player has cold affliction.

Not just the Alpines but even at night when its start to get cold in Ascent 5!

Find the mod in the Peak Modding Discord under #mod-releases to discuss mod related topics like issues/reports/appreciation


💡 What It Does

  • 🏃 Sprinting reduces Cold over time — applied once per second.
  • 🌡️ Automatically adds a cold resistance effect exactly like heat packs.

🛡️ Host-Controlled Multiplayer

  • Host has mod → Clients with the mod get the effect using the host’s config.
  • Host doesn’t have mod → Nobody gets the effect (even if clients have it).
  • 🔁 Host migration → New host republishes config automatically and the loop restarts.
  • 🔒 Fair by design → No client-side advantage in lobbies where the host doesn’t approve.

⚙️ Configuration (BepInEx)

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

General

  • ColdPerSecond = -0.06 — Per-second Cold adjustment while sprinting (negative reduces Cold).
  • TickSeconds = 1.0 — How often the effect is applied.
  • ColdGateOn = 0.025 — Minimum Cold required to start applying the effect.
  • ColdGateOff = 0.0 — Minimum Cold required to continue applying once started.

In multiplayer, clients always use the host’s values above. Client local values are ignored.

Debug

  • VerboseLogs = false — When true, logs:

    • host/client role on join,
    • config publish/receive,
    • tick send/receive and whether a tick was applied or skipped (with reasons).

📦 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 the Thunderstore Mod Manager for 1-click install 🔥


  • Supports BepInEx
  • Safe for singleplayer and host-approved multiplayer

🔥 How It Works (Behind the Scenes)

  • Host config broadcast
    The host publishes a compact string (ColdPerSecond|TickSeconds|GateOn|GateOff) to the room property VASO_CFG_V1. Clients read this on join and whenever it changes, so everyone uses the host’s values.

  • Per-player ticks via Photon events
    The host sends a tiny RaiseEvent (code 113) every TickSeconds, targeted to each actor. This avoids PhotonView hacks and scene-load stalls.

  • Local gating on the client
    On receive, the client checks isSprinting and current Cold > gateOff. Only then is the effect applied — no effect when you’re not sprinting or when Cold is already low.

  • Effect application
    Applies Peak.Afflictions.Affliction_AdjustColdOverTime with statusPerSecond = ColdPerSecond for TickSeconds, repeating while you keep sprinting and the gate allows it.

  • Optional detailed logging
    Set Debug.VerboseLogs = true to log host/client role, config publish/receive, tick send/receive, and apply/skip reasons.

If the host doesn’t have the mod, no one gets the effect, even if a client does.


🔍 Troubleshooting

  • Client not getting the effect?

    • Make sure the host has the mod.
    • Set VerboseLogs = true on both host & client, sprint in a cold area for ~10s, then check BepInEx/LogOutput.log.
      • Host should show: "[Vaso] Sent tick -> actor X".
      • Client should show: "Tick applied" or "Tick ignored" plus sprinting/cold details.
  • Values not matching?

    • Clients always adopt the host’s config via room property sync. Change the host’s config and re-enter the room.

👑 Credits

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


Stay fast. Stay warm. Stay alive.