You are viewing a potentially older version of this package. View all versions.
Um_no-QualityCompany-1.5.0 icon

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-5.4.2100 icon
BepInEx-BepInExPack

BepInEx pack for Mono Unity games. Preconfigured and ready to use.

Preferred version: 5.4.2100

README

logo

(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.

ScrapValueUI

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.

ShotgunUI

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 ship
  • sell quota will attempt to sell enough scrap to perfectly match the amount needed to fulfill quota
  • sell target will attempt to sell enough scrap to perfectly match the amount needed to fulfill specified target
  • sell <amount>, where amount is any positive integer, will attempt to sell enough scrap to perfectly match that amount
    • sell 500 will try to sell scrap equal to 500 scrap value
  • sell <item_name>, where item_name is any portion of an item name to match against. All matching items will be listed
    • sell 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.

SetTarget TargetDisplay TargetDisplayUpdate

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 in src/
    • remove .example
    • update placeholder paths & copy commands for your setup
  • 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 into qc), this can be customized within the Register 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 a save 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 overriding view 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/
  • 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 per target calculation
  • Config: Add "ShowDebugLogs" config option (should hopefully be client side)
  • OvertimeMonitor:
    • Update for a case where groupCredits > set target which would just show 0 needed (but need to sell actual quota still...)
    • Added saving of target set (host)

v1.0.1: Remove some message logging

  • Removed some unnecessary message logging

v1.0.0: Initial release

  • Woow