Skip to content

Releases: TeamMoonstorm/MoonstormSharedUtils

2.5.1 - ItemDisplay Hotfix

30 Dec 04:09

Choose a tag to compare

Runtime

  • Deprecated ItemDisplay solution (NamedItemDisplayRuleSet and ItemDisplayDictionary) now regenerate the IDRS's runtime values in an async fashion.
  • Removed CreateAssetMenuAttribute from NamedItemDisplayRuleSet
  • Added clarification to UberSkinDef that it does not append to the TargetObject's modelSkinController.
  • Fixed ItemModuleand SceneModuleprocessing IAsyncContentInitializer interfaces incorrectly.
  • DEBUG only:
    • Fixed ItemDisplayHelper accidentally setting all rules with a valid child locator entry name to the first child locator entry name.

Full Changelog: 2.5.0...2.5.1

2.5.0 - ItemDisplay Replacement

30 Dec 01:04

Choose a tag to compare

Runtime

  • Removed the ExtendedEliteDef.VanillaTierFlags enum from ExtendedEliteDef
    • Note from Nebby: The VanillaTierFlags system was flawed as it did not make sense for it to be a flags enum. Since MSU adoption is still relatively small, i went ahead and checked if Starstorm2 utilized the feature. Since SS2 didn't use it, i went ahead and replaced it with a new Enum for elite tiers.
  • Added ExtendedEliteDef.VanillaEliteTierEntry, which is used to reference the vanilla tiers of elites.
    • Unlike VanillaTier, the Tier1 and Tier1.5 are separate enum entries, the concept of HonorDisabledand HonorActive (which are used to reference both Tier1 and Tier1.5) have been replaced by GlobalTier1 and GlobalTier1Honor respectively.
  • UberSkinDef now utilizes AddressableComponentRequirementAttribute and NoCatalogLoadAttribute, to ensure proper prefab selection and no BaseSkins loaded from the catalog.
  • Added the ItemDisplayAddressedDictionary
    • Replaces the ItemDisplayDictionary
    • An ItemDisplayAddressedDictionary is utilized for adding new item display rules to multiple Vanilla Exclusive ItemDisplayRuleSets
    • Display Prefab selection can be referenced via addressed, this was done to allow for new spike placements for Mithrix.
    • Has a ContextMenu utilized to populate with vanilla references, utilizing the key asset's metadata as a template.
    • Each ItemDisplayAddressedDictionary needs to be initialized using AddEntries() for the new entries to appear.
  • Deprecated ItemDisplayDictionary and NamedItemDisplayRuleSet
    • Note from Nebby: The memop update allowed the modding community to reference both Key Assets and Display Prefabs utilizing addressables, this in turn made the NamedItemDisplayRuleSet's main goal (serializing an IDRS at editor time) obsolete. The ItemDisplayDictionary was replaced with the ItemDisplayAddressedDictionary as a result. Both have a new wizard for upgrading to IDRS and IDAD respectively.
  • Improved the robustness of ILHooks in the API (Thanks MysticalChicken!)
  • Added a CoroutineWithResult Coroutine, which as it's name suggests, is a coroutine that eventually returns a value.
  • Added a new ContentPiece-addon interface, the IAsyncContentInitializer
    • The AsyncContentInitializer interface, as the name suggests, is used to initialize content in an asynchronous fashion.
    • This can be utilized for example, to run UberSkinDef.PreBake() method on a VanillaSurvivorContentPiece to intialize the UberSkinDef. Or run ItemDisplayAddressedDictionary.AddEntries() on a ItemContentPiece to add said item's displays.

Editor

  • Fixed TransformPathDropdowns having a weird formatting for the "this" option
  • Removed old UberSkinDef related editor classes
  • EntityStateTypeCollection now has a Add Scripts found on this Directory and Children context menu.
  • Removed a large amount of classes related to ItemDisplayDictionary, NamedItemDisplayRuleSetand VanillaSkinDef

Full Changelog: 2.4.3...2.5.0

2.4.3 - Bugfixes

05 Dec 23:08

Choose a tag to compare

  • Thanks @MysticalChicken for the fixes regarding content addition of DroneDefs and CraftableDefs!

Runtime

  • ConfiguredVariable's configHash is now calculated using HashCode.Combine
  • Added ability to Disable a drone in ContentUtil.cs
  • ContentUtil.HandleAssetAddition now properly handles DroneDef and CraftableDef
  • Fixed an issue with ProperSave where language loading could cause exceptions at runtime

Editor

  • Updated RoR2EditorKit dependency to at least 5.6.0

What's Changed

Full Changelog: 2.4.2...2.4.3

2.4.2 - I'm tired man

22 Nov 18:58

Choose a tag to compare

  • Updated because github version was pointing to the wrong commit hash :D
  • Erros will be fixed on 2.4.3 as a result.

Full Changelog: 2.4.1...2.4.2

2.4.1 - Alloyed Peaklective

22 Nov 18:49

