QualityCompany
QualityCompany adds many features: inventory scrap values & shotgun ammo counter, terminal commands for various auto-sell operations, calculating overtime (which integrate into the auto-sell commands) and fully network sync capable.
Date uploaded | 8 months ago |
Version | 1.5.0 |
Download link | Um_no-QualityCompany-1.5.0.zip |
Downloads | 17706 |
Dependency string | Um_no-QualityCompany-1.5.0 |
This mod requires the following mods to function
BepInEx-BepInExPack
BepInEx pack for Mono Unity games. Preconfigured and ready to use.
Preferred version: 5.4.2100README
(such quality, wow)
Features
HUD improvements
Held items scrap value
The value of the held scrap is displayed above the item in the inventory. In addition a color palette on the values are used to indicate their worth more generally for quick decision making if you need to leave something behind.
Shotgun ammo counter
In addition to the scrap value of the shotgun, the inventory slot will in addition show the amount of ammo present in the shotgun.
Latency (ping) display
This is a bit experimental but appears to work from some testing.
A latency display will show on your HUD (default BottomLeft) with your latency to the host. It will not show for the host.
You can configure it to be in either of the 4 corners, including increasing the padding away from the reletive edge.
Terminal Commands
sell
QualityCompany adds a few commands that let you sell scrap directly from your ship.
You must be landed at The Company Building to use these commands.
These can only be executed whilst landed at the Company Building.
sell all
will sell all the scrap on your shipsell quota
will attempt to sell enough scrap to perfectly match the amount needed to fulfill quotasell target
will attempt to sell enough scrap to perfectly match the amount needed to fulfill specified targetsell <amount>
, whereamount
is any positive integer, will attempt to sell enough scrap to perfectly match that amountsell 500
will try to sell scrap equal to 500 scrap value
sell <item_name>
, whereitem_name
is any portion of an item name to match against. All matching items will be listedsell whoop
will find all Whoopie Cushions on the ship
Note: These commands use an approximation for finding a perfect match, it may not find one even if one exists (especially early game where you do not have many scrap of low value).\
target
You will find a detailed explanation on this upon using the target
command in-game.
target <amount>
will set a target that is displayed on the monitor from the terminal. This target denotes the target amount of credits you want after selling and leaving the company.
Additionally a "Needed" field appears on the monitor (second from the left) which will tell you how much you need to sell in order to reach your target. This needed value takes into account approximately how much overtime you will earn and how much current credits you currently have.
This means that when you leave the company building you will have the desired amount of credits if you at least meet the "needed" amount.
From here, you may then also use the sell target
or sell <amount>
to quickly and easily sell and leave The Company Building immediately.
You can find a showcase of this here (you may need to download the video :/).
launch
launch
optional additional way of landing or launching the ship from the terminal.
door
door
open or closes the door from the terminal.
lights
lights
switch the lights on/off from the terminal.
tp
tp
Teleports the currently viewed player, only works if you have a teleporter.
time
time
tells the time without having to look at the monitor or go outside.
hack
HOST ONLY
hack <amount>
Spawns specified amount of random scrap at your feet. Meant as a tool for testing.
Config
Debug
ShowDebugLogs
[CLIENT] Turn on/off debug logs.
DEFAULT: false
HUD
ShowScrapUI
[CLIENT] Turn on/off scrap value on the item slots UI.
DEFAULT: true
ShowShotgunAmmoCounterUI
[CLIENT] Turn on/off shotgun ammo counter on the item slots UI.
DEFAULT: true
ForceUpdateAllSlotsOnDiscard
[CLIENT] Turn on/off force updating all item slots scrap & shotgun ui on discarding of a held item.
DEFAULT: false
StartupDelay
[CLIENT] Delay before creating inventory UI components for scrap value & shotgun ammo. Minimum value will be set to 3 seconds.
NOTE: Useful if you have mod compatibility issues with mods that affect the players' inventory slots such as HotBarPlus, GeneralImprovements, ReservedItemSlot (Flashlight, Weapon, etc)
DEFAULT: 4.5f
Show latency to host
[CLIENT] Whether to show the latency HUD or not. Disabled for the host by default. Requires networking.
DEFAULT: true
Latency Update Interval
[CLIENT] How often to do latency update checks. Will be set to a minimum of 2 seconds
.
DEFAULT: 5 seconds
Latency Anchor Position
[CLIENT] Anchor position to place the latency display.\nPossible values: TopLeft, TopRight, BottomLeft, BottomRight
DEFAULT: BottomLeft
Latency Horizontal Padding
[CLIENT] Horizontal padding for the latency hud display away from the horizontal (left/right) edge of the screen.
DEFAULT: 5
Latency Horizontal Padding
[CLIENT] Vertical padding for the latency hud display away from the vertical (top/bottom) edge of the screen.
DEFAULT: 5
Monitor
LootCreditsEnabled
[CLIENT] Turn on/off the ship loot & game credit balance monitor in the ship.
DEFAULT: false
InfoEnabled
[CLIENT] Turn on/off the info monitor in the ship.
DEFAULT: false
TimeEnabled
[CLIENT] Turn on/off the time monitor in the ship.
DEFAULT: false
Networking
NetworkingEnabled
[EXPERIMENTAL!!!] [CLIENT] Turn on/off networking capabilities.
NOTE: This will MOST LIKELY cause de-sync issues with a couple of things, primarily for non-host clients.
DEFAULT: true
Terminal
SellIgnoreList
[HOST] A comma separated list of items to ignore in the ship. Does not have to be the exact name but at least a matching portion. e.g. 'trag' for 'tragedy' or 'mask' for both 'TragedyMask' and 'ComedyMask'
DEFAULT: "shotgun,gunammo,gift"
MiscCommandsEnabled
[HOST] Turn on/off the additional misc terminal commands. This includes: launch, door, lights, tp, time
DEFAULT: true
SellCommandsEnabled
[HOST] Turn on/off the additional 'sell <command>' terminal commands. This includes: all, quota, target, 2h, <amount>, <item>.
NOTE: The 'target' sub command will be disabled if TargetCommandsEnabled is disabled.
DEFAULT: true
TargetCommandsEnabled
[HOST] Turn on/off the additional 'target' terminal command.
DEFAULT: true
DebugCommandsEnabled
[HOST] Turn on/off the additional 'hack' terminal command. This allows to spawn <amount> of items at your foot.
NOTE: This is primary for mod testing purposes, but may come in use ;)
DEFAULT: true
PatchFixScanEnabled
[HOST] Turn on/off patch fixing the games' 'scan' command where it occasionally does not work.
DEFAULT: true
Development
You will need:
- Local development setup for UnityNetcodePatcher by EvaisaDev
- An IDE, Visual Studio / Rider / Visual Studio Code
- Create a copy of
src/CommonBuildProperties.example.proj
insrc/
- remove
.example
- update placeholder paths & copy commands for your setup
- remove
- Check out the
samples/
directory for some example plugins using Modules & custom Terminal Commands
AdvancedTerminal API
Other mods may use this to easily add custom simple and complex commands to the terminal.
An example plugin will be made for reference use. For now, you can look at SellCommands
to see how the sell
commands get setup.
TODO
- Scrap selling animation
- scan <item> in ship
- character health hud display
- AirHorn custom sounds?
- Credit card to have "LessItems"
CHANGELOG
v1.5.0
- Some MORE fixes to the Terminal Commands & Patching
- Improved scan command to show items list, configurable (default: disabled)
- Implemented force refresh of scrap ui every second, configurable (default: disabled)
v1.4.0
- Some minor fixes to the Terminal Commands & Patching
- Better Game Events logic & less debug logs
- Fixed the LootMonitor from going out of sync (mod compatibility)
- Fixed some issues with terminal command values & help descriptions
v1.3.6: Sell commands
- Fixed a bug where 'sell' commands wouldn't total scrap values correctly when selling mid-way through the quota
- Fixed a bug with 'sell <item><condition>' command did not take into account company buying rate & equals condition
- Added visibility on actual scrap value when selling mid-way through the quota
- Halved the scrap value of items spawned by the 'hack' command
- Cleaned up ScrapUtils
v1.3.5: Broken commands ;-(
- Fixed a bug where commands were being added but not actually being run
v1.3.4: AdvancedTerminal API
- Fixed a bug where the Terminal API was doubling up on commands & help texts
v1.3.3: Misc
AdvancedTerminal API
- Added ability to create a terminal for your mod using the name as an abbreviation (e.g.
QualityCompany
turns intoqc
), this can be customized within theRegister
call - Added ability to include your mod's terminal commands within the 'Help' command, can be disabled
- Added more description options for sub commands to show when typing in the primary command
Debug commands
- Fixed
hack
command to spawn items correctly and sync with clients
v1.3.2: Total Scrap UI Config
- Introduced config item to disable Total Scrap UI separate from item scrap UI
v1.3.1: Additional Networking fixes + InfoMonitor fix
- Detached Save File from NetworkBehaviour instance entirely
- This and the changes in 1.3.0 should be more solid now
- Hosts with networking disabled will still save the same, making use of the games'
save number
- Clients with networking disabled will have their own
local
client save, which is not tied to asave number
- That said, this probably still needs more testing
- Fixed a bug with
InfoMonitor
calculating "NEEDED" amount incorrectly in a certain case - thanks @throwitaway99 (#4) - Some class and file rename and reworks
v1.3.0: Networking
- Add a ping hud display (networking only), configurable
- This is untested with 3 or more people, please log an issue if anything is crazy
- (worst case) Disable the feature in the config if it causes issues!
- [UNTESTED] (hopefully) fully implemented ability to disable Networking operations in config
- This will cause everything to be done CLIENT-SIDE ONLY
- This WILL cause desync issues with
sell
&target
commands, but should recover on action of deposit desk eating the items - Let us know if anything breaks from this please :)
v1.2.3: Mod Compatibility & Experimental fixes
- Fixed an issue where Scrap UI will have a null reference if the HUD
iconFrames
changes in size after initializing - Fixed an issue with
view
experimental command overridingview monitor
command
v1.2.2: Dev & mod quality of life, scrap total, experimental features
- Improved dev & mod api quality of life
- Terminal commands can be setup via a
[TerminalCommand]
attribute - Modules can be easily added in a static or instance manner via the
[Module]
attribute - see the example plugins under
samples/
- Terminal commands can be setup via a
- Scrap UI: Add total scrap tally to first item slot
- Added 2 experimental commands: vs, view. This is disabled by default.
v1.2.1: Improved Mod Compatibility, force inventory UI refresh
- Improved inventory mod compatibility ui updates
- Introduced new config for force updating all inventory ui values (disabled by default)
- Introduced new config inventory startup delay (default: 4.5 seconds)
v1.2.0: Feature Configurations, Inventory UI, README image links
- Fixed README image links to work for Thunderstore page
- Combined Loot & Credit monitors into 1
- Updated ScrapValue Inventory UI to a TextMeshProUGUI with base game font
- Added config options for various different features
- (Hopefully) fixed Host vs Client mod config syncing
- Moved 'hack' terminal command to its' own 'debug' category
v1.1.0: Some fixes, terminal commands updates + efficiency
- Update README
- Update ScrapValueUI - Position is calculated dynamically taking into account rotation on z-axis.
- Update Release build script
- GameEvents: to include more player actions: DropAllHeldItems, DiscardHeldItem, Death
- AdvancedTerminal: update command & sub command text processing to be more efficient
- new
sell target
command to just sell amount needed as pertarget
calculation - Config: Add "ShowDebugLogs" config option (should hopefully be client side)
- OvertimeMonitor:
- Update for a case where
groupCredits > set target
which would just show0
needed (but need to sell actual quota still...) - Added saving of target set (host)
- Update for a case where
v1.0.1: Remove some message logging
- Removed some unnecessary message logging
v1.0.0: Initial release
- Woow