You are viewing a potentially older version of this package. View all versions.
ds_gaming-HedgehogUtils-1.1.2 icon

HedgehogUtils

Adds Chaos Emeralds, super forms, and other mechanics for other mods to use.

Date uploaded 2 weeks ago
Version 1.1.2
Download link ds_gaming-HedgehogUtils-1.1.2.zip
Downloads 11353
Dependency string ds_gaming-HedgehogUtils-1.1.2

This mod requires the following mods to function

bbepis-BepInExPack-5.4.1905 icon
bbepis-BepInExPack

Unified BepInEx all-in-one modding pack - plugin framework, detour library

Preferred version: 5.4.1905
RiskofThunder-R2API_Networking-1.0.2 icon
RiskofThunder-R2API_Networking

Networking API around the Unity UNet Low Level API (LLAPI)

Preferred version: 1.0.2
RiskofThunder-R2API_Language-1.0.1 icon
RiskofThunder-R2API_Language

API for modifying the language localisation of the game

Preferred version: 1.0.1
RiskofThunder-HookGenPatcher-1.2.4 icon
RiskofThunder-HookGenPatcher

MMHOOK generation at runtime.

Preferred version: 1.2.4
RiskofThunder-R2API_Core-5.1.1 icon
RiskofThunder-R2API_Core

Core R2API module

Preferred version: 5.1.1
RiskofThunder-R2API_Sound-1.0.3 icon
RiskofThunder-R2API_Sound

API for adding custom sounds or musics

Preferred version: 1.0.3
RiskofThunder-R2API_Prefab-1.0.4 icon
RiskofThunder-R2API_Prefab

API for Prefab creation, networking and duplication

Preferred version: 1.0.4
RiskofThunder-R2API_RecalculateStats-1.4.0 icon
RiskofThunder-R2API_RecalculateStats

API for manipulating Character Stats

Preferred version: 1.4.0
RiskofThunder-R2API_ContentManagement-1.0.6 icon
RiskofThunder-R2API_ContentManagement

API for adding content to the game

Preferred version: 1.0.6
RiskofThunder-R2API_Items-1.0.4 icon
RiskofThunder-R2API_Items

API for adding custom items

Preferred version: 1.0.4
RiskofThunder-R2API_DamageType-1.1.4 icon
RiskofThunder-R2API_DamageType

API for registering damage types

Preferred version: 1.1.4

README

HedgehogUtils

This mod contains a lot of skills, mechanics, and other helpful things that were originally made for the Sonic The Hedgehog mod but I felt could be useful for more things. I encourage anyone to use this mod with their own project, whether it's Sonic related or not, if they can find any use in it.

Chaos Emeralds and Forms

This project has the Chaos Emeralds and Super forms from Sonic The Hedgehog. The Super form transformation is built off a system designed to make it possible to make your own transformations which can be usable by any survivors you want. Learn more here

Boost

This project contains the base for making a new skill similar to Sonic's boost, including the entity states and the component for handling the boost meter. Learn more here

Launch

Launching is a new mechanic that lets you turn an enemy into a projectile that will fly into enemies and deal damage. This is primarily activated via a modded damage type which automatically decides most of the launch's stats (damage, range, direction, etc.) but launches can be called directly for more control. Learn more here

CHANGELOG

Changelog

v1.1.2

  • (+ Buff) Sliiiiightly reduced the speed the boost meter drains so 2 Alien Heads is enough to reach infinite boost

  • (Bug Fix) Fixed boost not properly updating meter recharge stats when on characters other than Sonic

  • (Internal) Added a new DamageType that can be added alongside a Launching DamageType to easily ignore Launch's usual auto-aim

  • (Internal) Added a new overload for LaunchManager.Launch that lets you more easily create a launch that uses most of the default values

  • (Internal) Added a new overload to the new overload of Helpers.Flying() that doesn't out an ICharacterFlightParameterProvider

  • (Internal) Added a new method to Helpers.cs that cancels the slow downwards floating that Milky Chrysalis does after its duration has run out

  • (Internal) Set BoostIdle and Brake's interrupt priority to PrioritySkill for consistency with Boost. They're both body skill states that don't read inputs, so I'm not even sure if this does anything

Known Issues

  • Launch projectiles' values aren't properly networked and don't update after the projectile is spawned. Things like the unique vfx of a crit launch projectile won't update to clients if the values are updated during the launch, such as if you launch a launch projectile
  • Some enemies become invisible in their death animations after being killed by a launch

v1.1.1

  • (Bug Fix) Fixed issue causing Gilded elites to be miscolored

v1.1.0

  • (Assets) Redone the design for the Chaos Emeralds. The emeralds have a new model, texture, shader, item icons, and artifact icons. The new Chaos Emerald model and shader look much better than the old one

  • (Internal) Moved the material for the Chaos Emerald interactable's ring into the Assets file so it can be reused easily

  • (Internal) Cleaned up slightly redundant InstantiateEntityState related code in BoostSkillDef

  • (Internal) Added a new overload for BoostSkillDef's DetermineNextBoostState method that lets you use a unique EntityState for air boosting

  • (Internal) Added an easy reference to the language tokens for the launch keyword and the momentum passive in Language.cs

  • (Internal) Added a Helpers.cs method that colors text to be the Super form color for Super skill overrides

  • (Internal) Added an overload to the Helpers.cs Flying method that outs an ICharacterFlightParameterProvider so you don't have to do GetComponent yourself

  • (Internal) LaunchManager's AngleAwayFromGround and AngleTowardsEnemies now returns a Vector of the same magnitude as the one it was given

  • (Internal) Added missing NetworkServer.active checks to ensure that Launches are only run on host

v1.0.1

  • (Bug Fix) Blacklisted Sandswept's Delta Construct from being launched to prevent framerate killing error spam on death

  • (Internal) The check for whether an enemy is unable to be launched has been moved into its own static method

  • (Internal) The check for whether a damagetype launch attack is able to launch a given enemy has been moved into its own static method

  • (Internal) Added a new CanBeOverridden method to FormStateBase that determines whether the form can be cancelled by trying to transform into a different form

v1.0.0

  • Initial Release