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.
You are viewing a potentially older version of this package.
View all versions.
BaseGameFixes
Fixes various base game errors and NREs you'd encounter late-game. I HATE NRES MAN
By Phreel
| Date uploaded | 3 days ago |
| Version | 1.0.12 |
| Download link | Phreel-BaseGameFixes-1.0.12.zip |
| Downloads | 604 |
| Dependency string | Phreel-BaseGameFixes-1.0.12 |
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). - Drone Tech - drone command targeting no longer throws when aiming at a chest.
- SpecialObjectAttributes - no longer throws in
Startwhen a prefab has missing objects in its collision/detach lists. - Scene loading (multiplayer) - a scene object destroyed during spawning no longer stops the rest of the scene from being spawned for clients.
- Wandering Vagrant - Jelly Barrage no longer throws every tick when the Vagrant has no model.
- Wake mission - leaving the cursed book state no longer throws when the scene is unloading.
- Footsteps - bodies with footstep dust enabled but no dust prefab no longer throw on spawn.
- Void Fields spawns - monsters no longer spawn inside the bubble of the cell you're charging.
- Void Fields cells - objects running the null ward states without a
SphereZoneno longer throw on start. - EnemyDetection - no longer throws when touching a hurtbox that has no health component/body.
- Interactable locks - unlocking no longer stops partway when one of the locked interactables was destroyed.
- Aurelionite's Blessing - taking damage with no attacker (e.g. Shared Suffering) no longer throws.
- Director cards - null director cards are dropped instead of breaking the stage's spawn pool (and with it the teleporter boss).
- Teleporter boss - no longer throws when the stage has no monster cards at all.
- Lynx totem - summoned Lynx no longer throw when the totem owner has no master.
- Inspect panel - no longer throws when shown from a panel with no event system, or for items with no name/description/lore token (e.g. Starstorm 2's trader and shard panel).
- Animation effects - animation events with no effect assigned no longer log
Unable to SpawnEffect. - Artifact achievements - a mod's "obtain artifact" achievement for a disabled artifact no longer breaks profile loading (e.g. Expedition).
- Void Fields cells - an active cell no longer throws every frame (or on exit) when the run ends while it's charging.
- Collective elites - removing the share buff from destroyed bodies no longer throws in other mods' buff hooks (e.g. Classic Items Returns' Hit List).
- Stage spawn pool - monster pool categories with nothing available (e.g. a family event with no available families) are no longer picked, which aborted building the stage's monsters and interactables.
- Interactable spawning - cards with 0 weight are no longer picked, which threw and stopped the rest of the stage's interactables from spawning.
- Chained kills - on-kill effects that kill more enemies (Gasoline and modded equivalents) no longer overflow the stack and crash the game in big modpacks; procs past a few levels deep run right after instead of nested.
- Solus Heart - attack and teleport states no longer throw when the heart has no target silhouette.
- Solus Heart - the death fall no longer throws when its offering master is gone.
- Light cookies - lights with a custom render texture cookie no longer throw when disabled/destroyed after the texture was unloaded.
- Stage spawn pool - stages with no available monster category at all no longer throw while building cards; they get no monster cards but still spawn their interactables.
- Shrine of Combat - no longer throws on stages without monster cards.
- Alloy Hunter - its spawn no longer throws when the enemy it kills has no master.
- Vehicle seats - entering/leaving a seat (e.g. Rising Tides' Aquamarine bubble) no longer throws on destroyed lights/renderers, which left ejected passengers without collisions and hurtboxes.
- Point sounds - sounds played while a scene unloads no longer throw on destroyed pooled emitters.
- Character animations - bodies whose animator was destroyed no longer throw every frame.
- Duplicator - dying bodies whose master is already gone no longer throw when updating temp item decay.
- Model panels - no longer throw every frame without an event system.
- Hallowed Cauldron - no longer throws every frame on clients while draining items, and finishes properly if the player who started it leaves.
- Geode portal tracker - no longer throws every frame after the run ends.
- Equipment - bodies whose master is gone (e.g. on the game over screen) no longer throw every frame when trying to use equipment.
- Drifter vault - opening a vault bag chest while any player is dead no longer throws, which also cut the chest's opening short.
- Solus Amalgamator - its flamethrower turret no longer throws when its target dies mid-attack.
- Vulture fight - no longer throws on clients when it starts.
- Tracers and orb effects - effects spawned outside the effect pool no longer log
Tracer: No owning pool set/OrbEffect: No owning pool set. - Log noise - silences
GenericPool: ReleasePools called on non-empty pool,Particle System is trying to spawn on a mesh with zero surface area,Sub-emitters may not use stop actions, Starstorm 2'sUI/TranslucentImagematerial errors, its pedestal_Vibrancy/_Flattenmaterial errors and itsShardPoisonitem index message.
Mod fixes
Only applied when the mod is installed.
- MoonstormSharedUtils - destroying a pickup display no longer throws in MSU's item tier hook.
- MoonstormSharedUtils - custom interactables no longer throw on stages with no interactable pool, and are added to stages whose pool only has expansion variants.
- Starstorm 2 - storm events no longer throw when their rain post-processing is missing.
- Starstorm 2 - teleporters missing some charging effects no longer throw on spawn, so ethereal upgrades on them still get their boss items, extra credits and portal.
- Augmentum - Mini Matroyshka no longer throws when buying interactables with short names.
- Expedition - Unstable elites no longer throw when a team member has no body.
- Ancient Scepter - inventory changes outside a run no longer throw, which left Scepter stuck and stopped it from rerolling/upgrading skills for the rest of the session.
- Starstorm 2 - Birthright health bar hook no longer throws on destroyed inventories.
- Starstorm 2 - Clay Mongers no longer throw when the run ends.
- Starstorm 2 - elite event bosses (Boreal, Infernal, Tectonic, Overcharged...) in multiplayer drop their shard for each player, instead of invisible "???" pickups that lag the game.
- Starstorm 2 - Mimics drop their items even when their pickup pivot is gone.
- Starstorm 2 - Sticky Overloader no longer throws every frame when stuck to a body without hurtboxes.
- Starstorm 2 - the trader no longer throws on an invalid choice or a trade whose item is disabled.
- Starstorm 2 - Relic of Termination no longer throws (and drops nothing) for bosses without a boss drop table; they drop a random boss item.
- Starstorm 2 - Sticky Overloader no longer throws when its target is destroyed before the vine reaches it.
- Expedition - Biodude no longer throws on hurtboxes of destroyed bodies when spreading debuffs.
- Scales of the Asclepius - Gauze Pad no longer throws when a destroyed body gains a debuff.
- Scales of the Asclepius - IV Bag no longer throws every frame on bodies without an inventory.
- BootlegBestiary - Demineur death no longer throws when its head is already gone.
- WolfoQoL - newt altars no longer throw on start on stages where the treasure reminder isn't set up.
- WolfoQoL - minion healing tracking no longer throws on heals for unknown targets in multiplayer, which also broke the heal message.
- MoreMountains - no longer replaces Shrines of the Mountain with a missing card, which threw and stopped the stage's remaining interactables from spawning.
- ShareSuite - blood shrines with shared money no longer throw (and lose the shared gold) while a player is dead.
- ZetAspects - destroying unspawned bodies no longer throws a duplicate key error that skipped
CharacterBody.OnDestroy. - Expedition - Heatcore achievement no longer throws every frame for survivors without an equipment slot, which also skipped other mods'
CharacterBody.FixedUpdatehooks. - ShareSuite - money pickups (Ghor's Tome etc.) left over after the run ends no longer throw with shared money on.
- Starstorm 2 - storms, the run behavior and ItemOnEliteKill no longer throw on clients when seeding their RNG; storms now finish setting up for clients and other mods' run start handlers no longer get skipped.
- Starstorm 2 - equipment Mimics drop their equipment even when their pickup pivot is gone.
- Starstorm 2 - Ice Tool no longer throws on bodies without a character motor.
- Driver - crosshair no longer throws when aimed at hurtboxes without a body.
- Sandswept - Decay no longer throws on bodies without a model.
- Nautilus - Xenobacteria no longer throws (and drops the DoT) when the attacker was already destroyed.
- WolfoQoL - Lunar Seer stage names no longer throw on clients through a null language token.
- EnemiesReturns - sticking projectiles no longer spam
RPC Function RpcEnableShard called on clienton clients. - LoadingSpriteAdditions - the loading screen no longer throws during a run when you have no master (stage transitions, spectating); it shows a random sprite instead.
CHANGELOG
1.0.12
- Added LoadingSpriteAdditions nullcheck (loading screen during a run with no master)
1.0.11
- Silenced
Tracer: No owning pool setandOrbEffect: No owning pool setlog spam
1.0.10
- Fixed the Hallowed Cauldron throwing every frame on clients while draining items, and not finishing if the player who started it leaves
- Fixed opening a Drifter vault bag chest while a player is dead cutting the chest's opening short
- Fixed Expedition's Heatcore achievement throwing every frame for survivors without an equipment slot, which also skipped other mods'
CharacterBody.FixedUpdatehooks - Fixed Starstorm 2 storms not finishing their setup for clients, and its ItemOnEliteKill skipping other mods' run start code on clients
- Fixed Nautilus' Xenobacteria dropping DoTs when the attacker was already destroyed
- Added 4 more base game nullchecks (geode portal tracker, equipment on the game over screen, Solus Amalgamator flamethrower, Vulture fight on clients)
- Added 2 more SS2 nullchecks (equipment Mimic drops, Ice Tool)
- Added ShareSuite nullcheck (money pickups after the run ends)
- Added Driver, Sandswept and WolfoQoL (Lunar Seer names) nullchecks
- Silenced EnemiesReturns'
RPC Function RpcEnableShard called on clientspam on clients - Removed the SniperClassic fix, it's fixed in SniperClassic itself now
1.0.9
- Fixed allies being left without collisions and hurtboxes after leaving a vehicle seat (e.g. Rising Tides' Aquamarine bubble)
- Fixed stages with no available monster category not spawning their interactables
- Added 6 more base game nullchecks (Shrine of Combat, Alloy Hunter spawn, point sounds, character animations, Duplicator temp items, model panels)
- Added Scales of the Asclepius nullcheck (IV Bag)
- Added BootlegBestiary nullcheck (Demineur death)
- Added WolfoQoL nullcheck (newt altar reminder)
- Silenced
Sub-emitters may not use stop actionslog spam
1.0.8
- Fixed a stack overflow crash from chained on-kill effects (Gasoline and modded equivalents) in big modpacks
- Added 3 more base game nullchecks (Solus Heart attacks/teleport, Solus Heart death fall, light cookies)
- Added 2 SS2 nullchecks (Relic of Termination, Sticky Overloader)
- Added Expedition nullcheck (Biodude)
- Added Scales of the Asclepius nullcheck (Gauze Pad)
- Added WolfoQoL nullcheck (minion healing tracking)
- Added MoreMountains fix (missing mountain shrine card stopping interactables from spawning)
1.0.7
- Added 4 more base game nullchecks
- Added 2 MSU nullchecks
- Added 2 SS2 nullchecks
- Added Augmentum nullcheck
- Added Expedition nullcheck
- Added Ancient Scepter nullcheck
1.0.6
- Added 2 more Starstorm 2 temporary fixes
1.0.5
- Fixed
Unable to SpawnEffecterrors from animation events with no effect assigned (seen in Starstorm 2's Stranger's Hideout) - Fixed the inspect panel still throwing in Starstorm 2's shard trading panel (items with no name/description/lore text, or panels missing parts of their setup)
- Added a SniperClassic fix: its reload menu hook threw when finishing a trade with ZanZan, which also cut off the rest of Starstorm 2's trade message
1.0.4
- Added 14 more base game fixes, including a multiplayer scene spawning fix and no more enemies spawning inside the Void Fields cell you're charging
- Added fixes for other mods' errors (MoonstormSharedUtils, Starstorm 2, ShareSuite, ZetAspects). These are temporary and only apply when that mod is installed
- Silenced some harmless log spam (GenericPool, zero surface area particles, Starstorm 2's TranslucentImage and ShardPoison messages)
- Each fix now applies on its own, so if one breaks (e.g. after a mod update) the rest still work
1.0.3
- Added 5 more fixes
1.0.2
- Added Solus Wing beam nullcheck
- Added MinionOwnership nullcheck
- both of these are minor and you'd only see these in console when the run ends abruptly during Solus Wing bossfight
1.0.1
- Added DroneCommandReceiver.DoTargetInfoSearch nullcheck
- Added SpecialObjectAttributes.Start nullcheck
1.0.0
- Release