mines thread

This commit is contained in:
2024-04-23 06:10:48 -05:00
parent 4f216364a9
commit 5d0973c2bc
5 changed files with 158 additions and 194 deletions
+7 -43
View File
@@ -10,6 +10,11 @@ package engine.gameManager;
import engine.Enum;
import engine.Enum.GameObjectType;
import engine.InterestManagement.WorldGrid;
import engine.db.archive.DataWarehouse;
import engine.db.archive.MineRecord;
import engine.net.DispatchMessage;
import engine.net.client.msg.chat.ChatSystemMsg;
import engine.objects.*;
import org.pmw.tinylog.Logger;
@@ -22,9 +27,6 @@ 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.
@@ -71,6 +73,8 @@ public enum SimulationManager {
return popString;
}
/*
* Update the simulation. *** Important: Whatever you do in here, do it damn
* quick!
@@ -231,44 +235,4 @@ public enum SimulationManager {
_runegatePulseTime = System.currentTimeMillis() + RUNEGATE_PULSE;
}
private void pulseMines(){
// if(LocalDateTime.now().getMinute() != 30 && LocalDateTime.now().getMinute() != 0)
// return;
for(Mine mine : Mine.getMines()) {
Building mineTower = BuildingManager.getBuilding(mine.getBuildingID());
if(mineTower == null)
continue;
///if (LocalDateTime.now().getHour() == 1) {
// mine.wasClaimed = false;
// mine.hasProduced = false;
//}
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);
//current time is after start time and before close time, open mine window
if (!mine.isActive && LocalDateTime.now().isAfter(openTime) && LocalDateTime.now().isBefore(closeTime)) {
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 (LocalDateTime.now().isAfter(closeTime) && mineTower.getRank() > 0)
mineWindowClose(mine); //mine was never knocked down, close window
if (LocalDateTime.now().isAfter(closeTime) && mineTower.getRank() < 1 && mine.lastClaimer != null)
mineWindowClose(mine); //mine was knocked down and was claimed, close window
}
}
_minePulseTime = System.currentTimeMillis() + CITY_PULSE;
}
}