LethalMoonUnlocks
Permanently unlock moons and more. Works with all custom moons. No issues with special characters, whitespaces, etc.
Date uploaded | 4 months ago |
Version | 1.0.1 |
Download link | explodingMods-LethalMoonUnlocks-1.0.1.zip |
Downloads | 1936 |
Dependency string | explodingMods-LethalMoonUnlocks-1.0.1 |
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.2100IAmBatby-LethalLevelLoader
A Custom API to support the manual and dynamic integration of all forms of custom content in Lethal Company. (v50 Compatible)
Preferred version: 1.3.10xilophor-LethalNetworkAPI
A library/API to allow developers to easily add networking to their mods.
Preferred version: 3.2.1README
LethalMoonUnlocks
Permanently unlock moons and more. No issues with special characters in custom moon names.
Credits for the original idea to Permanent Moons by BULLETBOT.
Unfortunately Permanent Moons is not maintained anymore and has some issues where it's not working with certain custom moons (Atlas Abyss
, Outpost-31
, ..) due to the non alphanumeric charaters in their names.
That is why I decided to make this mod. You can seamlessly transition your savefiles to LethalMoonUnlocks. Read more below.
All clients need to have this mod installed!
Report issues on GitHub: LethalMoonUnlocks
This mod requires:
- LethalNetwork API - Used for networking the necessary data between host and clients.
- LLL - Allows us to easily access and change moon prices.
If you don't use LLL, you don't have custom moons, so you can use Permanent Moons (link above) just fine.
Seamless migration from Permanent Moons
LethalMoonUnlocks automatically imports your Permanent Moons data from existing savefiles and migrates it to the LethalMoonUnlocks format when you load into them.
Any data for moons that are not installed (or enabled) at the time or can't be matched for other reasons will be discarded.
Once you've installed LethalMoonUnlocks you can disable/uninstall Permanent Moons. No need to start the game with both installed once or anything like that.
Additional features and config options
You can configure the mod to do a little more than just setting the price of visited moons to 0.
Currently there are two additional features:
- a discount mode where each moon goes through a customizable list of discount rates. Each time you buy a moon it unlocks the next discount rate.
- a randomly selected unlock (or discount) each time you make the quota.
Full description below
Feature: Reset when fired
When enabled will reset all your moon unlocks (or discounts) when your crew is fired.
Disable to keep all your unlocks (or discounts) through all quotas on the same savefile.
Enabled by default (Config value: True)
Feature: Unlock on new quota
When enabled a random moon will be unlocked every time you complete a quota.
You can configure this in two ways.
Disabled by default (Config value: False)
Config: Max unlock price
This will limit the random unlock to moons below this price. Of course free moons are always excluded.
Disabled by default (Config value: 0)
Config: Limit number of unlocks
Simply limit how often this unlock can occur in a single run.
For example if you set this to '3', you will get three random unlocks: Upon First day of second, third and fourth quota
Disabled by default (Config value: 0)
Feature: Discount mode
Instead of permanently unlocking moons when bought once, unlock a new discount rate each time you buy a moon.
Disabled by default (Config value: False)
Config: Discount rates
Set your preferred discount rates. Values are given as '% off' of the original price and seperated by comma.
Each time you visit a moon the next discount rate from the list will be applied (the list is basically discount after 1st visit, discountafter 2nd visit) ..
Only affects prices when discount mode is enabled.
50%, 75%, 100% by default (Config value: 50,75,100)
Special Thanks
CHANGELOG
v2.1.9
Added
- Terminal Scrolling: Added an option to smooth terminal scrolling and avoid skipping moons when you have a lot visible at once.
- Disabled by default. Toggling requires game restart.
- Can be configured in Advanced config section.
- This is the same patch used by StoreConfigRotation and TerminalFormatter. Don't use more than one or the effect will multiply!
- Currently has no effect when AdvancedCompany is installed.
- Thanks @pacoito123 for the transpiler patch!
- Thanks BULLETBOT for making me aware of the skipping moons issue!
- Quota Discovery: New
Match cheapest constellation
option- Use this config setting to change the behaviour of
Match cheapest group
to discover the next cheapest undiscovered constellation instead of the one that has the cheapest undiscovered moon.
- Use this config setting to change the behaviour of
Changed
- Quota Discovery: Chat message will now print the group name similar to other chat messages.
Fixed
- Fixed an issue where disabling Discovery Mode and loading an existing savegame that previously had it enabled would not show all moons.
v2.1.8
Fixed
- An issue where certain moon names could break the moons catalogue.
v2.1.7
Added
- WeatherTweaks: Added a compatibility workaround to ensure WT's custom weather types are displayed on terminal until a better solution is found.
Changed
- Alert messages: removed redundant alert messages when an entire LethalConstellation or custom group was discovered on Quota Discovery with
Match cheapest group
enabled.
Fixed
- An issue with
Reset permanent discoveries on .. expiry
config settings resetting the discovery status more often than they should. - An issue where the new day discoveries are permanent discoveries config setting was not respected.
v2.1.6
Changed
- Group tags (custom groups and LethalConstellation) will now show on terminal regardless of whether they are used for any discovery mechanic group matching..
- .. as long as the respective group matching method is selected and the tag itself is enabled.
Fixed
- Fixed/changed a few chat messages being sent even if chat messages were disabled.
v2.1.5
Fixed
- An issue where group tags wouldn't display when using custom groups and
Quota Discoveries match cheapest group
was the only group matching option enabled. - An issue where
Quota Discovery match cheapest group
wouldn't correctly match moons under certain conditions.
v2.1.4
Added
- Terminal Formatting: Customizable font size config for the moons catalogue.
Changed
- LethalConstellations: Ensured the default constellation is set correctly for better integration.
- Terminal Formatting: Attempting to prevent some inconsistent ugly line breaks in the moons catalogue.
- LLL changes the font size depending on the numbers of moons visible.
- LMU now overrides that behaviour and enforces a constant font size.
- The max line width config was changed accordingly to allow for longer lines when using smaller font sizes
- Group tags: All Custom groups and LethalConstellations tags are now displayed in uppercase for visual consistency with the LethalConstellations page and other LMU terminal tags.
Fixed
- Minor bugs, inconsistencies and config descriptions.
v2.1.3
Changed
- LethalConstellations:
- Removed LethalConstellations patch.
- Subscribed to the new
RouteConstellationSuccess
event (thanks @darmuh!)
Fixed
- Resolved warnings and errors that occurred when LethalConstellations was not installed.
- This was due to an interaction between Linq compiler magic and referenced types that are not present, along with runtime reflection.
- Fixed a bug where attempting to route to an unaffordable constellation was incorrectly interpreted as purchasing the constellation's default moon.
- Corrected an error when LethalConstellations was selected as the group matching method but was not installed.
v2.1.2
Fixed
- Addressed an issue where the assembly was missing from the v2.1.1 release package.
v2.1.1
Fixed
- Hotfix for the moon catalogue breaking when LethalConstellations was not present.
v2.1.0
Added
- LethalConstellations compatibility:
- Introduced a new group matching method for LethalConstellations.
- In Discovery Mode, constellations are discovered when at least one moon is discovered.
- The number of discovered moons is displayed in the LethalConstellations Terminal screen ([optionals] in your LethalConstellations config)
- Terminal tag (shares 'Group tag' config)
- Show alerts when discovering new constellations.
- Config option to override constellation prices with the cheapest discovered moon, applying unlocks and discounts to constellations.
- Quota Discovery: New option to match the currently cheapest not fully discovered group (custom group or LethalConstellation).
- Fallback options: Added fallback options for group matching in all additional discovery mechanics.
Changed
- Cheap Moon Bias:
- Now applies to Quota Unlocks, Quota Discounts, and Quota Full Discounts.
- Separate toggle and bias values for each applicable mechanic.
- Added an option to ignore price changes.
- updated in-game messages
Fixed
- Corrected some incorrect logs and other minor issues.
v2.0.3
Added
- Alert Messages Networking: Improved alert message handling across the network.
Changed
- Discovery Mode Safety Check: Now considers moons on the whitelist.
- Added several fallbacks for better reliability.
- Whitelist Verbosity: Enhanced error messages for incorrect entries in the whitelist.
Fixed
- Resolved issues with alert messages not displaying on clients.
- Fixed a bug where a moon was incorrectly added to the rotation when both free and dynamic free base counts were set to 0 but a whitelist was used.
v2.0.2
Fixed
- Corrected the display of terminal tags, which were shown with default settings.
v2.0.0
Note: This is a major update. Please refer to the README and configuration for detailed information on new features and options. It is recommended to delete your existing config for optimal performance.
Added
- New Unlock Mode Mechanics:
- Unlocks can expire.
- Introduced Quota Unlocks.
- New Discount Mode Mechanics:
- Discounts can expire.
- Added Quota Discounts and Quota Full Discounts.
- Discovery Mode:
- Base selections and shuffling mechanics.
- Introduced Quota Discoveries, Travel Discoveries, and New Day Discoveries.
- Added Cheap Moon Bias
- Added Moon Group Matching (including custom groups).
- Automated ship rerouting on deadlines and after shuffles.
- Extensive configuration options for all features.
- Terminal Tags and Formatting:
- Improved compatibility with LethalQuantities (LQ risk level preference).
- Alert Messages:
- Implemented a queue system for alerts, with compatibility for other alert sources.
- Malfunctions Compatibility: Navigation malfunction can be handled as buying a moon.
Changed
- Code Rewrite: A significant portion of the old code was rewritten to improve functionality while maintaining existing features.
The behavior of LethalMoonUnlocks in default configuration remains unchanged.
Fixed
- Resolved a bug where purchasing equipment after routing to a free moon was incorrectly counted as buying the moon.
- Fixed several smaller bugs from v1.0.1.
v1.0.1
Changed
- Code Optimization: Refactored and optimized code related to original prices.
- Always retrieve original prices from LLL and restore them on disconnect.
- Updated chat message on new quota unlock.
- Updated various logs.
- Consolidated excessive logs from development.
- Minor performance and stability improvements.
Fixes
- Corrected issues with discounted prices not reflecting changes to moon prices (e.g., via LLL config) when loading existing saves.
- Fixed incorrect log data during saving.
v1.0.0
- Initial Release