SYNCHRONY v3.7.0

Released: 8th May 2023

Hey NecroDancers, we’ve got a big SYNCHRONY update for you this time around featuring a brand new game mode (Ensemble Mode!), new achievements, more options, and lots of various changes and fixes!! Check out the full details below:

Crypt of the NecroDancer v3.7.0 is now available!

New features

  • Added Ensemble Mode to SYNCHRONY:
    • Complete all zones in one run, but play a different character each floor!
    • Pick a character for each floor before starting the run.
    • Items and extra heart containers are carried over across levels!
  • Added new achievements to SYNCHRONY:
    • Polyphonic: Complete an “Ensemble Mode” run in single-player or co-op mode
    • Family Trip: Complete “All Zones Mode” as Cadence, Melody, Aria and Dorian in co-op mode
    • Tachyarrhythmia: Complete Zone 1 in “Double Tempo Mode” with solo Bolt
    • Fool’s Mate: Checkmate Deep Blues without harming another piece
    • Destructive Interference: Kill Dead Ringer with his own attack
    • Fully Loaded: Equip an item in every possible slot
    • Ghost in the Pot: Take control of Teh Urn
    • Sunk Cost: Sell everything you have to the Pawnbroker
  • Added character previews to Character Select room
  • Added Reflective and Prismatic Mirrors to the level editor
  • Added accented characters to the game’s primary font
  • Added an option to import all unlocked characters, items, NPCs and modes from previous versions of the game
    • This option can be found in the Gameplay options menu, under Manage save data
    • Using the option does not overwrite any existing unlocked content – the old and new unlocks are merged together
    • Save data is copied from versions 1.27, 2.59 and 3.6.1
  • Added support for pressing ‘Ctrl+C’ to copy the seed in the run summary menu

Balance changes

  • 🔹 Reflective Shield: Now reflects Fireball Spells, Gorgon’s Gaze and Electric Orbs back at the caster
  • 🔹 Shrine of Duplication: Now drops Reflective Shield when destroyed before activation
  • 🔹 Ring of Luck: Now allows chests to appear in multiple locations, making them easier to find
    • After a chest was observed at any of its possible locations, the superposition collapses and the chest stays in place
    • Wearing a Monocle causes all chests to be observed immediately, cancelling out the effect
  • 🔹 Trident: Throw attack now always deals damage along three lanes, even after passing through narrow corridors
  • 🔹 Throwing Charm: Now allows Melody to perform one full returning throw per floor, instead of a one-off ranged attack
  • 🔹 Shrine of Sacrifice: Now drops copies of items held by sacrificed players
  • 🔹 Shrine of Binding: Now drops items across multiple tiles
  • 🔻 Shrine of Binding: Now averages the health of fused players (rounded up) instead of adding it

Charm spell rework

  • Charmed monsters are now permanently converted into Pets
  • Pets follow their owner across floors
  • Pets target the closest visible enemy near their owner
  • Pets that are not currently targeting an enemy now follow their owner instead of idling
  • Kills made by Pets now contribute to their owner’s Coin Multiplier and spell cooldowns
  • Minibosses can now be charmed, causing the exit stairs to be unlocked
  • Shopkeepers can now be charmed after being provoked, causing all future shops to be empty
  • Pets can be healed by re-casting Charm Spell near them
  • Now spawns a Green Slime if no charmable enemies are nearby
  • Greater Charm now affects monsters within a larger radius
  • Cast cooldown decreases every beat once all Pets are dead
  • Pets no longer take damage when shoved into an obstacle
  • Multiple Pets in a row can be shoved at once
  • Shoving a submerged Pet clears the liquid
  • Shoving a Pet against a door opens the door
  • Shoving a Pet against a solid obstacle now swaps positions with the owner or pushes the Pet aside

