Sfoglia il codice sorgente

Advance surge audio four more seconds after live testing

Millie 3 giorni fa
parent
commit
d1edb785ac

+ 1 - 1
docs/mission-ember-apex-cooling-and-scorch.md

@@ -3,7 +3,7 @@
 ## Current implementation
 
 - Cooling doors open after the surge stops. Visual/mechanical intervals remain 14 seconds closed, 6 seconds surging, 10 seconds exposed.
-- The user confirmed those visuals/mechanics align, but hears the surge at cooling-door opening. Audio sequences now pre-roll at closed-window second 8, six seconds before the visual surge. This is playtest-based compensation, not a recovered native delay parameter. Pending audio is phase/region/generation guarded and cancelled on reset, core destruction and deposit.
+- The user confirmed those visuals/mechanics align, but hears the surge at cooling-door opening. The next live test requested another four seconds of lead. Audio sequences now pre-roll at closed-window second 4, ten seconds before the visual surge. This is playtest-based compensation, not a recovered native delay parameter. Pending audio is phase/region/generation guarded and cancelled on reset, core destruction and deposit.
 - Initial beam: snapping to the resting endpoint still showed the incomplete beam in the first user screenshot. Native device position/power both reached 1. The new candidate seeks the driven endpoint once on laser creation, then animates to the resting endpoint so authored animation events can run. Duplicate presence and late presence after deposit cannot restart it. The target is the second user screenshot's thin, continuous beam. Needs visual confirmation.
 - Escape damage: deposit created SUNBURN_DAMAGE_OBJECT and also attached an extra rail-wide thermal effect. Reaching the end detached only that extra effect, matching the user's report that damage then became normal. The new script retires the climb attachment on deposit and leaves the native sunburn object as the escape damage source. No global damage multiplier changes.
 - Escape ship: wait for native object presence, unlock, power on, seek closed, animate open. Duplicate presence does not restart it. Flight remains subject to visual testing.

+ 3 - 3
scripts/mission_ember/apex.lua

@@ -172,9 +172,9 @@ return function(m, a, ending)
         c:cancel_timer(surge_audio_timer(s))
         if step == "closed" then
             -- Playtest: requesting the sequence at surge start made its sound land at
-            -- cooling-door opening, one six-second window late. Pre-roll audio only;
-            -- the verified visual/exposure clock remains unchanged.
-            c:start_timer(surge_audio_timer(s), 8000)
+            -- cooling-door opening. The next playtest requested four more seconds
+            -- of lead: pre-roll ten seconds before the unchanged visual surge.
+            c:start_timer(surge_audio_timer(s), 4000)
         end
         c:start_timer(vent_timer(s), ({closed = 14000, warning = 6000, open = 10000})[step])
     end

+ 1 - 1
tests/mission_ember_routes_test.lua

@@ -265,7 +265,7 @@ for _,side in ipairs({'east','west'})do for _,wave in ipairs({'entry','reinforce
 assert(vars['ember.music.section']==22)
 timer('ember.apex.explain.');assert(vars['ember.r.cue.41'] and vars['ember.music.section']==23)
 assert(timers['ember.apex.vents.1']==14000)
-assert(timers['ember.apex.surge_audio.1']==8000,'audio pre-roll must lead the unchanged visual surge by six seconds')
+assert(timers['ember.apex.surge_audio.1']==4000,'audio pre-roll must lead the unchanged visual surge by ten seconds')
 local beforeAudio=#calls
 timer('ember.apex.surge_audio.')
 assert(vars['ember.apex.vent_step']=='closed' and not vars['ember.apex.surge'],'audio pre-roll changed visual timing')