diff --git a/language.version b/language.version index cbb9343e8..df260f413 100644 --- a/language.version +++ b/language.version @@ -1,3 +1,3 @@ [default] -SWWM_MODVER="\chSWWM \czGZ\c- \cw0.9.11b-pre r503 \cu(Sat 22 May 18:56:41 CEST 2021)\c-"; -SWWM_SHORTVER="\cw0.9.11b-pre r503 \cu(2021-05-22 18:56:41)\c-"; +SWWM_MODVER="\chSWWM \czGZ\c- \cw0.9.11b-pre r505 \cu(Sun 23 May 10:32:23 CEST 2021)\c-"; +SWWM_SHORTVER="\cw0.9.11b-pre r505 \cu(2021-05-23 10:32:23)\c-"; diff --git a/zscript/items/swwm_powerups.zsc b/zscript/items/swwm_powerups.zsc index 463d93178..35c38e41f 100644 --- a/zscript/items/swwm_powerups.zsc +++ b/zscript/items/swwm_powerups.zsc @@ -1291,8 +1291,8 @@ Class LampMoth : Actor Default { Tag "$T_MOTH"; - Radius 1; - Height 2; + Radius 2; + Height 4; Speed 2; DamageFunction 1; MeleeRange 16; diff --git a/zscript/swwm_common_fx.zsc b/zscript/swwm_common_fx.zsc index faa7bf8eb..4f6297970 100644 --- a/zscript/swwm_common_fx.zsc +++ b/zscript/swwm_common_fx.zsc @@ -1119,8 +1119,8 @@ Class InvisibleSplasher : Actor { Mass 100; VSpeed -2; - Radius 1; - Height 2; + Radius 2; + Height 4; +NOBLOCKMAP; // needed to prevent infinite loops with some 3D floor water (yes, you read that right) FloatBobPhase 0; } diff --git a/zscript/weapons/swwm_baseweapon_fx.zsc b/zscript/weapons/swwm_baseweapon_fx.zsc index 3ead1b245..1c826f13a 100644 --- a/zscript/weapons/swwm_baseweapon_fx.zsc +++ b/zscript/weapons/swwm_baseweapon_fx.zsc @@ -10,8 +10,8 @@ Class SWWMCasing : Actor abstract Default { - Radius 1; - Height 2; + Radius 2; + Height 4; +NOBLOCKMAP; +MISSILE; +DROPOFF; diff --git a/zscript/weapons/swwm_danmaku_fx.zsc b/zscript/weapons/swwm_danmaku_fx.zsc index 20ea4a3dd..16b75496b 100644 --- a/zscript/weapons/swwm_danmaku_fx.zsc +++ b/zscript/weapons/swwm_danmaku_fx.zsc @@ -145,8 +145,8 @@ Class EvisceratorChunk : Actor Default { Obituary "$O_EVISCERATOR"; - Radius 1; - Height 2; + Radius 2; + Height 4; Speed 50; DamageFunction int(clamp((vel.length()-8)*.2+max(0,1.-lifetime)*2.,0,15)); DamageType 'shot'; @@ -236,7 +236,7 @@ Class EvisceratorChunk : Actor void A_HandleBounce() { - Vector3 HitNormal = -vel.unit(); + Vector3 HitNormal = (0,0,0); F3DFloor ff; if ( BlockingFloor ) { @@ -275,6 +275,7 @@ Class EvisceratorChunk : Actor Vector3 diff = level.Vec3Diff(BlockingMobj.Vec3Offset(0,0,BlockingMobj.Height/2),pos); HitNormal = diff.unit(); } + else if ( vel.length() > 0. ) HitNormal = vel.unit(); if ( swwm_omnibust ) BusterWall.ProjectileBust(self,GetMissileDamage(0,0),oldvel.unit()); // undo the bounce, we need to hook in our own vel = oldvel; @@ -288,8 +289,8 @@ Class EvisceratorChunk : Actor if ( (vel.length() > 20) && !Random[Eviscerator](0,2) ) { let l = Spawn("ChunkImpact",pos); - l.angle = atan2(HitNormal.y,HitNormal.x); - l.pitch = asin(-HitNormal.z); + l.angle = atan2(RealHitNormal.y,RealHitNormal.x); + l.pitch = asin(-RealHitNormal.z); A_StartSound("eviscerator/hith",CHAN_WEAPON,CHANF_OVERLAP,.5); } A_Gravity(); diff --git a/zscript/weapons/swwm_shot_fx.zsc b/zscript/weapons/swwm_shot_fx.zsc index e256dc3dd..d8c7d80c9 100644 --- a/zscript/weapons/swwm_shot_fx.zsc +++ b/zscript/weapons/swwm_shot_fx.zsc @@ -1146,8 +1146,8 @@ Class TheBall : Actor Speed 80; Gravity 0.1; BounceFactor 1.0; - Radius 1; - Height 2; + Radius 2; + Height 4; } override String GetObituary( Actor victim, Actor inflictor, Name mod, bool playerattack ) { diff --git a/zscript/weapons/swwm_sparkyboi_fx.zsc b/zscript/weapons/swwm_sparkyboi_fx.zsc index fec9acacc..77084c242 100644 --- a/zscript/weapons/swwm_sparkyboi_fx.zsc +++ b/zscript/weapons/swwm_sparkyboi_fx.zsc @@ -388,8 +388,8 @@ Class BigBiospark : Actor DamageType "Plasma"; RenderStyle "Add"; Health 1200; - Radius 1; - Height 2; + Radius 2; + Height 4; Speed 1; BounceFactor 1.; WallBounceFactor 1.; @@ -432,8 +432,8 @@ Class BiosparkBall : Actor Obituary "$O_SPARKSTER"; DamageType "Plasma"; RenderStyle "Add"; - Radius 1; - Height 2; + Radius 2; + Height 4; Speed 20; PROJECTILE; +FOILINVUL; @@ -1730,8 +1730,8 @@ Class BiosparkCore : Actor Gravity .1; BounceFactor 1.; WallBounceFactor 1.; - Radius 1; - Height 2; + Radius 2; + Height 4; ReactionTime 25; } override void PostBeginPlay()