Add Laser Tower: ramping continuous beam that pierces enemies #28

Merged
matt merged 1 commit from laser-tower into main 2026-09-22 22:37:31 -07:00
Owner

New tower type built on a generic beam mode in TowerCombat, and a new system for generating tower icons through the TD menu at the top of Unity

  • TowerDefinition gains beam settings (IsBeam, BeamDoublingSeconds,
    BeamMaxMultiplier, BeamPierceRadius, BeamPierceDamageFraction). Beam
    towers tick damage at AttacksPerSecond; each tick doubles every
    BeamDoublingSeconds on the same target up to the cap. Losing the target
    for any reason (death, range, disable, match stop, retarget) resets it.
  • The beam stays locked on its target and burns through anything in its
    path: a capsule overlap along the beam line hits every enemy in it.
    The line is defined once on TowerCombat (beamOrigin / beamTargetHeight)
    and shared by the damage check and LaserBeamVisual.
  • LaserBeamVisual draws the beam client-side from the replicated target
    and heats it up with the ramp; no per-tick RPCs.
  • New TowerDefinition.Paintable flag, off for the laser, enforced on the
    client paint click and the server RPC.
  • HUD stats/tooltip show beam DPS range, time to full power and piercing.
  • LaserTower asset, placeholder prefab, M_Laser_Beam material and draft
    card, appended to the tower and draft catalogs.
  • Regenerated tower icons for every tower via TD > Generate Tower Icons.
New tower type built on a generic beam mode in TowerCombat, and a new system for generating tower icons through the TD menu at the top of Unity - TowerDefinition gains beam settings (IsBeam, BeamDoublingSeconds, BeamMaxMultiplier, BeamPierceRadius, BeamPierceDamageFraction). Beam towers tick damage at AttacksPerSecond; each tick doubles every BeamDoublingSeconds on the same target up to the cap. Losing the target for any reason (death, range, disable, match stop, retarget) resets it. - The beam stays locked on its target and burns through anything in its path: a capsule overlap along the beam line hits every enemy in it. The line is defined once on TowerCombat (beamOrigin / beamTargetHeight) and shared by the damage check and LaserBeamVisual. - LaserBeamVisual draws the beam client-side from the replicated target and heats it up with the ramp; no per-tick RPCs. - New TowerDefinition.Paintable flag, off for the laser, enforced on the client paint click and the server RPC. - HUD stats/tooltip show beam DPS range, time to full power and piercing. - LaserTower asset, placeholder prefab, M_Laser_Beam material and draft card, appended to the tower and draft catalogs. - Regenerated tower icons for every tower via TD > Generate Tower Icons.
New tower type built on a generic beam mode in TowerCombat.

- TowerDefinition gains beam settings (IsBeam, BeamDoublingSeconds,
  BeamMaxMultiplier, BeamPierceRadius, BeamPierceDamageFraction). Beam
  towers tick damage at AttacksPerSecond; each tick doubles every
  BeamDoublingSeconds on the same target up to the cap. Losing the target
  for any reason (death, range, disable, match stop, retarget) resets it.
- The beam stays locked on its target and burns through anything in its
  path: a capsule overlap along the beam line hits every enemy in it.
  The line is defined once on TowerCombat (beamOrigin / beamTargetHeight)
  and shared by the damage check and LaserBeamVisual.
- LaserBeamVisual draws the beam client-side from the replicated target
  and heats it up with the ramp; no per-tick RPCs.
- New TowerDefinition.Paintable flag, off for the laser, enforced on the
  client paint click and the server RPC.
- HUD stats/tooltip show beam DPS range, time to full power and piercing.
- LaserTower asset, placeholder prefab, M_Laser_Beam material and draft
  card, appended to the tower and draft catalogs.
- Regenerated tower icons for every tower via TD > Generate Tower Icons.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
matt merged commit 2692caed4f into main 2026-09-22 22:37:31 -07:00
Sign in to join this conversation.
No reviewers
No labels
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set

Reference
yeahweregames/UnityTowerDefense!28
No description provided.