Skip to content

Commit a29c945

Browse files
committed
boss sequence, MusicMan fix
1 parent 4af9653 commit a29c945

21 files changed

+108
-5
lines changed

Data/Browncoats.rte/Activities/RefineryAssaultFunctions.lua

Lines changed: 14 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -637,11 +637,22 @@ function RefineryAssault:HandleMessage(message, object)
637637
self.playerGoldIncreaseAmount = self.playerGoldIncreaseAmount + 20;
638638

639639
elseif message == "Captured_RefineryS9FinalConsole" then
640-
640+
641641
self.HUDHandler:RemoveObjective(self.humanTeam, "S9FinalConsole");
642+
643+
MusicMan:SetNextDynamicSongSection("Boss", true, true, true);
644+
642645
self.saveTable.stage9FinalConsoleCaptured = true;
643646

644647
elseif message == "Refinery_RefineryS10FinalBossDead" then
648+
649+
MusicMan:SetNextDynamicSongSection("Victory Stinger", true, true, true);
650+
MusicMan:EndDynamicMusic(false);
651+
652+
elseif message == "Refinery_RefineryS10FinalBossExploded" then
653+
654+
MusicMan:PlayDynamicSong("BC", "Victory", true, true, true);
655+
MusicMan:EndDynamicMusic(false);
645656

646657
end
647658

@@ -1824,7 +1835,8 @@ function RefineryAssault:MonitorStage9()
18241835

18251836
self.stage9FinalTimer = Timer();
18261837

1827-
elseif self.stage9FinalTimer and self.stage9FinalTimer:IsPastSimMS(5000) then
1838+
-- ideally this would be SimMS but...
1839+
elseif self.stage9FinalTimer and self.stage9FinalTimer:IsPastRealMS(21000) then
18281840

18291841
self.Stage = 10;
18301842
MovableMan:SendGlobalMessage("Refinery_S10SpawnBoss", self.aiTeam);

Data/Browncoats.rte/Actors/Infantry/BrowncoatBoss/AI/BrowncoatBossAI.lua

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -82,6 +82,8 @@ function Create(self)
8282
self.deathScriptedStartSound = CreateSoundContainer("Browncoat Boss DeathScriptedStart", "Browncoats.rte");
8383
self.deathScriptedMidBurnSound = CreateSoundContainer("Browncoat Boss DeathScriptedMidBurn", "Browncoats.rte");
8484
self.deathScriptedExplodeSound = CreateSoundContainer("Browncoat Boss DeathScriptedExplode", "Browncoats.rte");
85+
86+
BrowncoatBossFunctions.createVoiceSoundEffect(self, self.voiceSounds.MonologueOutro, 11, true);
8587
end
8688

8789
function Update(self)
@@ -158,6 +160,8 @@ function Update(self)
158160
att.MissionCritical = false;
159161
end
160162

163+
self.activity:SendMessage("Refinery_RefineryS10FinalBossExploded");
164+
161165
self:GibThis();
162166

163167
CameraMan:AddScreenShake(25, self.Pos);
@@ -251,5 +255,4 @@ end
251255

252256
function Destroy(self)
253257
self.AI:Destroy(self);
254-
self.activity:SendMessage("Refinery_S10FinalBossDead");
255258
end

Data/Browncoats.rte/Actors/Infantry/BrowncoatBoss/BrowncoatBoss.ini

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -665,6 +665,12 @@ AddSoundContainer = SoundContainer
665665
AddSound = Browncoats.rte/Actors/Infantry/BrowncoatBoss/Sounds/VO/Taunt10.flac
666666
AddSound = Browncoats.rte/Actors/Infantry/BrowncoatBoss/Sounds/VO/Taunt11.flac
667667

668+
AddSoundContainer = SoundContainer
669+
PresetName = Browncoat Boss VO Monologue Outro
670+
AttenuationStartDistance = 350
671+
SoundOverlapMode = 2
672+
AddSound = Browncoats.rte/Actors/Infantry/BrowncoatBoss/Sounds/VO/MonologueOutro1.flac
673+
668674
AddSoundContainer = SoundContainer
669675
PresetName = Browncoat Boss VO Ability Jump Attack
670676
AttenuationStartDistance = 300

