diff --git a/v2/apps/game/tools/checks/weather.mjs b/v2/apps/game/tools/checks/weather.mjs index 39e3c74..5976890 100644 --- a/v2/apps/game/tools/checks/weather.mjs +++ b/v2/apps/game/tools/checks/weather.mjs @@ -88,7 +88,7 @@ check('ручной ливень: стена капель (плотность на окно), снег 0, правка активна', wi.rainDrops > 1000 && wi.snowFlakes === 0 && wi.manual !== null, wi); const rainA = await shot(client, '/tmp/v2_weather_rain.png'); - await client.call('stepTicks', 30); // стена дождя падает (22 юнит/с) + await client.call('stepTicks', 30); // стена дождя падает (93 юнит/с) const rainB = await shot(client, '/tmp/v2_weather_rain2.png'); const rainDiff = countDiff(rainA, rainB); check('дождь падает: кадры различаются', rainDiff > 100, { rainDiff }); diff --git a/v2/packages/engine/src/render/__tests__/weather.test.ts b/v2/packages/engine/src/render/__tests__/weather.test.ts index 6201f86..c4ebc44 100644 --- a/v2/packages/engine/src/render/__tests__/weather.test.ts +++ b/v2/packages/engine/src/render/__tests__/weather.test.ts @@ -138,11 +138,11 @@ }); it('внутри падения колонка неизменна (капля падает по прямой)', () => { // от сразу после респавна до середины падения — цикл не сменится - // (длина цикла ≥ ~1 с, взяли 0.5) + // (длина цикла 40/93 ≈ 0.43 с при скорости 93; взяли 0.15) const spec = { ...DEFAULT_WEATHER, rain: 1 }; const w = headWraps(spec, 0); const a = rainPoints(spec, w[0]! + 0.05, WIN)[0]!.pos; - const b = rainPoints(spec, w[0]! + 0.55, WIN)[0]!.pos; + const b = rainPoints(spec, w[0]! + 0.15, WIN)[0]!.pos; expect(b[0]).toBeCloseTo(a[0]!, 6); expect(b[2]).toBeCloseTo(a[2]!, 6); }); diff --git a/v2/packages/engine/src/render/weather.ts b/v2/packages/engine/src/render/weather.ts index 7cf08ce..65de45f 100644 --- a/v2/packages/engine/src/render/weather.ts +++ b/v2/packages/engine/src/render/weather.ts @@ -78,7 +78,7 @@ const RAIN_MAX = 9000; // потолок счёта (страховка от гигантских окон) const RAIN_TOP = 40; // высота слоя дождя (вертикальный цикл капли) -const RAIN_SPEED = 31; // падение, юнит/с (×1.4 — фидбек «медленно») +const RAIN_SPEED = 93; // падение, юнит/с (×1.4 — фидбек «медленно»; ×3 — «ускорить спокойно») const RAIN_SIZE = 0.55; // точка-голова штриха ближнего плана (~2 px) const RAIN_COLOR = '#a8bacb'; const RAIN_ALPHA = 0.75;