Item pool changes

  • 🔹 Ice Spirit Familiar: Added to Melody’s item pool
  • 🔹 Shopkeeper Familiar: Added to Melody’s item pool
  • 🔹 Grenades: Added to Diamond’s item pool
  • 🔹 Throwing Stars: Added to Diamond’s item pool
  • 🔹 Reflective Shield: Added to Flawless Victory boss reward chests
  • 🔻 Heavy Shield: Removed from Flawless Victory boss reward chests
  • 🔻 Courage Shovel: Removed from Coda’s item pool

Item price changes

  • 🔹 Shovel of Courage: Reduced price from 300 to 200 gold
  • 🔹 Dash Spell: Reduced price from 313 to 188 gold
  • 🔹 Berserk Spell: Reduced price from 250 to 188 gold
  • 🔹 Onyx Broadsword: Reduced price from 188 to 125 gold
  • 🔹 Onyx Spear: Reduced price from 250 to 125 gold
  • 🔹 Onyx Cutlass: Reduced price from 375 to 250 gold
  • 🔹 Onyx Weapons: Reduced prices from 300 to 200 gold (Onyx Longsword, Flail, Harp, Staff, Cat o’ Nine Tails, Rapier and Axe)
  • 🔺 Reflective Shield: Increased price from 75 to 150 gold
  • 🔺 Torch of Foresight: Increased price from 50 to 75 gold

All balance changes are applied while the SYNCHRONY DLC is active.

Other changes

  • Changed “Friendly Fire” extra mode to also apply to weapon attacks, allowing players to hit each other directly
    • The 5×5 region around the spawn room is a safe zone in which players cannot attack each other
  • Changed Chaunter to collect heart containers as “shattered hearts”, which are retained across possession
  • Changed equipment sprites for Rapier, Warhammer and Whip
  • Changed sprite for Shrine of Duplication
  • Changed Dove to be able to “defeat” bosses by tickling them with her Flower
  • Changed Throwing Charm to visually indicate when its returning throw recharges

Modding features

  • Added “Did you mean?” suggestions for fixing various errors
  • Added function characterSwitch.perform() and for changing player characters mid-game
  • Added events event.objectCharacterSwitchInit/SwitchFrom/SwitchTo for handling player character changes
  • Added function objectPreview.draw() and rendering entity previews, such as in the character selection room
  • Added function object.die() for passing additional parameters to event.objectDeath
  • Added event event.objectPreview for customizing how an entity should be drawn in its preview
  • Added event event.spellRedirect for handling spell redirections
  • Added event event.objectUpdateTargetability
  • Added event event.itemBanCheckType for cross-character item ban checks
  • Added component spellcastRedirectablespellRedirector and others for spell reflection
  • Added component projectileReflectableitemReflectProjectileOnKill and others for projectile reflection
  • Added component itemInitial for tracking items given as part of the starting loadout
  • Added component inventoryBannedItemSlots for specifying individual item ban flags per item slot
  • Added component soundInteractFocus for sounds only audible to the interactor
  • Added component worldLabelCharacterStats for displaying stats as in-world text
  • Added component wiredDamageTypeModifier for adding damage flags to attacks performed while standing on a wire
  • Added component Sync_charmablePriority for increasing the move order of charmed pets
  • Added component targetableOffByDefault for marking entities as conditionally targetable
  • Added component dropTombstoneOnDeath to control lingering enemy hitboxes
  • Added field initialInventory.pending for controlling whether starting items are given out
  • Added field initialInventoryUnlockReceiver.pending for controlling whether Single Zone items are given out
  • Added field initialInventoryTrainingWeaponReceiver.pending for controlling whether training weapons are given out
  • Added field castOnCollision.attackFlags for controlling the targeting flags for deployed Familiars
  • Added field grabRowOrder.offsetZ for controlling the render order adjustment when a Monkey grabs another entity
  • Added field cameraMode to level table for overriding which camera mode is used in a level
  • Added fields cameraLockToHomeArea.offsetW and .offsetH for adjusting the view range in some boss fights
  • Added module PersonalStats for tracking character progress
  • Added module SequenceUtilities for generating lazy-initialized lists of tile coordinate pairs
  • Added function fileIO.isSubstituted() for checking if a resource pack replaces a specific file
  • Added function settingsPresets.loadFromTable() for loading settings presets in-memory
  • Added function menu.suppressKeyControlForTick() for preventing misinputs from in-game-triggered menus
  • Added function commonEnemy.ignoreLiquids() for making enemies immune to liquids in entity schema events
  • Added function targeting.updateTargetability() for recomputing the targetability flags of entities
  • Added event parameter ev.weapon to event.objectDealDamage/TakeDamage/Death
  • Added event parameter ev.attacker to event.objectDeath, storing the original attacker for forwarded kill credit
  • Added event parameter ev.context to event.pingCheckTile and event.pingCheckEntity
  • Added parameter closeDelay to confirmation menu
  • Added support for attribute ignoreLiquids in legacy XML mods
  • Changed stack traces to include a larger number of stack frames