Data/Browncoats.rte/Actors/Infantry/BrowncoatBoss/BrowncoatBoss.lua

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@ function Create(self)
1212
Land = CreateSoundContainer("Browncoat Boss VO Land", "Browncoats.rte"),
1313
SquadLead = CreateSoundContainer("Browncoat Boss VO Squad Lead", "Browncoats.rte"),
1414
Taunt = CreateSoundContainer("Browncoat Boss VO Taunt", "Browncoats.rte"),
15+
MonologueOutro = CreateSoundContainer("Browncoat Boss VO Monologue Outro", "Browncoats.rte"),
1516
DeathScripted = CreateSoundContainer("Browncoat Boss VO Death Scripted", "Browncoats.rte"),
1617
JumpAttack = CreateSoundContainer("Browncoat Boss VO Ability Jump Attack", "Browncoats.rte"),
1718
OilThrowTaunt = CreateSoundContainer("Browncoat Boss VO Ability Oil Throw", "Browncoats.rte")}

Data/Browncoats.rte/Actors/Infantry/BrowncoatBoss/BrowncoatBossFunctions.lua

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -48,7 +48,8 @@ function BrowncoatBossFunctions.updateHealth(self)
4848
if self.Health <= 0 then
4949
if not self.bossMode then
5050
BrowncoatBossFunctions.createVoiceSoundEffect(self, self.voiceSounds.Death, 11, true);
51-
else
51+
else
52+
self.activity:SendMessage("Refinery_RefineryS10FinalBossDead");
5253

5354
self.deathScripted = true;
5455
self.deathScriptedTimer:Reset();

Data/Browncoats.rte/Actors/Shared.ini

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -82,6 +82,7 @@ AddEffect = AEJetpack
8282
AddSound = Base.rte/Sounds/Actors/JetpackLoop1.flac
8383
LoopSetting = -1 // Means loop infinitely until stopped
8484
BurstSound = SoundContainer
85+
AttenuationStartDistance = 50 // Severely annoying otherwise
8586
AddSound = Browncoats.rte/Actors/Shared/Sounds/JumpPack1.flac
8687
AddSound = Browncoats.rte/Actors/Shared/Sounds/JumpPack2.flac
8788
AddSound = Browncoats.rte/Actors/Shared/Sounds/JumpPack3.flac

Data/Browncoats.rte/Music.ini

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -593,6 +593,13 @@ AddDynamicSongSection = DynamicSongSection
593593
CopyOf = BC Boss 10
594594
SoundContainerSelectionCycleMode = shuffle
595595

596+
AddDynamicSongSection = DynamicSongSection
597+
PresetName = BC Victory Stinger
598+
SectionType = Victory Stinger
599+
AddSoundContainer = SoundContainer
600+
CopyOf = BC Victory Stinger 1
601+
SoundContainerSelectionCycleMode = shuffle
602+
596603
AddDynamicSongSection = DynamicSongSection
597604
PresetName = BC Victory
598605
SectionType = Victory
@@ -623,6 +630,8 @@ AddDynamicSong = DynamicSong
623630
CopyOf = BC Intense
624631
AddSongSection = DynamicSongSection
625632
CopyOf = BC Boss
633+
AddSongSection = DynamicSongSection
634+
CopyOf = BC Victory Stinger
626635
AddSongSection = DynamicSongSection
627636
CopyOf = BC Victory
628637
AddSongSection = DynamicSongSection

