diff --git a/language.version b/language.version index d5fc8d991..b30b935e6 100644 --- a/language.version +++ b/language.version @@ -1,3 +1,3 @@ [default] -SWWM_MODVER="\cyDEMOLITIONIST \cw1.3pre r958 \cu(Sun 24 Sep 18:43:53 CEST 2023)\c-"; -SWWM_SHORTVER="\cw1.3pre r958 \cu(2023-09-24 18:43:53)\c-"; +SWWM_MODVER="\cyDEMOLITIONIST \cw1.3pre r959 \cu(Sun 24 Sep 18:44:16 CEST 2023)\c-"; +SWWM_SHORTVER="\cw1.3pre r959 \cu(2023-09-24 18:44:16)\c-"; diff --git a/zscript/swwm_common_fx.zsc b/zscript/swwm_common_fx.zsc index 0093e79c4..d77829cda 100644 --- a/zscript/swwm_common_fx.zsc +++ b/zscript/swwm_common_fx.zsc @@ -269,7 +269,7 @@ Class SWWMBubble : SWWMNonInteractiveActor ang = FRandom[Puff](0,360); pt = FRandom[Puff](-90,90); vel += SWWMUtility.Vec3FromAngles(ang,pt)*FRandom[Puff](0.2,0.8); - if ( waterlevel <= 0 ) Destroy(); + if ( (waterlevel <= 0) || (waterdepth < (scale.y*9.)) ) Destroy(); SetState(ResolveState("Spawn")+Random[Puff](0,19)); } override void Tick() @@ -322,7 +322,7 @@ Class SWWMBubble : SWWMNonInteractiveActor newpos.z = clamp(newpos.z,floorz,ceilingz); SetOrigin(newpos,true); UpdateWaterLevel(); - if ( (waterlevel <= 0) || !Random[Puff](0,100) ) Destroy(); + if ( (waterlevel <= 0) || (waterdepth < (scale.y*9.)) || !Random[Puff](0,100) ) Destroy(); if ( !CheckNoDelay() || (tics == -1) ) return; if ( tics > 0 ) tics--; while ( !tics )