Commit graph

12 commits

Author SHA1 Message Date
16706a1ecf Scale difficulty by run position; wipe towers at phase end
Follow-up pass on the 2.0 refactor, closing the gap between "waves are drawn
at random" and "difficulty still lives in the enemy assets".

- Enemy health is no longer authored per enemy type. New EnemyScalingConfig
  scales a per-zone HP *budget* by encounter number; per-enemy health is that
  budget divided by the wave's enemy count. Scaling the total rather than the
  per-enemy value keeps enemy count a texture knob (few tanks vs many swarmers)
  instead of a second, uncontrolled difficulty axis. EnemyDefinition.MaxHp
  becomes HpMultiplier, a deviation around 1.0. Speed stays archetype-only and
  unscaled -- escalating it compounds with health and invalidates tower balance
  mid-run.
- GoldConfig entries no longer reference a WaveDefinition. Payout is a property
  of run position, not of which wave got drawn: WaveGoldEntry ->
  EncounterGoldEntry, Waves -> Encounters, keyed by global encounter number.
  Its inspector labels elements "Encounter N" and projects cumulative earnings.
- The wave's voted buffs now show as icon badges in the top bar, read from the
  same RunState slot the spawn path uses so the display can't drift from what
  the enemies actually carry. Hover names the buff; unillustrated cards fall
  back to a lettered badge rather than vanishing.
- Clearing a phase's boss destroys every built tower, unrefunded. Queued build
  jobs still refund -- those towers were never delivered. Runs with the field
  empty, so the walkability churn doesn't hit the re-path scheduler.
- Fixed an RPC codegen break: [ClientRpc] requires a ClientRpc suffix, unlike
  the newer [Rpc(SendTo...)] style this file doesn't use.
- Setup checklist reordered into dependency order; it previously asked for a
  RunDefinition two sections before creating one.

Also carries the editor-side asset reorganisation into Definitions/RunDefinitions
and the sprite move into Enemy/Player draft icon folders.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-07-31 00:32:33 -07:00
4f21f8a99b Merge branch 'main' into new-effects-work 2026-06-30 22:31:52 -07:00
28b0e2cdf2 Adding VFX package, cleaning up texture on terrain slightly, and adding new build FX asset for orbital drop visuals. 2026-06-30 22:22:58 -07:00
a7b2d1854d Merge branch 'unified-audio-manager' into main
# Conflicts:
#	Assets/_Project/Definitions/Towers/TeslaCoilTower.asset
2026-06-30 21:39:09 -07:00
Ben Calegari
fc4d2adfe6 Rename firerate > attacks per second 2026-06-30 20:36:13 -07:00
404c749a43 unified audio manager that limits the number of simultaneous sounds in certain categories 2026-06-30 20:12:03 -07:00
699ea34268 Adding Tesla Coil Tower and Arc VFX
New tower!
2026-06-25 11:35:23 -07:00
ec3a7a97a1 replacing obsolete SiegeCannon definition 2026-06-23 23:23:38 -07:00
Ben Calegari
4f57499e40 Seige tower 2026-06-23 23:12:48 -07:00
Ben Calegari
430e66bfbf Replace square with cone for Basic Arrow Tower. 2026-06-23 23:12:32 -07:00
117c77b4a8 Adding new tower types and concept of tower deck 2026-06-23 21:55:12 -07:00
fec4433691 Removing huge package for characters, removing unused Mixamo folder, and submitting changes to 9Player level and new wave definition 2026-06-02 23:14:41 -07:00