Whole set of new features:

- Spent mags for Enforcer, Flak Cannon and Pulsegun.
- Fixed up bullet casing orientations.
- Terrain stuff (WIP).
This commit is contained in:
Marisa the Magician 2019-10-16 18:03:00 +02:00
commit da49775e7d
29 changed files with 568 additions and 10 deletions

View file

@ -167,12 +167,36 @@ Class UTCasing : Actor
PCAS A -1
{
pitch = 0;
angle = FRandom[Junk](0,360);
roll = FRandom[Junk](0,360);
}
Stop;
}
}
Class EnforcerMag : UTCasing
{
Default
{
BounceSound "enforcer/bounce";
}
override void PostBeginPlay()
{
Super.PostBeginPlay();
heat = 0.;
}
States
{
Death:
PCAS A -1
{
pitch = RandomPick[Junk](-90,90);
angle = FRandom[Junk](0,360);
}
Stop;
}
}
Class Enforcer : UTWeapon
{
int ClipCount, SlaveClipCount;
@ -388,6 +412,8 @@ Class Enforcer : UTWeapon
}
origin = level.Vec3Offset(origin,x*8+ydir*y*6-z*2);
let c = Spawn("UTCasing",origin);
c.angle = angle;
c.pitch = pitch;
c.vel = x*FRandom[Junk](-1.5,1.5)+y*ydir*FRandom[Junk](2,4)+z*FRandom[Junk](2,3);
}
@ -574,6 +600,13 @@ Class Enforcer : UTWeapon
if ( self is 'UTPlayer' )
UTPlayer(self).PlayReloading();
invoker.slavereload = (invoker.slaveactive&&(invoker.slaveclipcount<min(invoker.default.slaveclipcount,invoker.Ammo1.Amount)));
Vector3 x, y, z, origin;
[x,y,z] = dt_CoordUtil.GetAxes(pitch,angle,roll);
origin = level.Vec3Offset(Vec2OffsetZ(0,0,player.viewz),x*4.+y*4.-z*8.);
let c = Spawn("EnforcerMag",origin);
c.angle = angle;
c.pitch = pitch;
c.vel = vel*.5+x*FRandom[Junk](-.5,.5)+y*FRandom[Junk](-.5,.5)-z*FRandom[Junk](1,2);
}
ENFS A 0 A_PlaySound("enforcer/select",CHAN_WEAPON);
Goto Ready;
@ -599,6 +632,13 @@ Class Enforcer : UTWeapon
if ( self is 'UTPlayer' )
UTPlayer(self).PlayReloading();
invoker.slavereload = false;
Vector3 x, y, z, origin;
[x,y,z] = dt_CoordUtil.GetAxes(pitch,angle,roll);
origin = level.Vec3Offset(Vec2OffsetZ(0,0,player.viewz),x*4.-y*4.-z*8.);
let c = Spawn("EnforcerMag",origin);
c.angle = angle;
c.pitch = pitch;
c.vel = vel*.5+x*FRandom[Junk](-.5,.5)+y*FRandom[Junk](-.5,.5)-z*FRandom[Junk](1,2);
}
2NFS A 0 A_PlaySound("enforcer/select",CHAN_6);
Goto LeftReady;