| Last updated | 7 hours ago |
| Total downloads | 41 |
| Total rating | 0 |
| Categories | |
| Dependency string | SpongeMods-SpongePEAKQOL-1.0.0 |
| Dependants | 1 other package depends on this package |
This mod requires the following mods to function
BepInEx-BepInExPack_PEAK
BepInEx pack for PEAK. Preconfigured and ready to use.
Preferred version: 5.4.75301SpongeMods-SpongePEAKCore
Shared foundation for Sponge PEAK mods: logging, config, reflection caching and patch hosting. Not a standalone mod.
Preferred version: 1.0.0SpongeMods-SpongePEAKLib
Modding API for PEAK, and a Mods tab in the game's own settings menu for toggling any installed mod's features.
Preferred version: 1.0.0README
SpongePEAKQOL
Quality-of-life improvements for PEAK, bundled with a toggle for every feature.
Sibling to SpongePEAKOptimized, deliberately kept separate. That mod is for fixes and performance, things that make the game work as intended. This one is for convenience, things that change behaviour because it is inconvenient rather than broken. Keeping them apart means you do not have to accept preference changes to get bug fixes.
Features
Every feature has its own setting in BepInEx/config/com.sponge.peakqol.cfg.
| Feature | Default | What it does |
|---|---|---|
BackpacksForEveryone |
on | Gives every player a backpack when a run starts, if they do not already have one. Host only. |
CatchFallingPlayers |
on | Cushions the landing of teammates who fall close to you, using the game's own catch mechanic. |
DroppablePassport |
on | Lets you drop and throw the Passport instead of it occupying a slot permanently. |
ExampleCustomItems |
on | Adds example cloned items (Grape Berrynana, Nuclear Dynamite) that spawn naturally. Demonstrates the item cloning API. |
GhostPing |
on | Lets dead players ping locations, so they can still help the group navigate. |
ItemInfo |
on | Shows remaining uses and details for the item you are holding. |
LastChanceCast |
on | Delays passing out while you are mid-cast, so a last-second item use is not wasted. |
MushroomInfo |
on | Shows what each mushroom does in this run, instead of learning by trial and error. |
Push |
on | Lets players shove each other. On by default; the host owns it for the whole lobby, because being pushed is not something the person falling gets to opt out of. |
RopeCutting |
on | Lets players cut a rope down so a badly placed one is not permanent. Refuses a rope with someone on it unless that guard is disabled. The host can switch it off. |
RopeSwinging |
on | Lets players swing on ropes rather than being dropped when the rope passes vertical. The host decides whether it is allowed for the lobby. |
TeammateStats |
on | Shows nearby teammates' stamina above their heads so you can tell who needs a rest. |
A note on LastChanceCast
This is the one feature here that changes outcomes rather than convenience, so it is worth being explicit: the reprieve lasts only while a cast is actively running. It cannot be held indefinitely. The moment the cast completes or is cancelled, the pass-out proceeds, and afflictions keep accumulating throughout.
It removes a timing coin-flip, not the consequence. If you would rather not have it, turn it off and the rest still works.
Compatibility
| Mod | Overlap |
|---|---|
Icebox-IForgorPassport |
same Passport drop/throw change |
IntRabbit-Last_Chance |
same mid-cast pass-out delay |
Yueby-ItemInfo |
same held-item readout |
Kirshoo-MushroomsNOW |
same mushroom effect display |
nickklmao-PeakStats |
same teammate stamina display |
boxofbiscuits97-GhostPing |
both allow pinging while dead |
tony4twenty-Catch_Players |
both cushion nearby falling players |
Nozz-BagsForEveryone |
both hand out backpacks at run start |
Determined by comparing the game methods and fields each mod touches against ours. Disable those if you have them, or disable the matching feature here.
Not tested running side by side with them in a live session.
Prior art
Independent implementation, written against PEAK's own assemblies. The problems it addresses were identified by the mods listed above.
Custom items
ExampleCustomItems demonstrates the item cloning API in SpongePEAKLib: new items built from
existing ones, with recolouring, scaling, custom effects and natural spawning. Two examples
ship, and are enabled by default. They are additive: nothing vanilla stops spawning.
- Grape Berrynana — a purple berrynana whose effect changes with each cook: drowsy and mildly filling raw, properly filling at two cooks, poisonous when burnt. Spawns in jungle berry bushes and luggage.
- Nuclear Dynamite — five times the size, green, two hundred times the blast and two hundred times the force on loose objects, and it leaves a poison cloud. Rare, deep-biome luggage only, and barred from solo runs.
Like any content mod, everyone in the lobby should have it installed. Item ids are derived by hashing the item name rather than allocated in order, so every player independently arrives at the same id for the same item, whatever else they have installed. No coordination needed.
A player who is missing the mod will see log errors and be unable to pick the item up, but their game keeps running rather than breaking.
Host-only features
BackpacksForEveryone is host-driven by necessity: spawning is networked, so if every client
did it independently each player would get one backpack per client in the room. If the host
does not have this mod, the feature does nothing regardless of what clients have installed.
Everything else is local and works for you whatever the host is running.
Requirements
BepInEx, SpongePEAKCore and SpongePEAKLib. r2modman installs these automatically.
License
Free to use, stream, and include in modpacks. No attribution needed for any of that.
Attribution is only required if you decompile it and reuse the code. Please do not reupload it elsewhere or sell it.
Full terms in LICENSE.
Keybinds
| Key | Opens | Setting |
|---|---|---|
| F7 | Mushroom effect list | MushroomInfo_ToggleKey |
| F | Push the player you are looking at | PushKey |
| G | Cut the rope you are looking at | RopeCutKey |
All rebindable, in the config file or in Settings > Mods.
Configuration
Every setting is in BepInEx/config/com.sponge.peakqol.cfg, or in the game's own
Settings > Mods tab.
Communication
| Setting | Type | Default | What it does |
|---|---|---|---|
GhostPing |
on/off | true |
Lets dead players ping locations, so they can still help the group navigate. |
Display
| Setting | Type | Default | What it does |
|---|---|---|---|
ItemInfo_ShowUses |
on/off | true |
Shows remaining uses for consumable items. |
ItemInfo_FontSize |
number | 18 |
Font size for the held-item readout. |
MushroomInfo_ToggleKey |
key | F7 |
Key that shows or hides the mushroom effect list. |
MushroomInfo_StartVisible |
on/off | false |
Whether the list is shown without pressing the toggle key. |
MushroomInfo_FontSize |
number | 15 |
Font size for the mushroom effect list. |
TeammateStats_ShowNames |
on/off | true |
Shows each teammate's name above their stamina bar. |
TeammateStats_MaxDistance |
number | 30 |
Metres within which a teammate's stamina is shown. |
ItemInfo |
on/off | true |
Shows remaining uses and details for the item you are holding. |
MushroomInfo |
on/off | true |
Shows what each mushroom does in this run, instead of learning by trial and error. |
TeammateStats |
on/off | true |
Shows nearby teammates' stamina above their heads so you can tell who needs a rest. |
Items
| Setting | Type | Default | What it does |
|---|---|---|---|
Backpacks_PrefabName |
text | Backpack |
Name of the backpack prefab to spawn, resolved under the game's 0_Items resource path. |
Backpacks_SpawnDelaySeconds |
number | 3 |
Seconds to wait after a run starts before handing out backpacks, so inventories are ready. |
DroppablePassport |
on/off | true |
Lets you drop and throw the Passport instead of it occupying a slot permanently. |
BackpacksForEveryone |
on/off | true |
Gives every player a backpack when a run starts, if they do not already have one. Host only. |
ExampleCustomItems |
on/off | true |
Adds example cloned items (Grape Berrynana, Nuclear Dynamite) that spawn naturally. Demonstrates the item cloning API. (replaces (new behaviour)) |
Movement
| Setting | Type | Default | What it does |
|---|---|---|---|
RopeSwingMaxAngle |
number | 150 |
How far past vertical a rope may swing before it drops you, in degrees. The game uses 90. Higher allows a fuller swing; beyond about 170 the rope can invert and look wrong. |
PushKey |
key | F |
Key that shoves the player you are looking at. Only works when the host allows pushing. |
PushForce |
number | 18 |
Impulse strength. Around 18 is a firm shove; much higher launches people, which is funny once and then ends someone's run. |
PushRange |
number | 3.5 |
How close you must be, in metres. |
PushCooldown |
number | 1 |
Seconds between pushes. Prevents holding the key from stunlocking someone and flooding the room with RPCs. |
RopeCutKey |
key | G |
Key that cuts the nearest rope. Only works when the host allows rope cutting. |
RopeCutRange |
number | 3 |
How close to the rope you must be, in metres. |
RopeCutRequireEmpty |
on/off | true |
Refuse to cut a rope somebody is currently climbing. Turning this off allows dropping other players, which is why the host rule exists at all. |
RopeSwinging |
on/off | true |
Lets players swing on ropes rather than being dropped when the rope passes vertical. The host decides whether it is allowed for the lobby. |
Push |
on/off | true |
Lets players shove each other. On by default; the host can switch it off for the being pushed is not something the person falling gets to opt out of. |
RopeCutting |
on/off | true |
Lets players cut a rope down so a badly placed one is not permanent. Refuses a rope with someone on it unless that guard is disabled. The host can switch it off. |
Survival
| Setting | Type | Default | What it does |
|---|---|---|---|
LastChance_Enabled |
on/off | true |
Holds off passing out while an item cast is in progress. The reprieve ends as soon as the cast finishes or is cancelled. |
Catch_Radius |
number | 4 |
Metres within which a falling teammate's landing is cushioned. |
Catch_MinFallSeconds |
number | 0.6 |
How long someone must have been airborne before catching applies, so ordinary jumps are ignored. |
LastChanceCast |
on/off | true |
Delays passing out while you are mid-cast, so a last-second item use is not wasted. |
CatchFallingPlayers |
on/off | true |
Cushions the landing of teammates who fall close to you, using the game's own catch mechanic. |