Completed Chainsaw. Added some extra visual effects. Made various particle effects actor-based.
Removed key replacement classes, turns out this breaks maps.
This commit is contained in:
parent
72eb6ca8d1
commit
eb6c8e1c35
190 changed files with 831 additions and 166 deletions
|
|
@ -16,14 +16,24 @@ Class HammerImpact : Actor
|
|||
Vector3 x = (cos(angle)*cos(pitch),sin(angle)*cos(pitch),-sin(pitch));
|
||||
for ( int i=0; i<numpt; i++ )
|
||||
{
|
||||
Vector3 pvel = (x+(FRandom[Impact](-.8,.8),FRandom[Impact](-.8,.8),FRandom[Impact](-.8,.8))).unit()*FRandom[Impact](1,3);
|
||||
A_SpawnParticle(Color(1,1,1)*Random[Impact](128,192),0,Random[Impact](30,60),FRandom[Impact](2,8),0,0,0,0,pvel.x,pvel.y,pvel.z,0,0,0.03,0.5,-1,0.5);
|
||||
Vector3 pvel = (-x+(FRandom[Impact](-.8,.8),FRandom[Impact](-.8,.8),FRandom[Impact](-.8,.8))).unit()*FRandom[Impact](0.1,1.2);
|
||||
let s = Spawn("UTSmoke",pos);
|
||||
s.vel = pvel;
|
||||
s.SetShade(Color(1,1,1)*Random[Impact](128,192));
|
||||
}
|
||||
numpt = Random[Impact](8,12);
|
||||
numpt = Random[Impact](4,12);
|
||||
for ( int i=0; i<numpt; i++ )
|
||||
{
|
||||
Vector3 pvel = (FRandom[Impact](-1,1),FRandom[Impact](-1,1),FRandom[Impact](-1,1)).unit()*FRandom[Impact](2,4);
|
||||
A_SpawnParticle("FFA000",SPF_FULLBRIGHT,Random[Impact](10,20),FRandom[Impact](1.2,3.6),0,0,0,0,pvel.x,pvel.y,pvel.z,0,0,0,3.0,-1,-0.25);
|
||||
Vector3 pvel = (FRandom[Impact](-1,1),FRandom[Impact](-1,1),FRandom[Impact](-1,1)).unit()*FRandom[Impact](2,8);
|
||||
let s = Spawn("UTSpark",pos);
|
||||
s.vel = pvel;
|
||||
}
|
||||
numpt = Random[Impact](4,16);
|
||||
for ( int i=0; i<numpt; i++ )
|
||||
{
|
||||
Vector3 pvel = (FRandom[Impact](-1,1),FRandom[Impact](-1,1),FRandom[Impact](-1,1)).unit()*FRandom[Impact](2,8);
|
||||
let s = Spawn("UTChip",pos);
|
||||
s.vel = pvel;
|
||||
}
|
||||
Destroy();
|
||||
}
|
||||
|
|
@ -92,17 +102,21 @@ Class ImpactHammer : UTWeapon replaces Fist
|
|||
}
|
||||
A_QuakeEx(realcharge*6,realcharge*6,realcharge*6,16,0,1,"",QF_RELATIVE|QF_SCALEDOWN,rollIntensity:realcharge*0.2);
|
||||
realcharge = max(1.0,realcharge);
|
||||
int numpt = Random[Impact](20,40);
|
||||
int numpt = Random[Impact](5,10);
|
||||
for ( int i=0; i<numpt; i++ )
|
||||
{
|
||||
Vector3 pvel = (x+(FRandom[Impact](-.4,.4),FRandom[Impact](-.4,.4),FRandom[Impact](-.4,.4))).unit()*FRandom[Impact](1,3)*realcharge;
|
||||
A_SpawnParticle(Color(1,1,1)*Random[Impact](128,192),0,Random[Impact](30,60),FRandom[Impact](2,8),0,origin.x-pos.x,origin.y-pos.y,origin.z-pos.z,pvel.x,pvel.y,pvel.z,0,0,0.03,0.5,-1,0.5);
|
||||
let s = Spawn("UTSmoke",origin);
|
||||
s.vel = pvel;
|
||||
s.SetShade(Color(1,1,1)*Random[Impact](128,192));
|
||||
}
|
||||
numpt = Random[Impact](10,20);
|
||||
numpt = Random[Impact](4,8);
|
||||
for ( int i=0; i<numpt; i++ )
|
||||
{
|
||||
Vector3 pvel = (x+(FRandom[Impact](-.5,.5),FRandom[Impact](-.5,.5),FRandom[Impact](-.5,.5))).unit()*FRandom[Impact](2,4)*realcharge;
|
||||
A_SpawnParticle(Color(1,1,1)*Random[Impact](16,64),0,Random[Impact](5,10),FRandom[Impact](0.3,0.8),0,origin.x-pos.x,origin.y-pos.y,origin.z-pos.z,pvel.x,pvel.y,pvel.z,0,0,-0.2,2.,-0.1);
|
||||
Vector3 pvel = (x+(FRandom[Impact](-.5,.5),FRandom[Impact](-.5,.5),FRandom[Impact](-.5,.5))).unit()*FRandom[Impact](2,16)*realcharge;
|
||||
let s = Spawn("UTChip",origin);
|
||||
s.vel = pvel;
|
||||
s.scale *= 0.4;
|
||||
}
|
||||
}
|
||||
action void A_FireAltBlast()
|
||||
|
|
@ -146,17 +160,21 @@ Class ImpactHammer : UTWeapon replaces Fist
|
|||
if ( m.bSEEKERMISSILE ) m.tracer = m.target;
|
||||
m.target = self;
|
||||
}
|
||||
int numpt = Random[Impact](20,40);
|
||||
int numpt = Random[Impact](5,10);
|
||||
for ( int i=0; i<numpt; i++ )
|
||||
{
|
||||
Vector3 pvel = (x+(FRandom[Impact](-.4,.4),FRandom[Impact](-.4,.4),FRandom[Impact](-.4,.4))).unit()*FRandom[Impact](1,3);
|
||||
A_SpawnParticle(Color(1,1,1)*Random[Impact](128,192),0,Random[Impact](30,60),FRandom[Impact](2,8),0,origin.x-pos.x,origin.y-pos.y,origin.z-pos.z,pvel.x,pvel.y,pvel.z,0,0,0.03,0.5,-1,0.5);
|
||||
let s = Spawn("UTSmoke",origin);
|
||||
s.vel = pvel;
|
||||
s.SetShade(Color(1,1,1)*Random[Impact](128,192));
|
||||
}
|
||||
numpt = Random[Impact](10,20);
|
||||
numpt = Random[Impact](4,8);
|
||||
for ( int i=0; i<numpt; i++ )
|
||||
{
|
||||
Vector3 pvel = (x+(FRandom[Impact](-.5,.5),FRandom[Impact](-.5,.5),FRandom[Impact](-.5,.5))).unit()*FRandom[Impact](2,4);
|
||||
A_SpawnParticle(Color(1,1,1)*Random[Impact](16,64),0,Random[Impact](5,10),FRandom[Impact](0.3,0.8),0,origin.x-pos.x,origin.y-pos.y,origin.z-pos.z,pvel.x,pvel.y,pvel.z,0,0,-0.2,2.,-0.1);
|
||||
Vector3 pvel = (x+(FRandom[Impact](-.5,.5),FRandom[Impact](-.5,.5),FRandom[Impact](-.5,.5))).unit()*FRandom[Impact](2,16);
|
||||
let s = Spawn("UTChip",origin);
|
||||
s.vel = pvel;
|
||||
s.scale *= 0.4;
|
||||
}
|
||||
}
|
||||
action void A_ImpactRefire( statelabel flash = null )
|
||||
|
|
@ -261,6 +279,7 @@ Class ImpactHammer : UTWeapon replaces Fist
|
|||
IMPF ABCDEFGHIJKLMNOP 1;
|
||||
Goto Idle;
|
||||
Deselect:
|
||||
IMPD A 0 A_StopSound(CHAN_WEAPON);
|
||||
IMPD ABCDE 3;
|
||||
IMPD E 1 A_Lower(int.max);
|
||||
Wait;
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue