Skip to content

Commit 501fe17

Browse files
committed
generator destruction s6 obj
1 parent ec708b4 commit 501fe17

File tree

9 files changed

+217
-9
lines changed

9 files changed

+217
-9
lines changed

Data/Browncoats.rte/Activities/RefineryAssault.lua

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -186,6 +186,7 @@ function RefineryAssault:StartActivity(newGame)
186186
table.insert(self.stageFunctionTable, self.MonitorStage3);
187187
table.insert(self.stageFunctionTable, self.MonitorStage4);
188188
table.insert(self.stageFunctionTable, self.MonitorStage5);
189+
table.insert(self.stageFunctionTable, self.MonitorStage6);
189190

190191
if newGame then
191192

@@ -273,6 +274,12 @@ function RefineryAssault:StartActivity(newGame)
273274
particle.MissionCritical = true;
274275
end
275276
end
277+
278+
for particle in MovableMan.Particles do
279+
if particle.PresetName == "Browncoat Refinery Generator Breakable Objective" then
280+
particle.MissionCritical = true;
281+
end
282+
end
276283

277284
else
278285
self:ResumeLoadedGame();

Data/Browncoats.rte/Activities/RefineryAssaultFunctions.lua

Lines changed: 62 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -168,7 +168,42 @@ function RefineryAssault:HandleMessage(message, object)
168168
self.stage4DoorExploDistSoundContainer = CreateSoundContainer("Yskely Refinery S4 Doors Explo Distant");
169169
self.stage4DoorExploDistSoundContainer:Play(pos);
170170

171-
print("hi?");
171+
-- Stage 5 generator stuff
172+
173+
self.saveTable.stage5Generators = {};
174+
175+
local i = 1;
176+
177+
for particle in MovableMan.Particles do
178+
if particle.PresetName == "Browncoat Refinery Generator Breakable Objective" then
179+
particle.MissionCritical = false;
180+
table.insert(self.saveTable.stage5Generators, particle)
181+
182+
self.HUDHandler:AddObjective(self.humanTeam,
183+
"S5DestroyGenerators" .. i,
184+
"Destroy",
185+
"Attack",
186+
"Destroy backup generators",
187+
"We need a keycard from one of the sub-commanders. Draw him to you by destroying some generators.",
188+
particle,
189+
true,
190+
true);
191+
192+
i = i + 1;
193+
end
194+
end
195+
196+
self.HUDHandler:AddObjective(self.humanTeam,
197+
"S5DestroyGenerators",
198+
"Destroy backup generators",
199+
"Attack",
200+
"Destroy backup generators",
201+
"We need a keycard from one of the sub-commanders. Draw him to you by destroying some generators.",
202+
nil,
203+
false,
204+
true,
205+
true);
206+
172207
end
173208

174209
end
@@ -199,6 +234,12 @@ function RefineryAssault:HandleMessage(message, object)
199234
for k, door in pairs(self.saveTable.stage4Door) do
200235
door:GibThis();
201236
end
237+
for k, door in pairs(self.saveTable.stage3Doors) do
238+
door:GibThis();
239+
end
240+
self:SendMessage("RefineryAssault_S4DoorsBlownUp");
241+
elseif message == "SkipStage5" then
242+
202243
end
203244

204245

@@ -858,4 +899,24 @@ end
858899

859900
function RefineryAssault:MonitorStage5()
860901

