Add QF_3D to every single A_QuakeEx call.

This commit is contained in:
Mari the Deer 2022-06-02 00:48:17 +02:00
commit fa80c346ec
29 changed files with 85 additions and 85 deletions

View file

@ -1,3 +1,3 @@
[default]
SWWM_MODVER="\cyDEMOLITIONIST \cw1.3pre r85 \cu(Thu 2 Jun 00:25:49 CEST 2022)\c-";
SWWM_SHORTVER="\cw1.3pre r85 \cu(2022-06-02 00:25:49)\c-";
SWWM_MODVER="\cyDEMOLITIONIST \cw1.3pre r86 \cu(Thu 2 Jun 00:48:17 CEST 2022)\c-";
SWWM_SHORTVER="\cw1.3pre r86 \cu(2022-06-02 00:48:17)\c-";

View file

@ -1295,7 +1295,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,falloff:200,rollIntensity:.2);
A_QuakeEx(2,2,2,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;

View file

@ -40,7 +40,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,rollIntensity:1.);
Owner.A_QuakeEx(9,9,9,3,0,1,"",QF_RELATIVE|QF_SCALEDOWN|QF_3D,rollIntensity:1.);
Owner.GiveBody(1000,1000);
SWWMScoreObj.Spawn(1000,Owner.Vec3Offset(FRandom[ScoreBits](-8,8),FRandom[ScoreBits](-8,8),FRandom[ScoreBits](-8,8)+Owner.Height/2),ST_Health);
if ( Owner is 'Demolitionist' )
@ -1091,7 +1091,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,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;
@ -1115,7 +1115,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,rollIntensity:.5);
Owner.A_QuakeEx(2,2,2,Random[Rage](1,2),0,1,"",QF_RELATIVE|QF_SCALEDOWN|QF_3D,rollIntensity:.5);
lastpulse = max(lastpulse,gametic+10);
Demolitionist(Owner).lastbump *= .995;
}
@ -1134,7 +1134,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,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"));
@ -1147,7 +1147,7 @@ Class RagekitPower : Powerup
SWWMScoreObj.Spawn(5,Owner.Vec3Offset(FRandom[ScoreBits](-8,8),FRandom[ScoreBits](-8,8),FRandom[ScoreBits](-8,8)+Owner.Height/2),ST_Health);
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,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);
@ -1193,7 +1193,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,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"));
@ -1201,7 +1201,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,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;
}
@ -2692,7 +2692,7 @@ Class MykradvoBurst : Actor
{
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,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);
@ -2876,7 +2876,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);
Owner.A_QuakeEx(1,1,1,4,0,8,"",QF_RELATIVE|QF_SCALEDOWN|QF_3D);
// don't consume on failure
Amount++;
return true;
@ -3286,7 +3286,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,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' )
@ -3310,7 +3310,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,rollIntensity:1.);
Owner.A_QuakeEx(4,4,4,20,0,1,"",QF_RELATIVE|QF_SCALEDOWN|QF_3D,rollIntensity:1.);
Owner.A_AlertMonsters(2000);
if ( Owner is 'Demolitionist' )
Demolitionist(Owner).lastbump *= .9;
@ -3322,7 +3322,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,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);
@ -3358,7 +3358,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,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;
}

View file

@ -462,7 +462,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);
A_QuakeEx(2,2,2,8,0,300,"",QF_RELATIVE|QF_SCALEDOWN|QF_3D);
A_SprayDecal("HeartyGlow",64);
A_StartSound("bestsound",CHAN_VOICE);
Spawn("LoveHeartBurstLight",pos);

View file

@ -100,7 +100,7 @@ Class SWWMBossBrainExpl : Actor
{
void A_Ignite()
{
A_QuakeEx(3,3,3,20,0,400,"",QF_RELATIVE|QF_SCALEDOWN,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);
@ -300,7 +300,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,rollIntensity:.3);
A_QuakeEx(3,3,3,15,0,65535,"",QF_RELATIVE|QF_SCALEDOWN|QF_3D,rollIntensity:.3);
if ( !eyeless ) SpawnBrainExpl(false);
Spawn("SWWMBossBrainPain",pos);
}
@ -309,7 +309,7 @@ Class SWWMBossBrain : BossBrain
MBRN A 120
{
A_StartSound("brain/death",CHAN_VOICE,attenuation:ATTN_NONE);
A_QuakeEx(9,9,9,120,0,65535,"",QF_RELATIVE|QF_SCALEDOWN,rollIntensity:1.);
A_QuakeEx(9,9,9,120,0,65535,"",QF_RELATIVE|QF_SCALEDOWN|QF_3D,rollIntensity:1.);
if ( !eyeless )
{
SpawnBrainExpl(true);

View file

@ -1290,7 +1290,7 @@ Class Demolitionist : PlayerPawn
}
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);
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);
@ -1301,7 +1301,7 @@ Class Demolitionist : PlayerPawn
if ( bumped ) continue;
bumped = true;
SWWMUtility.AchievementProgressInc("bonk",1,player);
A_QuakeEx(8,8,8,16,0,128,"",QF_RELATIVE|QF_SCALEDOWN);
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));
@ -1339,7 +1339,7 @@ Class Demolitionist : PlayerPawn
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,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;
}
@ -1404,7 +1404,7 @@ Class Demolitionist : PlayerPawn
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,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;
}
@ -1418,7 +1418,7 @@ Class Demolitionist : PlayerPawn
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);
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));
@ -1502,7 +1502,7 @@ Class Demolitionist : PlayerPawn
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,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;
}
@ -1515,7 +1515,7 @@ Class Demolitionist : PlayerPawn
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);
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));
@ -2678,7 +2678,7 @@ Class Demolitionist : PlayerPawn
if ( lastdamage > 90 )
{
if ( swwm_extraalert ) A_AlertMonsters(swwm_uncapalert?0:1200);
A_QuakeEx(3,3,3,9,0,8,"",QF_RELATIVE|QF_SCALEDOWN);
A_QuakeEx(3,3,3,9,0,8,"",QF_RELATIVE|QF_SCALEDOWN|QF_3D);
A_StartSound("demolitionist/hipain",CHAN_VOICE);
lastbump *= 1.04;
if ( swwm_mutevoice < 4 )
@ -2692,7 +2692,7 @@ Class Demolitionist : PlayerPawn
else if ( lastdamage > 30 )
{
if ( swwm_extraalert ) A_AlertMonsters(swwm_uncapalert?0:600);
A_QuakeEx(2,2,2,6,0,8,"",QF_RELATIVE|QF_SCALEDOWN);
A_QuakeEx(2,2,2,6,0,8,"",QF_RELATIVE|QF_SCALEDOWN|QF_3D);
A_StartSound("demolitionist/pain",CHAN_VOICE);
lastbump *= 1.02;
if ( swwm_mutevoice < 4 )
@ -2706,7 +2706,7 @@ Class Demolitionist : PlayerPawn
else if ( lastdamage > 0 )
{
if ( swwm_extraalert ) A_AlertMonsters(swwm_uncapalert?0:200);
A_QuakeEx(1,1,1,3,0,8,"",QF_RELATIVE|QF_SCALEDOWN);
A_QuakeEx(1,1,1,3,0,8,"",QF_RELATIVE|QF_SCALEDOWN|QF_3D);
A_StartSound("demolitionist/lopain",CHAN_VOICE);
lastbump *= 1.01;
if ( swwm_mutevoice < 4 )

View file

@ -392,7 +392,7 @@ Class DemolitionistShockwave : Actor
override void PostBeginPlay()
{
Super.PostBeginPlay();
A_QuakeEx(7,7,7,30,0,300+min(special1,50)*4,"",QF_RELATIVE|QF_SCALEDOWN,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);

View file

@ -187,7 +187,7 @@ Class PunchImpact : Actor
override void PostBeginPlay()
{
Super.PostBeginPlay();
A_QuakeEx(2,2,2,12,0,200,"",QF_RELATIVE|QF_SCALEDOWN,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("WallCrack",-20);
int numpt = Random[Ponch](5,10);
@ -257,7 +257,7 @@ Class BigPunchImpact : Actor
override void PostBeginPlay()
{
Super.PostBeginPlay();
A_QuakeEx(8,8,8,18,0,600,"",QF_RELATIVE|QF_SCALEDOWN,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);

View file

@ -182,7 +182,7 @@ Class ParryField : Actor
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,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
{
@ -434,7 +434,7 @@ extend Class SWWMWeapon
// things can instantly cease to exist after taking damage (wow)
if ( mt.hits[i].a )
{
if ( mt.hits[i].a.player ) mt.hits[i].a.A_QuakeEx(quakin,quakin,quakin,6,0,1,"",QF_RELATIVE|QF_SCALEDOWN,rollIntensity:.125*quakin);
if ( mt.hits[i].a.player ) mt.hits[i].a.A_QuakeEx(quakin,quakin,quakin,6,0,1,"",QF_RELATIVE|QF_SCALEDOWN|QF_3D,rollIntensity:.125*quakin);
if ( !mt.hits[i].a.bNOBLOOD && !mt.hits[i].a.bDORMANT && (raging || !mt.hits[i].a.bINVULNERABLE) )
{
mt.hits[i].a.TraceBleed(newdmg,invoker);
@ -454,7 +454,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,rollIntensity:0.06*quakin);
A_QuakeEx(quakin/2,quakin/2,quakin/2,3,0,1,"",QF_RELATIVE|QF_SCALEDOWN|QF_3D,rollIntensity:0.06*quakin);
if ( raging && !(flags&MELEE_ForceSound) )
{
if ( blooded ) A_StartSound("demolitionist/xpunchf",CHAN_WEAPON,CHANF_OVERLAP);
@ -544,7 +544,7 @@ extend Class SWWMWeapon
ps.special1 = dmg;
}
int quakin = raging?4:1;
A_QuakeEx(quakin,quakin,quakin,3,0,1,"",QF_RELATIVE|QF_SCALEDOWN,rollIntensity:0.12*quakin);
A_QuakeEx(quakin,quakin,quakin,3,0,1,"",QF_RELATIVE|QF_SCALEDOWN|QF_3D,rollIntensity:0.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);

View file

@ -169,7 +169,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;
A_QuakeEx(qstr,qstr,qstr,bAlt?4:12,0,8,"",QF_RELATIVE|QF_SCALEDOWN,rollIntensity:.12*qstr);
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();
invoker.clipcount = max(0,invoker.clipcount-1);

View file

@ -336,7 +336,7 @@ Class HellblazerMissile : Actor
A_SetScale(4.5);
SWWMUtility.DoExplosion(self,250,320000,200,90);
A_NoGravity();
A_QuakeEx(5,5,5,15,0,1500,"",QF_RELATIVE|QF_SCALEDOWN,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/hitm",CHAN_WEAPON,attenuation:.8);
A_StartSound("hellblazer/hitm",CHAN_VOICE,attenuation:.5);
@ -433,7 +433,7 @@ Class HellblazerCrackshot : HellblazerMissile
A_SetScale(3.);
SWWMUtility.DoExplosion(self,200,320000,160,60);
A_NoGravity();
A_QuakeEx(4,4,4,12,0,1200,"",QF_RELATIVE|QF_SCALEDOWN,falloff:400,rollIntensity:.6);
A_QuakeEx(4,4,4,12,0,1200,"",QF_RELATIVE|QF_SCALEDOWN|QF_3D,falloff:400,rollIntensity:.6);
A_StopSound(CHAN_BODY);
A_StartSound("hellblazer/hitc",CHAN_WEAPON,attenuation:.7);
A_StartSound("hellblazer/hitc",CHAN_VOICE,attenuation:.4);
@ -504,7 +504,7 @@ Class HellblazerRavager : HellblazerMissile
A_SetScale(8.);
SWWMUtility.DoExplosion(self,300,320000,300,120);
A_NoGravity();
A_QuakeEx(6,6,6,30,0,2000,"",QF_RELATIVE|QF_SCALEDOWN,falloff:800,rollIntensity:1.);
A_QuakeEx(6,6,6,30,0,2000,"",QF_RELATIVE|QF_SCALEDOWN|QF_3D,falloff:800,rollIntensity:1.);
A_StopSound(CHAN_BODY);
A_StartSound("hellblazer/hitr",CHAN_WEAPON,attenuation:.6);
A_StartSound("hellblazer/hitr",CHAN_VOICE,attenuation:.3);
@ -587,7 +587,7 @@ Class HellblazerWarhead : HellblazerMissile
int nhit;
[nhit, nkill] = SWWMUtility.DoExplosion(self,1500,600000,400,200,DE_COUNTENEMIES);
A_NoGravity();
A_QuakeEx(9,9,9,150,0,12000,"",QF_RELATIVE|QF_SCALEDOWN,falloff:4000,rollIntensity:2.);
A_QuakeEx(9,9,9,150,0,12000,"",QF_RELATIVE|QF_SCALEDOWN|QF_3D,falloff:4000,rollIntensity:2.);
A_StopSound(CHAN_BODY);
A_StartSound("hellblazer/hitw",CHAN_WEAPON,attenuation:.4);
A_StartSound("hellblazer/hitw",CHAN_VOICE,attenuation:.1);
@ -897,7 +897,7 @@ Class HellblazerClusterMini : HellblazerMissile2
A_SetScale(2.5);
SWWMUtility.DoExplosion(self,50,200000,150,60);
A_NoGravity();
A_QuakeEx(4,4,4,12,0,1000,"",QF_RELATIVE|QF_SCALEDOWN,falloff:400,rollIntensity:.6);
A_QuakeEx(4,4,4,12,0,1000,"",QF_RELATIVE|QF_SCALEDOWN|QF_3D,falloff:400,rollIntensity:.6);
A_StopSound(CHAN_BODY);
A_StartSound("hellblazer/hitcs",CHAN_WEAPON,attenuation:.9);
A_StartSound("hellblazer/hitcs",CHAN_VOICE,attenuation:.5);

View file

@ -363,7 +363,7 @@ Class Wallbuster : SWWMWeapon
else player.SetPsprite(PSP_WEAPON,ResolveState("FireTwentyFive"));
int 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,rollIntensity:qk*.15);
A_QuakeEx(qk,qk,qk,ql,0,8,"",QF_RELATIVE|QF_SCALEDOWN|QF_3D,rollIntensity:qk*.15);
A_BumpFOV(1.-qk*.04);
A_AlertMonsters(swwm_uncapalert?0:alertness);
A_PlayerFire();

View file

@ -24,7 +24,7 @@ Class BustedQuake : Actor
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_QuakeEx(special1,special1,special1,20+special1*5,0,300+special1*90,"",QF_RELATIVE|QF_SCALEDOWN,rollIntensity:special1*.1);
A_QuakeEx(special1,special1,special1,20+special1*5,0,300+special1*90,"",QF_RELATIVE|QF_SCALEDOWN|QF_3D,rollIntensity:special1*.1);
A_AlertMonsters(swwm_uncapalert?0:2500);
}
override void Tick()

View file

@ -91,7 +91,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,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();
@ -166,7 +166,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,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();

View file

@ -482,7 +482,7 @@ Class EvisceratorProj : Actor
A_NoGravity();
A_SetScale(3.);
SWWMUtility.DoExplosion(self,100,120000,150,80);
A_QuakeEx(6,6,6,20,0,1200,"",QF_RELATIVE|QF_SCALEDOWN,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);

View file

@ -89,7 +89,7 @@ Class Ynykron : SWWMWeapon
}
}
else A_AlertMonsters(); // full range alert
A_QuakeEx(9,9,9,4,0,1,"",QF_RELATIVE|QF_SCALEDOWN,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);

View file

@ -404,7 +404,7 @@ Class YnykronImpact : Actor
// no need to call A_AlertMonsters if all monsters on the entire map were already alerted by the initial shot
if ( swwm_ynykronalert && (!special2 || swwm_extraalert) ) A_AlertMonsters();
rad = args[0]+300+10*clamp(special1/10,0,15);
A_QuakeEx(4,4,4,50,0,rad*4,"",QF_RELATIVE|QF_SCALEDOWN,falloff:rad*2,rollintensity:.6);
A_QuakeEx(4,4,4,50,0,rad*4,"",QF_RELATIVE|QF_SCALEDOWN|QF_3D,falloff:rad*2,rollintensity:.6);
FlashPlayer(60,1200);
if ( tracer )
{
@ -1117,7 +1117,7 @@ Class YnykronShot : Actor
}
override void PostBeginPlay()
{
A_QuakeEx(6,6,6,150,0,65536,"",QF_RELATIVE|QF_SCALEDOWN,falloff:65536,rollIntensity:1.);
A_QuakeEx(6,6,6,150,0,65536,"",QF_RELATIVE|QF_SCALEDOWN|QF_3D,falloff:65536,rollIntensity:1.);
A_StartSound("ynykron/beam",CHAN_VOICE,CHANF_DEFAULT,1.,0.);
FlashPlayer(240,8000);
hitlist.Clear();
@ -1569,7 +1569,7 @@ Class YnykronLightningImpact : Actor
{
Super.PostBeginPlay();
SWWMUtility.DoExplosion(self,400,120000,100,40);
A_QuakeEx(3,3,3,12,0,800,"",QF_RELATIVE|QF_SCALEDOWN,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<numpt; i++ )
@ -2594,7 +2594,7 @@ Class YnykronSingularity : Actor
A_ChangeLinkFlags(true); // unlink from blockmap
A_AlertMonsters();
SWWMUtility.DoExplosion(self,int.max,500000,800,400);
A_QuakeEx(8,8,8,100,0,65536,"",QF_RELATIVE|QF_SCALEDOWN,falloff:65536,rollIntensity:1.6);
A_QuakeEx(8,8,8,100,0,65536,"",QF_RELATIVE|QF_SCALEDOWN|QF_3D,falloff:65536,rollIntensity:1.6);
A_StopAllSounds();
A_StartSound("ynykron/vortexend",CHAN_VOICE,attenuation:0.);
FlashPlayer(250,9000);
@ -2906,7 +2906,7 @@ Class YnykronAltShot : Actor
}
override void PostBeginPlay()
{
A_QuakeEx(4,4,4,80,0,65536,"",QF_RELATIVE|QF_SCALEDOWN,falloff:65536,rollIntensity:.8);
A_QuakeEx(4,4,4,80,0,65536,"",QF_RELATIVE|QF_SCALEDOWN|QF_3D,falloff:65536,rollIntensity:.8);
A_StartSound("ynykron/altbeam",CHAN_VOICE,CHANF_DEFAULT,1.,0.);
FlashPlayer(240,8000);
let b = Spawn("YnykronAltBeam",pos);

View file

@ -115,7 +115,7 @@ Class DeepImpact : SWWMWeapon
{
let weap = Weapon(invoker);
if ( !weap ) return;
A_QuakeEx(1,1,1,2,0,1,"",QF_RELATIVE|QF_SCALEDOWN,rollIntensity:.05);
A_QuakeEx(1,1,1,2,0,1,"",QF_RELATIVE|QF_SCALEDOWN|QF_3D,rollIntensity:.05);
A_StartSound("deepimpact/fire",CHAN_WEAPON,CHANF_OVERLAP);
A_AlertMonsters(swwm_uncapalert?0:300);
A_PlayerFire();
@ -258,7 +258,7 @@ Class DeepImpact : SWWMWeapon
let weap = Weapon(invoker);
if ( !weap ) return;
A_StopSound(CHAN_WEAPONEXTRA);
A_QuakeEx(6,6,6,10,0,1,"",QF_RELATIVE|QF_SCALEDOWN,rollIntensity:.7);
A_QuakeEx(6,6,6,10,0,1,"",QF_RELATIVE|QF_SCALEDOWN|QF_3D,rollIntensity:.7);
A_StartSound("deepimpact/altfire",CHAN_WEAPON,CHANF_OVERLAP,attenuation:.5);
A_AlertMonsters(swwm_uncapalert?0:8000);
A_PlayerFire();

View file

@ -79,7 +79,7 @@ Class AirBullet : FastProjectile
SWWMUtility.DoKnockback(target,dir,mm);
}
SWWMUtility.DoExplosion(self,20,80000,200,80,ignoreme:target);
A_QuakeEx(6,6,6,20,0,250,"",QF_RELATIVE|QF_SCALEDOWN,rollIntensity:1.);
A_QuakeEx(6,6,6,20,0,250,"",QF_RELATIVE|QF_SCALEDOWN|QF_3D,rollIntensity:1.);
A_StartSound("deepimpact/bullethit",CHAN_VOICE,CHANF_DEFAULT,1.,.3);
A_SprayDecal("ImpactMark");
Spawn("AirBulletLight",pos);

View file

@ -359,7 +359,7 @@ Class Spreadgun : SWWMWeapon
A_SWWMFlash(flashes[i]);
A_StartSound(sounds[i],CHAN_WEAPON,CHANF_OVERLAP,attenuation:.6);
A_AlertMonsters(swwm_uncapalert?0:louds[i]);
A_QuakeEx(quakes[i],quakes[i],quakes[i],9,0,1,"",QF_RELATIVE|QF_SCALEDOWN,rollIntensity:.2*quakes[i]);
A_QuakeEx(quakes[i],quakes[i],quakes[i],9,0,1,"",QF_RELATIVE|QF_SCALEDOWN|QF_3D,rollIntensity:.2*quakes[i]);
A_BumpFOV(1.-quakes[i]*.04);
A_PlayerFire();
SWWMHandler.DoFlash(self,cols[i],5);

View file

@ -383,7 +383,7 @@ Class SaltImpact : Actor
Super.PostBeginPlay();
A_AlertMonsters(swwm_uncapalert?0:6000);
SWWMUtility.DoExplosion(self,30+special2*4,15000,100,40);
A_QuakeEx(3,3,3,10,0,250,"",QF_RELATIVE|QF_SCALEDOWN,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("spreadgun/salt",CHAN_VOICE,attenuation:.35);
A_SprayDecal("ShockMarkSmall",-172);
A_SprayDecal("SaltMark",-172);
@ -696,7 +696,7 @@ Class BallImpact : Actor
{
Super.PostBeginPlay();
if ( swwm_extraalert ) A_AlertMonsters(swwm_uncapalert?0:500);
A_QuakeEx(3,3,3,12,0,200,"",QF_RELATIVE|QF_SCALEDOWN,falloff:100,rollIntensity:.3);
A_QuakeEx(3,3,3,12,0,200,"",QF_RELATIVE|QF_SCALEDOWN|QF_3D,falloff:100,rollIntensity:.3);
A_StartSound("spreadgun/ball",CHAN_VOICE);
A_SprayDecal("WallCrack",-20);
int numpt = Random[Spreadgun](5,10);
@ -1178,7 +1178,7 @@ Class TheBall : Actor
A_AlertMonsters(swwm_uncapalert?0:2500);
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,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;
@ -1445,7 +1445,7 @@ Class GoldenImpact : Actor
Super.PostBeginPlay();
A_AlertMonsters(swwm_uncapalert?0:40000);
SWWMUtility.DoExplosion(self,7777,90000,600,500,DE_EXTRAZTHRUST);
A_QuakeEx(9,9,9,40,0,5000,"",QF_RELATIVE|QF_SCALEDOWN,falloff:500,rollintensity:1.5);
A_QuakeEx(9,9,9,40,0,5000,"",QF_RELATIVE|QF_SCALEDOWN|QF_3D,falloff:500,rollintensity:1.5);
A_StartSound("spreadgun/goldexpl",CHAN_VOICE,attenuation:.3);
A_StartSound("spreadgun/goldexpl",CHAN_WEAPON,attenuation:.15);
A_SprayDecal("WumboRocketBlast",-172);
@ -1579,7 +1579,7 @@ Class GoldenSubImpact : Actor
{
Super.PostBeginPlay();
SWWMUtility.DoExplosion(self,777,80000,500,400,DE_EXTRAZTHRUST);
A_QuakeEx(7,7,7,20,0,2000,"",QF_RELATIVE|QF_SCALEDOWN,falloff:200,rollintensity:.8);
A_QuakeEx(7,7,7,20,0,2000,"",QF_RELATIVE|QF_SCALEDOWN|QF_3D,falloff:200,rollintensity:.8);
A_SprayDecal("BigRocketBlast",-172);
Scale *= FRandom[ExploS](0.8,1.1);
Scale.x *= RandomPick[ExploS](-1,1);
@ -1709,7 +1709,7 @@ Class GoldenSubSubImpact : Actor
{
Super.PostBeginPlay();
SWWMUtility.DoExplosion(self,77,70000,400,300,DE_EXTRAZTHRUST);
A_QuakeEx(4,4,4,15,0,1000,"",QF_RELATIVE|QF_SCALEDOWN,falloff:100,rollintensity:.4);
A_QuakeEx(4,4,4,15,0,1000,"",QF_RELATIVE|QF_SCALEDOWN|QF_3D,falloff:100,rollintensity:.4);
A_SprayDecal("RocketBlast",-172);
Scale *= FRandom[ExploS](0.8,1.1);
Scale.x *= RandomPick[ExploS](-1,1);

View file

@ -56,7 +56,7 @@ Class Sparkster : SWWMWeapon
case 0:
// spark
A_StartSound("biospark/fire",CHAN_WEAPON,CHANF_OVERLAP,attenuation:.7);
A_QuakeEx(2,2,2,5,0,8,"",QF_RELATIVE|QF_SCALEDOWN,rollIntensity:.2);
A_QuakeEx(2,2,2,5,0,8,"",QF_RELATIVE|QF_SCALEDOWN|QF_3D,rollIntensity:.2);
A_BumpFOV(.96);
A_SWWMFlash();
SWWMHandler.DoFlash(self,Color(64,192,255,96),3);
@ -76,7 +76,7 @@ Class Sparkster : SWWMWeapon
case 1:
// beam
A_StartSound("biospark/altfire",CHAN_WEAPON,CHANF_OVERLAP,attenuation:.8);
A_QuakeEx(3,3,3,5,0,8,"",QF_RELATIVE|QF_SCALEDOWN,rollIntensity:.3);
A_QuakeEx(3,3,3,5,0,8,"",QF_RELATIVE|QF_SCALEDOWN|QF_3D,rollIntensity:.3);
A_BumpFOV(.95);
A_SWWMFlash();
SWWMHandler.DoFlash(self,Color(64,192,255,96),3);
@ -96,7 +96,7 @@ Class Sparkster : SWWMWeapon
case 2:
// big spark
A_StartSound("biospark/thirdfire",CHAN_WEAPON,CHANF_OVERLAP,attenuation:1.5);
A_QuakeEx(5,5,5,10,0,8,"",QF_RELATIVE|QF_SCALEDOWN,rollIntensity:.6);
A_QuakeEx(5,5,5,10,0,8,"",QF_RELATIVE|QF_SCALEDOWN|QF_3D,rollIntensity:.6);
A_BumpFOV(.94);
A_AlertMonsters(swwm_uncapalert?0:1200);
A_PlayerFire();

View file

@ -172,7 +172,7 @@ Class BigBiospark : Actor
void A_BigsparkTick()
{
if ( !(special2%4) )
A_QuakeEx(Random[Sparkster](1,3),Random[Sparkster](1,3),Random[Sparkster](1,3),Random[Sparkster](4,6),0,400,"",QF_RELATIVE|QF_SCALEDOWN,falloff:100,rollIntensity:FRandom[Sparkster](.1,.3));
A_QuakeEx(Random[Sparkster](1,3),Random[Sparkster](1,3),Random[Sparkster](1,3),Random[Sparkster](4,6),0,400,"",QF_RELATIVE|QF_SCALEDOWN|QF_3D,falloff:100,rollIntensity:FRandom[Sparkster](.1,.3));
special2++;
int numpt = Random[ExploS](8,12);
for ( int i=0; i<numpt; i++ )
@ -285,7 +285,7 @@ Class BigBiospark : Actor
A_StopSound(CHAN_VOICE);
A_AlertMonsters(swwm_uncapalert?0:15000);
SWWMUtility.DoExplosion(self,250,90000,300,100,flags:DE_HOWL);
A_QuakeEx(9,9,9,30,0,1400,"",QF_RELATIVE|QF_SCALEDOWN,falloff:500,rollIntensity:1.5);
A_QuakeEx(9,9,9,30,0,1400,"",QF_RELATIVE|QF_SCALEDOWN|QF_3D,falloff:500,rollIntensity:1.5);
A_StartSound("biospark/bighit",CHAN_ITEM,attenuation:.4);
A_StartSound("biospark/bighit",CHAN_WEAPON,attenuation:.3);
A_SprayDecal("ShockMarkBig",172);
@ -546,7 +546,7 @@ Class BiosparkBall : Actor
A_StopSound(CHAN_VOICE);
A_AlertMonsters(swwm_uncapalert?0:5000);
SWWMUtility.DoExplosion(self,50,20000,150,80,flags:DE_HOWL);
A_QuakeEx(6,6,6,16,0,800,"",QF_RELATIVE|QF_SCALEDOWN,falloff:300,rollIntensity:.8);
A_QuakeEx(6,6,6,16,0,800,"",QF_RELATIVE|QF_SCALEDOWN|QF_3D,falloff:300,rollIntensity:.8);
A_StartSound("biospark/hit",CHAN_ITEM,attenuation:.8);
A_StartSound("biospark/hit",CHAN_WEAPON,attenuation:.6);
A_SprayDecal("ShockMark",172);
@ -710,7 +710,7 @@ Class BiosparkBeamImpact : Actor
Super.PostBeginPlay();
A_AlertMonsters(swwm_uncapalert?0:2000);
SWWMUtility.DoExplosion(self,40,20000,100,40,flags:DE_HOWL);
A_QuakeEx(3,3,3,12,0,800,"",QF_RELATIVE|QF_SCALEDOWN,falloff:300,rollIntensity:.4);
A_QuakeEx(3,3,3,12,0,800,"",QF_RELATIVE|QF_SCALEDOWN|QF_3D,falloff:300,rollIntensity:.4);
A_StartSound("biospark/beamhit",CHAN_ITEM,attenuation:1.1);
A_StartSound("biospark/beamhit",CHAN_WEAPON,attenuation:.8);
A_SprayDecal("ShockMark",-172);
@ -912,7 +912,7 @@ Class BiosparkComboImpact : Actor
Super.PostBeginPlay();
A_AlertMonsters(swwm_uncapalert?0:6000);
SWWMUtility.DoExplosion(self,bAMBUSH?(400+Args[0]*25):200,bAMBUSH?120000:60000,bAMBUSH?500:300,bAMBUSH?350:150,DE_HOWL);
A_QuakeEx(9,9,9,25,0,2000,"",QF_RELATIVE|QF_SCALEDOWN,falloff:600,rollIntensity:1.5);
A_QuakeEx(9,9,9,25,0,2000,"",QF_RELATIVE|QF_SCALEDOWN|QF_3D,falloff:600,rollIntensity:1.5);
A_StartSound("biospark/bighit",CHAN_ITEM,attenuation:.4);
A_StartSound("biospark/bighit",CHAN_WEAPON,attenuation:.3);
A_SprayDecal("BigShockMark",172);
@ -1815,7 +1815,7 @@ Class BiosparkCore : Actor
void A_Deploy()
{
A_AlertMonsters(swwm_uncapalert?0:700);
A_QuakeEx(7,7,7,8,0,1400,"",QF_RELATIVE|QF_SCALEDOWN,rollIntensity:1.);
A_QuakeEx(7,7,7,8,0,1400,"",QF_RELATIVE|QF_SCALEDOWN|QF_3D,rollIntensity:1.);
A_StartSound("biospark/deploy",CHAN_ITEM,attenuation:.7);
A_StartSound("biospark/deploy",CHAN_WEAPON,attenuation:.5);
let s = Spawn("BigBiospark",pos);
@ -1832,7 +1832,7 @@ Class BiosparkCore : Actor
A_SetRenderStyle(1.,STYLE_Add);
A_AlertMonsters(swwm_uncapalert?0:5000);
SWWMUtility.DoExplosion(self,120,120000,150,60);
A_QuakeEx(6,6,6,16,0,800,"",QF_RELATIVE|QF_SCALEDOWN,falloff:300,rollIntensity:.8);
A_QuakeEx(6,6,6,16,0,800,"",QF_RELATIVE|QF_SCALEDOWN|QF_3D,falloff:300,rollIntensity:.8);
Scale *= FRandom[ExploS](0.8,1.1);
Scale.x *= RandomPick[ExploS](-1,1);
Scale.y *= RandomPick[ExploS](-1,1);

View file

@ -91,7 +91,7 @@ Class ExplodiumGun : SWWMWeapon
invoker.chambered = invoker.clipcount;
invoker.clipcount = max(invoker.clipcount-1,0);
A_StartSound("explodium/fire",CHAN_WEAPON,CHANF_OVERLAP);
A_QuakeEx(5,5,5,3,0,10,"",QF_RELATIVE|QF_SCALEDOWN,rollIntensity:1.5);
A_QuakeEx(5,5,5,3,0,10,"",QF_RELATIVE|QF_SCALEDOWN|QF_3D,rollIntensity:1.5);
A_BumpFOV(.96);
A_SWWMFlash();
SWWMHandler.DoFlash(self,Color(64,255,224,64),3);
@ -642,7 +642,7 @@ Class DualExplodiumGun : SWWMWeapon
invoker.clipcount = max(invoker.clipcount-1,0);
}
A_StartSound("explodium/fire",CHAN_WEAPON,CHANF_OVERLAP);
A_QuakeEx(5,5,5,3,0,10,"",QF_RELATIVE|QF_SCALEDOWN,rollIntensity:1.5);
A_QuakeEx(5,5,5,3,0,10,"",QF_RELATIVE|QF_SCALEDOWN|QF_3D,rollIntensity:1.5);
A_BumpFOV(.96);
if ( side == 1 )
A_SWWMFlash("Flash");

View file

@ -161,7 +161,7 @@ Class ExplodiumMagProj : Actor
int nhit, nkill;
[nhit, nkill] = SWWMUtility.DoExplosion(self,20+25*special1,80000+8000*special1,90+10*special1,60,DE_EXTRAZTHRUST|DE_COUNTENEMIES);
if ( target && isplanted ) SWWMUtility.AchievementProgressInc("grenade",nkill,target.player);
A_QuakeEx(9,9,9,30,0,400+80*special1,"",QF_RELATIVE|QF_SCALEDOWN,falloff:300,rollintensity:2.);
A_QuakeEx(9,9,9,30,0,400+80*special1,"",QF_RELATIVE|QF_SCALEDOWN|QF_3D,falloff:300,rollintensity:2.);
A_StartSound("explodium/maghit",CHAN_VOICE,attenuation:.35);
A_StartSound("explodium/maghit",CHAN_WEAPON,attenuation:.2);
A_SprayDecal("BigRocketBlast",172);
@ -507,7 +507,7 @@ Class ExplodiumBulletImpact : Actor
Super.PostBeginPlay();
A_AlertMonsters(swwm_uncapalert?0:3000);
SWWMUtility.DoExplosion(self,25,40000,70,40,DE_EXTRAZTHRUST);
A_QuakeEx(4,4,4,10,0,250,"",QF_RELATIVE|QF_SCALEDOWN,falloff:150,rollintensity:0.2);
A_QuakeEx(4,4,4,10,0,250,"",QF_RELATIVE|QF_SCALEDOWN|QF_3D,falloff:150,rollintensity:0.2);
A_StartSound("explodium/hit",CHAN_VOICE,attenuation:.6);
A_StartSound("explodium/hit",CHAN_WEAPON,attenuation:.3);
A_SprayDecal("RocketBlast",-172);

View file

@ -97,7 +97,7 @@ Class CandyGun : SWWMWeapon
invoker.chambered = invoker.clipcount;
invoker.clipcount = max(invoker.clipcount-1,0);
A_StartSound("candygun/fire",CHAN_WEAPON,CHANF_OVERLAP);
A_QuakeEx(5,5,5,5,0,15,"",QF_RELATIVE|QF_SCALEDOWN,rollIntensity:2.);
A_QuakeEx(5,5,5,5,0,15,"",QF_RELATIVE|QF_SCALEDOWN|QF_3D,rollIntensity:2.);
A_BumpFOV(.94);
A_SWWMFlash();
SWWMHandler.DoFlash(self,Color(64,224,64,255),5);

View file

@ -570,7 +570,7 @@ Class CandyGunProj : Actor
Scale *= 7.+.2*special1;
A_AlertMonsters(swwm_uncapalert?0:40000);
SWWMUtility.DoExplosion(self,3000+900*special1,80000+15000*special1,500+30*special1,300,DE_EXTRAZTHRUST);
A_QuakeEx(9,9,9,70,0,1500+100*special1,"",QF_RELATIVE|QF_SCALEDOWN,falloff:1200,rollintensity:2.);
A_QuakeEx(9,9,9,70,0,1500+100*special1,"",QF_RELATIVE|QF_SCALEDOWN|QF_3D,falloff:1200,rollintensity:2.);
A_StartSound("candygun/gunhit",CHAN_VOICE,attenuation:.24);
A_StartSound("candygun/gunhit",CHAN_WEAPON,attenuation:.12);
A_SprayDecal("WumboRocketBlast",172);
@ -694,7 +694,7 @@ Class CandyMagProj : Actor
Scale *= 3.+.2*special1;
A_AlertMonsters(swwm_uncapalert?0:20000);
SWWMUtility.DoExplosion(self,800+900*special1,60000+15000*special1,200+20*special1,100,DE_EXTRAZTHRUST);
A_QuakeEx(9,9,9,30,0,500+80*special1,"",QF_RELATIVE|QF_SCALEDOWN,falloff:500,rollintensity:2.);
A_QuakeEx(9,9,9,30,0,500+80*special1,"",QF_RELATIVE|QF_SCALEDOWN|QF_3D,falloff:500,rollintensity:2.);
A_StartSound("candygun/maghit",CHAN_VOICE,attenuation:.24);
A_StartSound("candygun/maghit",CHAN_WEAPON,attenuation:.12);
A_SprayDecal("HugeRocketBlast",172);
@ -804,7 +804,7 @@ Class CandyBulletImpact : Actor
Super.PostBeginPlay();
A_AlertMonsters(swwm_uncapalert?0:9000);
SWWMUtility.DoExplosion(self,900,48000,150,80,DE_EXTRAZTHRUST);
A_QuakeEx(6,6,6,15,0,300,"",QF_RELATIVE|QF_SCALEDOWN,falloff:200,rollintensity:0.2);
A_QuakeEx(6,6,6,15,0,300,"",QF_RELATIVE|QF_SCALEDOWN|QF_3D,falloff:200,rollintensity:0.2);
A_StartSound("candygun/hit",CHAN_VOICE,attenuation:.25);
A_StartSound("candygun/hit",CHAN_WEAPON,attenuation:.5);
A_SprayDecal("BigRocketBlast",-172);

View file

@ -589,7 +589,7 @@ Class SilverBullet : SWWMWeapon
A_StartSound(invoker.fcbchambered?"silverbullet/altfire":"silverbullet/fire",CHAN_WEAPON,CHANF_OVERLAP,attenuation:.3);
A_AlertMonsters(swwm_uncapalert?0:16000);
int str = invoker.fcbchambered?7:8;
A_QuakeEx(str,str,str,10,0,1,"",QF_RELATIVE|QF_SCALEDOWN,rollIntensity:str/4.);
A_QuakeEx(str,str,str,10,0,1,"",QF_RELATIVE|QF_SCALEDOWN|QF_3D,rollIntensity:str/4.);
double basezoom = invoker.zoomed?clamp(invoker.zoomlevel,1.,16.):1.;
A_BumpFOV(invoker.fcbchambered?.8:.76);
A_PlayerFire();

View file

@ -116,7 +116,7 @@ Class SilverImpact : Actor
if ( bAMBUSH ) SWWMUtility.AchievementProgressInc("thruwall",nkill,target.player);
}
A_AlertMonsters(swwm_uncapalert?0:2500);
A_QuakeEx(4,4,4,20,0,400,"",QF_RELATIVE|QF_SCALEDOWN,falloff:100,rollIntensity:.9);
A_QuakeEx(4,4,4,20,0,400,"",QF_RELATIVE|QF_SCALEDOWN|QF_3D,falloff:100,rollIntensity:.9);
if ( special1 )
{
Destroy();
@ -241,7 +241,7 @@ Class FatChodeImpact : Actor
Super.PostBeginPlay();
SWWMUtility.DoExplosion(self,600,40000,250,120,DE_THRUWALLS|DE_EXTRAZTHRUST);
A_AlertMonsters(swwm_uncapalert?0:8000);
A_QuakeEx(7,7,7,50,0,2000,"",QF_RELATIVE|QF_SCALEDOWN,falloff:800,rollIntensity:1.);
A_QuakeEx(7,7,7,50,0,2000,"",QF_RELATIVE|QF_SCALEDOWN|QF_3D,falloff:800,rollIntensity:1.);
A_StartSound("silverbullet/chode",CHAN_VOICE,CHANF_DEFAULT,1.,.35);
A_SprayDecal("BigPock",-64);
A_SprayDecal("HugeWallCrack",-64);