From 2067bbc6e188b733d0c770e799321d2dc1afc13d Mon Sep 17 00:00:00 2001 From: FatBoy-DOTC Date: Mon, 22 Apr 2024 19:08:34 -0500 Subject: [PATCH] mine closing bug --- src/engine/gameManager/SimulationManager.java | 23 +++--- src/engine/objects/Mine.java | 70 +++++++++---------- src/engine/workthreads/HourlyJobThread.java | 6 +- 3 files changed, 49 insertions(+), 50 deletions(-) diff --git a/src/engine/gameManager/SimulationManager.java b/src/engine/gameManager/SimulationManager.java index 29c1a4fa..d6d0cdc8 100644 --- a/src/engine/gameManager/SimulationManager.java +++ b/src/engine/gameManager/SimulationManager.java @@ -232,6 +232,9 @@ public enum SimulationManager { } private void pulseMines(){ + // if(LocalDateTime.now().getMinute() != 30 && LocalDateTime.now().getMinute() != 0) + // return; + for(Mine mine : Mine.getMines()) { Building mineTower = BuildingManager.getBuilding(mine.getBuildingID()); @@ -252,23 +255,19 @@ public enum SimulationManager { //current time is after start time and before close time, open mine window if (!mine.isActive && LocalDateTime.now().isAfter(openTime) && LocalDateTime.now().isBefore(closeTime)) { - mine.setActive(true); - ChatManager.chatSystemChannel(mine.getParentZone().getName() + "'s Mine is now Active!"); - Logger.info(mine.getParentZone().getName() + "'s Mine is now Active!"); + mineWindowOpen(mine); continue; } + if(mine.isActive) { + if (LocalDateTime.now().isAfter(closeTime.plusSeconds(10)) && mineTower.getRank() == 0 && mine.lastClaimer == null) + closeTime = closeTime.plusMinutes(30); // mine was knocked down and has no claimer, roll over - if(mine.isActive && LocalDateTime.now().isAfter(closeTime) && mineTower.getRank() == 0 && mine.lastClaimer == null) - closeTime = closeTime.plusMinutes(30); // mine was knocked down and has no claimer, roll over + if (LocalDateTime.now().isAfter(closeTime) && mineTower.getRank() > 0) + mineWindowClose(mine); //mine was never knocked down, close window - if(mine.isActive && LocalDateTime.now().isAfter(closeTime) && mineTower.getRank() > 0) { - mineWindowClose(mine); //mine was never knocked down, close window - continue; + if (LocalDateTime.now().isAfter(closeTime) && mineTower.getRank() < 1 && mine.lastClaimer != null) + mineWindowClose(mine); //mine was knocked down and was claimed, close window } - - if(mine.isActive && LocalDateTime.now().isAfter(closeTime) && mineTower.getRank() == 0 && mine.lastClaimer != null) - mineWindowClose(mine); //mine was knocked down and was claimed, close window - } _minePulseTime = System.currentTimeMillis() + CITY_PULSE; } diff --git a/src/engine/objects/Mine.java b/src/engine/objects/Mine.java index 926210e2..db623e03 100644 --- a/src/engine/objects/Mine.java +++ b/src/engine/objects/Mine.java @@ -114,41 +114,41 @@ public class Mine extends AbstractGameObject { } public static void SetTimes(){ - EuroMines.get(0).liveTime = 13; - EuroMines.get(1).liveTime = 13; - EuroMines.get(2).liveTime = 13; - EuroMines.get(3).liveTime = 13; - EuroMines.get(4).liveTime = 14; - EuroMines.get(5).liveTime = 14; - EuroMines.get(6).liveTime = 14; - ChinaMines.get(0).liveTime = 8; - ChinaMines.get(1).liveTime = 8; - ChinaMines.get(2).liveTime = 8; - ChinaMines.get(3).liveTime = 9; - ChinaMines.get(4).liveTime = 9; - ChinaMines.get(5).liveTime = 9; - ChinaMines.get(6).liveTime = 9; - ChinaMines.get(7).liveTime = 9; - ChinaMines.get(8).liveTime = 9; - ChinaMines.get(9).liveTime = 9; - ChinaMines.get(10).liveTime = 10; - ChinaMines.get(11).liveTime = 10; - ChinaMines.get(12).liveTime = 10; - ChinaMines.get(13).liveTime = 10; - AmericaMines.get(0).liveTime = 21; - AmericaMines.get(1).liveTime = 21; - AmericaMines.get(2).liveTime = 21; - AmericaMines.get(3).liveTime = 22; - AmericaMines.get(4).liveTime = 22; - AmericaMines.get(5).liveTime = 22; - AmericaMines.get(6).liveTime = 22; - AmericaMines.get(7).liveTime = 22; - AmericaMines.get(8).liveTime = 22; - AmericaMines.get(9).liveTime = 22; - AmericaMines.get(10).liveTime = 23; - AmericaMines.get(11).liveTime = 23; - AmericaMines.get(12).liveTime = 23; - AmericaMines.get(13).liveTime = 23; + EuroMines.get(0).liveTime = 16; + EuroMines.get(1).liveTime = 16; + EuroMines.get(2).liveTime = 16; + EuroMines.get(3).liveTime = 16; + EuroMines.get(4).liveTime = 16; + EuroMines.get(5).liveTime = 16; + EuroMines.get(6).liveTime = 16; + ChinaMines.get(0).liveTime = 10; + ChinaMines.get(1).liveTime = 10; + ChinaMines.get(2).liveTime = 10; + ChinaMines.get(3).liveTime = 11; + ChinaMines.get(4).liveTime = 11; + ChinaMines.get(5).liveTime = 11; + ChinaMines.get(6).liveTime = 11; + ChinaMines.get(7).liveTime = 11; + ChinaMines.get(8).liveTime = 11; + ChinaMines.get(9).liveTime = 11; + ChinaMines.get(10).liveTime = 12; + ChinaMines.get(11).liveTime = 12; + ChinaMines.get(12).liveTime = 12; + ChinaMines.get(13).liveTime = 12; + AmericaMines.get(0).liveTime = 23; + AmericaMines.get(1).liveTime = 23; + AmericaMines.get(2).liveTime = 23; + AmericaMines.get(3).liveTime = 0; + AmericaMines.get(4).liveTime = 0; + AmericaMines.get(5).liveTime = 0; + AmericaMines.get(6).liveTime = 0; + AmericaMines.get(7).liveTime = 0; + AmericaMines.get(8).liveTime = 0; + AmericaMines.get(9).liveTime = 0; + AmericaMines.get(10).liveTime = 1; + AmericaMines.get(11).liveTime = 1; + AmericaMines.get(12).liveTime = 1; + AmericaMines.get(13).liveTime = 1; int count = 1; diff --git a/src/engine/workthreads/HourlyJobThread.java b/src/engine/workthreads/HourlyJobThread.java index 4c1184fe..d27a5449 100644 --- a/src/engine/workthreads/HourlyJobThread.java +++ b/src/engine/workthreads/HourlyJobThread.java @@ -140,8 +140,8 @@ public class HourlyJobThread implements Runnable { public static void mineWindowOpen(Mine mine) { mine.setActive(true); - ChatManager.chatSystemChannel(mine.getZoneName() + "'s Mine is now Active!"); - Logger.info(mine.getZoneName() + "'s Mine is now Active!"); + ChatManager.chatSystemChannel(mine.getParentZone().getName() + "'s Mine is now Active!"); + Logger.info(mine.getParentZone().getName() + "'s Mine is now Active!"); } public static boolean mineWindowClose(Mine mine) { @@ -195,7 +195,7 @@ public class HourlyJobThread implements Runnable { mineBuilding.rebuildMine(mine.capSize * 5000); WorldGrid.updateObject(mineBuilding); - ChatSystemMsg chatMsg = new ChatSystemMsg(null, mine.lastClaimer.getName() + " has claimed the mine in " + mine.getParentZone().getParent().getName() + " for " + mine.getOwningGuild().getName() + ". The mine is no longer active."); + ChatSystemMsg chatMsg = new ChatSystemMsg(null, mine.lastClaimer.getName() + " has claimed the mine in " + mine.getParentZone().getName() + " for " + mine.getOwningGuild().getName() + ". The mine is no longer active."); chatMsg.setMessageType(10); chatMsg.setChannel(Enum.ChatChannelType.SYSTEM.getChannelID()); DispatchMessage.dispatchMsgToAll(chatMsg);