In the push to finish multiplayer, I've been putting off some quality-of-life requests that needed more work on the user interface. Now that I've had a little time, I think it's about time a loot-heavy shooter like ours had some proper loot sorting tools and a way to test weapons and compare their actual DPS.
A wave of new players has also uncovered a wave of new bugs. You'll find the fixes below.
This isn't a fantasy dungeon crawler, so I can't call them "Target Dummies." Instead, you get Test Drones! Deploy them from the Science Vessel whenever you like. Pick a level and a drone type (Regular, Elite, Boss, an Immortal that never dies, or a Hostile one that shoots back), then fire away. The panel shows a per-weapon breakdown of shield damage, hull damage, hits, crits, debuffs applied, and DPS.
This tool is inevitably going to create more work for me down the road, but please report any weapons that seem underpowered or overpowered so I can adjust their balance.
The old Ignore Items Below and Ignore Consumables settings have been replaced with a full rule-based Loot Filter. My plan was to make something easy to use, but with enough features and depth that I never have to look at this system again. Behold!
You can build a list of rules that come in three flavors: Never (skip the drop), Always (show it no matter what), and Highlight (color the nameplate and sensor arrow, play a sound, or both, so you don't miss it). Each rule can match on name, slot type, category, rarity, damage type, level range, consumable family and size, and modifiers, including "at least N of these" and rare or global modifier counts.
Rules are checked in order, and the first match wins. That lets you build a setup like "Always show legendaries, highlight anything with Critical Chance, and never show anything below Rare." There are presets to get you started, share codes for sending a rule set to a friend, and a separate Loot Filter Volume slider in the Audio settings for highlight sounds.
If your storage looks anything like mine, finding a specific item has become a nightmare. There's now a filter button that opens a window where you can search by name and filter by level, slot type, damage type, rarity, category, and modifiers. Applying the filter dims every item that doesn't match, making the items you're looking for stand out.
Several players reported more frequent disconnects from the host during multiplayer, but Windknightt over on our Steam Community finally pinned down the cause. The Spread Debuffs modifier was flooding the connection to the host. This is now fixed, though I can't take credit for figuring it out.
There's plenty more below, including Steam Deck key fixes, knockback resistance for Elites, and performance improvements for big fights. Enjoy!
• Science Vessel Test Drones: launch target dummies and see damage per weapon.
• Assembler storage now has a Filters window that dims items that do not match.
• Loot Filter: rules that ignore, collect or highlight drops by any item detail.
• Loot Filter presets and share codes let you load or swap rule sets in seconds.
• Audio settings gain a Loot Filter Volume slider for the highlight sounds.
• Sector 2+ enemy acceleration is back at pre-v0.8.0 rates; they were too fast.
• Elite enemies now resist 50% of weapon knockback and Event Horizon pull.
• Dropped items now have a 10s timer before they can be picked back up.
• Glossary lists now return to where you left off instead of jumping to the top.
• Assembler modifier list now shows max values and matches the Glossary layout.
• Players removed by the host now see why instead of a Host left notice.
• Drag a consumable onto an Equipment screen hotkey slot to assign it.
• Slow ships use simpler collision to fix severe lag when stuck in obstructions.
• Nebula fog visibility checks now run on the GPU to reduce CPU load.
• Ship spacing forces now compute in the background to speed up large fights.
• Ship spacing buffers keep spare room instead of rebuilding on every spawn.
• Sensor arrows now check for new targets 10 times a second to reduce CPU load.
• Player wing trails now only show on wings that stick out past the hull.
• Debuff refreshes no longer flood the host and drop co-op players to solo.
• Ships can be hit again after Phase Shift ends; hull collision was being lost.
• Nanobots and batteries used on a co-op rescue ship now heal the host's ship.
• Cryostasis now restores its full 50% hull at every Physics Update Rate.
• Leech healing now always reaches the ship that dealt the hit, not a hologram.
• Co-op leech killing blows no longer recharge shields; leech heals hull only.
• Fixed held keyboard keys cutting out on Steam Deck and other Proton systems.
• Fixed a save error when antivirus software briefly locked the save file.
• Drones no longer block the Ice Fabricator's spray or deflect its ice walls.
• Menus no longer react to the mouse while the game runs in the background.
• Fixed Twitch CRT, Pixel Art and Big Head votes doing nothing in multiplayer.
• Objects pushed by other players are now smoothed in multiplayer.
• Twitch votes now continue across encounter jumps instead of being lost.
• Drones hurled by the Gravity Cannon now explode properly instead of freezing.
• Glossary item pages now list every modifier an item can hold, like Durability.
• Fixed dragging from the Equipment consumable hotkey slots duplicating items.
• Fixed the Assembler leaving a destroy X on a vault item after cancelling.
• Starmap faction borders no longer overlap; the larger territory now yields.
• Portuguese launcher Recharge modifier no longer reads the same as Cooldown.
• Radioactive text now says the debuff pierces shields, not its damage.
• Armor upgrade text now says it reduces hull damage with or without a shield.
• Fixed a multiplayer error when many asteroids moved at once in a new session.
• Fixed an Assembler error when switching tab during a Schematics transfer.
• Ignored drops no longer keep their sparkle, flare and light when they appear.
• Drop name plates now update when loot rules change mid-encounter.
• Critical hit labels no longer sit on top of fresh damage numbers.
• Floating damage numbers now start a little higher so they clear name plates.
• GameShip.EjectItem adds dropCooldown; Container gains lock-label fields.
• Modifier.GetDisplayModifiers(Equippable) is the shared valid-modifier pool.
• INetTransport gains LastDisconnectDetail; FaFLogger.SendWarning is silent.
• SlotDisplay.consumableHotkey marks hotkey mirrors; never a drag source.
• TerritoryGeometry.Area(polygon) returns a polygon's unsigned area.
• GameShip.IsTestDrone/IsPlayerSide added; StatusEffect gets sourceSlot/baySlot.
• SetPendingKillContext adds sourceSlot/baySlot; MsgDamageEvent.attackerBaySlot.
• Net messages TestDroneRequest (83), TestDroneStats (84); snapshot holds rows.
• NetProtocol.maxStreamPayloadBytes is now 1000; stream packets cut by bytes.
• SlotDisplay.SetFilteredOut stacks with DimInvalid; new StorageFilterPanel.
• New LootFilter/ItemCondition; Container.GetLootResult wraps IgnoreItem checks.
• ShipBody.CullCoveredWingTrails removes trails on covered wing tips.
• Customizer SetShieldResistance (730) fixes a shield base resistance.
• EntityStatus is binary (NetEntityStatusCodec); NetSession.SendEntityStatus.
• Host inbound cap is 600 msgs/s; one overload strike per over-cap second.
• Consumable.Use(target, user); RouteHeal and MsgDamageEvent gain shieldOnly.
• GameShip.LeechHeal(toShip, point, amount) replaces the GetLastLeechSeed pair.