diff --git a/language.version b/language.version index 7cad0caf5..9be28acdc 100644 --- a/language.version +++ b/language.version @@ -1,3 +1,3 @@ [default] -SWWM_MODVER="\cyDEMOLITIONIST \cw1.3pre r1195 \cu(dom 09 mar 2025 17:08:39 CET)\c-"; -SWWM_SHORTVER="\cw1.3pre r1195 \cu(2025-03-09 17:08:39)\c-"; +SWWM_MODVER="\cyDEMOLITIONIST \cw1.3pre r1196 \cu(dom 09 mar 2025 17:08:51 CET)\c-"; +SWWM_SHORTVER="\cw1.3pre r1196 \cu(2025-03-09 17:08:51)\c-"; diff --git a/zscript/swwm_blod.zsc b/zscript/swwm_blod.zsc index 9c68d7d21..5514f723a 100644 --- a/zscript/swwm_blod.zsc +++ b/zscript/swwm_blod.zsc @@ -895,6 +895,8 @@ Class mkBloodPool : SWWMNonInteractiveActor mkBloodPool prevpool, nextpool; bool bRaised; // dead body was revived, fade out faster + Property BaseAccel : accel; + override void OnDestroy() { Super.OnDestroy(); @@ -913,7 +915,6 @@ Class mkBloodPool : SWWMNonInteractiveActor double fz = CurSector.floorplane.ZAtPoint(pos.xy); SetZ(fz); prev.z = fz; - accel = .0012; basesz = scale.x; sz = .01; A_SetScale(sz); @@ -944,9 +945,10 @@ Class mkBloodPool : SWWMNonInteractiveActor bRaised = true; A_FadeOut(); } - if ( accel <= double.epsilon ) return; + if ( accel <= 0. ) return; sz += accel; - accel *= .997; + double fact = min(special1++/1200.,1.); + accel = SWWMUtility.Lerp(default.accel,0.,fact*fact); A_SetScale(basesz*sz); A_SetSize(50.*basesz*sz); } @@ -956,6 +958,7 @@ Class mkBloodPool : SWWMNonInteractiveActor Radius 1; Height 1; StencilColor "Red"; + mkBloodPool.BaseAccel .0006; } States {