@@ -94,6 +94,20 @@ function RefineryAssault:HandleMessage(message, object)
94
94
95
95
for k , v in pairs (self .saveTable .buyDoorTables .S3_1 ) do
96
96
v .Team = object ;
97
+ end
98
+
99
+ -- dupe code woo
100
+ if object == self .humanTeam then
101
+ local pos ;
102
+ for particle in MovableMan .Particles do
103
+ if particle .PresetName == " Refinery S3 Buy Door Console 1" then
104
+ pos = particle .Pos ;
105
+ break ;
106
+ end
107
+ end
108
+ self .tacticsHandler :AddTask (" Attack S3 Buy Door Console 1" , self .aiTeam , pos , " Attack" , 20 );
109
+ else
110
+ self .tacticsHandler :RemoveTask (" Attack S3 Buy Door Console 1" , self .aiTeam );
97
111
end
98
112
99
113
elseif message == " Captured_RefineryS3BuyDoorConsole2" then
@@ -104,7 +118,21 @@ function RefineryAssault:HandleMessage(message, object)
104
118
105
119
for k , v in pairs (self .saveTable .buyDoorTables .S3_2 ) do
106
120
v .Team = object ;
107
- end
121
+ end
122
+
123
+ -- dupe code woo
124
+ if object == self .humanTeam then
125
+ local pos ;
126
+ for particle in MovableMan .Particles do
127
+ if particle .PresetName == " Refinery S3 Buy Door Console 2" then
128
+ pos = particle .Pos ;
129
+ break ;
130
+ end
131
+ end
132
+ self .tacticsHandler :AddTask (" Attack S3 Buy Door Console 2" , self .aiTeam , pos , " Attack" , 20 );
133
+ else
134
+ self .tacticsHandler :RemoveTask (" Attack S3 Buy Door Console 2" , self .aiTeam );
135
+ end
108
136
109
137
elseif message == " Captured_RefineryS3BuyDoorConsole3" then
110
138
@@ -116,6 +144,20 @@ function RefineryAssault:HandleMessage(message, object)
116
144
v .Team = object ;
117
145
end
118
146
147
+ -- dupe code woo
148
+ if object == self .humanTeam then
149
+ local pos ;
150
+ for particle in MovableMan .Particles do
151
+ if particle .PresetName == " Refinery S3 Buy Door Console 3" then
152
+ pos = particle .Pos ;
153
+ break ;
154
+ end
155
+ end
156
+ self .tacticsHandler :AddTask (" Attack S3 Buy Door Console 3" , self .aiTeam , pos , " Attack" , 20 );
157
+ else
158
+ self .tacticsHandler :RemoveTask (" Attack S3 Buy Door Console 3" , self .aiTeam );
159
+ end
160
+
119
161
elseif message == " Captured_RefineryS3BuyDoorConsole4" then
120
162
121
163
table.insert (self .saveTable .buyDoorTables .teamAreas [object ], " S3_4" );
@@ -124,7 +166,21 @@ function RefineryAssault:HandleMessage(message, object)
124
166
125
167
for k , v in pairs (self .saveTable .buyDoorTables .S3_4 ) do
126
168
v .Team = object ;
127
- end
169
+ end
170
+
171
+ -- dupe code woo
172
+ if object == self .humanTeam then
173
+ local pos ;
174
+ for particle in MovableMan .Particles do
175
+ if particle .PresetName == " Refinery S3 Buy Door Console 4" then
176
+ pos = particle .Pos ;
177
+ break ;
178
+ end
179
+ end
180
+ self .tacticsHandler :AddTask (" Attack S3 Buy Door Console 4" , self .aiTeam , pos , " Attack" , 20 );
181
+ else
182
+ self .tacticsHandler :RemoveTask (" Attack S3 Buy Door Console 4" , self .aiTeam );
183
+ end
128
184
129
185
elseif message == " Captured_RefineryS3OilCapturable" then
130
186
@@ -204,6 +260,20 @@ function RefineryAssault:HandleMessage(message, object)
204
260
205
261
self .tacticsHandler :RemoveTask (" Patrol Stage 3" , self .humanTeam );
206
262
self .tacticsHandler :RemoveTask (" Patrol Stage 3" , self .aiTeam );
263
+
264
+ -- Straighten up the buy door situation
265
+
266
+ self :SendMessage (" Captured_RefineryS3BuyDoorConsole1" , self .humanTeam );
267
+ self :SendMessage (" Captured_RefineryS3BuyDoorConsole2" , self .humanTeam );
268
+ self :SendMessage (" Captured_RefineryS3BuyDoorConsole3" , self .humanTeam );
269
+
270
+ self .tacticsHandler :RemoveTask (" Attack S3 Buy Door Console 1" , self .aiTeam );
271
+ self .tacticsHandler :RemoveTask (" Attack S3 Buy Door Console 2" , self .aiTeam );
272
+ self .tacticsHandler :RemoveTask (" Attack S3 Buy Door Console 3" , self .aiTeam );
273
+
274
+ MovableMan :SendGlobalMessage (" DeactivateCapturable_RefineryS3BuyDoorConsole1" );
275
+ MovableMan :SendGlobalMessage (" DeactivateCapturable_RefineryS3BuyDoorConsole2" );
276
+ MovableMan :SendGlobalMessage (" DeactivateCapturable_RefineryS3BuyDoorConsole3" );
207
277
208
278
end
209
279
@@ -812,13 +882,16 @@ function RefineryAssault:MonitorStage3()
812
882
813
883
if not self .stage3AllConsolesBroken then
814
884
815
- for i , console in ipairs (self .saveTable .stage3Consoles ) do
885
+ for k , console in pairs (self .saveTable .stage3Consoles ) do
816
886
if not console or not MovableMan :ValidMO (console ) then
817
- self .saveTable .stage3Consoles [i ] = false ;
887
+ self .saveTable .stage3Consoles [k ] = nil ;
818
888
819
- self .tacticsHandler :RemoveTask (" Defend Refinery Console " .. i , self .aiTeam );
820
- self .tacticsHandler :RemoveTask (" Attack Refinery Console " .. i , self .humanTeam );
889
+ self .tacticsHandler :RemoveTask (" Defend Refinery Console " .. k , self .aiTeam );
890
+ self .tacticsHandler :RemoveTask (" Attack Refinery Console " .. k , self .humanTeam );
821
891
892
+ else
893
+ print (console )
894
+ print (k )
822
895
end
823
896
end
824
897
@@ -924,7 +997,7 @@ function RefineryAssault:MonitorStage5()
924
997
for i , generator in ipairs (self .saveTable .stage5Generators ) do
925
998
if not generator or not MovableMan :ValidMO (generator ) then
926
999
self .saveTable .stage5Generators [i ] = false ;
927
- self .HUDHandler :RemoveObjective (self .humanTeam , " S1KillEnemies " .. i );
1000
+ self .HUDHandler :RemoveObjective (self .humanTeam , " S5DestroyGenerators " .. i );
928
1001
else
929
1002
noGenerators = false ;
930
1003
end
0 commit comments