1
1
function Create (self )
2
2
self .disintegrationStrength = 50 ;
3
3
self .EffectRotAngle = self .Vel .AbsRadAngle ;
4
- self .lastVel = Vector (self .Vel .X , self .Vel .Y );
5
4
-- Check backward (second argument) on the first frame as the projectile might be bouncing off something immediately
6
5
PulsarDissipate (self , true );
7
6
@@ -21,6 +20,8 @@ function Update(self)
21
20
self .trailPar .Pos = self .Pos - Vector (self .Vel .X , self .Vel .Y ):SetMagnitude (6 );
22
21
self .trailPar .Vel = self .Vel * 0.5 ;
23
22
self .trailPar .Lifetime = self .Age + TimerMan .DeltaTimeMS ;
23
+ else
24
+ self .trailPar = nil ;
24
25
end
25
26
end
26
27
self .EffectRotAngle = self .Vel .AbsRadAngle ;
@@ -44,7 +45,7 @@ function PulsarDissipate(self, inverted)
44
45
melt .Pos = self .Pos ;
45
46
melt .Team = self .Team ;
46
47
melt .Sharpness = mo .RootID ;
47
- melt .PinStrength = self .disintegrationStrength ;
48
+ melt .PinStrength = self .disintegrationStrength or 1 ;
48
49
MovableMan :AddMO (melt );
49
50
end
50
51
else
@@ -53,7 +54,7 @@ function PulsarDissipate(self, inverted)
53
54
hit = true ;
54
55
end
55
56
end
56
- if hit or math.abs (self .Vel .AbsRadAngle - self .lastVel .AbsRadAngle ) > 0.1 or self .Vel .Magnitude < self .lastVel .Magnitude * 0.5 then
57
+ if hit or math.abs (math.sin ( self .Vel .AbsRadAngle - self .lastVel .AbsRadAngle ) ) > 0.1 or self .Vel .Magnitude < self .lastVel .Magnitude * 0.5 then
57
58
local offset = Vector (self .Vel .X , self .Vel .Y ):SetMagnitude (skipPx );
58
59
self .explosion = CreateAEmitter (" Techion.rte/Laser Dissipate Effect" );
59
60
self .explosion .Pos = hitPos - offset ;
0 commit comments