@@ -79,7 +79,6 @@ function BunkerBreach:SetupDefenderBrains()
79
79
if SceneMan .Scene :HasArea (" Brain" ) then
80
80
for actor in MovableMan .AddedActors do
81
81
if actor :IsInGroup (" Brains" ) then
82
- print (actor )
83
82
actor .ToDelete = true ;
84
83
end
85
84
end
@@ -142,41 +141,52 @@ function BunkerBreach:SetupDefenderActors()
142
141
local techID = PresetMan :GetModuleID (self :GetTeamTech (self .defenderTeam ));
143
142
local crabToHumanSpawnRatio = self :GetCrabToHumanSpawnRatio (techID );
144
143
144
+ local loadoutNames = {" Light" , " Heavy" , " Sniper" , " Engineer" , " Mecha" , " Turret" };
145
+
145
146
local hasSpawnAreas = false ;
146
- for _ , loadoutName in pairs ({ " Light " , " Heavy " , " Sniper " , " Engineer " , " Mecha " , " Turret " } ) do
147
+ for _ , loadoutName in pairs (loadoutNames ) do
147
148
if SceneMan .Scene :HasArea (loadoutName .. " Defenders" ) then
148
149
hasSpawnAreas = true ;
149
- local defenderArea = SceneMan .Scene :GetOptionalArea (loadoutName .. " Defenders" );
150
- if defenderArea ~= nil then
151
- for defenderBox in defenderArea .Boxes do
152
- local guard ;
153
- if loadoutName == " Mecha" or loadoutName == " Turret" then
154
- guard = crabToHumanSpawnRatio > 0 and self :CreateCrab (techID , loadoutName == " Turret" ) or self :CreateInfantry (techID , " Heavy" );
155
- else
156
- guard = self :CreateInfantry (techID , loadoutName );
157
- end
158
- if guard then
159
- guard .Pos = defenderBox .Center ;
160
- guard .Team = self .defenderTeam ;
161
- guard .AIMode = Actor .AIMODE_SENTRY ;
162
- if loadoutName == " Engineer" then
163
- guard .AIMode = Actor .AIMODE_GOLDDIG ;
164
- end
165
- MovableMan :AddActor (guard );
166
- end
167
- end
168
- end
169
150
end
170
151
end
152
+
171
153
for actor in MovableMan .AddedActors do
172
- if actor . Team ~= self . defenderTeam and not actor :IsInGroup (" Brains" ) and not actor :IsInGroup (" Bunker Systems - Automovers" ) then
154
+ if not actor :IsInGroup (" Brains" ) and not actor :IsInGroup (" Bunker Systems - Automovers" ) then
173
155
if hasSpawnAreas then
174
156
actor .ToDelete = true ;
175
- else
157
+ elseif actor . Team ~= self . defenderTeam then
176
158
MovableMan :ChangeActorTeam (actor , self .defenderTeam );
177
159
end
178
160
end
179
161
end
162
+
163
+ if hasSpawnAreas then
164
+ for _ , loadoutName in pairs ({" Light" , " Heavy" , " Sniper" , " Engineer" , " Mecha" , " Turret" }) do
165
+ if SceneMan .Scene :HasArea (loadoutName .. " Defenders" ) then
166
+ hasSpawnAreas = true ;
167
+ local defenderArea = SceneMan .Scene :GetOptionalArea (loadoutName .. " Defenders" );
168
+ if defenderArea ~= nil then
169
+ for defenderBox in defenderArea .Boxes do
170
+ local guard ;
171
+ if loadoutName == " Mecha" or loadoutName == " Turret" then
172
+ guard = crabToHumanSpawnRatio > 0 and self :CreateCrab (techID , loadoutName == " Turret" ) or self :CreateInfantry (techID , " Heavy" );
173
+ else
174
+ guard = self :CreateInfantry (techID , loadoutName );
175
+ end
176
+ if guard then
177
+ guard .Pos = defenderBox .Center ;
178
+ guard .Team = self .defenderTeam ;
179
+ guard .AIMode = Actor .AIMODE_SENTRY ;
180
+ if loadoutName == " Engineer" then
181
+ guard .AIMode = Actor .AIMODE_GOLDDIG ;
182
+ end
183
+ MovableMan :AddActor (guard );
184
+ end
185
+ end
186
+ end
187
+ end
188
+ end
189
+ end
180
190
end
181
191
182
192
function BunkerBreach :SetupFogOfWar ()
0 commit comments