Choose a tag to compare

  • Updated to Alloyed Collective (1.4.0)
  • Note: This is being released in this state due to the maintainer going on vacation for thanksgiving week, any errors will be fixed on 2.4.2

Runtime

  • Added the UberSkinDef, the all in one skin solution for both regular and vanilla characters
    • Contains support for creating skins for both Vanilla characters and Custom characters utilizing the rootTransform field
    • Has built-in support for R2API.Skin's SkinVFXInfo
    • Meant to replace VanillaSkinDef
  • Added a SerializableStaticMethod, which can be utilized to Serialize a Static Method... duh
    • Specify arguments utilizing the RequiredArguments attribute
    • Decorate a method with the MethodDetector attribute so it can be detected by the editor scripts
  • Added a TransformPathAttribute, which can be utilize to serialize a transform path into a string field
    • Specify the name of a property in the SerializedObject which contains teh reference to the root object itself.
    • Supports GameObjects, AssetReferenceT and AddressReferencedPrefab
  • AddressReferencedSkinDef can now specify wether it can load a skin via the Catalog
  • Fixed a bug where buff behaviours could modify state prior to being added to the internal dictionary

Editor

  • Fix the AddressReferencedSkinDefDrawer checking for a nonexistent define
  • Added a SkinDefMigrationWizard... which doesnt work :D

Full Changelog: 2.3.2...2.4.1

2.4.0 - Alloyed Peaklective Pre-Release

22 Nov 15:03

Choose a tag to compare

Pre-release

This is a pre-release and its not ready

  • Updated to Alloyed Collective

Runtime

  • Added the UberSkinDef, the all in one skin solution for both regular and vanilla characters
    • Contains support for creating skins for both Vanilla characters and Custom characters utilizing the rootTransform field
    • Has built-in support for R2API.Skin's SkinVFXInfo
    • Meant to replace VanillaSkinDef
  • Added a SerializableStaticMethod, which can be utilized to Serialize a Static Method... duh
    • Specify arguments utilizing the RequiredArguments attribute
    • Decorate a method with the MethodDetector attribute so it can be detected by the editor scripts
  • Added a TransformPathAttribute, which can be utilize to serialize a transform path into a string field
    • Specify the name of a property in the SerializedObject which contains teh reference to the root object itself.
    • Supports GameObjects, AssetReferenceT and AddressReferencedPrefab
  • AddressReferencedSkinDef can now specify wether it can load a skin via the Catalog
  • Fixed a bug where buff behaviours could modify state prior to being added to the internal dictionary

Editor

  • Fix the AddressReferencedSkinDefDrawer checking for a nonexistent define
  • Added a SkinDefMigrationWizard... which doesnt work :D

Full Changelog: 2.3.2...2.4.0

2.3.2 - Improvements

27 Sep 18:20

Choose a tag to compare

Runtime

  • Added TargetAssetNameAttributesupport to ContentUtil.PopulateTypeFields()
    • Thanks MysticalChicken 🐤
  • ContentUtil.PopulateTypeFields now has a prefered Overload that includes the base game Func<string, string> fieldNameToAssetNameConverter
  • Updated the ExtendedEliteDef to support adding to multiple, or singular elite tiers from the base game.
    • This is because ExtendedEliteDef only allowed you to add to both 1 and 1.5 tiers, instead of exclusively tier 1.5, making "1.5" elites more difficult to add than necesary.
    • Fixes #74 as a result

What's Changed

New Contributors

Full Changelog: 2.3.1...2.3.2

2.3.1 - Interactable Fixes

20 Aug 01:31

Choose a tag to compare

Runtime

  • Fixed an issue where the Interactable Module would fail adding new interactables under certain circumstances.

Full Changelog: 2.3.0...2.3.1

2.3.0 - Memory Optimization

07 Jun 22:01

Choose a tag to compare

  • Updated to 1.3.9 (Memopt)

Runtime

  • Marked vanilla skin defs as deprecated.
    • Stubbed the methods as a result.
    • System will be replaced by a new one utilizing SkinDefParams.
  • The CharacterModule will now ensure that a survivor's DisplayPrefab and BodyPrefab have the same skins array.

Full Changelog: 2.2.3...2.3.0

2.2.3 - False Son if it was a fun boss

05 Mar 01:16

Choose a tag to compare

Runtime

  • Updated to BalancePatch2
  • Character and Interactable module now only add their Cards to the always available standard category rather than all categories
    • This was done to accomodate the new "DCCS Blender" system
  • Fixed the Prerequisite achievment system of AchievableUnlockableDef not working properly
    • This however breaks achievement collection... oops, we recommend using realer cheat unlocks to re-unlock everything
  • Fixed the EquipmentCatalog adding elites to the wrong tiers
  • Fix ItemTierPickupDisplayHelper spawning the displays at position 0 and unparented
  • ItemTierModule should now properly assign the ItemTierDef's darkColorIndex to the correct value

Legacy Runtime

  • The legacy runtime assembly now only enables if the game has been imported

Full Changelog: 2.2.2...2.2.3