Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 3 additions & 3 deletions Data/Browncoats.rte/Actors.ini
Original file line number Diff line number Diff line change
Expand Up @@ -11,11 +11,11 @@ IncludeFile = Browncoats.rte/Actors/Shared.ini

IncludeFile = Browncoats.rte/Actors/Infantry/BrowncoatLight/BrowncoatLight.ini
IncludeFile = Browncoats.rte/Actors/Infantry/BrowncoatHeavy/BrowncoatHeavy.ini
IncludeFile = Browncoats.rte/Actors/Infantry/BrowncoatBoss/BrowncoatBoss.ini
//IncludeFile = Browncoats.rte/Actors/Infantry/BrowncoatBoss/BrowncoatBoss.ini


///////////////////////////////////////////////////////////////////////
// Turrets

IncludeFile = Browncoats.rte/Actors/Turrets/Hearthkeeper/Hearthkeeper.ini
IncludeFile = Browncoats.rte/Actors/Turrets/Thunderer/Thunderer.ini
//IncludeFile = Browncoats.rte/Actors/Turrets/Hearthkeeper/Hearthkeeper.ini
//IncludeFile = Browncoats.rte/Actors/Turrets/Thunderer/Thunderer.ini
Original file line number Diff line number Diff line change
Expand Up @@ -92,7 +92,7 @@ function Create(self)
BrowncoatBossFunctions.createVoiceSoundEffect(self, self.voiceSounds.MonologueOutro, 11, true);
end

function Update(self)
function ThreadedUpdate(self)
self.abilityShockwaveWhooshSound.Pos = self.Pos;
self.jumpPackSound.Pos = self.Pos;

Expand Down Expand Up @@ -243,7 +243,7 @@ function Update(self)
end
end

function UpdateAI(self)
function ThreadedUpdateAI(self)
-- Quick throw AI trigger on a timer
if not self:IsPlayerControlled() then -- just in case
if self.quickThrowTimer:IsPastSimMS(self.quickThrowDelay) then
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -1621,7 +1621,7 @@ AddActor = AHuman
AddActor = AHuman
CopyOf = Browncoat Boss Template
PresetName = Browncoat Boss Scripted
Buyable = 1
Buyable = 0
BuyableMode = 0
AddToGroup = Actors - Boss
ScriptPath = Browncoats.rte/Actors/Infantry/BrowncoatBoss/AI/BrowncoatBossAI.lua
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -112,7 +112,7 @@ function OnMessage(self, message, context)
end
end

function Update(self)
function ThreadedUpdate(self)
self.voiceSound.Pos = self.Pos;

self.controller = self:GetController();
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@ function Create(self)
self.HUDVisible = false;
end

function Update(self)
function ThreadedUpdate(self)
self.thrownSound.Pos = self.Pos;

if self:IsAttached() then
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,7 @@ function Create(self)
end
end

function Update(self)
function ThreadedUpdate(self)
self.ToSettle = false;
self.ToDelete = false;

Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
function Update(self)
function ThreadedUpdate(self)
if self.Age > self.Lifetime - 100 then
self:GibThis();
local igniter = CreateMOSRotating("Browncoat Boss Oil Bomb Igniter", "Browncoats.rte");
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ function Create(self)
self.angleList = {};
end

function Update(self)
function ThreadedUpdate(self)
if MovableMan:IsParticle(self) and self.lifeTimer:IsPastSimMS(self.detonationDelay) then
self:GibThis();
else
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,7 @@ function Create(self)
self.soundCount = 0;
end

function Update(self)
function ThreadedUpdate(self)
self.ToSettle = false;
self.ToDelete = false;

Expand Down
2 changes: 1 addition & 1 deletion Data/Browncoats.rte/Devices/Shared/IncendiaryBulletCQC.lua
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@ function Create(self)
self.trailAcc = 0;
end

function Update(self)
function ThreadedUpdate(self)
local velFactor = math.floor(1 + math.sqrt(self.Vel.Magnitude)/(1 + self.Age * 0.01));

local particle = CreateMOPixel("Fire Burn Particle");
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ function Create(self)
self.smokeTwirlCounter = math.random() < 0.5 and math.pi or 0;
end

function Update(self)
function ThreadedUpdate(self)
local velFactor = math.floor(1 + math.sqrt(self.Vel.Magnitude)/(1 + self.Age * 0.01));

