You are viewing a potentially older version of this package. View all versions.
darmuh-LethalConstellations-0.2.3 icon

LethalConstellations

Dynamically change your moons list depending on which constellation your current moon is located in. Constellations are highly configurable.

Date uploaded 2 months ago
Version 0.2.3
Download link darmuh-LethalConstellations-0.2.3.zip
Downloads 7112
Dependency string darmuh-LethalConstellations-0.2.3

This mod requires the following mods to function

IAmBatby-LethalLevelLoader-1.3.10 icon
IAmBatby-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.10
darmuh-OpenLib-0.2.5 icon
darmuh-OpenLib

Open-source development library for LethalCompany, initially created for use with darmuh's Mods

Preferred version: 0.2.5

README

Lethal Constellations

Separate your moons list by constellations.

  • This mod will dynamically change your moons list depending on a configurable constellations listing.

NOTE: This mod is still in early development. Please report any issues you find as you are essentially a beta tester.

Current Features:

  • If a moon is not inside the current constellation it will be hidden from the moons page and locked (using LLL)
  • Contains two config files. A static config and a generated one.
    • Static config will dictate what is generated in the generated config.
    • Generated config is generated after first lobby load.
      • Currently the generated config cannot be modified using LethalConfig.
  • Customizable keywords/text.
    • Dont like the word constellation? Change it in the config!
    • This mod will attempt to replace any pre-existing keywords from the config with radarbooster names as a fail safe.
      • Please avoid overwriting any base-game keywords or other mods' keywords.
      • If a terminal keyword already exists for any of the names you designate, they will be changed.
    • Customizable text for all different types of terminal commands relating to the constellations.
    • Optional shortcut keywords can also be added to each constellation.
  • Current Constellation will be updated on lobby load, works between save files!
  • Moon prices can also be modified by this mod or left to be handled elsewhere.
  • Set routing to a specific constellation to cost credits or allow for your constellations to be free.
  • Set a constellation to be a one-time-purchase, this purchase will be remembered for each save file.
    • In order to sync between players this feature requires LethalNetworkAPI to be present.
  • Routing to a new constellation will take you to that constellation's default moon.
    • This essentially makes the cost of routing to this moon however much it costs to route to your constellation.
  • Set which constellations the company can be routed to in the constellations config
  • Hide special constellations from the menu or if you cant afford it (with configuration options)
  • Allow for a moon to remain hidden while being assigned to a constellation.
  • This mod does not do any patching, all game patching is done by OpenLib & LethalLevelLoader.
  • Compatibility with LethalMoonUnlocks

For other mod devs looking to add compatibility:

  • Subscribe to the RouteConstellationSuccess event in NewEvents.cs to call your own code when routing to a new constellation.
  • Access ConstellationStuff in Collections.cs for a listing of all constellations and their ClassMapper.cs properties

If you have any ideas on how to make this mod better please feel free to reach out!

  • Icon background
    • Credit: X-ray: NASA/CXC/Ludwig Maximilian Univ./T. Preibisch et al.; Infrared: NASA/ESA/CSA/STScI; Image processing: NASA/CXC/SAO/N. Wolk

CHANGELOG

Lethal Constellations Change Log

All notable changes to this project will be documented in this file.

The format is based on Keep a Changelog.

[0.2.5]

  • Fixed fatal error during automated system creating fauxkeywords from LLL content tags which broke the terminal
  • Added logic to skip content tags that are shorter than 3 characters or contain spaces
  • Fixed an issue I noticed with clientside testing that threw an error when loading in and updating the current constellation.
  • General code cleanup and update to latest version of OpenLib

[0.2.4]

  • Updated for latest version of OpenLib
  • Fixed issue introduced with latest Openlib update that broke some portions of constellation handling.
  • Fixed issue where constellation names could not have special characters in them.
  • Fixed issue with shortcut config item being parsed with the wrong character.
  • General info command fixes
  • Added new FauxKeywords option to set your constellation names to whatever you want.
    • These 'keywords' will only work from within the constellations menu.
  • Config items generated after lobby load will now show within the LethalConfig menu.
  • Added button to generate webconfig page which can be used to edit the config in a webpage.
    • These will be located within your Bepinex/config/webconfigs folder
  • Added button to apply config codes that you generate from your webconfig pages.
  • Updated default config handling to use LLL tags with Faux Keywords.
  • Added constellations as compatible nouns to route, so you can type route [constellation-name] and it will route you to that constellation.

