Changed up all the model offsets again due to complaints about inconsistency with UT.

Added view-space effects to Enforcer and Biorifle, others will follow soon.
Added smoke particles to spent casings.
Added green smoke particles to biorifle sludge explosions.
Touched up how rockets and grenades are fired.
Fixed a VM abort when the game is loaded while there's a Redeemer blast active.
This commit is contained in:
Marisa the Magician 2018-06-09 14:15:50 +02:00
commit aa3fd89bcb
20 changed files with 176 additions and 68 deletions

View file

@ -180,6 +180,7 @@ Class BioGel : Actor
Line atline;
int atside;
int rollvel, pitchvel, yawvel;
Vector3 normal;
override void PostBeginPlay()
{
@ -250,7 +251,6 @@ Class BioGel : Actor
SetStateLabel("XDeath");
return;
}
Vector3 normal = (0,0,0);
FLineTraceData d;
A_SetSize(0.1,0);
if ( BlockingLine )
@ -310,7 +310,7 @@ Class BioGel : Actor
}
action void A_DropDrip()
{
let d = Spawn("BioSplash",pos+cursector.ceilingplane.Normal*2*scale.x);
let d = Spawn("BioSplash",pos+invoker.normal*2*scale.x);
d.target = target;
d.angle = angle;
d.pitch = pitch;
@ -338,6 +338,17 @@ Class BioGel : Actor
let s = Spawn("BioSpark",pos);
s.vel = pvel;
}
numpt = Min(100,Scale.x*10)+Random[GES](-4,4);
for ( int i=0; i<numpt; i++ )
{
Vector3 pvel = (FRandom[GES](-1,1),FRandom[GES](-1,1),FRandom[GES](-1,1)).unit()*FRandom[GES](1.2,2.4);
let s = Spawn("UTSmoke",pos+invoker.normal*4);
s.vel = pvel;
s.scale *= 2;
s.A_SetRenderStyle(0.5,STYLE_AddShaded);
if ( Random[GES](0,1) ) s.SetShade("40FF60");
else s.SetShade("60FF40");
}
Scale *= 0.5;
}
Default
@ -486,6 +497,17 @@ Class BioRifle : UTWeapon
p.pitch = BulletSlope();
p.vel = (cos(p.angle)*cos(p.pitch),sin(p.angle)*cos(p.pitch),-sin(p.pitch))*p.speed;
p.target = self;
for ( int i=0; i<12; i++ )
{
let s = Spawn("UTViewSmoke",origin);
UTViewSmoke(s).ofs = (10,4,-3);
s.scale *= 2.0;
s.target = self;
if ( Random[GES](0,1) ) s.SetShade("40FF60");
else s.SetShade("60FF40");
s.A_SetRenderStyle(0.5,STYLE_AddShaded);
UTViewSmoke(s).vvel += (FRandom[GES](0.8,1.6),FRandom[GES](-0.5,0.5),FRandom[GES](-0.5,0.5));
}
}
action void A_BeginCharge()
{