Chonkzilla-SimpleHQ icon

SimpleHQ

Scrap bank for long runs plus tournament mode. Bank ship scrap with /bank to cut lag, see it in the terminal, sell it at the Company. Kit codes set the moon, seed, weather and gear for set-seed tournaments. Written by Claude & Chonk.

CHANGELOG

Changelog

0.4.4

  • Kit items and withdrawals spawn without a parent, and are put on the ship afterwards on every machine. Spawning an item already attached to the ship only ever works when nobody else is connected, which is why other players still saw an empty floor in 0.4.3.
  • Players now tell the host what they managed to place, so the host's log (and a chat line) says plainly when someone is missing items, instead of the answer living only in their log.

0.4.3

  • Fixed: a kit's spray paint arrived empty. Kit tools were spawned as if restoring a saved item with nothing stored in it, and an empty value is a real one: a spray can loaded with zero is an empty can. Kit gear now keeps what it comes with, so cans are full and a kit shotgun is loaded.
  • Fixed: other players couldn't see kit tools or withdrawn items. The host spawned them and told everyone where they landed with the game's own "item dropped" message, which a player whose copy of the item is still arriving throws away. The items existed, at position zero inside the ship floor, visible to nobody but the host. SimpleHQ now sends the resting place itself and keeps trying for a few seconds until every player has the item, and both sides log what they placed.

0.4.2

  • Tournament builder: make your own kit codes in the terminal. Type tournament builder and answer six questions (moon, seed, weather, crew size, starting items, format). Research a seed with SimpleBlackBox, play it, then build a code for it and send it to whoever you want to race. No kit files, nothing from us.
  • The builder asks what to call it. First question, up to 16 characters, and the name travels inside the code, so the kit announces itself by name when someone loads it.
  • You can pick your kit up before the lever. In tournament mode the crew can take the gear off the ship floor while the run is still staging in orbit, instead of waiting for the landing to touch it.
  • Items are typed the way you buy them, several to a line: shovel 2 weed 4 jet 1 pro 2. Short names work when they match one item, and a wrong answer asks again instead of starting over. Only store gear can go in a kit, so nobody starts a run holding scrap.
  • The finished code is written to BepInEx/config/SimpleHQ/kits.txt with the kit spelled out in plain words, because a code is too long to copy off the terminal screen. The terminal says so.
  • Every code is read back before you get it: if the decoded kit doesn't match what you typed, down to each item and count, the builder tells you which part disagreed instead of handing out a code that would play something else.
  • Fixed: codes for Embrion and Dine played the wrong moon. A code carried only 6 bits of the moon's name, and in this game Embrion collides with Experimentation and Dine collides with Vow, so those two kits would have loaded the other moon without saying anything. Moon keys are 10 bits now and item keys 14, which nothing in the game collides in. Codes are version 4: the one code made before this (PILOT1) has been rebuilt, and any older code is refused rather than misread.
  • Kits can include a Company Cruiser, on the magnet. A kit with a cruiser starts with one already attached to the ship in orbit, magnet switched on, so it drops with you instead of costing you the first minutes of the run waiting for a delivery. Ask for it in the builder by typing cruiser 1 with the rest of the gear.
  • Longer formats say they're in beta: 1-off only for now. Quota runs still play from codes we build by hand.

0.4.1

  • The bank shows on the terminal, beside the credits at the top right, in smaller orange text: $430 $1240. No label, and it never wraps, so six-figure totals still fit on the credits' line. It appears only when there's something in the bank, and only for players with SimpleHQ. Turn it off with ShowBankOnTerminal in the config.

0.4.0

  • Kits are codes now. A tournament kit is a code the organisers hand out, like an old save-game password: 23280-01HWG-.... The host types it at the terminal after everyone agrees. Nothing is shipped inside the mod any more, so organisers can run their own kits without a mod update, and a mistyped code is refused instead of loading the wrong thing.
  • Removed the sealed kits and their decryption. Kit codes are plain, checkable data.
  • A code carries the kit exactly: name (up to 31 characters, as typed), format, hardcore flag, crew range, credits, cruiser, days (moon, seed, weather), starting items and fixed quotas. KitCoder proves every code rebuilds its kit field for field before printing it, and can turn a code back into a kit file.
  • The unused scoring field is gone: the run total is the score.
  • Long kit codes fit at the terminal now: the code screen lifts the typing limit, and if a code still gets cut, type the rest on the next line and it loads as soon as it's complete.
  • Series: load another code in the same lobby and its score is added to the last one, so a bracket can play one code per round (handed out only when everyone has finished the round) without anyone leaving the lobby. /tournament shows the series total, and /tournament end posts every run and the final score.
  • Kits can end the run on any death, not just a wipe ("deathsEndRun": true). The day's scrap doesn't count, and the results say who died.

0.3.0

Tournament mode, stage 2: the kit applies itself.

  • New flow. The host types tournament (or /tournament start) with no code, and everyone agrees to tournament mode itself. Then the lobby locks and the ship flies to the Company and waits: routing locked to the Company, and the lever won't land. When the host enters the code (tournament at the terminal again, or /tournament load <code>), the kit applies at once, with no second vote, and the lever unlocks.

