update debug actions

This commit is contained in:
JohnCorby 2023-09-02 23:04:46 -07:00
parent 55a9c533ab
commit 2c02873e78
2 changed files with 9 additions and 7 deletions

View File

@ -19,12 +19,12 @@ We recommend using the Outer Wilds Mod Manager, but you can use OWML on its own
- New Manager : Press the "..." button at the top, and select "Show OWML Folder". - New Manager : Press the "..." button at the top, and select "Show OWML Folder".
- `QSB.sln` should now be ready to open. ***This solution needs to be opened with Visual Studio 2022 or higher!*** - `QSB.sln` should now be ready to open. ***This solution needs to be opened with Visual Studio 2022 or higher!***
## Steam ## Multiple instances on Steam
If using the Steam version of Outer Wilds, you will need to create a file to allow you to run multiple instances of the game. If using the Steam version of Outer Wilds, you will need to create a file to allow you to run multiple instances of the game.
- Navigate to your game install folder. You can find this by right-clicking on the game in Steam, and going `Manage > Browse local files`. - Navigate to your game install folder. You can find this by right-clicking on the game in Steam, and going `Manage > Browse local files`.
- Create a file named `steam_appid.txt`. - Create a file named `steam_appid.txt`.
- In this file, write `753640` and save. - In this file, write `753640` and save. This file will override some Steam DRM features and allow the game to be ran multiple times at once.
This file will override some Steam DRM features and allow the game to be ran multiple times at once. - Either turn on "Force Exe" in the mod manager, or run OuterWilds.exe directly.
## Building ## Building
Simply build the solution normally. (`Build > Build Solution` or CTRL-SHIFT-B) Simply build the solution normally. (`Build > Build Solution` or CTRL-SHIFT-B)
@ -48,16 +48,18 @@ Use the API by copying [the API definition](https://github.com/misternebula/quan
## Debugging ## Debugging
### Debug Actions : ### Debug Actions :
Press Q + Numpad Enter to toggle debug mode in game (corresponds with the debug setting "debugMode" in the section below).
Hold Q and press : Hold Q and press :
- Numpad 1 - Teleport to nearest player. - Numpad 1 - Teleport to nearest player.
- Numpad 2 - If holding LeftShift, warp to the dreamworld Vault fire. If not, warp to the Endless Canyon. - Numpad 2 - If holding LeftShift, warp to the dreamworld Vault fire. If not, warp to the Endless Canyon. If already in dreamworld, pick up lantern.
- Numpad 3 - Unlock the Sealed Vault. - Numpad 3 - Unlock the Sealed Vault.
- Numpad 4 - Damage the ship's electrical system. - Numpad 4 - Damage the ship's electrical system.
- Numpad 5 - Trigger the supernova. - Numpad 5 - Trigger the supernova.
- Numpad 6 - Set the flags for having met Solanum and the Prisoner. - Numpad 6 - Set the flags for having met Solanum and the Prisoner.
- Numpad 7 - Warp to the Vessel. - Numpad 7 - Warp to the Vessel and insert the warp core.
- Numpad 8 - Insert the Advanced Warp Core into the Vessel. - Numpad 8 - Spawn a fake player. For Ghostbuster testing.
- Numpad 9 - If holding LeftShift, load the SolarSystem scene. If not, load the EyeOfTheUniverse scene. - Numpad 9 - If holding LeftShift, load the SolarSystem scene. If not, load the EyeOfTheUniverse scene.
- Numpad 0 - Revive a random dead player. - Numpad 0 - Revive a random dead player.

View File

@ -170,7 +170,7 @@ public class DebugActions : MonoBehaviour, IAddComponentOnStart
var dreamLanternItem = QSBWorldSync.GetWorldObjects<QSBDreamLanternItem>().First(x => var dreamLanternItem = QSBWorldSync.GetWorldObjects<QSBDreamLanternItem>().First(x =>
x.AttachedObject._lanternType == DreamLanternType.Functioning && x.AttachedObject._lanternType == DreamLanternType.Functioning &&
QSBPlayerManager.PlayerList.All(y => y.HeldItem != x) && QSBPlayerManager.PlayerList.All(y => y.HeldItem != x) &&
!x.AttachedObject.GetLanternController().IsLit() !x.AttachedObject.GetLanternController().IsLit() // lit = someone else is holding. backup in case held item isnt initial state synced
).AttachedObject; ).AttachedObject;
Locator.GetToolModeSwapper().GetItemCarryTool().PickUpItemInstantly(dreamLanternItem); Locator.GetToolModeSwapper().GetItemCarryTool().PickUpItemInstantly(dreamLanternItem);
} }