NyxLib
General Library for/used by mods made by Nixya/nyxpirientity. Probably not of much interest to you unless you're installing one of those
| Date uploaded | 3 hours ago |
| Version | 0.3.0 |
| Download link | Nyxpiri-NyxLib-0.3.0.zip |
| Downloads | 131 |
| Dependency string | Nyxpiri-NyxLib-0.3.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
Important!
For this plugin/mod to work, you'll need to ensure your BepInEx is configured to have HideManagerGameObject set to true, or else the game will destroy the plugin!
About
NyxLib is mostly a library I created for my own personal ULTRAKILL mods. It can technically be used by anyone, for any mods, but I, ESPECIALLY now, advise against it because I could change the API at anytime, as it's unfinished and also very probably not good. Fundamentally, this doesn't matter much for people to read up on, it's just a framework for me to make mods for ULTRAKILL. It features things for convenience and organization for my mods, such as a small system to organize the composition of radiance, events for various gameplay events (Player events, enemy events, projectile events) and ways for those events to be cancelled whilst other mods using the library can tell if and why those events were cancelled, and even a system for dropping messages to the player. In general, it's just convenience related things for my mods. There is no documentation at the moment.
Cheats
It features a few cheats, most exotic cheats are part of my other (many not released on Thunderstore as I write this) ULTRAKILL mods, but I'll list what there is in this one here alongside some explanation/description. Cheats labeled optional can be enabled/disabled in the configuration file.
UTILITY:
- Radiant All Enemies - Does what it says- similar to forcerad, but it uses it's own configuration settings, configured in the config file. Why? Well, simply because the base ULTRAKILL radiance system was a bit too simplistic for my mods to combine from what I could tell, so I had to make a layer on top of it which simply takes in multiple radiance modifiers and compounds them together as either additives or multipliers. This may interfere with base game radiance IF anything is actually using it, but if no mods are using it, it should make no difference (in theory, but like, software has bugs and all of my mods add to be a big solo-unpaid-personal-project)
- Sand All Enemies - Just a convenience cheat for the sand all enemies command in the game (optional)
- Force Next Wave - Tries to force the next cybergrind wave to occur. (optional)
- Hide Cheats Enabled Status - Hides the cheats enabled status UI in the top left (optional)
- Cybergrind Starting Wave Override - Allows you to override your cybergrind starting wave, being a cheat, this shouldn't be capable of saving as a highscore. (optional)
Options
- Play Clean Music with Battle Music - tries to make the clean music track play with the battle music track, as in, at the same time
Note
It also features a feature named "Level Quick Loading" which loads levels at startup to allow mods to pick assets from those levels they may need. This causes startup to look a bit different, and can make it take longer. Frankly, I just don't know of a different way to do what I wanted lol
CHANGELOG
USER FACING/FRONT-END
- make radiant all enemies use enemy's base radiance as a... well, base (and many additional configuration options!)
BACK-END/INTERNAL/API
- improve timing of cheat registration events
- Simplify
EnemyRadiance.Modifierwith aCompositionTypeenum instead of multiple bools - Add projectile asset prefabs
- Overhauls
AEnemyType(nowEnemyTypeData) by making it a single class - Overhauls asset handling greatly, sorting things into their own singletons and files, and assigning tasks to specific classes rather than a single global Assets class
- rename
ScenesEventstoSceneEventsand make some event names more (I think) reasonable - rename
AEnemyType.ReadableNametoEnemyTypeData.DisplayName - rename
EnemyPrefabStoretoEnemyCloning,EnemyPrefabStore.InstanceStoretoEnemyCloneStore, andEnemyPrefabManagertoEnemyCloneManager - add
Gear(player weapon prefabs) toAssets - add
ExplosionRootmonobehaviour - add
ExplosionStartModifier - add
Shaker3D - add
Shaker1D - add image and obj (mesh format) loader for external asset loading
- add
DebugPrintMaterialPropertiesmethod in newAssetInspectingclass - add
includeFileInfoparameter forStackDebug - add
Coincident,CoincidentProject, andSnappedmethods toNyxMath - add
VelocityTracker - add
CollisionCenterproperty toEnemyComponents - remove
ExplosionAdditions - many stability adjustments to
EnemyPrefabStore/EnemyCloneStoreand friends