SYNCHRONY v3.7.2

Released: 21st August 2023

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, or player1_heads.json to modify sprite sizes and offsets for her head.
    • 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 pixels
      • offsetZ: Depth sorting adjustment to make the sprite appear above or below others
      • name: 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 to false instead of an object, equipment sprites are fully disabled while this skin is active.
      • hideIfTransformed: If true, 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
  • Added support for registering custom zones in mods
    • Added parameter ev.zones to event.levelSequenceUpdate
    • Added extensible enum LevelSequence.Zone with data fields order, 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 components enemyPoolBossMinionKingConga, enemyPoolBossMinionDeathMetal, enemyPoolBossMinionFortissimole and enemyPoolBossMinionFortissimoleAudience 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 to event.spellcast, storing the entity created by summoning or item-granting spells
  • Added parameter ev.priceTagType to event.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 if entity is not specified
  • Fixed Shield of Shove setting ev.weapon incorrectly in event.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 without Sync_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