Fix: barrel fuse shows its blast radius + burns ~1.5s (was 0.6s)

Operator feel report: the explosion radius was unreadable and the fuse
too short to react to. Two changes:

- Tuning.BarrelFuseTicks 36 -> 90 (~1.5s): long enough to READ the
  danger and walk out, and better for baiting enemies onto a lit
  barrel.
- WorldFeedbackSystem draws a pulsing ground DISC at exactly
  Tuning.BarrelExplodeRadius under every lit fuse (keyed on the same
  replicated Remaining=0-on-a-live-barrel cue as the boom split; one
  shared pulsing material; removed via the existing prune path).

Verified live: disc appeared 0.07s after the pop (first fuse
snapshot), persisted to the boom at 1.54s, scale read exactly 3.25 =
the true detonation radius; 470/470 EditMode; console clean.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
2026-07-11 17:13:13 -07:00
parent 03083eb735
commit eb7f572168
2 changed files with 73 additions and 4 deletions
+4 -3
View File
@@ -109,9 +109,10 @@ namespace ProjectM.Simulation
// ---- Exploding barrels (Phase 1.5 hazard; server-only detonation consts — see Exploding_Barrels_Build_Spec) ----
/// <summary>Fuse ticks between the pop (Remaining hits 0) and detonation (~0.6 s @60): long enough for the
/// popper to step out + for the replicated Remaining=0 to straddle snapshots (the client's fuse cue).</summary>
public const uint BarrelFuseTicks = 36;
/// <summary>Fuse ticks between the pop (Remaining hits 0) and detonation (~1.5 s @60; operator feel call
/// 07-10 — the 0.6 s fuse popped before the danger could be read): long enough to READ the blast-radius
/// disc + walk out, and for the replicated Remaining=0 to straddle snapshots (the client's fuse cue).</summary>
public const uint BarrelFuseTicks = 90;
/// <summary>Detonation radius (world units, XZ). Above melee reach so point-blank pops are punished, but a
/// fuse-length walk clears it comfortably.</summary>