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.
| Last updated | 9 hours ago |
| Total downloads | 418 |
| Total rating | 0 |
| Categories | Mods Tweaks |
| Dependency string | Phreel-BaseGameFixes-1.0.3 |
| 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.2122README
BaseGameFixes
Fixes a collection of base game errors and NullReferenceExceptions via Harmony patches.
Fixes
- Defective Unit - death state no longer throws when its model is already gone (e.g. Void Fields wave ending).
- Void Barnacle - spawn no longer tries to spawn a null muzzle flash effect.
- Dream Demon - projectile no longer throws on destroyed growth renderers.
- RigidbodySoundOnImpact - no longer throws when a collision happens before
Start. - SetStateOnHurt - freeze/stun no longer throws when applied before
Start(duration modifiers are still respected). - DoTargetInfoSearch - When a drone command is aimed at a chest, the loop finds the chest correctly.
- SpecialObjectAttributes.Start - Some prefabs have a missing object in that list. A patch that runs before Start removes dead entries from it.
- beamVfxInstance.transform - Skips the update when the beam effect or the muzzle is gone.
- MinionOwnership - Skips minions that are already destroyed. A destroyed minion has no CharacterMaster to report as lost anyway.
- AddTimedBuffInterval - When anything sets TeamComponent.teamIndex, the component adds itself to the global team list right away, even if the object hasn't woken up. If a mod sets teamIndex on a body prefab, that prefab joins the team list for good. Prefabs never get OnDestroy, so it's never removed. Every BuffWard (Warbanner and the like) then reaches that ghost member on every FixedUpdate and throws. That's where the slowdown comes from: an exception plus a ~40-frame stack trace logged constantly. Each throw also aborts the BuffWard loop, so allies after the ghost entry in the list weren't getting the buff at all.
- ComputePathNodeIndex - Out-of-range indices are now treated as invalid, which the game already handles by returning "unreachable".
- SimpleMuzzleFlash - FireLaserDisc null-checks the wrapper object around the muzzle flash prefab, not the prefab inside it, and that prefab is null. SimpleMuzzleFlash now does nothing when the prefab is null.
- ChipAnimator.OnDestroy - it destroyed chips without checking them. It now skips a null array and chips that are already gone.
- TrialGongInteractionHurtbox - damage-over-time has no hurtbox, which the push-direction code needs. While the method runs, the gong's own main hurtbox stands in, so the hit still counts. The original value is put back afterwards.