v1.0.0.1 - Speed Control & Noclip Overhaul
✨ New Features
Speed Control System
- Global Speed - Control game time scale (0.1x - 5.0x)
- Player Speed - Movement, Attack, and Combined speed multipliers
- Enemy Speed - Movement, Attack, and Combined speed multipliers
- Manual Input UI - Replaced sliders with precise manual input (+/- buttons and text fields)
- Quick Presets - One-click buttons for common values (0.25x, 0.5x, 1x, 2x, 5x)
- Projectile Speed Scaling - All spawned projectiles scale with player attack speed
- Attack Cooldown Scaling - Player attack cooldowns scale inversely with attack speed
Noclip System Overhaul
- Complete rewrite for working directions and transitions
- Proper scene transitions - Can now enter doors and transition points while in noclip
- Diagonal movement - All directions work simultaneously
- Configurable speeds - Normal speed (default 15) and Boost speed (default 30)
- Customizable boost keybind - Assign any key to speed boost (default: LeftShift)
- Uses game keybindings - Respects user's custom movement keys from game settings
- Auto-invincibility - Automatically enabled while noclip is active
Invincibility System Improvements
- User-controlled flag - Separate from game's internal
isInvinciblestate - Persistence - User-enabled invincibility survives game resets and noclip toggles
- UI updates - Player window shows user's intended state, not game's current state
Keybind System
- NoclipSpeedBoost - New customizable keybind for noclip acceleration
🔧 Bug Fixes
Noclip
- Fixed character slowly falling when noclip enabled (now uses transform.position)
- Fixed horizontal movement acceleration not working with Shift key
- Fixed inability to activate scene transition triggers
- Fixed diagonal movement (changed from
else ifto separateifstatements)
Invincibility
- Fixed invincibility being reset by game when user enabled it
- Fixed UI showing game's state instead of user's intended state
Speed Control
- Removed Environment Speed scaling (was causing issues)
- Fixed projectile speed not applying consistently to pooled objects
💻 Technical Changes
CheatSystem.cs
- Added
_noclipPos(Vector3) for position tracking - Added
NoclipSpeedandNoclipBoostSpeedconfig entries - Rewrote
ProcessNoclipMovement()to usetransform.positiondirectly - Uses
RigidbodyConstraints2D.FreezePositionfor physics control - Checks
HeroTransitionState.WAITING_TO_TRANSITIONfor trigger detection - Added
_userInvincibleflag with config persistence
ModKeybindManager.cs
- Added
ModAction.NoclipSpeedBoostenum value - Added
IsKeyHeld()method for continuous key detection - Default keybind: LeftShift
SpeedControlWindow.cs
- Complete UI rewrite with manual input fields
- Added +/- buttons for precise value adjustment
- Removed slider-based controls
PlayerWindow.cs
- Added inline noclip speed configuration (visible when noclip enabled)
- Changed invincibility button to use
CheatSystem.UserInvincible
📦 Files Modified
Player/CheatSystem.cs- Noclip and invincibility logicPlayer/PlayerActions.cs- Invincibility toggleMenu/Keybinds/ModKeybindManager.cs- New keybindDebugMenu/Windows/SpeedControlWindow.cs- UI rewriteDebugMenu/Windows/PlayerWindow.cs- Noclip speed settingsSpeedControl/SpeedControlConfig.cs- Removed environment speedSpeedControl/SpeedControlManager.cs- Removed environment speedSpeedControl/SpeedControlPatches.cs- Attack cooldown scaling
🎯 Upgrade Notes
This is a Pre-Alpha release. Configuration files may need to be reset after updates.
Default keybinds:
- Noclip Toggle: N
- Noclip Speed Boost: LeftShift
- Invincibility: I
Author: Catalyst (catalyst@kyokai.ru)
Telegram: @Catalyst_Kyokai