Skip to content

Commit 753d8ab

Browse files
committed
Another MT script
1 parent 1a24c17 commit 753d8ab

File tree

1 file changed

+17
-9
lines changed
  • Data/Browncoats.rte/Devices/Weapons/Flash

1 file changed

+17
-9
lines changed

Data/Browncoats.rte/Devices/Weapons/Flash/Flash.lua

Lines changed: 17 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,8 @@ function Create(self)
1111

1212
self.targetLockSound = CreateSoundContainer("Mine Activate", "Base.rte");
1313
end
14-
function Update(self)
14+
15+
function ThreadedUpdate(self)
1516
local parent = self:GetRootParent();
1617
if IsActor(parent) then
1718
parent = ToActor(parent);
@@ -91,10 +92,11 @@ function Update(self)
9192
parent = nil;
9293
self.targets = {};
9394
end
95+
9496
if self.FiredFrame then
9597
local rocketNumber = self.RoundInMagCount + 1;
9698

97-
local rocket = CreateAEmitter("Particle Browncoat Rocket", "Browncoats.rte");
99+
self.rocket = CreateAEmitter("Particle Browncoat Rocket", "Browncoats.rte");
98100
if #self.targets > 0 then
99101
if self.targets[rocketNumber] and self.targets[rocketNumber].actor.ID ~= rte.NoMOID then
100102
rocket:SetNumberValue("TargetID", self.targets[rocketNumber].actor.ID);
@@ -104,12 +106,18 @@ function Update(self)
104106
rocket:SetNumberValue("TargetID", self.targets[math.random(#self.targets)].actor.ID);
105107
end
106108
end
107-
rocket.Pos = self.MuzzlePos + Vector(0, (rocketNumber - self.RoundInMagCapacity * 0.5)):RadRotate(self.RotAngle);
108-
rocket.Vel = self.Vel + Vector(self.fireVel * RangeRand(0.9, 1.1) * self.FlipFactor, 0):RadRotate(self.RotAngle - ((self.spread * 0.5) - (rocketNumber/self.RoundInMagCapacity) * self.spread) * self.FlipFactor);
109-
rocket.RotAngle = rocket.Vel.AbsRadAngle;
110-
rocket.AngularVel = math.cos(rocket.Vel.AbsRadAngle) * 5;
111-
rocket.Team = self.Team;
112-
rocket.IgnoresTeamHits = true;
113-
MovableMan:AddParticle(rocket);
109+
self.rocket.Pos = self.MuzzlePos + Vector(0, (rocketNumber - self.RoundInMagCapacity * 0.5)):RadRotate(self.RotAngle);
110+
self.rocket.Vel = self.Vel + Vector(self.fireVel * RangeRand(0.9, 1.1) * self.FlipFactor, 0):RadRotate(self.RotAngle - ((self.spread * 0.5) - (rocketNumber/self.RoundInMagCapacity) * self.spread) * self.FlipFactor);
111+
self.rocket.RotAngle = rocket.Vel.AbsRadAngle;
112+
self.rocket.AngularVel = math.cos(rocket.Vel.AbsRadAngle) * 5;
113+
self.rocket.Team = self.Team;
114+
self.rocket.IgnoresTeamHits = true;
115+
end
116+
end
117+
118+
function SyncedUpdate(self)
119+
if self.rocket then
120+
MovableMan:AddParticle(self.rocket);
121+
self.rocket = nil;
114122
end
115123
end

0 commit comments

Comments
 (0)