Bugfixes

Gameplay bugfixes

  • Fixed Throwing Charm not causing Blood Weapons to inflict infinite damage during the returning attack
  • Fixed Throwing Charm not auto-returning thrown weapons to their holders upon exiting the level
  • Fixed Throwing Charm not auto-returning thrown weapons when the holder dies
  • Fixed Throwing Charm not auto-returning thrown weapons when the charm is stolen by a Thief
  • Fixed Throwing Charm allowing weapons to be thrown from inside walls
  • Fixed Throwing Charm allowing weapons to pass through Dorian in Cadence’s final boss fight
  • Fixed some maps being impassable for Coda without spending a bomb or using items
  • Fixed Training Sarcophagus losing its spawn cooldown when cloned by Scroll of Duplication
  • Fixed Training Sarcophagus being targeted by charmed monsters
  • Fixed friendly Electric Orbs being targeted by enemies
  • Fixed shields not consistently blocking Electric Orbs
  • Fixed Electric Zombies not inflicting electric damage while standing on a wire
  • Fixed Coral Riff’s Tentacles sometimes attacking while submerged
  • Fixed Charm Spell not unlocking exit stairs, trapdoor ambushes or arena fights
  • Fixed Red Dragon sometimes breathing fire immediately after unfreezing
  • Fixed secret shop entrance walls sometimes spawning in unreachable locations
  • Fixed barrels getting stuck in place when rolling through a Rat Familiar
  • Fixed Aria’s final boss not taking damage when attacked via the Golden Lute
  • Fixed Aria’s final boss immediately counter-attacking when taking damage from Ring of Pain
  • Fixed Shrine of War not applying to all enemies on Aria and Tempo
  • Fixed minibosses being downgraded by Ring of Peace in Training Mode
  • Fixed Blood weapons sometimes taking an extra beat to become active after being picked up when at low health
  • Fixed invincibility frames not preventing the Leprechaun from stealing gold
  • Fixed Armadillos not rolling when the player jumps past them via a bounce trap
  • Fixed Rat Familiar, Ice Spirit Familiar and Dove Familiar not becoming inactive while inside a wall
  • Fixed Dove being able to encounter Shock Monkeys
  • Fixed Skeletons spawned by Skulls not dropping gold is the Skull was previously tickled by Dove
  • Fixed confused enemies becoming passive when their confusion wears off while the player is wearing a Ring of Shadows
  • Fixed confused Bats sometimes standing still
  • Fixed Chaunter being ejected from Gorgons when turning into a statue
  • Fixed Shrine of Binding creating three-way or four-way links if local co-op players are involved
  • Fixed charmed Shopkeepers running away from enemies
  • Fixed charmed Nightmares casting a shadow
  • Fixed Shrine of War not applying to arena secret rooms
  • Fixed Heart Transplant and Shrine of Rhythm appearing in No Beat mode
  • Fixed Zone 4 floors sometimes lacking a treasure wall
  • Fixed Tempo’s clock not resetting when activating Shrine of Fire
  • Fixed Chaunter half-dying when killed by retaliation damage
  • Fixed Monkeys being able to grab Chaunter immediately after unpossessing

