diff --git a/language.version b/language.version index 0d6fcf412..3a2317064 100644 --- a/language.version +++ b/language.version @@ -1,2 +1,2 @@ [default] -SWWM_MODVER="\chSWWM \czGZ\c- \cw0.9.11b-pre r751 \cu(Thu 14 Jan 20:27:21 CET 2021)"; +SWWM_MODVER="\chSWWM \czGZ\c- \cw0.9.11b-pre r752 \cu(Thu 14 Jan 21:31:07 CET 2021)"; diff --git a/zscript/swwm_deathlydeathcannon.zsc b/zscript/swwm_deathlydeathcannon.zsc index 663b47de2..7b8e6ea80 100644 --- a/zscript/swwm_deathlydeathcannon.zsc +++ b/zscript/swwm_deathlydeathcannon.zsc @@ -1209,7 +1209,7 @@ Class GatherDust : Actor if ( distto < (32.*target.scale.x) ) { // sucked in - target.specialf2 += FRandom[ExploS](.5,5.); + target.specialf2 += FRandom[ExploS](.5,2.); Destroy(); return; } @@ -1943,6 +1943,16 @@ Class YnykronVoidSparkle : Actor vel = dir.unit()*magvel; } Vector3 newpos = level.Vec3Offset(pos,vel); + if ( (newpos.z < floorz) || (newpos.z >= ceilingz) ) + { + vel.z *= -1; + newpos = level.Vec3Offset(pos,vel); + } + if ( !level.IsPointInLevel(newpos) ) + { + vel.xy *= -1; + newpos = level.Vec3Offset(pos,vel); + } dir = level.Vec3Diff(newpos,pos); double len = dir.length(); if ( (len > 0.) && (alpha > .1) ) @@ -2080,7 +2090,7 @@ Class YnykronSingularityExplosion : Actor Scale *= FRandom[ExploS](0.8,1.1); Scale.x *= RandomPick[ExploS](-1,1); Scale.y *= RandomPick[ExploS](-1,1); - int numpt = Random[ExploS](4,8); + int numpt = Random[ExploS](2,4); for ( int i=0; i