902+
local noGenerators = true;
903+
904+
for i, generator in ipairs(self.saveTable.stage5Generators) do
905+
if not generator or not MovableMan:ValidMO(generator) then
906+
self.saveTable.stage5Generators[i] = false;
907+
self.HUDHandler:RemoveObjective(self.humanTeam, "S1KillEnemies" .. i);
908+
else
909+
noGenerators = false;
910+
end
911+
end
912+
913+
if noGenerators then
914+
self.Stage = 6;
915+
self.HUDHandler:RemoveAllObjectives(self.humanTeam);
916+
end
917+
918+
end
919+
920+
function RefineryAssault:MonitorStage6()
921+
861922
end
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
IncludeFile = Browncoats.rte/Scenes/Objects/Breakables/BossBreakableCeiling/BossBreakableCeiling.ini
22
IncludeFile = Browncoats.rte/Scenes/Objects/Breakables/RefineryConsole/RefineryConsole.ini
3+
IncludeFile = Browncoats.rte/Scenes/Objects/Breakables/RefineryGenerator/RefineryGenerator.ini
34

45
IncludeFile = Browncoats.rte/Scenes/Objects/Breakables/RefineryFuelTankMedium/RefineryFuelTankMedium.ini
56
IncludeFile = Browncoats.rte/Scenes/Objects/Breakables/RefineryFuelTankLarge/RefineryFuelTankLarge.ini

Data/Browncoats.rte/Scenes/Objects/Breakables/RefineryConsole/RefineryConsole.lua

Lines changed: 0 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -4,14 +4,6 @@ function Create(self)
44

55
end
66

7-
function Update(self)
8-
9-
if UInputMan:KeyPressed(Key.P) then
10-
self:GibThis();
11-
end
12-
13-
end
14-
157
function OnDestroy(self)
168

179
self.Activity:SendMessage("RefineryAssault_RefineryConsoleBroken");
Lines changed: 46 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,46 @@
1+
///////////////////////////////////////////////////////////////////////
2+
// MOSRotatings
3+
4+
AddEffect = MOSRotating
5+
PresetName = Browncoat Refinery Generator Breakable Objective
6+
AddToGroup = Scripted
7+
GoldValue = 0
8+
PinStrength = 99999999
9+
Mass = 50
10+
RestThreshold = -500
11+
HitsMOs = 0
12+
GetsHitByMOs = 1
13+
IgnoresActorHits = 1
14+
ScriptPath = Browncoats.rte/Scenes/Objects/Breakables/RefineryGenerator/RefineryGenerator.lua
15+
SpriteFile = ContentFile
16+
FilePath = Browncoats.rte/Scenes/Objects/Breakables/RefineryGenerator/RefineryGenerator.png
17+
FrameCount = 1
18+
SpriteOffset = Vector
19+
X = -48
20+
Y = -14
21+
HFlipped = 0
22+
EntryWound = AEmitter
23+
CopyOf = Dent Metal Light
24+
ExitWound = AEmitter
25+
CopyOf = Dent Metal Light
26+
AtomGroup = AtomGroup
27+
AutoGenerate = 1
28+
Material = Material
29+
CopyOf = Metal
30+
Resolution = 1
31+
Depth = 0
32+
DeepGroup = AtomGroup
33+
AutoGenerate = 1
34+
Material = Material
35+
CopyOf = Metal
36+
Resolution = 4
37+
Depth = 6
38+
DeepCheck = 1
39+
GibImpulseLimit = 4000
40+
GibWoundLimit = 25
41+
GibSound = SoundContainer
42+
AttenuationStartDistance = 400
43+
AddSound = ContentFile
44+
FilePath = Browncoats.rte/Scenes/Objects/Breakables/RefineryGenerator/TestBreak.flac
45+
AddCustomValue = NumberValue
46+
SceneObject = 1
Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
function Create(self)
2+
3+
self.Activity = ToGameActivity(ActivityMan:GetActivity());
4+
5+
end
6+
7+
function OnDestroy(self)
8+
9+
self.Activity:SendMessage("RefineryAssault_RefineryGeneratorBroken");
10+
11+
end
1.48 KB
Loading
Binary file not shown.

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