[0.2.3]

  • Fixed issue where current constellation could not be calculated when loading a save that was last at the company moon.
    • With networkapi present, this variable will be tracked in your gamesave.
    • Without networkapi present, will resort to your default company constellation as defined by [CompanyDefaultConstellation]
      • If the config item fails to find a matching constellation, will return the first constellation.
  • Updated ThunderStore name to LethalConstellations (the underscore was bothering me)

[0.2.2]

  • Added nullable to project.
  • Fixed issue where having the default moon for a constellation set to a moon that doesn't exist would break the terminal.
    • This would happen if you removed a moon from your mod profile or if you never set a default for the constellation.
  • Fixed issue where the CurrentConstellation publicized string value would be updated even if you can't afford the constellation.
    • Thanks @xCore
  • Added more error handling for cases where the terminal is broken.
    • and some logging for common things that have failed in the past

[0.2.1]

  • Fixed issue of non-host players being unable to join the lobby with this mod present.
  • OneTimeUnlocks for Constellations is now dependent on whether or not LethalNetworkAPI is present.
    • This will be a soft compatibility and if LethalNetworkAPI is not present then constellations will fall back to normal purchase behaviour.
  • Changed moon pricing list to use the actual extendedLevel from LLL rather than a string reference of it's name to hopefully fix issues with prices not updating.
  • Publicized the class containing RouteConstellationSuccess so it should now be accessible.
  • Raised maximum moon price to 99999
  • Added orphaned config item check to remove old inactive configs

[0.2.0]

  • WARNING Backup your old config file before updating, some config items have moved/changed.
  • Fixed issue where Moon prices were not being updated at each lobby load
  • Fixed issue where constellations could still route to the company even if the config item was disabled
  • Added new handling for default config generation, will now create constellations based on moon danger level tiers.
    • When [ConstellationList] is left blank, constellations will be generated by moon hazard tiers. (A+,B+, etc.)
    • Constellation price defaults will be determined by default moon which is chosen randomly
  • Added new buyOnce behavior, where a constellation can be purchased one-time and then free for the rest of the save.
    • Utilizes the game save to remember whether a constellation has been purchased already.
    • buyOnce is configurable for each constellation.
  • Added config option to keep a moon hidden even while in it's constellation
  • Moved each constellation's config to it's own section
  • Added RouteConstellationSuccess event for other mods to subscribe to
  • Added isLocked property for other mods to access a constellation and lock it if needed
  • Added optionalParams property for other mods to access to input text into constellations menu via [optionals]
  • Added handling for [currentWeather] to display the default moon's current weather in the constellations menu
  • Updated handling for setting a moons constellation, you can now set multiple constellations for one moon
    • In the moon's constellation config item separate each constellation by a comma to register it for multiple constellations.

[0.1.7]

  • Fixed issue with LethalConfig soft compatibility.
  • Added more compatibility for LethalMoonUnlocks

[0.1.6]

  • Publicized some things for future compatibility with LethalMoonUnlocks by explodingMods (xCore)
  • fixed typo in a method name
  • fixed typo in manifest.json referencing incorrect OpenLib version number

[0.1.5]

  • Added new config item [HideUnaffordableConstellations] to hide constellations you cannot afford
  • Added new config item [AddHintTo] to determine which base menus your hinttext would be added to
  • Changed otherText config items to hintText for better clarity
  • Added new config item [ConstellationsShortcuts] to set shortcut keywords for the constellations menu
  • Moved static config to the base plugin config rather than defining a new one.
  • Added multi-word constellation support
  • Backend changes to optimize constellation handling.
    • New ClassMapper will track constellations and their properties.
    • Replaced 5 different dictionaries with this new class.
  • Changed the generated default moon for each constellation to be a random moon from the list of moons the constellation belongs to.
  • Added new shortcuts config for each constellation to specify shortcut keywords for each constellation.
  • Added isHidden configuration for each constellation to hide special constellations.
  • Added canRouteCompany configuration for each constellation to specify whether you can route to the company building from it or not.
  • Fixed some instances where the customized [ConstellationsWord] was not being used in place of "Constellations"

[0.1.0]

  • Initial Mod Creation.