From 41fe50886ca1a181ad3a94ca326ee8a10cf13ffe Mon Sep 17 00:00:00 2001 From: Marisa Kirisame Date: Tue, 22 Dec 2020 01:34:43 +0100 Subject: [PATCH] Today I learned that SPAC_Impact lines can still be activated by hitscan that crosses through them and this is intended vanilla behavior. --- filter/game-doomchex/SNDINFO.txt | 4 ++-- language.version | 2 +- zscript/swwm_common.zsc | 6 +++--- zscript/swwm_deepdarkimpact.zsc | 2 ++ zscript/swwm_inventory.zsc | 13 +++++-------- zscript/swwm_jackhammer.zsc | 2 ++ 6 files changed, 15 insertions(+), 14 deletions(-) diff --git a/filter/game-doomchex/SNDINFO.txt b/filter/game-doomchex/SNDINFO.txt index 8f622a3d7..042d74d66 100644 --- a/filter/game-doomchex/SNDINFO.txt +++ b/filter/game-doomchex/SNDINFO.txt @@ -5,7 +5,7 @@ world/lavasizzle acid5 world/sludgegloop muck5 //you can override the limit values so multiple splashes can play simultaneously //note that this sounds bad if multiple splashes play all at once (such as when firing a shotgun into liquid), so override these values at your own discretion -/*$Limit world/drip 4 +$Limit world/drip 4 $Limit world/watersplash 4 $Limit world/lavasizzle 4 -$Limit world/sludgegloop 4*/ \ No newline at end of file +$Limit world/sludgegloop 4 \ No newline at end of file diff --git a/language.version b/language.version index 52091c738..2f75ec7a0 100644 --- a/language.version +++ b/language.version @@ -1,2 +1,2 @@ [default] -SWWM_MODVER="\chSWWM \czGZ\c- \cw0.9.11b-pre r696 \cu(Tue 22 Dec 00:19:52 CET 2020)"; +SWWM_MODVER="\chSWWM \czGZ\c- \cw0.9.11b-pre r697 \cu(Tue 22 Dec 01:34:43 CET 2020)"; diff --git a/zscript/swwm_common.zsc b/zscript/swwm_common.zsc index 224efbbc0..bd83af43e 100644 --- a/zscript/swwm_common.zsc +++ b/zscript/swwm_common.zsc @@ -1370,7 +1370,7 @@ Class SWWMBulletTrail : LineTracer Array ShootThroughList; Actor ignoreme; - static play void DoTrail( Actor target, Vector3 pos, Vector3 dir, int dist, int bubblechance, bool smoky = false ) + static play void DoTrail( Actor target, Vector3 pos, Vector3 dir, double dist, int bubblechance, bool smoky = false ) { let t = new("SWWMBulletTrail"); t.ignoreme = target; @@ -1379,9 +1379,9 @@ Class SWWMBulletTrail : LineTracer t.Trace(pos,level.PointInSector(pos.xy),dir,dist,0); for ( int i=0; i uses; - Array glass; static play bool TangibleLine( UseList u ) { @@ -946,8 +945,6 @@ Class UseLineTracer : LineTracer { if ( !Results.HitLine.sidedef[1] || (Results.HitLine.Flags&(Line.ML_BlockHitscan|Line.ML_BlockEverything|Line.ML_BlockUse)) ) return TRACE_Stop; - if ( Results.HitLine.special == GlassBreak ) // fuck glass - glass.Push(Results.HitLine); return TRACE_Skip; } } @@ -1390,11 +1387,12 @@ Class SWWMWeapon : Weapon abstract } action void A_Melee( int dmg = 40, String hitsound = "", double rangemul = 1. ) { + Vector3 origin = Vec3Offset(0,0,player.viewheight); + Vector3 dir = (cos(angle)*cos(pitch),sin(angle)*cos(pitch),sin(-pitch)); // check for usables let ut = new("UseLineTracer"); ut.uses.Clear(); - ut.glass.Clear(); - ut.Trace(Vec3Offset(0,0,player.viewheight),CurSector,(cos(angle)*cos(pitch),sin(angle)*cos(pitch),sin(-pitch)),DEFMELEERANGE*rangemul,0); + ut.Trace(origin,CurSector,dir,DEFMELEERANGE*rangemul,0); invoker.wallponch = true; for ( int i=0; i