Mortal Rifle cluster shot mode implemented.

This commit is contained in:
Mari the Deer 2022-09-18 12:56:05 +02:00
commit 8f04064672
8 changed files with 217 additions and 13 deletions

View file

@ -244,6 +244,7 @@ Class Wallbuster : SWWMWeapon
let p = Spawn(impact,t.HitList[i].HitLocation);
p.angle = atan2(t.HitList[i].x.y,t.HitList[i].x.x)+180;
p.pitch = asin(t.HitList[i].x.z);
p.target = self;
p.special1 = max(0,(bc-5)/4);
}
else
@ -276,6 +277,7 @@ Class Wallbuster : SWWMWeapon
let p = Spawn(impact,t.Results.HitPos+hitnormal*4);
p.angle = atan2(hitnormal.y,hitnormal.x);
p.pitch = asin(-hitnormal.z);
p.target = self;
p.special1 = max(0,(bc-5)/4);
if ( t.Results.HitType == TRACE_HitFloor ) p.CheckSplash(40);
}

View file

@ -318,6 +318,7 @@ Class Spreadgun : SWWMWeapon
let p = Spawn(impact,t.HitList[i].HitLocation);
p.angle = atan2(t.HitList[i].x.y,t.HitList[i].x.x)+180;
p.pitch = asin(t.HitList[i].x.z);
p.target = self;
}
else
{
@ -348,6 +349,7 @@ Class Spreadgun : SWWMWeapon
let p = Spawn(impact,t.Results.HitPos+hitnormal*4);
p.angle = atan2(hitnormal.y,hitnormal.x);
p.pitch = asin(-hitnormal.z);
p.target = self;
if ( t.Results.HitType == TRACE_HitFloor ) p.CheckSplash(40);
if ( t.Results.HitLine ) t.Results.HitLine.RemoteActivate(self,t.Results.Side,SPAC_Impact,t.Results.HitPos);
}

View file

@ -113,6 +113,7 @@ Class ExplodiumGun : SWWMWeapon
let p = Spawn("SWWMBulletImpact",d.HitLocation);
p.angle = atan2(d.HitDir.y,d.HitDir.x)+180;
p.pitch = asin(d.HitDir.z);
p.target = self;
}
else
{
@ -146,6 +147,7 @@ Class ExplodiumGun : SWWMWeapon
let p = Spawn("SWWMBulletImpact",d.HitLocation+hitnormal*0.01);
p.angle = atan2(hitnormal.y,hitnormal.x);
p.pitch = asin(-hitnormal.z);
p.target = self;
if ( d.HitLine ) d.HitLine.RemoteActivate(self,d.LineSide,SPAC_Impact,d.HitLocation);
let b = Spawn("ExplodiumBulletImpact",d.HitLocation+hitnormal*4.);
b.angle = atan2(hitnormal.y,hitnormal.x);
@ -657,6 +659,7 @@ Class DualExplodiumGun : SWWMWeapon
let p = Spawn("SWWMBulletImpact",d.HitLocation);
p.angle = atan2(d.HitDir.y,d.HitDir.x)+180;
p.pitch = asin(d.HitDir.z);
p.target = self;
}
else
{
@ -690,6 +693,7 @@ Class DualExplodiumGun : SWWMWeapon
let p = Spawn("SWWMBulletImpact",d.HitLocation+hitnormal*0.01);
p.angle = atan2(hitnormal.y,hitnormal.x);
p.pitch = asin(-hitnormal.z);
p.target = self;
if ( d.HitLine ) d.HitLine.RemoteActivate(self,d.LineSide,SPAC_Impact,d.HitLocation);
let b = Spawn("ExplodiumBulletImpact",d.HitLocation+hitnormal*4.);
b.angle = atan2(hitnormal.y,hitnormal.x);

View file

@ -154,6 +154,7 @@ Class CandyGun : SWWMWeapon
let p = Spawn("SWWMBulletImpact",d.HitLocation);
p.angle = atan2(d.HitDir.y,d.HitDir.x)+180;
p.pitch = asin(d.HitDir.z);
p.target = self;
}
else
{
@ -186,6 +187,7 @@ Class CandyGun : SWWMWeapon
let p = Spawn("SWWMBulletImpact",d.HitLocation+hitnormal*0.01);
p.angle = atan2(hitnormal.y,hitnormal.x);
p.pitch = asin(-hitnormal.z);
p.target = self;
if ( d.HitLine ) d.HitLine.RemoteActivate(self,d.LineSide,SPAC_Impact,d.HitLocation);
let b = Spawn("CandyBulletImpact",d.HitLocation+hitnormal*4.);
b.angle = atan2(hitnormal.y,hitnormal.x);