Combat feel: correct boss bar, player hit-flash, dash-to-move, finisher hit-stop
Boss bar reconstructs the true max client-side (Health.Max unreplicated) via Kind==Charger + expedition-pos filter; boss slam telegraph = a full ground ring at BossSlamRadius; IsAttacking OR's IsLunging. Player body flash on hurt (distinct red, jitter-safe threshold). Dash toward movement input when moving else facing. Warrior cone: muzzle-cue suppressed (cone arc is its cue). Minimal finisher-only hit-stop (PrototypeCameraRig.Hold, behind FeelConfig flag; never Time.timeScale). Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -140,6 +140,11 @@ namespace ProjectM.Client
|
||||
public static bool BodyFlashEnabled;
|
||||
/// <summary>Peak _BaseColor the enemy body flashes to on a hit (HDR; lerps from the baked white base and decays back).</summary>
|
||||
public static Color BodyFlashColor;
|
||||
|
||||
/// <summary>C2: player-body HURT flash tint (hot red-orange) — distinct from the enemy white overdrive so
|
||||
/// 'you got hit' reads differently from 'you hit them'. Multiplies the Synty atlas base map like BodyFlashColor.</summary>
|
||||
public static Color PlayerHurtFlashColor;
|
||||
|
||||
/// <summary>Seconds the body flash decays from peak back to the baked white base.</summary>
|
||||
public static float BodyFlashDurationSec;
|
||||
/// <summary>Master gate for rendering REMOTE teammates' melee cleave arcs (co-op readability).</summary>
|
||||
@@ -168,11 +173,11 @@ namespace ProjectM.Client
|
||||
HitStopDurationMs = 90f;
|
||||
HitStopFovKickMin = 0.6f;
|
||||
HitStopFovKickMax = 2.2f;
|
||||
HitStopMaxFrames = 3;
|
||||
HitStopMaxFrames = 2; // C4: a 2-frame (~33ms) camera hold reads as crunch, not a lag-y stutter
|
||||
HitStopRefDamage = 30f;
|
||||
HitFlashColor = new Color(1f, 0.85f, 0.55f, 1f);
|
||||
HitFlashDurationMs = 80f;
|
||||
HitStopFreezeEnabled = false;
|
||||
HitStopFreezeEnabled = true; // C4: enable the finisher hit-stop hold (presentation-only camera freeze, bounded below)
|
||||
|
||||
// Feature 1/2 death
|
||||
PlayerDeathShake = 0.50f;
|
||||
@@ -226,6 +231,7 @@ namespace ProjectM.Client
|
||||
// Deferred-items pass (2026-06)
|
||||
BodyFlashEnabled = true;
|
||||
BodyFlashColor = new Color(3.2f, 2.8f, 2.2f, 1f); // hot near-white overdrive (multiplies the Synty atlas base map)
|
||||
PlayerHurtFlashColor = new Color(2.6f, 0.55f, 0.4f, 1f); // C2: hot red-orange body flash when the player is hitmap)
|
||||
BodyFlashDurationSec = 0.16f;
|
||||
RemoteSwingEnabled = true;
|
||||
RemoteSlashColor = new Color(1.4f, 2.2f, 2.8f, 1f); // cool teammate arc
|
||||
|
||||
Reference in New Issue
Block a user