When the code is entered, in orbit:

  • The ship routes to the kit's moon, and routing is locked to it for the run.
  • The moon's weather is fixed to the kit's on every player's game, right away (no waiting a day).
  • The kit's seed is set, so every team gets the same interior, scrap count and single-item day.
  • Credits are set to the kit's, and its tools appear on the ship floor.
  • Every player now needs SimpleHQ for tournament mode: the game has no way to send weather, so each player's SimpleHQ sets it. /agree from a player without it says so and doesn't count.
  • Formats: a kit is a whole tournament: 1o (one day) or 1q, 3q... (three moon days per quota), each day with its own moon, seed and weather, routed automatically. Normal runs get a Company day after each quota to sell and meet it (vanilla rules, fired on a miss); hardcore runs have no Company days and each quota is checked against the scrap banked in its three days. Kits can fix their quotas and the crew size (exact, or a range like 1 to 2 players); a lobby that doesn't fit is refused. When the run is over the results go to chat and the ship waits at the Company.
  • Scoring: at the end of every tournament day, the scrap brought back goes into the bank and onto a run total shown in chat and in /tournament. Kit items never count; found shotguns and knives do. A crew wipe loses it all, like vanilla.
  • Clean ship: when the code is entered, everything on the ship is removed, so nothing from before the run counts. At the end of each day the scrap is banked and removed (players drop what they hold); equipment stays for the next day.
  • Title card: entering the code shows "TOURNAMENT: <NAME>" on every player's screen (on the game's own quota card) with the first quota and the format, instead of a "quota reached" popup.
  • Run timer for set-seed speedruns: from the first lever pull to the end of the run, shown in /tournament and in the results.
  • When tournament mode turns on, credits go to $0 and anything ordered before it is cancelled.
  • Routing is free in a tournament: the ship routes itself, and routing by hand to the day's moon just says it's already routed instead of charging.
  • A kit whose moon, weather or items aren't in the game is refused when the code is entered.
  • Loading another kit mid-run takes the old kit's tools back off the floor; /tournament end puts the weather and seed back to normal.
  • Fixed: a kit's tools didn't appear. The game's JSON reader skipped the item list, so it's read separately now.
  • Chat messages from SimpleHQ are labelled "HQ" (red-orange) instead of "Bank".
  • Bank withdrawals no longer label tools with a value (only scrap gets one).

0.2.0

Tournament mode, stage 1. Sealed tournament kits ship inside the mod; the host unlocks one with its code, every player agrees, and the lobby locks.

  • The host types tournament at the terminal, then the kit's code on the next line (or /tournament load <code> in chat). Codes are case sensitive.
  • The kit is shown to the lobby, and every connected player types /agree in chat within 2 minutes. Players don't need any mods to agree.
  • Tournament mode ON: the lobby locks and refuses joins, and every suite mod switches its commands and gameplay extras off. /tournament shows the state; the host ends it with /tournament end.
  • Kits are encrypted with their code, so the seed and moon can't be read before the code is released.
  • Stage 2 will apply the kit: credits, tools on the floor, cruiser, moon, seed and weather.

0.1.5

  • Auto deposit hooks the end of the day at a sturdier point in the game, the same fix as SimpleSell's briefing.

0.1.4

  • /bank info (or bank info at the terminal) tells the whole lobby the bank exists and how to use it from chat, which works for players without SimpleHQ.
  • Only the host and whitelisted players can use bank commands. Anyone can still type /bank to see the total. The whitelist is SimpleSell's (/whitelist); without SimpleSell, bank commands are host-only.

0.1.3

  • Sell from the terminal when the host also runs SimpleSell: sell 500, sell quota, sell all, sell gold bar 2, and sell bank 300. Without SimpleSell on the host, sell isn't added to the terminal (except sell bank).
  • Auto deposit: /bank auto on|off (or bank auto on at the terminal) deposits all the scrap on the ship at the end of each day, just before the game saves. Off by default; the setting is remembered between sessions.
  • Fixed: withdraw could duplicate items. Its second step ran on a plugin object the game destroys after startup, which would crash after the items appeared but before they left the bank. It now uses its own helper, and the bank is always updated.
  • Bank files are never overwritten by another run. Save managers like LCBetterSaves rename save slots, so a slot's bank file can belong to a different run. It's now kept under a new name instead, and that run finds it again when loaded.

0.1.2

  • The bank's value shows in SimpleSell's /stock (SimpleSell 0.1.3 or newer).
  • Withdraw: /bank withdraw <item> [count|all] (or bank withdraw ... at the terminal) puts items back on the ship with their exact value. No count means 1; the most valuable come out first.
  • Deposits and withdrawals only work in orbit or at the Company, not while landing on or exploring a moon.

0.1.1

  • Bank commands work in the terminal. Type bank deposit 100, bank deposit all, bank list or bank sell 300 at the terminal, no slash needed. The result shows in chat. Typing just bank still shows the bank.
  • The public-lobby lock message now says how to unlock it: host as Friends only, or /lobby friends.

0.1.0

First version.

  • Scrap bank: /bank deposit <amount|all|item> takes scrap off the ship and keeps its value.
  • /sell bank <amount|quota|all> sells from the bank at the Company.
  • bank in the terminal shows the bank to every player with SimpleHQ.
  • Mirrors vanilla: the bank is lost when the crew is wiped out, and emptied when you're fired.
  • Private lobbies only. The game save is never changed.