Crypt of the NecroDancer is an award winning hardcore roguelike rhythm game. Move to the music and deliver beatdowns to the beat! Groove to the epic Danny Baranowsky soundtrack, or select songs from your own MP3 collection!
[b]Crypt of the NecroDancer v3.6.0 is now available![/b]
Can you believe it's March already? Wild.
[h2]New features[/h2]
[list]
[*] [b]Added[/b] new sound effects for the [b]Phantom[/b], [b]Jockey[/b], [b]Granite Golem[/b], [b]Wisp[/b] and an [i]uncommon enemy[/i]...
[*] [b]Added[/b] a [i]Ping Tool[/i] to quickly highlight important locations and objects in-game in multiplayer
[list]
[*] On keyboard, ping markers can be placed on nearby objects by pressing [i]Right Shift[/i] (player 1) or [i]F[/i] (player 2)
[*] On controller, if Steam Input is enabled, ping markers can be placed on nearby objects by clicking the Left Stick
[*] If these keys were already bound to other actions, the 'Ping Nearby' action is left unassigned by default
[list]
[*] All ping bindings can be customized in the 'Reassign Controls' menu
[/list]
[*] Ping markers can also be placed manually, by clicking on a tile or object with the left mouse button
[*] Pinging a distant object shows an arrow near the screen border for all players, pointing in the direction of the ping
[list]
[*] Pinging a chest, crate or shrine while wearing a Monocle reveals the contents for everyone
[/list]
[*] Repeatedly using the Ping Tool in multiplayer places it on cooldown for a few seconds
[*] Muting a player via the 'Multiplayer' > 'Player List' menu also hides and silences their pings
[/list]
[*] [b]Added[/b] an option to hide ping markers placed by other players in online sessions
[*] [b]Added[/b] an option to hide ping markers placed by spectators
[*] [b]Added[/b] an advanced volume slider for the Ping Tool
[*] [b]Added[/b] an option to reduce the intensity of flashing visual effects (Explosions, Fireballs)
[*] [b]Added[/b] an option to change the speed of beat bars in the HUD
[*] [b]Added[/b] a 'Menu' button to the level editor's top toolbar
[list]
[*] This button can be hidden using an option in the level editor's settings menu
[/list]
[/list]
[h2]Changes[/h2]
[list]
[*] [b]Changed[/b] Heavy Glass Armor to swap between armor stacks instead of merging them together and wasting surplus durability
[*] [b]Changed[/b] unprovoked Leprechauns to be immune to Wall Spikes
[*] [b]Changed[/b] Travel Runes to no longer disappear when covered by hot coals, ice or ooze in Synchrony
[*] [b]Changed[/b] Travel Runes under Cracked Walls to be movable in the level editor
[*] [b]Changed[/b] menus to more visibly indicate when their entries can be scrolled up or down
[*] [b]Changed[/b] custom mode notification to appear in the lobby when custom music is enabled
[*] [b]Changed[/b] most non-challenge achievements to be obtainable while custom music is enabled
[*] [b]Changed[/b] the level editor's toolbar to adapt its spacing for low screen resolutions
[/list]
[h2]Modding features[/h2]
[list]
[*] [b]Added[/b] support for generating multiple travel runes and secret shops per level
[*] [b]Added[/b] function [i][noparse]objectRenderer.getContentVisual()[/noparse][/i] to render custom monocle-like projections on top of container objects
[*] [b]Added[/b] function [i][noparse]rectangle.resizeAroundCenter()[/noparse][/i] to change a rectangle's size while maintaining its centerpoint
[*] [b]Added[/b] function [i][noparse]render.getTileAt()[/noparse][/i] to transform screenspace coordinates into tile coordinates
[*] [b]Added[/b] function [i][noparse]utils.removeIfArg()[/noparse][/i] to filter a list according to a predicate, receiving both the entry and a custom data parameter
[*] [b]Added[/b] function [i][noparse]placementUtils.getRoomsOfType()[/noparse][/i]
[*] [b]Added[/b] optional [i][noparse]allowOnScreen[/noparse][/i] and [i][noparse]noDraw[/noparse][/i] parameters to [i][noparse]targetPointerHUD.draw()[/noparse][/i]
[*] [b]Added[/b] components [i][noparse]CharacterSkins_excludeFromSelector[/noparse][/i] and [i][noparse]CharacterSkins_excludeFromTemplate[/noparse][/i] to hide characters from the skin selection menu
[*] [b]Added[/b] field [i][noparse]threshold[/noparse][/i] to component [i][noparse]aiCatlike[/noparse][/i]
[*] [b]Added[/b] enumeration entry [i][noparse]proceduralLevel.RoomType.VAULT[/noparse][/i], indicating vaults and potion rooms
[*] [b]Changed[/b] "Publish mod" menu to clear the changelog after a mod was uploaded successfully
[*] [b]Changed[/b] Ring of Regeneration to pass itself as [i][noparse]healer[/noparse][/i] in [i][noparse]event.objectHeal[/noparse][/i]
[*] [b]Changed[/b] [i][noparse]itemGeneration.choice()[/noparse][/i] to accept modded component names in [i][noparse]chanceType[/noparse][/i]
[*] [b]Changed[/b] [i][noparse]segment.setBounds()[/noparse][/i] to resize the level to fit the segment's bounding box
[*] [b]Changed[/b] entities without [i][noparse]voiceRangedAttack[/noparse][/i] to fall back to [i][noparse]voiceMeleeAttack[/noparse][/i]
[/list]
[h2]Bugfixes[/h2]
[h3]Gameplay bugfixes[/h3]
[list]
[*] [b]Fixed[/b] healing items or spells not granting invincibility while sliding on ice
[*] [b]Fixed[/b] Travel Runes sometimes failing to appear when playing Nocturna
[*] [b]Fixed[/b] Dove's bombs failing to teleport provoked Shopkeepers
[*] [b]Fixed[/b] groups of Green Slimes and Mushroom Lights causing some level layouts to be impassable for Monk/Coda
[*] [b]Fixed[/b] Shrine of Binding causing coin multiplier loss when bumped repeatedly by Dove/Monk/Coda
[*] [b]Fixed[/b] Thief being outprioritized by Barrels and Electric Orbs
[*] [b]Fixed[/b] Thief not prioritizing its target's previous position when diagonally adjacent
[*] [b]Fixed[/b] Thief sometimes stealing items from its diagonally adjacent target if it cannot move orthogonally
[*] [b]Fixed[/b] Warlocks duplicating their dropped gold when killed while standing on a coin pile
[*] [b]Fixed[/b] Dice Trap spawning enemies on top of other traps
[*] [b]Fixed[/b] Infernal Torch incorrectly casting Fireballs from non-dug wall torches while Miner's Cap is equipped
[*] [b]Fixed[/b] items that would have appeared in a shop failing to spawn elsewhere after the Shopkeeper was killed
[list]
[*] This does not apply to the Daily Challenge
[/list]
[/list]
[h3]Chaunter bugfixes[/h3]
[list]
[*] [b]Fixed[/b] Chaunter's Lantern emitting light when entering a floor while possessing an enemy
[*] [b]Fixed[/b] Chaunter's Lantern forcing single-tempo during possession when given to other characters
[*] [b]Fixed[/b] Shrine of Rhythm not fully taking effect on Chaunter
[*] [b]Fixed[/b] possessed enemies spawned from a Sarcophagus not receiving credit for their kills
[*] [b]Fixed[/b] coin multiplier being lost when a possessed Skeleton is decapitated by self-damage
[*] [b]Fixed[/b] Clones taking on Cadence's appearance when entering a level while possessing an enemy as Chaunter
[*] [b]Fixed[/b] possessed Wisps' sprite not disappearing after going down a staircase
[*] [b]Fixed[/b] possessed Leprechauns being unable to pick up items
[*] [b]Fixed[/b] possessed Pawnbrokers being immune to self-damage
[/list]
[h3]Level editor bugfixes[/h3]
[list]
[*] [b]Fixed[/b] secret shops not generating correctly in the level editor
[*] [b]Fixed[/b] Minotaurs roaring when placed in the level editor
[*] [b]Fixed[/b] Thief playing its appearance sound when generated in the level editor
[*] [b]Fixed[/b] "Selection panel columns" level editor option not working correctly
[*] [b]Fixed[/b] Melody's final boss creating lava tiles when placed in the editor
[*] [b]Fixed[/b] the Gong killing all bosses when destroyed in a custom level, instead of only the boss that struck the Gong
[*] [b]Fixed[/b] Nightmare shadows obscuring enemies and items in the level editor
[*] [b]Fixed[/b] cursor movement overriding player movement in the in-game editor overlay
[list]
[*] This behavior can be configured by an advanced option in the editor settings
[/list]
[/list]
[h3]Modding bugfixes[/h3]
[list]
[*] [b]Fixed[/b] stack overflow errors resulting in an empty error message instead of a stack trace
[*] [b]Fixed[/b] [i][noparse]autoCastCheckLineOfSight[/noparse][/i] not working for vertical directions
[*] [b]Fixed[/b] inconsistent results between [i][noparse]LineOfSight.check()[/noparse][/i] and player field of view checks
[*] [b]Fixed[/b] [i][noparse]tileRenderer.getFloorVisual()[/noparse][/i] not correctly using a default value for the [i][noparse]beat[/noparse][/i] parameter
[*] [b]Fixed[/b] [i][noparse]spellcastCone[/noparse][/i] targeting a line of tiles on diagonals, instead of a rotated triangle
[*] [b]Fixed[/b] error when an [i][noparse]attachment[/noparse][/i] entity's parent does not have the [i][noparse]position[/noparse][/i] component
[*] [b]Fixed[/b] enumeration values marked as invisible still appearing in settings dropdowns
[*] [b]Fixed[/b] multi-client mode not disabling Discord integration
[*] [b]Fixed[/b] multi-client mode showing changelog/character unlock menus
[*] [b]Fixed[/b] custom items inheriting from Bombs registering duplicate entity types
[*] [b]Fixed[/b] inconsistent spacing in controls menu when mods define both per-player hotkeys and custom gameplay actions
[/list]
[h3]Input bugfixes[/h3]
[list]
[*] [b]Fixed[/b] missed beats when holding down a directional button late in the beat if multi-key combos are enabled
[*] [b]Fixed[/b] inputs being treated as missed beats more often at the start of a floor
[*] [b]Fixed[/b] rare instances of multiple inputs in a row being treated as missed beats after unpausing
[*] [b]Fixed[/b] rapid key presses sometimes allowing movement during the boss intro screen
[*] [b]Fixed[/b] possessed diagonally-moving enemies not enabling 8-directional D-Pad movement on Steam Input
[*] [b]Fixed[/b] "ignore background mouse input" not applying to gameplay controls
[*] [b]Fixed[/b] custom per-player hotkeys triggering the 'missed' HUD flyaway and sound effect
[*] [b]Fixed[/b] controls menu responding to mouse input while the rebind prompt is open
[/list]
[h3]Engine bugfixes[/h3]
[list]
[*] [b]Fixed[/b] performance issues in levels containing an absurd amount of torches, such as the lobby
[*] [b]Fixed[/b] DLCs not loading on the first game launch after being purchased
[*] [b]Fixed[/b] Daily Challenge not being playable offline in DRM-free build
[*] [b]Fixed[/b] error when a Shock Monkey takes environmental damage
[/list]
[h3]Audio bugfixes[/h3]
[list]
[*] [b]Fixed[/b] Onyx weapons playing an incorrect attack voice line when hitting multiple enemies at once
[*] [b]Fixed[/b] enemies not playing their hit sounds when squished
[/list]
[h3]Visual bugfixes[/h3]
[list]
[*] [b]Fixed[/b] Coral Riff's splash particles not always being visible
[*] [b]Fixed[/b] confusing death message when Monk dies due to Ring of Gold in multiplayer
[*] [b]Fixed[/b] the Leprechaun's visual effects rendering behind walls
[*] [b]Fixed[/b] visual seams in the left-facing animation for the Fireball Spell
[*] [b]Fixed[/b] coins being hidden by walls after being teleported by a Warlock
[/list]