adjust mines
This commit is contained in:
@@ -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;
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user