adjust mines

This commit is contained in:
2024-04-21 06:01:27 -05:00
parent a8a21e9e40
commit d04cad0484
3 changed files with 29 additions and 9 deletions
+27 -7
View File
@@ -19,8 +19,12 @@ import java.sql.ResultSet;
import java.sql.SQLException;
import java.time.Duration;
import java.time.Instant;
import java.time.LocalDateTime;
import java.util.Collection;
import static engine.workthreads.HourlyJobThread.mineWindowClose;
import static engine.workthreads.HourlyJobThread.mineWindowOpen;
/*
* This class contains all methods necessary to drive periodic
* updates of the game simulation from the main _exec loop.
@@ -128,7 +132,7 @@ public enum SimulationManager {
if ((_minePulseTime != 0)
&& (System.currentTimeMillis() > _minePulseTime))
pulseMines();
} catch (Exception e) {
} catch (Exception e) {
Logger.error(
"Fatal error in Mine Pulse: DISABLED. Error Message : "
+ e.getMessage());
@@ -228,14 +232,30 @@ public enum SimulationManager {
}
private void pulseMines(){
Mine mine;
Collection<AbstractGameObject> mineList = DbManager.getList(Enum.GameObjectType.Mine);
for(Mine mine : Mine.getMines()) {
if (LocalDateTime.now().getHour() == 1) {
mine.wasClaimed = false;
mine.hasProduced = false;
}
if (mineList == null) {
Logger.info("Mine List null");
return;
int minute = 0;
if (mine.firstThirty == false)
minute = 30;
LocalDateTime openTime = LocalDateTime.now().withHour(mine.liveTime).withMinute(minute).withSecond(0);
LocalDateTime closeTime = openTime.plusMinutes(30);
if (!mine.isActive && LocalDateTime.now().isAfter(openTime) && LocalDateTime.now().isBefore(closeTime)) {
mine.setActive(true);
ChatManager.chatSystemChannel(mine.getZoneName() + "'s Mine is now Active!");
Logger.info(mine.getZoneName() + "'s Mine is now Active!");
continue;
}
if (mine.isActive && (LocalDateTime.now().isAfter(closeTime) || LocalDateTime.now().isBefore(openTime))) {
mineWindowClose(mine);
}
}
_minePulseTime = System.currentTimeMillis() + CITY_PULSE;
}
}