UnityTowerDefense/Assets/_Project/Scripts/Gameplay
Matt F 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
..
BuilderEffects new builder option per draft - first one is gold per kill 2026-07-07 22:55:35 -07:00
BuilderSpells slow area upgrade test 2026-07-25 23:22:11 -07:00
Draft First pass at full refactor to 2.0 design 2026-07-30 17:45:11 -07:00
EnemyAbilities Scale difficulty by run position; wipe towers at phase end 2026-07-31 00:32:33 -07:00
EnemyUpgrades First pass at full refactor to 2.0 design 2026-07-30 17:45:11 -07:00
Waves Scale difficulty by run position; wipe towers at phase end 2026-07-31 00:32:33 -07:00
Builder.cs Adding 9 Player level 2026-05-21 23:36:19 -07:00
Builder.cs.meta Adding tons of new functionality 2026-05-04 00:01:30 -07:00
BuilderEffects.meta new builder option per draft - first one is gold per kill 2026-07-07 22:55:35 -07:00
BuilderInputController.cs Add settings menu to control audio and return to main menu 2026-07-28 22:02:28 -07:00
BuilderInputController.cs.meta Adding tons of new functionality 2026-05-04 00:01:30 -07:00
BuilderSettings.cs Swapping cylinder for default human and adding animation states 2026-05-05 23:23:32 -07:00
BuilderSettings.cs.meta Swapping cylinder for default human and adding animation states 2026-05-05 23:23:32 -07:00
BuilderSpellCastController.cs Add settings menu to control audio and return to main menu 2026-07-28 22:02:28 -07:00
BuilderSpellCastController.cs.meta draft options working; spells won't cast though 2026-07-14 20:56:50 -07:00
BuilderSpells.meta draft options working; spells won't cast though 2026-07-14 20:56:50 -07:00
BuilderUpgradeManager.cs start of draft option upgrades 2026-07-22 00:00:05 -07:00
BuilderUpgradeManager.cs.meta new builder option per draft - first one is gold per kill 2026-07-07 22:55:35 -07:00
BuildJob.cs Adding a ton of funcitonality to the builder's movement and build queue 2026-05-05 22:01:40 -07:00
BuildJob.cs.meta Adding a ton of funcitonality to the builder's movement and build queue 2026-05-05 22:01:40 -07:00
BuildRangeIndicator.cs Adding tons of new functionality 2026-05-04 00:01:30 -07:00
BuildRangeIndicator.cs.meta Adding tons of new functionality 2026-05-04 00:01:30 -07:00
BuildSiteVisual.cs building falling from orbit sound 2026-07-06 23:56:45 -07:00
BuildSiteVisual.cs.meta Adding a ton of funcitonality to the builder's movement and build queue 2026-05-05 22:01:40 -07:00
CameraController.cs Add settings menu to control audio and return to main menu 2026-07-28 22:02:28 -07:00
CameraController.cs.meta Adding tons of new functionality 2026-05-04 00:01:30 -07:00
ChatService.cs Everything related to chat functionality, and updating the projectile prefab to rotate properly 2026-05-15 13:40:13 -07:00
ChatService.cs.meta Everything related to chat functionality, and updating the projectile prefab to rotate properly 2026-05-15 13:40:13 -07:00
Draft.meta Adding the bones of the drafting system by removing the wall and siege towers from the base set and adding them temporarily as choices for the draft. Also adding Project_Context and Project_Roadmap documents to use with Claude 2026-06-24 00:15:17 -07:00
EnemyAbilities.meta first pass at enemy upgrades 2026-07-28 20:59:43 -07:00
EnemyAbility.cs First pass at full refactor to 2.0 design 2026-07-30 17:45:11 -07:00
EnemyAbility.cs.meta first pass at enemy upgrades 2026-07-28 20:59:43 -07:00
EnemyDefinition.cs Scale difficulty by run position; wipe towers at phase end 2026-07-31 00:32:33 -07:00
EnemyDefinition.cs.meta We've got enemies and movement!! 2026-05-12 22:18:23 -07:00
EnemyHealth.cs Scale difficulty by run position; wipe towers at phase end 2026-07-31 00:32:33 -07:00
EnemyHealth.cs.meta Adding major combat changes and features 2026-05-12 21:31:10 -07:00
EnemyMovement.cs First pass at full refactor to 2.0 design 2026-07-30 17:45:11 -07:00
EnemyMovement.cs.meta We've got enemies and movement!! 2026-05-12 22:18:23 -07:00
EnemyScalingConfig.cs Scale difficulty by run position; wipe towers at phase end 2026-07-31 00:32:33 -07:00
EnemyScalingConfig.cs.meta Scale difficulty by run position; wipe towers at phase end 2026-07-31 00:32:33 -07:00
EnemyStatus.cs We've got enemies and movement!! 2026-05-12 22:18:23 -07:00
EnemyStatus.cs.meta Adding major combat changes and features 2026-05-12 21:31:10 -07:00
EnemyUpgrades.meta First pass at full refactor to 2.0 design 2026-07-30 17:45:11 -07:00
GoldConfig.cs Scale difficulty by run position; wipe towers at phase end 2026-07-31 00:32:33 -07:00
GoldConfig.cs.meta Updating HUD, Gold Config, and finishing off Play flow for 9player map. 2026-05-22 12:18:23 -07:00
ISelectable.cs Major updates to the HUD and selectable objects 2026-05-11 23:57:35 -07:00
ISelectable.cs.meta Major updates to the HUD and selectable objects 2026-05-11 23:57:35 -07:00
LevelLoader.cs Adding flying functionality for enemies 2026-06-23 22:27:35 -07:00
LevelLoader.cs.meta Major changes to editor tools, and adding new layer for buildable towers 2026-05-01 10:50:03 -07:00
LobbyService.cs Adding 9 Player level 2026-05-21 23:36:19 -07:00
LobbyService.cs.meta Comitting lobby code without testing. 2026-05-15 14:30:15 -07:00
MapRegistry.cs Updating HUD, Gold Config, and finishing off Play flow for 9player map. 2026-05-22 12:18:23 -07:00
MapRegistry.cs.meta Adding 9 Player level 2026-05-21 23:36:19 -07:00
MatchState.cs Adding Match State controller 2026-05-12 10:31:23 -07:00
MatchState.cs.meta Adding Match State controller 2026-05-12 10:31:23 -07:00
PathfindingService.cs Adding the feature to sell towers with VFX and audio included 2026-07-14 23:15:34 -07:00
PathfindingService.cs.meta We've got enemies and movement!! 2026-05-12 22:18:23 -07:00
PlayerBuilderSpawner.cs Updating HUD, Gold Config, and finishing off Play flow for 9player map. 2026-05-22 12:18:23 -07:00
PlayerBuilderSpawner.cs.meta Adding tons of new functionality 2026-05-04 00:01:30 -07:00
PlayerGoldManager.cs Add tower Sell action with refund + coin VFX/SFX 2026-07-14 20:05:06 -07:00
PlayerGoldManager.cs.meta More major updates to tools, added map area volume, made gold manager network managed per player. 2026-05-01 15:18:44 -07:00
PlayerMatchState.cs First pass at full refactor to 2.0 design 2026-07-30 17:45:11 -07:00
PlayerMatchState.cs.meta Adding Match State controller 2026-05-12 10:31:23 -07:00
PlayerSpellLoadout.cs upgrades working; fix a small bug in which a base spell could be re-offered after picking an upgrade 2026-07-25 23:46:45 -07:00
PlayerSpellLoadout.cs.meta draft options working; spells won't cast though 2026-07-14 20:56:50 -07:00
PlayerTowerDeck.cs start of draft option upgrades 2026-07-22 00:00:05 -07:00
PlayerTowerDeck.cs.meta Adding new tower types and concept of tower deck 2026-06-23 21:55:12 -07:00
PlayerTowerUpgrades.cs First pass at full refactor to 2.0 design 2026-07-30 17:45:11 -07:00
PlayerTowerUpgrades.cs.meta First pass at full refactor to 2.0 design 2026-07-30 17:45:11 -07:00
RaceDefinition.cs Refactor: Remove TowerRegistry, replicate towers by TypeID 2026-06-25 11:21:43 -07:00
RaceDefinition.cs.meta Adding new Races, Main Menu -> Lobby flow, and what's needed to set up multiplayer testing. 2026-05-17 23:31:02 -07:00
RaceRegistry.cs Adding new Races, Main Menu -> Lobby flow, and what's needed to set up multiplayer testing. 2026-05-17 23:31:02 -07:00
RaceRegistry.cs.meta Adding new Races, Main Menu -> Lobby flow, and what's needed to set up multiplayer testing. 2026-05-17 23:31:02 -07:00
SelectionState.cs Major updates to the HUD and selectable objects 2026-05-11 23:57:35 -07:00
SelectionState.cs.meta Adding a ton of funcitonality to the builder's movement and build queue 2026-05-05 22:01:40 -07:00
SelectionVisualizer.cs Paint towers with some the colors of the wind 2026-06-03 00:00:14 -07:00
SelectionVisualizer.cs.meta Major updates to the HUD and selectable objects 2026-05-11 23:57:35 -07:00
SpellHotkeys.cs draft options working; spells won't cast though 2026-07-14 20:56:50 -07:00
SpellHotkeys.cs.meta draft options working; spells won't cast though 2026-07-14 20:56:50 -07:00
SpellSlot.cs draft options working; spells won't cast though 2026-07-14 20:56:50 -07:00
SpellSlot.cs.meta draft options working; spells won't cast though 2026-07-14 20:56:50 -07:00
TowerInstance.cs First pass at full refactor to 2.0 design 2026-07-30 17:45:11 -07:00
TowerInstance.cs.meta Adding tons of new functionality 2026-05-04 00:01:30 -07:00
TowerPaintController.cs Add settings menu to control audio and return to main menu 2026-07-28 22:02:28 -07:00
TowerPaintController.cs.meta Paint towers with some the colors of the wind 2026-06-03 00:00:14 -07:00
TowerPlacementController.cs change activeDef to activeTowerDefinition so dummies like me can read the code 2026-06-02 22:25:44 -07:00
TowerPlacementController.cs.meta Adding tons of new functionality 2026-05-04 00:01:30 -07:00
TowerPlacementManager.cs Scale difficulty by run position; wipe towers at phase end 2026-07-31 00:32:33 -07:00
TowerPlacementManager.cs.meta Adding tons of new functionality 2026-05-04 00:01:30 -07:00
TowerPlacementSettings.cs Adding new tower types and concept of tower deck 2026-06-23 21:55:12 -07:00
TowerPlacementSettings.cs.meta Adding tons of new functionality 2026-05-04 00:01:30 -07:00
TowerPlacementTestTrigger.cs Adding tons of new functionality 2026-05-04 00:01:30 -07:00
TowerPlacementTestTrigger.cs.meta Adding tons of new functionality 2026-05-04 00:01:30 -07:00
WaveDefinition.cs Scale difficulty by run position; wipe towers at phase end 2026-07-31 00:32:33 -07:00
WaveDefinition.cs.meta We've got enemies and movement!! 2026-05-12 22:18:23 -07:00
WaveManager.cs Scale difficulty by run position; wipe towers at phase end 2026-07-31 00:32:33 -07:00
WaveManager.cs.meta We've got enemies and movement!! 2026-05-12 22:18:23 -07:00
Waves.meta First pass at full refactor to 2.0 design 2026-07-30 17:45:11 -07:00