tony4twenty-Summit_Supply_Shop icon

Summit Supply Shop

An attempt at making a magical instant shop that uses coins found when opening luggage

Last updated 3 days ago
Total downloads 699
Total rating 0 
Categories Mods All Clients
Dependency string tony4twenty-Summit_Supply_Shop-1.0.1
Dependants 1 other package depends on this package

This mod requires the following mods to function

BepInEx-BepInExPack_PEAK-5.4.2403 icon
BepInEx-BepInExPack_PEAK

BepInEx pack for PEAK. Preconfigured and ready to use.

Preferred version: 5.4.2403
Snosz-PhotonCustomPropsUtils-1.1.0 icon
Snosz-PhotonCustomPropsUtils

Helps modders easily synchronize room/player properties across all connected clients through Photon's Custom Properties.

Preferred version: 1.1.0

README

🏪 Summit Supply Shop

Summit Supply Shop transforms your PEAK runs with a dynamic in-game shop system that lets you spend coins found in luggage on essential mountain gear. Earn coins by opening luggage, then spend them on items that spawn directly into your inventory or above your head when your slots are full!

Any bugs, feedback, or hype can be launched directly into the PEAK modding discord
Find it in #mod-releases under the same name!


🆕 What's Here!

Smart Inventory Management

  • Intelligent Item Placement: Items automatically go to your inventory first, then backpack slots
  • Backpack Auto-Equip: Buying a backpack without one equipped automatically equips it
  • Fallback Spawning: When inventory is full, items spawn above your head like ItemSpawner
  • Special Backpack Handling: Prevents backpack-in-backpack issues

🚀 Performance Optimizations

  • Coroutine-Based Input: Replaced Update() with efficient coroutine system (10fps input detection)
  • UI Caching: All expensive UI calculations cached and only recalculated when needed
  • Cursor State Management: Optimized cursor handling to prevent flickering
  • Memory Optimization: Cached item icons, fonts, and biome detection

🎵 Enhanced Audio System

  • Coin Collection Sounds: Audio feedback when finding coins in luggage
  • Spending Sounds: Audio feedback when purchasing items
  • Retry System: Automatic audio reloading if initial load fails
  • Configurable Volume: Adjustable audio volume settings (untested)

🌐 Robust Multiplayer Support

  • Host Handshake System: Reliable host detection and permission management
  • Config Synchronization: All clients automatically receive host's shop settings
  • PhotonCustomPropsUtils Integration: Uses proven networking system for stability
  • Automatic Retry: Multiple handshake attempts ensure reliable multiplayer sync (hopefully)

🔧 Core Features

💰 Coin Economy System

  • Luggage Mining: Open luggage to find coins based on configurable min/max values
  • Biome-Based Rewards: Different luggage types can give different coin amounts in different biomes
  • Visual Feedback: Coin notifications show how many coins you found
  • Persistence Options: Choose whether coins carry over between runs

🛒 Dynamic Shop Interface

  • Scrollable Grid: Clean, organized item display with icons and prices
  • Real-Time Affordability: Button colors change based on your coin balance
  • Responsive Design: Automatically adapts to screen size and item count

📦 Smart Item Delivery

  • Inventory Priority: Items go to hands/pockets first, then backpack slots
  • Backpack Intelligence: Special handling for backpack purchases
  • Overflow Protection: Items spawn above head when inventory is completely full

⚙️ Configuration Options

Shop Access

Key Default Description
OpenSummitSupplyShop F9 Key to open/close the shop
UseModifierKey false Require modifier key to open shop
ModifierKey LeftControl Modifier key when required

Coin System

Key Default Description
PersistCoinsBetweenRuns true Keep coins when returning to airport
CoinVolume 0.5 Volume for coin collection/spending sounds

Luggage Rewards (Per Luggage Type)

Key Default Description
LuggageMin_[Type] 1-5 Minimum coins from each luggage type
LuggageMax_[Type] 3-10 Maximum coins from each luggage type

Item Pricing (Per Item)

Key Default Description
ItemPrice_[ItemName] 5-50 Cost in coins for each item
ItemEnabled_[ItemName] true Whether item appears in shop

UI Settings

Key Default Description
ItemWidth 200 Width of item buttons in shop
ItemHeight 200 Height of item buttons in shop
ItemIconSize 128 Size of item icons
Spacing 2 Spacing between item buttons

📦 Installation

  1. Download via Thunderstore manually
  2. Extract the .dll file to: /PEAK/BepInEx/plugins/
  3. Run the game to generate a config file

🔥 Recommended: Use Thunderstore Mod Manager for easy installation and updates! 🔥

Dependencies: Requires PhotonCustomPropsUtils for multiplayer functionality.


🎮 How to Play

Basic Usage

  1. Start a Run: Begin any PEAK run (solo or multiplayer)
  2. Find Luggage: Open luggage containers to collect coins
  3. Open Shop: Press your configured key (default: F9) to open the shop
  4. Browse Items: Scroll through available items with icons and prices
  5. Purchase: Click "Buy" on items you can afford
  6. Receive Items: Items automatically go to your inventory or spawn above you

Multiplayer Behavior

  • Host Controls: Only the host can modify shop settings
  • Automatic Sync: All players receive the host's shop configuration
  • Fair Play: Everyone uses the same item prices and availability
  • Reliable Connection: Multiple handshake attempts ensure stable multiplayer

Smart Item Management

  • Inventory First: Items try to go to your hands/pockets first
  • Backpack Second: If inventory is full, items go to backpack slots
  • Overflow Spawning: When everything is full, items spawn above your head
  • Backpack Special: Buying a backpack auto-equips it if you don't have one

Debug Features

  • Debug Mode: Press PageDown to toggle debug mode and add 10 coins
  • Comprehensive Logs: Check BepInEx console for detailed operation logs
  • Error Recovery: System automatically handles and recovers from errors

🛠️ Technical Features

Performance Optimizations

  • Coroutine Input: 10fps input detection instead of 60fps Update()
  • UI Caching: Expensive calculations cached and only updated when needed
  • Memory Management: Cached item icons, fonts, and biome detection
  • Efficient Rendering: Optimized GUI drawing with minimal per-frame overhead

Reliability Systems

  • Error Handling: Comprehensive try-catch blocks with detailed logging
  • Retry Mechanisms: Automatic retry for audio loading and network operations
  • State Validation: Extensive null checks and state verification
  • Graceful Degradation: System continues working even if some features fail

Multiplayer Architecture

  • PhotonCustomPropsUtils: Uses proven networking system for stability
  • Host Authority: Clear host/client role separation
  • Config Serialization: Efficient string-based config data transmission
  • Event-Driven Updates: Real-time synchronization of shop changes

👨‍💼 Author

Made by tony4twenty
Check out my other PEAK mods