Data/Browncoats.rte/Scenes/Objects/Capturables/Capturables.ini

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -121,7 +121,7 @@ AddActor = MOSRotating
121121
AddActor = MOSRotating
122122
CopyOf = Generic Capturable Computer
123123
PresetName = Refinery S9 Final Console
124-
ScriptPath = Browncoats.rte/Scenes/Objects/Capturables/RefineryCapturableFX.lua
124+
ScriptPath = Browncoats.rte/Scenes/Objects/Capturables/RefineryFinalConsoleFX.lua
125125
AddCustomValue = NumberValue
126126
StartTeam = 1
127127
AddCustomValue = NumberValue
Lines changed: 41 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,41 @@
1+
function Create(self)
2+
self.startCaptureSound = CreateSoundContainer("Browncoat Final Console Start Capture", "Base.rte");
3+
self.capturingSound = CreateSoundContainer("Browncoat Final Console Capturing", "Base.rte");
4+
self.stopCaptureSound = CreateSoundContainer("Browncoat Final Console Stop Capture", "Base.rte");
5+
self.captureSuccessSound = CreateSoundContainer("Browncoat Final Console Final Sequence", "Base.rte");
6+
7+
self.capturingTimer = Timer();
8+
self.capturingDelay = 500;
9+
end
10+
11+
function Update(self)
12+
if self.FXstartCapture then
13+
self.startCaptureSound:Play(self.Pos);
14+
self.capturingTimer:Reset();
15+
end
16+
if self.FXcapturing or self.Contested then
17+
local sound = self.capturingSound;
18+
self.capturingDelay = 750;
19+
if self.dominantTeam == self.capturingTeam and not self.Contested then
20+
self.capturingDelay = 400;
21+
end
22+
if self.capturingTimer:IsPastSimMS(self.capturingDelay) then
23+
self.capturingTimer:Reset();
24+
sound:Play(self.Pos);
25+
end
26+
end
27+
if self.FXstopCapture then
28+
self.stopCaptureSound:Play(self.Pos);
29+
end
30+
if self.FXcaptureSuccess then
31+
self.captureSuccessSound:Play(self.Pos);
32+
end
33+
if self.FXcaptureUncapped then
34+
self.capturingTimer:Reset();
35+
end
36+
37+
self.FXstartCapture = false;
38+
self.FXstopCapture = false;
39+
self.FXcaptureSuccess = false;
40+
self.FXcaptureUncapped = false;
41+
end

Data/Browncoats.rte/Scenes/Sounds.ini

Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -53,6 +53,33 @@ AddSoundContainer = SoundContainer
5353
AttenuationStartDistance = 250
5454
AddSound = Browncoats.rte/Scenes/Sounds/BrowncoatBank_CaptureSuccess1.flac
5555
AddSound = Browncoats.rte/Scenes/Sounds/BrowncoatBank_CaptureSuccess2.flac
56+
57+
AddSoundContainer = SoundContainer
58+
AttenuationStartDistance = 250
59+
PresetName = Browncoat Final Console Start Capture
60+
AddSound = Browncoats.rte/Scenes/Sounds/BrowncoatFinalConsole_StartCapture1.flac
61+
AddSound = Browncoats.rte/Scenes/Sounds/BrowncoatFinalConsole_StartCapture2.flac
62+
63+
AddSoundContainer = SoundContainer
64+
PresetName = Browncoat Final Console Capturing
65+
AttenuationStartDistance = 250
66+
AddSound = Browncoats.rte/Scenes/Sounds/BrowncoatFinalConsole_Capturing1.flac
67+
AddSound = Browncoats.rte/Scenes/Sounds/BrowncoatFinalConsole_Capturing2.flac
68+
AddSound = Browncoats.rte/Scenes/Sounds/BrowncoatFinalConsole_Capturing3.flac
69+
AddSound = Browncoats.rte/Scenes/Sounds/BrowncoatFinalConsole_Capturing4.flac
70+
AddSound = Browncoats.rte/Scenes/Sounds/BrowncoatFinalConsole_Capturing5.flac
71+
72+
AddSoundContainer = SoundContainer
73+
PresetName = Browncoat Final Console Stop Capture
74+
AttenuationStartDistance = 250
75+
AddSound = Browncoats.rte/Scenes/Sounds/BrowncoatFinalConsole_StopCapture1.flac
76+
77+
AddSoundContainer = SoundContainer
78+
PresetName = Browncoat Final Console Final Sequence
79+
AttenuationStartDistance = 500
80+
Priority = 1
81+
PanningStrengthMultiplier = 0.5
82+
AddSound = Browncoats.rte/Scenes/Sounds/BrowncoatFinalConsole_FinalSequence1.flac
5683

5784
AddSoundContainer = SoundContainer
5885
PresetName = Yskely Refinery Drill Idle Loop

0 commit comments

Comments
 (0)