HEAVY FEEL LOCKED: the A/B winner folded into defaults, clips retimed to zero contact drift
recover 36 / dmg 36 (DPS 60 held) / contact 20 (20/12/25 per step) / grace 28 / buffer 10 / move-commit 0.25; arc 0.8, finisher hold 7, connect kick 1.1. Clip state speeds retimed 1.0/0.85/0.88 so the VISUAL blade contact matches the damage tick exactly (audit: zero drift; probe: gaps 36/36/54, contacts +20/+12/+25 measured). Step-3 contact sits 1 tick under CastFacingTicks 26 (documented coupling). baseline profile = the locked defaults; heavy-committed kept as the record. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
@@ -633,7 +633,7 @@ AnimatorState:
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_Name: Swing3
|
||||
m_Speed: 1.1
|
||||
m_Speed: 0.88
|
||||
m_CycleOffset: 0
|
||||
m_Transitions:
|
||||
- {fileID: 7246856984932168808}
|
||||
@@ -779,7 +779,7 @@ AnimatorState:
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_Name: Swing2
|
||||
m_Speed: 1
|
||||
m_Speed: 0.85
|
||||
m_CycleOffset: 0
|
||||
m_Transitions:
|
||||
- {fileID: -7565464033697258994}
|
||||
@@ -1050,7 +1050,7 @@ AnimatorState:
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_Name: Swing1
|
||||
m_Speed: 1.25
|
||||
m_Speed: 1
|
||||
m_CycleOffset: 0
|
||||
m_Transitions:
|
||||
- {fileID: -1792799526728587842}
|
||||
|
||||
@@ -267,7 +267,7 @@ namespace ProjectM.Client
|
||||
|
||||
// Combat feel pass (2026-06)
|
||||
HitFlashBurstCount = 16;
|
||||
MeleeConnectFovKick = 0.8f;
|
||||
MeleeConnectFovKick = 1.1f; // 07-21 HEAVY LOCK: meatier bite
|
||||
MeleeConnectVolume = 0.55f;
|
||||
KillFlashBurstCount = 20;
|
||||
FootstepVolume = 0.30f; // 07-15: heavier, more present underwater thud
|
||||
@@ -287,9 +287,9 @@ namespace ProjectM.Client
|
||||
ShoulderLampIntensity = 8f; // 07-16e: the suit lamp actually lights (3 got lost in the murk ambient)
|
||||
ShoulderLampRange = 12f;
|
||||
CombatIdleHoldSec = 4f; // 07-18: Menacing01 combat-idle hold after the last swing
|
||||
MeleeArcIntensity = 1f; // 07-19: arc colors are pre-toned dim; this scales from there
|
||||
MeleeArcIntensity = 0.8f; // 07-21 HEAVY LOCK: the weapon is the read, the arc recedes further
|
||||
MeleeArcBubbles = 6;
|
||||
FinisherHoldFrames = 5; // 07-20 G5: the finisher's heavy beat (~83ms), capped well under the 8-frame ladder ceiling
|
||||
FinisherHoldFrames = 7; // 07-21 HEAVY LOCK: a fatter finisher beat (~117ms, still under the 8-frame ladder cap)
|
||||
|
||||
|
||||
RumbleEnabled = true;
|
||||
|
||||
@@ -84,18 +84,18 @@ namespace ProjectM.Simulation
|
||||
ChargerLungeDurationTicks = 18f,
|
||||
ChargerWhiffStaggerTicks = 36f,
|
||||
GruntWindupTicks = Tuning.AttackWindupTicks, // canonical Grunt-windup source (TelegraphTests couples to it)
|
||||
MeleeDamage = 30f, // 07-19 heavy-weapon retime: bigger hit, slower cadence (DPS ~held: 18/0.27s -> 30/0.50s)
|
||||
MeleeDamage = 36f, // 07-21 HEAVY LOCK (operator A/B): DPS ~held at 60 (dmg = recover ticks)
|
||||
MeleeRange = 2.2f, // 07-20 G2.2 reach honesty: axe tip ~1.8m + a 0.4m player-favoring margin (was 2.6)
|
||||
MeleeConeHalfAngleRad = 0.9f, // ~51.5 deg half-angle (~103 deg cleave arc)
|
||||
MeleeRecoverTicks = 30f, // heavy-swing lock/recovery (~0.50s; 07-19 weighty-melee retime)
|
||||
MeleeChainGraceTicks = 24f, // window after the lock to chain the next hit (~0.4s)
|
||||
MeleeSwingMoveScale = 0.35f, // movement-commit while swinging (0..1)
|
||||
MeleeRecoverTicks = 36f, // 07-21 HEAVY LOCK: 0.60s light lock (finisher x1.5 = 54t)
|
||||
MeleeChainGraceTicks = 28f, // 07-21 HEAVY LOCK: ~0.47s chain window after the lock
|
||||
MeleeSwingMoveScale = 0.25f, // 07-21 HEAVY LOCK: deeper movement commit while swinging
|
||||
MeleeKnockbackSpeed = 6f,
|
||||
MeleeFinisherMult = 1.5f, // finisher (last hit) scales dmg/range/recover/knockback (07-19: 1.8 -> 1.5, recover was ballooning at the heavy cadence)
|
||||
MeleeComboLength = 3f, // light, light, finisher
|
||||
MeleeFinisherRangeMult = 1.25f, // 07-20 G2.2: finisher REACH (damage/recover/knockback keep MeleeFinisherMult)
|
||||
MeleeBufferTicks = 8f, // 07-20 G7: attack press remembered in the last ~0.13s of a lock (0 = off)
|
||||
MeleeContactTicks = 16f, // 07-20 G2.1: blade lands ~0.27s after swing start (per-step via MeleeTiming; 0 = legacy immediate)
|
||||
MeleeBufferTicks = 10f, // 07-21 HEAVY LOCK: wider buffer fits the slower cadence (0 = off)
|
||||
MeleeContactTicks = 20f, // 07-21 HEAVY LOCK: blade lands 20/12/25t per step -- clip speeds retuned to MATCH (wire tool 1.0/0.85/0.88; audit must show zero drift). Step-3 (25t) sits 1 tick under CastFacingTicks 26 -- do NOT raise without raising the cast window.
|
||||
StructureAggroWeight = 0.7f, // EB-1: <1 prefers structures (fortress aggro); live-tunable
|
||||
StaggerKnockbackSpeed = 7f, // B2 poise: kb.Speed >= this interrupts windups/lunges; below = nudge only
|
||||
SeparationMaxSpeed = 3f, // B1: max separation push (units/s) so soft-collision can't fling
|
||||
|
||||
@@ -1,20 +1,22 @@
|
||||
{
|
||||
"name": "baseline-0720",
|
||||
"notes": "The shipped 07-20 defaults (forks 1-6). Apply to RESET after experiments. DPS ~60 held: dmg = recover ticks.",
|
||||
"name": "baseline-heavy-0721",
|
||||
"notes": "THE SHIPPED DEFAULTS (heavy feel locked 07-21 from the operator A/B). Apply to RESET after experiments. DPS 60 held (dmg = recover ticks); clip speeds 1.0/0.85/0.88 match contact 20/12/25.",
|
||||
"sim": [
|
||||
{ "k": "MeleeDamage", "v": "30" },
|
||||
{ "k": "MeleeDamage", "v": "36" },
|
||||
{ "k": "MeleeRange", "v": "2.2" },
|
||||
{ "k": "MeleeRecoverTicks", "v": "30" },
|
||||
{ "k": "MeleeChainGraceTicks", "v": "24" },
|
||||
{ "k": "MeleeRecoverTicks", "v": "36" },
|
||||
{ "k": "MeleeChainGraceTicks", "v": "28" },
|
||||
{ "k": "MeleeFinisherMult", "v": "1.5" },
|
||||
{ "k": "MeleeFinisherRangeMult", "v": "1.25" },
|
||||
{ "k": "MeleeBufferTicks", "v": "8" },
|
||||
{ "k": "MeleeContactTicks", "v": "16" }
|
||||
{ "k": "MeleeBufferTicks", "v": "10" },
|
||||
{ "k": "MeleeContactTicks", "v": "20" },
|
||||
{ "k": "MeleeSwingMoveScale", "v": "0.25" }
|
||||
],
|
||||
"feel": [
|
||||
{ "k": "MeleeArcIntensity", "v": "1" },
|
||||
{ "k": "MeleeArcIntensity", "v": "0.8" },
|
||||
{ "k": "MeleeArcBubbles", "v": "6" },
|
||||
{ "k": "FinisherHoldFrames", "v": "5" },
|
||||
{ "k": "FinisherHoldFrames", "v": "7" },
|
||||
{ "k": "MeleeConnectFovKick", "v": "1.1" },
|
||||
{ "k": "CombatIdleHoldSec", "v": "4" }
|
||||
]
|
||||
}
|
||||
|
||||
@@ -1,17 +1,44 @@
|
||||
{
|
||||
"name": "heavy-committed",
|
||||
"notes": "Slower, weightier: MonHun-lean. Longer lock + contact, bigger hit + hold, dimmer arc (the weapon is the read). DPS ~60 held.",
|
||||
"notes": "LOCKED into code defaults 2026-07-21 (kept as the record of the winning A/B candidate). Slower, weightier: MonHun-lean. Longer lock + contact, bigger hit + hold, dimmer arc (the weapon is the read). DPS ~60 held.",
|
||||
"sim": [
|
||||
{ "k": "MeleeDamage", "v": "36" },
|
||||
{ "k": "MeleeRecoverTicks", "v": "36" },
|
||||
{ "k": "MeleeChainGraceTicks", "v": "28" },
|
||||
{ "k": "MeleeContactTicks", "v": "20" },
|
||||
{ "k": "MeleeBufferTicks", "v": "10" },
|
||||
{ "k": "MeleeSwingMoveScale", "v": "0.25" }
|
||||
{
|
||||
"k": "MeleeDamage",
|
||||
"v": "36"
|
||||
},
|
||||
{
|
||||
"k": "MeleeRecoverTicks",
|
||||
"v": "36"
|
||||
},
|
||||
{
|
||||
"k": "MeleeChainGraceTicks",
|
||||
"v": "28"
|
||||
},
|
||||
{
|
||||
"k": "MeleeContactTicks",
|
||||
"v": "20"
|
||||
},
|
||||
{
|
||||
"k": "MeleeBufferTicks",
|
||||
"v": "10"
|
||||
},
|
||||
{
|
||||
"k": "MeleeSwingMoveScale",
|
||||
"v": "0.25"
|
||||
}
|
||||
],
|
||||
"feel": [
|
||||
{ "k": "MeleeArcIntensity", "v": "0.8" },
|
||||
{ "k": "FinisherHoldFrames", "v": "7" },
|
||||
{ "k": "MeleeConnectFovKick", "v": "1.1" }
|
||||
{
|
||||
"k": "MeleeArcIntensity",
|
||||
"v": "0.8"
|
||||
},
|
||||
{
|
||||
"k": "FinisherHoldFrames",
|
||||
"v": "7"
|
||||
},
|
||||
{
|
||||
"k": "MeleeConnectFovKick",
|
||||
"v": "1.1"
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user