local particle = CreateMOPixel("Fire Burn Particle");
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -71,7 +71,7 @@ function Create(self)
self.cockDelay = 300;
end

function Update(self)
function ThreadedUpdate(self)
self.fanFireSound.Pos = self.Pos;
self.cockSound.Pos = self.Pos;
self.preSound.Pos = self.Pos;
Expand Down
50 changes: 22 additions & 28 deletions Data/Browncoats.rte/Devices/Weapons/Flash/Flash.lua
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,28 @@ function Create(self)
self.targetLockSound = CreateSoundContainer("Mine Activate", "Base.rte");
end

function OnFire(self)
local rocketNumber = self.RoundInMagCount + 1;

local rocket = CreateAEmitter("Particle Browncoat Rocket", "Browncoats.rte");
if #self.targets > 0 then
if self.targets[rocketNumber] and self.targets[rocketNumber].actor.ID ~= rte.NoMOID then
rocket:SetNumberValue("TargetID", self.targets[rocketNumber].actor.ID);
self.targets[rocketNumber].topLeft = self.targets[rocketNumber].topLeft * 1.5;
self.targets[rocketNumber].bottomRight = self.targets[rocketNumber].bottomRight * 1.5;
elseif rocketNumber > #self.targets then
rocket:SetNumberValue("TargetID", self.targets[math.random(#self.targets)].actor.ID);
end
end
rocket.Pos = self.MuzzlePos + Vector(0, (rocketNumber - self.RoundInMagCapacity * 0.5)):RadRotate(self.RotAngle);
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);
rocket.RotAngle = rocket.Vel.AbsRadAngle;
rocket.AngularVel = math.cos(rocket.Vel.AbsRadAngle) * 5;
rocket.Team = self.Team;
rocket.IgnoresTeamHits = true;
MovableMan:AddParticle(rocket);
end

function ThreadedUpdate(self)
local parent = self:GetRootParent();
if IsActor(parent) then
Expand Down Expand Up @@ -92,32 +114,4 @@ function ThreadedUpdate(self)
parent = nil;
self.targets = {};
end

if self.FiredFrame then
local rocketNumber = self.RoundInMagCount + 1;

self.rocket = CreateAEmitter("Particle Browncoat Rocket", "Browncoats.rte");
if #self.targets > 0 then
if self.targets[rocketNumber] and self.targets[rocketNumber].actor.ID ~= rte.NoMOID then
rocket:SetNumberValue("TargetID", self.targets[rocketNumber].actor.ID);
self.targets[rocketNumber].topLeft = self.targets[rocketNumber].topLeft * 1.5;
self.targets[rocketNumber].bottomRight = self.targets[rocketNumber].bottomRight * 1.5;
elseif rocketNumber > #self.targets then
rocket:SetNumberValue("TargetID", self.targets[math.random(#self.targets)].actor.ID);
end
end
self.rocket.Pos = self.MuzzlePos + Vector(0, (rocketNumber - self.RoundInMagCapacity * 0.5)):RadRotate(self.RotAngle);
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);
self.rocket.RotAngle = rocket.Vel.AbsRadAngle;
self.rocket.AngularVel = math.cos(rocket.Vel.AbsRadAngle) * 5;
self.rocket.Team = self.Team;
self.rocket.IgnoresTeamHits = true;
end
end

function SyncedUpdate(self)
if self.rocket then
MovableMan:AddParticle(self.rocket);
self.rocket = nil;
end
end
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ function Create(self)
self.dots = math.floor(self.raylength/self.rayPixSpace);
end

function Update(self)
function ThreadedUpdate(self)
if self.lifeTimer:IsPastSimMS(4000) then
self:GibThis();
end
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -211,7 +211,7 @@ function Create(self)
end
end

function Update(self)
function ThreadedUpdate(self)
self.preSound.Pos = self.Pos;
self.overheatLoopSound.Pos = self.Pos;
self.overheatFixSound.Pos = self.Pos;
Expand Down
10 changes: 5 additions & 5 deletions Data/Browncoats.rte/Index.ini
Original file line number Diff line number Diff line change
Expand Up @@ -14,9 +14,9 @@ DataModule
IncludeFile = Browncoats.rte/Actors.ini
IncludeFile = Browncoats.rte/Craft.ini
IncludeFile = Browncoats.rte/Loadouts.ini
IncludeFile = Browncoats.rte/Scenes/Objects/BunkerBackgrounds/BunkerBackgrounds.ini
IncludeFile = Browncoats.rte/Scenes/Objects/BunkerBits/BunkerBits.ini
IncludeFile = Browncoats.rte/Music.ini
IncludeFile = Browncoats.rte/Scenes.ini
IncludeFile = Browncoats.rte/Activities.ini
//IncludeFile = Browncoats.rte/Scenes/Objects/BunkerBackgrounds/BunkerBackgrounds.ini
//IncludeFile = Browncoats.rte/Scenes/Objects/BunkerBits/BunkerBits.ini
//IncludeFile = Browncoats.rte/Music.ini
//IncludeFile = Browncoats.rte/Scenes.ini
//IncludeFile = Browncoats.rte/Activities.ini

2 changes: 0 additions & 2 deletions Data/Browncoats.rte/Scenes.ini
Original file line number Diff line number Diff line change
Expand Up @@ -28,5 +28,3 @@ IncludeFile = Browncoats.rte/Scenes/Terrains/Terrains.ini

IncludeFile = Data/Browncoats.rte/Scenes/Yskely Refineryv3.ini



67 changes: 58 additions & 9 deletions Data/Browncoats.rte/Scenes/Objects/Capturables/Capturables.ini
Original file line number Diff line number Diff line change
Expand Up @@ -317,7 +317,7 @@ AddActor = MOSRotating
AddCustomValue = NumberValue
Deactivated = 1
AddCustomValue = NumberValue
DockIdentifier = 1
DockIdentifier = 1 // Stage/bunker number

AddActor = MOSRotating
CopyOf = Generic Capturable Computer
Expand Down Expand Up @@ -348,6 +348,8 @@ AddActor = MOSRotating
DeactivateOnCapture = 1
AddCustomValue = NumberValue
OnlyBrainCanCapture = 0
AddCustomValue = NumberValue
DockIdentifier = 3 // Stage/bunker number

AddActor = MOSRotating
CopyOf = Generic Capturable Computer
Expand Down Expand Up @@ -378,6 +380,8 @@ AddActor = MOSRotating
DeactivateOnCapture = 1
AddCustomValue = NumberValue
OnlyBrainCanCapture = 0
AddCustomValue = NumberValue
DockIdentifier = 4 // Stage/bunker number

AddActor = MOSRotating
CopyOf = Generic Capturable Computer
Expand Down Expand Up @@ -739,7 +743,10 @@ AddActor = MOSRotating
AddActor = MOSRotating
CopyOf = Generic Capturable Computer
PresetName = Refinery Optional Door Console S1_1
ScriptPath = Browncoats.rte/Scenes/Objects/Capturables/RefineryCapturableFX.lua
ScriptPath = Browncoats.rte/Scenes/Objects/Capturables/RefineryOptionalDoorCapturableFX.lua
SpriteFile = ContentFile
FilePath = Browncoats.rte/Scenes/Objects/Capturables/DoorConsoleA.png
FrameCount = 30
AddCustomValue = NumberValue
StartTeam = 1
AddCustomValue = NumberValue
Expand Down Expand Up @@ -768,7 +775,13 @@ AddActor = MOSRotating
AddActor = MOSRotating
CopyOf = Generic Capturable Computer
PresetName = Refinery Optional Door Console S1_2
ScriptPath = Browncoats.rte/Scenes/Objects/Capturables/RefineryCapturableFX.lua
ScriptPath = Browncoats.rte/Scenes/Objects/Capturables/RefineryOptionalDoorCapturableFX.lua
SpriteFile = ContentFile
FilePath = Browncoats.rte/Scenes/Objects/Capturables/DoorConsoleA.png
FrameCount = 30
SpriteOffset = Vector
X = -12
Y = -12
AddCustomValue = NumberValue
StartTeam = 1
AddCustomValue = NumberValue
Expand Down Expand Up @@ -797,7 +810,13 @@ AddActor = MOSRotating
AddActor = MOSRotating
CopyOf = Generic Capturable Computer
PresetName = Refinery Optional Door Console S2_1
ScriptPath = Browncoats.rte/Scenes/Objects/Capturables/RefineryCapturableFX.lua
ScriptPath = Browncoats.rte/Scenes/Objects/Capturables/RefineryOptionalDoorCapturableFX.lua
SpriteFile = ContentFile
FilePath = Browncoats.rte/Scenes/Objects/Capturables/DoorConsoleA.png
FrameCount = 30
SpriteOffset = Vector
X = -12
Y = -12
AddCustomValue = NumberValue
StartTeam = 1
AddCustomValue = NumberValue
Expand Down Expand Up @@ -826,7 +845,13 @@ AddActor = MOSRotating
AddActor = MOSRotating
CopyOf = Generic Capturable Computer
PresetName = Refinery Optional Door Console S2_2
ScriptPath = Browncoats.rte/Scenes/Objects/Capturables/RefineryCapturableFX.lua
ScriptPath = Browncoats.rte/Scenes/Objects/Capturables/RefineryOptionalDoorCapturableFX.lua
SpriteFile = ContentFile
FilePath = Browncoats.rte/Scenes/Objects/Capturables/DoorConsoleA.png
FrameCount = 30
SpriteOffset = Vector
X = -12
Y = -12
AddCustomValue = NumberValue
StartTeam = 1
AddCustomValue = NumberValue
Expand Down Expand Up @@ -855,7 +880,13 @@ AddActor = MOSRotating
AddActor = MOSRotating
CopyOf = Generic Capturable Computer
PresetName = Refinery Optional Door Console S2_3
ScriptPath = Browncoats.rte/Scenes/Objects/Capturables/RefineryCapturableFX.lua
ScriptPath = Browncoats.rte/Scenes/Objects/Capturables/RefineryOptionalDoorCapturableFX.lua
SpriteFile = ContentFile
FilePath = Browncoats.rte/Scenes/Objects/Capturables/DoorConsoleA.png
FrameCount = 30
SpriteOffset = Vector
X = -12
Y = -12
AddCustomValue = NumberValue
StartTeam = 1
AddCustomValue = NumberValue
Expand Down Expand Up @@ -884,7 +915,13 @@ AddActor = MOSRotating
AddActor = MOSRotating
CopyOf = Generic Capturable Computer
PresetName = Refinery Optional Door Console S3_1
ScriptPath = Browncoats.rte/Scenes/Objects/Capturables/RefineryCapturableFX.lua
ScriptPath = Browncoats.rte/Scenes/Objects/Capturables/RefineryOptionalDoorCapturableFX.lua
SpriteFile = ContentFile
FilePath = Browncoats.rte/Scenes/Objects/Capturables/DoorConsoleA.png
FrameCount = 30
SpriteOffset = Vector
X = -12
Y = -12
AddCustomValue = NumberValue
StartTeam = 1
AddCustomValue = NumberValue
Expand Down Expand Up @@ -913,7 +950,13 @@ AddActor = MOSRotating
AddActor = MOSRotating
CopyOf = Generic Capturable Computer
PresetName = Refinery Optional Door Console S3_2
ScriptPath = Browncoats.rte/Scenes/Objects/Capturables/RefineryCapturableFX.lua
ScriptPath = Browncoats.rte/Scenes/Objects/Capturables/RefineryOptionalDoorCapturableFX.lua
SpriteFile = ContentFile
FilePath = Browncoats.rte/Scenes/Objects/Capturables/DoorConsoleA.png
FrameCount = 30
SpriteOffset = Vector
X = -12
Y = -12
AddCustomValue = NumberValue
StartTeam = 1
AddCustomValue = NumberValue
Expand Down Expand Up @@ -942,7 +985,13 @@ AddActor = MOSRotating
AddActor = MOSRotating
CopyOf = Generic Capturable Computer
PresetName = Refinery Optional Door Console S3_3
ScriptPath = Browncoats.rte/Scenes/Objects/Capturables/RefineryCapturableFX.lua
ScriptPath = Browncoats.rte/Scenes/Objects/Capturables/RefineryOptionalDoorCapturableFX.lua
SpriteFile = ContentFile
FilePath = Browncoats.rte/Scenes/Objects/Capturables/DoorConsoleA.png
FrameCount = 30
SpriteOffset = Vector
X = -12
Y = -12
AddCustomValue = NumberValue
StartTeam = 1
AddCustomValue = NumberValue
Expand Down
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Loading