From 55fbfd86c04f3872b9bc2093503267f81c052996 Mon Sep 17 00:00:00 2001 From: Marisa the Magician Date: Sat, 14 Jan 2023 18:06:52 +0100 Subject: [PATCH] Floating point quake intensities. --- language.version | 4 +-- zscript/dlc1/swwm_hammertime.zsc | 14 ++++----- zscript/dlc1/swwm_hammertime_fx.zsc | 2 +- zscript/dlc1/swwm_heavymahsheengun.zsc | 6 ++-- zscript/dlc1/swwm_mister.zsc | 10 +++---- zscript/dlc1/swwm_mister_fx.zsc | 14 ++++----- zscript/dlc1/swwm_notashotgun.zsc | 29 ++++++++++++------- zscript/dlc1/swwm_notashotgun_fx.zsc | 10 +++---- zscript/items/swwm_funstuff.zsc | 2 +- zscript/items/swwm_miscitems.zsc | 6 ++-- zscript/items/swwm_powerups.zsc | 14 ++++----- zscript/items/swwm_powerups_vip.zsc | 12 ++++---- zscript/player/swwm_player_anim.zsc | 6 ++-- zscript/player/swwm_player_fx.zsc | 2 +- zscript/player/swwm_player_tick.zsc | 14 ++++----- zscript/swwm_gesture_fx.zsc | 2 +- zscript/swwm_monsters.zsc | 6 ++-- zscript/weapons/swwm_baseweapon_fx.zsc | 4 +-- zscript/weapons/swwm_baseweapon_melee.zsc | 10 +++---- zscript/weapons/swwm_blazeit.zsc | 2 +- zscript/weapons/swwm_blazeit_fx.zsc | 2 +- zscript/weapons/swwm_cbt.zsc | 2 +- zscript/weapons/swwm_cbt_fx.zsc | 16 +++++----- zscript/weapons/swwm_danmaku.zsc | 4 +-- zscript/weapons/swwm_danmaku_fx.zsc | 2 +- zscript/weapons/swwm_deathlydeathcannon.zsc | 2 +- .../weapons/swwm_deathlydeathcannon_altfx.zsc | 6 ++-- .../weapons/swwm_deathlydeathcannon_fx.zsc | 4 +-- zscript/weapons/swwm_deepdarkimpact.zsc | 11 +++---- zscript/weapons/swwm_deepdarkimpact_fx.zsc | 2 +- zscript/weapons/swwm_shot.zsc | 4 +-- zscript/weapons/swwm_shot_fx.zsc | 6 ++-- zscript/weapons/swwm_sparkyboi.zsc | 6 ++-- zscript/weapons/swwm_sparkyboi_fx.zsc | 14 ++++----- zscript/weapons/swwm_splode.zsc | 4 +-- zscript/weapons/swwm_splode_fx.zsc | 4 +-- zscript/weapons/swwm_tastytreat.zsc | 2 +- zscript/weapons/swwm_tastytreat_fx.zsc | 6 ++-- zscript/weapons/swwm_thiccboolet.zsc | 2 +- zscript/weapons/swwm_thiccboolet_fx.zsc | 2 +- 40 files changed, 140 insertions(+), 130 deletions(-) diff --git a/language.version b/language.version index 04f12a5bf..c8111ada3 100644 --- a/language.version +++ b/language.version @@ -1,3 +1,3 @@ [default] -SWWM_MODVER="\cyDEMOLITIONIST \cw1.3pre r725 \cu(Fri 13 Jan 19:23:12 CET 2023)\c-"; -SWWM_SHORTVER="\cw1.3pre r725 \cu(2023-01-13 19:23:13)\c-"; +SWWM_MODVER="\cyDEMOLITIONIST \cw1.3pre r731 \cu(Sat 14 Jan 18:06:52 CET 2023)\c-"; +SWWM_SHORTVER="\cw1.3pre r731 \cu(2023-01-14 18:06:52)\c-"; diff --git a/zscript/dlc1/swwm_hammertime.zsc b/zscript/dlc1/swwm_hammertime.zsc index d5e8aa2e2..d5b903925 100644 --- a/zscript/dlc1/swwm_hammertime.zsc +++ b/zscript/dlc1/swwm_hammertime.zsc @@ -21,12 +21,12 @@ Class ItamexHammer : SWWMWeapon if ( A_Melee(100,"itamex/hit",1.6,1.1,1.,MELEE_Rip|MELEE_FleshSound|MELEE_HammerHit) ) { A_BumpFOV(.9); - A_QuakeEx(5,5,5,20,0,1,"",QF_RELATIVE|QF_SCALEDOWN|QF_3D,rollIntensity:.35); + A_QuakeEx(5.,5.,5.,20,0,1,"",QF_RELATIVE|QF_SCALEDOWN|QF_3D,rollIntensity:.35); A_AlertMonsters(swwm_uncapalert?0:800); return nojump?ResolveState(null):ResolveState("FireHit"); } A_BumpFOV(.95); - A_QuakeEx(1,1,1,15,0,1,"",QF_RELATIVE|QF_SCALEDOWN|QF_3D,rollIntensity:.1); + A_QuakeEx(.5,.5,.5,15,0,1,"",QF_RELATIVE|QF_SCALEDOWN|QF_3D,rollIntensity:.1); return ResolveState(null); } action void A_HammerAltHit() @@ -36,12 +36,12 @@ Class ItamexHammer : SWWMWeapon if ( A_Melee(int(100+invoker.charge*2.),"itamex/hit",2.,1.1,1.2,MELEE_Rip|MELEE_FleshSound|MELEE_HammerHit|MELEE_Vertical|MELEE_ExtraWide|MELEE_ForceBust) ) { A_BumpFOV(.9); - A_QuakeEx(5,5,5,20,0,1,"",QF_RELATIVE|QF_SCALEDOWN|QF_3D,rollIntensity:.35); + A_QuakeEx(5.,5.,5.,20,0,1,"",QF_RELATIVE|QF_SCALEDOWN|QF_3D,rollIntensity:.35); A_AlertMonsters(swwm_uncapalert?0:800); return; } A_BumpFOV(.95); - A_QuakeEx(1,1,1,15,0,1,"",QF_RELATIVE|QF_SCALEDOWN|QF_3D,rollIntensity:.1); + A_QuakeEx(.5,.5,.5,15,0,1,"",QF_RELATIVE|QF_SCALEDOWN|QF_3D,rollIntensity:.1); } override void DoEffect() @@ -89,14 +89,14 @@ Class ItamexHammer : SWWMWeapon Vector3 x = SWWMUtility.Vec3FromAngles(angle,pitch); SWWMUtility.DoKnockback(self,(x.x,x.y,x.z*.1),1500.*invoker.charge); if ( vel.z < 0 ) vel.z *= 1.-invoker.charge*.008; - A_QuakeEx(1,1,1,15,0,1,"",QF_RELATIVE|QF_SCALEDOWN|QF_3D,rollIntensity:.1); + A_QuakeEx(.5,.5,.5,15,0,1,"",QF_RELATIVE|QF_SCALEDOWN|QF_3D,rollIntensity:.1); A_PlayerFire(); invoker.spintime++; if ( invoker.hitcnt > 0 ) invoker.hitcnt--; else if ( A_Melee(int(100+invoker.charge*1.5),"itamex/hit",2.4,2.,1.1,MELEE_Rip|MELEE_FleshSound|MELEE_ExtraWide|MELEE_HammerHit) ) { A_BumpFOV(.9); - A_QuakeEx(5,5,5,20,0,1,"",QF_RELATIVE|QF_SCALEDOWN|QF_3D,rollIntensity:.35); + A_QuakeEx(5.,5.,5.,20,0,1,"",QF_RELATIVE|QF_SCALEDOWN|QF_3D,rollIntensity:.35); A_AlertMonsters(swwm_uncapalert?0:800); A_WeaponOffset(32,0,WOF_ADD|WOF_INTERPOLATE); SWWMUtility.DoKnockback(self,-(x.x,x.y,x.z*.1),4500.*invoker.charge); @@ -162,7 +162,7 @@ Class ItamexHammer : SWWMWeapon A_StartSound("itamex/slam",CHAN_WEAPON,CHANF_OVERLAP); vel.z += invoker.charge*.03; A_BumpFOV(.85); - A_QuakeEx(8,8,8,10,0,1,"",QF_RELATIVE|QF_SCALEDOWN|QF_3D,rollIntensity:1.); + A_QuakeEx(8.,8.,8.,10,0,1,"",QF_RELATIVE|QF_SCALEDOWN|QF_3D,rollIntensity:1.); A_AlertMonsters(swwm_uncapalert?0:2500); let s = Spawn("HammerShockwave",(pos.x,pos.y,floorz)); s.target = self; diff --git a/zscript/dlc1/swwm_hammertime_fx.zsc b/zscript/dlc1/swwm_hammertime_fx.zsc index 354d12468..7ffd45db3 100644 --- a/zscript/dlc1/swwm_hammertime_fx.zsc +++ b/zscript/dlc1/swwm_hammertime_fx.zsc @@ -12,7 +12,7 @@ Class HammerShockwave : SWWMNonInteractiveActor override void PostBeginPlay() { Super.PostBeginPlay(); - A_QuakeEx(5,5,5,20,0,300+special1*4,"",QF_RELATIVE|QF_SCALEDOWN|QF_3D,falloff:200,rollIntensity:.8); + A_QuakeEx(5.,5.,5.,20,0,300+special1*4,"",QF_RELATIVE|QF_SCALEDOWN|QF_3D,falloff:200,rollIntensity:.8); SWWMUtility.DoExplosion(self,80+special1,100000+special1*2000,80+special1,40,DE_BLAST|DE_EXTRAZTHRUST|DE_NONEXPLOSIVE,'HammerShockwave',target); for ( int i=0; i<360; i+=5 ) { diff --git a/zscript/dlc1/swwm_heavymahsheengun.zsc b/zscript/dlc1/swwm_heavymahsheengun.zsc index df84ed4a1..2e905e010 100644 --- a/zscript/dlc1/swwm_heavymahsheengun.zsc +++ b/zscript/dlc1/swwm_heavymahsheengun.zsc @@ -110,7 +110,7 @@ Class HeavyMahSheenGun : SWWMWeapon { A_AlertMonsters(swwm_uncapalert?0:3000); A_BumpFOV(.98); - A_QuakeEx(2,2,2,4,0,1,"",QF_RELATIVE|QF_SCALEDOWN|QF_3D,rollIntensity:.2); + A_QuakeEx(1.6,1.6,1.6,4,0,1,"",QF_RELATIVE|QF_SCALEDOWN|QF_3D,rollIntensity:.2); A_StartSound("sheen/700rpm",CHAN_WEAPONEXTRA,CHANF_LOOPING,attenuation:.5); invoker.vibrate = .25; A_Overlay(-9999,"EjectRound3"); @@ -121,7 +121,7 @@ Class HeavyMahSheenGun : SWWMWeapon { A_AlertMonsters(swwm_uncapalert?0:5000); A_BumpFOV(.99+FRandom[Sheen](-.005,.005)); - A_QuakeEx(2,2,2,4,0,1,"",QF_RELATIVE|QF_SCALEDOWN|QF_3D,rollIntensity:.15); + A_QuakeEx(1.8,1.8,1.8,4,0,1,"",QF_RELATIVE|QF_SCALEDOWN|QF_3D,rollIntensity:.15); A_StartSound("sheen/2100rpm",CHAN_WEAPONEXTRA,CHANF_LOOPING,attenuation:.4); invoker.vibrate = min(1.,invoker.vibrate*1.05+.05); SWWMUtility.DoKnockback(self,-x,15000.); @@ -131,7 +131,7 @@ Class HeavyMahSheenGun : SWWMWeapon { A_AlertMonsters(swwm_uncapalert?0:2000); A_BumpFOV(.97); - A_QuakeEx(2,2,2,8,0,1,"",QF_RELATIVE|QF_SCALEDOWN|QF_3D,rollIntensity:.25); + A_QuakeEx(1.4,1.4,1.4,8,0,1,"",QF_RELATIVE|QF_SCALEDOWN|QF_3D,rollIntensity:.25); A_StartSound("sheen/fire",CHAN_WEAPON,CHANF_OVERLAP,attenuation:.6); SWWMUtility.DoKnockback(self,-x,6000.); A_Overlay(-9999,"EjectRound7"); diff --git a/zscript/dlc1/swwm_mister.zsc b/zscript/dlc1/swwm_mister.zsc index 892580bc7..0c9d211d9 100644 --- a/zscript/dlc1/swwm_mister.zsc +++ b/zscript/dlc1/swwm_mister.zsc @@ -471,7 +471,7 @@ Class MisterRifle : SWWMWeapon // cluster shot A_StartSound("mister/firescatter",CHAN_WEAPON,CHANF_OVERLAP); SWWMUtility.DoKnockback(self,-x,15000.); - A_QuakeEx(6,6,6,8,0,10,"",QF_RELATIVE|QF_SCALEDOWN|QF_3D,rollIntensity:1.3); + A_QuakeEx(6.,6.,6.,8,0,10,"",QF_RELATIVE|QF_SCALEDOWN|QF_3D,rollIntensity:1.3); A_BumpFOV(.92); A_AlertMonsters(swwm_uncapalert?0:8000); for ( int i=0; i<10; i++ ) @@ -542,7 +542,7 @@ Class MisterRifle : SWWMWeapon // precision shot A_StartSound("mister/firesemi",CHAN_WEAPON,CHANF_OVERLAP); SWWMUtility.DoKnockback(self,-x,9000.); - A_QuakeEx(5,5,5,6,0,10,"",QF_RELATIVE|QF_SCALEDOWN|QF_3D,rollIntensity:.8); + A_QuakeEx(5.,5.,5.,6,0,10,"",QF_RELATIVE|QF_SCALEDOWN|QF_3D,rollIntensity:.8); A_BumpFOV(.95); A_AlertMonsters(swwm_uncapalert?0:6000); for ( int i=0; i<6; i++ ) @@ -602,7 +602,7 @@ Class MisterRifle : SWWMWeapon Vector3 x = SWWMUtility.GetPlayerViewDir(self); Vector3 origin = SWWMUtility.GetFireOffset(self,10,2.8,-2.4); SWWMUtility.DoKnockback(self,-x,5000.); - A_QuakeEx(3,3,3,5,0,10,"",QF_RELATIVE|QF_SCALEDOWN|QF_3D,rollIntensity:.4); + A_QuakeEx(3.,3.,3.,5,0,10,"",QF_RELATIVE|QF_SCALEDOWN|QF_3D,rollIntensity:.4); A_BumpFOV(.97); if ( index == 0 ) A_AlertMonsters(swwm_uncapalert?0:5000); for ( int i=0; i<3; i++ ) @@ -710,7 +710,7 @@ Class MisterRifle : SWWMWeapon invoker.fired = true; A_StartSound("mister/fireover",CHAN_WEAPON,CHANF_OVERLAP); SWWMUtility.DoKnockback(self,-x,90000.); - A_QuakeEx(8,8,8,12,0,10,"",QF_RELATIVE|QF_SCALEDOWN|QF_3D,rollIntensity:2.); + A_QuakeEx(8.,8.,8.,12,0,10,"",QF_RELATIVE|QF_SCALEDOWN|QF_3D,rollIntensity:2.); A_BumpFOV(.85); A_AlertMonsters(swwm_uncapalert?0:12000); for ( int i=0; i<12; i++ ) @@ -1052,7 +1052,7 @@ Class MisterRifle : SWWMWeapon invoker.gfired = true; A_StartSound("mister/grenade",CHAN_WEAPON,CHANF_OVERLAP); SWWMUtility.DoKnockback(self,-x,12000.); - A_QuakeEx(4,4,4,5,0,10,"",QF_RELATIVE|QF_SCALEDOWN|QF_3D,rollIntensity:.6); + A_QuakeEx(4.,4.,4.,5,0,10,"",QF_RELATIVE|QF_SCALEDOWN|QF_3D,rollIntensity:.6); A_BumpFOV(.96); A_AlertMonsters(swwm_uncapalert?0:5000); for ( int i=0; i<9; i++ ) diff --git a/zscript/dlc1/swwm_mister_fx.zsc b/zscript/dlc1/swwm_mister_fx.zsc index 87880e2c3..0a5d36342 100644 --- a/zscript/dlc1/swwm_mister_fx.zsc +++ b/zscript/dlc1/swwm_mister_fx.zsc @@ -358,7 +358,7 @@ Class MisterBulletImpact : SWWMNonInteractiveActor { A_AlertMonsters(swwm_uncapalert?0:4000,AMF_EMITFROMTARGET); SWWMUtility.DoExplosion(self,444,80000,150,150,DE_EXTRAZTHRUST); - A_QuakeEx(6,6,6,10,0,400,"",QF_RELATIVE|QF_SCALEDOWN|QF_3D,falloff:150,rollintensity:.6); + A_QuakeEx(6.,6.,6.,10,0,400,"",QF_RELATIVE|QF_SCALEDOWN|QF_3D,falloff:150,rollintensity:.6); A_StartSound("mister/hitsemi",CHAN_VOICE,attenuation:.3); A_StartSound("mister/hitsemi",CHAN_WEAPON,attenuation:.2); A_SprayDecal("RocketBlast",-172); @@ -440,7 +440,7 @@ Class MisterBuckshotImpact : MisterBulletImpact { A_AlertMonsters(swwm_uncapalert?0:1000,AMF_EMITFROMTARGET); SWWMUtility.DoExplosion(self,444,8000,80,80,DE_EXTRAZTHRUST); - A_QuakeEx(2,2,2,5,0,200,"",QF_RELATIVE|QF_SCALEDOWN|QF_3D,falloff:60,rollintensity:.2); + A_QuakeEx(2.,2.,2.,5,0,200,"",QF_RELATIVE|QF_SCALEDOWN|QF_3D,falloff:60,rollintensity:.2); A_StartSound("mister/hitscatter",CHAN_VOICE,attenuation:.35); A_SprayDecal("ShockMark",-172); Scale *= FRandom[ExploS](0.8,1.1); @@ -524,7 +524,7 @@ Class MisterStreamImpact : MisterBulletImpact { A_AlertMonsters(swwm_uncapalert?0:4000,AMF_EMITFROMTARGET); SWWMUtility.DoExplosion(self,444,150000,120,120,DE_EXTRAZTHRUST); - A_QuakeEx(5,5,5,5,0,300,"",QF_RELATIVE|QF_SCALEDOWN|QF_3D,falloff:100,rollintensity:.5); + A_QuakeEx(5.,5.,5.,5,0,300,"",QF_RELATIVE|QF_SCALEDOWN|QF_3D,falloff:100,rollintensity:.5); A_StartSound("mister/hitstream",CHAN_VOICE,attenuation:.35); A_StartSound("mister/hitstream",CHAN_WEAPON,attenuation:.25); A_SprayDecal("SmallRocketBlast",-172); @@ -610,7 +610,7 @@ Class MisterRailEntryImpact : MisterBulletImpact int nhit, nkill; [nhit, nkill] = SWWMUtility.DoExplosion(self,444,200000,100,100,DE_EXTRAZTHRUST|DE_COUNTENEMIES); if ( mrc ) mrc.nkill += nkill; - A_QuakeEx(6,6,6,10,0,400,"",QF_RELATIVE|QF_SCALEDOWN|QF_3D,falloff:150,rollintensity:.8); + A_QuakeEx(6.,6.,6.,10,0,400,"",QF_RELATIVE|QF_SCALEDOWN|QF_3D,falloff:150,rollintensity:.8); A_StartSound("mister/hitover",CHAN_VOICE,attenuation:.35); A_SprayDecal("SmallRocketBlast",-172); Scale *= FRandom[ExploS](0.8,1.1); @@ -703,7 +703,7 @@ Class MisterRailExitImpact : MisterBulletImpact int nhit, nkill; [nhit, nkill] = SWWMUtility.DoExplosion(self,444,80000,200,200,DE_EXTRAZTHRUST|DE_COUNTENEMIES); if ( mrc ) mrc.nkill += nkill; - A_QuakeEx(8,8,8,15,0,600,"",QF_RELATIVE|QF_SCALEDOWN|QF_3D,falloff:250,rollintensity:1.2); + A_QuakeEx(8.,8.,8.,15,0,600,"",QF_RELATIVE|QF_SCALEDOWN|QF_3D,falloff:250,rollintensity:1.2); A_StartSound("mister/hitover",CHAN_WEAPON,attenuation:.2); A_SprayDecal("BigRocketBlast",-172); Scale *= FRandom[ExploS](0.8,1.1); @@ -1096,7 +1096,7 @@ Class MisterGrenade : Actor Scale.x *= RandomPick[ExploS](-1,1); Scale.y *= RandomPick[ExploS](-1,1); SWWMUtility.DoExplosion(self,444,120000,250,250,DE_EXTRAZTHRUST); - A_QuakeEx(8,8,8,20,0,900,"",QF_RELATIVE|QF_SCALEDOWN|QF_3D,falloff:300,rollintensity:1.5); + A_QuakeEx(8.,8.,8.,20,0,900,"",QF_RELATIVE|QF_SCALEDOWN|QF_3D,falloff:300,rollintensity:1.5); A_StartSound("mister/hitgrenade",CHAN_VOICE,attenuation:.3); A_StartSound("mister/hitgrenade",CHAN_WEAPON,attenuation:.2); A_AlertMonsters(swwm_uncapalert?0:3500,AMF_EMITFROMTARGET); @@ -1298,7 +1298,7 @@ Class MisterSubGrenade : MisterGrenade Scale.x *= RandomPick[ExploS](-1,1); Scale.y *= RandomPick[ExploS](-1,1); SWWMUtility.DoExplosion(self,444,80000,150,150,DE_EXTRAZTHRUST); - A_QuakeEx(5,5,5,10,0,500,"",QF_RELATIVE|QF_SCALEDOWN|QF_3D,falloff:150,rollintensity:.8); + A_QuakeEx(5.,5.,5.,10,0,500,"",QF_RELATIVE|QF_SCALEDOWN|QF_3D,falloff:150,rollintensity:.8); A_StartSound("mister/hitgrenadesub",CHAN_VOICE,attenuation:.5); A_StartSound("mister/hitgrenadesub",CHAN_WEAPON,attenuation:.4); A_AlertMonsters(swwm_uncapalert?0:1500,AMF_EMITFROMTARGET); diff --git a/zscript/dlc1/swwm_notashotgun.zsc b/zscript/dlc1/swwm_notashotgun.zsc index 9715bdc51..a1b558c8c 100644 --- a/zscript/dlc1/swwm_notashotgun.zsc +++ b/zscript/dlc1/swwm_notashotgun.zsc @@ -91,7 +91,7 @@ Class Quadravol : SWWMWeapon switch ( idx ) { default: - A_QuakeEx(3,3,3,15,0,10,"",QF_RELATIVE|QF_SCALEDOWN|QF_3D,rollIntensity:.4); + A_QuakeEx(3.,3.,3.,15,0,10,"",QF_RELATIVE|QF_SCALEDOWN|QF_3D,rollIntensity:.4); A_BumpFOV(.98); A_SWWMFlash(); SWWMHandler.DoFlash(self,Color(64,255,192,64),5); @@ -113,7 +113,7 @@ Class Quadravol : SWWMWeapon } break; case 1: - A_QuakeEx(4,4,4,18,0,10,"",QF_RELATIVE|QF_SCALEDOWN|QF_3D,rollIntensity:.5); + A_QuakeEx(4.,4.,4.,18,0,10,"",QF_RELATIVE|QF_SCALEDOWN|QF_3D,rollIntensity:.5); A_BumpFOV(.97); A_SWWMFlash(); SWWMHandler.DoFlash(self,Color(64,255,192,64),7); @@ -135,7 +135,7 @@ Class Quadravol : SWWMWeapon } break; case 2: - A_QuakeEx(6,6,6,25,0,10,"",QF_RELATIVE|QF_SCALEDOWN|QF_3D,rollIntensity:.8); + A_QuakeEx(6.,6.,6.,25,0,10,"",QF_RELATIVE|QF_SCALEDOWN|QF_3D,rollIntensity:.8); A_BumpFOV(.96); A_SWWMFlash(); SWWMHandler.DoFlash(self,Color(64,255,192,64),8); @@ -157,7 +157,7 @@ Class Quadravol : SWWMWeapon } break; case 3: - A_QuakeEx(7,7,7,30,0,10,"",QF_RELATIVE|QF_SCALEDOWN|QF_3D,rollIntensity:1.2); + A_QuakeEx(7.,7.,7.,30,0,10,"",QF_RELATIVE|QF_SCALEDOWN|QF_3D,rollIntensity:1.2); A_BumpFOV(.95); A_SWWMFlash(); SWWMHandler.DoFlash(self,Color(64,255,192,64),12); @@ -190,7 +190,7 @@ Class Quadravol : SWWMWeapon } break; case 4: - A_QuakeEx(8+bExtra,8+bExtra,8+bExtra,40,0,10,"",QF_RELATIVE|QF_SCALEDOWN|QF_3D,rollIntensity:1.5+bExtra*0.25); + A_QuakeEx(8.+bExtra,8.+bExtra,8.+bExtra,40,0,10,"",QF_RELATIVE|QF_SCALEDOWN|QF_3D,rollIntensity:1.5+bExtra*.25); A_BumpFOV(.94-bExtra*.1); A_SWWMFlash(); SWWMHandler.DoFlash(self,Color(64,255,192,64),15+bExtra*3); @@ -337,10 +337,19 @@ Class Quadravol : SWWMWeapon A_Melee(60,"misc/slughit",1.5,.6,-.2,MELEE_Rip|MELEE_FleshSound|MELEE_NoRage|MELEE_NoUse,null); Vector3 dir = SWWMUtility.Vec3FromAngles(angle,pitch); vel += dir*4.; - A_QuakeEx(4,4,4,8,0,10,"",QF_RELATIVE|QF_SCALEDOWN|QF_3D,rollIntensity:.75); + A_QuakeEx(4.,4.,4.,8,0,10,"",QF_RELATIVE|QF_SCALEDOWN|QF_3D,rollIntensity:.75); A_BumpFOV(1.03); } + action void A_LeverForward() + { + A_StartSound("quadshot/leverforward",CHAN_WEAPON,CHANF_OVERLAP); + } + action void A_LeverBack() + { + A_StartSound("quadshot/leverback",CHAN_WEAPON,CHANF_OVERLAP); + } + override bool PickupForAmmoSWWM( SWWMWeapon ownedWeapon ) { bool good = Super.PickupForAmmoSWWM(ownedWeapon); @@ -502,10 +511,10 @@ Class Quadravol : SWWMWeapon return A_JumpIf(invoker.onehand,"AltFire1H"); } XZW5 C 2; - XZW5 D 2 A_StartSound("quadshot/leverforward",CHAN_WEAPON,CHANF_OVERLAP); + XZW5 D 2 A_LeverForward(); XZW5 E 2 A_Eject(); XZW5 FG 3; - XZW5 H 2 A_StartSound("quadshot/leverback",CHAN_WEAPON,CHANF_OVERLAP); + XZW5 H 2 A_LeverBack(); XZW5 I 2; XZW5 J 2 A_Fill(); XZW5 K 2; @@ -682,7 +691,7 @@ Class Quadravol : SWWMWeapon XZWB L 2; XZWB M 1 { - A_StartSound("quadshot/leverforward",CHAN_WEAPON,CHANF_OVERLAP); + A_LeverForward(); A_Eject(); } XZWB NO 1; @@ -692,7 +701,7 @@ Class Quadravol : SWWMWeapon XZWB TUV 2; XZWB W 2 A_StartSound("demolitionist/swing",CHAN_WEAPON,CHANF_OVERLAP,pitch:.4); XZWB XY 1; - XZWB Z 0 A_StartSound("quadshot/leverback",CHAN_WEAPON,CHANF_OVERLAP); // skip frame to undo 360 degree rotation + XZWB Z 0 A_LeverBack(); // skip frame to undo 360 degree rotation XZWF M 1; XZWC A 2; XZWC B 2 A_Fill(); diff --git a/zscript/dlc1/swwm_notashotgun_fx.zsc b/zscript/dlc1/swwm_notashotgun_fx.zsc index 17ba845cc..51a425c2d 100644 --- a/zscript/dlc1/swwm_notashotgun_fx.zsc +++ b/zscript/dlc1/swwm_notashotgun_fx.zsc @@ -269,7 +269,7 @@ Class QuadProj : Actor SWWMUtility.DoKnockback(master,x+(0,0,hdiff),200000+special2); } if ( tracer ) SWWMUtility.DoKnockback(tracer,-x+(0,0,.1),bAMBUSH?150000:500000); - A_QuakeEx(3,3,3,20,0,500,"",QF_RELATIVE|QF_SCALEDOWN|QF_3D,falloff:200,rollintensity:.6); + A_QuakeEx(3.,3.,3.,20,0,500,"",QF_RELATIVE|QF_SCALEDOWN|QF_3D,falloff:200,rollintensity:.6); SWWMUtility.DoExplosion(self,0,120000+special2,150,40,DE_BLAST|DE_EXTRAZTHRUST); SWWMUtility.DoExplosion(self,100+special1,0,150,0,DE_QUADRAVOL|DE_NOSPLASH,ignoreme:tracer); SWWMUtility.DoExplosion(self,200+special1,0,120,40,DE_HOWL|DE_NOSPLASH,ignoreme:tracer); @@ -521,7 +521,7 @@ Class QuadProj2 : QuadProj SWWMUtility.DoKnockback(master,x+(0,0,hdiff),280000+special2); } if ( tracer ) SWWMUtility.DoKnockback(tracer,-x+(0,0,.1),bAMBUSH?160000:600000); - A_QuakeEx(5,5,5,25,0,900,"",QF_RELATIVE|QF_SCALEDOWN|QF_3D,falloff:400,rollintensity:.8); + A_QuakeEx(5.,5.,5.,25,0,900,"",QF_RELATIVE|QF_SCALEDOWN|QF_3D,falloff:400,rollintensity:.8); SWWMUtility.DoExplosion(self,0,180000+special2,240,80,DE_BLAST|DE_EXTRAZTHRUST); SWWMUtility.DoExplosion(self,200+special1,0,240,0,DE_QUADRAVOL|DE_NOSPLASH,ignoreme:tracer); SWWMUtility.DoExplosion(self,400+special1,0,200,80,DE_HOWL|DE_NOSPLASH,ignoreme:tracer); @@ -614,7 +614,7 @@ Class QuadProjSub : QuadProj double hdiff = 1.-2.*clamp((rel.z-4.)/master.height,0.,.5); SWWMUtility.DoKnockback(master,x+(0,0,hdiff),100000); } - A_QuakeEx(2,2,2,10,0,300,"",QF_RELATIVE|QF_SCALEDOWN|QF_3D,falloff:100,rollintensity:.3); + A_QuakeEx(2.5,2.5,2.5,10,0,300,"",QF_RELATIVE|QF_SCALEDOWN|QF_3D,falloff:100,rollintensity:.3); SWWMUtility.DoExplosion(self,0,70000,120,40,DE_BLAST|DE_EXTRAZTHRUST); SWWMUtility.DoExplosion(self,50,0,120,0,DE_QUADRAVOL|DE_NOSPLASH,ignoreme:tracer); SWWMUtility.DoExplosion(self,150,0,100,40,DE_HOWL|DE_NOSPLASH,ignoreme:tracer); @@ -697,7 +697,7 @@ Class QuadProjSub2 : QuadProj double hdiff = 1.-2.*clamp((rel.z-4.)/master.height,0.,.5); SWWMUtility.DoKnockback(master,x+(0,0,hdiff),100000); } - A_QuakeEx(2,2,2,10,0,200,"",QF_RELATIVE|QF_SCALEDOWN|QF_3D,falloff:80,rollintensity:.2); + A_QuakeEx(2.,2.,2.,10,0,200,"",QF_RELATIVE|QF_SCALEDOWN|QF_3D,falloff:80,rollintensity:.2); SWWMUtility.DoExplosion(self,0,60000,120,40,DE_BLAST|DE_EXTRAZTHRUST); SWWMUtility.DoExplosion(self,80,0,120,0,DE_QUADRAVOL|DE_NOSPLASH,ignoreme:tracer); SWWMUtility.DoExplosion(self,180,0,100,40,DE_HOWL|DE_NOSPLASH,ignoreme:tracer); @@ -797,7 +797,7 @@ Class QuadProj3 : QuadProj SWWMUtility.DoKnockback(master,x+(0,0,hdiff),350000+special2); } if ( tracer ) SWWMUtility.DoKnockback(tracer,-x+(0,0,.1),bAMBUSH?180000:800000); - A_QuakeEx(7,7,7,35,0,1200,"",QF_RELATIVE|QF_SCALEDOWN|QF_3D,falloff:600,rollintensity:1.2); + A_QuakeEx(7.,7.,7.,35,0,1200,"",QF_RELATIVE|QF_SCALEDOWN|QF_3D,falloff:600,rollintensity:1.2); SWWMUtility.DoExplosion(self,0,200000+special2,300,120,DE_BLAST|DE_EXTRAZTHRUST); SWWMUtility.DoExplosion(self,300+special1,0,300,0,DE_QUADRAVOL|DE_NOSPLASH,ignoreme:tracer); SWWMUtility.DoExplosion(self,500+special1,0,240,120,DE_HOWL|DE_NOSPLASH,ignoreme:tracer); diff --git a/zscript/items/swwm_funstuff.zsc b/zscript/items/swwm_funstuff.zsc index 037182a53..c9a11d096 100644 --- a/zscript/items/swwm_funstuff.zsc +++ b/zscript/items/swwm_funstuff.zsc @@ -1344,7 +1344,7 @@ Class Chancebox : Actor XZW2 A 1 { A_SetSize(default.radius*scale.x,2.5*scale.y); - A_QuakeEx(2,2,2,9,0,500,"",QF_RELATIVE|QF_SCALEDOWN|QF_3D,falloff:200,rollIntensity:.2); + A_QuakeEx(2.4,2.4,2.4,9,0,500,"",QF_RELATIVE|QF_SCALEDOWN|QF_3D,falloff:200,rollIntensity:.2); A_StartSound("chancebox/explode",CHAN_VOICE,pitch:1./scale.x); angle = specialf1; pitch = roll = 0; diff --git a/zscript/items/swwm_miscitems.zsc b/zscript/items/swwm_miscitems.zsc index 5b9dc64d8..c789f311f 100644 --- a/zscript/items/swwm_miscitems.zsc +++ b/zscript/items/swwm_miscitems.zsc @@ -208,7 +208,7 @@ Class BallImpact : SWWMNonInteractiveActor override void PostBeginPlay() { Super.PostBeginPlay(); - A_QuakeEx(3,3,3,12,0,200,"",QF_RELATIVE|QF_SCALEDOWN|QF_3D,falloff:100,rollIntensity:.3); + A_QuakeEx(3.,3.,3.,12,0,200,"",QF_RELATIVE|QF_SCALEDOWN|QF_3D,falloff:100,rollIntensity:.3); A_StartSound("leadball/hit",CHAN_VOICE); A_SprayDecal("WallCrack",-20); int numpt = Random[Spreadgun](5,10); @@ -289,7 +289,7 @@ Class TheBall : Actor A_AlertMonsters(swwm_uncapalert?0:2500,AMF_EMITFROMTARGET); A_StartSound(snd,CHAN_VOICE,CHANF_OVERLAP,1.,.2); A_StartSound(snd,CHAN_VOICE,CHANF_OVERLAP,1.,.2); - victim.A_QuakeEx(8,8,8,8,0,3000,"",QF_RELATIVE|QF_SCALEDOWN|QF_3D,falloff:300,rollIntensity:1.); + victim.A_QuakeEx(8.,8.,8.,8,0,3000,"",QF_RELATIVE|QF_SCALEDOWN|QF_3D,falloff:300,rollIntensity:1.); victim.A_StartSound(snd,CHAN_DAMAGE,CHANF_OVERLAP,1.,.2); slamforce *= 4; dmg *= 4; @@ -523,7 +523,7 @@ Class SaltImpact : SWWMNonInteractiveActor Super.PostBeginPlay(); A_AlertMonsters(swwm_uncapalert?0:6000,AMF_EMITFROMTARGET); SWWMUtility.DoExplosion(self,30+special2*4,15000,100,40); - A_QuakeEx(3,3,3,10,0,250,"",QF_RELATIVE|QF_SCALEDOWN|QF_3D,falloff:150,rollintensity:0.2); + A_QuakeEx(3.,3.,3.,10,0,250,"",QF_RELATIVE|QF_SCALEDOWN|QF_3D,falloff:150,rollintensity:0.2); A_StartSound("saltshot/hit",CHAN_VOICE,attenuation:.35); A_SprayDecal("ShockMarkSmall",-172); A_SprayDecal("SaltMark",-172); diff --git a/zscript/items/swwm_powerups.zsc b/zscript/items/swwm_powerups.zsc index 98154569a..b838c37dd 100644 --- a/zscript/items/swwm_powerups.zsc +++ b/zscript/items/swwm_powerups.zsc @@ -41,7 +41,7 @@ Class GrilledCheeseSandwich : Inventory { SWWMUtility.AchievementProgressInc("gcsandwich",1,Owner.player); SWWMHandler.DoFlash(Owner,Color(64,255,255,64),10); - Owner.A_QuakeEx(9,9,9,3,0,1,"",QF_RELATIVE|QF_SCALEDOWN|QF_3D,rollIntensity:1.); + Owner.A_QuakeEx(9.,9.,9.,3,0,1,"",QF_RELATIVE|QF_SCALEDOWN|QF_3D,rollIntensity:1.); Owner.GiveBody(1000,1000); if ( Owner is 'Demolitionist' ) { @@ -1002,7 +1002,7 @@ Class RagekitPower : Powerup lastrage = SWWMHandler.AddOneliner("ragekit",2,20)+40; Owner.A_AlertMonsters(swwm_uncapalert?0:5000); SWWMHandler.DoFlash(Owner,Color(64,255,0,0),30); - Owner.A_QuakeEx(8,8,8,20,0,1,"",QF_RELATIVE|QF_SCALEDOWN|QF_3D,rollIntensity:1.); + Owner.A_QuakeEx(8.,8.,8.,20,0,1,"",QF_RELATIVE|QF_SCALEDOWN|QF_3D,rollIntensity:1.); lasteffect = int.min; lastpulse = max(lastpulse,gametic+35); Demolitionist(Owner).lastbump *= .95; @@ -1025,7 +1025,7 @@ Class RagekitPower : Powerup Owner.A_AlertMonsters(swwm_uncapalert?0:2000); if ( (Owner.player == players[consoleplayer]) && (gametic > lastrage) && (swwm_mutevoice < 2) ) lastrage = SWWMHandler.AddOneliner("ragekit",2,5)+20; - Owner.A_QuakeEx(2,2,2,Random[Rage](1,2),0,1,"",QF_RELATIVE|QF_SCALEDOWN|QF_3D,rollIntensity:.5); + Owner.A_QuakeEx(1.5,1.5,1.5,Random[Rage](1,2),0,1,"",QF_RELATIVE|QF_SCALEDOWN|QF_3D,rollIntensity:.5); lastpulse = max(lastpulse,gametic+10); Demolitionist(Owner).lastbump *= .995; } @@ -1044,7 +1044,7 @@ Class RagekitPower : Powerup if ( !Owner ) return; Owner.A_StartSound("powerup/ragekitend",CHAN_ITEMEXTRA,CHANF_OVERLAP); SWWMHandler.DoFlash(Owner,Color(128,255,0,0),30); - Owner.A_QuakeEx(4,4,4,20,0,1,"",QF_RELATIVE|QF_SCALEDOWN|QF_3D,rollIntensity:1.); + Owner.A_QuakeEx(4.,4.,4.,20,0,1,"",QF_RELATIVE|QF_SCALEDOWN|QF_3D,rollIntensity:1.); Owner.A_AlertMonsters(2000); Demolitionist(Owner).lastbump *= .9; if ( (EffectTics <= 0) && Owner && Owner.CheckLocalView() ) Console.Printf(StringTable.Localize("$D_RAGEKIT")); @@ -1056,7 +1056,7 @@ Class RagekitPower : Powerup Owner.GiveBody(5,100); Owner.A_AlertMonsters(swwm_uncapalert?0:5000); SWWMHandler.DoFlash(Owner,Color(64,255,0,0),10); - Owner.A_QuakeEx(8,8,8,Random[Rage](3,8),0,1,"",QF_RELATIVE|QF_SCALEDOWN|QF_3D,rollIntensity:1.); + Owner.A_QuakeEx(8.,8.,8.,Random[Rage](3,8),0,1,"",QF_RELATIVE|QF_SCALEDOWN|QF_3D,rollIntensity:1.); if ( (Owner.player == players[consoleplayer]) && (gametic > lastrage) && (swwm_mutevoice < 2) ) lastrage = SWWMHandler.AddOneliner("ragekit",2,5)+40; Owner.A_StartSound("powerup/ragekithit",CHAN_POWERUP,CHANF_OVERLAP); @@ -1102,7 +1102,7 @@ Class Ragekit : Inventory if ( !(Owner is 'Demolitionist') ) { SWWMHandler.DoFlash(Owner,Color(64,255,0,0),30); - Owner.A_QuakeEx(8,8,8,20,0,1,"",QF_RELATIVE|QF_SCALEDOWN|QF_3D,rollIntensity:1.); + Owner.A_QuakeEx(8.,8.,8.,20,0,1,"",QF_RELATIVE|QF_SCALEDOWN|QF_3D,rollIntensity:1.); return true; } let r = RagekitPower(Owner.FindInventory("RagekitPower")); @@ -1110,7 +1110,7 @@ Class Ragekit : Inventory { r.EffectTics += r.default.EffectTics; SWWMHandler.DoFlash(Owner,Color(64,255,0,0),30); - Owner.A_QuakeEx(8,8,8,20,0,1,"",QF_RELATIVE|QF_SCALEDOWN|QF_3D,rollIntensity:1.); + Owner.A_QuakeEx(8.,8.,8.,20,0,1,"",QF_RELATIVE|QF_SCALEDOWN|QF_3D,rollIntensity:1.); r.lastpulse = max(r.lastpulse,gametic+35); Demolitionist(Owner).lastbump *= .95; } diff --git a/zscript/items/swwm_powerups_vip.zsc b/zscript/items/swwm_powerups_vip.zsc index d30ab3078..c0212344f 100644 --- a/zscript/items/swwm_powerups_vip.zsc +++ b/zscript/items/swwm_powerups_vip.zsc @@ -367,7 +367,7 @@ Class MykradvoBurst : SWWMNonInteractiveActor { nstep = clamp(targets.Size()/10,1,5); A_AlertMonsters(swwm_uncapalert?0:8000); - A_QuakeEx(9,9,9,80,0,3000,"",QF_RELATIVE|QF_SCALEDOWN|QF_3D,falloff:1000,rollintensity:2.); + A_QuakeEx(9.,9.,9.,80,0,3000,"",QF_RELATIVE|QF_SCALEDOWN|QF_3D,falloff:1000,rollintensity:2.); A_StartSound("powerup/mykradvo",CHAN_BODY,CHANF_DEFAULT,1.,.25); A_StartSound("powerup/mykradvo",CHAN_VOICE,CHANF_DEFAULT,1.,.25); FlashPlayer(100,1500); @@ -556,7 +556,7 @@ Class Mykradvo : Inventory } if ( Owner is 'Demolitionist' ) Demolitionist(Owner).lastbump *= 0.98; - Owner.A_QuakeEx(1,1,1,4,0,8,"",QF_RELATIVE|QF_SCALEDOWN|QF_3D); + Owner.A_QuakeEx(.5,.5,.5,4,0,8,"",QF_RELATIVE|QF_SCALEDOWN|QF_3D); // don't consume on failure Amount++; return true; @@ -834,7 +834,7 @@ Class AngeryPower : Powerup if ( !Owner ) return; Owner.A_AlertMonsters(swwm_uncapalert?0:5000); SWWMHandler.DoFlash(Owner,Color(64,224,0,255),30); - Owner.A_QuakeEx(8,8,8,20,0,1,"",QF_RELATIVE|QF_SCALEDOWN|QF_3D,rollIntensity:1.); + Owner.A_QuakeEx(8.,8.,8.,20,0,1,"",QF_RELATIVE|QF_SCALEDOWN|QF_3D,rollIntensity:1.); lasteffect = int.min; lastpulse = max(lastpulse,gametic+35); if ( Owner is 'Demolitionist' ) @@ -858,7 +858,7 @@ Class AngeryPower : Powerup if ( !Owner ) return; Owner.A_StartSound("powerup/devastationend",CHAN_ITEMEXTRA,CHANF_OVERLAP); SWWMHandler.DoFlash(Owner,Color(128,224,0,255),30); - Owner.A_QuakeEx(4,4,4,20,0,1,"",QF_RELATIVE|QF_SCALEDOWN|QF_3D,rollIntensity:1.); + Owner.A_QuakeEx(4.,4.,4.,20,0,1,"",QF_RELATIVE|QF_SCALEDOWN|QF_3D,rollIntensity:1.); Owner.A_AlertMonsters(swwm_uncapalert?0:2000); if ( Owner is 'Demolitionist' ) Demolitionist(Owner).lastbump *= .9; @@ -870,7 +870,7 @@ Class AngeryPower : Powerup if ( level.maptime <= lasteffect+5 ) return; Owner.A_AlertMonsters(swwm_uncapalert?0:5000); SWWMHandler.DoFlash(Owner,Color(64,224,0,255),10); - Owner.A_QuakeEx(8,8,8,Random[Rage](3,8),0,1,"",QF_RELATIVE|QF_SCALEDOWN|QF_3D,rollIntensity:1.); + Owner.A_QuakeEx(8.,8.,8.,Random[Rage](3,8),0,1,"",QF_RELATIVE|QF_SCALEDOWN|QF_3D,rollIntensity:1.); Owner.A_StartSound("powerup/devastationhit",CHAN_POWERUP,CHANF_OVERLAP); lasteffect = level.maptime; lastpulse = max(lastpulse,gametic+35); @@ -916,7 +916,7 @@ Class AngerySigil : Inventory { r.EffectTics += r.default.EffectTics; SWWMHandler.DoFlash(Owner,Color(64,224,0,255),30); - Owner.A_QuakeEx(8,8,8,20,0,1,"",QF_RELATIVE|QF_SCALEDOWN|QF_3D,rollIntensity:1.); + Owner.A_QuakeEx(8.,8.,8.,20,0,1,"",QF_RELATIVE|QF_SCALEDOWN|QF_3D,rollIntensity:1.); if ( Owner is 'Demolitionist' ) Demolitionist(Owner).lastbump *= .95; } diff --git a/zscript/player/swwm_player_anim.zsc b/zscript/player/swwm_player_anim.zsc index e7c7c6db1..3fe3d8ebf 100644 --- a/zscript/player/swwm_player_anim.zsc +++ b/zscript/player/swwm_player_anim.zsc @@ -404,7 +404,7 @@ extend Class Demolitionist int loudlv = swwm_voiceamp; if ( lastdamage > 70 ) { - A_QuakeEx(3,3,3,9,0,8,"",QF_RELATIVE|QF_SCALEDOWN|QF_3D); + A_QuakeEx(3.2,3.2,3.2,9,0,8,"",QF_RELATIVE|QF_SCALEDOWN|QF_3D); A_StartSound("demolitionist/hipain",CHAN_VOICE); lastbump *= 1.04; if ( swwm_mutevoice < 4 ) @@ -417,7 +417,7 @@ extend Class Demolitionist } else if ( lastdamage > 30 ) { - A_QuakeEx(2,2,2,6,0,8,"",QF_RELATIVE|QF_SCALEDOWN|QF_3D); + A_QuakeEx(1.6,1.6,1.6,6,0,8,"",QF_RELATIVE|QF_SCALEDOWN|QF_3D); A_StartSound("demolitionist/pain",CHAN_VOICE); lastbump *= 1.02; if ( swwm_mutevoice < 4 ) @@ -430,7 +430,7 @@ extend Class Demolitionist } else if ( lastdamage > 0 ) { - A_QuakeEx(1,1,1,3,0,8,"",QF_RELATIVE|QF_SCALEDOWN|QF_3D); + A_QuakeEx(.4,.4,.4,3,0,8,"",QF_RELATIVE|QF_SCALEDOWN|QF_3D); A_StartSound("demolitionist/lopain",CHAN_VOICE); lastbump *= 1.01; if ( swwm_mutevoice < 4 ) diff --git a/zscript/player/swwm_player_fx.zsc b/zscript/player/swwm_player_fx.zsc index 02be8064f..53508d99b 100644 --- a/zscript/player/swwm_player_fx.zsc +++ b/zscript/player/swwm_player_fx.zsc @@ -224,7 +224,7 @@ Class DemolitionistShockwave : SWWMNonInteractiveActor override void PostBeginPlay() { Super.PostBeginPlay(); - A_QuakeEx(7,7,7,30,0,300+min(special1,50)*4,"",QF_RELATIVE|QF_SCALEDOWN|QF_3D,falloff:200,rollIntensity:1.5); + A_QuakeEx(7.,7.,7.,30,0,300+min(special1,50)*4,"",QF_RELATIVE|QF_SCALEDOWN|QF_3D,falloff:200,rollIntensity:1.5); if ( target.player != players[consoleplayer] ) { A_StartSound("demolitionist/hardland",CHAN_FOOTSTEP,CHANF_OVERLAP,attenuation:.3); diff --git a/zscript/player/swwm_player_tick.zsc b/zscript/player/swwm_player_tick.zsc index 7a4dabd60..49a5e73e6 100644 --- a/zscript/player/swwm_player_tick.zsc +++ b/zscript/player/swwm_player_tick.zsc @@ -554,7 +554,7 @@ extend Class Demolitionist } if ( !CheckSight(a,SF_IGNOREVISIBILITY|SF_IGNOREWATERBOUNDARY) ) continue; // large monsters will stop the player (unless hit from above if we're going at ground pound speed) - A_QuakeEx(4,4,4,10,0,128,"",QF_RELATIVE|QF_SCALEDOWN|QF_3D); + A_QuakeEx(4.,4.,4.,10,0,128,"",QF_RELATIVE|QF_SCALEDOWN|QF_3D); A_AlertMonsters(swwm_uncapalert?0:800); A_StartSound("demolitionist/bump",CHAN_DAMAGE,CHANF_OVERLAP); a.A_StartSound("demolitionist/bump",CHAN_DAMAGE,CHANF_OVERLAP); @@ -565,7 +565,7 @@ extend Class Demolitionist if ( bumped ) continue; bumped = true; SWWMUtility.AchievementProgressInc("bonk",1,player); - A_QuakeEx(8,8,8,16,0,128,"",QF_RELATIVE|QF_SCALEDOWN|QF_3D); + A_QuakeEx(8.,8.,8.,16,0,128,"",QF_RELATIVE|QF_SCALEDOWN|QF_3D); vel *= .2; vel -= dir*(10+(spd*30/mass)); vel -= dirto*(10+(spd*50/mass)); @@ -603,7 +603,7 @@ extend Class Demolitionist A_StartSound("demolitionist/buttslam",CHAN_DAMAGE,CHANF_OVERLAP,1.,.4); if ( swwm_buttsfx ) A_StartSound("demolitionist/buttslamx",CHAN_DAMAGE,CHAN_OVERLAP,1.,.2); Spawn("SWWMItemFog",level.Vec3Offset(pos,diff/2)); - A_QuakeEx(8,8,8,8,0,3000,"",QF_RELATIVE|QF_SCALEDOWN|QF_3D,falloff:300,rollIntensity:1.); + A_QuakeEx(8.,8.,8.,8,0,3000,"",QF_RELATIVE|QF_SCALEDOWN|QF_3D,falloff:300,rollIntensity:1.); mystats.buttslams++; lastbump *= .8; } @@ -668,7 +668,7 @@ extend Class Demolitionist A_StartSound("demolitionist/buttslam",CHAN_DAMAGE,CHANF_OVERLAP,1.,.4); if ( swwm_buttsfx ) A_StartSound("demolitionist/buttslamx",CHAN_DAMAGE,CHAN_OVERLAP,1.,.2); Spawn("SWWMItemFog",Vec3Offset(0,0,Height)); - A_QuakeEx(8,8,8,8,0,3000,"",QF_RELATIVE|QF_SCALEDOWN|QF_3D,falloff:300,rollIntensity:1.); + A_QuakeEx(8.,8.,8.,8,0,3000,"",QF_RELATIVE|QF_SCALEDOWN|QF_3D,falloff:300,rollIntensity:1.); mystats.buttslams++; lastbump *= .8; } @@ -682,7 +682,7 @@ extend Class Demolitionist A_StartSound("demolitionist/bump",CHAN_DAMAGE,CHANF_OVERLAP); bumptic = gametic+int(20+spd/4.); lastbump *= .8; - A_QuakeEx(8,8,8,16,0,128,"",QF_RELATIVE|QF_SCALEDOWN|QF_3D); + A_QuakeEx(8.,8.,8.,16,0,128,"",QF_RELATIVE|QF_SCALEDOWN|QF_3D); A_AlertMonsters(swwm_uncapalert?0:800); vel *= .2; vel -= dir*(10+(spd*30/mass)); @@ -767,7 +767,7 @@ extend Class Demolitionist A_StartSound("demolitionist/buttslam",CHAN_DAMAGE,CHANF_OVERLAP,1.,.4); if ( swwm_buttsfx ) A_StartSound("demolitionist/buttslamx",CHAN_DAMAGE,CHAN_OVERLAP,1.,.2); Spawn("SWWMItemFog",Vec3Offset(dir.x*radius,dir.y*radius,(tempme.Results.Tier==TIER_UPPER)?Height:(tempme.Results.Tier==TIER_LOWER)?0:(Height/2))); - A_QuakeEx(8,8,8,8,0,3000,"",QF_RELATIVE|QF_SCALEDOWN|QF_3D,falloff:300,rollIntensity:1.); + A_QuakeEx(8.,8.,8.,8,0,3000,"",QF_RELATIVE|QF_SCALEDOWN|QF_3D,falloff:300,rollIntensity:1.); mystats.buttslams++; lastbump *= .8; } @@ -780,7 +780,7 @@ extend Class Demolitionist A_StartSound("demolitionist/bump",CHAN_DAMAGE,CHANF_OVERLAP); bumptic = gametic+int(25+spd/4.); lastbump *= .8; - A_QuakeEx(8,8,8,16,0,128,"",QF_RELATIVE|QF_SCALEDOWN|QF_3D); + A_QuakeEx(8.,8.,8.,16,0,128,"",QF_RELATIVE|QF_SCALEDOWN|QF_3D); A_AlertMonsters(swwm_uncapalert?0:800); vel *= .2; vel -= dir*(10+(spd*30/mass)); diff --git a/zscript/swwm_gesture_fx.zsc b/zscript/swwm_gesture_fx.zsc index a96ea3f30..f33d09960 100644 --- a/zscript/swwm_gesture_fx.zsc +++ b/zscript/swwm_gesture_fx.zsc @@ -451,7 +451,7 @@ Class LoveHeart : Actor A_AttachLight('LOVELIGHT',DynamicLight.PointLight,0,0,0); //A_RemoveLight('LOVELIGHT'); CheckSplash(40); - A_QuakeEx(2,2,2,8,0,300,"",QF_RELATIVE|QF_SCALEDOWN|QF_3D); + A_QuakeEx(1.5,1.5,1.5,8,0,300,"",QF_RELATIVE|QF_SCALEDOWN|QF_3D); A_SprayDecal("HeartyGlow",64); A_StartSound("bestsound",CHAN_VOICE); Spawn("LoveHeartBurstLight",pos); diff --git a/zscript/swwm_monsters.zsc b/zscript/swwm_monsters.zsc index cd481c7e7..05af23cd5 100644 --- a/zscript/swwm_monsters.zsc +++ b/zscript/swwm_monsters.zsc @@ -100,7 +100,7 @@ Class SWWMBossBrainExpl : SWWMNonInteractiveActor { void A_Ignite() { - A_QuakeEx(3,3,3,20,0,400,"",QF_RELATIVE|QF_SCALEDOWN|QF_3D,falloff:300,rollintensity:2.); + A_QuakeEx(3.,3.,3.,20,0,400,"",QF_RELATIVE|QF_SCALEDOWN|QF_3D,falloff:300,rollintensity:2.); A_StartSound("explodium/hit",CHAN_VOICE,CHANF_DEFAULT,.4,.5); Scale *= FRandom[ExploS](0.8,1.1); Scale.x *= RandomPick[ExploS](-1,1); @@ -291,7 +291,7 @@ Class SWWMBossBrain : BossBrain MBRN A 10 { A_StartSound("brain/pain",CHAN_VOICE,attenuation:ATTN_NONE); - A_QuakeEx(3,3,3,15,0,65535,"",QF_RELATIVE|QF_SCALEDOWN,falloff:65535,rollIntensity:.3); + A_QuakeEx(3.,3.,3.,15,0,65535,"",QF_RELATIVE|QF_SCALEDOWN,falloff:65535,rollIntensity:.3); if ( !eyeless ) SpawnBrainExpl(false); Spawn("SWWMBossBrainPain",pos); } @@ -301,7 +301,7 @@ Class SWWMBossBrain : BossBrain { A_SetTranslation('DeadOats'); A_StartSound("brain/death",CHAN_VOICE,attenuation:ATTN_NONE); - A_QuakeEx(9,9,9,120,0,65535,"",QF_RELATIVE|QF_SCALEDOWN,falloff:65535,rollIntensity:1.); + A_QuakeEx(9.,9.,9.,120,0,65535,"",QF_RELATIVE|QF_SCALEDOWN,falloff:65535,rollIntensity:1.); if ( !eyeless ) { SpawnBrainExpl(true); diff --git a/zscript/weapons/swwm_baseweapon_fx.zsc b/zscript/weapons/swwm_baseweapon_fx.zsc index e11a9025b..54989246a 100644 --- a/zscript/weapons/swwm_baseweapon_fx.zsc +++ b/zscript/weapons/swwm_baseweapon_fx.zsc @@ -178,7 +178,7 @@ Class PunchImpact : SWWMNonInteractiveActor override void PostBeginPlay() { Super.PostBeginPlay(); - A_QuakeEx(2,2,2,12,0,200,"",QF_RELATIVE|QF_SCALEDOWN|QF_3D,falloff:100,rollIntensity:.3); + A_QuakeEx(2.,2.,2.,12,0,200,"",QF_RELATIVE|QF_SCALEDOWN|QF_3D,falloff:100,rollIntensity:.3); A_StartSound("demolitionist/punch",CHAN_VOICE,CHANF_DEFAULT,bAMBUSH?.6:1.); A_SprayDecal(GetTag(),-20); int numpt = Random[Ponch](5,10); @@ -232,7 +232,7 @@ Class BigPunchImpact : SWWMNonInteractiveActor override void PostBeginPlay() { Super.PostBeginPlay(); - A_QuakeEx(8,8,8,18,0,600,"",QF_RELATIVE|QF_SCALEDOWN|QF_3D,falloff:200,rollIntensity:.9); + A_QuakeEx(8.,8.,8.,18,0,600,"",QF_RELATIVE|QF_SCALEDOWN|QF_3D,falloff:200,rollIntensity:.9); A_StartSound("demolitionist/xpunch",CHAN_VOICE,CHANF_DEFAULT,bAMBUSH?.6:1.); A_SprayDecal("BigWallCrack",-20); int numpt = Random[Ponch](9,16); diff --git a/zscript/weapons/swwm_baseweapon_melee.zsc b/zscript/weapons/swwm_baseweapon_melee.zsc index 5a079583b..e51049ee3 100644 --- a/zscript/weapons/swwm_baseweapon_melee.zsc +++ b/zscript/weapons/swwm_baseweapon_melee.zsc @@ -162,7 +162,7 @@ Class ParryField : SWWMNonInteractiveActor i.angle = atan2(dir.y,dir.x); i.pitch = asin(-dir.z); i.bAMBUSH = true; - A_QuakeEx(3,3,3,10,0,64,"",QF_RELATIVE|QF_SCALEDOWN|QF_3D,rollIntensity:.2); + A_QuakeEx(3.,3.,3.,10,0,64,"",QF_RELATIVE|QF_SCALEDOWN|QF_3D,rollIntensity:.2); A_StartSound("demolitionist/parry",CHAN_WEAPON); if ( special1 >= special2 ) // perfect parry { @@ -399,7 +399,7 @@ extend Class SWWMWeapon bool bloodless = false; int flg = DMG_THRUSTLESS|DMG_INFLICTOR_IS_PUFF; if ( raging ) flg |= DMG_FOILINVUL; - int quakin = raging?8:2; + double quakin = raging?8.:2.; double diff = 0.; bool hdoomgal = false; foreach ( hit:mt.hits ) @@ -439,7 +439,7 @@ extend Class SWWMWeapon } } self.angle += clamp(diff/mt.hits.Size(),-5.,5.); // averaged reorient - A_QuakeEx(quakin/2,quakin/2,quakin/2,3,0,1,"",QF_RELATIVE|QF_SCALEDOWN|QF_3D,rollIntensity:0.06*quakin); + A_QuakeEx(quakin/2.,quakin/2.,quakin/2.,3,0,1,"",QF_RELATIVE|QF_SCALEDOWN|QF_3D,rollIntensity:.06*quakin); if ( flags&MELEE_HammerHit ) { if ( hdoomgal ) @@ -535,8 +535,8 @@ extend Class SWWMWeapon ps.target = self; ps.special1 = dmg; } - int quakin = raging?4:1; - A_QuakeEx(quakin,quakin,quakin,3,0,1,"",QF_RELATIVE|QF_SCALEDOWN|QF_3D,rollIntensity:0.12*quakin); + double quakin = raging?4.:1.; + A_QuakeEx(quakin,quakin,quakin,3,0,1,"",QF_RELATIVE|QF_SCALEDOWN|QF_3D,rollIntensity:.12*quakin); A_BumpFOV(.98); A_StartSound((raging&&!(flags&MELEE_ForceSound))?"demolitionist/xpunch":(hitsound!="")?hitsound:"demolitionist/punch",CHAN_WEAPON,CHANF_OVERLAP); A_AlertMonsters(swwm_uncapalert?0:100); diff --git a/zscript/weapons/swwm_blazeit.zsc b/zscript/weapons/swwm_blazeit.zsc index a094b1b05..89e0784cc 100644 --- a/zscript/weapons/swwm_blazeit.zsc +++ b/zscript/weapons/swwm_blazeit.zsc @@ -60,7 +60,7 @@ Class Hellblazer : SWWMWeapon { A_StartSound(bAlt?"hellblazer/altfire":"hellblazer/fire",CHAN_WEAPON,CHANF_OVERLAP,attenuation:(bAlt?1.7:.8)); A_AlertMonsters(swwm_uncapalert?0:bAlt?400:1200); - int qstr = bAlt?4:5; + double qstr = bAlt?4.:5.; A_QuakeEx(qstr,qstr,qstr,bAlt?4:12,0,8,"",QF_RELATIVE|QF_SCALEDOWN|QF_3D,rollIntensity:.12*qstr); A_BumpFOV(bAlt?.96:.93); A_PlayerFire(); diff --git a/zscript/weapons/swwm_blazeit_fx.zsc b/zscript/weapons/swwm_blazeit_fx.zsc index 5fee7b955..f60b959fa 100644 --- a/zscript/weapons/swwm_blazeit_fx.zsc +++ b/zscript/weapons/swwm_blazeit_fx.zsc @@ -285,7 +285,7 @@ Class HellblazerMissile : Actor A_SetScale(4.5); SWWMUtility.DoExplosion(self,200,320000,150,100); A_NoGravity(); - A_QuakeEx(5,5,5,15,0,1500,"",QF_RELATIVE|QF_SCALEDOWN|QF_3D,falloff:500,rollIntensity:.8); + A_QuakeEx(5.,5.,5.,15,0,1500,"",QF_RELATIVE|QF_SCALEDOWN|QF_3D,falloff:500,rollIntensity:.8); A_StopSound(CHAN_BODY); A_StartSound("hellblazer/hit",CHAN_WEAPON,attenuation:.8); A_StartSound("hellblazer/hit",CHAN_VOICE,attenuation:.5); diff --git a/zscript/weapons/swwm_cbt.zsc b/zscript/weapons/swwm_cbt.zsc index a7da599a8..0e1729774 100644 --- a/zscript/weapons/swwm_cbt.zsc +++ b/zscript/weapons/swwm_cbt.zsc @@ -220,7 +220,7 @@ Class Wallbuster : SWWMWeapon player.SetPsprite(PSP_WEAPON,ResolveState("FireTwentyFive")); SWWMHandler.DoFlash(self,Color(80,255,192,64),7); } - int qk = min(9,1+howmany/5); + double qk = min(9.,1.+howmany/5.); int ql = min(25,6+howmany/2); A_QuakeEx(qk,qk,qk,ql,0,8,"",QF_RELATIVE|QF_SCALEDOWN|QF_3D,rollIntensity:qk*.15); A_BumpFOV(1.-qk*.04); diff --git a/zscript/weapons/swwm_cbt_fx.zsc b/zscript/weapons/swwm_cbt_fx.zsc index b449e7a18..fceb5cc68 100644 --- a/zscript/weapons/swwm_cbt_fx.zsc +++ b/zscript/weapons/swwm_cbt_fx.zsc @@ -4,17 +4,17 @@ Class BustedQuake : SWWMNonInteractiveActor { override void PostBeginPlay() { - if ( (special1 < 3) || (special1 > 6) ) + if ( (specialf1 < 3) || (specialf1 > 6) ) { - A_StartSound("wallbuster/smallbust",CHAN_VOICE,CHANF_OVERLAP,min(1.,special1*.32),1./max(1.,special1*.35),1.-special1*.05); - A_StartSound("wallbuster/smallbust",CHAN_VOICE,CHANF_OVERLAP,min(1.,special1*.32),1./max(1.,special1*.35),1.-special1*.05); + A_StartSound("wallbuster/smallbust",CHAN_VOICE,CHANF_OVERLAP,min(1.,specialf1*.32),1./max(1.,specialf1*.35),1.-specialf1*.05); + A_StartSound("wallbuster/smallbust",CHAN_VOICE,CHANF_OVERLAP,min(1.,specialf1*.32),1./max(1.,specialf1*.35),1.-specialf1*.05); } - if ( special1 >= 3 ) + if ( specialf1 >= 3 ) { - A_StartSound("wallbuster/bigbust",CHAN_VOICE,CHANF_OVERLAP,min(1.,special1*.35),1./max(1.,special1*.35),1.-special1*.01); - A_StartSound("wallbuster/bigbust",CHAN_VOICE,CHANF_OVERLAP,min(1.,special1*.35),1./max(1.,special1*.35),1.-special1*.01); + A_StartSound("wallbuster/bigbust",CHAN_VOICE,CHANF_OVERLAP,min(1.,specialf1*.35),1./max(1.,specialf1*.35),1.-specialf1*.01); + A_StartSound("wallbuster/bigbust",CHAN_VOICE,CHANF_OVERLAP,min(1.,specialf1*.35),1./max(1.,specialf1*.35),1.-specialf1*.01); } - A_QuakeEx(special1,special1,special1,20+special1*5,0,300+special1*90,"",QF_RELATIVE|QF_SCALEDOWN|QF_3D,rollIntensity:special1*.1); + A_QuakeEx(specialf1,specialf1,specialf1,20+int(specialf1*5),0,300+int(specialf1*90),"",QF_RELATIVE|QF_SCALEDOWN|QF_3D,rollIntensity:specialf1*.1); A_AlertMonsters(swwm_uncapalert?0:2500,AMF_EMITFROMTARGET); } States @@ -345,7 +345,7 @@ Class BusterWall : Thinker bust.bustmax = min(30,int(12+girthitude**.1)); // quakin' let q = Actor.Spawn("BustedQuake",(p.LastPos.x,p.LastPos.y,(b.z+a.z)/2)); - q.special1 = clamp(int(girthitude**.15),1,9); + q.specialf1 = clamp(girthitude**.15,0.,9.); // "precache" the grid for busting effects bust.boundsmin = a; bust.boundsmax = b; diff --git a/zscript/weapons/swwm_danmaku.zsc b/zscript/weapons/swwm_danmaku.zsc index e03f5b975..ed9de8475 100644 --- a/zscript/weapons/swwm_danmaku.zsc +++ b/zscript/weapons/swwm_danmaku.zsc @@ -71,7 +71,7 @@ Class Eviscerator : SWWMWeapon if ( !weap ) return; invoker.isfiring = true; A_StartSound("eviscerator/fire",CHAN_WEAPON,CHANF_OVERLAP); - A_QuakeEx(6,6,6,3,0,10,"",QF_RELATIVE|QF_SCALEDOWN|QF_3D,rollIntensity:1.5); + A_QuakeEx(6.,6.,6.,3,0,10,"",QF_RELATIVE|QF_SCALEDOWN|QF_3D,rollIntensity:1.5); A_BumpFOV(.94); A_SWWMFlash(); A_PlayerFire(); @@ -146,7 +146,7 @@ Class Eviscerator : SWWMWeapon invoker.isfiring = true; A_StartSound("eviscerator/altfire",CHAN_WEAPON,CHANF_OVERLAP); A_StartSound("eviscerator/fire",CHAN_WEAPON,CHANF_OVERLAP); - A_QuakeEx(4,4,4,5,0,10,"",QF_RELATIVE|QF_SCALEDOWN|QF_3D,rollIntensity:.9); + A_QuakeEx(4.,4.,4.,5,0,10,"",QF_RELATIVE|QF_SCALEDOWN|QF_3D,rollIntensity:.9); A_BumpFOV(.91); A_SWWMFlash(); A_PlayerFire(); diff --git a/zscript/weapons/swwm_danmaku_fx.zsc b/zscript/weapons/swwm_danmaku_fx.zsc index 14408b577..0c4c4b504 100644 --- a/zscript/weapons/swwm_danmaku_fx.zsc +++ b/zscript/weapons/swwm_danmaku_fx.zsc @@ -423,7 +423,7 @@ Class EvisceratorProj : Actor A_NoGravity(); A_SetScale(3.); SWWMUtility.DoExplosion(self,120,120000,150,80); - A_QuakeEx(6,6,6,20,0,1200,"",QF_RELATIVE|QF_SCALEDOWN|QF_3D,falloff:300,rollIntensity:.7); + A_QuakeEx(6.,6.,6.,20,0,1200,"",QF_RELATIVE|QF_SCALEDOWN|QF_3D,falloff:300,rollIntensity:.7); A_StartSound("eviscerator/shell",CHAN_WEAPON,attenuation:.5); A_StartSound("eviscerator/shell",CHAN_VOICE,attenuation:.3); A_AlertMonsters(swwm_uncapalert?0:3000,AMF_EMITFROMTARGET); diff --git a/zscript/weapons/swwm_deathlydeathcannon.zsc b/zscript/weapons/swwm_deathlydeathcannon.zsc index d55036a60..61ff9234e 100644 --- a/zscript/weapons/swwm_deathlydeathcannon.zsc +++ b/zscript/weapons/swwm_deathlydeathcannon.zsc @@ -75,7 +75,7 @@ Class Ynykron : SWWMWeapon for ( Actor a=s.thinglist; a; a=a.snext ) a.LastHeard = self; } - A_QuakeEx(9,9,9,4,0,1,"",QF_RELATIVE|QF_SCALEDOWN|QF_3D,rollIntensity:2.5); + A_QuakeEx(9.,9.,9.,4,0,1,"",QF_RELATIVE|QF_SCALEDOWN|QF_3D,rollIntensity:2.5); A_BumpFOV(.7); A_PlayerFire(); SWWMHandler.DoFlash(self,Color(120,255,255,255),30); diff --git a/zscript/weapons/swwm_deathlydeathcannon_altfx.zsc b/zscript/weapons/swwm_deathlydeathcannon_altfx.zsc index f4ea909b0..32ba05baf 100644 --- a/zscript/weapons/swwm_deathlydeathcannon_altfx.zsc +++ b/zscript/weapons/swwm_deathlydeathcannon_altfx.zsc @@ -339,7 +339,7 @@ Class YnykronLightningImpact : SWWMNonInteractiveActor { Super.PostBeginPlay(); SWWMUtility.DoExplosion(self,400,120000,100,40); - A_QuakeEx(3,3,3,12,0,800,"",QF_RELATIVE|QF_SCALEDOWN|QF_3D,falloff:300,rollIntensity:.4); + A_QuakeEx(3.,3.,3.,12,0,800,"",QF_RELATIVE|QF_SCALEDOWN|QF_3D,falloff:300,rollIntensity:.4); A_SprayDecal("ShockMark",-172); int numpt = Random[ExploS](8,16); for ( int i=0; i