DestroyedClone-SkinExtender icon

SkinExtender

Extends skin support and adds scrolling.

Last updated 9 months ago
Total downloads 700
Total rating 0 
Categories Mods Libraries
Dependency string DestroyedClone-SkinExtender-0.1.1
Dependants 2 other packages depend on this package

This mod requires the following mods to function

BepInEx-BepInExPack_AcrossTheObelisk-5.4.21 icon
BepInEx-BepInExPack_AcrossTheObelisk

BepInEx pack for Across the Obelisk. Preconfigured and ready to use.

Preferred version: 5.4.21
HookGenPatcher-HookGenPatcher-1.2.10 icon
HookGenPatcher-HookGenPatcher

MMHOOK generation at runtime.

Preferred version: 1.2.10

README

Skin Extender

github issues/request link discord invite

Attempts to extend current skins.

Changes (User)

  • Adds scrolling support to character skin selection.
  • Increases max amount of shown skins from 6 to 12.
  • Character skin defaults if selected custom skin is missing
  • Shows where the skin comes from (config)

Changes (Dev)

  • Adds UnityAction onCreateSkins which is called after Globals_CreateGameContent and before auto-adding skins from a dictionary.
  • Adds method CreateSkinData to simplify initialization of creating a ScriptableObject instance of SkinData.
  • Overrides CharPopup.DoSkins to only show specific amounts of skins per 'page'. Also fixes out of range exception.
    • UnityActions Pre_onCharPopupDoSkins and Post_onCharPopupDoSkins are made to substitute regular orig() calls.
    • If you know IL, submit a PR to override it.
  • Adds post-fix to On.HeroSelectionManager.Start to check through all skins, choosing the base skin (or first skin if no base skins) to prevent a Nullref from the game trying to use a null SkinData.

Simple Implementation (Dev)

  1. In your mod's Awake, create your SkinData manually or by AtOSkinExtender.Assets.CreateSkinData
  2. Subscribe to AtOSkinExtender.Plugin.onCreateSkins to ensure your SkinData gets added and recognized by the mod.
  3. Within your subscription, add your SkinData to the packlist via AtOSkinExtender.Assets.AddSkinDataToPack 2.1. Use the name of your mod for the identifier 2.2. The identifier is used to autosort based on client's configuration settings and to show skin mod origin

Written with StackEdit.