Crypt of the NecroDancer v3.7.2 is now available on Steam and GOG!
Balance changes
These changes are applied while the SYNCHRONY DLC is active.
- ๐น Holster: Now automatically switches weapons after shattering glass or throwing a weapon
- ๐น Throwing Charm: Can now be obtained and activated by Chaunter
- ๐น Berserk Scroll: Increased range when cast diagonally, to avoid bumping into enemies
- ๐น Heart Containers: No longer be collectible (and wasted) by Aria or Coda in multiplayer outside of Ensemble Mode
- ๐น Magic Food: Now grants shattered hearts to health-locked characters when eaten in Ensemble Mode
- ๐น Cursed Hearts: No longer carry over to Aria, unless the previous character only had Cursed Hearts with no red health
- ๐น Shrine of Fire: Can now be activated by charmed or possessed Fire Elementals bumping into it
- ๐น Shrine of Peace: Now grants shattered heart containers when activated by Chaunter, Aria or Coda
- ๐น Dash Spell: Range preview now follows Bounce Traps
- โซ๏ธ Thief: Now spawns at most once per run in single-player mode
- ๐ป Thief: Stolen items now negate Low% if picked up by a player other than the original owner
Other changes
These changes apply to all versions of the game.
- Changed Nightmare shadows to allow tiles within their radius to be revealed
- Changed Nightmares to no longer remove the outline silhouette from enemies within their radius
- Changed Potion to grant one beat of invincibility when quaffed
- Changed items dropped by Crate/Barrel/Shrine Mimics, Teh Urn and Shopkeepers to no longer be collectible instantly, matching other containers
- Changed items dropped by a Scatter Trap to be recollectible by their original owner without negating Low%
Modding Features
- Added support for specifying additional properties for custom player skins via a metadata file
- Skin metadata files must be placed next to the image file, sharing the same name with a
.json
extension.- For example, use
mods/My custom character/entities/player1_armor_body.json
to modify Cadence’s body attributes, orplayer1_heads.json
to modify sprite sizes and offsets for her head.
- For example, use
- Supported JSON properties:
width
,height
: Spritesheet grid size in pixels (max. 64×64)offsetX
,offsetY
: Horizontal and vertical offset of the sprite from the tile’s center in pixelsoffsetZ
: Depth sorting adjustment to make the sprite appear above or below othersname
: Name to display in the skin selection menu (must be associated with the body spritesheet)equipment
: Object to control equipment sprites (must be associated with the body spritesheet)slotOffsets
: Per-slot/per-frame X/Y offsets, e.g.{"weapon": [0,1, 0,2, -1,1, 0,-1]}
slotMirrors
: Per-slot horizontal scale factors to mirror items, e.g.{"torch": -1}
excludedItems
: Item entity names to hide, e.g.{"HeadBlastHelm": true}
- If
equipment
is set tofalse
instead of an object, equipment sprites are fully disabled while this skin is active.
hideIfTransformed
: Iftrue
, hides this sprite while in an alternate form (such as Nocturna’s Bat Form)
- Any omitted attributes will retain their default values for the character being modified
- Skin metadata files must be placed next to the image file, sharing the same name with a
- Added support for registering custom zones in mods
- Added parameter
ev.zones
toevent.levelSequenceUpdate
- Added extensible enum
LevelSequence.Zone
with data fieldsorder
,tilesets
,generatorType
,enemyComponent
- Changed level sequence to automatically include modded zones and bosses
- Changed Boss Training room in the lobby to automatically include modded bosses and zones
- Changed level editor to allow selecting custom zones in the “Generate level” menu
- Changed level editor to group modded enemies together if they’re registered to a custom zone
- Changed Aria’s zone order reversal logic to support custom zones
- Added parameter
- Added components
enemyPoolBossMinionKingConga
,enemyPoolBossMinionDeathMetal
,enemyPoolBossMinionFortissimole
andenemyPoolBossMinionFortissimoleAudience
to customize boss minions - Added component
trapApparitionExclusionZone
- Added component
facingRotateSprite
- Added component
Sync_digCheckRetaliationOnFail
- Added function
inventory.isInitial()
to check if an item is a pristine part of its holder’s starting equipment - Added function
PlayableCharacter.floating()
to give a playable character entity type innate flight - Added function
spectator.getPlayerSpectatorState()
to check user-initiated spectator state - Added function
Array.toString()
to return the raw string representation of an array’s contents - Added parameter
ev.spawned
toevent.spellcast
, storing the entity created by summoning or item-granting spells - Added parameter
ev.priceTagType
toevent.generateShopItems
to allow using custom price tags - Changed
spellcastCreateWalls
to not override exit stairs by default
Bugfixes
Gameplay bugfixes
- Fixed Ring of Peace providing no health after switching from Chaunter/Aria to another character in Ensemble Mode
- Fixed single-choice items not being independently linked together when duplicated by Scroll of Duplication
- Fixed Nocturna’s Zone 5 area sometimes intersecting with potion rooms and vaults
- Fixed Green Bats sometimes being replaced by Blue Bats when playing Aria
- Fixed Coral Riff’s Tentacles being immune to Freeze Spell while submerged
- Fixed error when starting a new run while an entity is about to convert into a different type
- Fixed some Hard Mode Sarcophagi spawning multiple different enemy types when playing Mary
- Fixed Reflective Shield reflecting a Gorgon’s gaze even if the shield is facing away from the Gorgon
- Fixed Scroll of Riches ignoring coin multiplier upgrades
- Fixed song-ending Trapdoor being destructible and not always outprioritizing other traps
- Fixed Frost Dagger not melting to Fire Elemental attacks if AMPLIFIED DLC is not active
- Fixed Golden Lute not negating Low% when picked up outside of Cadence’s final boss
- Fixed errors when killing a Pixie by teleporting onto it using Crown of Teleportation
- Fixed Reaper’s Souls not dealing damage while dashing with Ring of Courage
- Fixed spirits ignoring distance limits when exiting a secret shop after purchasing a telepathy item
- Fixed adjacent traps sometimes being triggered when sliding into a Travel Rune on ice
- Fixed Monkeys in barrels not being knocked back by Ring of Pain
- Fixed Boots of Leaping/Lunging preventing charmed pets from being pushed
- Fixed Shock Monkeys being able to spawn on top of traps
Chaunter bugfixes
- Fixed Enchant Scroll not enchanting Chaunter’s stashed weapon
- Fixed Shield of Shove not allowing possessed enemies to attack while shoving
- Fixed Shrine of Fire dropping forbidden items when activated by a possessed enemy
- Fixed Shrine of Pace not working correctly for Chaunter while possessing an enemy
- Fixed Shrine of Peace granting only 1 heart to possessed enemies while the AMPLIFIED DLC is disabled
- Fixed possessed Harpies being able to attack the Shopkeeper Ghost by moving into it diagonally
- Fixed possessed electric mages being able to effortlessly kill bosses by firing Electric Orbs from the topmost tile in the starting corridor
- Fixed possessed enemies being unable to move into Electric Orbs or Klarinetta’s sword
- Fixed possessed enemies hopping instead of sliding with Ring of Courage
- Fixed possessed Bats, Banshees, Mommies and Leprechauns being immune to Wall Spikes
- Fixed possessed enemies being unable to dig Wall Spikes at half a heart
- Fixed possessed electric mages being unable to conjure weapons
- Fixed possessed Harpies not being able to dig correctly while confused
- Fixed possessed enemies not resisting knockback while dashing forward using Ring of Courage
- Fixed possessed enemies resisting Wind Spells and Shovemonsters while invincible
- Fixed Lord enemies not keeping their extra health when possessed
- Fixed error when when a possessed Harpy attempts to push a charmed pet diagonally
- Fixed Ring of War carrying over into the first level of the next run if held while possessing an enemy in All Characters Mode
- Fixed beat bars not turning red near the end of the song while possessing an enemy
- Fixed enemies killed by Ring of Pain or Boots of Pain being possessed if a Lantern is obtained via the Pawnbroker
- Fixed Chaunter ending up inside a wall when ejecting from a phasing enemy with no nearby floors
- Fixed player sprite being cut off when switching to Chaunter in Ensemble Mode while standing in a liquid
- Fixed Boots of Leaping/Lunging preventing possessed Deep Blues Knights from moving partially
Multiplayer bugfixes
- Fixed Shopkeeper getting angry at Bomb Traps in multiplayer
- Fixed Coral Riff’s Tentacles sometimes getting stuck underwater in multiplayer
- Fixed Blood Shop generating in Zone 1 when playing Aria in co-op, causing it to appear near the end of the run
- Fixed co-op enemies targeting players in secret shops
- Fixed verbose log output when hosting a GOG cross-play lobby
- Fixed error when entering a new level while a player with charmed pets is dead or spectating
- Fixed Practice Sarcophagus in the Versus Mode lobby not spawning enemies
Interface bugfixes
- Fixed speedrun timer unpausing after using Save & Quit in the All Characters selection room
- Fixed ‘Tachyarrhythmia’ achievement being obtainable in Ensemble Mode
- Fixed description of Friendly Fire Mode implying that only explosion damage is affected
- Fixed missing item hint for single Grenade
- Fixed BPM counter fluctuating between integers when using custom music with Manual Beats
- Fixed performance issues when an entity repeatedly tries to convert to its own type
- Fixed
Ctrl + Backspace
not deleting the full selection in text prompts
Level editor bugfixes
- Fixed “Extra Room Count” option in level editor generating sparsely populated levels if Aria is selected
- Fixed missing sprites in level editor if AMPLIFIED DLC is not installed
- Fixed level editor always adding Goblin Sentries to the starting room when generating Zone 4 floors if AMPLIFIED DLC is disabled
- Fixed Lantern not defining an appropriate blood cost when placed in the level editor
- Fixed boss levels not using zone-specific health scaling or summons in Level Editor
- Fixed some level editor menus closing instantly when opened via a mouse click
Modding bugfixes
- Fixed custom player skins not reloading when the images files are modified while the skin is selected
- Fixed mod portal search not working if the search text contains spaces or special characters
- Fixed
Possession.detach()
causing errors ifentity
is not specified - Fixed Shield of Shove setting
ev.weapon
incorrectly inevent.objectTakeDamage
/event.objectDealDamage
- Fixed
stasisAI
overriding other enemy AI changes - Fixed modded characters based on Aria and Coda preventing Ooze Golems from spawning if AMPLIFIED is enabled
- Fixed wire graphics being cut off when modified to cover a larger area by a resource pack
- Fixed Shopkeeper Ghost spawning prematurely when playing with modded zones
- Fixed error when a player somehow gets their hands on a summoning spell intended for use by bosses
- Fixed error when an entity is given
Sync_itemCombo
withoutSync_itemComboAddOnHit
- Fixed items without the
itemTransmutable
component still being transmuted by the Transmogrifier - Fixed crash when attempting to load an image with an extremely long file name
Audio bugfixes
- Fixed beatmap/audio being out of sync on Zone 5 and Death Metal when using FamilyJules’ soundtrack
- Fixed massive enemies repeatedly making splashy noises while in liquid
- Fixed the Shopkeeper’s voice increasing in volume near the thermal boundary of Zone 3
- Fixed Mary’s sheep yelling at crates
Visual bugfixes
- Fixed cables graphics in Nocturna’s final boss fight being offset by one pixel
- Fixed Bolt’s head sprite being offset incorrectly when the AMPLIFIED DLC is not installed
- Fixed players appearing behind walls in Phasing Mode if a custom character skin is active
- Fixed Mystery Mode trying to change the sprites of normally invisible internal item types
- Fixed Klarinetta’s portrait in the late-join character selection menu not being aligned correctly
- Fixed duplicated items missing their hover animation