Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/zkxs/moonomod

A mod for Lunacid that disables certain time checks
https://github.com/zkxs/moonomod

bepinex lunacid mod

Last synced: about 1 month ago
JSON representation

A mod for Lunacid that disables certain time checks

Awesome Lists containing this project

README

        

# MoonoMod

A mod for [Lunacid](https://store.steampowered.com/app/1745510/Lunacid/) that disables certain time checks the game
performs and fixes some related bugs. **Note that reading further will spoil certain intentionally obscure things the
game does.** If you enjoy trying to figure out obscure things on your own, you've been warned.

I made this mod because I was not very happy to learn that I'd done my first playthrough on a new moon, and had
therefore completely missed the entire Lunacy mechanic. And to add further insult, it'd be a 15 day wait to get the
Broken Sword. I'm aware I could just change my system clock, but I despise setting my system clock incorrectly.

The name of this project is a riff on [MonoMod](https://github.com/MonoMod/MonoMod).

## Installation

1. Install [BepInEx 5](https://github.com/BepInEx/BepInEx) into your Lunacid game folder. This mod is NOT made for
BepInEx 6.
2. Add [MoonoMod.dll](https://github.com/zkxs/MoonoMod/releases/latest/download/MoonoMod.dll) to your BepInEx `plugins`
folder. If `plugins` doesn't exist, simply create the folder inside your `BepInEx` folder.
3. If you wish to edit the configs in-game, install
[BepInEx.ConfigurationManager](https://github.com/BepInEx/BepInEx.ConfigurationManager) to your `plugins` folder as
well.

If you did everything correctly, you should have `MoonoMod.dll` at this location:
`C:\Program Files (x86)\Steam\steamapps\common\Lunacid\BepInEx\plugins\MoonoMod.dll` (at least for a typical Steam
install).

## Features

Each of the following features can be toggled on and off via configuration options, which can be edited in-game using
[BepInEx.ConfigurationManager](https://github.com/BepInEx/BepInEx.ConfigurationManager).

By default, only the **Force Full Moon** feature is enabled.

- **Force Full Moon**: Force full moon exclusive objects to appear on level load, and maximize the moon multiplier.
- The moon sprite in the main menu scene will be full.
- Objects that only appear during full moon will appear.
- The Broken Sword appears.
- Clive gets a transparent crown.
- Ankou spawn.
- Lunaga are replaced with Ga-Mangetsu.
- Double player XP gain compared to new moon.
- Maximum lunacy gain multiplier. You gain zero lunacy during a new moon.
- Cursed Blade does maximum damage, but drains 1 player XP per attack.
- Certain lights are recolored. Notably the Fetid Mire skylights are green, but during full moons they're purple.
- Certain enemies that have moon-based health scaling will have their maximum health.
- **Skip Waits**: Force all checks to see if the player has waited some duration of time (sometimes minutes, somtimes
months) to pass.
- After it's been placed, the skeleton egg normally waits for the month to change before it hatches.
- Some NPCs, such as Daedalus, will tell you to come back in a while before their dialogue changes.
- **Force Christmas**: Force Christmas exclusive objects to appear on level load, and allow the Jingle Bells spell to be
cast.
- Jingle Bells can normally only be cast during December.
- The christmas present (Jingle Bells) normally only appears December 25-31.
- Christmas decorations normally only appear December 10-31.
- **Force Summer**: Force Summer exclusive objects to appear on level load.
- As far as I can tell, this only makes Patchouli's horns have flowers. This naturally happens during the months of
March-August.

## Bug Fixes

All bug fixes are enabled by default. They can be manually disabled via the configuration (which again, can be edited
in-game using [BepInEx.ConfigurationManager](https://github.com/BepInEx/BepInEx.ConfigurationManager)). Additionaly, the
bug fixes have some safety checks to try and detect if future versions of Lunacid are incompatible with my bug fixes. If
these checks fail, the bug fixes will automatically disable and vanilla behavior will be used instead.

- **Fix All-Spell Check**: Fixes the check that calculates if you have all spells. In vanilla, it counts spells that
aren't normally obtainable, such as the Jingle Bells and !DEVMODE spells. The bug means you might pass the all spell
check when you're still missing spells. Because this mod makes the Jingle Bells spell trivial to obtain, the bug
becomes a much larger issue than it'd normally be.
- **Fix All-Weapon Check**: Fixes the check that calculates if you have all weapons. In vanilla, the check breaks if the
Shadow/Shining blade has nonzero weapon XP. Also, Kira checks to make sure you have 48 or more weapons... but it's
possible to obtain 50 distinct weapons. My best guess its that Kira didn't want to count the two weapons you can lose
later.

## License

Copyright 2024 [Michael Ripley](https://github.com/zkxs).

MoonoMod is provided under the [GPL-3.0 license](LICENSE).