@@ -1409,57 +1409,56 @@ function DecisionDay:UpdateRegionScreens()
1409
1409
if bunkerRegionData .enabled then
1410
1410
local currentFauxdanDisplayFrameString ;
1411
1411
local currentLoginScreenFrameString ;
1412
- for _ , player in pairs (self .humanPlayers ) do
1413
- if math.abs ((bunkerRegionData .totalArea .Center - CameraMan :GetScrollTarget (player )).X ) < FrameMan .PlayerScreenWidth * 0.75 then
1414
- if bunkerRegionData .fauxdanDisplayArea ~= nil and bunkerRegionData .ownerTeam == self .aiTeam and self .currentStage == self .stages .attackBrain then
1415
- for box in bunkerRegionData .fauxdanDisplayArea .Boxes do
1416
- local boxCenterPos = box .Center ;
1417
- local fauxdanDisplayScreenKey = tostring (boxCenterPos .FlooredX ) .. " ," .. tostring (boxCenterPos .FlooredY );
1418
-
1419
- local boxBlockedByCaptureDisplay = false ;
1420
- if bunkerRegionData .captureCount > 0 then
1421
- for captureDisplayBox in bunkerRegionData .captureDisplayArea .Boxes do
1422
- if captureDisplayBox .Center .Floored == boxCenterPos .Floored then
1423
- boxBlockedByCaptureDisplay = true ;
1424
- break ;
1425
- end
1426
- end
1427
- end
1412
+
1413
+ if bunkerRegionData .fauxdanDisplayArea ~= nil and bunkerRegionData .ownerTeam == self .aiTeam and self .currentStage <= self .stages .attackBrain then
1414
+ for box in bunkerRegionData .fauxdanDisplayArea .Boxes do
1415
+ local boxCenterPos = box .Center ;
1416
+ local fauxdanDisplayScreenKey = tostring (boxCenterPos .FlooredX ) .. " ," .. tostring (boxCenterPos .FlooredY );
1428
1417
1429
- if not boxBlockedByCaptureDisplay and bunkerRegionData .fauxdanDisplayScreens [fauxdanDisplayScreenKey ] == nil then
1430
- local fauxdanDisplayScreen = self .fauxdanDisplayScreenTemplate :Clone ();
1431
- fauxdanDisplayScreen .Pos = boxCenterPos ;
1432
- MovableMan :AddParticle (fauxdanDisplayScreen );
1433
- bunkerRegionData .fauxdanDisplayScreens [fauxdanDisplayScreenKey ] = fauxdanDisplayScreen ;
1434
- elseif boxBlockedByCaptureDisplay and bunkerRegionData .fauxdanDisplayScreens [fauxdanDisplayScreenKey ] ~= nil then
1435
- bunkerRegionData .fauxdanDisplayScreens [fauxdanDisplayScreenKey ].ToDelete = true ;
1436
- bunkerRegionData .fauxdanDisplayScreens [fauxdanDisplayScreenKey ] = nil ;
1418
+ local boxBlockedByCaptureDisplay = false ;
1419
+ if bunkerRegionData .captureCount > 0 then
1420
+ for captureDisplayBox in bunkerRegionData .captureDisplayArea .Boxes do
1421
+ if captureDisplayBox .Center .Floored == boxCenterPos .Floored then
1422
+ boxBlockedByCaptureDisplay = true ;
1423
+ break ;
1437
1424
end
1438
1425
end
1439
- else
1440
- for _ , fauxdanDisplayScreen in pairs (bunkerRegionData .fauxdanDisplayScreens ) do
1441
- fauxdanDisplayScreen .ToDelete = true ;
1442
- end
1443
- bunkerRegionData .fauxdanDisplayScreens = {};
1444
1426
end
1445
1427
1446
- if bunkerRegionData .captureCount > 0 then
1447
- if # bunkerRegionData .captureDisplayScreens == 0 then
1448
- for box in bunkerRegionData .captureDisplayArea .Boxes do
1449
- local captureDisplayScreen = self .captureDisplayScreenTemplate :Clone ();
1450
- captureDisplayScreen .Pos = box .Center ;
1451
- MovableMan :AddParticle (captureDisplayScreen );
1452
- bunkerRegionData .captureDisplayScreens [# bunkerRegionData .captureDisplayScreens + 1 ] = captureDisplayScreen ;
1453
- end
1454
- end
1455
- for _ , captureDisplayScreen in ipairs (bunkerRegionData .captureDisplayScreens ) do
1456
- captureDisplayScreen .Frame = math.floor ((bunkerRegionData .captureCount / bunkerRegionData .captureLimit ) * (captureDisplayScreen .FrameCount ));
1457
- captureDisplayScreen .Age = 0 ;
1458
- end
1459
- else
1460
- bunkerRegionData .captureDisplayScreens = {};
1428
+ if not boxBlockedByCaptureDisplay and bunkerRegionData .fauxdanDisplayScreens [fauxdanDisplayScreenKey ] == nil then
1429
+ local fauxdanDisplayScreen = self .fauxdanDisplayScreenTemplate :Clone ();
1430
+ fauxdanDisplayScreen .Pos = boxCenterPos ;
1431
+ MovableMan :AddParticle (fauxdanDisplayScreen );
1432
+ bunkerRegionData .fauxdanDisplayScreens [fauxdanDisplayScreenKey ] = fauxdanDisplayScreen ;
1433
+ elseif boxBlockedByCaptureDisplay and bunkerRegionData .fauxdanDisplayScreens [fauxdanDisplayScreenKey ] ~= nil then
1434
+ bunkerRegionData .fauxdanDisplayScreens [fauxdanDisplayScreenKey ].ToDelete = true ;
1435
+ bunkerRegionData .fauxdanDisplayScreens [fauxdanDisplayScreenKey ] = nil ;
1436
+ end
1437
+ end
1438
+ elseif next (bunkerRegionData .fauxdanDisplayScreens ) ~= nil then
1439
+ for _ , fauxdanDisplayScreen in pairs (bunkerRegionData .fauxdanDisplayScreens ) do
1440
+ fauxdanDisplayScreen .ToDelete = true ;
1441
+ end
1442
+ bunkerRegionData .fauxdanDisplayScreens = {};
1443
+ end
1444
+
1445
+ if bunkerRegionData .captureCount > 0 then
1446
+ if # bunkerRegionData .captureDisplayScreens == 0 then
1447
+ for box in bunkerRegionData .captureDisplayArea .Boxes do
1448
+ local captureDisplayScreen = self .captureDisplayScreenTemplate :Clone ();
1449
+ captureDisplayScreen .Pos = box .Center ;
1450
+ MovableMan :AddParticle (captureDisplayScreen );
1451
+ bunkerRegionData .captureDisplayScreens [# bunkerRegionData .captureDisplayScreens + 1 ] = captureDisplayScreen ;
1452
+ end
1453
+ end
1454
+ for index , captureDisplayScreen in ipairs (bunkerRegionData .captureDisplayScreens ) do
1455
+ if MovableMan :ValidMO (captureDisplayScreen ) then
1456
+ captureDisplayScreen .Frame = math.floor ((bunkerRegionData .captureCount / bunkerRegionData .captureLimit ) * (captureDisplayScreen .FrameCount ));
1457
+ captureDisplayScreen .Age = 0 ;
1461
1458
end
1462
1459
end
1460
+ elseif # bunkerRegionData .captureDisplayScreens > 0 then
1461
+ bunkerRegionData .captureDisplayScreens = {};
1463
1462
end
1464
1463
end
1465
1464
end
0 commit comments