G6+G4: Cone damage-at-contact + zone fill telegraph (ZoneEffect GhostFields) + co-op saturation budget

Cone/SpecialSlam damage lands at its visual contact via ConeContactPending (knob 32, 0=legacy;
early-flush + resolve re-validate; death + BOTH class-swap paths drop armed pendings — fixes the
shipped melee death-strand in the same stroke). Zones: [GhostField] Caster/Radius/NextTick +
ZoneTelegraphSystem (Geyser latch contract on InterpolationTick; rim = true radius; arm grows,
persistent phase drains). Cone cues latch to contact (FireStartRaw, C14); TuningConfig.Defaults()
fallback at client cue sites (release-build timing fix). G4: SaturationMath ally-FX degrade
(living-enemy census, solo-exempt; enemy telegraphs structurally exempt) + CombatStressDebug +
overlay saturation rows. Reviews wf_98bf1268 (13 confirmed folded) / wf_9757d214 (5 confirmed fixed).

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
2026-07-21 13:27:50 -07:00
parent 9d6977cd64
commit 2aebc37115
25 changed files with 598 additions and 64 deletions
@@ -222,6 +222,14 @@ namespace ProjectM.Client
/// <summary>Marker glyph font size (px).</summary>
public static float EnemyMarkerSize;
// ---- 07-21 G4: co-op saturation budget (guidelines G4 — SoD's failure is our ceiling) ----
/// <summary>Live enemy count at which ALLY-attributed FX (remote arcs, remote shakes) begin to degrade. Local-player FX and enemy telegraphs NEVER degrade.</summary>
public static int AllyFxDegradeStart;
/// <summary>Live enemy count at which ally FX sit at AllyFxFloor.</summary>
public static int AllyFxDegradeFull;
/// <summary>Ally-FX brightness/shake floor under full saturation (0..1).</summary>
public static float AllyFxFloor;
[RuntimeInitializeOnLoadMethod(RuntimeInitializeLoadType.SubsystemRegistration)]
public static void ResetDefaults()
{
@@ -328,6 +336,10 @@ namespace ProjectM.Client
EnemyMarkerMinAlpha = 0.28f;
EnemyMarkerColor = new Color(1f, 0.86f, 0.3f, 1f); // warm amber, reads over the cool world
EnemyMarkerSize = 24f;
// 07-21 G4 co-op saturation budget (review wf_98bf1268)
AllyFxDegradeStart = 8;
AllyFxDegradeFull = 16;
AllyFxFloor = 0.35f;
}
}
}