Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Glacial Elite death explosion sometimes gets multiplied excessively, somehow related to Volatile Elites #4

Closed
spezard opened this issue Oct 21, 2021 · 2 comments
Labels
question Further information is requested

Comments

@spezard
Copy link

spezard commented Oct 21, 2021

Basically what happens is occasionally a Glacial Elite's death explosion gets applied a multitude of times all stacked up on top of one another, which can often be suddenly fatal depending on how many times it was applied. It seems to be related to Volatile Elites based on the log output; my best guess is it's calling the code for how many spite bombs a Volatile elite would spawn on death instead, because the amount of stacked glacial explosions is higher for bigger mobs that would dump more spite bombs if they were Volatile.

The bug also occurs even if Volatile Elites are disabled in the config.

Don't have the full log anymore, but I can generate another if needed. Do still have this snippet of code I initially pulled from the log file and pasted to the Discord, at least, which was output to the log multiple times whenever the bug occurred (probably once for each explosion). This was with only LiT installed at the time.

NullReferenceException at (wrapper managed-to-native) UnityEngine.GameObject.GetComponentFastPath(UnityEngine.GameObject,System.Type,intptr) at UnityEngine.GameObject.GetComponent[T] () [0x00020] in <2cc17dca390941eeb4d7b2ff1f84696a>:IL_0020 at LostInTransit.Buffs.AffixVolatile.VolatileExplosion (On.RoR2.GlobalEventManager+orig_OnHitAll orig, RoR2.GlobalEventManager self, RoR2.DamageInfo damageInfo, UnityEngine.GameObject hitObject) [0x00016] in <a4729490f7454d20ad33f461e5d0f572>:IL_0016 at DMD<>?-253247232.Hook<RoR2.GlobalEventManager::OnHitAll>?-1629514752 (RoR2.GlobalEventManager , RoR2.DamageInfo , UnityEngine.GameObject ) [0x00014] in <4a9d1a06facd4253804b3117c0ee2806>:IL_0014 at RoR2.BlastAttack.PerformDamageServer (RoR2.BlastAttack+BlastAttackDamageInfo& blastAttackDamageInfo) [0x000d9] in <da7c19fa62814b28bdb8f3a9223868e1>:IL_00D9 at RoR2.BlastAttack.HandleHits (RoR2.BlastAttack+HitPoint[] hitPoints) [0x001b5] in <da7c19fa62814b28bdb8f3a9223868e1>:IL_01B5 at RoR2.BlastAttack.Fire () [0x00007] in <da7c19fa62814b28bdb8f3a9223868e1>:IL_0007 at RoR2.DelayBlast.Detonate () [0x000b0] in <da7c19fa62814b28bdb8f3a9223868e1>:IL_00B0 at RoR2.DelayBlast.FixedUpdate () [0x0009f] in <da7c19fa62814b28bdb8f3a9223868e1>:IL_009F

@Nebby1999 Nebby1999 added the question Further information is requested label Oct 22, 2021
@gaforb
Copy link
Collaborator

gaforb commented Oct 22, 2021

After further testing, this issue is due to a conflicting hook in Aetherium - specifically part of Weighted Anklet. Disabling Weighted Anklet in Aetherium's config will solve the issue.

@Nebby1999
Copy link
Collaborator

While disabling weighted anklet is a viable way of fixing this issue, i've decided to simply put a bunch of null checks where i'm doing the hook.

I am unsure of how effective it would be on fixing this issue, but i'll consider it a "decent" fix for now, further testing will be required once the next update to LIT is out.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
question Further information is requested
Projects
None yet
Development

No branches or pull requests

3 participants