Modding bugfixes

  • Fixed error when a modded entity has wiredAnimation component without also having wired
  • Fixed errors when opening the “Change Skin” menu if a mod adds a character without a head sprite
  • Fixed object.clone() not resetting the state of equipped items cloned without their holder
  • Fixed uncommon errors when using objectEvent.fire() with prototype entities
  • Fixed rollback deferral settings being marked as cheats
  • Fixed Rat Familiars being able to deal damage to their owner after switching teams
  • Fixed “Song ended!” trapdoor appearing in lobby if the song is removed
  • Fixed deleteOnBossFightStart/deleteOnBossFightEnd despawning persistent entities
  • Fixed targeting.getAlignedHostileEntity() sometimes returning a friendly entity
  • Fixed duplicate images being uploaded when publishing mod updates
  • Fixed mod publishing indicator not displaying upload progress percentage
  • Fixed color-specific item pool components being aliased to itemPoolChest
  • Fixed custom tiles turning into the void after the mod adding the tile is unloaded
  • Fixed custom characters inheriting their template character’s unlock condition
  • Fixed custom characters not inheriting Synchrony balance changes

Level editor bugfixes

  • Fixed Chaunter and Klarinetta being unable to pick up their own starting weapons in ‘No items’ custom levels
  • Fixed Pawnbroker not offering his wares when placed outside of the secret shop in a custom level
  • Fixed level editor being able to delete local co-op link entity
  • Fixed dungeon upload menu not handling screenshot preview mouse input correctly
  • Fixed Dove’s health exceeding her heart containers if the “No Items” setting is enabled in a custom dungeon

Input bugfixes

  • Fixed Pause and Run Summary menus sometimes opening without a selection cursor
  • Fixed Ping Tool being activated when clicking during a cutscene

Multiplayer bugfixes

  • Fixed desync when multiple players reveal a co-op enemy simultaneously
  • Fixed Cadence’s penultimate boss causing significant rollback in multiplayer during phase 2
  • Fixed Cadence’s penultimate boss ceasing to move after being knocked back repeatedly in multiplayer
  • Fixed some co-op enemies being assigned unfair combinations of health and movement speed in Randomizer Mode
  • Fixed own shrine activation sounds being attenuated in multiplayer
  • Fixed possible desync when a backpack is equipped/unequipped during a level transition
  • Fixed multiple Throwing Charms not working correctly when thrown simultaneously in multiplayer
  • Fixed player kills not increasing the coin multiplier or reducing spell cooldowns
  • Fixed Chaunter being able to take weapons from the Blood Shop in co-op low%
  • Fixed visual stutters when two players open a chest simultaneously

Engine bugfixes

  • Fixed performance issues when generating large numbers of items at once
  • Fixed item generation rarely leading to different results across processor architectures
  • Fixed non-existent Daily Challenge leaderboards appearing in the lobby

Visual bugfixes

  • Fixed long subtitles being cut off in some languages
  • Fixed alternate player skins being displayed at incorrect offsets when applied to characters with larger sprites
  • Fixed incorrect texture offsets when applying skins designed for Mary to Klarinetta
  • Fixed dig particle colors not matching their corresponding tiles
  • Fixed Clones appearing unobscured in Mystery Mode
  • Fixed ability icons sometimes not appearing in the HUD
  • Fixed Tar Monster creating tar particles while submerged
  • Fixed Tar Monster sometimes appearing above the entity being grabbed
  • Fixed pixel scaling artifacts on Aria’s final boss
  • Fixed overlapping elements in the mod menu when using a high view multiplier
  • Fixed menus with extremely long captions extending past the screen borders