diff --git a/language.version b/language.version index e3e7ed099..4c7ce87f6 100644 --- a/language.version +++ b/language.version @@ -1,2 +1,2 @@ [default] -SWWM_MODVER="\chSWWM \czGZ\c- \cw0.9.11b-pre r662 \cu(Sat 5 Dec 21:57:50 CET 2020)"; +SWWM_MODVER="\chSWWM \czGZ\c- \cw0.9.11b-pre r663 \cu(Sun 6 Dec 01:43:50 CET 2020)"; diff --git a/zscript/swwm_common.zsc b/zscript/swwm_common.zsc index 1f9c84648..23cf1f33f 100644 --- a/zscript/swwm_common.zsc +++ b/zscript/swwm_common.zsc @@ -307,6 +307,7 @@ Class SWWMBossBrain : BossBrain Radius 20; Height 40; +NOBLOOD; + +COUNTKILL; } States { @@ -421,6 +422,7 @@ Class SWWMSmoke : Actor +NOTELEPORT; +NOINTERACTION; Scale .3; + FloatBobPhase 0; } override void PostBeginPlay() @@ -531,6 +533,7 @@ Class SWWMHalfSmoke : Actor +NOTELEPORT; +NOINTERACTION; Scale 0.3; + FloatBobPhase 0; } override void PostBeginPlay() { @@ -656,6 +659,7 @@ Class SWWMBubble : Actor +THRUACTORS; +NOINTERACTION; Scale 0.5; + FloatBobPhase 0; } override void PostBeginPlay() { @@ -756,6 +760,7 @@ Class SWWMSpark : Actor +NOINTERACTION; Gravity 0.2; Scale 0.05; + FloatBobPhase 0; } override void Tick() { @@ -898,6 +903,7 @@ Class SWWMChip : Actor +NOINTERACTION; Gravity 0.35; Scale 0.2; + FloatBobPhase 0; } override void PostBeginPlay() { @@ -1089,6 +1095,7 @@ Class SWWMItemFog : Actor +ROLLCENTER; +NOINTERACTION; +FORCEXYBILLBOARD; + FloatBobPhase 0; } States { @@ -1145,6 +1152,7 @@ Class SWWMTeleportSparkle : Actor +ROLLCENTER; +FORCEXYBILLBOARD; +NOINTERACTION; + FloatBobPhase 0; } override void Tick() { @@ -1172,6 +1180,7 @@ Class SWWMTeleportFog : Actor +FORCEXYBILLBOARD; Radius .1; Height 0.; + FloatBobPhase 0; } override void PostBeginPlay() { @@ -1233,6 +1242,7 @@ Class SWWMPickupFlash : Actor +ROLLCENTER; +NOINTERACTION; +FORCEXYBILLBOARD; + FloatBobPhase 0; } override void PostBeginPlay() { @@ -1332,6 +1342,7 @@ Class InvisibleSplasher : Actor Radius 2; Radius 2; +NOBLOCKMAP; // needed to prevent infinite loops with some 3D floor water (yes, you read that right) + FloatBobPhase 0; } States { @@ -1476,6 +1487,7 @@ Class SWWMShadow : Actor +NOINTERACTION; +DONTSPLASH; +NOTELEPORT; + FloatBobPhase 0; } States { diff --git a/zscript/swwm_funstuff.zsc b/zscript/swwm_funstuff.zsc index a4f200a77..9dc6d48b1 100644 --- a/zscript/swwm_funstuff.zsc +++ b/zscript/swwm_funstuff.zsc @@ -374,6 +374,7 @@ Class FancyConfetti : Actor +ROLLCENTER; +SLIDESONWALLS; Gravity 0.05; + FloatBobPhase 0; } override void PostBeginPlay() { @@ -437,6 +438,7 @@ Class SuperFancySparkle : Actor +ROLLCENTER; +FORCEXYBILLBOARD; +NOINTERACTION; + FloatBobPhase 0; } override void PostBeginPlay() { diff --git a/zscript/swwm_inventory.zsc b/zscript/swwm_inventory.zsc index dbfb10c33..d91344c09 100644 --- a/zscript/swwm_inventory.zsc +++ b/zscript/swwm_inventory.zsc @@ -435,6 +435,7 @@ Class SWWMCasing : Actor abstract WallBounceFactor 0.65; BounceFactor 0.65; BounceSound "explodium/casing"; + FloatBobPhase 0; } override void PostBeginPlay() { diff --git a/zscript/swwm_player.zsc b/zscript/swwm_player.zsc index a4e44cced..23bb5de56 100644 --- a/zscript/swwm_player.zsc +++ b/zscript/swwm_player.zsc @@ -729,7 +729,7 @@ Class Demolitionist : PlayerPawn while ( (spd > 0) && bi.Next() ) { a = bi.Thing; - if ( !a || (a == self) || (!a.bSOLID && !a.bSHOOTABLE) || a.bTHRUACTORS ) continue; + if ( !a || (a == self) || (!a.bSOLID && !a.bSHOOTABLE) || a.bTHRUACTORS || a.bCORPSE ) continue; if ( !SWWMUtility.ExtrudeIntersect(self,a,dir*spd,8,16) ) continue; if ( !CheckSight(a,SF_IGNOREVISIBILITY|SF_IGNOREWATERBOUNDARY) ) continue; Vector3 diff = level.Vec3Diff(pos,a.pos); @@ -883,7 +883,7 @@ Class Demolitionist : PlayerPawn bTHRUACTORS = true; for ( int i=1; i<=8; i++ ) { - if ( (spd > 0) && !bumped && !TryMove(Vec2Offset(steppy.x,steppy.y),1,false,tm) && BlockingLine ) + if ( (spd > 0) && !bumped && !TryMove(Vec2Offset(steppy.x,steppy.y),1,false,tm) && SWWMUtility.BlockingLineIsBlocking(self,Line.ML_BLOCKEVERYTHING|Line.ML_BLOCKING|Line.ML_BLOCK_PLAYERS) ) { Vector3 wallnorm = (-BlockingLine.delta.y,BlockingLine.delta.x,0).unit(); int lside = 1; @@ -2336,6 +2336,7 @@ Class DashTrail : Actor +DONTSPLASH; +NOTELEPORT; +NOINTERACTION; + FloatBobPhase 0; } override void PostBeginPlay() { @@ -2383,6 +2384,7 @@ Class DashTrail2 : Actor +DONTSPLASH; +NOTELEPORT; +NOINTERACTION; + FloatBobPhase 0; } override void PostBeginPlay() { @@ -2640,6 +2642,7 @@ Class DemolitionistSelfLight : Actor +NOBLOCKMAP; +DONTSPLASH; +NOINTERACTION; + FloatBobPhase 0; } bool activelight() {