Skip to content

v1.6.0-beta.1 — Expanded Coverage & Flamer Rename

Pre-release
Pre-release

Choose a tag to compare

@avcode-exe avcode-exe released this 19 Jun 08:59
· 10 commits to release/1.6.0 since this release

Tower Defense 1.6.0 Beta 1

Git tag: v1.6.0-beta.1
Display tag: 1.6.0 beta 1
Package version: 1.6.0-beta.1

Git tag names cannot contain spaces; the human display is 1.6.0 beta 1, package version is 1.6.0-beta.1, and GitHub/electron-builder tag is v1.6.0-beta.1.

Release type: beta / pre-release.

This tag marks Tower Defense 1.6.0 Beta 1 on release branch release/1.6.0 at commit 319d945. Beta 1 focuses on the new Flamer melee damage-over-time troop, burn state/tick/reward behavior, burn UI feedback, and a major expansion of automated Vitest coverage around UI, input, audio, renderer, toast, cursor hit-testing, and release-feed parsing.

Important scope note: Healer Monster, Healer Monster wave estimates, and the v1.6.0 balance pass remain planned for later v1.6.0 work. This beta is intended to validate the Flamer milestone and the expanded test baseline before continuing with monster support systems.

Release summary:

  • Added Flamer as a melee DoT troop with burn stacks, burn duration, burn tick interval, and upgrade-scaled burn damage.
  • Implemented burn application on successful non-lethal Flamer melee hits.
  • Routed burn tick damage through the normal monster damage path so burn kills grant normal rewards and trigger normal death effects.
  • Added burn expiration, revive cleanup, and monster-leave cleanup behavior.
  • Added burn particles, burn tick particles, and a pulsing burn ring around burning monsters.
  • Added burn DPS display in placement preview and selected troop/shop UI.
  • Renamed the flame melee unit from Flame Troop to Flamer in config, README, and tests.
  • Expanded automated coverage with focused tests for UI helpers, UI constants, input handling, audio effects, renderer transforms/cache behavior, toast notifications, cursor hit-testing, and release-feed parsing.

Flamer values:

  • Troop id: flame
  • Name: Flamer
  • Type: melee
  • Cost: 160g
  • HP: 70
  • Damage: 14
  • Range: 1
  • Attack speed: 0.75s
  • Burn stacks: 3
  • Burn duration: 3s
  • Burn tick interval: 0.5s
  • Burn damage per tick: 25% of Flamer current damage per stack, rounded to at least 1

Burn behavior:

  • Burn is applied only after a successful non-lethal Flamer melee hit.
  • Burn stacks up to the configured maximum of 3.
  • Each new application refreshes burn duration to 3s.
  • Burn tick damage scales with Flamer damage upgrades at application time.
  • Burn ticks every 0.5s while the monster is alive and burning.
  • Burn damage is routed through Game.damageMonster() so rewards, death effects, splitting rules, and shield interactions use the normal monster damage path.
  • Burn is cleared when a monster is revived and naturally expires when the monster leaves or dies.

UI and feedback:

  • Shop card shows BRN <dps> for Flamer and updates with damage level.
  • Placement preview shows both direct DPS and burn BRN values.
  • Burning monsters render a pulsing orange ring.
  • Burn application and burn tick effects spawn dedicated particle feedback.

Automated test coverage:

  • tests/troop.test.js covers Flamer melee burn application, non-application on lethal hits, stack cap, and upgrade-scaled burn damage.
  • tests/monster.test.js covers burn state, ticking, stack scaling, applied tick interval, expiration, refresh behavior, and clear behavior.
  • tests/monsterIntegration.test.js covers burn kill rewards, reward double-count prevention, and burn interaction with Shielded monsters.
  • tests/placementPreview.test.js covers burn DPS calculation.
  • tests/config.test.js covers Flamer config metadata.
  • New focused coverage files were added for tests/audio.test.js, tests/gameRendererCursor.test.js, tests/input.test.js, tests/renderer.test.js, tests/toast.test.js, tests/uiConstants.test.js, and tests/uiUtils.test.js.
  • Release-feed tests were expanded for stable release selection and invalid/malformed feed handling.

Validation performed before tagging:

  • npm test: 31 files / 1,460 tests passed.
  • npm run lint: passed.
  • git diff --check: passed.
  • Working tree was clean before tag creation.

Build and publish:

  • Build/publish command: npm run release.
  • electron-builder is configured to build the Windows x64 NSIS installer and publish release assets to GitHub Releases through the project publish configuration.