Please disclose if any significant portion of your mod was created using AI tools by adding the 'AI Generated' category. Failing to do so may result in the mod being removed from Thunderstore.
MoonControl
Early work in progress. Turns off the moon's automatic difficulty rise - it stays off until you grab the moon button in the truck, capped by what your run has unlocked, with a value bonus for choosing a harder one.
| Date uploaded | a week ago |
| Version | 0.1.0 |
| Download link | vibez-MoonControl-0.1.0.zip |
| Downloads | 23 |
| Dependency string | vibez-MoonControl-0.1.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.2305README
Moon Control
Work in progress. This is an early, actively-changing build - menu layout, button placement and even the bonus formula have all shifted between versions, and not every change has been confirmed in a real game session yet. Expect rough edges, and please report anything odd (especially in multiplayer).
The game raises the moon on its own, one step every 5 levels, and once it does the moon never goes back down for the rest of the run - it makes things progressively harder (and stranger) whether you want that or not. This mod takes that away: the moon stays off until you turn one on yourself, by grabbing the moon button in the truck, and only a moon your progress has actually earned can be chosen. Turning one on also gives every valuable a bonus to what it is worth, so choosing a harder moon is a choice, not just something that happens to you.
The moon button
A little moon on a pedestal stands at a fixed spot in the truck. Grab it - the same way you hold the extraction point's own button - and a menu opens: a list on the left with every moon your run has unlocked so far ("none", the game's own baseline; each moon level you have reached, one every 5 levels completed; and "Random"), and a preview on the right showing whatever row your mouse is over - its icon, its real effects (the same descriptions the game's own "a moon just changed" screen shows), and the value bonus it gives, so you can see what a moon does before picking it. Click a row to apply it. Only the host can pick - everyone else's copy of the menu is read-only, and still shows the current pick and follows whatever the host chooses.
"Random" is a standing choice, not an instant roll. Picking it does not immediately apply some moon - it keeps things a surprise: a moon is rolled among whatever is unlocked right as each level starts, a different one potentially each time, and you only find out which by playing it. It stays selected (surviving between levels, and even the game being closed and reopened) until you pick something else.
Applying a moon turns on everything the game itself ties to that moon level - the real thing, not an imitation of it - and adds to every valuable's worth: 10% per level, added together (moon 2 is +20%, moon 3 is +30%, and so on). Both take effect for what you find in the very next level. While holding a valuable that got a bonus, its price tag shows the base price plus the bonus amount in red, instead of just the combined total.
Multiplayer
Only the host can choose a moon - clients can open the menu and look, but picking does nothing for them; the menu still shows whatever the host has applied. Everyone needs the mod for their own moon to stay in step with the host's (without it, a player's own game keeps rising the moon on its own on their machine) and to see the moon button at all (it is a real networked object, spawned by the host - a player without the mod simply will not have it to grab); the value bonus reaches everyone regardless, since the host's price is what is sent out.
Settings
Edit them in BepInEx/config/vibez.MoonControl.cfg (or with REPOConfig).
| Setting | Default | Meaning |
|---|---|---|
General/Enabled |
true | Turns the whole mod on or off. Off gives you the game's own moon behaviour back (it rises on its own, permanently, every 5 levels), and the moon button does not appear. |
General/ValueBonusPercent |
10 | How much applying a moon adds to what every valuable is worth, in percent per level applied, added together. Only the host's setting is used. |
General/ButtonPositionX, ButtonPositionY, ButtonPositionZ |
-13.40, 0.69, -1.90 | The moon button's fixed world position in the truck. Only the host's setting is used (the host is the one who places it). The default is where the button sits by default; if the truck ever looks different, or you just prefer another spot, find a new one with DevTools' coordinate probe (aim at the floor spot you want and read its "World XYZ" off the on-screen readout). |
General/ButtonYawDegrees |
0 | Which way the moon button faces, in degrees around the vertical axis. Only cosmetic. |
General/ButtonScale |
1.8 | How big the moon button is, as a multiplier of its normal size. Turn it way up (5, 10...) while hunting for it so it is impossible to miss, then bring it back down once you know where it is. Grabbing works at any size. Host-only display - other players in multiplayer always see it at normal size. A changed value only applies the next time the button is placed. |
General/LiveTuneSeconds |
0 | Debug convenience: above 0, the button keeps re-placing itself on this interval (seconds) while you stay in the truck, picking up any position/yaw/scale change made through REPOConfig without leaving and coming back. 0 = off (placed once per visit, the normal behaviour). Leave it at 0 outside of a tuning session - re-placing pulls the button out from under anyone holding it. |
General/MenuScale |
0.65 | How big the moon menu popup is, as a multiplier of its normal size (1 = the size MenuLib gives it). Takes effect the next time you open the menu. |
Source and license
Source: github.com/ygorborges/repo-mods. Licensed under PolyForm Noncommercial 1.0.0.
Written with the help of AI (Claude), hence the AI Generated tag.
CHANGELOG
Changelog
1.0.0
- First full release. Everything below has been played through in game.
- The moon button now appears on its own without having to turn
LiveTuneSecondson. It used to be placed the instant the run switched to the truck, which is before the truck itself has actually loaded, so it was thrown away along with the old level and only the repeats a tuning interval made ever survived. It now waits for the level to really be up, and replaces the button if it ever goes missing. - The menu's Close button actually closes the menu. The game's menus have no EventSystem-driven input at all - every one of its own buttons polls the mouse itself - so a plain Unity button there never received a single click, however right it looked.
- The preview panel is now a twin of the popup's own panel: the same size, beside it, instead of a smaller box floating next to a taller one. Close sits in a footer strip of its own rather than on top of the explanation text, and there is breathing room between the page title and the first row.
- The value bonus no longer eats into the level generator's own budget. The generator fills a level until its total value passes an allowance and then stops, so counting the bonus in meant a moon simply bought you FEWER valuables, largely cancelling itself out. Levels are now generated exactly as they would be with no moon at all, and everything in them is then worth the bonus more.
- The moon looks like a moon: craters are drawn in the sphere's own coordinates (so they stay round at the poles instead of smearing, and wrap across the seam), placed evenly over the surface, each with a sunlit rim and a shadowed floor, over a few large dark plains.
- The moon gives off a pale white glow, both on itself and as real light cast over the pedestal and the floor around it. New
ButtonGlowsetting to turn it up, down or off. - The pedestal is brushed steel with panel seams, a bolted gold band, a polished collar under the moon and grime around its foot, instead of the near-black tube it was.
MenuScalenow defaults to 0.9, which suits the wider two-column menu.
0.1.0
- First version: the moon no longer rises on its own. It stays off until you grab the moon button that stands at a fixed spot in the truck (the same way you hold the extraction point's own button), capped by how many your run has actually unlocked (the same one-every-5-levels the game uses). Applying a moon turns on its real effects and adds 15% to every valuable's worth per level applied, added together.
- The moon button's position is a plain fixed world spot (
ButtonPositionX/Y/Z) rather than an offset from a landmark in the truck - the truck's own level-number screen only shows anything once the next level has already started, so it was never reliably there to measure from during the intermission itself. - Grabbing the button opens a menu that now stays open properly (an earlier build closed it again the instant it opened).
- Added
ButtonScale, to size the button up while hunting for it and back down once you know where it is. - Added
LiveTuneSeconds: above 0, the button keeps re-placing itself on that interval while you're in the truck, so a position/scale tweak in REPOConfig shows up without leaving and coming back. - The moon applied now persists with the run's own save (it used to live only in memory, so it read back as "none" the next time the game was reopened even mid-run).
- The panel that shows what is coming up (hold Tab in a level) now shows the moon actually applied through Moon Control - it used to show what the game's own automatic schedule would have picked, ignoring "none" or any other choice made here.
- The moon menu no longer sits squashed against the left edge of the screen with its text clipped - it is centered, and rows (with the "+X% valuables" suffix) wrap instead of getting cut off.
- Fixed the value bonus being applied twice to every valuable (the game rolls a valuable's price through the same method twice during level generation; the bonus was being multiplied in on both passes instead of just the first).
- The bonus per level is now 10% (was 15%).
- Only the host can pick a moon now - it used to also work for anyone who clicked a row, applying without the host's say. Everyone else's copy of the menu is read-only, still shows the current pick (with its icon, the same one the Tab indicator uses) and a "Random" row lets the host pick that instead of a specific moon.
- While holding a valuable priced under an applied moon, its floating price tag now shows the base price plus the bonus amount in red, instead of just the already-combined total.
- Added
MenuScale(default 0.65), to shrink the whole popup - it was taking up most of the screen. - The menu is now two columns instead of one long list: moons (and Random) on the left, and a preview of whatever row the mouse is over on the right - its icon, its real effects (the same text the game's own "a moon just changed" screen shows), and the value bonus, before you commit to picking it.
- Every row now stays exactly one line tall (the font shrinks to fit instead of wrapping), the preview panel has a background to read against instead of floating over the 3D scene, its title is centered, and it now spans the same height as the list instead of a smaller box within it.
- "Random" no longer rolls and applies a specific moon the instant you click it - it is now a standing choice (surviving between levels, same as any other pick) that keeps the actual moon a surprise: a fresh one is rolled among whatever is unlocked right as each level starts, so you only find out which by playing it, and it can come up differently level to level. Its preview shows every unlocked moon's icon side by side instead of one.
- The gap between the lines in the preview panel's effects list is smaller.
- The moon button's own moon looks more like a moon (proper craters with a raised rim, dark "maria" patches, a faint warm/cool tint instead of flat grey) and its pedestal is now a dark blue-grey brushed metal with a gold trim band, instead of plain grey.