Amidst the work done below, a refactor is in progress to prepare for Rulesets, which will allow the game to be tweaked for version 0.3, and pave the way for different game modes and upcoming mod support.
For now, this patch resolves many issues regarding online gameplay, physics issues, input issues, and other oddities. Development towards version 0.3 continues.
Thank you for all the bug reports and suggestions as well – your feedback helps to resolve issues and keeps the journey going.
Translated by acexthree and Tycho Davydov.
GAMEPLAY FIXES & IMPROVEMENTS
Fixed many issues where creatures colliding with walls would have their movement be interrupted and snagged. This was very apparent when jumping (or falling) and moving against a wall in anticipation for traversing around a corner.
The game's internal "world object position fixer" was being too heavy-handed, and is now toned down.
Jumping and moving against walls should now feel buttery smooth.
Fixed a regression where some frames would prevent your character from jumping; you'd just spin in place.
This was an issue with the "world object position fixer" being too harsh.
Jumping is now reliable again.
Fixed an issue where pending movement directions remained queued after flinching or becoming stunned.
This sometimes resulted in your character about-facing after becoming unstunned, which was disastrous if you wanted to raise your shield ASAP but then turned the wrong way.
Now, pending movement directions are cleared from the queue when you flinch or become stunned.
If you have full health and want to consume a potion that grants an additional buff or effect, you can now consume the potion from your Inventory menu without having to damage yourself first.
Creature Center Points:
Fixed an issue where creature center point calculations were not actually centered.
Previously, center points used the creature's sprite container, which is slightly offset from their physics collider, and was prone to different position calculations if the creature was facing west or east.
Now, center point calculations use the creature's physics collider bounds, and is consistent no matter which direction the creature is facing.
Such calculations are minor but important, and mainly affect Flail hit detection (with shield raised), Stun Bomb hit detection (with shield raised), pinwheel trap hit detection (with shield raised), Katana teleportation, aiming with ranged weapons, and movement checks against walls.
The Buyback system now has a limit of 25 items. Excess items are destroyed when entering a new room or saving the game.
Fixed an issue where damage received from non-creature sources (such as traps and poison ticks) would not trigger OnReceivedDamage procs.
Fire Wall Traps:
Fixed an issue where projectiles from this trap counted as Physical damage instead of Fire damage.
The Dungeon Actually Grows Stronger Now:
Fixed an issue where the server did not send enemy and trap level-up data (eg higher health and damage numbers) to the client during the "Dungeon grows stronger" intermission.
Previously, disconnecting and reconnecting was the only way to receive the stronger enemy and trap data.
As such, online gameplay will feel more challenging after each intermission, but this now matches Couch Co-op gameplay numbers as intended.
Fixed many issues where health would not sync on the client correctly, especially after reconnecting to a game or equipping different shields.
Health syncing and damage calculations are now more robust.
Fixed many potion transaction issues. Previously, the server could consume an incorrect potion, or not consume a potion at all.
Drinking potions should now work reliably in all cases.
Fixed an issue where OnReceivedDamage and OnDealtDamage procs would not trigger across all clients.
Fixed an issue where, if the "Hold to Attack" option was enabled, throwing a key could cause your weapon to start attacking immediately.
Fixed an issue where the "Dungeon grows stronger" intermission would display when re-entering a room.
Improved handling of long chat messages.
Fixed an issue where unneeded data was being retained in saved game files for old rooms that had been closed off and vacuumed, but not vacuumed enough. Old data for traps, pedestals, enemies that were not slain, enemy weapons, treasure chests, and items in treasure chests, were not being pruned.
Unneeded data is now vacuumed better, resulting in smaller saved game file sizes and faster loading times.
This issue became apparent when a bug report came in from a player that had reached Room 900+ with over 20 hours of gameplay – their saved game had run out of internal ID numbers to allocate to new entities.
This version now fixes such saved game files. Vacuuming and pruning will be applied upon load.
For example, said saved game file had all ~65,000 internal ushort ID numbers allocated, and the file size was 2.8 MB. Now, after proper vacuuming of old rooms and cleaning up unneeded data, only ~3,000 internal ID numbers are used, and the file size is reduced to 450 KB.
Fixed an issue where blood particles would still appear on the UI if the Blood option was disabled.
Fixed an issue where off-screen player indicators would not show the correct character portrait if a player changed their character with the Magic Mirror.
Off-screen player indicators now hide as soon as a player’s name label becomes slightly visible, rather than waiting for the entire creature to become visible.
Off-screen player indicators now hide during cutscenes.
Fixed an issue where the mouse cursor would snap to the center of the screen on menus if the "Hide Cursor Automatically" option was enabled and any key was pressed.
Improved handling of mouse cursor visibility when switching between keyboard and game controllers.
Socket errors are now suppressed as warnings.
Fixed text wrapping issues.
Fixed an incorrect warning message if you tried to use Quick Heal without having any potions available.
Long sentences now wrap lines.
Fixed a POST error that could occur when a server sent data to the master server tracker.
Improved white space padding, text wrapping, and general readability for item pop-up UIs, especially for potions and shields.