Please disclose if any significant portion of your mod was created using AI tools by adding the 'AI Generated' category. Failing to do so may result in the mod being removed from Thunderstore.
This package has been marked as deprecated, and it's suggested another
alternative is used.
NoShardsFromEmpyreans
Makes empyrean elites in the Starstorm 2 BETA not drop shard(s) on death.
By LordVGames
| Last updated | a year ago |
| Total downloads | 165 |
| Total rating | 0 |
| Categories | Mods Tweaks |
| Dependency string | LordVGames-NoShardsFromEmpyreans-1.0.0 |
| Dependants | 0 other packages depend on this package |
This mod requires the following mods to function
bbepis-BepInExPack
Unified BepInEx all-in-one modding pack - plugin framework, detour library
Preferred version: 5.4.2117README
NoShardsFromEmpyreans
Really small mod to make empyrean elites not drop shard(s) on death in the beta version of Starstorm 2. They still drop a random item, it's just the shard drops that were removed.
This mod's so small that I didn't bother making a github repository for it, since this is all the relevant code for the harmony IL patch:
IL patch code
[HarmonyPatch(typeof(SS2.Components.Empyrean), nameof(SS2.Components.Empyrean.MakeElite))]
[HarmonyILManipulator]
public static void DoPatch(ILContext il)
{
ILCursor c = new(il);
ILLabel skipSettingShardDrops = il.DefineLabel();
if (!c.TryGotoNext(MoveType.AfterLabel,
x => x.MatchLdarg(1),
x => x.MatchCallvirt<Component>("get_gameObject"),
x => x.MatchCallvirt<GameObject>("AddComponent")
))
{
Log.Error("COULD NOT IL HOOK SS2.Components.Empyrean.MakeElite PART 1");
Log.Warning($"il is {il}");
}
c.Emit(OpCodes.Br, skipSettingShardDrops);
if (!c.TryGotoNext(MoveType.AfterLabel,
x => x.MatchLdarg(1),
x => x.MatchLdloca(4),
x => x.MatchCallvirt<Component>("TryGetComponent")
))
{
Log.Error("COULD NOT IL HOOK SS2.Components.Empyrean.MakeElite PART 2");
Log.Warning($"il is {il}");
}
c.MarkLabel(skipSettingShardDrops);
}