diff --git a/src/engine/objects/Mine.java b/src/engine/objects/Mine.java index baacb51f..5d32b497 100644 --- a/src/engine/objects/Mine.java +++ b/src/engine/objects/Mine.java @@ -15,6 +15,7 @@ import engine.gameManager.*; import engine.net.ByteBufferWriter; import engine.net.client.msg.ErrorPopupMsg; import engine.server.MBServerStatics; +import org.joda.time.DateTime; import org.pmw.tinylog.Logger; import java.net.UnknownHostException; @@ -57,6 +58,8 @@ public class Mine extends AbstractGameObject { public Integer totalPlayers; public boolean hasProduced = false; + + public int mineTime; /** * ResultSet Constructor */ @@ -110,8 +113,34 @@ public class Mine extends AbstractGameObject { Building mineTower = BuildingManager.getBuilding(this.buildingID); mineTower.setMaxHitPoints(5000 * this.capSize); mineTower.setCurrentHitPoints((float)5000 * this.capSize); + this.mineTime = ThreadLocalRandom.current().nextInt(1-23); + refactorMineTime(this); } + + public static void refactorMineTime(Mine mine){ + if(DateTime.now().dayOfWeek().getName().toLowerCase().equals("sunday")){ + mine.mineTime += 1; + } + if(DateTime.now().dayOfWeek().getName().toLowerCase().equals("monday")){ + mine.mineTime += 2; + } + if(DateTime.now().dayOfWeek().getName().toLowerCase().equals("tuesday")){ + mine.mineTime += 3; + } + if(DateTime.now().dayOfWeek().getName().toLowerCase().equals("wednesday")){ + mine.mineTime += 4; + } + if(DateTime.now().dayOfWeek().getName().toLowerCase().equals("thursday")){ + mine.mineTime += 5; + } + if(DateTime.now().dayOfWeek().getName().toLowerCase().equals("friday")){ + mine.mineTime += 6; + } + if(DateTime.now().dayOfWeek().getName().toLowerCase().equals("saturday")){ + mine.mineTime += 7; + } + } public static void releaseMineClaims(PlayerCharacter playerCharacter) { if (playerCharacter == null) diff --git a/src/engine/workthreads/HourlyJobThread.java b/src/engine/workthreads/HourlyJobThread.java index 4dc8866b..e756e07a 100644 --- a/src/engine/workthreads/HourlyJobThread.java +++ b/src/engine/workthreads/HourlyJobThread.java @@ -95,8 +95,8 @@ public class HourlyJobThread implements Runnable { // Open Mines owned by nations having their WOO // set to the current mine window. - if (mine.getOwningGuild().getNation().getMineTime() == - LocalDateTime.now().getHour() && mine.wasClaimed == false) { + //if (mine.getOwningGuild().getNation().getMineTime() == LocalDateTime.now().getHour() && mine.wasClaimed == false) { + if(mine.mineTime == LocalDateTime.now().getHour() && mine.wasClaimed == false) { HourlyJobThread.mineWindowOpen(mine); continue; }