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:
Marisa the Magician 2018-05-26 20:44:31 +02:00
commit eb6c8e1c35
190 changed files with 831 additions and 166 deletions

View file

@ -37,6 +37,47 @@ Class BioAmmo : Ammo
}
}
Class BioSpark : Actor
{
Default
{
RenderStyle "Add";
Radius 2;
Height 0;
+NOBLOCKMAP;
+FORCEXYBILLBOARD;
+MISSILE;
+MOVEWITHSECTOR;
+THRUACTORS;
+ROLLSPRITE;
+ROLLCENTER;
+NOTELEPORT;
BounceType "Doom";
BounceFactor 0.5;
WallBounceFactor 0.5;
Gravity 0.2;
Scale 0.04;
}
override void PostBeginPlay()
{
Super.PostBeginPlay();
frame = Random[GES](0,4);
roll = FRandom[GES](0,360);
}
States
{
Spawn:
GBLB # 1 Bright A_FadeOut(FRandom[GES](0.005,0.015));
Wait;
Death:
GBLB # 1 Bright A_FadeOut(FRandom[GES](0.04,0.06));
Wait;
Dummy:
GBLB ABCDE -1;
Stop;
}
}
Class BioHitbox : Actor
{
Default
@ -174,7 +215,8 @@ Class BioGel : Actor
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,3);
A_SpawnParticle("40FF30",SPF_FULLBRIGHT,Random[GES](30,60),FRandom[GES](1.2,2.4),0,0,0,0,pvel.x,pvel.y,pvel.z,0,0,-0.2,3.0);
let s = Spawn("BioSpark",pos);
s.vel = pvel;
}
}
if ( deadtimer <= -1 ) return;
@ -253,7 +295,8 @@ Class BioGel : Actor
for ( int i=0; i<numpt; i++ )
{
Vector3 pvel = (normal+(FRandom[GES](-.8,.8),FRandom[GES](-.8,.8),FRandom[GES](-.8,.8))).unit()*FRandom[GES](3,6);
A_SpawnParticle("40FF30",SPF_FULLBRIGHT,Random[GES](30,60),FRandom[GES](1.2,3.6),0,0,0,0,pvel.x,pvel.y,pvel.z,0,0,-0.2,3.0);
let s = Spawn("BioSpark",pos);
s.vel = pvel;
}
}
action void A_DropDrip()
@ -283,7 +326,8 @@ Class BioGel : Actor
for ( int i=0; i<numpt; i++ )
{
Vector3 pvel = (FRandom[GES](-1,1),FRandom[GES](-1,1),FRandom[GES](-1,1)).unit()*FRandom[GES](3,12);
A_SpawnParticle("40FF30",SPF_FULLBRIGHT,Random[GES](30,60),FRandom[GES](2.4,6.4),0,0,0,0,pvel.x,pvel.y,pvel.z,0,0,-0.2,3.0);
let s = Spawn("BioSpark",pos);
s.vel = pvel;
}
Scale *= 0.5;
}