Several optimizations on non-interactive actors.
This commit is contained in:
parent
4a46817881
commit
4bb3a1e85a
32 changed files with 336 additions and 1867 deletions
|
|
@ -1,19 +1,13 @@
|
|||
// Itamex Hammer projectiles and effects
|
||||
|
||||
// akin to the land shockwave, but with sliiiiightly different behavior
|
||||
Class HammerShockwave : Actor
|
||||
Class HammerShockwave : SWWMNonInteractiveActor
|
||||
{
|
||||
Default
|
||||
{
|
||||
Obituary "$O_HAMMER";
|
||||
+NOGRAVITY;
|
||||
+NOBLOCKMAP;
|
||||
+NOTELEPORT;
|
||||
+NODAMAGETHRUST;
|
||||
+FORCERADIUSDMG;
|
||||
+NOINTERACTION;
|
||||
Radius .1;
|
||||
Height 0.;
|
||||
}
|
||||
override void PostBeginPlay()
|
||||
{
|
||||
|
|
@ -70,17 +64,6 @@ Class HammerShockwave : Actor
|
|||
raging.DoHitFX();
|
||||
}
|
||||
}
|
||||
override void Tick()
|
||||
{
|
||||
if ( isFrozen() ) return;
|
||||
if ( !CheckNoDelay() || (tics == -1) ) return;
|
||||
if ( tics > 0 ) tics--;
|
||||
while ( !tics )
|
||||
{
|
||||
if ( !SetState(CurState.NextState) )
|
||||
return;
|
||||
}
|
||||
}
|
||||
States
|
||||
{
|
||||
Spawn:
|
||||
|
|
|
|||
|
|
@ -8,18 +8,11 @@ Class SheenCasing : SWWMCasing
|
|||
}
|
||||
}
|
||||
|
||||
Class SheenPhantom : Actor
|
||||
Class SheenPhantom : SWWMNonInteractiveActor
|
||||
{
|
||||
Default
|
||||
{
|
||||
+NOBLOCKMAP;
|
||||
+NOGRAVITY;
|
||||
+DONTSPLASH;
|
||||
+NOTELEPORT;
|
||||
+NOINTERACTION;
|
||||
+INTERPOLATEANGLES;
|
||||
Radius .1;
|
||||
Height 0.;
|
||||
Alpha .5;
|
||||
RenderStyle "Add";
|
||||
}
|
||||
|
|
@ -36,23 +29,16 @@ Class SheenPhantom : Actor
|
|||
}
|
||||
}
|
||||
|
||||
Class SheenTrail : Actor
|
||||
Class SheenTrail : SWWMNonInteractiveActor
|
||||
{
|
||||
Default
|
||||
{
|
||||
Obituary "$O_SHEENHMG";
|
||||
DamageType "Fire";
|
||||
+NOBLOCKMAP;
|
||||
+NOGRAVITY;
|
||||
+DONTSPLASH;
|
||||
+NOTELEPORT;
|
||||
+NOINTERACTION;
|
||||
+INTERPOLATEANGLES;
|
||||
+FORCERADIUSDMG;
|
||||
+NODAMAGETHRUST;
|
||||
Speed 200;
|
||||
Radius .1;
|
||||
Height 0.;
|
||||
RenderStyle "Add";
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -77,30 +77,13 @@ Class MisterMag : SWWMCasing
|
|||
}
|
||||
}
|
||||
|
||||
Class MisterRing : Actor
|
||||
Class MisterRing : SWWMNonInteractiveActor
|
||||
{
|
||||
Default
|
||||
{
|
||||
RenderStyle "Add";
|
||||
Scale 1.5;
|
||||
Radius .1;
|
||||
Height 0;
|
||||
+NOGRAVITY;
|
||||
+NOBLOCKMAP;
|
||||
+FORCEXYBILLBOARD;
|
||||
+NOTELEPORT;
|
||||
+NOINTERACTION;
|
||||
}
|
||||
override void Tick()
|
||||
{
|
||||
if ( isFrozen() ) return;
|
||||
if ( !CheckNoDelay() || (tics == -1) ) return;
|
||||
if ( tics > 0 ) tics--;
|
||||
while ( !tics )
|
||||
{
|
||||
if ( !SetState(CurState.NextState) )
|
||||
return;
|
||||
}
|
||||
}
|
||||
States
|
||||
{
|
||||
|
|
@ -144,23 +127,17 @@ Class MisterExLightTiny : MisterExLight
|
|||
}
|
||||
}
|
||||
|
||||
Class MisterBulletImpactPop : Actor
|
||||
Class MisterBulletImpactPop : SWWMNonInteractiveActor
|
||||
{
|
||||
Default
|
||||
{
|
||||
RenderStyle "Add";
|
||||
Scale 6.;
|
||||
Radius .1;
|
||||
Height 0.;
|
||||
+NOGRAVITY;
|
||||
+NOBLOCKMAP;
|
||||
+NODAMAGETHRUST;
|
||||
+FORCERADIUSDMG;
|
||||
+FORCEXYBILLBOARD;
|
||||
+ROLLSPRITE;
|
||||
+ROLLCENTER;
|
||||
+NOTELEPORT;
|
||||
+NOINTERACTION;
|
||||
}
|
||||
override void Tick()
|
||||
{
|
||||
|
|
@ -189,7 +166,7 @@ Class MisterBulletImpactPop : Actor
|
|||
}
|
||||
}
|
||||
|
||||
Class MisterFuzzy : Actor
|
||||
Class MisterFuzzy : SWWMNonInteractiveActor
|
||||
{
|
||||
MisterRailCounter mrc;
|
||||
Default
|
||||
|
|
@ -197,15 +174,9 @@ Class MisterFuzzy : Actor
|
|||
Obituary "$O_MORTALRIFLE";
|
||||
DamageType "Mortal";
|
||||
RenderStyle "Add";
|
||||
Radius .1;
|
||||
Height 0;
|
||||
+NODAMAGETHRUST;
|
||||
+FORCERADIUSDMG;
|
||||
+FOILINVUL;
|
||||
+NOGRAVITY;
|
||||
+NOBLOCKMAP;
|
||||
+DONTSPLASH;
|
||||
+NOINTERACTION;
|
||||
}
|
||||
override void PostBeginPlay()
|
||||
{
|
||||
|
|
@ -300,21 +271,14 @@ Class MisterFuzzy : Actor
|
|||
}
|
||||
}
|
||||
|
||||
Class MisterFuzzyTrail : Actor
|
||||
Class MisterFuzzyTrail : SWWMNonInteractiveActor
|
||||
{
|
||||
Default
|
||||
{
|
||||
RenderStyle "Add";
|
||||
Radius .1;
|
||||
Height 0.;
|
||||
Scale 1.5;
|
||||
Alpha .25;
|
||||
+FORCEXYBILLBOARD;
|
||||
+NOGRAVITY;
|
||||
+NOBLOCKMAP;
|
||||
+NOINTERACTION;
|
||||
+DONTSPLASH;
|
||||
+NOTELEPORT;
|
||||
}
|
||||
override void Tick()
|
||||
{
|
||||
|
|
@ -333,7 +297,7 @@ Class MisterFuzzyTrail : Actor
|
|||
}
|
||||
}
|
||||
|
||||
Class MisterPop : Actor
|
||||
Class MisterPop : SWWMNonInteractiveActor
|
||||
{
|
||||
MisterRailCounter mrc;
|
||||
Default
|
||||
|
|
@ -341,32 +305,14 @@ Class MisterPop : Actor
|
|||
Obituary "$O_MORTALRIFLE";
|
||||
DamageType "Mortal";
|
||||
RenderStyle "Add";
|
||||
Radius .1;
|
||||
Height 0.;
|
||||
Scale .2;
|
||||
+FORCEXYBILLBOARD;
|
||||
+NOGRAVITY;
|
||||
+NOBLOCKMAP;
|
||||
+NODAMAGETHRUST;
|
||||
+FORCERADIUSDMG;
|
||||
+NOINTERACTION;
|
||||
+DONTSPLASH;
|
||||
+NOTELEPORT;
|
||||
+FOILINVUL;
|
||||
+ROLLSPRITE;
|
||||
+ROLLCENTER;
|
||||
}
|
||||
override void Tick()
|
||||
{
|
||||
if ( isFrozen() ) return;
|
||||
if ( !CheckNoDelay() || (tics == -1) ) return;
|
||||
if ( tics > 0 ) tics--;
|
||||
while ( !tics )
|
||||
{
|
||||
if ( !SetState(CurState.NextState) )
|
||||
return;
|
||||
}
|
||||
}
|
||||
States
|
||||
{
|
||||
Spawn:
|
||||
|
|
@ -394,7 +340,7 @@ Class MisterPop : Actor
|
|||
}
|
||||
}
|
||||
|
||||
Class MisterBulletImpact : Actor
|
||||
Class MisterBulletImpact : SWWMNonInteractiveActor
|
||||
{
|
||||
MisterRailCounter mrc; // simplify code by putting this here
|
||||
Default
|
||||
|
|
@ -402,17 +348,11 @@ Class MisterBulletImpact : Actor
|
|||
Obituary "$O_MORTALRIFLE";
|
||||
DamageType "Mortal";
|
||||
RenderStyle "Add";
|
||||
Radius .1;
|
||||
Height 0.;
|
||||
Scale 1.5;
|
||||
+NOGRAVITY;
|
||||
+NOBLOCKMAP;
|
||||
+NODAMAGETHRUST;
|
||||
+FORCERADIUSDMG;
|
||||
+FORCEXYBILLBOARD;
|
||||
+NOTELEPORT;
|
||||
+FOILINVUL;
|
||||
+NOINTERACTION;
|
||||
}
|
||||
virtual void A_BulletExplode()
|
||||
{
|
||||
|
|
@ -477,23 +417,15 @@ Class MisterBulletImpact : Actor
|
|||
}
|
||||
special1++;
|
||||
}
|
||||
override void Tick()
|
||||
{
|
||||
if ( isFrozen() ) return;
|
||||
A_SetScale(scale.x*1.02,scale.y*1.02);
|
||||
if ( !CheckNoDelay() || (tics == -1) ) return;
|
||||
if ( tics > 0 ) tics--;
|
||||
while ( !tics )
|
||||
{
|
||||
if ( !SetState(CurState.NextState) )
|
||||
return;
|
||||
}
|
||||
}
|
||||
States
|
||||
{
|
||||
Spawn:
|
||||
TNT1 A 0;
|
||||
XEX7 ABDEGHJKMNPQSTVWYZ\] 1 Bright A_BulletSubExplode();
|
||||
XEX7 ABDEGHJKMNPQSTVWYZ\] 1 Bright
|
||||
{
|
||||
A_SetScale(scale.x*1.02,scale.y*1.02);
|
||||
A_BulletSubExplode();
|
||||
}
|
||||
Stop;
|
||||
}
|
||||
}
|
||||
|
|
@ -573,7 +505,11 @@ Class MisterBuckshotImpact : MisterBulletImpact
|
|||
{
|
||||
Spawn:
|
||||
TNT1 A 0;
|
||||
XEX7 ADGJMPSVY\ 1 Bright A_BulletSubExplode();
|
||||
XEX7 ADGJMPSVY\ 1 Bright
|
||||
{
|
||||
A_SetScale(scale.x*1.02,scale.y*1.02);
|
||||
A_BulletSubExplode();
|
||||
}
|
||||
Stop;
|
||||
}
|
||||
}
|
||||
|
|
@ -653,7 +589,11 @@ Class MisterStreamImpact : MisterBulletImpact
|
|||
{
|
||||
Spawn:
|
||||
TNT1 A 0;
|
||||
XEX7 ACEGIKMOQSUWY[] 1 Bright A_BulletSubExplode();
|
||||
XEX7 ACEGIKMOQSUWY[] 1 Bright
|
||||
{
|
||||
A_SetScale(scale.x*1.02,scale.y*1.02);
|
||||
A_BulletSubExplode();
|
||||
}
|
||||
Stop;
|
||||
}
|
||||
}
|
||||
|
|
@ -742,7 +682,11 @@ Class MisterRailEntryImpact : MisterBulletImpact
|
|||
{
|
||||
Spawn:
|
||||
TNT1 A 0;
|
||||
XEX7 ACEGIKMOQSUWY[] 1 Bright A_BulletSubExplode();
|
||||
XEX7 ACEGIKMOQSUWY[] 1 Bright
|
||||
{
|
||||
A_SetScale(scale.x*1.02,scale.y*1.02);
|
||||
A_BulletSubExplode();
|
||||
}
|
||||
Stop;
|
||||
}
|
||||
}
|
||||
|
|
@ -830,7 +774,11 @@ Class MisterRailExitImpact : MisterBulletImpact
|
|||
{
|
||||
Spawn:
|
||||
TNT1 A 0;
|
||||
XEX7 ABCDEFGHIJKLMNOPQRSTUVWXYZ[\] 1 Bright A_BulletSubExplode();
|
||||
XEX7 ABCDEFGHIJKLMNOPQRSTUVWXYZ[\] 1 Bright
|
||||
{
|
||||
A_SetScale(scale.x*1.02,scale.y*1.02);
|
||||
A_BulletSubExplode();
|
||||
}
|
||||
Stop;
|
||||
}
|
||||
}
|
||||
|
|
@ -845,7 +793,7 @@ Class MisterRailLight : PaletteLight
|
|||
}
|
||||
}
|
||||
|
||||
Class MisterRailHit : Actor
|
||||
Class MisterRailHit : SWWMNonInteractiveActor
|
||||
{
|
||||
MisterRailCounter mrc;
|
||||
|
||||
|
|
@ -853,16 +801,9 @@ Class MisterRailHit : Actor
|
|||
{
|
||||
Obituary "$O_MORTALRIFLE";
|
||||
DamageType 'Mortal';
|
||||
Radius .1;
|
||||
Height 0;
|
||||
+NOGRAVITY;
|
||||
+NOCLIP;
|
||||
+DONTSPLASH;
|
||||
+NOTELEPORT;
|
||||
+FORCERADIUSDMG;
|
||||
+FOILINVUL;
|
||||
+NODAMAGETHRUST;
|
||||
+NOINTERACTION;
|
||||
}
|
||||
virtual void Explode( bool thruwall = false )
|
||||
{
|
||||
|
|
@ -870,17 +811,6 @@ Class MisterRailHit : Actor
|
|||
[nhit, nkill] = SWWMUtility.DoExplosion(self,44,120000,100,100,DE_EXTRAZTHRUST|DE_COUNTENEMIES,ignoreme:target);
|
||||
if ( mrc ) mrc.nkill += nkill;
|
||||
}
|
||||
override void Tick()
|
||||
{
|
||||
if ( isFrozen() ) return;
|
||||
if ( !CheckNoDelay() || (tics == -1) ) return;
|
||||
if ( tics > 0 ) tics--;
|
||||
while ( !tics )
|
||||
{
|
||||
if ( !SetState(CurState.NextState) )
|
||||
return;
|
||||
}
|
||||
}
|
||||
States
|
||||
{
|
||||
Spawn:
|
||||
|
|
@ -889,7 +819,7 @@ Class MisterRailHit : Actor
|
|||
}
|
||||
}
|
||||
|
||||
Class MisterRailBeam : Actor
|
||||
Class MisterRailBeam : SWWMNonInteractiveActor
|
||||
{
|
||||
MisterRailCounter mrc;
|
||||
transient CandyBeamTracer cbt; // from wikipedia
|
||||
|
|
@ -898,15 +828,8 @@ Class MisterRailBeam : Actor
|
|||
{
|
||||
Obituary "$O_MORTALRIFLE";
|
||||
RenderStyle "Add";
|
||||
Radius .1;
|
||||
Height 0.;
|
||||
RenderRadius 10000.;
|
||||
+FORCEXYBILLBOARD;
|
||||
+NOGRAVITY;
|
||||
+NOBLOCKMAP;
|
||||
+NOINTERACTION;
|
||||
+DONTSPLASH;
|
||||
+NOTELEPORT;
|
||||
+FOILINVUL;
|
||||
}
|
||||
override void PostBeginPlay()
|
||||
|
|
@ -945,21 +868,14 @@ Class MisterRailBeam : Actor
|
|||
Stop;
|
||||
}
|
||||
}
|
||||
Class MisterRailChildBeam : Actor
|
||||
Class MisterRailChildBeam : SWWMNonInteractiveActor
|
||||
{
|
||||
Default
|
||||
{
|
||||
RenderStyle "Add";
|
||||
Radius .1;
|
||||
Height 0.;
|
||||
Alpha .5;
|
||||
RenderRadius 10000.;
|
||||
+FORCEXYBILLBOARD;
|
||||
+NOGRAVITY;
|
||||
+NOBLOCKMAP;
|
||||
+NOINTERACTION;
|
||||
+DONTSPLASH;
|
||||
+NOTELEPORT;
|
||||
}
|
||||
override void Tick()
|
||||
{
|
||||
|
|
@ -975,19 +891,12 @@ Class MisterRailChildBeam : Actor
|
|||
}
|
||||
}
|
||||
|
||||
Class MisterGrenadeFlare : Actor
|
||||
Class MisterGrenadeFlare : SWWMNonInteractiveActor
|
||||
{
|
||||
Default
|
||||
{
|
||||
RenderStyle "Add";
|
||||
Radius .1;
|
||||
Height 0.;
|
||||
+NOGRAVITY;
|
||||
+NOBLOCKMAP;
|
||||
+DONTSPLASH;
|
||||
+NOTELEPORT;
|
||||
+FORCEXYBILLBOARD;
|
||||
+NOINTERACTION;
|
||||
}
|
||||
override void Tick()
|
||||
{
|
||||
|
|
@ -999,7 +908,6 @@ Class MisterGrenadeFlare : Actor
|
|||
}
|
||||
SetOrigin(master.Vec3Offset(0,0,master.height/2),true);
|
||||
}
|
||||
|
||||
States
|
||||
{
|
||||
Spawn:
|
||||
|
|
|
|||
|
|
@ -41,26 +41,20 @@ Class QuadExplLight3 : PaletteLight
|
|||
}
|
||||
}
|
||||
|
||||
Class QuadFlare : Actor
|
||||
Class QuadFlare : SWWMNonInteractiveActor
|
||||
{
|
||||
bool bBig;
|
||||
|
||||
Default
|
||||
{
|
||||
RenderStyle "Add";
|
||||
Radius .1;
|
||||
Height 0.;
|
||||
Alpha .5;
|
||||
+NOGRAVITY;
|
||||
+NOBLOCKMAP;
|
||||
+DONTSPLASH;
|
||||
+NOTELEPORT;
|
||||
+FORCEXYBILLBOARD;
|
||||
+NOINTERACTION;
|
||||
}
|
||||
|
||||
override void Tick()
|
||||
{
|
||||
prev = pos;
|
||||
if ( isFrozen() ) return;
|
||||
if ( !master || !master.bMISSILE )
|
||||
{
|
||||
|
|
@ -84,23 +78,18 @@ Class QuadFlare : Actor
|
|||
}
|
||||
}
|
||||
|
||||
Class QuadTrail : Actor
|
||||
Class QuadTrail : SWWMNonInteractiveActor
|
||||
{
|
||||
Mixin SWWMMinimalMovingTick;
|
||||
|
||||
Default
|
||||
{
|
||||
RenderStyle "Add";
|
||||
Radius .1;
|
||||
Height 0.;
|
||||
Alpha .5;
|
||||
Scale 1.5;
|
||||
+NOBLOCKMAP;
|
||||
+NOGRAVITY;
|
||||
+NOTELEPORT;
|
||||
+FORCEXYBILLBOARD;
|
||||
+ROLLSPRITE;
|
||||
+ROLLCENTER;
|
||||
+DONTSPLASH;
|
||||
+NOINTERACTION;
|
||||
}
|
||||
override void PostBeginPlay()
|
||||
{
|
||||
|
|
@ -116,18 +105,6 @@ Class QuadTrail : Actor
|
|||
A_SetScale(scale.x*.96);
|
||||
A_FadeOut(.05);
|
||||
}
|
||||
override void Tick()
|
||||
{
|
||||
if ( isFrozen() ) return;
|
||||
SetOrigin(level.Vec3Offset(pos,vel),true);
|
||||
if ( !CheckNoDelay() || (tics == -1) ) return;
|
||||
if ( tics > 0 ) tics--;
|
||||
while ( !tics )
|
||||
{
|
||||
if ( !SetState(CurState.NextState) )
|
||||
return;
|
||||
}
|
||||
}
|
||||
States
|
||||
{
|
||||
Spawn:
|
||||
|
|
@ -136,22 +113,15 @@ Class QuadTrail : Actor
|
|||
}
|
||||
}
|
||||
|
||||
Class QuadEmber : Actor
|
||||
Class QuadEmber : SWWMNonInteractiveActor
|
||||
{
|
||||
Vector3 freq, amp, ph;
|
||||
|
||||
Default
|
||||
{
|
||||
RenderStyle "Add";
|
||||
Radius .1;
|
||||
Height 0;
|
||||
Scale .3;
|
||||
+NOBLOCKMAP;
|
||||
+NOGRAVITY;
|
||||
+DONTSPLASH;
|
||||
+FORCEXYBILLBOARD;
|
||||
+NOTELEPORT;
|
||||
+NOINTERACTION;
|
||||
}
|
||||
override void PostBeginPlay()
|
||||
{
|
||||
|
|
@ -198,12 +168,6 @@ Class QuadEmber : Actor
|
|||
}
|
||||
else A_FadeOut(FRandom[ExploS](.02,.05));
|
||||
frame = clamp(int(round(4-alpha*4)),0,4);
|
||||
if ( tics > 0 ) tics--;
|
||||
while ( !tics )
|
||||
{
|
||||
if ( !SetState(CurState.NextState) )
|
||||
return;
|
||||
}
|
||||
}
|
||||
States
|
||||
{
|
||||
|
|
@ -216,30 +180,13 @@ Class QuadEmber : Actor
|
|||
}
|
||||
}
|
||||
|
||||
Class QuadExplRing : Actor
|
||||
Class QuadExplRing : SWWMNonInteractiveActor
|
||||
{
|
||||
Default
|
||||
{
|
||||
RenderStyle "Add";
|
||||
Scale 1.2;
|
||||
Radius .1;
|
||||
Height 0;
|
||||
+NOGRAVITY;
|
||||
+NOBLOCKMAP;
|
||||
+FORCEXYBILLBOARD;
|
||||
+NOTELEPORT;
|
||||
+NOINTERACTION;
|
||||
}
|
||||
override void Tick()
|
||||
{
|
||||
if ( isFrozen() ) return;
|
||||
if ( !CheckNoDelay() || (tics == -1) ) return;
|
||||
if ( tics > 0 ) tics--;
|
||||
while ( !tics )
|
||||
{
|
||||
if ( !SetState(CurState.NextState) )
|
||||
return;
|
||||
}
|
||||
}
|
||||
States
|
||||
{
|
||||
|
|
@ -481,29 +428,14 @@ Class QuadExplArm2 : QuadExplArm
|
|||
}
|
||||
}
|
||||
|
||||
Class QuadExplTrail : Actor
|
||||
Class QuadExplTrail : SWWMNonInteractiveActor
|
||||
{
|
||||
Default
|
||||
{
|
||||
RenderStyle "Add";
|
||||
+NOBLOCKMAP;
|
||||
+NOGRAVITY;
|
||||
+FORCEXYBILLBOARD;
|
||||
+NOTELEPORT;
|
||||
+NOINTERACTION;
|
||||
Scale 1.2;
|
||||
}
|
||||
override void Tick()
|
||||
{
|
||||
if ( isFrozen() ) return;
|
||||
if ( !CheckNoDelay() || (tics == -1) ) return;
|
||||
if ( tics > 0 ) tics--;
|
||||
while ( !tics )
|
||||
{
|
||||
if ( !SetState(CurState.NextState) )
|
||||
return;
|
||||
}
|
||||
}
|
||||
States
|
||||
{
|
||||
Spawn:
|
||||
|
|
@ -1094,8 +1026,10 @@ Class OnFire : Inventory
|
|||
}
|
||||
}
|
||||
|
||||
Class OnFireTrail : Actor
|
||||
Class OnFireTrail : SWWMNonInteractiveActor
|
||||
{
|
||||
Mixin SWWMMinimalMovingWaterTick;
|
||||
|
||||
override void PostBeginPlay()
|
||||
{
|
||||
Super.PostBeginPlay();
|
||||
|
|
@ -1126,40 +1060,15 @@ Class OnFireTrail : Actor
|
|||
A_SetScale(scale.x*.98,scale.y*.98);
|
||||
A_FadeOut(.01);
|
||||
}
|
||||
override void Tick()
|
||||
{
|
||||
if ( isFrozen() ) return;
|
||||
SetOrigin(level.Vec3Offset(pos,vel),true);
|
||||
UpdateWaterLevel();
|
||||
if ( !CheckNoDelay() || (tics == -1) ) return;
|
||||
if ( tics > 0 ) tics--;
|
||||
while ( !tics )
|
||||
{
|
||||
if ( !SetState(CurState.NextState) )
|
||||
return;
|
||||
}
|
||||
}
|
||||
override bool CanCollideWith( Actor Other, bool passive )
|
||||
{
|
||||
return false;
|
||||
}
|
||||
Default
|
||||
{
|
||||
RenderStyle "Add";
|
||||
Speed 2;
|
||||
Radius 2;
|
||||
Height 4;
|
||||
Alpha .3;
|
||||
Scale .6;
|
||||
+NOBLOCKMAP;
|
||||
+NOGRAVITY;
|
||||
+NOTELEPORT;
|
||||
+FORCEXYBILLBOARD;
|
||||
+ROLLSPRITE;
|
||||
+ROLLCENTER;
|
||||
+DONTSPLASH;
|
||||
+NOINTERACTION;
|
||||
+MBFBOUNCER;
|
||||
}
|
||||
States
|
||||
{
|
||||
|
|
|
|||
|
|
@ -112,7 +112,7 @@ extend Class SWWMHandler
|
|||
if ( a.bINVISIBLE && !(a is 'DynamicLight') ) continue;
|
||||
if ( (a is 'Inventory') && Inventory(a).Owner ) continue;
|
||||
if ( (a is 'SWWMPickupFlash') && (a.CurState == a.FindState('Pickup')) ) continue;
|
||||
if ( (a is 'SWWMShadow') || (a is 'GhostArtifactX') || (a is 'HeadpatTracker') || (a is 'SWWMExtendedItemHitbox') || (a is 'SWWMTeleportLine') || (a is 'SWWMTeleportDest') ) continue;
|
||||
if ( (a is 'SWWMShadow') || (a is 'SWWMItemOverlay') || (a is 'HeadpatTracker') || (a is 'SWWMExtendedItemHitbox') || (a is 'SWWMTeleportLine') || (a is 'SWWMTeleportDest') ) continue;
|
||||
if ( a.Distance3DSquared(e.Camera) > 1000000 ) continue;
|
||||
DrawActor(e,a);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -537,9 +537,7 @@ Class SWWMDialogueTrigger : Actor
|
|||
default
|
||||
{
|
||||
+NOBLOCKMAP;
|
||||
+NOGRAVITY;
|
||||
+NOINTERACTION;
|
||||
+DONTSPLASH;
|
||||
}
|
||||
override void Activate( Actor activator )
|
||||
{
|
||||
|
|
|
|||
|
|
@ -68,7 +68,7 @@ Class RedShell16 : RedShell
|
|||
}
|
||||
}
|
||||
|
||||
Class GoldShellSparkle : Actor
|
||||
Class GoldShellSparkle : SWWMNonInteractiveActor
|
||||
{
|
||||
override void PostBeginPlay()
|
||||
{
|
||||
|
|
@ -86,14 +86,7 @@ Class GoldShellSparkle : Actor
|
|||
{
|
||||
RenderStyle "Add";
|
||||
Scale 0.05;
|
||||
+NOGRAVITY;
|
||||
+NOBLOCKMAP;
|
||||
+NOINTERACTION;
|
||||
+SYNCHRONIZED;
|
||||
+DONTSPLASH;
|
||||
+NOTELEPORT;
|
||||
+FORCEXYBILLBOARD;
|
||||
FloatBobPhase 0;
|
||||
}
|
||||
States
|
||||
{
|
||||
|
|
|
|||
|
|
@ -155,16 +155,10 @@ Mixin Class SWWMOverlapPickupSound
|
|||
}
|
||||
}
|
||||
|
||||
Class SWWMRespawnTimer : Actor
|
||||
Class SWWMRespawnTimer : SWWMNonInteractiveActor
|
||||
{
|
||||
default
|
||||
{
|
||||
+NOGRAVITY;
|
||||
+NOINTERACTION;
|
||||
+DONTSPLASH;
|
||||
+NOTELEPORT;
|
||||
Radius .1;
|
||||
Height 0.;
|
||||
Args 0,3,2;
|
||||
}
|
||||
override void PostBeginPlay()
|
||||
|
|
@ -195,12 +189,6 @@ Class SWWMRespawnTimer : Actor
|
|||
A_SpawnParticle(Color(args[0]*85,args[1]*85,args[2]*85),SPF_FULLBRIGHT,Random[ExploS](30,60),FRandom[ExploS](1.,2.),0,0,0,16,FRandom[ExploS](-.8,.8),FRandom[ExploS](-.8,.8),FRandom[ExploS](-.8,.8),0,0,0,FRandom[ExploS](.45,.9)*str,-1,FRandom[ExploS](-.04,-.02)*str);
|
||||
}
|
||||
}
|
||||
States
|
||||
{
|
||||
Spawn:
|
||||
TNT1 A -1;
|
||||
Stop;
|
||||
}
|
||||
}
|
||||
|
||||
Mixin Class SWWMPickupGlow
|
||||
|
|
@ -219,6 +207,35 @@ Mixin Class SWWMPickupGlow
|
|||
}
|
||||
}
|
||||
|
||||
Class SWWMItemOverlay : SWWMNonInteractiveActor
|
||||
{
|
||||
Default
|
||||
{
|
||||
RenderStyle "Add";
|
||||
+FLOATBOB;
|
||||
FloatBobStrength .25;
|
||||
}
|
||||
override void Tick()
|
||||
{
|
||||
if ( !target )
|
||||
{
|
||||
Destroy();
|
||||
return;
|
||||
}
|
||||
prev = target.prev;
|
||||
if ( (target.pos != pos) || (target.vel != (0,0,0)) ) SetOrigin(target.pos+target.vel,true);
|
||||
if ( angle != target.angle ) A_SetAngle(target.angle,SPF_INTERPOLATE);
|
||||
FloatBobPhase = target.FloatBobPhase;
|
||||
bInvisible = target.bInvisible||Inventory(target).Owner;
|
||||
}
|
||||
States
|
||||
{
|
||||
Spawn:
|
||||
XZW1 A -1 Bright;
|
||||
Stop;
|
||||
}
|
||||
}
|
||||
|
||||
Mixin Class SWWMRespawn
|
||||
{
|
||||
override void Hide()
|
||||
|
|
|
|||
|
|
@ -283,19 +283,11 @@ Class SWWMFlag : Actor
|
|||
}
|
||||
|
||||
// oof
|
||||
Class SWWMGasCloudSpawner : Actor
|
||||
Class SWWMGasCloudSpawner : SWWMNonInteractiveActor
|
||||
{
|
||||
Default
|
||||
{
|
||||
Radius .1;
|
||||
Height 0.;
|
||||
+NOBLOCKMAP;
|
||||
+NOTELEPORT;
|
||||
+DONTSPLASH;
|
||||
+NOINTERACTION;
|
||||
}
|
||||
override void Tick()
|
||||
{
|
||||
if ( isFrozen() ) return;
|
||||
if ( !(special1%5) )
|
||||
{
|
||||
Vector3 x, y, z;
|
||||
|
|
@ -309,20 +301,15 @@ Class SWWMGasCloudSpawner : Actor
|
|||
}
|
||||
}
|
||||
|
||||
Class SWWMGasCloud : Actor
|
||||
Class SWWMGasCloud : SWWMNonInteractiveActor
|
||||
{
|
||||
Default
|
||||
{
|
||||
Radius .1;
|
||||
Height 0.;
|
||||
+NOBLOCKMAP;
|
||||
+NOTELEPORT;
|
||||
+DONTSPLASH;
|
||||
+NOINTERACTION;
|
||||
+FORCERADIUSDMG;
|
||||
}
|
||||
override void Tick()
|
||||
{
|
||||
if ( isFrozen() ) return;
|
||||
for ( int i=0; i<2; i++ )
|
||||
{
|
||||
let e = Spawn("SWWMFart",level.Vec3Offset(pos,specialf1*SWWMUtility.Vec3FromAngles(FRandom[ExploS](0,360),FRandom[ExploS](-90,90))*20.));
|
||||
|
|
@ -352,7 +339,7 @@ Class SWWMFart : SWWMHalfSmoke
|
|||
}
|
||||
|
||||
// yay!
|
||||
Class FancyConfetti : Actor
|
||||
Class FancyConfetti : SWWMNonInteractiveActor
|
||||
{
|
||||
int deadtimer;
|
||||
bool dead;
|
||||
|
|
@ -362,20 +349,10 @@ Class FancyConfetti : Actor
|
|||
|
||||
Default
|
||||
{
|
||||
Radius 2;
|
||||
Height 2;
|
||||
+NOBLOCKMAP;
|
||||
+DROPOFF;
|
||||
+THRUACTORS;
|
||||
+NOTELEPORT;
|
||||
+DONTSPLASH;
|
||||
+INTERPOLATEANGLES;
|
||||
+ROLLSPRITE;
|
||||
+ROLLCENTER;
|
||||
+NOINTERACTION;
|
||||
+SYNCHRONIZED;
|
||||
Gravity 0.05;
|
||||
FloatBobPhase 0;
|
||||
}
|
||||
override void PostBeginPlay()
|
||||
{
|
||||
|
|
@ -522,20 +499,13 @@ Class FancyConfetti : Actor
|
|||
Stop;
|
||||
}
|
||||
}
|
||||
Class SuperFancyTrail : Actor
|
||||
Class SuperFancyTrail : SWWMNonInteractiveActor
|
||||
{
|
||||
Default
|
||||
{
|
||||
RenderStyle "Add";
|
||||
Radius .1;
|
||||
Height 0.;
|
||||
XScale 24.;
|
||||
+FORCEXYBILLBOARD;
|
||||
+NOGRAVITY;
|
||||
+NOBLOCKMAP;
|
||||
+NOINTERACTION;
|
||||
+DONTSPLASH;
|
||||
+NOTELEPORT;
|
||||
}
|
||||
override void Tick()
|
||||
{
|
||||
|
|
@ -550,24 +520,16 @@ Class SuperFancyTrail : Actor
|
|||
Stop;
|
||||
}
|
||||
}
|
||||
Class SuperFancySparkle : Actor
|
||||
Class SuperFancySparkle : SWWMNonInteractiveActor
|
||||
{
|
||||
Default
|
||||
{
|
||||
RenderStyle "Add";
|
||||
Radius 0.1;
|
||||
Height 0;
|
||||
Scale .25;
|
||||
+NOGRAVITY;
|
||||
+NOBLOCKMAP;
|
||||
+DONTSPLASH;
|
||||
+ROLLSPRITE;
|
||||
+ROLLCENTER;
|
||||
+INTERPOLATEANGLES;
|
||||
+FORCEXYBILLBOARD;
|
||||
+NOINTERACTION;
|
||||
+SYNCHRONIZED;
|
||||
FloatBobPhase 0;
|
||||
}
|
||||
override void PostBeginPlay()
|
||||
{
|
||||
|
|
@ -583,8 +545,8 @@ Class SuperFancySparkle : Actor
|
|||
}
|
||||
override void Tick()
|
||||
{
|
||||
if ( isFrozen() ) return;
|
||||
prev = pos;
|
||||
if ( isFrozen() ) return;
|
||||
A_SetScale(scale.x*specialf1);
|
||||
A_SetRoll(roll+special1,SPF_INTERPOLATE);
|
||||
A_FadeOut(specialf2);
|
||||
|
|
@ -641,19 +603,10 @@ Class SuperPartyLight : PaletteLight
|
|||
SetOrigin(level.Vec3Offset(pos,vel),true);
|
||||
}
|
||||
}
|
||||
Class PartyTime : Actor
|
||||
Class PartyTime : SWWMNonInteractiveActor
|
||||
{
|
||||
bool ignite;
|
||||
|
||||
Default
|
||||
{
|
||||
Radius .1;
|
||||
Height 0.;
|
||||
+NOBLOCKMAP;
|
||||
+NOTELEPORT;
|
||||
+DONTSPLASH;
|
||||
+NOINTERACTION;
|
||||
}
|
||||
override void PostBeginPlay()
|
||||
{
|
||||
if ( target ) specialf1 = target.Height/2.;
|
||||
|
|
|
|||
|
|
@ -236,14 +236,8 @@ Mixin Class SWWMShadedPowerup
|
|||
}
|
||||
}
|
||||
|
||||
Class GhostSnd : Actor
|
||||
Class GhostSnd : SWWMNonInteractiveActor
|
||||
{
|
||||
Default
|
||||
{
|
||||
+NOBLOCKMAP;
|
||||
+NOGRAVITY;
|
||||
+NOINTERACTION;
|
||||
}
|
||||
override void Tick()
|
||||
{
|
||||
if ( !target || !master )
|
||||
|
|
@ -405,44 +399,7 @@ Class GhostPower : PowerInvisibility
|
|||
}
|
||||
}
|
||||
|
||||
Class GhostArtifactX : Actor
|
||||
{
|
||||
SpriteID bsprite;
|
||||
|
||||
Default
|
||||
{
|
||||
RenderStyle "Add";
|
||||
+NOGRAVITY;
|
||||
+NOCLIP;
|
||||
+DONTSPLASH;
|
||||
+NOINTERACTION;
|
||||
Radius .1;
|
||||
Height 0;
|
||||
+FLOATBOB;
|
||||
FloatBobStrength 0.25;
|
||||
}
|
||||
override void Tick()
|
||||
{
|
||||
if ( !target )
|
||||
{
|
||||
Destroy();
|
||||
return;
|
||||
}
|
||||
prev = target.prev;
|
||||
vel = target.vel;
|
||||
if ( (target.pos != pos) || (target.vel != (0,0,0)) ) SetOrigin(target.pos+vel,true);
|
||||
if ( angle != target.angle ) A_SetAngle(target.angle,SPF_INTERPOLATE);
|
||||
FloatBobPhase = target.FloatBobPhase;
|
||||
if ( !bsprite ) bsprite = GetSpriteIndex('XZW1');
|
||||
bInvisible = target.bInvisible||(target.sprite!=bsprite);
|
||||
}
|
||||
States
|
||||
{
|
||||
Spawn:
|
||||
XZW1 A -1 Bright;
|
||||
Stop;
|
||||
}
|
||||
}
|
||||
Class GhostArtifactX : SWWMItemOverlay {}
|
||||
|
||||
Class GhostArtifact : Inventory
|
||||
{
|
||||
|
|
@ -521,14 +478,8 @@ Class GhostArtifact : Inventory
|
|||
}
|
||||
}
|
||||
|
||||
Class GravSnd : Actor
|
||||
Class GravSnd : SWWMNonInteractiveActor
|
||||
{
|
||||
Default
|
||||
{
|
||||
+NOBLOCKMAP;
|
||||
+NOGRAVITY;
|
||||
+NOINTERACTION;
|
||||
}
|
||||
override void Tick()
|
||||
{
|
||||
if ( !target || !master )
|
||||
|
|
@ -614,7 +565,7 @@ Class GravityPower : Powerup
|
|||
|
||||
}
|
||||
|
||||
Class GravityX : GhostArtifactX
|
||||
Class GravityX : SWWMItemOverlay
|
||||
{
|
||||
Default
|
||||
{
|
||||
|
|
@ -717,14 +668,8 @@ Class InvinciballLight : PointLightAttenuated
|
|||
bDORMANT = Powerup(master).isBlinking();
|
||||
}
|
||||
}
|
||||
Class InvinciSnd : Actor
|
||||
Class InvinciSnd : SWWMNonInteractiveActor
|
||||
{
|
||||
Default
|
||||
{
|
||||
+NOBLOCKMAP;
|
||||
+NOGRAVITY;
|
||||
+NOINTERACTION;
|
||||
}
|
||||
override void Tick()
|
||||
{
|
||||
if ( !target || !master )
|
||||
|
|
@ -854,7 +799,7 @@ Class InvinciballPower : Powerup
|
|||
}
|
||||
}
|
||||
|
||||
Class InvinciballX : GhostArtifactX
|
||||
Class InvinciballX : SWWMItemOverlay
|
||||
{
|
||||
Default
|
||||
{
|
||||
|
|
@ -967,14 +912,8 @@ Class RagekitLight : PointLightAttenuated
|
|||
}
|
||||
}
|
||||
|
||||
Class RageSnd : Actor
|
||||
Class RageSnd : SWWMNonInteractiveActor
|
||||
{
|
||||
Default
|
||||
{
|
||||
+NOBLOCKMAP;
|
||||
+NOGRAVITY;
|
||||
+NOINTERACTION;
|
||||
}
|
||||
override void Tick()
|
||||
{
|
||||
if ( !target || !master )
|
||||
|
|
@ -1140,7 +1079,7 @@ Class RagekitPower : Powerup
|
|||
}
|
||||
}
|
||||
|
||||
Class RagekitX : GhostArtifactX
|
||||
Class RagekitX : SWWMItemOverlay
|
||||
{
|
||||
Default
|
||||
{
|
||||
|
|
@ -2002,14 +1941,8 @@ Class BarrierLight : PointLightAttenuated
|
|||
bDORMANT = Powerup(master).isBlinking();
|
||||
}
|
||||
}
|
||||
Class BarrierSnd : Actor
|
||||
Class BarrierSnd : SWWMNonInteractiveActor
|
||||
{
|
||||
Default
|
||||
{
|
||||
+NOBLOCKMAP;
|
||||
+NOGRAVITY;
|
||||
+NOINTERACTION;
|
||||
}
|
||||
override void Tick()
|
||||
{
|
||||
if ( !target || !master )
|
||||
|
|
@ -2273,9 +2206,7 @@ Class EBarrier : Inventory
|
|||
}
|
||||
}
|
||||
|
||||
Class EBarrierX : GhostArtifactX
|
||||
{
|
||||
}
|
||||
Class EBarrierX : SWWMItemOverlay {}
|
||||
|
||||
Class TendrilTracer : LineTracer
|
||||
{
|
||||
|
|
@ -2308,7 +2239,7 @@ Class TendrilTracer : LineTracer
|
|||
}
|
||||
|
||||
// main heatseeker
|
||||
Class MykradvoTendril : Actor
|
||||
Class MykradvoTendril : SWWMNonInteractiveActor
|
||||
{
|
||||
Vector3 nextpos, nextdir;
|
||||
|
||||
|
|
@ -2446,15 +2377,8 @@ Class MykradvoTendril : Actor
|
|||
DamageFunction 100;
|
||||
ReactionTime 8;
|
||||
Speed 64;
|
||||
Radius .1;
|
||||
Height 0;
|
||||
+NOGRAVITY;
|
||||
+NOCLIP;
|
||||
+DONTSPLASH;
|
||||
+INTERPOLATEANGLES;
|
||||
+NOTELEPORT;
|
||||
+FOILINVUL;
|
||||
+NOINTERACTION;
|
||||
+MISSILEMORE;
|
||||
}
|
||||
States
|
||||
|
|
@ -2622,7 +2546,7 @@ Class MykradvoBurstLight : PaletteLight
|
|||
}
|
||||
|
||||
// 'splode
|
||||
Class MykradvoBurst : Actor
|
||||
Class MykradvoBurst : SWWMNonInteractiveActor
|
||||
{
|
||||
Array<Actor> targets;
|
||||
int nstep;
|
||||
|
|
@ -2630,11 +2554,7 @@ Class MykradvoBurst : Actor
|
|||
Default
|
||||
{
|
||||
RenderStyle "Add";
|
||||
+NOBLOCKMAP;
|
||||
+NOGRAVITY;
|
||||
+FORCEXYBILLBOARD;
|
||||
+NOTELEPORT;
|
||||
+NOINTERACTION;
|
||||
Scale 1.4;
|
||||
}
|
||||
void FlashPlayer( int str, double rad )
|
||||
|
|
@ -2955,7 +2875,7 @@ Class Mykradvo : Inventory
|
|||
}
|
||||
}
|
||||
|
||||
Class MykradvoX : GhostArtifactX
|
||||
Class MykradvoX : SWWMItemOverlay
|
||||
{
|
||||
Default
|
||||
{
|
||||
|
|
@ -2976,14 +2896,12 @@ Class MykradvoX : GhostArtifactX
|
|||
return;
|
||||
}
|
||||
prev = target.prev;
|
||||
vel = target.vel;
|
||||
if ( (target.pos != pos) || (target.vel != (0,0,0)) ) SetOrigin(target.pos+vel,true);
|
||||
if ( angle != target.angle ) A_SetAngle(target.angle,SPF_INTERPOLATE);
|
||||
FloatBobPhase = target.FloatBobPhase;
|
||||
A_SetScale(.16+.01*sin(GetAge()*4));
|
||||
if ( !bsprite ) bsprite = GetSpriteIndex('XZW0');
|
||||
bool bOldInvis = bInvisible;
|
||||
bInvisible = target.bInvisible||(target.sprite!=bsprite);
|
||||
bInvisible = target.bInvisible||Inventory(target).Owner;
|
||||
if ( bInvisible != bOldInvis )
|
||||
{
|
||||
SetState(SpawnState+bInvisible);
|
||||
|
|
@ -2999,7 +2917,7 @@ Class MykradvoX : GhostArtifactX
|
|||
}
|
||||
}
|
||||
|
||||
Class MykradvoX2 : GhostArtifactX
|
||||
Class MykradvoX2 : SWWMItemOverlay
|
||||
{
|
||||
Default
|
||||
{
|
||||
|
|
@ -3018,16 +2936,14 @@ Class MykradvoX2 : GhostArtifactX
|
|||
return;
|
||||
}
|
||||
prev = target.prev;
|
||||
vel = target.vel;
|
||||
if ( (target.pos != pos) || (target.vel != (0,0,0)) ) SetOrigin(target.pos+vel,true);
|
||||
if ( angle != target.angle ) A_SetAngle(target.angle,SPF_INTERPOLATE);
|
||||
FloatBobPhase = target.FloatBobPhase;
|
||||
A_SetPitch(sin(GetAge()*special1*8)*5,SPF_INTERPOLATE);
|
||||
A_SetRoll(cos(GetAge()*special1*8)*5,SPF_INTERPOLATE);
|
||||
FloatBobPhase = target.FloatBobPhase;
|
||||
A_SetScale(1.+.05*cos(GetAge()*4)*special1);
|
||||
if ( !bsprite ) bsprite = GetSpriteIndex('XZW0');
|
||||
bool bOldInvis = bInvisible;
|
||||
bInvisible = target.bInvisible||(target.sprite!=bsprite);
|
||||
bInvisible = target.bInvisible||Inventory(target).Owner;
|
||||
if ( bInvisible != bOldInvis )
|
||||
SetState(SpawnState+bInvisible);
|
||||
}
|
||||
|
|
@ -3194,14 +3110,8 @@ Class AngeryLight : PointLightAttenuated
|
|||
bDORMANT = Powerup(master).isBlinking();
|
||||
}
|
||||
}
|
||||
Class AngerySnd : Actor
|
||||
Class AngerySnd : SWWMNonInteractiveActor
|
||||
{
|
||||
Default
|
||||
{
|
||||
+NOBLOCKMAP;
|
||||
+NOGRAVITY;
|
||||
+NOINTERACTION;
|
||||
}
|
||||
override void Tick()
|
||||
{
|
||||
if ( !target || !master )
|
||||
|
|
@ -3394,7 +3304,7 @@ Class AngerySigil : Inventory
|
|||
Stop;
|
||||
}
|
||||
}
|
||||
Class AngerySigilX : GhostArtifactX
|
||||
Class AngerySigilX : SWWMItemOverlay
|
||||
{
|
||||
Default
|
||||
{
|
||||
|
|
@ -3417,13 +3327,11 @@ Class AngerySigilX : GhostArtifactX
|
|||
return;
|
||||
}
|
||||
prev = target.prev;
|
||||
vel = target.vel;
|
||||
if ( (target.pos != pos) || (target.vel != (0,0,0)) ) SetOrigin(target.pos+vel,true);
|
||||
if ( angle != target.angle ) A_SetAngle(target.angle,SPF_INTERPOLATE);
|
||||
FloatBobPhase = target.FloatBobPhase;
|
||||
if ( !bsprite ) bsprite = GetSpriteIndex('XZW1');
|
||||
bool bOldInvis = bInvisible;
|
||||
bInvisible = target.bInvisible||(target.sprite!=bsprite);
|
||||
bInvisible = target.bInvisible||Inventory(target).Owner;
|
||||
if ( bInvisible != bOldInvis )
|
||||
{
|
||||
SetState(SpawnState+bInvisible);
|
||||
|
|
@ -3464,14 +3372,8 @@ Class DivineSpriteLight : PointLightAttenuated
|
|||
args[LIGHT_INTENSITY] = Random[Invinciball](10,12)*10;
|
||||
}
|
||||
}
|
||||
Class DivineSpriteSnd : Actor
|
||||
Class DivineSpriteSnd : SWWMNonInteractiveActor
|
||||
{
|
||||
Default
|
||||
{
|
||||
+NOBLOCKMAP;
|
||||
+NOGRAVITY;
|
||||
+NOINTERACTION;
|
||||
}
|
||||
override void Tick()
|
||||
{
|
||||
if ( !target || !master )
|
||||
|
|
@ -3668,7 +3570,7 @@ Class DivineSprite : Inventory
|
|||
Stop;
|
||||
}
|
||||
}
|
||||
Class DivineSpriteX : GhostArtifactX
|
||||
Class DivineSpriteX : SWWMItemOverlay
|
||||
{
|
||||
Default
|
||||
{
|
||||
|
|
@ -3689,13 +3591,11 @@ Class DivineSpriteX : GhostArtifactX
|
|||
return;
|
||||
}
|
||||
prev = target.prev;
|
||||
vel = target.vel;
|
||||
if ( (target.pos != pos) || (target.vel != (0,0,0)) ) SetOrigin(target.pos+vel,true);
|
||||
if ( angle != target.angle ) A_SetAngle(target.angle,SPF_INTERPOLATE);
|
||||
FloatBobPhase = target.FloatBobPhase;
|
||||
if ( !bsprite ) bsprite = GetSpriteIndex('XZW1');
|
||||
bool bOldInvis = bInvisible;
|
||||
bInvisible = target.bInvisible||(target.sprite!=bsprite);
|
||||
bInvisible = target.bInvisible||Inventory(target).Owner;
|
||||
if ( bOldInvis != bInvisible )
|
||||
{
|
||||
SetState(SpawnState+bInvisible);
|
||||
|
|
@ -3713,18 +3613,8 @@ Class DivineSpriteX : GhostArtifactX
|
|||
|
||||
// TBD 1.4 Ballsy Bomb
|
||||
|
||||
Class BallImpact : Actor
|
||||
Class BallImpact : SWWMNonInteractiveActor
|
||||
{
|
||||
Default
|
||||
{
|
||||
Radius 0.1;
|
||||
Height 0;
|
||||
+NOGRAVITY;
|
||||
+NOCLIP;
|
||||
+DONTSPLASH;
|
||||
+NOTELEPORT;
|
||||
+NOINTERACTION;
|
||||
}
|
||||
override void PostBeginPlay()
|
||||
{
|
||||
Super.PostBeginPlay();
|
||||
|
|
@ -4061,24 +3951,18 @@ Class SaltLight2 : PaletteLight
|
|||
}
|
||||
}
|
||||
|
||||
Class SaltImpact : Actor
|
||||
Class SaltImpact : SWWMNonInteractiveActor
|
||||
{
|
||||
Default
|
||||
{
|
||||
Obituary "$O_SALTSHOT";
|
||||
DamageType "Salt";
|
||||
RenderStyle "Add";
|
||||
Radius 0.1;
|
||||
Height 0;
|
||||
Scale 1.8;
|
||||
+NOGRAVITY;
|
||||
+NOBLOCKMAP;
|
||||
+NODAMAGETHRUST;
|
||||
+FORCERADIUSDMG;
|
||||
+FORCEXYBILLBOARD;
|
||||
+NOTELEPORT;
|
||||
+FOILINVUL;
|
||||
+NOINTERACTION;
|
||||
}
|
||||
override void PostBeginPlay()
|
||||
{
|
||||
|
|
@ -4117,17 +4001,6 @@ Class SaltImpact : Actor
|
|||
}
|
||||
Spawn("SaltLight2",pos);
|
||||
}
|
||||
override void Tick()
|
||||
{
|
||||
if ( isFrozen() ) return;
|
||||
if ( !CheckNoDelay() || (tics == -1) ) return;
|
||||
if ( tics > 0 ) tics--;
|
||||
while ( !tics )
|
||||
{
|
||||
if ( !SetState(CurState.NextState) )
|
||||
return;
|
||||
}
|
||||
}
|
||||
States
|
||||
{
|
||||
Spawn:
|
||||
|
|
@ -4144,27 +4017,20 @@ Class SaltImpact : Actor
|
|||
}
|
||||
}
|
||||
|
||||
Class SaltBeam : Actor
|
||||
Class SaltBeam : SWWMNonInteractiveActor
|
||||
{
|
||||
Default
|
||||
{
|
||||
Obituary "$O_SALTSHOT";
|
||||
DamageType "Salt";
|
||||
RenderStyle "Add";
|
||||
Radius 0.1;
|
||||
Height 0;
|
||||
Stamina 9;
|
||||
Speed 32;
|
||||
+NOGRAVITY;
|
||||
+NOBLOCKMAP;
|
||||
+DONTSPLASH;
|
||||
+NOTELEPORT;
|
||||
+ROLLSPRITE;
|
||||
+ROLLCENTER;
|
||||
+NODAMAGETHRUST;
|
||||
+FORCERADIUSDMG;
|
||||
+FOILINVUL;
|
||||
+NOINTERACTION;
|
||||
}
|
||||
|
||||
void SpreadOut()
|
||||
|
|
|
|||
|
|
@ -1,13 +1,10 @@
|
|||
// Gore FX ported over from Soundless Mound, with some edits
|
||||
|
||||
// Base blood actor
|
||||
Class mkBlood : Actor
|
||||
Class mkBlood : SWWMNonInteractiveActor
|
||||
{
|
||||
Default
|
||||
{
|
||||
+NOBLOCKMAP;
|
||||
+NOGRAVITY;
|
||||
+NOTELEPORT;
|
||||
+PUFFGETSOWNER;
|
||||
}
|
||||
action void A_Bleed( int str = 1 )
|
||||
|
|
@ -37,17 +34,6 @@ Class mkBlood : Actor
|
|||
s.scale *= .4*str;
|
||||
s.special1 += str-1;
|
||||
}
|
||||
override void Tick()
|
||||
{
|
||||
if ( isFrozen() ) return;
|
||||
if ( !CheckNoDelay() || (tics == -1) ) return;
|
||||
if ( tics > 0 ) tics--;
|
||||
while ( !tics )
|
||||
{
|
||||
if ( !SetState(CurState.NextState) )
|
||||
return;
|
||||
}
|
||||
}
|
||||
States
|
||||
{
|
||||
Spawn:
|
||||
|
|
@ -61,7 +47,7 @@ Class mkBlood : Actor
|
|||
}
|
||||
|
||||
// a burst of blood attached to a bleeding actor
|
||||
Class mkBloodSpray : Actor
|
||||
Class mkBloodSpray : SWWMNonInteractiveActor
|
||||
{
|
||||
double str;
|
||||
int cnt;
|
||||
|
|
@ -69,13 +55,6 @@ Class mkBloodSpray : Actor
|
|||
double baseang;
|
||||
color shadecol;
|
||||
|
||||
Default
|
||||
{
|
||||
+NOBLOCKMAP;
|
||||
+NOGRAVITY;
|
||||
+NOTELEPORT;
|
||||
+NOINTERACTION;
|
||||
}
|
||||
override void PostBeginPlay()
|
||||
{
|
||||
if ( !target )
|
||||
|
|
@ -129,7 +108,7 @@ Class mkBloodSpray : Actor
|
|||
|
||||
// drop of salsa
|
||||
// becomes a decal on crash
|
||||
Class mkBloodDrop : Actor
|
||||
Class mkBloodDrop : SWWMNonInteractiveActor
|
||||
{
|
||||
bool killme;
|
||||
bool dead, onceiling;
|
||||
|
|
@ -140,17 +119,10 @@ Class mkBloodDrop : Actor
|
|||
Default
|
||||
{
|
||||
+MISSILE;
|
||||
+NOBLOCKMAP;
|
||||
+DROPOFF;
|
||||
+NOTELEPORT;
|
||||
+THRUACTORS;
|
||||
+FORCEXYBILLBOARD;
|
||||
+ROLLSPRITE;
|
||||
+ROLLCENTER;
|
||||
+NOINTERACTION;
|
||||
Scale .35;
|
||||
Radius 2;
|
||||
Height 2;
|
||||
Mass 1;
|
||||
RenderStyle "Translucent";
|
||||
}
|
||||
|
|
@ -410,14 +382,10 @@ Class mkBloodDrop : Actor
|
|||
}
|
||||
|
||||
// chunky salsa in the air
|
||||
Class mkBloodSmoke : Actor
|
||||
Class mkBloodSmoke : SWWMNonInteractiveActor
|
||||
{
|
||||
Default
|
||||
{
|
||||
+NOBLOCKMAP;
|
||||
+NOGRAVITY;
|
||||
+NOINTERACTION;
|
||||
+NOTELEPORT;
|
||||
+FORCEXYBILLBOARD;
|
||||
+ROLLSPRITE;
|
||||
Scale .5;
|
||||
|
|
@ -441,12 +409,6 @@ Class mkBloodSmoke : Actor
|
|||
A_FadeOut(.04/max(1.,special1));
|
||||
A_SetScale(scale.x*(1.+.04/max(1.,special1)));
|
||||
vel *= 1.-.04/max(1.,special1);
|
||||
if ( tics > 0 ) tics--;
|
||||
while ( !tics )
|
||||
{
|
||||
if ( !SetState(CurState.NextState) )
|
||||
return;
|
||||
}
|
||||
}
|
||||
States
|
||||
{
|
||||
|
|
@ -617,7 +579,7 @@ Class mkFlyingGib : Actor
|
|||
}
|
||||
|
||||
// Manually added gibbing
|
||||
Class mkGibber : Actor
|
||||
Class mkGibber : SWWMNonInteractiveActor
|
||||
{
|
||||
Actor Gibbed;
|
||||
int gibcount, gibsize;
|
||||
|
|
@ -726,11 +688,6 @@ Class mkGibber : Actor
|
|||
|
||||
Default
|
||||
{
|
||||
+NOBLOCKMAP;
|
||||
+NOGRAVITY;
|
||||
+NOTELEPORT;
|
||||
+DONTSPLASH;
|
||||
+NOINTERACTION;
|
||||
Radius 32;
|
||||
Height 16;
|
||||
mkGibber.GibType "mkFlyingGib";
|
||||
|
|
@ -761,7 +718,7 @@ Class PurpleBloodReference : Actor
|
|||
}
|
||||
|
||||
// bare actor used for extra gib deaths
|
||||
Class ExtraGibDeaths : Actor
|
||||
Class ExtraGibDeaths : SWWMNonInteractiveActor
|
||||
{
|
||||
StateLabel gibstate;
|
||||
|
||||
|
|
|
|||
|
|
@ -24,8 +24,76 @@ enum ESWWMGZChannels
|
|||
const FallbackTag = "AWESOME IT'S PENIS"; // used on tag processing, please don't mind the actual string used)
|
||||
const MaxBouncePerTic = 40; // maximum simultaneous bounces in one tic for a lightweight actor before we consider it's stuck
|
||||
|
||||
// super-minimal tick override that simply advances states when not frozen
|
||||
Mixin Class SWWMMinimalTick
|
||||
{
|
||||
override void Tick()
|
||||
{
|
||||
if ( isFrozen() ) return;
|
||||
if ( !CheckNoDelay() || (tics == -1) ) return;
|
||||
if ( tics > 0 ) tics--;
|
||||
while ( !tics )
|
||||
{
|
||||
if ( !SetState(CurState.NextState) )
|
||||
return;
|
||||
}
|
||||
}
|
||||
}
|
||||
// + move by velocity
|
||||
Mixin Class SWWMMinimalMovingTick
|
||||
{
|
||||
override void Tick()
|
||||
{
|
||||
prev = pos;
|
||||
if ( isFrozen() ) return;
|
||||
SetOrigin(level.Vec3Offset(pos,vel),true);
|
||||
if ( !CheckNoDelay() || (tics == -1) ) return;
|
||||
if ( tics > 0 ) tics--;
|
||||
while ( !tics )
|
||||
{
|
||||
if ( !SetState(CurState.NextState) )
|
||||
return;
|
||||
}
|
||||
}
|
||||
}
|
||||
// + check water level after move
|
||||
Mixin Class SWWMMinimalMovingWaterTick
|
||||
{
|
||||
override void Tick()
|
||||
{
|
||||
prev = pos;
|
||||
if ( isFrozen() ) return;
|
||||
SetOrigin(level.Vec3Offset(pos,vel),true);
|
||||
UpdateWaterLevel();
|
||||
if ( !CheckNoDelay() || (tics == -1) ) return;
|
||||
if ( tics > 0 ) tics--;
|
||||
while ( !tics )
|
||||
{
|
||||
if ( !SetState(CurState.NextState) )
|
||||
return;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// absolutely non-interactive actor that is net-safe for clientside use
|
||||
Class SWWMNonInteractiveActor : Actor
|
||||
{
|
||||
Mixin SWWMMinimalTick;
|
||||
|
||||
Default
|
||||
{
|
||||
+NOINTERACTION;
|
||||
+NOBLOCKMAP; // needed since we don't use the internal Tick
|
||||
+SYNCHRONIZED;
|
||||
+DONTBLAST;
|
||||
FloatBobPhase 0;
|
||||
Radius .1;
|
||||
Height 0;
|
||||
}
|
||||
}
|
||||
|
||||
// basic "does nothing" actor, used to remove stuff in CheckReplacement
|
||||
Class SWWMNothing : Actor
|
||||
Class SWWMNothing : SWWMNonInteractiveActor
|
||||
{
|
||||
States
|
||||
{
|
||||
|
|
|
|||
|
|
@ -68,27 +68,17 @@ Class PaletteLight : PointLight
|
|||
}
|
||||
|
||||
// Generic smoke, lightweight tick
|
||||
Class SWWMSmoke : Actor
|
||||
Class SWWMSmoke : SWWMNonInteractiveActor
|
||||
{
|
||||
Default
|
||||
{
|
||||
RenderStyle "Shaded";
|
||||
StencilColor "FFFFFF";
|
||||
Radius .1;
|
||||
Height 0;
|
||||
Speed 1;
|
||||
+NOBLOCKMAP;
|
||||
+NOGRAVITY;
|
||||
+DONTSPLASH;
|
||||
+FORCEXYBILLBOARD;
|
||||
+ROLLSPRITE;
|
||||
+ROLLCENTER;
|
||||
+THRUACTORS;
|
||||
+NOTELEPORT;
|
||||
+NOINTERACTION;
|
||||
+SYNCHRONIZED;
|
||||
Scale .3;
|
||||
FloatBobPhase 0;
|
||||
}
|
||||
|
||||
override void PostBeginPlay()
|
||||
|
|
@ -171,6 +161,7 @@ Class SWWMSmoke : Actor
|
|||
Destroy();
|
||||
return;
|
||||
}
|
||||
if ( !CheckNoDelay() || (tics == -1) ) return;
|
||||
if ( tics > 0 ) tics--;
|
||||
while ( !tics )
|
||||
{
|
||||
|
|
@ -187,27 +178,18 @@ Class SWWMSmoke : Actor
|
|||
}
|
||||
}
|
||||
|
||||
// strictly non-interacting smoke, much lighter tick, used for heavier effects
|
||||
Class SWWMHalfSmoke : Actor
|
||||
// strictly non-colliding smoke, much lighter tick, used for heavier effects
|
||||
Class SWWMHalfSmoke : SWWMNonInteractiveActor
|
||||
{
|
||||
Default
|
||||
{
|
||||
RenderStyle "Shaded";
|
||||
StencilColor "FFFFFF";
|
||||
Radius .1;
|
||||
Height 0;
|
||||
Speed 1;
|
||||
+NOBLOCKMAP;
|
||||
+NOGRAVITY;
|
||||
+DONTSPLASH;
|
||||
+FORCEXYBILLBOARD;
|
||||
+ROLLSPRITE;
|
||||
+ROLLCENTER;
|
||||
+NOTELEPORT;
|
||||
+NOINTERACTION;
|
||||
+SYNCHRONIZED;
|
||||
Scale 0.3;
|
||||
FloatBobPhase 0;
|
||||
}
|
||||
override void PostBeginPlay()
|
||||
{
|
||||
|
|
@ -237,6 +219,7 @@ Class SWWMHalfSmoke : Actor
|
|||
Destroy();
|
||||
return;
|
||||
}
|
||||
if ( !CheckNoDelay() || (tics == -1) ) return;
|
||||
if ( tics > 0 ) tics--;
|
||||
while ( !tics )
|
||||
{
|
||||
|
|
@ -276,23 +259,13 @@ Class SWWMSmallSmoke : SWWMHalfSmoke
|
|||
}
|
||||
}
|
||||
|
||||
Class SWWMBubble : Actor
|
||||
Class SWWMBubble : SWWMNonInteractiveActor
|
||||
{
|
||||
Default
|
||||
{
|
||||
RenderStyle "Add";
|
||||
Radius .1;
|
||||
Height 0;
|
||||
+NOBLOCKMAP;
|
||||
+NOGRAVITY;
|
||||
+DONTSPLASH;
|
||||
+FORCEXYBILLBOARD;
|
||||
+NOTELEPORT;
|
||||
+THRUACTORS;
|
||||
+NOINTERACTION;
|
||||
+SYNCHRONIZED;
|
||||
Scale 0.5;
|
||||
FloatBobPhase 0;
|
||||
}
|
||||
override void PostBeginPlay()
|
||||
{
|
||||
|
|
@ -365,6 +338,7 @@ Class SWWMBubble : Actor
|
|||
SetOrigin(newpos,true);
|
||||
UpdateWaterLevel();
|
||||
if ( (waterlevel <= 0) || !Random[Puff](0,100) ) Destroy();
|
||||
if ( !CheckNoDelay() || (tics == -1) ) return;
|
||||
if ( tics > 0 ) tics--;
|
||||
while ( !tics )
|
||||
{
|
||||
|
|
@ -380,19 +354,12 @@ Class SWWMBubble : Actor
|
|||
}
|
||||
}
|
||||
|
||||
Class SWWMSparkTrail : Actor
|
||||
Class SWWMSparkTrail : SWWMNonInteractiveActor
|
||||
{
|
||||
Default
|
||||
{
|
||||
RenderStyle "Add";
|
||||
Radius .1;
|
||||
Height 0.;
|
||||
+FORCEXYBILLBOARD;
|
||||
+NOGRAVITY;
|
||||
+NOBLOCKMAP;
|
||||
+NOINTERACTION;
|
||||
+DONTSPLASH;
|
||||
+NOTELEPORT;
|
||||
}
|
||||
override void Tick()
|
||||
{
|
||||
|
|
@ -408,7 +375,7 @@ Class SWWMSparkTrail : Actor
|
|||
}
|
||||
}
|
||||
|
||||
Class SWWMSpark : Actor
|
||||
Class SWWMSpark : SWWMNonInteractiveActor
|
||||
{
|
||||
bool dead;
|
||||
Sector tracksector;
|
||||
|
|
@ -417,18 +384,9 @@ Class SWWMSpark : Actor
|
|||
Default
|
||||
{
|
||||
RenderStyle "Add";
|
||||
Radius .1;
|
||||
Height 0;
|
||||
+NOBLOCKMAP;
|
||||
+FORCEXYBILLBOARD;
|
||||
+THRUACTORS;
|
||||
+NOTELEPORT;
|
||||
+DONTSPLASH;
|
||||
+NOINTERACTION;
|
||||
+SYNCHRONIZED;
|
||||
Gravity 0.2;
|
||||
Scale 0.05;
|
||||
FloatBobPhase 0;
|
||||
Gravity .2;
|
||||
Scale .05;
|
||||
}
|
||||
override void Tick()
|
||||
{
|
||||
|
|
@ -554,6 +512,7 @@ Class SWWMSpark : Actor
|
|||
Destroy();
|
||||
return;
|
||||
}
|
||||
if ( !CheckNoDelay() || (tics == -1) ) return;
|
||||
if ( tics > 0 ) tics--;
|
||||
while ( !tics )
|
||||
{
|
||||
|
|
@ -572,7 +531,7 @@ Class SWWMSpark : Actor
|
|||
}
|
||||
}
|
||||
|
||||
Class SWWMChip : Actor
|
||||
Class SWWMChip : SWWMNonInteractiveActor
|
||||
{
|
||||
SWWMChip prevchip, nextchip;
|
||||
bool killme;
|
||||
|
|
@ -583,21 +542,12 @@ Class SWWMChip : Actor
|
|||
|
||||
Default
|
||||
{
|
||||
Radius .1;
|
||||
Height 0;
|
||||
+NOBLOCKMAP;
|
||||
+THRUACTORS;
|
||||
+NOTELEPORT;
|
||||
+DONTSPLASH;
|
||||
+INTERPOLATEANGLES;
|
||||
+ROLLSPRITE;
|
||||
+ROLLCENTER;
|
||||
+FORCEXYBILLBOARD;
|
||||
+NOINTERACTION;
|
||||
+SYNCHRONIZED;
|
||||
Gravity 0.35;
|
||||
Scale 0.2;
|
||||
FloatBobPhase 0;
|
||||
Gravity .35;
|
||||
Scale .2;
|
||||
}
|
||||
override void PostBeginPlay()
|
||||
{
|
||||
|
|
@ -781,33 +731,14 @@ Class PoofLight2 : PaletteLight
|
|||
}
|
||||
}
|
||||
|
||||
Class SWWMItemFog : Actor
|
||||
Class SWWMItemFog : SWWMNonInteractiveActor
|
||||
{
|
||||
Default
|
||||
{
|
||||
RenderStyle "Add";
|
||||
Radius .1;
|
||||
Height 0;
|
||||
+NOGRAVITY;
|
||||
+NOBLOCKMAP;
|
||||
+DONTSPLASH;
|
||||
+ROLLSPRITE;
|
||||
+ROLLCENTER;
|
||||
+NOINTERACTION;
|
||||
+SYNCHRONIZED;
|
||||
+FORCEXYBILLBOARD;
|
||||
FloatBobPhase 0;
|
||||
}
|
||||
override void Tick()
|
||||
{
|
||||
if ( isFrozen() ) return;
|
||||
if ( !CheckNoDelay() || (tics == -1) ) return;
|
||||
if ( tics > 0 ) tics--;
|
||||
while ( !tics )
|
||||
{
|
||||
if ( !SetState(CurState.NextState) )
|
||||
return;
|
||||
}
|
||||
}
|
||||
States
|
||||
{
|
||||
|
|
@ -849,23 +780,15 @@ Class TeleLight : PaletteLight
|
|||
}
|
||||
}
|
||||
|
||||
Class SWWMTeleportSparkle : Actor
|
||||
Class SWWMTeleportSparkle : SWWMNonInteractiveActor
|
||||
{
|
||||
Default
|
||||
{
|
||||
RenderStyle "Add";
|
||||
Scale 0.3;
|
||||
Radius .1;
|
||||
Height 0.;
|
||||
+NOGRAVITY;
|
||||
+NOBLOCKMAP;
|
||||
+DONTSPLASH;
|
||||
Scale .3;
|
||||
+ROLLSPRITE;
|
||||
+ROLLCENTER;
|
||||
+FORCEXYBILLBOARD;
|
||||
+NOINTERACTION;
|
||||
+SYNCHRONIZED;
|
||||
FloatBobPhase 0;
|
||||
}
|
||||
override void Tick()
|
||||
{
|
||||
|
|
@ -887,18 +810,8 @@ Class SWWMTeleportSparkle : Actor
|
|||
}
|
||||
}
|
||||
|
||||
Class SWWMTeleportDest : Actor
|
||||
Class SWWMTeleportDest : SWWMNonInteractiveActor
|
||||
{
|
||||
Default
|
||||
{
|
||||
+NOGRAVITY;
|
||||
+NOBLOCKMAP;
|
||||
+DONTSPLASH;
|
||||
+NOINTERACTION;
|
||||
Radius .1;
|
||||
Height 0.;
|
||||
}
|
||||
|
||||
override void PostBeginPlay()
|
||||
{
|
||||
special1 = Random[ExploS](0,10);
|
||||
|
|
@ -918,20 +831,10 @@ Class SWWMTeleportDest : Actor
|
|||
}
|
||||
}
|
||||
|
||||
Class SWWMTeleportLine : Actor
|
||||
Class SWWMTeleportLine : SWWMNonInteractiveActor
|
||||
{
|
||||
Line tline;
|
||||
|
||||
Default
|
||||
{
|
||||
+NOGRAVITY;
|
||||
+NOBLOCKMAP;
|
||||
+DONTSPLASH;
|
||||
+NOINTERACTION;
|
||||
Radius .1;
|
||||
Height 0.;
|
||||
}
|
||||
|
||||
override void PostBeginPlay()
|
||||
{
|
||||
special1 = Random[ExploS](0,5);
|
||||
|
|
@ -965,20 +868,12 @@ Class SWWMTeleportLine : Actor
|
|||
}
|
||||
}
|
||||
|
||||
Class SWWMTeleportFog : Actor
|
||||
Class SWWMTeleportFog : SWWMNonInteractiveActor
|
||||
{
|
||||
Default
|
||||
{
|
||||
RenderStyle "Add";
|
||||
+NOGRAVITY;
|
||||
+NOBLOCKMAP;
|
||||
+DONTSPLASH;
|
||||
+NOINTERACTION;
|
||||
+SYNCHRONIZED;
|
||||
+FORCEXYBILLBOARD;
|
||||
Radius .1;
|
||||
Height 0.;
|
||||
FloatBobPhase 0;
|
||||
}
|
||||
override void PostBeginPlay()
|
||||
{
|
||||
|
|
@ -986,17 +881,6 @@ Class SWWMTeleportFog : Actor
|
|||
A_StartSound("misc/teleport",CHAN_VOICE);
|
||||
Spawn("TeleLight",pos);
|
||||
}
|
||||
override void Tick()
|
||||
{
|
||||
if ( isFrozen() ) return;
|
||||
if ( !CheckNoDelay() || (tics == -1) ) return;
|
||||
if ( tics > 0 ) tics--;
|
||||
while ( !tics )
|
||||
{
|
||||
if ( !SetState(CurState.NextState) )
|
||||
return;
|
||||
}
|
||||
}
|
||||
States
|
||||
{
|
||||
Spawn:
|
||||
|
|
@ -1034,7 +918,7 @@ Class SWWMTeleportFog : Actor
|
|||
}
|
||||
}
|
||||
|
||||
Class SWWMPickupFlash : Actor
|
||||
Class SWWMPickupFlash : SWWMNonInteractiveActor
|
||||
{
|
||||
Vector3 lastitempos;
|
||||
|
||||
|
|
@ -1042,17 +926,9 @@ Class SWWMPickupFlash : Actor
|
|||
{
|
||||
RenderStyle "Add";
|
||||
Args 0,3,2,1;
|
||||
Radius .1;
|
||||
Height 0;
|
||||
+NOGRAVITY;
|
||||
+NOBLOCKMAP;
|
||||
+DONTSPLASH;
|
||||
+ROLLSPRITE;
|
||||
+ROLLCENTER;
|
||||
+NOINTERACTION;
|
||||
+SYNCHRONIZED;
|
||||
+FORCEXYBILLBOARD;
|
||||
FloatBobPhase 0;
|
||||
}
|
||||
override void PostBeginPlay()
|
||||
{
|
||||
|
|
@ -1109,17 +985,6 @@ Class SWWMPickupFlash : Actor
|
|||
A_SetScale(FRandom[ClientSparkles](.9,1.1)*(max(target.radius,target.height)/16.));
|
||||
alpha = FRandom[ClientSparkles](.9,1.)*clamp((max(0,Distance3DSquared(players[consoleplayer].Camera)-40000.)/160000000.)**.25,0.,1.);
|
||||
}
|
||||
override void Tick()
|
||||
{
|
||||
if ( isFrozen() ) return;
|
||||
if ( !CheckNoDelay() || (tics == -1) ) return;
|
||||
if ( tics > 0 ) tics--;
|
||||
while ( !tics )
|
||||
{
|
||||
if ( !SetState(CurState.NextState) )
|
||||
return;
|
||||
}
|
||||
}
|
||||
States
|
||||
{
|
||||
Spawn:
|
||||
|
|
@ -1198,8 +1063,6 @@ Class InvisibleSplasher : Actor
|
|||
Radius 2;
|
||||
Height 4;
|
||||
+NOBLOCKMAP; // needed to prevent infinite loops with some 3D floor water (yes, you read that right)
|
||||
+SYNCHRONIZED;
|
||||
FloatBobPhase 0;
|
||||
}
|
||||
States
|
||||
{
|
||||
|
|
@ -1286,7 +1149,7 @@ Class SWWMBulletTrail : LineTracer
|
|||
|
||||
// Dummy "puff" actor used for hitscan compatibility
|
||||
// (don't forget to pass DMG_INFLICTOR_IS_PUFF to DamageMobj calls for this to work)
|
||||
Class SWWMPuff : Actor
|
||||
Class SWWMPuff : SWWMNonInteractiveActor
|
||||
{
|
||||
static Actor Setup( Vector3 pos, Vector3 dir, Actor inflictor = null, Actor source = null, Actor victim = null )
|
||||
{
|
||||
|
|
@ -1306,32 +1169,12 @@ Class SWWMPuff : Actor
|
|||
return Super.GetObituary(victim,inflictor,mod,playerattack);
|
||||
}
|
||||
|
||||
override void Tick()
|
||||
{
|
||||
if ( isFrozen() ) return;
|
||||
if ( !CheckNoDelay() || (tics == -1) ) return;
|
||||
if ( tics > 0 ) tics--;
|
||||
while ( !tics )
|
||||
{
|
||||
if ( !SetState(CurState.NextState) )
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
default
|
||||
{
|
||||
Radius .1;
|
||||
Height 0.;
|
||||
+NOBLOCKMAP;
|
||||
+NOINTERACTION;
|
||||
+SYNCHRONIZED;
|
||||
+DONTSPLASH;
|
||||
+NOTELEPORT;
|
||||
+ALWAYSPUFF;
|
||||
+PUFFONACTORS;
|
||||
+PUFFGETSOWNER;
|
||||
+HITTRACER;
|
||||
FloatBobPhase 0;
|
||||
}
|
||||
States
|
||||
{
|
||||
|
|
@ -1362,7 +1205,7 @@ Class SWWMItemTracer : LineTracer
|
|||
}
|
||||
|
||||
// Blob shadows
|
||||
Class SWWMShadow : Actor
|
||||
Class SWWMShadow : SWWMNonInteractiveActor
|
||||
{
|
||||
Sector oldfloor;
|
||||
|
||||
|
|
@ -1422,14 +1265,6 @@ Class SWWMShadow : Actor
|
|||
RenderStyle "Shaded";
|
||||
StencilColor "000000";
|
||||
DistanceCheck 'swwm_shadowdist';
|
||||
Radius .1;
|
||||
Height 0.;
|
||||
+NOBLOCKMAP;
|
||||
+NOINTERACTION;
|
||||
+SYNCHRONIZED;
|
||||
+DONTSPLASH;
|
||||
+NOTELEPORT;
|
||||
FloatBobPhase 0;
|
||||
}
|
||||
States
|
||||
{
|
||||
|
|
@ -1440,40 +1275,20 @@ Class SWWMShadow : Actor
|
|||
}
|
||||
|
||||
// Terrain FX (cheap)
|
||||
Class SWWMBaseSplash : Actor
|
||||
Class SWWMBaseSplash : SWWMNonInteractiveActor abstract
|
||||
{
|
||||
default
|
||||
{
|
||||
Radius .1;
|
||||
Height 0.;
|
||||
+NOBLOCKMAP;
|
||||
+NOINTERACTION;
|
||||
+SYNCHRONIZED;
|
||||
+DONTSPLASH;
|
||||
+NOTELEPORT;
|
||||
FloatBobPhase 0;
|
||||
}
|
||||
override void Tick()
|
||||
{
|
||||
if ( isFrozen() ) return;
|
||||
if ( !CheckNoDelay() || (tics == -1) ) return;
|
||||
if ( tics > 0 ) tics--;
|
||||
while ( !tics )
|
||||
{
|
||||
if ( !SetState(CurState.NextState) )
|
||||
return;
|
||||
}
|
||||
}
|
||||
abstract void DoSplash();
|
||||
|
||||
States
|
||||
{
|
||||
Spawn:
|
||||
TNT1 A 1;
|
||||
TNT1 A 1 NoDelay DoSplash();
|
||||
Stop;
|
||||
}
|
||||
}
|
||||
Class SWWMWaterSplash : SWWMBaseSplash
|
||||
{
|
||||
override void PostBeginPlay()
|
||||
override void DoSplash()
|
||||
{
|
||||
double ang, pt, str;
|
||||
Vector3 dir;
|
||||
|
|
@ -1492,7 +1307,7 @@ Class SWWMWaterSplash : SWWMBaseSplash
|
|||
}
|
||||
Class SWWMWaterSplash2 : SWWMBaseSplash
|
||||
{
|
||||
override void PostBeginPlay()
|
||||
override void DoSplash()
|
||||
{
|
||||
double ang, pt, str;
|
||||
Vector3 dir;
|
||||
|
|
@ -1511,7 +1326,7 @@ Class SWWMWaterSplash2 : SWWMBaseSplash
|
|||
}
|
||||
Class SWWMBloodSplash : SWWMBaseSplash
|
||||
{
|
||||
override void PostBeginPlay()
|
||||
override void DoSplash()
|
||||
{
|
||||
double ang, pt, str;
|
||||
Vector3 dir;
|
||||
|
|
@ -1530,7 +1345,7 @@ Class SWWMBloodSplash : SWWMBaseSplash
|
|||
}
|
||||
Class SWWMBloodSplash2 : SWWMBaseSplash
|
||||
{
|
||||
override void PostBeginPlay()
|
||||
override void DoSplash()
|
||||
{
|
||||
double ang, pt, str;
|
||||
Vector3 dir;
|
||||
|
|
@ -1549,7 +1364,7 @@ Class SWWMBloodSplash2 : SWWMBaseSplash
|
|||
}
|
||||
Class SWWMSludgeSplash : SWWMBaseSplash
|
||||
{
|
||||
override void PostBeginPlay()
|
||||
override void DoSplash()
|
||||
{
|
||||
double ang, pt, str;
|
||||
Vector3 dir;
|
||||
|
|
@ -1568,7 +1383,7 @@ Class SWWMSludgeSplash : SWWMBaseSplash
|
|||
}
|
||||
Class SWWMSludgeSplash2 : SWWMBaseSplash
|
||||
{
|
||||
override void PostBeginPlay()
|
||||
override void DoSplash()
|
||||
{
|
||||
double ang, pt, str;
|
||||
Vector3 dir;
|
||||
|
|
@ -1587,7 +1402,7 @@ Class SWWMSludgeSplash2 : SWWMBaseSplash
|
|||
}
|
||||
Class SWWMMudSplash : SWWMBaseSplash
|
||||
{
|
||||
override void PostBeginPlay()
|
||||
override void DoSplash()
|
||||
{
|
||||
double ang, pt, str;
|
||||
Vector3 dir;
|
||||
|
|
@ -1606,7 +1421,7 @@ Class SWWMMudSplash : SWWMBaseSplash
|
|||
}
|
||||
Class SWWMMudSplash2 : SWWMBaseSplash
|
||||
{
|
||||
override void PostBeginPlay()
|
||||
override void DoSplash()
|
||||
{
|
||||
double ang, pt, str;
|
||||
Vector3 dir;
|
||||
|
|
@ -1625,7 +1440,7 @@ Class SWWMMudSplash2 : SWWMBaseSplash
|
|||
}
|
||||
Class SWWMSlimeSplash : SWWMBaseSplash
|
||||
{
|
||||
override void PostBeginPlay()
|
||||
override void DoSplash()
|
||||
{
|
||||
double ang, pt, str;
|
||||
Vector3 dir;
|
||||
|
|
@ -1644,7 +1459,7 @@ Class SWWMSlimeSplash : SWWMBaseSplash
|
|||
}
|
||||
Class SWWMSlimeSplash2 : SWWMBaseSplash
|
||||
{
|
||||
override void PostBeginPlay()
|
||||
override void DoSplash()
|
||||
{
|
||||
double ang, pt, str;
|
||||
Vector3 dir;
|
||||
|
|
@ -1663,7 +1478,7 @@ Class SWWMSlimeSplash2 : SWWMBaseSplash
|
|||
}
|
||||
Class SWWMLavaSplash : SWWMBaseSplash
|
||||
{
|
||||
override void PostBeginPlay()
|
||||
override void DoSplash()
|
||||
{
|
||||
double ang, pt, str;
|
||||
Vector3 dir;
|
||||
|
|
@ -1683,7 +1498,7 @@ Class SWWMLavaSplash : SWWMBaseSplash
|
|||
}
|
||||
Class SWWMLavaSplash2 : SWWMBaseSplash
|
||||
{
|
||||
override void PostBeginPlay()
|
||||
override void DoSplash()
|
||||
{
|
||||
double ang, pt, str;
|
||||
Vector3 dir;
|
||||
|
|
@ -1703,7 +1518,7 @@ Class SWWMLavaSplash2 : SWWMBaseSplash
|
|||
}
|
||||
Class SWWMSizzleSmoke : SWWMBaseSplash
|
||||
{
|
||||
override void PostBeginPlay()
|
||||
override void DoSplash()
|
||||
{
|
||||
double ang, pt, str;
|
||||
Vector3 dir;
|
||||
|
|
@ -1725,7 +1540,7 @@ Class SWWMSizzleSmoke : SWWMBaseSplash
|
|||
}
|
||||
Class SWWMSizzleSmoke2 : SWWMBaseSplash
|
||||
{
|
||||
override void PostBeginPlay()
|
||||
override void DoSplash()
|
||||
{
|
||||
double ang, pt, str;
|
||||
Vector3 dir;
|
||||
|
|
|
|||
|
|
@ -1,18 +1,11 @@
|
|||
// gesture effects
|
||||
|
||||
Class LoveHeartTrail : Actor
|
||||
Class LoveHeartTrail : SWWMNonInteractiveActor
|
||||
{
|
||||
Default
|
||||
{
|
||||
RenderStyle "Add";
|
||||
Radius .1;
|
||||
Height 0.;
|
||||
Alpha .1;
|
||||
+NOGRAVITY;
|
||||
+NOBLOCKMAP;
|
||||
+NOINTERACTION;
|
||||
+DONTSPLASH;
|
||||
+NOTELEPORT;
|
||||
+FORCEXYBILLBOARD;
|
||||
}
|
||||
override void Tick()
|
||||
|
|
@ -29,18 +22,11 @@ Class LoveHeartTrail : Actor
|
|||
}
|
||||
}
|
||||
|
||||
Class LoveHeartSparkle : Actor
|
||||
Class LoveHeartSparkle : SWWMNonInteractiveActor
|
||||
{
|
||||
Default
|
||||
{
|
||||
Radius .1;
|
||||
Height 0.;
|
||||
Scale .03;
|
||||
+NOGRAVITY;
|
||||
+NOBLOCKMAP;
|
||||
+NOINTERACTION;
|
||||
+DONTSPLASH;
|
||||
+NOTELEPORT;
|
||||
+FORCEXYBILLBOARD;
|
||||
}
|
||||
override void PostBeginPlay()
|
||||
|
|
|
|||
|
|
@ -96,7 +96,7 @@ Class SWWMDroppedKeen : Actor
|
|||
}
|
||||
}
|
||||
|
||||
Class SWWMBossBrainExpl : Actor
|
||||
Class SWWMBossBrainExpl : SWWMNonInteractiveActor
|
||||
{
|
||||
void A_Ignite()
|
||||
{
|
||||
|
|
@ -141,13 +141,6 @@ Class SWWMBossBrainExpl : Actor
|
|||
{
|
||||
RenderStyle "Add";
|
||||
Scale 2.5;
|
||||
Radius .1;
|
||||
Height 0.;
|
||||
+NOGRAVITY;
|
||||
+NOBLOCKMAP;
|
||||
+NOINTERACTION;
|
||||
+DONTSPLASH;
|
||||
+NOTELEPORT;
|
||||
+FORCEXYBILLBOARD;
|
||||
}
|
||||
States
|
||||
|
|
@ -201,13 +194,11 @@ Class SWWMBossBrainExplArm : Actor
|
|||
Wait;
|
||||
}
|
||||
}
|
||||
Class SWWMBossBrainPain : Actor
|
||||
Class SWWMBossBrainPain : SWWMNonInteractiveActor
|
||||
{
|
||||
Default
|
||||
{
|
||||
RenderStyle "Add";
|
||||
Radius .1;
|
||||
Height 0.;
|
||||
}
|
||||
States
|
||||
{
|
||||
|
|
|
|||
|
|
@ -164,21 +164,14 @@ Class AmmoOrb : SlayerOrb
|
|||
}
|
||||
}
|
||||
|
||||
Class SlayerOrbTrail : Actor abstract
|
||||
Class SlayerOrbTrail : SWWMNonInteractiveActor abstract
|
||||
{
|
||||
Default
|
||||
{
|
||||
RenderStyle "Add";
|
||||
Radius .1;
|
||||
Height 0.;
|
||||
Scale .25;
|
||||
Alpha .5;
|
||||
+FORCEXYBILLBOARD;
|
||||
+NOGRAVITY;
|
||||
+NOBLOCKMAP;
|
||||
+DONTSPLASH;
|
||||
+NOTELEPORT;
|
||||
+NOINTERACTION;
|
||||
}
|
||||
override void Tick()
|
||||
{
|
||||
|
|
@ -264,22 +257,16 @@ Class SWWMMagItem play
|
|||
}
|
||||
}
|
||||
|
||||
Class DashTrail : Actor
|
||||
Class DashTrail : SWWMNonInteractiveActor
|
||||
{
|
||||
Mixin SWWMMinimalMovingWaterTick;
|
||||
|
||||
Default
|
||||
{
|
||||
RenderStyle "Add";
|
||||
Radius .1;
|
||||
Height 0.;
|
||||
Scale 0.3;
|
||||
+NOGRAVITY;
|
||||
+NOBLOCKMAP;
|
||||
+DONTSPLASH;
|
||||
+NOTELEPORT;
|
||||
+NOINTERACTION;
|
||||
+SYNCHRONIZED;
|
||||
Scale .3;
|
||||
+MASTERNOSEE;
|
||||
FloatBobPhase 0;
|
||||
+FORCEXYBILLBOARD;
|
||||
}
|
||||
override void PostBeginPlay()
|
||||
{
|
||||
|
|
@ -296,20 +283,6 @@ Class DashTrail : Actor
|
|||
s.scale *= 1.4;
|
||||
s.alpha *= .3;
|
||||
}
|
||||
override void Tick()
|
||||
{
|
||||
if ( isFrozen() ) return;
|
||||
prev = pos;
|
||||
SetOrigin(level.Vec3Offset(pos,vel),true);
|
||||
UpdateWaterLevel();
|
||||
if ( !CheckNoDelay() || (tics == -1) ) return;
|
||||
if ( tics > 0 ) tics--;
|
||||
while ( !tics )
|
||||
{
|
||||
if ( !SetState(CurState.NextState) )
|
||||
return;
|
||||
}
|
||||
}
|
||||
States
|
||||
{
|
||||
Spawn:
|
||||
|
|
@ -322,43 +295,23 @@ Class DashTrail : Actor
|
|||
}
|
||||
}
|
||||
|
||||
Class DashTrail2 : Actor
|
||||
Class DashTrail2 : SWWMNonInteractiveActor
|
||||
{
|
||||
Mixin SWWMMinimalMovingWaterTick;
|
||||
|
||||
Default
|
||||
{
|
||||
RenderStyle "Add";
|
||||
Radius .1;
|
||||
Height 0.;
|
||||
Scale 0.2;
|
||||
Alpha 0.4;
|
||||
+NOGRAVITY;
|
||||
+NOBLOCKMAP;
|
||||
+DONTSPLASH;
|
||||
+NOTELEPORT;
|
||||
+NOINTERACTION;
|
||||
+SYNCHRONIZED;
|
||||
Scale .2;
|
||||
Alpha .4;
|
||||
+MASTERNOSEE;
|
||||
FloatBobPhase 0;
|
||||
+FORCEXYBILLBOARD;
|
||||
}
|
||||
override void PostBeginPlay()
|
||||
{
|
||||
Super.PostBeginPlay();
|
||||
SetState(FindState("Spawn")+Random[ExploS](0,7));
|
||||
}
|
||||
override void Tick()
|
||||
{
|
||||
if ( isFrozen() ) return;
|
||||
prev = pos;
|
||||
SetOrigin(level.Vec3Offset(pos,vel),true);
|
||||
UpdateWaterLevel();
|
||||
if ( !CheckNoDelay() || (tics == -1) ) return;
|
||||
if ( tics > 0 ) tics--;
|
||||
while ( !tics )
|
||||
{
|
||||
if ( !SetState(CurState.NextState) )
|
||||
return;
|
||||
}
|
||||
}
|
||||
States
|
||||
{
|
||||
Spawn:
|
||||
|
|
@ -378,33 +331,13 @@ Class DashTrail2 : Actor
|
|||
}
|
||||
}
|
||||
|
||||
Class DemolitionistRadiusShockwaveTail : Actor
|
||||
Class DemolitionistRadiusShockwaveTail : SWWMNonInteractiveActor
|
||||
{
|
||||
Mixin SWWMMinimalMovingTick;
|
||||
|
||||
Default
|
||||
{
|
||||
RenderStyle "Add";
|
||||
Radius 16;
|
||||
Height 8;
|
||||
+NOBLOCKMAP;
|
||||
+NOGRAVITY;
|
||||
+DONTSPLASH;
|
||||
+NOTELEPORT;
|
||||
+NOINTERACTION;
|
||||
+SYNCHRONIZED;
|
||||
FloatBobPhase 0;
|
||||
}
|
||||
override void Tick()
|
||||
{
|
||||
if ( isFrozen() ) return;
|
||||
prev = pos;
|
||||
SetOrigin(level.Vec3Offset(pos,vel),true);
|
||||
if ( !CheckNoDelay() || (tics == -1) ) return;
|
||||
if ( tics > 0 ) tics--;
|
||||
while ( !tics )
|
||||
{
|
||||
if ( !SetState(CurState.NextState) )
|
||||
return;
|
||||
}
|
||||
}
|
||||
States
|
||||
{
|
||||
|
|
@ -492,18 +425,12 @@ Class DemolitionistRadiusShockwave : Actor
|
|||
}
|
||||
}
|
||||
|
||||
Class DemolitionistShockwave : Actor
|
||||
Class DemolitionistShockwave : SWWMNonInteractiveActor
|
||||
{
|
||||
Default
|
||||
{
|
||||
+NOGRAVITY;
|
||||
+NOBLOCKMAP;
|
||||
+NOTELEPORT;
|
||||
+NODAMAGETHRUST;
|
||||
+FORCERADIUSDMG;
|
||||
+NOINTERACTION;
|
||||
Radius .1;
|
||||
Height 0.;
|
||||
}
|
||||
override void PostBeginPlay()
|
||||
{
|
||||
|
|
@ -570,17 +497,6 @@ Class DemolitionistShockwave : Actor
|
|||
}
|
||||
}
|
||||
}
|
||||
override void Tick()
|
||||
{
|
||||
if ( isFrozen() ) return;
|
||||
if ( !CheckNoDelay() || (tics == -1) ) return;
|
||||
if ( tics > 0 ) tics--;
|
||||
while ( !tics )
|
||||
{
|
||||
if ( !SetState(CurState.NextState) )
|
||||
return;
|
||||
}
|
||||
}
|
||||
States
|
||||
{
|
||||
Spawn:
|
||||
|
|
|
|||
|
|
@ -2364,16 +2364,12 @@ Class SWWMUtility
|
|||
}
|
||||
}
|
||||
|
||||
Class RadiusDebugSphere : Actor
|
||||
Class RadiusDebugSphere : SWWMNonInteractiveActor
|
||||
{
|
||||
Default
|
||||
{
|
||||
RenderStyle "AddStencil";
|
||||
StencilColor "White";
|
||||
Radius .1;
|
||||
Height 0.;
|
||||
+NOGRAVITY;
|
||||
+NOINTERACTION;
|
||||
}
|
||||
States
|
||||
{
|
||||
|
|
|
|||
|
|
@ -94,18 +94,11 @@ Class SWWMCasing : Actor abstract
|
|||
}
|
||||
}
|
||||
|
||||
Class SWWMBulletImpact : Actor
|
||||
Class SWWMBulletImpact : SWWMNonInteractiveActor
|
||||
{
|
||||
Default
|
||||
{
|
||||
RenderStyle "Add";
|
||||
Radius 0.1;
|
||||
Height 0;
|
||||
+NOGRAVITY;
|
||||
+NOBLOCKMAP;
|
||||
+DONTSPLASH;
|
||||
+NOTELEPORT;
|
||||
+NOINTERACTION;
|
||||
Scale 0.25;
|
||||
}
|
||||
override void PostBeginPlay()
|
||||
|
|
@ -176,17 +169,11 @@ Class SWWMWeaponLight : DynamicLight
|
|||
}
|
||||
}
|
||||
|
||||
Class PunchImpact : Actor
|
||||
Class PunchImpact : SWWMNonInteractiveActor
|
||||
{
|
||||
Default
|
||||
{
|
||||
Tag "WallCrack";
|
||||
Radius 0.1;
|
||||
Height 0;
|
||||
+NOGRAVITY;
|
||||
+NOCLIP;
|
||||
+NOTELEPORT;
|
||||
+NOINTERACTION;
|
||||
}
|
||||
override void PostBeginPlay()
|
||||
{
|
||||
|
|
@ -224,20 +211,13 @@ Class PunchImpact : Actor
|
|||
}
|
||||
}
|
||||
|
||||
Class BigPunchSplash : Actor
|
||||
Class BigPunchSplash : SWWMNonInteractiveActor
|
||||
{
|
||||
Default
|
||||
{
|
||||
DamageType 'Melee';
|
||||
Radius 0.1;
|
||||
Height 0;
|
||||
+NOGRAVITY;
|
||||
+NOCLIP;
|
||||
+DONTSPLASH;
|
||||
+NOTELEPORT;
|
||||
+NODAMAGETHRUST;
|
||||
+FORCERADIUSDMG;
|
||||
+NOINTERACTION;
|
||||
}
|
||||
override void PostBeginPlay()
|
||||
{
|
||||
|
|
@ -247,17 +227,8 @@ Class BigPunchSplash : Actor
|
|||
}
|
||||
}
|
||||
|
||||
Class BigPunchImpact : Actor
|
||||
Class BigPunchImpact : SWWMNonInteractiveActor
|
||||
{
|
||||
Default
|
||||
{
|
||||
Radius 0.1;
|
||||
Height 0;
|
||||
+NOGRAVITY;
|
||||
+NOCLIP;
|
||||
+NOTELEPORT;
|
||||
+NOINTERACTION;
|
||||
}
|
||||
override void PostBeginPlay()
|
||||
{
|
||||
Super.PostBeginPlay();
|
||||
|
|
|
|||
|
|
@ -80,20 +80,14 @@ Class ParryDamageChecker : Inventory
|
|||
}
|
||||
}
|
||||
|
||||
Class ParryRing : Actor
|
||||
Class ParryRing : SWWMNonInteractiveActor
|
||||
{
|
||||
Default
|
||||
{
|
||||
RenderStyle "Add";
|
||||
Scale .1;
|
||||
Alpha .3;
|
||||
Radius 0.1;
|
||||
Height 0;
|
||||
+NOGRAVITY;
|
||||
+NOBLOCKMAP;
|
||||
+FORCEXYBILLBOARD;
|
||||
+NOTELEPORT;
|
||||
+NOINTERACTION;
|
||||
}
|
||||
States
|
||||
{
|
||||
|
|
@ -103,22 +97,11 @@ Class ParryRing : Actor
|
|||
}
|
||||
}
|
||||
|
||||
Class ParryField : Actor
|
||||
Class ParryField : SWWMNonInteractiveActor
|
||||
{
|
||||
bool critsnd;
|
||||
Array<Actor> justparried;
|
||||
|
||||
Default
|
||||
{
|
||||
Radius .1;
|
||||
Height 0.;
|
||||
+NOGRAVITY;
|
||||
+NOCLIP;
|
||||
+DONTSPLASH;
|
||||
+NOTELEPORT;
|
||||
+NOINTERACTION;
|
||||
}
|
||||
|
||||
override void Tick()
|
||||
{
|
||||
if ( !master )
|
||||
|
|
|
|||
|
|
@ -1,7 +1,7 @@
|
|||
// Imanaki Corp Hellfire Cannon Mk3, aka "Hellblazer" (from SWWM series, originally inspired by the Hellraiser from OMGWEAPONS)
|
||||
// Slot 6, replaces Rocket Launcher, Phoenix Rod, Firestorm
|
||||
|
||||
Class HellblazerX : GhostArtifactX
|
||||
Class HellblazerX : SWWMItemOverlay
|
||||
{
|
||||
States
|
||||
{
|
||||
|
|
|
|||
|
|
@ -9,20 +9,14 @@ Class HellblazerExplLight : PaletteLight
|
|||
ReactionTime 25;
|
||||
}
|
||||
}
|
||||
Class HellblazerSubExpl : Actor
|
||||
Class HellblazerSubExpl : SWWMNonInteractiveActor
|
||||
{
|
||||
Default
|
||||
{
|
||||
RenderStyle "Add";
|
||||
Scale 2.2;
|
||||
Radius 0.1;
|
||||
Height 0;
|
||||
Alpha .75;
|
||||
+NOGRAVITY;
|
||||
+NOBLOCKMAP;
|
||||
+FORCEXYBILLBOARD;
|
||||
+NOTELEPORT;
|
||||
+NOINTERACTION;
|
||||
+ROLLSPRITE;
|
||||
+ROLLCENTER;
|
||||
}
|
||||
|
|
@ -33,17 +27,6 @@ Class HellblazerSubExpl : Actor
|
|||
scale.x *= RandomPick[ExploS](-1,1);
|
||||
scale.y *= RandomPick[ExploS](-1,1);
|
||||
}
|
||||
override void Tick()
|
||||
{
|
||||
if ( isFrozen() ) return;
|
||||
if ( !CheckNoDelay() || (tics == -1) ) return;
|
||||
if ( tics > 0 ) tics--;
|
||||
while ( !tics )
|
||||
{
|
||||
if ( !SetState(CurState.NextState) )
|
||||
return;
|
||||
}
|
||||
}
|
||||
States
|
||||
{
|
||||
Spawn:
|
||||
|
|
@ -52,30 +35,13 @@ Class HellblazerSubExpl : Actor
|
|||
}
|
||||
}
|
||||
|
||||
Class HellblazerRing : Actor
|
||||
Class HellblazerRing : SWWMNonInteractiveActor
|
||||
{
|
||||
Default
|
||||
{
|
||||
RenderStyle "Add";
|
||||
Scale 2.;
|
||||
Radius 0.1;
|
||||
Height 0;
|
||||
+NOGRAVITY;
|
||||
+NOBLOCKMAP;
|
||||
+FORCEXYBILLBOARD;
|
||||
+NOTELEPORT;
|
||||
+NOINTERACTION;
|
||||
}
|
||||
override void Tick()
|
||||
{
|
||||
if ( isFrozen() ) return;
|
||||
if ( !CheckNoDelay() || (tics == -1) ) return;
|
||||
if ( tics > 0 ) tics--;
|
||||
while ( !tics )
|
||||
{
|
||||
if ( !SetState(CurState.NextState) )
|
||||
return;
|
||||
}
|
||||
}
|
||||
States
|
||||
{
|
||||
|
|
@ -85,29 +51,14 @@ Class HellblazerRing : Actor
|
|||
}
|
||||
}
|
||||
|
||||
Class HellblazerArmTrail : Actor
|
||||
Class HellblazerArmTrail : SWWMNonInteractiveActor
|
||||
{
|
||||
Default
|
||||
{
|
||||
RenderStyle "Add";
|
||||
+NOBLOCKMAP;
|
||||
+NOGRAVITY;
|
||||
+FORCEXYBILLBOARD;
|
||||
+NOTELEPORT;
|
||||
+NOINTERACTION;
|
||||
Scale 2.5;
|
||||
}
|
||||
override void Tick()
|
||||
{
|
||||
if ( isFrozen() ) return;
|
||||
if ( !CheckNoDelay() || (tics == -1) ) return;
|
||||
if ( tics > 0 ) tics--;
|
||||
while ( !tics )
|
||||
{
|
||||
if ( !SetState(CurState.NextState) )
|
||||
return;
|
||||
}
|
||||
}
|
||||
States
|
||||
{
|
||||
Spawn:
|
||||
|
|
@ -165,38 +116,20 @@ Class HellblazerArm : Actor
|
|||
}
|
||||
}
|
||||
|
||||
Class HellblazerTrail : Actor
|
||||
Class HellblazerTrail : SWWMNonInteractiveActor
|
||||
{
|
||||
Default
|
||||
{
|
||||
RenderStyle "Add";
|
||||
Radius .1;
|
||||
Height 0.;
|
||||
Scale .2;
|
||||
Alpha .3;
|
||||
+NOGRAVITY;
|
||||
+NOBLOCKMAP;
|
||||
+DONTSPLASH;
|
||||
+NOTELEPORT;
|
||||
+FORCEXYBILLBOARD;
|
||||
+NOINTERACTION;
|
||||
}
|
||||
override void PostBeginPlay()
|
||||
{
|
||||
Super.PostBeginPlay();
|
||||
SetState(FindState("Spawn")+Random[ExploS](0,7));
|
||||
}
|
||||
override void Tick()
|
||||
{
|
||||
if ( isFrozen() ) return;
|
||||
if ( !CheckNoDelay() || (tics == -1) ) return;
|
||||
if ( tics > 0 ) tics--;
|
||||
while ( !tics )
|
||||
{
|
||||
if ( !SetState(CurState.NextState) )
|
||||
return;
|
||||
}
|
||||
}
|
||||
States
|
||||
{
|
||||
Spawn:
|
||||
|
|
@ -216,19 +149,12 @@ Class HellblazerTrail : Actor
|
|||
}
|
||||
}
|
||||
|
||||
Class HellblazerFlare : Actor
|
||||
Class HellblazerFlare : SWWMNonInteractiveActor
|
||||
{
|
||||
Default
|
||||
{
|
||||
RenderStyle "Add";
|
||||
Radius .1;
|
||||
Height 0.;
|
||||
+NOGRAVITY;
|
||||
+NOBLOCKMAP;
|
||||
+DONTSPLASH;
|
||||
+NOTELEPORT;
|
||||
+FORCEXYBILLBOARD;
|
||||
+NOINTERACTION;
|
||||
}
|
||||
|
||||
override void Tick()
|
||||
|
|
|
|||
|
|
@ -1,17 +1,7 @@
|
|||
// Wallbuster effects
|
||||
|
||||
Class BustedQuake : Actor
|
||||
Class BustedQuake : SWWMNonInteractiveActor
|
||||
{
|
||||
Default
|
||||
{
|
||||
Radius 0.1;
|
||||
Height 0;
|
||||
+NOGRAVITY;
|
||||
+NOCLIP;
|
||||
+DONTSPLASH;
|
||||
+NOTELEPORT;
|
||||
+NOINTERACTION;
|
||||
}
|
||||
override void PostBeginPlay()
|
||||
{
|
||||
if ( (special1 < 3) || (special1 > 6) )
|
||||
|
|
@ -27,12 +17,6 @@ Class BustedQuake : Actor
|
|||
A_QuakeEx(special1,special1,special1,20+special1*5,0,300+special1*90,"",QF_RELATIVE|QF_SCALEDOWN|QF_3D,rollIntensity:special1*.1);
|
||||
A_AlertMonsters(swwm_uncapalert?0:2500);
|
||||
}
|
||||
override void Tick()
|
||||
{
|
||||
if ( isFrozen() ) return;
|
||||
tics--;
|
||||
if ( tics <= 0 ) Destroy();
|
||||
}
|
||||
States
|
||||
{
|
||||
Spawn:
|
||||
|
|
|
|||
|
|
@ -23,18 +23,8 @@ Class EvisceratorChunkLight : PointLightAttenuated
|
|||
}
|
||||
}
|
||||
|
||||
Class ChunkImpact : Actor
|
||||
Class ChunkImpact : SWWMNonInteractiveActor
|
||||
{
|
||||
Default
|
||||
{
|
||||
Radius 0.1;
|
||||
Height 0;
|
||||
+NOGRAVITY;
|
||||
+NOCLIP;
|
||||
+DONTSPLASH;
|
||||
+NOTELEPORT;
|
||||
+NOINTERACTION;
|
||||
}
|
||||
override void PostBeginPlay()
|
||||
{
|
||||
Super.PostBeginPlay();
|
||||
|
|
@ -68,20 +58,13 @@ Class ChunkImpact : Actor
|
|||
}
|
||||
}
|
||||
|
||||
Class EvisceratorChunkGlow : Actor
|
||||
Class EvisceratorChunkGlow : SWWMNonInteractiveActor
|
||||
{
|
||||
Default
|
||||
{
|
||||
RenderStyle "Add";
|
||||
Radius .1;
|
||||
Height 0.;
|
||||
Scale .25;
|
||||
+FORCEXYBILLBOARD;
|
||||
+NOGRAVITY;
|
||||
+NOBLOCKMAP;
|
||||
+NOINTERACTION;
|
||||
+DONTSPLASH;
|
||||
+NOTELEPORT;
|
||||
}
|
||||
override void Tick()
|
||||
{
|
||||
|
|
@ -104,20 +87,13 @@ Class EvisceratorChunkGlow : Actor
|
|||
}
|
||||
}
|
||||
|
||||
Class EvisceratorChunkTrail : Actor
|
||||
Class EvisceratorChunkTrail : SWWMNonInteractiveActor
|
||||
{
|
||||
Default
|
||||
{
|
||||
RenderStyle "Add";
|
||||
Radius .1;
|
||||
Height 0.;
|
||||
XScale 8.;
|
||||
+FORCEXYBILLBOARD;
|
||||
+NOGRAVITY;
|
||||
+NOBLOCKMAP;
|
||||
+NOINTERACTION;
|
||||
+DONTSPLASH;
|
||||
+NOTELEPORT;
|
||||
}
|
||||
override void Tick()
|
||||
{
|
||||
|
|
@ -400,19 +376,9 @@ Class EvisceratorChunk : Actor
|
|||
}
|
||||
}
|
||||
|
||||
Class EvisceratorProjSmoke : Actor
|
||||
Class EvisceratorProjSmoke : SWWMNonInteractiveActor
|
||||
{
|
||||
double lifetime, lifespeed;
|
||||
Default
|
||||
{
|
||||
Radius 0.1;
|
||||
Height 0;
|
||||
+NOBLOCKMAP;
|
||||
+NOGRAVITY;
|
||||
+DONTSPLASH;
|
||||
+NOTELEPORT;
|
||||
+NOINTERACTION;
|
||||
}
|
||||
override void PostBeginPlay()
|
||||
{
|
||||
lifetime = 0;
|
||||
|
|
@ -620,31 +586,14 @@ Class EvisceratorProj : Actor
|
|||
}
|
||||
}
|
||||
|
||||
Class EvisceratorSubExpl : Actor
|
||||
Class EvisceratorSubExpl : SWWMNonInteractiveActor
|
||||
{
|
||||
Default
|
||||
{
|
||||
RenderStyle "Add";
|
||||
Scale 2.;
|
||||
Alpha .6;
|
||||
Radius 0.1;
|
||||
Height 0;
|
||||
+NOGRAVITY;
|
||||
+NOBLOCKMAP;
|
||||
+FORCEXYBILLBOARD;
|
||||
+NOTELEPORT;
|
||||
+NOINTERACTION;
|
||||
}
|
||||
override void Tick()
|
||||
{
|
||||
if ( isFrozen() ) return;
|
||||
if ( !CheckNoDelay() || (tics == -1) ) return;
|
||||
if ( tics > 0 ) tics--;
|
||||
while ( !tics )
|
||||
{
|
||||
if ( !SetState(CurState.NextState) )
|
||||
return;
|
||||
}
|
||||
}
|
||||
States
|
||||
{
|
||||
|
|
@ -654,30 +603,13 @@ Class EvisceratorSubExpl : Actor
|
|||
}
|
||||
}
|
||||
|
||||
Class EvisceratorRing : Actor
|
||||
Class EvisceratorRing : SWWMNonInteractiveActor
|
||||
{
|
||||
Default
|
||||
{
|
||||
RenderStyle "Add";
|
||||
Scale 4.;
|
||||
Radius 0.1;
|
||||
Height 0;
|
||||
+NOGRAVITY;
|
||||
+NOBLOCKMAP;
|
||||
+FORCEXYBILLBOARD;
|
||||
+NOTELEPORT;
|
||||
+NOINTERACTION;
|
||||
}
|
||||
override void Tick()
|
||||
{
|
||||
if ( isFrozen() ) return;
|
||||
if ( !CheckNoDelay() || (tics == -1) ) return;
|
||||
if ( tics > 0 ) tics--;
|
||||
while ( !tics )
|
||||
{
|
||||
if ( !SetState(CurState.NextState) )
|
||||
return;
|
||||
}
|
||||
}
|
||||
States
|
||||
{
|
||||
|
|
|
|||
|
|
@ -1,7 +1,7 @@
|
|||
// Ynykron projectiles and effects
|
||||
|
||||
// there was an enemy here, but it's gone now
|
||||
Class AshenRemains : Actor
|
||||
Class AshenRemains : SWWMNonInteractiveActor
|
||||
{
|
||||
override void Tick()
|
||||
{
|
||||
|
|
@ -27,12 +27,6 @@ Class AshenRemains : Actor
|
|||
{
|
||||
RenderStyle "Shaded";
|
||||
StencilColor "000000";
|
||||
Radius .1;
|
||||
Height 0.;
|
||||
+NOBLOCKMAP;
|
||||
+NOINTERACTION;
|
||||
+DONTSPLASH;
|
||||
+NOTELEPORT;
|
||||
}
|
||||
States
|
||||
{
|
||||
|
|
@ -256,20 +250,14 @@ Class YnykronImpactArm : Actor
|
|||
}
|
||||
}
|
||||
|
||||
Class YnykronImpactTrail : Actor
|
||||
Class YnykronImpactTrail : SWWMNonInteractiveActor
|
||||
{
|
||||
Default
|
||||
{
|
||||
RenderStyle "Add";
|
||||
+NOBLOCKMAP;
|
||||
+NOGRAVITY;
|
||||
+FORCEXYBILLBOARD;
|
||||
+NOTELEPORT;
|
||||
+NOINTERACTION;
|
||||
Scale 2.;
|
||||
Alpha .2;
|
||||
Radius .1;
|
||||
Height 0.;
|
||||
}
|
||||
override void PostBeginPlay()
|
||||
{
|
||||
|
|
@ -278,17 +266,6 @@ Class YnykronImpactTrail : Actor
|
|||
Scale.x *= RandomPick[ExploS](-1,1);
|
||||
Scale.y *= RandomPick[ExploS](-1,1);
|
||||
}
|
||||
override void Tick()
|
||||
{
|
||||
if ( isFrozen() ) return;
|
||||
if ( !CheckNoDelay() || (tics == -1) ) return;
|
||||
if ( tics > 0 ) tics--;
|
||||
while ( !tics )
|
||||
{
|
||||
if ( !SetState(CurState.NextState) )
|
||||
return;
|
||||
}
|
||||
}
|
||||
States
|
||||
{
|
||||
Spawn:
|
||||
|
|
@ -297,19 +274,10 @@ Class YnykronImpactTrail : Actor
|
|||
}
|
||||
}
|
||||
|
||||
Class YnykronDelayedImpact : Actor
|
||||
Class YnykronDelayedImpact : SWWMNonInteractiveActor
|
||||
{
|
||||
Vector3 ofs;
|
||||
|
||||
Default
|
||||
{
|
||||
+NOBLOCKMAP;
|
||||
+NOGRAVITY;
|
||||
+NOTELEPORT;
|
||||
+NOINTERACTION;
|
||||
Radius .1;
|
||||
Height 0.;
|
||||
}
|
||||
override void Tick()
|
||||
{
|
||||
if ( isFrozen() ) return;
|
||||
|
|
@ -332,7 +300,7 @@ Class YnykronDelayedImpact : Actor
|
|||
}
|
||||
}
|
||||
|
||||
Class YnykronImpact : Actor
|
||||
Class YnykronImpact : SWWMNonInteractiveActor
|
||||
{
|
||||
int rad;
|
||||
|
||||
|
|
@ -342,17 +310,10 @@ Class YnykronImpact : Actor
|
|||
DamageType "Ynykron";
|
||||
RenderStyle "Add";
|
||||
Scale 5.;
|
||||
+NOGRAVITY;
|
||||
+NOBLOCKMAP;
|
||||
+NOTELEPORT;
|
||||
+DONTSPLASH;
|
||||
+FORCEXYBILLBOARD;
|
||||
+NOINTERACTION;
|
||||
+NODAMAGETHRUST;
|
||||
+FORCERADIUSDMG;
|
||||
+EXTREMEDEATH;
|
||||
Radius .1;
|
||||
Height 0.;
|
||||
}
|
||||
|
||||
private bool CmpDist( Actor a, Actor b )
|
||||
|
|
@ -544,17 +505,6 @@ Class YnykronImpact : Actor
|
|||
YnykronShot(master).blastcount--;
|
||||
Super.OnDestroy();
|
||||
}
|
||||
override void Tick()
|
||||
{
|
||||
if ( isFrozen() ) return;
|
||||
if ( !CheckNoDelay() || (tics == -1) ) return;
|
||||
if ( tics > 0 ) tics--;
|
||||
while ( !tics )
|
||||
{
|
||||
if ( !SetState(CurState.NextState) )
|
||||
return;
|
||||
}
|
||||
}
|
||||
States
|
||||
{
|
||||
Spawn:
|
||||
|
|
@ -649,7 +599,7 @@ Class YnykronInWallTracer : YnykronTracer
|
|||
}
|
||||
}
|
||||
|
||||
Class YnykronBeam : Actor
|
||||
Class YnykronBeam : SWWMNonInteractiveActor
|
||||
{
|
||||
bool nospread;
|
||||
|
||||
|
|
@ -894,15 +844,8 @@ Class YnykronBeam : Actor
|
|||
Obituary "$O_YNYKRON";
|
||||
DamageType "Ynykron";
|
||||
RenderStyle "Add";
|
||||
Radius .1;
|
||||
Height 0;
|
||||
Alpha .4;
|
||||
Speed 128;
|
||||
+NOGRAVITY;
|
||||
+NOBLOCKMAP;
|
||||
+NOCLIP;
|
||||
+NOTELEPORT;
|
||||
+DONTSPLASH;
|
||||
+FORCEXYBILLBOARD;
|
||||
+ROLLSPRITE;
|
||||
+ROLLCENTER;
|
||||
|
|
@ -910,7 +853,6 @@ Class YnykronBeam : Actor
|
|||
+FORCERADIUSDMG;
|
||||
+FOILINVUL;
|
||||
+EXTREMEDEATH;
|
||||
+NOINTERACTION;
|
||||
}
|
||||
States
|
||||
{
|
||||
|
|
@ -955,18 +897,8 @@ Class YnykronBeam : Actor
|
|||
}
|
||||
}
|
||||
|
||||
Class DelayedWallBeam : Actor
|
||||
Class DelayedWallBeam : SWWMNonInteractiveActor
|
||||
{
|
||||
Default
|
||||
{
|
||||
Radius 0.1;
|
||||
Height 0;
|
||||
+NOGRAVITY;
|
||||
+NOBLOCKMAP;
|
||||
+NOTELEPORT;
|
||||
+DONTSPLASH;
|
||||
+NOINTERACTION;
|
||||
}
|
||||
override void PostBeginPlay()
|
||||
{
|
||||
if ( YnykronShot(master) )
|
||||
|
|
@ -1014,34 +946,16 @@ Class DelayedWallBeam : Actor
|
|||
}
|
||||
}
|
||||
|
||||
Class YnykronRing : Actor
|
||||
Class YnykronRing : SWWMNonInteractiveActor
|
||||
{
|
||||
Default
|
||||
{
|
||||
RenderStyle "Add";
|
||||
Radius 0.1;
|
||||
Height 0;
|
||||
Scale .6;
|
||||
Alpha .05;
|
||||
+NOGRAVITY;
|
||||
+NOBLOCKMAP;
|
||||
+FORCEXYBILLBOARD;
|
||||
+NOTELEPORT;
|
||||
+DONTSPLASH;
|
||||
+ROLLSPRITE;
|
||||
+ROLLCENTER;
|
||||
+NOINTERACTION;
|
||||
}
|
||||
override void Tick()
|
||||
{
|
||||
if ( isFrozen() ) return;
|
||||
if ( !CheckNoDelay() || (tics == -1) ) return;
|
||||
if ( tics > 0 ) tics--;
|
||||
while ( !tics )
|
||||
{
|
||||
if ( !SetState(CurState.NextState) )
|
||||
return;
|
||||
}
|
||||
}
|
||||
States
|
||||
{
|
||||
|
|
@ -1052,20 +966,13 @@ Class YnykronRing : Actor
|
|||
}
|
||||
|
||||
// non-model version, for impacts
|
||||
Class YnykronImpactRing : Actor
|
||||
Class YnykronImpactRing : SWWMNonInteractiveActor
|
||||
{
|
||||
Default
|
||||
{
|
||||
RenderStyle "Add";
|
||||
Radius 0.1;
|
||||
Height 0;
|
||||
Scale 2.;
|
||||
+NOGRAVITY;
|
||||
+NOBLOCKMAP;
|
||||
+FORCEXYBILLBOARD;
|
||||
+NOTELEPORT;
|
||||
+DONTSPLASH;
|
||||
+NOINTERACTION;
|
||||
}
|
||||
override void Tick()
|
||||
{
|
||||
|
|
@ -1087,7 +994,7 @@ Class YnykronImpactRing : Actor
|
|||
}
|
||||
}
|
||||
|
||||
Class YnykronShot : Actor
|
||||
Class YnykronShot : SWWMNonInteractiveActor
|
||||
{
|
||||
Array<Actor> hitlist;
|
||||
bool hitboss;
|
||||
|
|
@ -1096,16 +1003,6 @@ Class YnykronShot : Actor
|
|||
int blastcount;
|
||||
int lastimpact;
|
||||
|
||||
Default
|
||||
{
|
||||
Radius .1;
|
||||
Height 0;
|
||||
+NOGRAVITY;
|
||||
+NOBLOCKMAP;
|
||||
+NOTELEPORT;
|
||||
+DONTSPLASH;
|
||||
+NOINTERACTION;
|
||||
}
|
||||
void FlashPlayer( int str, double rad )
|
||||
{
|
||||
if ( !SWWMUtility.InPlayerFOV(players[consoleplayer],self,rad) ) return;
|
||||
|
|
@ -1223,19 +1120,12 @@ Class YnykronAltTracer : LineTracer
|
|||
}
|
||||
}
|
||||
|
||||
Class YnykronHaloTail : Actor
|
||||
Class YnykronHaloTail : SWWMNonInteractiveActor
|
||||
{
|
||||
Default
|
||||
{
|
||||
RenderStyle "Add";
|
||||
+NOGRAVITY;
|
||||
+DONTSPLASH;
|
||||
+NOTELEPORT;
|
||||
+NOBLOCKMAP;
|
||||
+NOINTERACTION;
|
||||
+FORCEXYBILLBOARD;
|
||||
Radius .1;
|
||||
Height 0.;
|
||||
Scale 1.5;
|
||||
}
|
||||
override void Tick()
|
||||
|
|
@ -1252,19 +1142,12 @@ Class YnykronHaloTail : Actor
|
|||
}
|
||||
}
|
||||
|
||||
Class YnykronHalo : Actor
|
||||
Class YnykronHalo : SWWMNonInteractiveActor
|
||||
{
|
||||
Default
|
||||
{
|
||||
RenderStyle "Add";
|
||||
+NOGRAVITY;
|
||||
+DONTSPLASH;
|
||||
+NOTELEPORT;
|
||||
+NOBLOCKMAP;
|
||||
+NOINTERACTION;
|
||||
+FORCEXYBILLBOARD;
|
||||
Radius .1;
|
||||
Height 0.;
|
||||
Scale 1.5;
|
||||
}
|
||||
override void Tick()
|
||||
|
|
@ -1288,20 +1171,9 @@ Class YnykronHalo : Actor
|
|||
}
|
||||
}
|
||||
|
||||
Class GatherDust : Actor
|
||||
Class GatherDust : SWWMNonInteractiveActor
|
||||
{
|
||||
override void Tick()
|
||||
{
|
||||
if ( isFrozen() ) return;
|
||||
SetOrigin(level.Vec3Offset(pos,vel),true);
|
||||
if ( !CheckNoDelay() || (tics == -1) ) return;
|
||||
if ( tics > 0 ) tics--;
|
||||
while ( !tics )
|
||||
{
|
||||
if ( !SetState(CurState.NextState) )
|
||||
return;
|
||||
}
|
||||
}
|
||||
Mixin SWWMMinimalMovingTick;
|
||||
|
||||
override void PostBeginPlay()
|
||||
{
|
||||
|
|
@ -1339,17 +1211,9 @@ Class GatherDust : Actor
|
|||
Default
|
||||
{
|
||||
RenderStyle "Shaded";
|
||||
Radius .1;
|
||||
Height 0.;
|
||||
Alpha 0.;
|
||||
Scale 3.;
|
||||
+NOGRAVITY;
|
||||
+NOBLOCKMAP;
|
||||
+DONTSPLASH;
|
||||
+NOTELEPORT;
|
||||
+NOINTERACTION;
|
||||
+FORCEXYBILLBOARD;
|
||||
+NOCLIP;
|
||||
}
|
||||
States
|
||||
{
|
||||
|
|
@ -1359,19 +1223,12 @@ Class GatherDust : Actor
|
|||
}
|
||||
}
|
||||
|
||||
Class YnykronVoidBeamTail : Actor
|
||||
Class YnykronVoidBeamTail : SWWMNonInteractiveActor
|
||||
{
|
||||
Default
|
||||
{
|
||||
RenderStyle "Add";
|
||||
+NOGRAVITY;
|
||||
+DONTSPLASH;
|
||||
+NOTELEPORT;
|
||||
+NOBLOCKMAP;
|
||||
+NOINTERACTION;
|
||||
+FORCEXYBILLBOARD;
|
||||
Radius .1;
|
||||
Height 0.;
|
||||
}
|
||||
override void Tick()
|
||||
{
|
||||
|
|
@ -1386,7 +1243,7 @@ Class YnykronVoidBeamTail : Actor
|
|||
}
|
||||
}
|
||||
|
||||
Class YnykronVoidBeam : Actor
|
||||
Class YnykronVoidBeam : SWWMNonInteractiveActor
|
||||
{
|
||||
Actor basebeam, prevbeam, nextbeam;
|
||||
YnykronTracer t;
|
||||
|
|
@ -1401,15 +1258,8 @@ Class YnykronVoidBeam : Actor
|
|||
DamageType 'YnykronAlt';
|
||||
Obituary "$O_YNYKRONALT";
|
||||
RenderStyle "Add";
|
||||
Radius .1;
|
||||
Height 0.;
|
||||
Alpha 0.;
|
||||
Stamina 3;
|
||||
+NOGRAVITY;
|
||||
+NOBLOCKMAP;
|
||||
+DONTSPLASH;
|
||||
+NOTELEPORT;
|
||||
+NOINTERACTION;
|
||||
+INTERPOLATEANGLES;
|
||||
+NODAMAGETHRUST;
|
||||
+FOILINVUL;
|
||||
|
|
@ -1532,18 +1382,6 @@ Class YnykronVoidBeam : Actor
|
|||
h.frame = frame;
|
||||
}
|
||||
|
||||
override void Tick()
|
||||
{
|
||||
if ( isFrozen() ) return;
|
||||
if ( !CheckNoDelay() || (tics == -1) ) return;
|
||||
if ( tics > 0 ) tics--;
|
||||
while ( !tics )
|
||||
{
|
||||
if ( !SetState(CurState.NextState) )
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
States
|
||||
{
|
||||
Spawn:
|
||||
|
|
@ -1552,18 +1390,15 @@ Class YnykronVoidBeam : Actor
|
|||
}
|
||||
}
|
||||
|
||||
Class YnykronLightningImpact : Actor
|
||||
Class YnykronLightningImpact : SWWMNonInteractiveActor
|
||||
{
|
||||
Default
|
||||
{
|
||||
Obituary "$O_YNYKRONALT";
|
||||
DamageType "Electric";
|
||||
Radius .1;
|
||||
Height 0;
|
||||
+FOILINVUL;
|
||||
+FORCERADIUSDMG;
|
||||
+NODAMAGETHRUST;
|
||||
+NOINTERACTION;
|
||||
}
|
||||
override void PostBeginPlay()
|
||||
{
|
||||
|
|
@ -1600,7 +1435,7 @@ Class YnykronLightningImpact : Actor
|
|||
}
|
||||
}
|
||||
|
||||
Class YnykronLightningArc : Actor
|
||||
Class YnykronLightningArc : SWWMNonInteractiveActor
|
||||
{
|
||||
Vector3 nextpos, nextdir;
|
||||
Vector3 destpos;
|
||||
|
|
@ -1725,32 +1560,14 @@ Class YnykronLightningArc : Actor
|
|||
Super.PostBeginPlay();
|
||||
frame = Random[Ynykron](0,11);
|
||||
}
|
||||
override void Tick()
|
||||
{
|
||||
if ( isFrozen() ) return;
|
||||
if ( !CheckNoDelay() || (tics == -1) ) return;
|
||||
if ( tics > 0 ) tics--;
|
||||
while ( !tics )
|
||||
{
|
||||
if ( !SetState(CurState.NextState) )
|
||||
return;
|
||||
}
|
||||
}
|
||||
Default
|
||||
{
|
||||
Obituary "$O_YNYKRONALT";
|
||||
RenderStyle "Add";
|
||||
DamageFunction 1000;
|
||||
Speed 128;
|
||||
Radius .1;
|
||||
Height 0;
|
||||
Alpha 2.;
|
||||
+NOGRAVITY;
|
||||
+NOCLIP;
|
||||
+DONTSPLASH;
|
||||
+NOTELEPORT;
|
||||
+FOILINVUL;
|
||||
+NOINTERACTION;
|
||||
}
|
||||
States
|
||||
{
|
||||
|
|
@ -1794,7 +1611,7 @@ Class YnykronLightningArcSub : YnykronLightningArc
|
|||
}
|
||||
}
|
||||
|
||||
Class YnykronCloud : Actor
|
||||
Class YnykronCloud : SWWMNonInteractiveActor
|
||||
{
|
||||
Vector3 gx, gy, gz;
|
||||
double phase;
|
||||
|
|
@ -1806,14 +1623,7 @@ Class YnykronCloud : Actor
|
|||
override void Tick()
|
||||
{
|
||||
prev = pos;
|
||||
if ( isFrozen() ) return;
|
||||
if ( !CheckNoDelay() || (tics == -1) ) return;
|
||||
if ( tics > 0 ) tics--;
|
||||
while ( !tics )
|
||||
{
|
||||
if ( !SetState(CurState.NextState) )
|
||||
return;
|
||||
}
|
||||
Super.Tick();
|
||||
}
|
||||
|
||||
void FlashPlayer( int str, double rad )
|
||||
|
|
@ -1893,18 +1703,10 @@ Class YnykronCloud : Actor
|
|||
DamageType 'YnykronAlt';
|
||||
Obituary "$O_YNYKRONALT";
|
||||
RenderStyle "Shaded";
|
||||
Radius .1;
|
||||
Height 0.;
|
||||
Alpha 0.;
|
||||
Scale 3.;
|
||||
+NOGRAVITY;
|
||||
+NOBLOCKMAP;
|
||||
+DONTSPLASH;
|
||||
+NOTELEPORT;
|
||||
+NOINTERACTION;
|
||||
+FORCEXYBILLBOARD;
|
||||
+ROLLSPRITE;
|
||||
+NOCLIP;
|
||||
}
|
||||
States
|
||||
{
|
||||
|
|
@ -1948,37 +1750,18 @@ Class SimpleMoveTracer : LineTracer
|
|||
}
|
||||
}
|
||||
|
||||
Class YnykronSingularityRing : Actor
|
||||
Class YnykronSingularityRing : SWWMNonInteractiveActor
|
||||
{
|
||||
Default
|
||||
{
|
||||
RenderStyle "Add";
|
||||
Radius 0.1;
|
||||
Height 0;
|
||||
Scale 4.;
|
||||
+NOGRAVITY;
|
||||
+NOBLOCKMAP;
|
||||
+FORCEXYBILLBOARD;
|
||||
+NOTELEPORT;
|
||||
+DONTSPLASH;
|
||||
+NOINTERACTION;
|
||||
}
|
||||
override void Tick()
|
||||
{
|
||||
if ( isFrozen() ) return;
|
||||
A_SetScale(scale.x*1.05);
|
||||
if ( !CheckNoDelay() || (tics == -1) ) return;
|
||||
if ( tics > 0 ) tics--;
|
||||
while ( !tics )
|
||||
{
|
||||
if ( !SetState(CurState.NextState) )
|
||||
return;
|
||||
}
|
||||
}
|
||||
States
|
||||
{
|
||||
Spawn:
|
||||
XRG4 ABCDEFGHIJKLMNOPQRSTUVWX 2 Bright;
|
||||
XRG4 AABBCCDDEEFFGGHHIIJJKKLLMMNNOOPPQQRRSSTTUUVVWWXX 1 Bright A_SetScale(scale.x*1.05);
|
||||
Stop;
|
||||
}
|
||||
}
|
||||
|
|
@ -1993,20 +1776,13 @@ Class YnykronVoidExplLight : PaletteLight
|
|||
}
|
||||
}
|
||||
|
||||
Class YnykronVoidSparkleTrail : Actor
|
||||
Class YnykronVoidSparkleTrail : SWWMNonInteractiveActor
|
||||
{
|
||||
Default
|
||||
{
|
||||
RenderStyle "Add";
|
||||
Radius .1;
|
||||
Height 0.;
|
||||
XScale 6.;
|
||||
+FORCEXYBILLBOARD;
|
||||
+NOGRAVITY;
|
||||
+NOBLOCKMAP;
|
||||
+NOINTERACTION;
|
||||
+DONTSPLASH;
|
||||
+NOTELEPORT;
|
||||
}
|
||||
override void Tick()
|
||||
{
|
||||
|
|
@ -2022,20 +1798,14 @@ Class YnykronVoidSparkleTrail : Actor
|
|||
}
|
||||
}
|
||||
|
||||
Class YnykronVoidSparkle : Actor
|
||||
Class YnykronVoidSparkle : SWWMNonInteractiveActor
|
||||
{
|
||||
Default
|
||||
{
|
||||
RenderStyle "Add";
|
||||
Radius 0.1;
|
||||
Height 0;
|
||||
+NOGRAVITY;
|
||||
+NOBLOCKMAP;
|
||||
+DONTSPLASH;
|
||||
+ROLLSPRITE;
|
||||
+ROLLCENTER;
|
||||
+FORCEXYBILLBOARD;
|
||||
+NOINTERACTION;
|
||||
}
|
||||
override void PostBeginPlay()
|
||||
{
|
||||
|
|
@ -2138,20 +1908,14 @@ Class YnykronSingularityExplosionArm : Actor
|
|||
}
|
||||
}
|
||||
|
||||
Class YnykronSingularityExplosionTrail : Actor
|
||||
Class YnykronSingularityExplosionTrail : SWWMNonInteractiveActor
|
||||
{
|
||||
Default
|
||||
{
|
||||
RenderStyle "Add";
|
||||
+NOBLOCKMAP;
|
||||
+NOGRAVITY;
|
||||
+FORCEXYBILLBOARD;
|
||||
+NOTELEPORT;
|
||||
+NOINTERACTION;
|
||||
Scale 3.;
|
||||
Alpha .2;
|
||||
Radius 0.1;
|
||||
Height 0;
|
||||
}
|
||||
override void PostBeginPlay()
|
||||
{
|
||||
|
|
@ -2160,17 +1924,6 @@ Class YnykronSingularityExplosionTrail : Actor
|
|||
Scale.x *= RandomPick[ExploS](-1,1);
|
||||
Scale.y *= RandomPick[ExploS](-1,1);
|
||||
}
|
||||
override void Tick()
|
||||
{
|
||||
if ( isFrozen() ) return;
|
||||
if ( !CheckNoDelay() || (tics == -1) ) return;
|
||||
if ( tics > 0 ) tics--;
|
||||
while ( !tics )
|
||||
{
|
||||
if ( !SetState(CurState.NextState) )
|
||||
return;
|
||||
}
|
||||
}
|
||||
States
|
||||
{
|
||||
Spawn:
|
||||
|
|
@ -2179,7 +1932,7 @@ Class YnykronSingularityExplosionTrail : Actor
|
|||
}
|
||||
}
|
||||
|
||||
Class YnykronSingularityExplosion : Actor
|
||||
Class YnykronSingularityExplosion : SWWMNonInteractiveActor
|
||||
{
|
||||
Default
|
||||
{
|
||||
|
|
@ -2187,16 +1940,10 @@ Class YnykronSingularityExplosion : Actor
|
|||
DamageType "YnykronAlt";
|
||||
RenderStyle "Add";
|
||||
Scale 5.;
|
||||
Radius 0.1;
|
||||
Height 0;
|
||||
+NOGRAVITY;
|
||||
+NOBLOCKMAP;
|
||||
+NODAMAGETHRUST;
|
||||
+FORCERADIUSDMG;
|
||||
+FORCEXYBILLBOARD;
|
||||
+NOTELEPORT;
|
||||
+FOILINVUL;
|
||||
+NOINTERACTION;
|
||||
}
|
||||
override void PostBeginPlay()
|
||||
{
|
||||
|
|
@ -2236,37 +1983,19 @@ Class YnykronSingularityExplosion : Actor
|
|||
s.target = target;
|
||||
}
|
||||
}
|
||||
override void Tick()
|
||||
{
|
||||
if ( isFrozen() ) return;
|
||||
scale *= 1.01;
|
||||
if ( !CheckNoDelay() || (tics == -1) ) return;
|
||||
if ( tics > 0 ) tics--;
|
||||
while ( !tics )
|
||||
{
|
||||
if ( !SetState(CurState.NextState) )
|
||||
return;
|
||||
}
|
||||
}
|
||||
States
|
||||
{
|
||||
Spawn:
|
||||
XEX4 ABCDEFGHIJKLMNOPQRSTUVWXYZ[\ 2 Bright;
|
||||
XEX4 AABBCCDDEEFFGGHHIIJJKKLLMMNNOOPPQQRRSSTTUUVVWWXXYYZZ[[\\ 1 Bright A_SetScale(scale.x*1.01,scale.y*1.01);
|
||||
Stop;
|
||||
}
|
||||
}
|
||||
|
||||
Class YnykronSingularityHitbox : Actor
|
||||
Class YnykronSingularityHitbox : SWWMNonInteractiveActor
|
||||
{
|
||||
Default
|
||||
{
|
||||
Radius .1;
|
||||
Height 0.;
|
||||
+NOGRAVITY;
|
||||
+NOCLIP;
|
||||
+DONTSPLASH;
|
||||
+NOTELEPORT;
|
||||
+NOINTERACTION;
|
||||
-NOBLOCKMAP;
|
||||
}
|
||||
override void Tick()
|
||||
{
|
||||
|
|
@ -2284,7 +2013,7 @@ Class YnykronSingularityHitbox : Actor
|
|||
}
|
||||
}
|
||||
|
||||
Class YnykronSingularity : Actor
|
||||
Class YnykronSingularity : SWWMNonInteractiveActor
|
||||
{
|
||||
const MAXBEAMS = 10;
|
||||
const MAXCLOUDS = 300;
|
||||
|
|
@ -2322,6 +2051,7 @@ Class YnykronSingularity : Actor
|
|||
// lightweight tick, we don't need anything else other than states
|
||||
override void Tick()
|
||||
{
|
||||
prev = pos;
|
||||
if ( isFrozen() ) return;
|
||||
Vector3 newpos;
|
||||
if ( !mt ) mt = new("SimpleMoveTracer");
|
||||
|
|
@ -2683,14 +2413,7 @@ Class YnykronSingularity : Actor
|
|||
{
|
||||
DamageType 'YnykronAlt';
|
||||
Obituary "$O_YNYKRONALT";
|
||||
+NOGRAVITY;
|
||||
+MISSILE;
|
||||
+DROPOFF;
|
||||
+DONTSPLASH;
|
||||
+NOTELEPORT;
|
||||
+NOINTERACTION;
|
||||
Radius .1;
|
||||
Height 0.;
|
||||
Scale .4;
|
||||
}
|
||||
States
|
||||
|
|
@ -2705,7 +2428,7 @@ Class YnykronSingularity : Actor
|
|||
}
|
||||
}
|
||||
|
||||
Class YnykronAltBeam : Actor
|
||||
Class YnykronAltBeam : SWWMNonInteractiveActor
|
||||
{
|
||||
bool nospread;
|
||||
|
||||
|
|
@ -2828,19 +2551,11 @@ Class YnykronAltBeam : Actor
|
|||
Default
|
||||
{
|
||||
RenderStyle "Subtract";
|
||||
Radius .1;
|
||||
Height 0;
|
||||
Alpha .4;
|
||||
Speed 64;
|
||||
+NOGRAVITY;
|
||||
+NOBLOCKMAP;
|
||||
+NOCLIP;
|
||||
+NOTELEPORT;
|
||||
+DONTSPLASH;
|
||||
+FORCEXYBILLBOARD;
|
||||
+ROLLSPRITE;
|
||||
+ROLLCENTER;
|
||||
+NOINTERACTION;
|
||||
}
|
||||
States
|
||||
{
|
||||
|
|
@ -2885,18 +2600,8 @@ Class YnykronAltBeam : Actor
|
|||
}
|
||||
}
|
||||
|
||||
Class YnykronAltShot : Actor
|
||||
Class YnykronAltShot : SWWMNonInteractiveActor
|
||||
{
|
||||
Default
|
||||
{
|
||||
Radius .1;
|
||||
Height 0;
|
||||
+NOGRAVITY;
|
||||
+NOBLOCKMAP;
|
||||
+NOTELEPORT;
|
||||
+DONTSPLASH;
|
||||
+NOINTERACTION;
|
||||
}
|
||||
void FlashPlayer( int str, double rad )
|
||||
{
|
||||
if ( !SWWMUtility.InPlayerFOV(players[consoleplayer],self,rad) ) return;
|
||||
|
|
|
|||
|
|
@ -141,31 +141,14 @@ Class AirRingLight : PaletteLight
|
|||
}
|
||||
}
|
||||
|
||||
Class AirBulletRing : Actor
|
||||
Class AirBulletRing : SWWMNonInteractiveActor
|
||||
{
|
||||
Default
|
||||
{
|
||||
RenderStyle "Add";
|
||||
+NOGRAVITY;
|
||||
+NOBLOCKMAP;
|
||||
+DONTSPLASH;
|
||||
+ROLLSPRITE;
|
||||
+ROLLCENTER;
|
||||
+FORCEXYBILLBOARD;
|
||||
+NOINTERACTION;
|
||||
Radius 0.1;
|
||||
Height 0;
|
||||
}
|
||||
override void Tick()
|
||||
{
|
||||
if ( isFrozen() ) return;
|
||||
if ( !CheckNoDelay() || (tics == -1) ) return;
|
||||
if ( tics > 0 ) tics--;
|
||||
while ( !tics )
|
||||
{
|
||||
if ( !SetState(CurState.NextState) )
|
||||
return;
|
||||
}
|
||||
}
|
||||
States
|
||||
{
|
||||
|
|
|
|||
|
|
@ -20,17 +20,8 @@ Class GoldShellCasing : RedShellCasing
|
|||
}
|
||||
}
|
||||
|
||||
Class SpreadImpact : Actor
|
||||
Class SpreadImpact : SWWMNonInteractiveActor
|
||||
{
|
||||
Default
|
||||
{
|
||||
Radius 0.1;
|
||||
Height 0;
|
||||
+NOGRAVITY;
|
||||
+NOCLIP;
|
||||
+NOTELEPORT;
|
||||
+NOINTERACTION;
|
||||
}
|
||||
override void PostBeginPlay()
|
||||
{
|
||||
Super.PostBeginPlay();
|
||||
|
|
@ -74,30 +65,13 @@ Class GExploLight : PaletteLight
|
|||
}
|
||||
}
|
||||
|
||||
Class GExploRing : Actor
|
||||
Class GExploRing : SWWMNonInteractiveActor
|
||||
{
|
||||
Default
|
||||
{
|
||||
RenderStyle "Add";
|
||||
Scale 8.;
|
||||
Radius 0.1;
|
||||
Height 0;
|
||||
+NOGRAVITY;
|
||||
+NOBLOCKMAP;
|
||||
+FORCEXYBILLBOARD;
|
||||
+NOTELEPORT;
|
||||
+NOINTERACTION;
|
||||
}
|
||||
override void Tick()
|
||||
{
|
||||
if ( isFrozen() ) return;
|
||||
if ( !CheckNoDelay() || (tics == -1) ) return;
|
||||
if ( tics > 0 ) tics--;
|
||||
while ( !tics )
|
||||
{
|
||||
if ( !SetState(CurState.NextState) )
|
||||
return;
|
||||
}
|
||||
}
|
||||
States
|
||||
{
|
||||
|
|
@ -107,23 +81,17 @@ Class GExploRing : Actor
|
|||
}
|
||||
}
|
||||
|
||||
Class GoldenImpact : Actor
|
||||
Class GoldenImpact : SWWMNonInteractiveActor
|
||||
{
|
||||
Default
|
||||
{
|
||||
DamageType "Explodium";
|
||||
RenderStyle "Add";
|
||||
Radius 0.1;
|
||||
Height 0;
|
||||
Scale 8.;
|
||||
+NOGRAVITY;
|
||||
+NOBLOCKMAP;
|
||||
+NODAMAGETHRUST;
|
||||
+FORCERADIUSDMG;
|
||||
+FORCEXYBILLBOARD;
|
||||
+NOTELEPORT;
|
||||
+FOILINVUL;
|
||||
+NOINTERACTION;
|
||||
}
|
||||
override void PostBeginPlay()
|
||||
{
|
||||
|
|
@ -222,17 +190,6 @@ Class GoldenImpact : Actor
|
|||
p.target = target;
|
||||
}
|
||||
}
|
||||
override void Tick()
|
||||
{
|
||||
if ( isFrozen() ) return;
|
||||
if ( !CheckNoDelay() || (tics == -1) ) return;
|
||||
if ( tics > 0 ) tics--;
|
||||
while ( !tics )
|
||||
{
|
||||
if ( !SetState(CurState.NextState) )
|
||||
return;
|
||||
}
|
||||
}
|
||||
States
|
||||
{
|
||||
Spawn:
|
||||
|
|
@ -241,7 +198,7 @@ Class GoldenImpact : Actor
|
|||
}
|
||||
}
|
||||
|
||||
Class GoldenSubImpact : Actor
|
||||
Class GoldenSubImpact : SWWMNonInteractiveActor
|
||||
{
|
||||
Default
|
||||
{
|
||||
|
|
@ -249,16 +206,10 @@ Class GoldenSubImpact : Actor
|
|||
RenderStyle "Add";
|
||||
Scale 6.;
|
||||
Alpha .8;
|
||||
Radius 0.1;
|
||||
Height 0;
|
||||
+NOGRAVITY;
|
||||
+NOBLOCKMAP;
|
||||
+NODAMAGETHRUST;
|
||||
+FORCERADIUSDMG;
|
||||
+FORCEXYBILLBOARD;
|
||||
+NOTELEPORT;
|
||||
+FOILINVUL;
|
||||
+NOINTERACTION;
|
||||
}
|
||||
override void PostBeginPlay()
|
||||
{
|
||||
|
|
@ -352,17 +303,6 @@ Class GoldenSubImpact : Actor
|
|||
p.target = target;
|
||||
}
|
||||
}
|
||||
override void Tick()
|
||||
{
|
||||
if ( isFrozen() ) return;
|
||||
if ( !CheckNoDelay() || (tics == -1) ) return;
|
||||
if ( tics > 0 ) tics--;
|
||||
while ( !tics )
|
||||
{
|
||||
if ( !SetState(CurState.NextState) )
|
||||
return;
|
||||
}
|
||||
}
|
||||
States
|
||||
{
|
||||
Spawn:
|
||||
|
|
@ -371,7 +311,7 @@ Class GoldenSubImpact : Actor
|
|||
}
|
||||
}
|
||||
|
||||
Class GoldenSubSubImpact : Actor
|
||||
Class GoldenSubSubImpact : SWWMNonInteractiveActor
|
||||
{
|
||||
Default
|
||||
{
|
||||
|
|
@ -379,16 +319,10 @@ Class GoldenSubSubImpact : Actor
|
|||
RenderStyle "Add";
|
||||
Scale 3.;
|
||||
Alpha .6;
|
||||
Radius 0.1;
|
||||
Height 0;
|
||||
+NOGRAVITY;
|
||||
+NOBLOCKMAP;
|
||||
+NODAMAGETHRUST;
|
||||
+FORCERADIUSDMG;
|
||||
+FORCEXYBILLBOARD;
|
||||
+NOTELEPORT;
|
||||
+FOILINVUL;
|
||||
+NOINTERACTION;
|
||||
}
|
||||
override void PostBeginPlay()
|
||||
{
|
||||
|
|
@ -411,26 +345,10 @@ Class GoldenSubSubImpact : Actor
|
|||
s.alpha *= .2;
|
||||
}
|
||||
}
|
||||
action void A_GoldSubSubSpread()
|
||||
{
|
||||
special1++;
|
||||
if ( (special1%2) || (special1 > 10) ) return;
|
||||
}
|
||||
override void Tick()
|
||||
{
|
||||
if ( isFrozen() ) return;
|
||||
if ( !CheckNoDelay() || (tics == -1) ) return;
|
||||
if ( tics > 0 ) tics--;
|
||||
while ( !tics )
|
||||
{
|
||||
if ( !SetState(CurState.NextState) )
|
||||
return;
|
||||
}
|
||||
}
|
||||
States
|
||||
{
|
||||
Spawn:
|
||||
XEX1 ABCDEFGHIJKLMNOPQRSTUVWXYZ[\] 1 Bright A_GoldSubSubSpread();
|
||||
XEX1 ABCDEFGHIJKLMNOPQRSTUVWXYZ[\] 1 Bright;
|
||||
Stop;
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -27,17 +27,13 @@ Class SparkBeamLight : PaletteLight
|
|||
}
|
||||
}
|
||||
|
||||
Class BiosparkHitbox : Actor
|
||||
Class BiosparkHitbox : SWWMNonInteractiveActor
|
||||
{
|
||||
Default
|
||||
{
|
||||
Radius 8;
|
||||
Height 16;
|
||||
+NOGRAVITY;
|
||||
+NOCLIP;
|
||||
+DONTSPLASH;
|
||||
+NOTELEPORT;
|
||||
+NOINTERACTION;
|
||||
-NOBLOCKMAP;
|
||||
}
|
||||
override void Tick()
|
||||
{
|
||||
|
|
@ -62,7 +58,7 @@ Class BigBiosparkHitbox : BiosparkHitbox
|
|||
}
|
||||
}
|
||||
|
||||
Class BigOrbiter : Actor
|
||||
Class BigOrbiter : SWWMNonInteractiveActor
|
||||
{
|
||||
double anglevel, pitchvel;
|
||||
|
||||
|
|
@ -70,12 +66,6 @@ Class BigOrbiter : Actor
|
|||
{
|
||||
RenderStyle "Add";
|
||||
Scale 3.;
|
||||
Radius .1;
|
||||
Height 0.;
|
||||
+NOINTERACTION;
|
||||
+NOCLIP;
|
||||
+DONTSPLASH;
|
||||
+NOTELEPORT;
|
||||
+FORCEXYBILLBOARD;
|
||||
}
|
||||
override void PostBeginPlay()
|
||||
|
|
@ -662,20 +652,17 @@ Class BiosparkTracer : LineTracer
|
|||
}
|
||||
}
|
||||
|
||||
Class BiosparkBeamImpact : Actor
|
||||
Class BiosparkBeamImpact : SWWMNonInteractiveActor
|
||||
{
|
||||
Default
|
||||
{
|
||||
Obituary "$O_SPARKSTER";
|
||||
DamageType "Biospark";
|
||||
RenderStyle "Add";
|
||||
Radius .1;
|
||||
Height 0;
|
||||
+FOILINVUL;
|
||||
+FORCERADIUSDMG;
|
||||
+NODAMAGETHRUST;
|
||||
+FORCEXYBILLBOARD;
|
||||
+NOINTERACTION;
|
||||
}
|
||||
override void PostBeginPlay()
|
||||
{
|
||||
|
|
@ -776,17 +763,6 @@ Class BiosparkBeamImpact : Actor
|
|||
s.ReactionTime += Random[Sparkster](0,int(3*factor));
|
||||
}
|
||||
}
|
||||
override void Tick()
|
||||
{
|
||||
if ( isFrozen() ) return;
|
||||
if ( !CheckNoDelay() || (tics == -1) ) return;
|
||||
if ( tics > 0 ) tics--;
|
||||
while ( !tics )
|
||||
{
|
||||
if ( !SetState(CurState.NextState) )
|
||||
return;
|
||||
}
|
||||
}
|
||||
States
|
||||
{
|
||||
Spawn:
|
||||
|
|
@ -800,7 +776,7 @@ Class BiosparkBeamImpact : Actor
|
|||
}
|
||||
}
|
||||
|
||||
Class BiosparkComboImpactSub : Actor
|
||||
Class BiosparkComboImpactSub : SWWMNonInteractiveActor
|
||||
{
|
||||
Default
|
||||
{
|
||||
|
|
@ -809,17 +785,10 @@ Class BiosparkComboImpactSub : Actor
|
|||
RenderStyle "Add";
|
||||
Scale 1.4;
|
||||
Alpha .4;
|
||||
Radius .1;
|
||||
Height 0;
|
||||
+FOILINVUL;
|
||||
+FORCERADIUSDMG;
|
||||
+NODAMAGETHRUST;
|
||||
+FORCEXYBILLBOARD;
|
||||
+NOGRAVITY;
|
||||
+NOBLOCKMAP;
|
||||
+DONTSPLASH;
|
||||
+NOTELEPORT;
|
||||
+NOINTERACTION;
|
||||
}
|
||||
override void PostBeginPlay()
|
||||
{
|
||||
|
|
@ -827,17 +796,6 @@ Class BiosparkComboImpactSub : Actor
|
|||
if ( !bAMBUSH ) return;
|
||||
SWWMUtility.DoExplosion(self,40,10000,300,120,flags:DE_HOWL);
|
||||
}
|
||||
override void Tick()
|
||||
{
|
||||
if ( isFrozen() ) return;
|
||||
if ( !CheckNoDelay() || (tics == -1) ) return;
|
||||
if ( tics > 0 ) tics--;
|
||||
while ( !tics )
|
||||
{
|
||||
if ( !SetState(CurState.NextState) )
|
||||
return;
|
||||
}
|
||||
}
|
||||
States
|
||||
{
|
||||
Spawn:
|
||||
|
|
@ -846,7 +804,7 @@ Class BiosparkComboImpactSub : Actor
|
|||
}
|
||||
}
|
||||
|
||||
Class BiosparkComboImpact : Actor
|
||||
Class BiosparkComboImpact : SWWMNonInteractiveActor
|
||||
{
|
||||
Default
|
||||
{
|
||||
|
|
@ -854,17 +812,10 @@ Class BiosparkComboImpact : Actor
|
|||
DamageType "Biospark";
|
||||
RenderStyle "Add";
|
||||
Scale 2.;
|
||||
Radius .1;
|
||||
Height 0;
|
||||
+FOILINVUL;
|
||||
+FORCERADIUSDMG;
|
||||
+NODAMAGETHRUST;
|
||||
+FORCEXYBILLBOARD;
|
||||
+NOGRAVITY;
|
||||
+NOBLOCKMAP;
|
||||
+DONTSPLASH;
|
||||
+NOTELEPORT;
|
||||
+NOINTERACTION;
|
||||
}
|
||||
void FlashPlayer( int str, double rad )
|
||||
{
|
||||
|
|
@ -1037,17 +988,6 @@ Class BiosparkComboImpact : Actor
|
|||
p.bAMBUSH = bAMBUSH;
|
||||
}
|
||||
}
|
||||
override void Tick()
|
||||
{
|
||||
if ( isFrozen() ) return;
|
||||
if ( !CheckNoDelay() || (tics == -1) ) return;
|
||||
if ( tics > 0 ) tics--;
|
||||
while ( !tics )
|
||||
{
|
||||
if ( !SetState(CurState.NextState) )
|
||||
return;
|
||||
}
|
||||
}
|
||||
States
|
||||
{
|
||||
Spawn:
|
||||
|
|
@ -1066,7 +1006,7 @@ Class BiosparkComboImpact : Actor
|
|||
}
|
||||
}
|
||||
|
||||
Class BiosparkBeam : Actor
|
||||
Class BiosparkBeam : SWWMNonInteractiveActor
|
||||
{
|
||||
Vector3 nextpos, nextdir;
|
||||
|
||||
|
|
@ -1269,33 +1209,14 @@ Class BiosparkBeam : Actor
|
|||
}
|
||||
}
|
||||
|
||||
override void Tick()
|
||||
{
|
||||
if ( isFrozen() ) return;
|
||||
if ( !CheckNoDelay() || (tics == -1) ) return;
|
||||
if ( tics > 0 ) tics--;
|
||||
while ( !tics )
|
||||
{
|
||||
if ( !SetState(CurState.NextState) )
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
Default
|
||||
{
|
||||
Obituary "$O_SPARKSTER";
|
||||
RenderStyle "Add";
|
||||
DamageFunction 15;
|
||||
Speed 256;
|
||||
Radius .1;
|
||||
Height 0;
|
||||
+NOGRAVITY;
|
||||
+NOCLIP;
|
||||
+DONTSPLASH;
|
||||
+INTERPOLATEANGLES;
|
||||
+NOTELEPORT;
|
||||
+FOILINVUL;
|
||||
+NOINTERACTION;
|
||||
}
|
||||
|
||||
States
|
||||
|
|
@ -1312,22 +1233,15 @@ Class BiosparkBeam : Actor
|
|||
}
|
||||
}
|
||||
|
||||
Class BiosparkChildBeam : Actor
|
||||
Class BiosparkChildBeam : SWWMNonInteractiveActor
|
||||
{
|
||||
Default
|
||||
{
|
||||
RenderStyle "Add";
|
||||
Radius .1;
|
||||
Height 0;
|
||||
Alpha .4;
|
||||
+NOGRAVITY;
|
||||
+NOCLIP;
|
||||
+DONTSPLASH;
|
||||
+INTERPOLATEANGLES;
|
||||
+NOTELEPORT;
|
||||
+ROLLSPRITE;
|
||||
+ROLLCENTER;
|
||||
+NOINTERACTION;
|
||||
}
|
||||
override void Tick()
|
||||
{
|
||||
|
|
@ -1432,7 +1346,7 @@ Class BiosparkChildBeam : Actor
|
|||
}
|
||||
}
|
||||
|
||||
Class BiosparkArc : Actor
|
||||
Class BiosparkArc : SWWMNonInteractiveActor
|
||||
{
|
||||
Vector3 nextpos, nextdir;
|
||||
|
||||
|
|
@ -1567,17 +1481,6 @@ Class BiosparkArc : Actor
|
|||
frame = Random[Sparkster](0,11);
|
||||
if ( !special1 ) special2 = Random[Sparkster](0,8);
|
||||
}
|
||||
override void Tick()
|
||||
{
|
||||
if ( isFrozen() ) return;
|
||||
if ( !CheckNoDelay() || (tics == -1) ) return;
|
||||
if ( tics > 0 ) tics--;
|
||||
while ( !tics )
|
||||
{
|
||||
if ( !SetState(CurState.NextState) )
|
||||
return;
|
||||
}
|
||||
}
|
||||
Default
|
||||
{
|
||||
Obituary "$O_SPARKSTER";
|
||||
|
|
@ -1585,15 +1488,8 @@ Class BiosparkArc : Actor
|
|||
DamageFunction 6;
|
||||
ReactionTime 15;
|
||||
Speed 16;
|
||||
Radius .1;
|
||||
Height 0;
|
||||
+NOGRAVITY;
|
||||
+NOCLIP;
|
||||
+DONTSPLASH;
|
||||
+INTERPOLATEANGLES;
|
||||
+NOTELEPORT;
|
||||
+FOILINVUL;
|
||||
+NOINTERACTION;
|
||||
}
|
||||
States
|
||||
{
|
||||
|
|
@ -1644,32 +1540,15 @@ Class BiosparkArcBig : BiosparkArc
|
|||
}
|
||||
}
|
||||
|
||||
Class BiosparkSpark : Actor
|
||||
Class BiosparkSpark : SWWMNonInteractiveActor
|
||||
{
|
||||
Default
|
||||
{
|
||||
RenderStyle "Add";
|
||||
Scale .8;
|
||||
Radius .1;
|
||||
Height 0;
|
||||
+NOGRAVITY;
|
||||
+NOBLOCKMAP;
|
||||
+DONTSPLASH;
|
||||
+ROLLSPRITE;
|
||||
+ROLLCENTER;
|
||||
+FORCEXYBILLBOARD;
|
||||
+NOINTERACTION;
|
||||
}
|
||||
override void Tick()
|
||||
{
|
||||
if ( isFrozen() ) return;
|
||||
if ( !CheckNoDelay() || (tics == -1) ) return;
|
||||
if ( tics > 0 ) tics--;
|
||||
while ( !tics )
|
||||
{
|
||||
if ( !SetState(CurState.NextState) )
|
||||
return;
|
||||
}
|
||||
}
|
||||
States
|
||||
{
|
||||
|
|
|
|||
|
|
@ -84,29 +84,14 @@ Class ExplodiumMagArm : Actor
|
|||
}
|
||||
}
|
||||
|
||||
Class ExplodiumMagTrail : Actor
|
||||
Class ExplodiumMagTrail : SWWMNonInteractiveActor
|
||||
{
|
||||
Default
|
||||
{
|
||||
RenderStyle "Add";
|
||||
+NOBLOCKMAP;
|
||||
+NOGRAVITY;
|
||||
+FORCEXYBILLBOARD;
|
||||
+NOTELEPORT;
|
||||
+NOINTERACTION;
|
||||
Scale 1.1;
|
||||
}
|
||||
override void Tick()
|
||||
{
|
||||
if ( isFrozen() ) return;
|
||||
if ( !CheckNoDelay() || (tics == -1) ) return;
|
||||
if ( tics > 0 ) tics--;
|
||||
while ( !tics )
|
||||
{
|
||||
if ( !SetState(CurState.NextState) )
|
||||
return;
|
||||
}
|
||||
}
|
||||
States
|
||||
{
|
||||
Spawn:
|
||||
|
|
@ -493,23 +478,17 @@ Class ExploLight2 : PaletteLight
|
|||
}
|
||||
}
|
||||
|
||||
Class ExplodiumBulletImpact : Actor
|
||||
Class ExplodiumBulletImpact : SWWMNonInteractiveActor
|
||||
{
|
||||
Default
|
||||
{
|
||||
Obituary "$O_EXPLODIUM";
|
||||
DamageType "Explodium";
|
||||
RenderStyle "Add";
|
||||
Radius .1;
|
||||
Height 0.;
|
||||
Scale 1.2;
|
||||
+NOGRAVITY;
|
||||
+NOBLOCKMAP;
|
||||
+NODAMAGETHRUST;
|
||||
+FORCERADIUSDMG;
|
||||
+FORCEXYBILLBOARD;
|
||||
+NOTELEPORT;
|
||||
+NOINTERACTION;
|
||||
}
|
||||
override void PostBeginPlay()
|
||||
{
|
||||
|
|
@ -550,17 +529,6 @@ Class ExplodiumBulletImpact : Actor
|
|||
}
|
||||
Spawn("ExploLight",pos);
|
||||
}
|
||||
override void Tick()
|
||||
{
|
||||
if ( isFrozen() ) return;
|
||||
if ( !CheckNoDelay() || (tics == -1) ) return;
|
||||
if ( tics > 0 ) tics--;
|
||||
while ( !tics )
|
||||
{
|
||||
if ( !SetState(CurState.NextState) )
|
||||
return;
|
||||
}
|
||||
}
|
||||
States
|
||||
{
|
||||
Spawn:
|
||||
|
|
|
|||
|
|
@ -89,7 +89,7 @@ Class CandyBeamTracer : LineTracer
|
|||
}
|
||||
}
|
||||
|
||||
Class CandyBeam : Actor
|
||||
Class CandyBeam : SWWMNonInteractiveActor
|
||||
{
|
||||
Vector3 nextpos, nextdir;
|
||||
|
||||
|
|
@ -170,17 +170,6 @@ Class CandyBeam : Actor
|
|||
b.special2 = special2;
|
||||
b.frame = frame;
|
||||
}
|
||||
override void Tick()
|
||||
{
|
||||
if ( isFrozen() ) return;
|
||||
if ( !CheckNoDelay() || (tics == -1) ) return;
|
||||
if ( tics > 0 ) tics--;
|
||||
while ( !tics )
|
||||
{
|
||||
if ( !SetState(CurState.NextState) )
|
||||
return;
|
||||
}
|
||||
}
|
||||
Default
|
||||
{
|
||||
Obituary "$O_CANDYGUN";
|
||||
|
|
@ -188,15 +177,8 @@ Class CandyBeam : Actor
|
|||
Alpha 0.4;
|
||||
DamageFunction 40;
|
||||
ReactionTime 12;
|
||||
Radius 0.1;
|
||||
Height 0;
|
||||
Speed 16;
|
||||
+NOGRAVITY;
|
||||
+NOCLIP;
|
||||
+DONTSPLASH;
|
||||
+INTERPOLATEANGLES;
|
||||
+NOTELEPORT;
|
||||
+NOINTERACTION;
|
||||
+FOILINVUL;
|
||||
}
|
||||
States
|
||||
|
|
@ -210,7 +192,7 @@ Class CandyBeam : Actor
|
|||
}
|
||||
}
|
||||
|
||||
Class CandyPop : Actor
|
||||
Class CandyPop : SWWMNonInteractiveActor
|
||||
{
|
||||
Default
|
||||
{
|
||||
|
|
@ -218,17 +200,11 @@ Class CandyPop : Actor
|
|||
DamageType "Candy";
|
||||
RenderStyle "Add";
|
||||
Scale 2.;
|
||||
Radius .1;
|
||||
Height 0.;
|
||||
+NOGRAVITY;
|
||||
+NOBLOCKMAP;
|
||||
+NODAMAGETHRUST;
|
||||
+FORCERADIUSDMG;
|
||||
+FORCEXYBILLBOARD;
|
||||
+ROLLSPRITE;
|
||||
+ROLLCENTER;
|
||||
+NOTELEPORT;
|
||||
+NOINTERACTION;
|
||||
+FOILINVUL;
|
||||
}
|
||||
void FlashPlayer( int str, double rad )
|
||||
|
|
@ -240,17 +216,6 @@ Class CandyPop : Actor
|
|||
SWWMHandler.DoFlash(mo,Color(str,250,240,255),1);
|
||||
SWWMHandler.DoFlash(mo,Color(str,224,0,255),3);
|
||||
}
|
||||
override void Tick()
|
||||
{
|
||||
if ( isFrozen() ) return;
|
||||
if ( !CheckNoDelay() || (tics == -1) ) return;
|
||||
if ( tics > 0 ) tics--;
|
||||
while ( !tics )
|
||||
{
|
||||
if ( !SetState(CurState.NextState) )
|
||||
return;
|
||||
}
|
||||
}
|
||||
States
|
||||
{
|
||||
Spawn:
|
||||
|
|
@ -408,31 +373,14 @@ Class CandyMagArm : Actor
|
|||
}
|
||||
}
|
||||
|
||||
Class CandyMagTrail : Actor
|
||||
Class CandyMagTrail : SWWMNonInteractiveActor
|
||||
{
|
||||
Default
|
||||
{
|
||||
RenderStyle "Add";
|
||||
+NOBLOCKMAP;
|
||||
+NOGRAVITY;
|
||||
+FORCEXYBILLBOARD;
|
||||
+NOTELEPORT;
|
||||
+NOINTERACTION;
|
||||
Scale 2.4;
|
||||
Alpha 0.7;
|
||||
Radius .1;
|
||||
Height 0.;
|
||||
}
|
||||
override void Tick()
|
||||
{
|
||||
if ( isFrozen() ) return;
|
||||
if ( !CheckNoDelay() || (tics == -1) ) return;
|
||||
if ( tics > 0 ) tics--;
|
||||
while ( !tics )
|
||||
{
|
||||
if ( !SetState(CurState.NextState) )
|
||||
return;
|
||||
}
|
||||
}
|
||||
States
|
||||
{
|
||||
|
|
@ -787,7 +735,7 @@ Class CandyMagProj : Actor
|
|||
}
|
||||
}
|
||||
|
||||
Class CandyBulletImpact : Actor
|
||||
Class CandyBulletImpact : SWWMNonInteractiveActor
|
||||
{
|
||||
Default
|
||||
{
|
||||
|
|
@ -795,15 +743,9 @@ Class CandyBulletImpact : Actor
|
|||
DamageType "Candy";
|
||||
RenderStyle "Add";
|
||||
Scale 2.5;
|
||||
Radius .1;
|
||||
Height 0.;
|
||||
+NOGRAVITY;
|
||||
+NOBLOCKMAP;
|
||||
+NODAMAGETHRUST;
|
||||
+FORCERADIUSDMG;
|
||||
+FORCEXYBILLBOARD;
|
||||
+NOTELEPORT;
|
||||
+NOINTERACTION;
|
||||
+FOILINVUL;
|
||||
}
|
||||
override void PostBeginPlay()
|
||||
|
|
@ -846,17 +788,6 @@ Class CandyBulletImpact : Actor
|
|||
Spawn("CandyLight",pos);
|
||||
Spawn("CandyRing",pos);
|
||||
}
|
||||
override void Tick()
|
||||
{
|
||||
if ( isFrozen() ) return;
|
||||
if ( !CheckNoDelay() || (tics == -1) ) return;
|
||||
if ( tics > 0 ) tics--;
|
||||
while ( !tics )
|
||||
{
|
||||
if ( !SetState(CurState.NextState) )
|
||||
return;
|
||||
}
|
||||
}
|
||||
States
|
||||
{
|
||||
Spawn:
|
||||
|
|
@ -878,30 +809,13 @@ Class CandyBulletImpact : Actor
|
|||
}
|
||||
}
|
||||
|
||||
Class CandyRing : Actor
|
||||
Class CandyRing : SWWMNonInteractiveActor
|
||||
{
|
||||
Default
|
||||
{
|
||||
RenderStyle "Add";
|
||||
Scale 1.2;
|
||||
Radius 0.1;
|
||||
Height 0;
|
||||
+NOGRAVITY;
|
||||
+NOBLOCKMAP;
|
||||
+FORCEXYBILLBOARD;
|
||||
+NOTELEPORT;
|
||||
+NOINTERACTION;
|
||||
}
|
||||
override void Tick()
|
||||
{
|
||||
if ( isFrozen() ) return;
|
||||
if ( !CheckNoDelay() || (tics == -1) ) return;
|
||||
if ( tics > 0 ) tics--;
|
||||
while ( !tics )
|
||||
{
|
||||
if ( !SetState(CurState.NextState) )
|
||||
return;
|
||||
}
|
||||
}
|
||||
States
|
||||
{
|
||||
|
|
|
|||
|
|
@ -36,21 +36,14 @@ Class SilverBulletMag : SWWMCasing
|
|||
}
|
||||
}
|
||||
|
||||
Class SilverAirRip : Actor
|
||||
Class SilverAirRip : SWWMNonInteractiveActor
|
||||
{
|
||||
Default
|
||||
{
|
||||
Obituary "$O_SILVERBULLET";
|
||||
DamageType 'Sniped';
|
||||
Radius 0.1;
|
||||
Height 0;
|
||||
+NOGRAVITY;
|
||||
+NOCLIP;
|
||||
+DONTSPLASH;
|
||||
+NOTELEPORT;
|
||||
+FORCERADIUSDMG;
|
||||
+NODAMAGETHRUST;
|
||||
+NOINTERACTION;
|
||||
+FOILINVUL;
|
||||
}
|
||||
virtual void Explode( bool thruwall = false )
|
||||
|
|
@ -64,17 +57,6 @@ Class SilverAirRip : Actor
|
|||
if ( thruwall ) SWWMUtility.AchievementProgressInc("thruwall",nkill,target.player);
|
||||
}
|
||||
}
|
||||
override void Tick()
|
||||
{
|
||||
if ( isFrozen() ) return;
|
||||
if ( !CheckNoDelay() || (tics == -1) ) return;
|
||||
if ( tics > 0 ) tics--;
|
||||
while ( !tics )
|
||||
{
|
||||
if ( !SetState(CurState.NextState) )
|
||||
return;
|
||||
}
|
||||
}
|
||||
States
|
||||
{
|
||||
Spawn:
|
||||
|
|
@ -83,21 +65,14 @@ Class SilverAirRip : Actor
|
|||
}
|
||||
}
|
||||
|
||||
Class SilverImpact : Actor
|
||||
Class SilverImpact : SWWMNonInteractiveActor
|
||||
{
|
||||
Default
|
||||
{
|
||||
Obituary "$O_SILVERBULLET";
|
||||
DamageType 'Sniped';
|
||||
Radius 0.1;
|
||||
Height 0;
|
||||
+NOGRAVITY;
|
||||
+NOCLIP;
|
||||
+DONTSPLASH;
|
||||
+NOTELEPORT;
|
||||
+FORCERADIUSDMG;
|
||||
+NODAMAGETHRUST;
|
||||
+NOINTERACTION;
|
||||
+FOILINVUL;
|
||||
}
|
||||
override void PostBeginPlay()
|
||||
|
|
@ -149,17 +124,6 @@ Class SilverImpact : Actor
|
|||
s.vel = pvel;
|
||||
}
|
||||
}
|
||||
override void Tick()
|
||||
{
|
||||
if ( isFrozen() ) return;
|
||||
if ( !CheckNoDelay() || (tics == -1) ) return;
|
||||
if ( tics > 0 ) tics--;
|
||||
while ( !tics )
|
||||
{
|
||||
if ( !SetState(CurState.NextState) )
|
||||
return;
|
||||
}
|
||||
}
|
||||
States
|
||||
{
|
||||
Spawn:
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue