Hey there NecroDancers! Grab a friend because we have a bunch of changes to how co-op works. Specifically, we've added new co-op enemies! No more shall you faceroll through the zones as a pod of death. You'll need to watch each other's backs going forward because these new enemies can't be killed alone.
There's a bunch of other changes and fixes too, so take a look at the patch notes for all the details.
Good luck out there!
New enemies
Added 6 new enemies to co-op mode in the SYNCHRONY DLC!
Jockey:
Grabs players like a monkey, but only inhibits their attacks while still allowing them to move around.
The Jockey does not take damage from the player it's grabbing, and another player must come to help!
Phantom:
Chooses a specific player to follow around like a Ghost, but can only be hit by other players!
The Phantom's target can push it away briefly, but cannot inflict damage to it or kill it normally.
Granite Golem:
An extremely thick-skinned Golem, invincible against most normal attacks.
Only takes damage when hit by two players simultaneously. Work together to defeat it!
Wisp:
A spirit that appears near groups of players travelling together.
Dodges the first hit by teleporting behind the back of another nearby player!
Skittish Blademaster:
Parries incoming hits, but lunges away instead of counter-attacking.
Protectorc (AMPLIFIED DLC only):
A very well-protected Orc wielding three shields instead of one, blocking attacks from the front and sides.
Chooses a specific player to follow, requiring any other player to strike at the Orc's unprotected backside.
New features
Added mouse input support for all in-game menus
Added new translations for Simplified Chinese and Korean
Added translated texts for new menus, items and mechanics introduced since v3.0.0 across all supported languages
Added colored HUD beat bars for when Chaunter's possession timer runs out
Added advanced option to show speedrun time splits in All Characters Mode
Added advanced options for adjusting the Shopkeeper's singing volume and falloff distance
Added advanced volume options menu for fine-tuning the volumes of specific sound sources
Added advanced option to increase the number of keys that can be assigned to each action
Added support for changing the appearance of Klarinetta's ZweihΓ€nder via the "Change Skin" menu
Added support for changing the appearance of Suzu's and Klarinetta's attack swipes via the "Change Skin" menu
Balance changes
πΉ Shield Items: All stackable shields now regenerate 1 hit upon completing a level, up to their default stack size
πΉ Reflective Shield: Increased durability from 1 to 2 hits
π» Reflective Shield: Now reflects the exact damage blocked, instead of at least 5 hearts
πΉ Shield of Shove: No longer prevents weapon attacks, allowing enemies to be simultaneously shoved and attacked
πΉ Shield of Shove: Now works when moving around corners, pushing enemies regardless of the shield's prior facing direction
β«οΈ Shield of Shove: Now simultaneously pushes multiple horizontally or vertically aligned enemies in a row
β«οΈ Shield of Shove: Crush attack now targets the most distant enemy when multiple enemies are aligned, instead of the closest
π» Shield of Shove: Crush attack now deals 3 piercing damage instead of infinite phasing damage
πΉ Thief: Now drops more items in co-op mode (one item per player)
πΉ Thief: Increased the rarity of the first item drop from +1 to +2
πΉ Thief: No longer steals items from non-targeted players
πΉ Thief: No longer steals items when knocked into another player
π» Thief: Now evades attacks by players other than its current target in multiplayer
πΉ Shrine of Sacrifice: Now accepts players as sacrifices
Other changes
Changed Thief to use an updated spritesheet
Changed vision modifiers (such as Sunglasses and Ring of Shadows) to no longer silhouette enemies in spectator mode while observing multiple players
Changed "Reassign Controls" menu to automatically update multi-key combos when changing directional movement keys
Changed HUD controller prompts to support additional buttons, axes and controller models
Changed startup Changelog menu to combine patch notes from multiple updates
Changed numeric settings to be represented by sliders in the options menu
Changed categorical settings to show a dropdown menu with all available options
Changed secret shops to generate in multiplayer if any player character can encounter them, instead of requiring the shop type to be valid for all characters
Changed all shields capable of blocking multiple hits to appear cracked if the next hit will break them
Changed color for gold warning outlines on Monk/Coda to increase contrast
Modding features
Added documentation comments for 850+ components and fields
Added event objectGetHUDBeatBars to allow mods to customize the appearance of beat indicators in the player HUD
Added event spellTransmute to allow mods to intercept transmutations
Added function itemGeneration.getSeenCounts() to directly manipulate the tables tracking which items have spawned in a run
Added function shrineGeneration.getSeenCounts() to directly manipulate the tables tracking which shrines have spawned in a run
Added function soulFollower.spawn() to create a Soul Familiar
Added helper functions action.dx() and action.dy() to decompose action.Direction values into their X and Y offsets
Added support for binding delay functions (delay.new()) to named global variables
Added support for passing more specific parameters to shrineGeneration.choice()
Added components sacrificable and sacrificableInstantReward to control eligibility for the Shrine of Sacrifice
Added component spellCheckSafeLevel to limit whether a spell can be cast in the lobby
Added components generateSecretRoom, generateSecretRoomInRun, generateSecretRoomExcludeFromSingleZone and generateSecretRoomRestrictLevel
Added component traitBannedSecretRooms to control which travel runes are allowed to spawn for a playable character
Added component traitZone5Bleed to add patches of Zone 5 to the level across all zones
Added component traitExtraMiniboss to add an additional miniboss on each level
Added component traitAddSpiders to generate Spiders outside of Zone 4
Added components traitExtraEnemies and traitExtraEnemiesZ1Z2Z5 to increase the number of enemies encountered throughout a run
Added components traitAddSarcophagus, traitNoSarcophagus to control Sarcophagus generation
Added components traitNoBlademasters, traitZone4NoMonkeys and traitZone4NoSpiders to prevent specific enemies from spawning
Added component innateAttackInhibitTemporarily, preventing enemies from attacking for a number of beats
Added component innateAttackInhibitOnHit, preventing enemies from attacking when damaged on the same beat
Added component innateAttackInhibitAgainstNonTarget, preventing enemies from attacking players they are not currently targeting in co-op mode
Added component knockbackableDeferred, delaying knockback until all players have acted for the current beat in co-op mode
Added component shieldPreventActionOnHit, preventing enemies from acting when their shield is hit, without increasing their beat delay in co-op mode
Added field weaponThrowHolder.distance to control the maximum distance of the charge attack of Cadence's penultimate boss
Added field fortissimoleSpawn.spawnTypes to control which types of enemies Fortissimole spawns
Added field necrodancer.shieldBypassFlags/necrodancer.shieldTeleportFlags to control which damage types Cadence's final boss responds to
Changed item-destroying spells to trigger the objectDeath event, referencing the caster as the killer
Changed healing caused by the Shopkeeper Familiar to reference the familiar as the healer in objectHeal
Changeddbg or print to no longer have an effect in packaged mods, reducing the size of log files and improving performance
To write messages to the log file in packaged mods, use log.info("Test: %s", 123)
Bugfixes
Input bugfixes
Fixed the vertical D-Pad axis of some controller models not working when Steam Input is disabled
Fixed controller button icons appearing much bigger than intended in language-specific fonts
Fixed the B button on controllers sometimes being handled as 'Confirm' instead of 'Back'
Fixed Pause and Quick Restart keys not working when bound via Player 2's controls menu
Fixed inaccurate controller button prompts for Xbox 360 and PlayStation 4 controllers when Steam Input is disabled
Gameplay bugfixes
Fixed Beetles, Tarmonsters and Mimics not being provoked by Reaper's souls
Fixed Ring of Courage not protecting from Spike Traps if a Spider or Pixie jumps on the player on the same beat
Fixed secret room Shopkeepers instantly killing the player when attacked by a Rapier, Axe or Cat o' Nine Tails
Fixed Pixies dealing damage to distant players holding a Rapier
Fixed Shrine of Sacrifice ignoring item restrictions on environmental kills, such as Spike Traps
Fixed Shrine of Space occasionally generating levels without any enemies or exit stairs
Fixed Reaper phasing into newly-spawned Skeletons when a Soul Familiar causes a Skull to split
Fixed Shield of Shove's crush attack not inflicting directional damage, causing Skulls to split the wrong way
Fixed some enemies acting a beat too late after entering the field of view
Fixed Familiars being able to hit burrowed moles
Fixed Randomizer Mode sometimes giving more than 1 heart to fast-moving Yetis
Fixed Reflective Shield not inflicting directional damage
Fixed Cat o' Nine Tails and Axe causing players to dash when attacking the Ghost Shopkeeper at close range
Fixed Ring of Courage not granting immunity to the No Return Square
Fixed Potion Rooms sometimes being only partially encased in Spiked Walls
Fixed Pixies not granting health when pushed into a player by an Earth Spell or a charmed Wind Mage
Fixed Coral Riff dealing splash damage when moving during phase 1 of the fight
Fixed Cadence's penultimate boss delaying his next action upon entering phase 2 of the fight
Fixed Cadence's penultimate boss inconsistently delaying his next action after charging
Fixed Cadence's penultimate boss sometimes starting a charge immediately after being knocked back
Fixed Cadence's penultimate boss fight not being limited to one live miniboss per bell
Fixed Minotaurs not ringing bells by charging into them in Cadence's penultimate boss fight
Fixed gold collected by Dorian during Cadence's final boss not being doubled while Cadence is wearing a Crown of Greed
Fixed Nocturna's final boss not spawning a miniboss when entering phase 2 of the fight
Fixed shrines sometimes placing items on top of gold coins
Fixed coins appearing on the next level after falling through a trapdoor
Fixed charmed enemies possessed by Chaunter not being able to attack after their charm status runs out
Fixed thrown weapons getting stuck under NPC cages in Single-Zone Mode
Fixed Thief getting stuck targeting players in the secret shop
Fixed Thief being stunlocked and visually teleporting when attacked repeatedly by a player other than its target
Fixed Leprechaun failing to steal gold from players under the effects of Shrine of Binding
Fixed Ghast and Ghoul sometimes waiting an extra beat after dodging the first hit
Fixed Wraiths and other spirits rapidly disappearing/reappearing in co-op if multiple players are nearby
Engine bugfixes
Fixed Changelog menu switching pages while the chat prompt is open
Fixed settings and saves being cloud-synchronized when Steam Cloud is disabled
Fixed errors when viewing a post-death replay from an Exploding Mushroom's perspective
Fixed Discord Rich Presence sometimes failing to update the lobby status in multiplayer when restarting a run
Fixed the character selection room in All Character Mode not displaying its name in the game browser
Fixed multi-instance window title being cut off on Windows
Leaderboard & Achievement bugfixes
FixedIn The Zone achievements for zones 1 through 4 unlocking when playing characters other than Cadence
Fixed Daily Challenge leaderboards not showing up if [SYNCHRONY] is active while [AMPLIFIED] is disabled
Fixed Daily Challenge leaderboards showing "No entries for this leaderboard" when a character other than Cadence is selected in the lobby
Level editor bugfixes
Fixed entities dying instantly when moved onto lava via the editor's move tool
Fixed Moles destroying gold coins and traps when moved via the editor's move tool
Fixed Coral Riff and Tentacles spawning water when moved via the editor's move tool
Fixed story bosses dealing damage when moved via the editor's move tool
Fixed level editor ceasing to respond when generating reduced-size Zone 5 levels
Fixed players other than the host being able to close online level editor sessions
Audio bugfixes
Fixed the Shopkeeper's voice playing at a lower volume than intended
Fixed Ring of Gold repeatedly playing the gold collection noise if a coin falls down a trapdoor
Fixed enemies possessed by Chaunter not playing a sound effect when healing
Visual bugfixes
Fixed Soul Familiars not silhouetting when moving past the level border
Fixed player names showing up even when "Player name render distance" is set to "Off" in the options
Fixed Deep Blues' Knights displaying a misleading attack animation when forced to attack via knockback
Fixed "coin" item pickup flyaway not being capitalized correctly when playing with All-Caps Text disabled
Fixed incorrect animation when toggling off Winged Boots above a Bounce Trap
Fixed the sprite of Cadence's penultimate boss being visually offset in the level editor's placement preview
Fixed Red/Blue Dragons' Fireball and Ice Breath spells not displaying correctly in the HUD when spectating multiple players
Fixed gold outlines being visible when spectating multiple players if any of them is playing Monk/Coda
Fixed enemies possessed by Chaunter not displaying a particle effect when healing
Modding bugfixes
Fixed settings values being set to nil after their containing script file is renamed
Fixed graphics drawn using the debugVisuals module not showing up in the debug overlay
Fixed mod menu not showing the latest versions after focusing the game window
Fixed mod updates not showing up when more than 100 mods are installed
Fixed "Popular on mod.io" section loading forever if the top 100 popular mods have all been installed
Fixed Ctrl+F hotkey not working in the debug settings menu
Fixed menu cursor not always being placed in the correct location when searching in the mod menu
Fixed persistent errors after loading a level with an invalid custom song
Hey folks! Welcome to the last update of 2022! We wanted to cap this huge year with something special, so we added Reaper, a previously Switch-exclusive character, to the base NecroDancer game for everyone to enjoy. As a special holiday event, there's also a Merry Cryptmas versus event to play.
Happy Holidays to everyone from BYG and Vortex Buffer! We'll see you in the crypt. Onwards to 2023!
Merry Cryptmas!
New features
Added Reaper as a playable character
Defeat enemies to accumulate souls that attack for you!
Added Cryptmas game mode to Versus Mode
Gather presents for points, or open them to gain helpful items!
Added Undead Santa and Zombie Elves to Versus Mode
Added Shiver Island arena type to Versus Mode
Added Deep Water tiles to Versus Mode: movement is not slowed, but staying in Deep Water for too long leads to drowning!
Added Projection Scroll to Versus Mode
Added an option to generate levels with larger room sizes in the level editor
Added an option to render a warning outline around gold coins when playing Monk/Coda
Added a warning message when trying to start a run with unspent diamonds
Added a changelog menu that shows up when starting up the game after an update for the first time
This changelog can be revisited at any time via 'Options' > 'Misc options' > 'View changelog'
Changes
Reaper
With Reaper's introduction to version 3 of Crypt of the NecroDancer, we have made a few quality-of-life changes to improve her playability in online sessions:
Changed Soul Familiars to no longer block Reaper's movement if they did not directly attack an enemy
Changed Soul Familiars to use different colors for each player in co-op mode
Changed Soul Familiars controlled by other players to appear translucent
Changed Soul Familiars controlled by other players to be quieter
Changed enemies spawned in training mode to always grant Soul Familiars
Gameplay changes
Changed Shrine of Binding to drop Glass Armor when activated by a character with a broken heart
Changed Blast Helm to no longer make Grenades explode instantly
Changed Dice Traps to spread spawned enemies further apart on higher dice rolls
Changed Winged Boots to have a time limit and cooldown in Versus Mode
Other changes
Changed item despawn countdowns in Versus Mode to disappear more quickly, reducing visual clutter
Changed options menus to display a hint when the host has locked a setting
Changed ring slot equipment sprites to show up only on one hand
Changed level editor to remember the last loaded/saved file name
Changed Gargoyle variations to have unique names in the level editor
Performance
Optimized Soul Familiar movement, reducing lag spikes when large numbers of souls are present
Optimized tile attack checks, reducing lag spikes when large numbers of enemies or souls are present
Optimized level generator to consume significantly less memory
Optimized level generator to run faster when increasing the number of rooms in Zone 5 via the level editor
Optimized load times for levels with large numbers of Zone 4 dirt walls
Modding features
Added support for customizing the appearance of Reaper and her souls using the "Change Skin" menu
Resource packs with custom soul graphics will also be visible to other players in multiplayer
Added Reaper's souls to the asset extraction menu
Addedev.target field to event.spellcast, allowing a single entity to be targeted
Added functions sink.unsink() and sink.updateSunken() to affect an entity's interactions with liquids
Added function enemySubstitutions.pickUpgrade() to apply a specific enemy substitution
Added function familiar.register() to register a deployed familiar entity type
Added functions spawn.setSpawnCapParent() and spawn.detachFromSpawnCapParent() to manage spawn caps
Added support for nesting enemySubstitutions tables to bias probabilities
The Steam Awards are upon us again. It would mean a lot to our team if you would consider nominating Crypt of the NecroDancer for the Labor of Love category!
We have a treat for you all today... and no, it's not a trick! It's time for NecroDancer's first ever online seasonal event with the SYNCHRONY DLC's spooky new Trick-or-Treat versus mode!! Take on other players in a battle to collect the most candy from now until November 13!
This patch also introduces some other new additions to Versus mode--such as the multi-layered "Raveyard" zone, Vanish and Projection spells & tomes, a lobby level, a match summary screen and post-game replay--plus lots of other changes and fixes! Let's dig in.
Hey everyone! We're back again with some changes and quite a few bug fixes, namely to improve multiplayer stability as well as fix a few issues surrounding leaderboards submissions! Thank you as usual for all of your feedback and be sure to keep an eye out for more fun content we have coming down the pike!
New features & changes
AddedModded/Custom Mode indicator to lobby
Added mode selection menu to Extra Modes room
Changed default font for Simplified and Traditional Chinese translations to Noto Sans
Changed Thief's spawn noise to use the sound volume level, instead of scaling with music volume
Hey folks! It's been a bit, but we're back with another update for SYNCHRONY! As always, we'd love to hear your thoughts and feedback on these changes and additions. See you in the crypt!
New features
Added Shrines to the "Extra Modes" room in the lobby
Extra modes can now be toggled on or off by touching their corresponding shrines, allowing multiple modes to be active at once
The mode-specific staircases have been replaced by a single "Start run!" staircase, which begins an All Zones Mode Run with the chosen mode combination
Activating a shrine shows a brief description of the corresponding extra mode
In multiplayer, Extra Mode shrines are only usable by the host player
Added run modifiers for multiplayer that do not affect leaderboards or achievements:
Character Lock: forces all players to use the host's chosen character
Low Percent: Kills any players attempting to pick up an item or activate a shrine
Friendly Fire: Toggles the ability for bombs to hurt other players
Added visual extra mode indicators in the lobby, showing which modes are currently enabled
Added experimental cross-platform online multiplayer between Steam and GOG
Players from both platforms can join each other's lobbies and play together without the need for port forwarding
Added a confirmation menu when quick restarting a multiplayer run after the first level
Added an option to change the title of an ongoing multiplayer lobby using the "Lobby settings" menu
Added an option to mute the boss intro announcer
Changes
Characters
Changed Suzu's supercharge to collect gold piles when dashing over them
Changed Bolt's unlock condition from "Complete the game with Monk" to "Complete All Zones mode"
Changed Dove to no longer encounter Wall Spikes
Changed possessed Shopkeepers to pay gold coins for every attack
Changed attack sound effect of possessed Banshees to reduce loudness
Changed possessed enemy health bars to measure health in half-heart units, matching regular player characters
Changed Shrine of Duplication's Mannequin to no longer drop gold for Monk and Coda
Changed Monk and Coda to leave behind a single coin when jumping into a gold pile in multiplayer
Changed Double Tempo Mode to submit to separate leaderboards on Coda
Changed Nocturna's story boss fights to let the view follow the local player in online sessions
Enemies
Changed the Shopkeeper to only chase after attackers (and shoplifters) in multiplayer
Changed Low% state to be preserved when retrieving items stolen by the Thief
Changed Thief's spawn sound to be audible when playing with a low sound volume and a high music volume
Items
Changed Berserk Spell to grant extra beats of invincibility upon casting and after ending
Changed Shield of Shove to be unbreakable while shoving
Changed Onyx weapons to appear less often in boss reward chests
Changed Onyx weapon shop prices:
Lowered costs of Onyx Dagger, Broadsword, Whip and Spear
Increased costs of Onyx Bow, Crossbow, Cutlass and Warhammer
Changed Throwing Charm to interact uniquely with loaded Crossbows
Changed player-placed bombs to no longer hurt other players in the Synchrony DLC
Level editor
Changed dungeons created in the level editor to also save their set of Custom Rules
Changed level editor to automatically join in-progress test runs of other players
Engine changes
Changed music timing logic to improve input reliability, error handling and multiplayer synchronization
Changed weapon attack swipes to follow player movement smoothly
Changed translations for all supported languages
Changed player health bars to be hidden in the lobby
Changed "Reassign controls" menu to indicate which bindings are automatically managed by Steam Input
Changed "Quick lobby movement" setting to be overridable by the host player
Changed leaderboard submissions to be skipped for players who stay in spectator mode for more than half of the run
Bugfixes
Performance bugfixes
Fixed performance issues and crashes on Apple M1/Silicon Macs
Fixed lag spikes when toggling Randomizer Mode, Mystery Mode or Dancepad Mode on/off
Fixed low framerate in the lobby in large multiplayer sessions
Fixed low framerate in the lobby when accumulating large piles of thrown weapons
Multiplayer bugfixes
Fixed black screen when a player leaves during a level transition in multiplayer
Fixed non-host players missing the menu option to return to the lobby's main room
Fixed custom skins not being displayed in the late-join character selection menu
Fixed softlock in multiplayer when the last player on the floor disconnects
Fixed "Freeze Frame" effects causing flickering graphics in multiplayer
Fixed configuration menu not allowing settings to be edited online
Fixed viewport position not instantly updating when late-joining online sessions
Fixed idle character being left behind when a player leaves during a cutscene in multiplayer
Fixed cutscenes continuing to play when disconnecting from an online game
Fixed level music sometimes playing during cutscenes in multiplayer
Fixed All-Chars/Story runs sometimes ending prematurely in multiplayer
Fixed All-Chars/Story Mode causing spectators or disconnected players to respawn in multiplayer
Fixed minimap vision range not being consistent between single-player and multiplayer
Fixed other players not showing on the minimap from within the secret shop
Fixed animations sometimes getting stuck when entering a new level in multiplayer
Fixed snapshot synchronization taking too long when using direct IP connections
Fixed custom skins not loading after character switches in All-Chars/Story runs
Gameplay bugfixes
Fixed Shopkeepers not being scared of the Fear Scroll
Fixed enemies sometimes moving immediately after being summoned by a boss
Fixed more enemies generating than intended for Dove
Fixed Thief being able to steal Mary's Lamb and deployed familiars
Fixed Berserk not protecting some glass items
Fixed the player's last remaining heart container being removed when dropping Ring of Peace
Fixed crates being immune to bombs while unrevealed
Fixed Shrine of Binding not linking holstered weapons
Fixed Shrine of Binding not linking item conversions via shrines
Fixed Shrine of Binding causing items to drop in the wrong location
Fixed Shrine of War converting Shock Monkeys to White Monkeys
Fixed generated shrines not falling back to Shrine of Glass when the shrine pool is depleted
Fixed Chaunter not breaking Low Percent when using a shrine during possession
Fixed Chaunter ignoring item restrictions when transferring its inventory to a possession target
Fixed Gigantism granting immunity to Hot Coals
Fixed awoken Gargoyles not taking damage while frozen
Fixed error when an unrevealed crate is pushed down a trapdoor
Fixed Rifle dealing incorrect damage when thrown with the Throwing Charm
Fixed Throwing Charm sometimes being consumed without performing a return throw
Fixed Super Secret Shopkeeper not being centered when spawning above a food shop
Fixed spirits spawning on unrevealed tiles
Fixed potential errors when killing a Warlock during possession while holding a Ring of Courage
Fixed enemies not always struggling against possessed or charmed monkeys
Fixed possessed enemies not receiving a dig bonus from Gigantism
Fixed possessed enemies stopping when berserking into other enemies
Fixed softlock when the time runs out on Melody's final boss fight
Fixed Melody's Golden Lute throws not damaging her final boss
Fixed price tags not being removed when buying a duplicate charm
Fixed enemy splash attacks not being affected by damage-boosting items
Fixed missing alternate voice lines for Mary's greetings, attacks and cheers
Fixed Shock Monkeys and other electric attacks not hitting Electric Zombies
Fixed players being able to rapidly use items or spells on ice
Fixed Blast Helm explosions not being instant while sliding on ice
Fixed Coda encountering Ooze Golems when the AMPLIFIED DLC is disabled
Fixed Merlin not offering Ring of Phasing if AMPLIFIED DLC is disabled
Fixed Hephaestus not offering Warhammer, Heavy Glass Armor, Holster or Hargreaves
Fixed Aria starting Dancepad Mode in Zone 1
Fixed seed variance for button trap locations in Cadence's final boss
Fixed unprovoked Shopkeepers being targeted by charmed enemies
Achievement/leaderboard bugfixes
Fixed pre-3.0 Hard/No-Return Mode clears not counting towards "Mode Master" achievement
Fixed multi-character achievements not auto-unlocking when a corresponding leaderboard entry is present
Fixed All Zones completion achievements not unlocking in All-Chars/Story Mode
Fixed "Custom Mode" menu ignoring unlock condition for All Characters Mode
Fixed progression unlocks and achievements being awarded to spectators
Fixed some statistics (e.g. Green Bat Kills) not counting correctly across Save & Quit
Fixed debug commands not disabling leaderboards for non-host players in multiplayer
Fixed Randomizer All-Chars/Story Mode runs cross-submitting to All Zones leaderboards, despite using the same seed each loop
Controller bugfixes
Fixed missing controller bindings for switching pages in the mod menu or leaving spectator mode
Fixed game exiting on title screen when pressing B on a controller
Fixed incorrect controller prompts for "Join game", "Next page" and "Previous page"
Fixed first column in "Reassign controls" being overwritten with Steam Input disabled
Fixed Player 1 not always automatically switching to controller input at startup
Fixed Steam Input failing to initialize if no controller is plugged in when launching the game
Fixed "Diagonal" Steam Input action set layer not being applied correctly in local co-op
Editor bugfixes
Fixed newly loaded levels in the online level editor not being visible until host enters the room
Fixed level editor sometimes momentarily displaying the spectator mode HUD in multiplayer
Fixed level editor not switching to the next level when immediately deleting the first level after opening a dungeon
Fixed level editor not switching to the next level when the current level is deleted in multiplayer
Fixed level editor level list selection going out of bounds
Fixed level editor sometimes reloading all mods when switching between levels in multiplayer
Fixed error in the level editor when clearing the selection box while quick-dragging a section of the level
Fixed error in the level editor when deleting the first level while an online player is connecting
Fixed error when loading a dungeon in the editor while online players are in a test run
Fixed level editor not sending all online players back to lobby when the host leaves the editor
Fixed "Restore default gameplay" appearing in level editor play rooms
Fixed spirits not appearing when spawned via the in-game editor
Fixed custom dungeon level options (e.g. "No Items", "Low Health") not applying to late-joiners
Fixed entity attribute modifications in level editor not always applying correctly
Fixed Charm Spell not showing up in level editor
Fixed players getting stuck in editor test runs if the host deletes the level being tested
Fixed Moles not being movable into obstacles in the level editor
Other engine bugfixes
Fixed errors when resuming a session that was saved in a previous version of the game
Fixed the player sometimes entering spectator mode when resuming a saved session
Fixed music timing drift when switching between characters with different soundtracks in the lobby
Fixed audio device errors sometimes causing beat bars and the in-game timer to run backwards
Fixed framerate limit option allowing redundant "VSync" value
Fixed custom music menu not reporting an error when failing to load a song
Visual bugfixes
Fixed clones appearing as Cadence's instead of Chaunter's when entering a level while possessing an enemy
Fixed Dash Spell's visual tell taking too long to show up
Fixed Greater Dash Spell's visual tell not accounting for the extra range
Fixed characters appearing below walls in Phasing Mode when wearing Winged Boots
Fixed character sprites displaying at incorrect offsets in the skin selection menu
Fixed visual bugs when using a Shrine of Glass while holding an Obsidian Weapon
Fixed Nicolas Daoust being selectable without the AMPLIFIED DLC, turning the Shopkeeper into a white square that does not sing
Fixed numerous "Beat Skipped" flyaways showing up when playing Bolt in Double Tempo Mode
Fixed Dorian visually equipping Cadence's spells in the final boss fight
Fixed gold counter in the HUD getting squished more than necessary
Fixed speedrun timer getting squished in some languages
Fixed some enemy health bars not being aligned to the tile grid
Fixed certain resolutions and view multipliers causing lobby text to jitter
Fixed inconsistent visuals when changing "Character Lock" setting via lobby shrine
Fixed offset for one of Suzu's armor sprites
Modding
Added support for loading custom TTF/OTF fonts in resource packs
Font replacements for the non-pixel font are loaded from <Resource Pack Name>/ttf/NotoSansJP-Bolt.otf
"Enable pixel font" in the Language Options must be unchecked for this font replacement to take effect
To force a full font reload when activating the resource pack, create a text file containing Key,Text and save it as <Resource Pack Name>/languages/all.csv
Added event clientRequestRestart to handle quick restarts from the hotkey or the pause menu
Added event itemGenerate to allow mods to intercept item generation
Added component itemCommon which marks "regular" items, distinguishing them from internal items like deployed familiars
Added component playableCharacterNonSelectable to exclude characters from the lobby
Added command line option --no-load to discard saved sessions
Added debug command translateMods() to generate a translation template for all loaded mods
Added an option to show internal entity names in the level editor
Changed events objectTakeDamage/holderTakeDamage to always supply ev.attacker, using an empty table for environmental damage
Fixed mods downloaded from mod.io not loading on Windows if the username contains special characters
Fixed "Missing mods" menu not showing mod names, descriptions or icons
Fixed startup error when loading a mod with a malformed mod.json file
Fixed error when Death Metal's spawn limit is removed by a mod
Fixed "Change Language" menu not displaying some modded translations correctly
Known issues
It is not yet possible to send Steam invitations for multiplayer lobbies hosted by GOG users
Multiplayer lobbies created on MacOS are not yet visible to GOG users