darmuhsTerminalStuff
A collection of custom commands made with Terminal API
Date uploaded | 11 months ago |
Version | 2.1.0 |
Download link | darmuh-darmuhsTerminalStuff-2.1.0.zip |
Downloads | 12282 |
Dependency string | darmuh-darmuhsTerminalStuff-2.1.0 |
This mod requires the following mods to function
darmuh-OpenLib
Open-source development library for LethalCompany, initially created for use with darmuh's Mods
Preferred version: 0.2.6README
darmuhsTerminalStuff
List of Commands (current version):
-Home (home) info command
-More (more) info command
-Comfort (comfort) info command
-Extras (extras) info command
-Tools (tools) info command
-Functionality (fun, functionality) info command
-Lobby (lobby) info command
-Quit (quit)
-Door (door)
-Lights (lights)
-Loot (shiploot, loot)
-Cams (cameras, cams)
-MiniMap (minimap)
-MiniCams (minicams)
-Overlay (overlay)
-lol (lol)
-Clear (clear)
-Heal (heal, healme)
-Fov (fov <#>)
-Gamble (gamble <#>)
-Lever (lever)
-Danger (danger)
-Vitals (vitals <playername>)
-VitalsPatch (vitalspatch)
-Inverse Teleport (itp, inverse)
-Teleport (tp, teleport)
-Modlist (modlist) info command
-Kick (kick <playername>)
-BioScan (bioscan)
-BioScanPatch (bioscanpatch)
-Flashlight Color (fcolor "colorname")
-Flashlight Color List (fcolor list) info command
-ShipLights Color (scolor "all/front/middle/back" "colorname")
-ShipLights Color List (scolor list) info command
-Always-On Display (alwayson)
Change Log
All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog. This project does not adhere to Semantic Versioning at this time.
FYI Section
NOTES:
- When updating this mod DELETE THE OLD CONFIG FILE and let it generate a new one on first launch with the update.
- Please feel free to request changes or new features at my github here
- Also please do report any bugs you find there as well.
- If you're not a fan of GitHub, I'm also fairly active on the LethalCompany Modding Discord managed by Thunderstore. I post updates on WIP features there whenever i'm messing with something new.
- Colors are CLIENT SIDE ONLY. You will not see other player's color change settings.
- Terminal Always-On Display is CLIENT SIDE.
Work for future updates
- minimap/minicams/overlay: Configuration options to make these purchasable upgrades. Not highly desired but I think it'd be nice to have the option.
- minimap/minicams/overlay: Configurable Opacity levels for these.
- more custom configurable keywords
- more door commands: Purchasable upgrade for the door open/close system (maybe, this might only be possible for the host player)
- Terminal customization (colors, etc.)
- More fun-type commands such as roll-the-dice, expanded gambling games, etc. (maybe even tie in a wager system with the game itself)
- Networked flashlight colors if I ever figure out custom networking for this mod :)
Requested Features from Community
late join command: a feature similar to latecompany that can be toggled- Terminal customization (colors, etc.)
- Control terminal via chat, believe this has already been done by another mod (is it compatible?)
- ITP/TP: Add cooldown time to terminal display message when you cant use it yet.
[2.1.0] CURRENT VERSION
Added/Changed
- CHANGED CONFIG STRUCTURE AGAIN: Please delete your old config upon updating and let the mod generate a new one.
- (Config) The update config now has which command belongs to which in-game category (if you type more).
- CUSTOM KEYWORDS: Added a handful of configurable keywords. Take a look at the new config file to see what you can change!
- lol: Reworked lol command to use the terminal's built in videoplayer and it will now display videos directly on the terminal!
- scolor: added scolor command to change the color of the base lights in the ship.
- (scolor) this command changes 3 separate light colors which are labeled "front", "middle", and "back"
- (scolor) when using the command you specify what lights you want to change or simply type all for your selection.
- (scolor) the third argument in this command is the color name. Like with fcolor you can see a list of these using "scolor list"
- proview/minimap: changed keyword/name of the proview command to "minimap"
- minicams: added inverse command of minimap where the cam is the small screen.
- lights: finally added a command to toggle the lights in the ship
- Always On Display: Added alwayson command that allows you to disable leaving the terminal screen on all the time or not.
- lobby: As this was the oldest command in this mod I've updated it to be a bit more streamlined and pull from the same variable for both host/client.
Fixed
- TP/ITP: Fixed issue where you would be trying to buy either an inverse teleporter or a regular teleporter and these command would trigger instead.
- (TP/ITP) You now won't be able to use these commands until you have a teleporter of the type required to run it.
- From my own testing if everyone is using this mod the radar switch will be synced between players, so I've removed this as a known issue.
- fcolor: Fixed the issue where this command would accept any color name instead of returning invalid for incorrect colors.
Known issues/bugs
- fcolor: Flashlight colors are only client side. Fixing this would require adding networking to this mod.
- (fcolor networking) This probably won't be implemented any time soon. I've done some internal testing but still running into issues with this implementation.
Historical Patch Notes
[2.0.3]
Added
- fcolor: added command "fcolor list" to see what colors are available to choose from per request.
- (fcolor) also added normal/default color keywords to set back to "normal" flashlight color (white)
Fixed
- switch: This base command was having weird interactions with all the different cams commands
- (switch) Also a popular mod "FastSwitchPlayerViewInRadarMOD" was having some compatability issues with the new cams hooking logic
- (switch) I've fixed all of these issues and hopefully this mod should remain compatible with any other mods that utilize the vanilla "ViewInsideShipCam 1" object name.
- lever: Pretty sure I fixed having to pull the lever twice.
- (lever) Turns out the reason for this was that the game requires a wait between changing levels (moons) and starting the game
- fcolor: Reworked command so that it works without errors. As long as you have a flashlight in your inventory it will change the color.
- (fcolor) If you have two flashlights on you it will only change the color for one. This is intended.
[2.0.2]
Fixed
- heal/healme: Fixed typo in command causing heal function to not properly heal.
- door: Fixed door command not opening the door for non-host players.
[2.0.1]
Fixed
- devtest: Removed my devtest command from active released patch. Luckily was linked to door command in 2.0.0 so no real damage could be done.
- fcolor: Fixed missing null check handling case where player has never held a flashlight.
- (fcolor) Also fixed flashlight colors not updating for your specific flashlight, was originally just looking for ANY flashlight.
- config: Updated config description for enemyScanCost to actively reflect that it is for the "bioscan" command to avoid confusion.
[2.0.0]
Added
- MAJOR REWORK OF COMMAND HANDLING: Removed some convuluted logic in handling digits, added confirmation checks, and overall improved command to command interactions.
- (MAJOR REWORK) This is the main reason for updating version number to 2.0.0, rather than calling this anything in 1.X.X
- Terminal Menus: Updated start screen & help command with my own information.
- (Terminal Menus) Added (more) command to see commands added from this mod
- (Terminal Menus) (more) This will list 4 separate category commands to choose from (comfort) (extras) (controls) (fun)
- (Terminal Menus) (comfort) Lists all the quality of life commands you have added.
- (Terminal Menus) (extras) Lists all enabled commands that add extra functionality to the ship terminal.
- (Terminal Menus) (controls) Lists all enabled commands that give terminal more control of the ship's systems.
- (Terminal Menus) (fun) Lists all the for-fun commands that are enabled.
- (Terminal Menus) (comfort)(extras)(controls)(fun) All of these are also dynamic based on config options set.
- (Terminal Menus) Added (home) command to go back to the start screen you see when first using the terminal.
- Configurable Strings: Updated a majority of commands to have configurable strings.
- (Configruable Strings) This will allow you to change the messages returned for most commands. Some commands will not have this feature implemented, some just haven't yet.
- Gamble Update: Updated various elements of the gamble command
- (gamble) Added a minimum credits requirement Config option. Set this to 0 if you want to be able to gamble it all!
- (gamble) Added configurable Pity Mode. If enabled, this will give the biggest losers a configurable amount of "Pity Credits" (Max 60 to avoid abuse)
- lever: Added a configuration variable for overriding new confirmation check.
- lol: Added the option to configure a different folder to play videos from than the main plugin folder. (Credit to )
- (lol) make sure when using your own folder it is in the Bepinex/Plugins folder.
- itp: Added Inverse Teleport command to control the inverse teleporter from the terminal.
- door: Added door command to control the Ship Doors from the terminal.
- (door) Credit to NavarroTech as I used their code for reference.
- map: Added map keyword for "view monitor" command and removed the loadimageslowly setting so it shows instantly.
- (map) I can add the loadimageslowly as a config option later if there is demand for it.
- (map) Also should interface better with the other set of cams commands as of this patch.
- proview: Added command that shows BOTH cams and radar map at the same time.
- (proview) radarmap is put in the top right corner in a smaller box on top of the cams feed.
- overlay: Added command that shows BOTH cams and radar map on top of eachother.
- (overlay) Idea from @usb. on discord. Radar feed is superimposed onto the camera feed.
- (proview/overlay) Both accomplish relatively the same thing. I may make these purchaseable upgrades in upcoming patches, for now they are only enable/disable in the config.
- bioscan: Added a bioscanner that scans for biomatter (enemies).
- (bioscan) Has a default configured cost of 15 credits per scan.
- (bioscan) Can also be upgraded via bioscanpatch command.
- bioscanpatch: Upgrades the default bioscan "software" to 2.0. Which gives more detailed information on biomatter (enemies that are alive)
- (bioscanpatch) default configured cost of 300 credits, seemed fair to me but could use testing.
- (bioscanpatch) Does not remove the cost requirement to run the bioscan command. I can add this option in future updates if requested enough.
- (bioscanpatch) Like vitals, balancing is just abritralily set by me. Could use actual game testing to see what values are best.
- vitalspatch: Purchasable Vitals Software patch that allows for vitals to be run anytime with no further cost.
- (vitalspatch) You can configure the cost for this upgrade to whatever you want, 200 credits made sense to me.
- (vitalspatch) If you have your original vitals command set to charge 0 credits this really doesn't need to be enabled.
- fcolor: Added command to change flashlight color. Usage: fcolor <colorname>
- (fcolor) there is a limited number of colors available. More can be added by request.
- (fcolor) if requesting colors be added, please provide the rgb value of the color.
- (fcolor) Current list of available colors: blue, cyan, green, lime, magenta, pink, purple, red, yellow, samstro, and sasstro.
Changed
- gamble: Now has a confirmation check so you can't blame me if you gamble it all away lol
- lever: Now has a configuration check
- heal: Updated heal logic to now say you were healed if you have less than 100 health but more than 10.
Fixed
- kick: Base game pushed out a hotfix for the kick function and I believe this has resolved any issues with the kick command in current mod.
- (kick) will leave disabled by default as there doesn't seem to be too much demand for this feature anymore.
- modlist: Config was not set up properly and this command was always enabled regardless of config option.
[1.2.1]
Fixed
- kick: Completely reworked command, was not kicking players and throwing errors in previous patch. (only works in game version v40 and earlier)
- (kick) Will accept as little as 3 characters of any name in the lobby and kick them now.
- (kick) May need to create another couple commands to kick via playerID# as players without english names are hard to kick through terminal.
- (kick) Also, I believe the current iteration of this command will not allow the player to join again until the lobby is remade. Requires testing.
[1.2.0]
Added
- danger: checks Hazard level of moon once ship has landed.
- vitals: checks health, weight, sanity, and flashlight charge of player being tracked by map radar.
- vitals cost: configuration for how much credits the "vitals" command will cost to run.
- tp/teleport: presses the teleport button from the terminal.
- modlist: returns mods that were loaded by Bepinex and the associated version numbers.
- kick (EXPERIMENTAL): allows the host to kick players from the lobby via terminal command. WARNING: This command is untested and therefore defaults to off at this time.
Changed
- lol: Made this command functional. Selects from an array of found videos in the plugin folder and plays a random video.
- (lol) You can type lol again to toggle the video off if you want to end it early.
- (lol) Video files should go in the "darmuh-darmuhsTerminalStuff" folder.
- (lol) Thanks to flipf17 for their work on TelevisionVideo, used their code for reference.
- Config: format has been changed, each command has it's own category now in case I want to add more variable specific commands like vitals' cost.
- Updated readme.md for better readability
Fixed
- Fixed typo in lever command configuration values, thank you @glitched4772 on discord for reporting this.
[1.1.2]
Fixed
- gamble: results were not updating for all players. Fixed this with setting both client/server credit values.
- lever: added host check for when the game hasn't been started.
[1.1.1]
Fixed
- Plugin version number was set incorrectly in 1.1.0, fixed in 1.1.1
[1.1.0]
Added
- gamble: command to gamble percentage of ship credits out of 100%.
- fov: command to change Fov from the terminal, requires Fov_Adjust mod by Rozebud.
- lever: command to "pull the lever" from the terminal (start ship/game).
[1.0.0]
Added
- lol: plays a funny video, doesn't work.
- lobby: displays current lobby name.
- cams: displays ship cameras to terminal screen, compatible with helmetcams/bodycams mods. Thanks to RickArg as I used their code for reference.
- quit: quits terminal
- loot: shows loot available on ship, thanks to tinyhoot for their ShipLoot plugin. I used their code for reference however their plugin is not required.
- clear: clears terminal of existing text.
- heal: Command to heal self, thanks to Thorlar for their HealthStation mod. Used their code for reference (not required for this mod).
- Configuration system to enable/disable above commands.
CHANGELOG
Change Log
All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog. This project does NOT adhere to perfect Semantic Versioning. Mostly because I don't have the time to learn how to use it.
[3.6.8]
- Fixed issue with vitals and bioscan upgrades persisting to different game saves. They are now added to a key in the game save.
- Fixed issue with credits not being reduced for upgrades (bioscan/vitals) purchased.
- Added handling for screen logic when spectating for the different possible modes.
- Improved flashlight color handling. You no longer need to be holding a flashlight to run the command and it will now save your preference.
- Already modified flashlights will not be changed and your helmet light color will update to any flashlight you are holding.
- Rainbow flashlight coroutine will stop and start depending on if you have an active flashlight.
- Setting flashlight color preference to "default" or "normal" will return the color to it's default.
- Fixed issue with CruiserTerminal blocked command page still running the blocked command's added logic. (ie. tp still teleporting the player)
[3.6.7]
- Fixed issue with gamble command where input failures would cause the terminal to get stuck waiting for a confirm/deny
- Thanks @weoneguy for the report on discord
- Fixed/Updated tp name matching to properly take input for a player name and tp the best matching name
- Added handling for when no names match the input provided to the better name matching used by switch & tp
[3.6.6]
- Added Soft-Compatibility for CruiserTerminal.
- Commands that quit the terminal now properly quit from the CruiserTerminal
- Added config items to permit/deny certain keywords from the cruiserterminal. Use the CruiserKeywordList as either a permit or deny list.
[3.6.5]
- Added config item [TerminalInputMaxChars] to adjust maximum character input for the majority of terminal nodes. Leave at -1 to make no changes.
- Updated handling for switch command matching to a player name per request from @thephxrises on the modding discord
- Now uses a similar method to the conflict resolution feature.
- I was unable to test this as much as I'd like so let me know if there's any issues.
- Completely reworked Always-On Display handling for the different TerminalScreen settings.
- Should have fixed issue reported by @aglitchednpc and @moroxide which was causing clients not to be able to type in the terminal sometimes.
- Now utilizes new events in OpenLib that are called from changes detected in different Update patches.
- Performance difference should be negligible or only positive in theory, but please report if you experience any issues.
- Fixed issue reported by @thundershocker1 on the modding discord where the map radar would disappear on reloading "view bodycam" from OpenBodyCams in specific configurations.
- Fixed issue in OpenLib with confirmation keywords reported by @_stormyy on the modding discord.
- Fixed issue reported by @mmiinnaa11 on the modding discord with Home text not being customizable without enabling TerminalCustomization setting (this is only intended to disable colors)
[3.6.4]
- Fixed issue discovered with certain mod configurations that would brick the terminal.
- This was related to the recent changes in 3.6.0 that added a transpiler for BeginUsingTerminal
- Fixed various issues with cams implementations, including compatibility with suitsTerminal when both mods are using OpenBodyCams.
- Thank you @moroxide for the help in troubleshooting this.
[3.6.3]
- Moved Homebrew cam stuff to OpenLib.
- Various fixes within OpenLib for the homebrew cams.
- Additional Compatibility with suitsTerminal (requires OpenLib update)
- Updated to utilize latest version of OpenLib (0.2.3)
- Additional suitsTerminal built-in compatibility
- Added home page text customization to be refreshed with terminal color customizations
[3.6.2]
- Hotfix for fcolor command (thanks @chrono57 for the report and testing)
[3.6.1]
- Fixed issue discovered with purchase packs where if you had exactly the amount it costed you could not buy it (thanks @frostycirno for the report)
- Added config item to disable more menu creation. When more menus is disabled any new commands will be added directly to the "Other" command listing.
- Replaced TextPostProcess postfix for zeekers' typo with a transpiler to search for the typo and fix it only once
- Fixed issue discovered with Store listing not updating when networkednodes is enabled. (thanks pacoito for the report & testing)
- Updated handling for homebrew cams to use new functions in OpenLib (this will probably be moved to OpenLib in a future update)
- Also improved visibility to remove local player arms in homebrew cams views whenever they are visible (please report any issues with this)
- Added handling for when OpenBodyCams' view bodycam command is set to be added to the terminal.
- This view does not have built in compatibility with my cams views so they will be disabled when this command is enabled.
- Updated OpenLib version requirement
[3.6.0]
- Fixed issue of causing errors when typing nothing but spaces in the terminal.
- Removed default videos from the mod. They will be reuploaded under their own video pack as darmuhsTerminalVideos
- Formatting of config items has been standardized, this will result in many items resetting to default for this update
- Automatic info commands added with OpenLib 0.2.0
- Moved OpenBodyCams stuff to OpenLib for better standardization
- fixed issue where mirror cam positioning would break
- Added new config item [Mirror2DStyle] to switch between mirror camera styles
- default mirror style is a new style, switch to 2d for previous patch version
- Added ShipInventory compatibility for loot commands added by this mod
- All view commands (cams, minicams, overlay, etc.) have been refactored completely
- Updated handling of all commands to allow for multiple configured keywords
- Removed CachedTerminalPages config item in favor of new [TerminalStartPage] config option
- you can put any keyword here to load when entering the terminal
- Leave blank or set to "None" to not change terminal page when entering the terminal
- Saving last terminal input feature has been associated to new config item [SaveLastInput]
- Switched random functions from UnityEngine to System as I've read System random is a bit better
- Created ShipReset public event for other mods to subscribe to when lobby is fast reset (fired without cutscene)
- Added error handling for Conflict Resolution throwing null values
- General code cleanup and optimizations
[3.5.10]
- Hotfix for issue where having cached pages disabled would make it seem like they are still enabled when screen was set to always be on.
- Issue was just that when you started using the terminal, nothing would load. So the last page you had would be what you'd see.
- May adjust/simplify this feature in the future.
[3.5.9]
- Hotfix for default video folder config not working following 3.5.7
- Also added new result page for when no videos are present in the folder specified by [videoFolderPath]
[3.5.8]
- Added null check in Conflict Resolution for nouns that do not have a defaultVerb property which was throwing errors for some people.
[3.5.7]
- Added better handling of default "view monitor" command.
- Will now display a new page for users when the keyword is not already replaced.
- Added new config item [obcRequireUpgrade] which will disable any commands that use a bodycam until the unlock has been purchased.
- Commands that will show a new message telling the user the bodycam upgrade is required: terminalCams, terminalMinimap, terminalMinicams, and terminalOverlay.
- Updated handling for keeping the screen on. There shouldnt be any noticeable difference but it helps on the backend.
- Added a simple transpiler patch to disable the vanilla behaviour of loading different nodes when you start using the terminal.
- This mod is now fully responsible for loading a node when you first start using the terminal.
- Fixed some issues with terminal video handling such as:
- extra (unnecessary) folder being created for video packs
- videos restarting when leaving/reentering the terminal causing desyncs with other players.
- Hopefully fixed some minor desync issues with networked nodes.
- Added config item [alwaysUniqueVideo] which will ensure a unique video is always played when running the videoplayer command.
- When enabled, this setting will shuffle all of the videos into a list. Each time a video command is run it will play a video from the list until it reaches the end of the list. Then a new re-shuffled list will be created.
- Added priority handling so that Store commands will always take priority over Moons routing commands with ConflictResolution enabled.
- I can add this as a configurable in the future if requested.
- Removed alwaysOnAtStart & alwaysOnDynamic in favor of new Quality of Life setting - [TerminalScreen]
- this can be set to one of the following modes:
- nochange (screen will follow vanilla behavior and remain untouched)
- alwayson (screen will stay on at all times)
- inship (screen will stay on while you are in the ship)
- inuse (screen will only stay on when someone is using the terminal)
- this can be set to one of the following modes:
- Renamed alwaysOnWhileDead and aodOffDelay config items to ScreenOnWhileDead and ScreenOffDelay
[3.5.6]
- Hotfix for minor issue with cached terminal pages
[3.5.5]
- Added config item [routeOnlyInCurrentConstellation] for LethalConstellations support.
- Enabling this will make it so route random will only choose a moon from the current constellation.
- Fixed Lever command only ever working once.
- Thanks @slonzyjr on discord for the report.
- Hopefully fixed cached terminal pages issues such as
- blank page on lobby reload
- incorrect moons/store pages when other mods modify the text in post process
- Updated networked nodes to hopefully better handle when other mods modify a terminal page's text in post process
- Added [StartingCreds] configuration item to modify a new game's starting credits.
- leave at -1 to leave the game untouched, will not revert any changes that were already made.
- Updated default TerminalCustomization colors to use the game's default values.
- You can either revert to the default config item, leave it blank, or type "default" to revert any changes on next customization refresh.
- Updated conflict resolution to prioritize moon/store items over any other keyword.
- This will mean if you want to access a bestiary item or any other non-store/moon word it will likely require a more precise query.
- If you are having any further issues with conflict resolution after this update please report them to me with logs (enable all logging configuration options and reproduce the issue)
- Compiled for the latest version of LethalCompany.
[3.5.4]
- Updated cached terminal pages for compatibility with TerminalFormatter & other mods that change text at TextPostProcess()
[3.5.3]
- Added config option to disable new cached terminal pages feature (CacheLastTerminalPage) per request
- Added config option to change Mirror zoom scale (mirrorZoom) per request
- Updated cached terminal pages handling to not replay any sounds that were associated with the page you left
[3.5.2]
- Re-added method from 3.5.0 to disable view monitor command.
- Thanks Zaggy for providing a fix for the issue on your end :)
- Added some more configurable strings per request, (moreMenuText/moreHintText)
- Adjusted terminal background graphic to better fill in the gaps on the screen
[3.5.1]
- Hotfix for compatibility with TwoRadarMaps/OpenBodyCams removing a problem method that was added in 3.5.0
- This method was disabling the vanilla "view monitor" command. But in doing-so breaking the other mods in their entirety.
- For the best cams experience either have all cams commands disabled to use the vanilla "view monitor"
- OR ensure you have the map command enabled with "view monitor" as one of it's keywords to replace the vanilla one
[3.5.0]
- Completely reworked terminal cams logic.
- Adding one less image object for better optimization.
- Disabling all cams-type commands will leave (or re-enable) the vanilla "view monitor" command
- overall lots of optimizations with this.
- Reworked custom background Terminal Customization.
- Will now completely fill the screen space at all times
- No longer covers the cams feeds from any of the cams-type commands
- Added return to last node handling.
- The terminal will now return to the last node you were viewing when you start using it.
- It will also save any un-submitted text for you.
- If another terminal user updates the terminal screen to another node your last cached node will update with it.
- Added new config item [TerminalFillEmptyText] which allows you to add a base level of formatting from a few options for any terminalnode with text that does not fill the screen.
- default value is nochange and will do nothing.
- Added patch to fix zeekers typo in TextPostProcess()
- Updated radar zoom command to allow for input. You should now be able to perform a command such as "zoom 30" to set the zoom to 30
- this probably wont work with a multiword keyword like "radar zoom 10", I may add a fix for this later
- Added some more compatibility stuff for suitsTerminal.
- Added new config item [aodOffDelay] to determine seconds delay after a player is detected off the ship where it will turn off the screen
- If a player returns to the ship within this time the screen will not turn off
[3.4.1]
- Updated base custom font path to look for folders in the Bepinex/Config folder.
- This is because custom content packs cannot make folders in the base Bepinex folder.
- See Minecraft TerminalFont as an example for proper folder structure for a font pack.
- Fixed issue with Terminal Resolution bonus calculator throwing errors due to bad math.
- Thanks to nickham13 for the report and sorry for the mistake :)
- Fixed minor visual bug with alwaysonatstart showing the incorrect credits amount until the terminal was used
[3.4.0]
- Updated to OpenLib v0.1.6
- Added License file to package
- Adjusted conflict resolution feature for better matching.
- Will now prioritize matching that start the same as your input with a bonus score system.
- This will fix issues like typing "ass" and getting lasso instead of assurance.
- Fixed issue with dropship syncing (as part of the refund feature) where clients would get an extra item from their order.
- Thank you for the report nickham13!
- Fixed unreported issue with refund command that would let a client get more credits than the cost of the items they originally purchased.
- This was related to the above bugfix for dropship syncing.
- Added new Terminal Customization features:
- You can now change the terminal font to a font specified in the [CustomFontName] config item.
- There are 3 different ways of getting the specified font:
- system font on your OS
- custom fonts you've installed on your system (which go to "%LocalAppData%\Microsoft\Windows\Fonts")
- specify a folder within the bepinex root folder space that contains font files via the [CustomFontPath] config item.
- You can also change the font size for the main text, the money text at the top left, and the terminalClock text if it's enabled.
- HUGE thank you to DiFFoZ for pointing me in the right direction for this feature and helping me debug when I ran into issues.
- Now using OpenLib SoftCompatibility checker for soft dependencies.
- Potentially fixed issue with AlwaysOnDynamic (untested)
[3.3.7]
- Fixed conflict resolution trying to return keywords with less than 3 characters.
- another mod was adding a blank keyword (likely for an enemy bestiary registry) that was causing the terminal to resolve most shorthand input to this keyword.
[3.3.6]
- Fixed issue with conflict resolution trying to add the same terminalKeyword causing keyword matching to break
- Thanks mina for the report and steps to reproduce!
- Added more visible logging statements to players by default.
- Added more null reference handling with better log messaging explaining what is happening
- Attempting to load home page now if a node is detected null when starting to use the terminal
[3.3.5]
- Updated mod to use OpenLib version 0.1.5
- Offloaded more game patches to OpenLib events
- Updated incorrect config option descriptions
- Fixed TerminalHistory issue of not creating the history keybind shortcuts
- Thanks to pacoito for the report!
- Improved TerminalConflictResolution keyword handling
- Thanks again to pacoito for the reported issues!
[3.3.4]
- Updated mod to use OpenLib version 0.1.4
- This should fix the issue of the NetworkingCheck failing, causing vanilla compatibility to fail.
- Added configuration item - terminalShortcutCommands to allow for disabling the bind/unbind keywords while keeping shortcut functionality.
- You will only be able to modify shortcuts via the configuration item, and they will only refresh between lobby loads.
- Fixed issue where bind/unbind was getting created regardless of whether or not the terminalShortcuts feature was enabled.
[3.3.3]
- Fixed Manifest to target correct version of OpenLib
[3.3.2]
Fixed/Changed
- Fixed newly introduced issue for TerminalHistory in version 3.3.0 which caused the feature to not work at all.
- Commands were not being added to the command history list so the keybinds were not doing anything in particular.
- Fixed issue where, with certain config files, the category menus would not update their displayText properly.
- This issue was resolved by updating OpenLib to 0.1.3
[3.3.1]
Fixed/Changed
- Fixed critical error that would brick the terminal with the TerminalHistory configuration item enabled.
- Apologies for the inconvenience and thankyou to all in the modding discord who helped troubleshoot
- Adjust more menu category to not display a category if no commands exist for it.
[3.3.0]
Added
- More Customization!
- Added configuration options for:
- Money background color/alpha
- A new custom screen background, color/alpha
- Terminal Buttons Color
- Terminal Keyboard Color
- Added configuration options for:
- New Quality of Life Feature, Conflict Resolution
- Similar to TerminalConflictFix, will use string comparison to provide the best matching keyword
- Uses the Fastenshtein implementation of the Levenshtein algorithm for fast/efficient string comparison.
- Added More command information to "other" command output.
- Added customization refresh command to the terminal. Run this command after you modify any of the customization settings in your config.
- Added radarZoom command to change the zoom level of the terminal radar.
- Built-in compatibility with tworadarmaps
- currently rotates through a range of possible zoom levels, each time you run the command.
- may add further configurables to this in the future.
- zoom levels will be synced with the rest of the lobby if networkedNodes is enabled.
- Without tworadarmaps this WILL affect the mapscreen in the terminal.
- Also added [TerminalRadarDefaultZoom] as a quality of life config setting to change the default radarzoom.
- This will be synced at each client load-in if networkedNodes are enabled.
- While the radarZoom command is recommended to be used alongside this feature, it is not required.
Fixed/Changed
- Command creation/deletion system has been offloaded to my new library "OpenLib"
- This will allow my other mods to quickly utilize the same system without the need for continuous porting.
- OpenLib will be open to anyone to utilize/contribute to. My only request is that it continues to support my own mods.
- OpenLib adds new backend features such as
- Config watching with the ManagedConfig class.
- Allows for easily checking networking required config items, checking for features being disabled/enabled between lobbies, and associating separate config items to eachother.
- Event system which allows my mods to not require patching into the game.
- The library will do the patching and create events for my mods to subscribe to.
- Extensive Terminal Keyword/Node/Store/etc. system.
- Will ensure no conflicting keywords exist, utilize similar terminalNodes whenever possible, and clear any items added utilizing this library on lobby close.
- Config watching with the ManagedConfig class.
- While I have extensively tested the move to OpenLib, there may be some new bugs introduced with this move. If you experience any issues please let me know.
- Fixed issue with return to cams that would throw null errors and break the terminal if only certain cams types were enabled.
- Thank you to mmiinnaa11 on discord for the report and assistance in troubleshooting.
- Fixed issue of throwing LogError messages when the message was more suited to be a warning or below level log message.
- Fixed issue of not syncing cams views between players with TwoRadarMaps present.
- while this added a networking method for switch/previous, this new method will only run when networkedNodes are enabled.
- Fixed issue of previous not being able to cycle to the end of the player list with TwoRadarMaps present
- Adjusted binding logic for TerminalHistory/TerminalAutocomplete binds to not throw a log error message at each load-in
- Cleaned TerminalClock creation method up a bit
- Adjusted restart command to sync between players. This feature will now require networking.
- Fixed issue with StorePacks returning a null node if you could not afford them and use any keyword besides deny/confirm
[3.2.5]
Added
- New Quality of Life feature which will keep the terminalLight on whenever the screen is on.
- This has been added as an option for the [TerminalLightBehaviour] configuration option.
- set [TerminalLightBehaviour] to alwayson to try this new feature!
- Added customization items for the following:
- [TerminalScrollbarColor] change the color of the scrollbar
- [TerminalScrollBGColor] change the color of the background portion of the scrollbar
- [TerminalClockColor] change the color of the clock text item that is added via [terminalClock]
- [TerminalLightColor] change the color of the Terminal Light
Fixed/Changed
- Moved [terminalClock] to Quality of Life section and updated description.
- Fixed recently introduced issue where alwaysondynamic was not actually disabling the terminal screen when leaving the ship if you had [alwaysOnWhileDead] disabled
[3.2.4]
Fixed/Changed
- Recompiled for compatibility with v55.
- Moved more configuration options around. Sections have been condensed.
- Updated config option name [enemyScanCost] to [bioScanScanCost] for clarity as to what this is
[3.2.3]
Added
- Added new Quality of Life features
- [TerminalHistory], will store up to [TerminalHistoryMaxCount] commands that can be accessed with the up/down arrows.
- Requires [terminalShortcuts] to function.
- [TerminalHistoryMaxCount] is the max amount of historical commands remembered by the terminal.
- [TerminalAutoComplete], will allow you to auto-complete to a matching keyword in the terminal by pressing [TerminalAutoCompleteKey]
- Requires [terminalShortcuts] to function.
- If more than one command matches the input, you can press tab to cycle through all matching commands
- If [TerminalAutoCompleteKey] is set to Tab, will disable the Tab key quitting the terminal and update the HUD hint.
- [TerminalAutoCompleteMaxCount] is the max amount of matching commands that autocomplete will cycle through
- if more commands match than this number, auto-complete will not change your input to any other command.
- [TerminalHistory], will store up to [TerminalHistoryMaxCount] commands that can be accessed with the up/down arrows.
Fixed/Changed
- Moved some config options around.
- Updated key detection press delays to be more in-line with the new suitsTerminal defaults
[3.2.2]
Added
- Added support for LobbyCompatibility mod.
- Will set flags on load-in based on whether network is enabled or disabled.
- These flags do not refresh if the networking config item is changed after loading.
- Will set flags on load-in based on whether network is enabled or disabled.
- New Section "Quality of Life"
- This section will have simple client-side changes to the terminal.
- Currently the two new configuration items for this section are [LockCameraInTerminal] and [DisableTerminalLight]
- New Section "Terminal Customization"
- This section will have client-side customization of the Terminal.
- [TerminalCustomization] will enable or disable this entire section of customizations.
- [TerminalColor] changes the color of the actual physical Terminal Object.
- [TerminalTextColor] changes the color of the main text in the terminal.
- [TerminalMoneyColor] changes the color of the current credits text in the top left of the terminal
- [TerminalCaretColor] changes the color of the text caret in the terminal
- Currently, the defaults are set as examples of some fun colors to change things to.
- Host and client can have different customization settings depending on config settings.
Fixed/Changed
- Updated project to utilize plugin version number wherever possible, including compiling the assembly with the version number.
- Now when I update the version number in one spot, it'll update it everywhere (except the changelog, keeping that manual)
[3.2.1]
Fixed
- Clients were having their commands deleted when joining. This made the mod basically un-usable for any clients.
- Fixed this by moving the command deletion method so that commands are only deleted when you leave a game, not when you are first loading in.
- Thank you to @rafael_barreto for the report on the discord thread for this mod.
[3.2.0]
Added
- Added new feature called Purchase Packs (enabled via the [terminalPurchasePacks] configuration item)
- With this you can add customized purchase packs to the store.
- Purchase packs and their keywords are set in the [purchasePackCommands] configuration item.
- Syntax for this configuration item is "command:item1,item2,etc.;next command:item1,item2"
- The ":" separates the command from the items being purchased.
- Each item is separated by a "," just type what you would type in the terminal to buy it (ie. shov for shovel)
- Ship Upgrades can also be added to purchase packs, like my example "PortalPack"
- These are matched differently from standard items and will match to an upgrade that starts the same
- so in my example "inverse" matches with "inverse teleporter" and "teleporter" matches with "teleporter"
- Then each purchase pack is separated by a ";"
- Failure to adhere to this syntax can result in errors
- If you list more than 12 items in one purchase pack, the terminal will tell you the dropship can only hold 12 items.
- From my own testing, I've been able to get 24 items from a dropship, however I do suggest keeping this warning in mind.
- Added new configuration option [developerLogging] for my more spammy log messages.
- This is a retroactive change following the development of the purchase packs feature having a LOT of logs.
- If you find any log messages that show in extensiveLogging that should probably be in developerLogging please let me know :)
- Added configurable keywords for the [terminalLobby] command to avoid conflicts with the LobbyControl mod by mattymatty
- This will be set via the [lobbyKeywords] configuration option
- Added the ability to configure the resolution for both potential cameras created with OpenBodyCams via this mod
- see [obcResolutionMirror] and [obcResolutionBodyCam]
- Added soft dependency for TerminalFormatter to detect if this mod is present and avoid double adding stuff to the store
Fixed/Changed
- Added some more null reference handling, especially when handling configuration items that can have incorrect format
- Added "SpawnPlayerAnimation" patch for AlwaysOnDynamic coroutine rather than attempting to run it every time the ship is landed.
- This may resolve some issues of the monitor not being on for someone who died on the last moon.
- Fixed error being thrown when buying something quickly and this mod is paired with TerminalFormatter
- Fixed Route Random being able to send you into debt with negative credits
- Now if you dont have enough credits you will be told lol
- Changed store names for VitalsPatch and BioscanPatch as they were much too long.
- I may make this configurable in the future but for now they are the above names in the store.
- Fixed some issues with the cameras created via OpenBodyCams for this mod.
- This was practically a complete rework of how OpenBodyCams is utilized in this mod.
- Added a function to remove persisting cameras between lobbys.
- Fixed some issues with the home-brew cameras created with this mod.
- Adjusted refund command to be more accurate, including trying to get current sales price for each item.
- Fixed issue with StoreRotation that caused anything I added to the store to break the store with this mod enabled.
- Fixed visual bug with Vitals Upgrade displaying wrong credits after performing the upgrade (the correct credits amount was being deducted still)
- Updated configuration items for more consistency/clarity
- extensiveLogging has been moved to "__Debug" section
- Moved alwayson config options [alwaysOnAtStart], [alwaysOnDynamic], and [alwaysOnWhileDead] to new section "Always On"
- updated [canOpenDoorInSpace] description to explain that this setting does not change actual game logic for the door in space
- Clamped [routeRandomCost] so that you can't set it to a negative value and give yourself credits...
- Added the rest of the home page as configuration options to allow full configuration of the home page.
- The new configuration option is [homeHelpLines]
- Changed some core functions in how this mod adds command to the terminal.
- This mod will now delete any pre-existing keywords/nodes if you have closed and opened another lobby.
- This will now make it possible to enable/disable commands between sessions without having to close the game to remove a command's functionality.
- This will also fix an issue I noticed where multiple keywords/nodes for the same command were being created due to hosting a new lobby.
- For multiple keywords, I am now reusing the same node rather than making a node for each keyword.
- While I don't expect a performance difference from this optimization, it was bothering me once I noticed the issue which delayed this update a bit.
- This mod will now delete any pre-existing keywords/nodes if you have closed and opened another lobby.
[3.1.0]
Added
- Mod is now completely self-reliant, with only soft dependencies if you so choose to enable certain features (fovAdjust, OpenBodyCams, etc.)
- This mod no longer uses TerminalAPI to create/implement commands. I have created my own home-brew command adding logic which I first used with ghostCodes' terminal commands.
- This was also a decision I made to give myself more freedom in what kind of commands I can create with this mod; including adding items to the vanilla store.
- My own command creation logic is HEAVILY influenced by TerminalAPI, so I still would like to give Atomic a huge thank you for their wonderful API.
- If for whatever reason you experience issues with this version of the mod failing to create commands consistently, I suggest returning to version 3.0.4 which still relies on TerminalAPI.
- Confirmation logic has also been reworked and built into the base-game terminal confirmation logic, rather than being it's own separate system.
- This mod's command help menu (more) has also been built in as regular terminal commands.
- You can now have as many keywords as you want for each command! (well, most of them)
- In the default configuration for each keyword you will see examples of multiple keywords for each command.
- Format is "keyword1; keyword two; anotherkeyword; etc"
- I have not set a hard limit on keywords per command, however use caution when adding so many words for one action.
- At the moment, this will also attempt to delete any other duplicate keywords. So I'd avoid making any keywords such as "store" for example.
- For certain commands, this feature has not been implemented yet. This may change in a future update.
- If you find any issues with this new feature please reach out on the modding discord or my github
- Added better syncing of the terminal between players when networked terminal nodes is enabled
- You should now have completely synced cams between players on the terminal when always-on is enabled.
- Cams will even sync when joining another lobby where the host has enabled a cam on the terminal already.
- The video player can also be synced if you choose, with the [videoSync] config option.
- Improved Always On Display handling
- Added better handling for Always On Dynamic, may see slight performance increase.
- Adding config item to keep monitors on after death [alwaysOnWhileDead]
- Improved Terminal Clock feature, will now display on terminal when screen is on (additional compatibility with alwayson feature introduced)
- Improved handling of terminal
- feature, may see slight performance increase.
- Improved home-brew camera creation/handling
- Home-brew camera mask should now be up to standards with most other mods that use cameras. Thanks again to Zaggy for all the pointers.
- Targeting system for both mirror/bodycams has been improved as well.
- Improved teleport command handling
- Removed check every store purchase in favor of detecting the specific teleporter instance.
- Added teleport by name feature per request.
- This is built on-top of the terminalTP configuration option and does not currently have it's own configuration option.
- simply type your teleport keyword, such as "tp", followed by the player's name.
- if a player matches the name listed, they will be teleported.
- if no matching player is found, the command falls back to just pressing the tp button.
- Added Route Random command per request. [terminalRouteRandom]
- This command is part of the "fun" section
- For your configuration fun, this command can choose from all moons or filter out moons with specific weather types via [routeRandomBannedWeather]
- Valid weather options: None, DustClouds, Rainy, Stormy, Foggy, Flooded, Eclipsed
- Separate each weather option by a semi-colon in the same way you would do the multiple keywords option
- Default config is filtering out flooded, eclipsed, and foggy weather from potential routing options
- To prevent command "abuse" where someone would keep rolling random till they got a high value moon I have added a flat rate price via [routeRandomCost]
- You can configure this to 0 if you want this command to be free, the default is set to 100 credits.
- You will be charged this amount of credits no matter what moon you get, even free ones.
- Another idea I've had regarding this command, but not implemented, is making this command a one time use that refreshes every time you land.
- If there is interest in this option, I can add a config option for this later.
- Added networking check on mod startup. Checks if ModNetworking configuration is set to disabled (indicating this mod should work with vanilla clients)
- Any other config items that requires networking will automatically be disabled to ensure compatibility with vanilla clients.
Fixed/Changed
- Terminal Upgrades such as bioscanpatch and vitalspatch are now properly integrated into the store.
- Upgrades should also be synced between all players now, rather than per player individually.
- Optimized code handling, might see slightly improved performance in longer sessions pertaining to this mod specifically.
- Lol command has been renamed to Video for better clarity.
- This includes any config option that referenced "lol" such as terminaLol will now say "video" ie. terminalVideo
- It remains in the Fun section of commands
- Updated compatibility with OpenBodyCams' latest update.
- Resolution is now set to 1000x700 by default. Expect a configuration option for this in the future.
- Mirror now properly utilizes OpenBodyCams to create a camera when it is detected (and with camsUseDetectedMods enabled)
- Improved overall handling for this mods' OpenBodyCams cameras.
- Improved Cams hiding logic for better consistency
- Have updated the list of commands that will not hide cams views after being run
- Reorganized Code into sectional folders for my own sanity...
[3.0.4]
Fixed
- Added bioscanpatch config option to disable the patch but not bioscan itself.
- Fixed bioscanpatch always being enabled.
- Added compatibility for latest update of suitsTerminal
- Added fix for this mod's commands that was found while working on suitsTerminal.
- Added culling mask fix for mirror command that was found during suitsTerminal development.
[3.0.3]
Fixed
- Fixed an issue when using OpenBodyCams to create a camera and having AlwaysOn disabled, the camera would freeze after exiting the terminal.
- Camera should now be properly disabled when leaving the terminal.
- Added extensiveLogging statements to show when the camera is disabled or enabled.
Note
- Since this update took so long I'm probably forgetting some things that have been changed/fixed/updated.
- If you have any questions regarding this update feel free to post on github, discord, etc. I may not see it right away but I will answer once I have the time.
Historical Patch Notes
[3.0.2]
Added
- Added support for multiword terminal shortcuts.
- Multiword shortcuts will be stored regardless of whether they are valid commands or not.
- Proper usage is: bind <key> <multiple word command>
- Handling for multi-word shortcuts differs from single-word shortcuts.
- Added terminal shortcuts commands to controls commands menu.
Fixed
- (hopefully) Fixed issue where pressing switch button on ship monitors without any active monitoring mode would cause odd visual bugs of seeing other player's POVs instead of your own.
- Fixed minor compatibility issue with monitoring commands and only having the TwoRadarMaps mod on where the cams views would not update to the right target.
- Removed most references to AdvancedCompany due to it being removed from Thunderstore. Compatibility functions will be added back if it does ever make it back to thunderstore.
[3.0.1]
Fixed
- Fixed issue with menus where next page would get stuck after using any of the view commands (cams/map/minicams/minimap/overlay)
- Fixed compatibility integration issues with OpenBodyCams
- Fixed certain patching issues that would break the terminal. This was caused by some other mods for some people and shouldn't occur anymore.
[3.0.0]
Added/Changed
- COMPATIBILITY UPDATES FOR: LethalLevelLoader, OpenBodyCams, and TwoRadarMaps.
- Mod has been completely reworked from the ground up. Command handling is now 100% integrated within TerminalAPI, with exception to a handful of dynamic input-based commands.
- Networked Nodes received a substantial upgrade due to this rework and now much more reliably update for all clients.
- Keyboard shortcut functionality has been added via terminalShortcuts configuration option!
- Shortcuts can be set using the bind command and removed using the unbind command.
- Shortcuts are saved in config under keyActionsConfig (dont touch this unless you know what you're doing).
- Added the ability for this mod to produce it's own camera when no bodycams mods are present.
- Added configuration option camsUseDetectedMods to utilize any known bodycam mod's camera when they are present.
- Currently OpenBodyCams has the most integration built into this mod, however both SolosBodyCams and Helmet_Cameras by Rick Arg should also continue to work.
- Big performance updates for Always-On mode and other continously running mod functions. Moved as much logic out of patches as possible, to improve compatibility with other mods.
- Added configuration option alwaysOnDynamic that will turn the screen off when you are not on the ship.
- Majority of logging statements have been moved to a separate function. You can see these messages by enabling the extensiveLogging config option.
- New commands that can be enabled or disabled: terminalMirror, terminalRefund, terminalRestart, terminalPrevious
- terminalMirror is a new mirror command that uses this mod's own camera (no external mod needed!)
- terminalRefund allows for refunding items purhcased that have yet to be delivered.
- terminalRestart will restart the lobby without triggering the firing sequence. Will ask for confirmation unless restartConfirmOverride is set to true.
- Added further home page customization with homeTextArt. Use this configurable string to set your own ascii art.
- Added tpKeyword and itpKeyword options to change the shorthand keywords.
- All commands that affect credits now require networking. This is to make credit changes more consistent and prevent any future abuse.
Fixed
- Fixed issue with more command not hiding cams when it should.
- Fixed compatibility issues with LethalLevelLoader by completely moving command handling off of custom terminal events
- Fixed numerous compatibility issues with OpenBodyCams and TwoRadarMaps. Thanks Zaggy1024 for all the help!
- Fixed issue where teleport keywords were still being deleted even with this section of the mod disabled.
- Fixed issue where sometimes typing "extras" for the menu option would bring up buying an extension ladder.
[2.2.4] CURRENT VERSION
Added
- Configuration option to start with Always On Enabled (alwaysOnAtStart)
- Added Terminal Clock feature, this can be disabled via configuration option (terminalClock) and will be on by default (does not show in orbit)
- Added clock toggle command to toggle the new Terminal Clock feature on/off (terminalClockCommand)
- Added new feature to use the walkie-talkie item while at the terminal. This can be disabled via configuration option (walkieTerm)
- walkieTerm feature comes with configuration binds for both a keyboard key (walkieTermKey) and a mousebutton (walkieTermMB)
- walkieTerm keybindings will only do something while at the terminal with a walkie in your inventory
- Added new detailed loot command which will display all scrap onboard and their worth (terminalLootDetail)
- Added new List Items command which will display all non-scrap items that are not currently being held on the ship (terminalListItems)
[2.2.3]
Fixed
- Cleaned up command adding logic to be more streamlined (this is more for me than anyone else lol)
- Adding further null exception handling when dealing with spawning the nethandler (thanks Zuploader for reporting this on GitHub)
- Fixed fcolor to also apply to non-pro flashlights
- No real fix action here but, the previously determined incompatible Glowsticks mod actually just needs a specific configuration setting in LC_API.
Added
- Added secondary link command per request
- Removed Fov_Adjust hard dependency (this mod will still be needed for the Fov command)
- Added the ability to use hexcodes for both fcolor and scolor (ex: fcolor 19C3A7)
- Added rainbow flashlight command "fcolor rainbow" (could affect performance, drop your flashlight to kill the rainbow effect)
- Added configurable hint strings (displayed in extras) for the new link commands.
[2.2.2]
Fixed
- Fixed map command only ever saying the ship was in orbit.
[2.2.1]
Added/Changed
- (1) NETWORKING IS NOW TOGGLE-ABLE VIA ModNetworking CONFIG OPTION
- (1) This means you can continue to use this mod as a client-side only mod as in the past.
- (1) I've disabled a number of commands that require networking as well as commands I dont believe should be client-side only commands when networking is disabled.
- (2) New randomsuits command to pick a random suit to wear off the rack (ported from my suitsTerminal mod, disable this if you have that)
- (3) Made main page you open to when opening the terminal the home page rather than help.
- (4) Added configurable strings to the home page, leave your crewmates a message to see every time they open the terminal!
- (5) Added link command for linking to an external web page from the terminal.
- (6) Added configurable keywords for fcolor, scolor, gamble, lever, link, and randomsuits commands.
- (7) As with the command, added a configurable option for what link you want to display with the link command.
Fixed
- (1) As mentioned above, mod can now be used as a non-host player again!
- (2) Updated cams views to not hide cams whenever an invalid command is inputted (thanks to Sp1rit for the bug report on GitHub)
- (3) Improved compatibility with Advanced Company & LateGame Upgrades.
- (3) Specifically in how we all modify the help command of the terminal. It should now look much cleaner
- (4) Fixed longstanding bug with FOV mod that would not adjust the visor with your FOV.
- (4 Cont.) My mistake for leaving this in, i'd assumed it was an issue with the Fov mod itself and not my own implementation of it.
[2.2.0]
Added/Changed
- (1) NETWORKING HAS BEEN FIGURED OUT (sorta lol)
- (1 cont.) Thanks to Evaisa for their UnityNetcodeWeaver NetcodePatcher tool and Xilophor for the very helpful wiki!
- (2) Fcolor/Scolor commands should now sync between all clients
- (3) Added 'networkedNodes' config option to try out the synced network nodes BETA feature
- (3) (networkedNodes) clients will still have differing terminal instances and overall this mode mostly just tries to copy whatever the terminal user is seeing and display it on everyone else's terminal screen.
- (3) (networkedNodes) I've labeled this as a BETA feature because i've done limited testing on it so it's bound to be buggy.
- (4) Refactored code that has to do with switching cams pov and returning to camera screen after an event to be more modular.
- (5) Overlay: Added configuration for Overlay Opacity. This will let you change how faded the map is on the cams view.
Fixed
- As mentioned above, flashlight colors and shiplight colors are no longer client-side only!
- Fixed issue where switch command without a target player was overwriting switch command with a target player.
- (hopefully) fixed an issue where switch command would bring up the wrong view.
[2.1.1]
Added/Changed
- NEW Configuration option "camsNeverHide" to set cams views to not hide once another command is entered.
- (camsNeverHide) if you want to be able to see the store list, help list, etc. and keep the cams view active you should set this to true.
- (camsNeverHide) keeping this false (disabled) will hide cams views when any large text is entered but will keep them active for door codes, ping/flash radarbooster, and switch views commands.
- I've also added a list of commands that will never hide the cams views despite either setting. I may make this configurable in the future. If interested please let me know.
- Changed how cams/map display their views to use the same method as minimap/minicams/overlay. I can explain this in depth if anyone has questions.
- Changed some excessive logging messages to hopefully clean up the log window a bit. There is still a lot of log messages but they are helpful when troubleshooting issues.
- Changed when keywords get added. Shouldn't be noticeable to the average user.
- TP/ITP: Added cooldown timer to text displayed when trying to run one of these commands while the TP itself is on cooldown.
Fixed
- Switch command should now work properly and not hide any cams/map views
- Improved interopability with FastSwitchPlayerViewInRadar and removed a noticeable delay of their mod working only after a couple switch commands have been used.
[2.1.0]
Added/Changed
- CHANGED CONFIG STRUCTURE AGAIN: Please delete your old config upon updating and let the mod generate a new one.
- (Config) The update config now has which command belongs to which in-game category (if you type more).
- CUSTOM KEYWORDS: Added a handful of configurable keywords. Take a look at the new config file to see what you can change!
- lol: Reworked lol command to use the terminal's built in videoplayer and it will now display videos directly on the terminal!
- scolor: added scolor command to change the color of the base lights in the ship.
- (scolor) this command changes 3 separate light colors which are labeled "front", "middle", and "back"
- (scolor) when using the command you specify what lights you want to change or simply type all for your selection.
- (scolor) the third argument in this command is the color name. Like with fcolor you can see a list of these using "scolor list"
- proview/minimap: changed keyword/name of the proview command to "minimap"
- minicams: added inverse command of minimap where the cam is the small screen.
- lights: finally added a command to toggle the lights in the ship
- Always On Display: Added alwayson command that allows you to disable leaving the terminal screen on all the time or not.
- lobby: As this was the oldest command in this mod I've updated it to be a bit more streamlined and pull from the same variable for both host/client.
Fixed
- TP/ITP: Fixed issue where you would be trying to buy either an inverse teleporter or a regular teleporter and these command would trigger instead.
- (TP/ITP) You now won't be able to use these commands until you have a teleporter of the type required to run it.
- From my own testing if everyone is using this mod the radar switch will be synced between players, so I've removed this as a known issue.
- fcolor: Fixed the issue where this command would accept any color name instead of returning invalid for incorrect colors.
[2.0.3]
Added
- fcolor: added command "fcolor list" to see what colors are available to choose from per request.
- (fcolor) also added normal/default color keywords to set back to "normal" flashlight color (white)
Fixed
- switch: This base command was having weird interactions with all the different cams commands
- (switch) Also a popular mod "FastSwitchPlayerViewInRadarMOD" was having some compatability issues with the new cams hooking logic
- (switch) I've fixed all of these issues and hopefully this mod should remain compatible with any other mods that utilize the vanilla "ViewInsideShipCam 1" object name.
- lever: Pretty sure I fixed having to pull the lever twice.
- (lever) Turns out the reason for this was that the game requires a wait between changing levels (moons) and starting the game
- fcolor: Reworked command so that it works without errors. As long as you have a flashlight in your inventory it will change the color.
- (fcolor) If you have two flashlights on you it will only change the color for one. This is intended.
[2.0.2]
Fixed
- heal/healme: Fixed typo in command causing heal function to not properly heal.
- door: Fixed door command not opening the door for non-host players.
[2.0.1]
Fixed
- devtest: Removed my devtest command from active released patch. Luckily was linked to door command in 2.0.0 so no real damage could be done.
- fcolor: Fixed missing null check handling case where player has never held a flashlight.
- (fcolor) Also fixed flashlight colors not updating for your specific flashlight, was originally just looking for ANY flashlight.
- config: Updated config description for enemyScanCost to actively reflect that it is for the "bioscan" command to avoid confusion.
[2.0.0]
Added
- MAJOR REWORK OF COMMAND HANDLING: Removed some convuluted logic in handling digits, added confirmation checks, and overall improved command to command interactions.
- (MAJOR REWORK) This is the main reason for updating version number to 2.0.0, rather than calling this anything in 1.X.X
- Terminal Menus: Updated start screen & help command with my own information.
- (Terminal Menus) Added (more) command to see commands added from this mod
- (Terminal Menus) (more) This will list 4 separate category commands to choose from (comfort) (extras) (controls) (fun)
- (Terminal Menus) (comfort) Lists all the quality of life commands you have added.
- (Terminal Menus) (extras) Lists all enabled commands that add extra functionality to the ship terminal.
- (Terminal Menus) (controls) Lists all enabled commands that give terminal more control of the ship's systems.
- (Terminal Menus) (fun) Lists all the for-fun commands that are enabled.
- (Terminal Menus) (comfort)(extras)(controls)(fun) All of these are also dynamic based on config options set.
- (Terminal Menus) Added (home) command to go back to the start screen you see when first using the terminal.
- Configurable Strings: Updated a majority of commands to have configurable strings.
- (Configruable Strings) This will allow you to change the messages returned for most commands. Some commands will not have this feature implemented, some just haven't yet.
- Gamble Update: Updated various elements of the gamble command
- (gamble) Added a minimum credits requirement Config option. Set this to 0 if you want to be able to gamble it all!
- (gamble) Added configurable Pity Mode. If enabled, this will give the biggest losers a configurable amount of "Pity Credits" (Max 60 to avoid abuse)
- lever: Added a configuration variable for overriding new confirmation check.
- lol: Added the option to configure a different folder to play videos from than the main plugin folder. (Credit to )
- (lol) make sure when using your own folder it is in the Bepinex/Plugins folder.
- itp: Added Inverse Teleport command to control the inverse teleporter from the terminal.
- door: Added door command to control the Ship Doors from the terminal.
- (door) Credit to NavarroTech as I used their code for reference.
- map: Added map keyword for "view monitor" command and removed the loadimageslowly setting so it shows instantly.
- (map) I can add the loadimageslowly as a config option later if there is demand for it.
- (map) Also should interface better with the other set of cams commands as of this patch.
- proview: Added command that shows BOTH cams and radar map at the same time.
- (proview) radarmap is put in the top right corner in a smaller box on top of the cams feed.
- overlay: Added command that shows BOTH cams and radar map on top of eachother.
- (overlay) Idea from @usb. on discord. Radar feed is superimposed onto the camera feed.
- (proview/overlay) Both accomplish relatively the same thing. I may make these purchaseable upgrades in upcoming patches, for now they are only enable/disable in the config.
- bioscan: Added a bioscanner that scans for biomatter (enemies).
- (bioscan) Has a default configured cost of 15 credits per scan.
- (bioscan) Can also be upgraded via bioscanpatch command.
- bioscanpatch: Upgrades the default bioscan "software" to 2.0. Which gives more detailed information on biomatter (enemies that are alive)
- (bioscanpatch) default configured cost of 300 credits, seemed fair to me but could use testing.
- (bioscanpatch) Does not remove the cost requirement to run the bioscan command. I can add this option in future updates if requested enough.
- (bioscanpatch) Like vitals, balancing is just abritralily set by me. Could use actual game testing to see what values are best.
- vitalspatch: Purchasable Vitals Software patch that allows for vitals to be run anytime with no further cost.
- (vitalspatch) You can configure the cost for this upgrade to whatever you want, 200 credits made sense to me.
- (vitalspatch) If you have your original vitals command set to charge 0 credits this really doesn't need to be enabled.
- fcolor: Added command to change flashlight color. Usage: fcolor <colorname>
- (fcolor) there is a limited number of colors available. More can be added by request.
- (fcolor) if requesting colors be added, please provide the rgb value of the color.
- (fcolor) Current list of available colors: blue, cyan, green, lime, magenta, pink, purple, red, yellow, samstro, and sasstro.
Changed
- gamble: Now has a confirmation check so you can't blame me if you gamble it all away lol
- lever: Now has a configuration check
- heal: Updated heal logic to now say you were healed if you have less than 100 health but more than 10.
Fixed
- kick: Base game pushed out a hotfix for the kick function and I believe this has resolved any issues with the kick command in current mod.
- (kick) will leave disabled by default as there doesn't seem to be too much demand for this feature anymore.
- modlist: Config was not set up properly and this command was always enabled regardless of config option.
[1.2.1]
Fixed
- kick: Completely reworked command, was not kicking players and throwing errors in previous patch. (only works in game version v40 and earlier)
- (kick) Will accept as little as 3 characters of any name in the lobby and kick them now.
- (kick) May need to create another couple commands to kick via playerID# as players without english names are hard to kick through terminal.
- (kick) Also, I believe the current iteration of this command will not allow the player to join again until the lobby is remade. Requires testing.
[1.2.0]
Added
- danger: checks Hazard level of moon once ship has landed.
- vitals: checks health, weight, sanity, and flashlight charge of player being tracked by map radar.
- vitals cost: configuration for how much credits the "vitals" command will cost to run.
- tp/teleport: presses the teleport button from the terminal.
- modlist: returns mods that were loaded by Bepinex and the associated version numbers.
- kick (EXPERIMENTAL): allows the host to kick players from the lobby via terminal command. WARNING: This command is untested and therefore defaults to off at this time.
Changed
- lol: Made this command functional. Selects from an array of found videos in the plugin folder and plays a random video.
- (lol) You can type lol again to toggle the video off if you want to end it early.
- (lol) Video files should go in the "darmuh-darmuhsTerminalStuff" folder.
- (lol) Thanks to flipf17 for their work on TelevisionVideo, used their code for reference.
- Config: format has been changed, each command has it's own category now in case I want to add more variable specific commands like vitals' cost.
- Updated readme.md for better readability
Fixed
- Fixed typo in lever command configuration values, thank you @glitched4772 on discord for reporting this.
[1.1.2]
Fixed
- gamble: results were not updating for all players. Fixed this with setting both client/server credit values.
- lever: added host check for when the game hasn't been started.
[1.1.1]
Fixed
- Plugin version number was set incorrectly in 1.1.0, fixed in 1.1.1
[1.1.0]
Added
- gamble: command to gamble percentage of ship credits out of 100%.
- fov: command to change Fov from the terminal, requires Fov_Adjust mod by Rozebud.
- lever: command to "pull the lever" from the terminal (start ship/game).
[1.0.0]
Added
- lol: plays a funny video, doesn't work.
- lobby: displays current lobby name.
- cams: displays ship cameras to terminal screen, compatible with helmetcams/bodycams mods. Thanks to RickArg as I used their code for reference.
- quit: quits terminal
- loot: shows loot available on ship, thanks to tinyhoot for their ShipLoot plugin. I used their code for reference however their plugin is not required.
- clear: clears terminal of existing text.
- heal: Command to heal self, thanks to Thorlar for their HealthStation mod. Used their code for reference (not required for this mod).
- Configuration system to enable/disable above commands.