Lines changed: 90 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -132600,6 +132600,96 @@ AddScene = Scene
132600132600
HFlipped = 0
132601132601
AddCustomValue = NumberValue
132602132602
SceneObject = 1
132603+
PlaceSceneObject = MOSRotating
132604+
CopyOf = Browncoats.rte/Browncoat Refinery Generator Breakable Objective
132605+
Position = Vector
132606+
X = 16932
132607+
Y = 2772
132608+
Team = 0
132609+
PlacedByPlayer = 0
132610+
HFlipped = 0
132611+
AddCustomValue = NumberValue
132612+
SceneObject = 1
132613+
PlaceSceneObject = MOSRotating
132614+
CopyOf = Browncoats.rte/Browncoat Refinery Generator Breakable Objective
132615+
Position = Vector
132616+
X = 17064
132617+
Y = 2772
132618+
Team = 0
132619+
PlacedByPlayer = 0
132620+
HFlipped = 0
132621+
AddCustomValue = NumberValue
132622+
SceneObject = 1
132623+
PlaceSceneObject = MOSRotating
132624+
CopyOf = Browncoats.rte/Browncoat Refinery Generator Breakable Objective
132625+
Position = Vector
132626+
X = 17640
132627+
Y = 2772
132628+
Team = 0
132629+
PlacedByPlayer = 0
132630+
HFlipped = 0
132631+
AddCustomValue = NumberValue
132632+
SceneObject = 1
132633+
PlaceSceneObject = MOSRotating
132634+
CopyOf = Browncoats.rte/Browncoat Refinery Generator Breakable Objective
132635+
Position = Vector
132636+
X = 17028
132637+
Y = 3012
132638+
Team = 0
132639+
PlacedByPlayer = 0
132640+
HFlipped = 0
132641+
AddCustomValue = NumberValue
132642+
SceneObject = 1
132643+
PlaceSceneObject = MOSRotating
132644+
CopyOf = Browncoats.rte/Browncoat Refinery Generator Breakable Objective
132645+
Position = Vector
132646+
X = 17088
132647+
Y = 3012
132648+
Team = 0
132649+
PlacedByPlayer = 0
132650+
HFlipped = 0
132651+
AddCustomValue = NumberValue
132652+
SceneObject = 1
132653+
PlaceSceneObject = MOSRotating
132654+
CopyOf = Browncoats.rte/Browncoat Refinery Generator Breakable Objective
132655+
Position = Vector
132656+
X = 17148
132657+
Y = 3012
132658+
Team = 0
132659+
PlacedByPlayer = 0
132660+
HFlipped = 0
132661+
AddCustomValue = NumberValue
132662+
SceneObject = 1
132663+
PlaceSceneObject = MOSRotating
132664+
CopyOf = Browncoats.rte/Browncoat Refinery Generator Breakable Objective
132665+
Position = Vector
132666+
X = 17208
132667+
Y = 3012
132668+
Team = 0
132669+
PlacedByPlayer = 0
132670+
HFlipped = 0
132671+
AddCustomValue = NumberValue
132672+
SceneObject = 1
132673+
PlaceSceneObject = MOSRotating
132674+
CopyOf = Browncoats.rte/Browncoat Refinery Generator Breakable Objective
132675+
Position = Vector
132676+
X = 17268
132677+
Y = 3012
132678+
Team = 0
132679+
PlacedByPlayer = 0
132680+
HFlipped = 0
132681+
AddCustomValue = NumberValue
132682+
SceneObject = 1
132683+
PlaceSceneObject = MOSRotating
132684+
CopyOf = Browncoats.rte/Browncoat Refinery Generator Breakable Objective
132685+
Position = Vector
132686+
X = 17328
132687+
Y = 3012
132688+
Team = 0
132689+
PlacedByPlayer = 0
132690+
HFlipped = 0
132691+
AddCustomValue = NumberValue
132692+
SceneObject = 1
132603132693
PlaceAIPlanObject = TerrainObject
132604132694
CopyOf = Base.rte/T-Junction D
132605132695
Position = Vector

0 commit comments

Comments
 (0)