Weekly Update #45

Gameplay
  • Power choices and quality are now rolled using seeded rolls
  • Improved interactibility detection
  • Weapons have new property which can increase chance to get better quality talents for their discipline
  • Added new property to talent requirements: Minimal Mastery – this prevents talents such as Crimson Frenzy, which has no dependencies, from being obtained at the start of the run
  • Reworked Combo sequences

Developer’s Note:

Heavy attack is now a single type of attack – no chain of attacks. Also, dash attack will behave differently depending on whether a light or heavy attack is used after the dash.

UI
  • Support for gamepad in new ability management window
  • Improved DPS meter

Developer’s Note:

It now shows a chart of the most contributing damage sources instead of just a list of text with flat numbers. It created great insight into how powerful abilities are. I was shocked to realize that 5 damage per tick in burn could cause so much damage. Even nerfing it to 3, it was still the top damaging ability… and heck! It’s not even an ability – it’s just an effect over time.

  • Added new circular progress bar indicators on the main menu showing current progress of implementing different disciplines
Internal
  • Slight rework of the PassiveTriggers system to improve its extensibility
  • New Type of PassiveTrigger: On Stack Applied
  • New Type of PassiveTrigger: TimeBased

Developer’s Note:

Some abilities were to powerfull to just slap % chance on them and call it a day. For that purposes I created new type of PassiveTrigger that have internal cooldown ensuring it’s not triggered to frequently

  • Countdown component was rewritten using UniTask and native C# events

Developer’s Note:

Thanks to this, the countdown is not dependent on Unity’s lifecycle and can be run from wherever I want (e.g., passive triggers) without creating Tick methods to „fake” a lifecycle. Also, since the countdown was never shown in the inspector, there was no point in using UnityEvents, so it was changed to native C# events.

  • Created static helper class for rolling random numbers (with seeding support)
  • Applying stack events were moved from channels to the event bus. Also, besides one universal event raised when a stack is applied, there are now independent events per stack type
  • Weapon Pickups are now handled with EventBus – no need to manually setup them in scene
Bugs
  • Fixed issue where some melee animations were applying damage multiple times
  • Fixed issue where Chain Lightning, when restarted with the Closed Circuit talent, could jump across the entire screen