|  |  |  | @ -18,6 +18,7 @@ import engine.math.Vector3fImmutable;@@ -18,6 +18,7 @@ import engine.math.Vector3fImmutable; | 
			
		
	
		
			
				
					|  |  |  |  | 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; | 
			
		
	
	
		
			
				
					|  |  |  | @ -29,6 +30,7 @@ import java.util.HashMap;@@ -29,6 +30,7 @@ import java.util.HashMap; | 
			
		
	
		
			
				
					|  |  |  |  | import java.util.HashSet; | 
			
		
	
		
			
				
					|  |  |  |  | import java.util.Iterator; | 
			
		
	
		
			
				
					|  |  |  |  | import java.util.concurrent.ConcurrentHashMap; | 
			
		
	
		
			
				
					|  |  |  |  | import java.util.concurrent.ThreadLocalRandom; | 
			
		
	
		
			
				
					|  |  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |  | import static engine.gameManager.DbManager.MineQueries; | 
			
		
	
		
			
				
					|  |  |  |  | import static engine.gameManager.DbManager.getObject; | 
			
		
	
	
		
			
				
					|  |  |  | @ -67,6 +69,10 @@ public class Mine extends AbstractGameObject {@@ -67,6 +69,10 @@ public class Mine extends AbstractGameObject { | 
			
		
	
		
			
				
					|  |  |  |  |     public HashMap<Integer,Integer> oldBuildings; | 
			
		
	
		
			
				
					|  |  |  |  |     public HashMap<Integer, Long> mineAttendees = new HashMap<>(); | 
			
		
	
		
			
				
					|  |  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |  |     public Long allowed_teleport_time; | 
			
		
	
		
			
				
					|  |  |  |  |     public Boolean enforceLore = false; | 
			
		
	
		
			
				
					|  |  |  |  |     public HashMap<Guild, Enum.GuildType> chosen_charters; | 
			
		
	
		
			
				
					|  |  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |  |     /** | 
			
		
	
		
			
				
					|  |  |  |  |      * ResultSet Constructor | 
			
		
	
		
			
				
					|  |  |  |  |      */ | 
			
		
	
	
		
			
				
					|  |  |  | @ -131,6 +137,11 @@ public class Mine extends AbstractGameObject {@@ -131,6 +137,11 @@ public class Mine extends AbstractGameObject { | 
			
		
	
		
			
				
					|  |  |  |  |             tower.setMaxHitPoints(5000f * this.capSize); | 
			
		
	
		
			
				
					|  |  |  |  |             tower.setCurrentHitPoints(tower.healthMax); | 
			
		
	
		
			
				
					|  |  |  |  |         } | 
			
		
	
		
			
				
					|  |  |  |  |         this.allowed_teleport_time = System.currentTimeMillis(); | 
			
		
	
		
			
				
					|  |  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |  |         //decide if lore or not
 | 
			
		
	
		
			
				
					|  |  |  |  |         this.enforceLore = false; | 
			
		
	
		
			
				
					|  |  |  |  |         //this.enforceLore = ThreadLocalRandom.current().nextInt(1,5) == 2;
 | 
			
		
	
		
			
				
					|  |  |  |  |     } | 
			
		
	
		
			
				
					|  |  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |  |     public static void releaseMineClaims(PlayerCharacter playerCharacter) { | 
			
		
	
	
		
			
				
					|  |  |  | @ -207,12 +218,12 @@ public class Mine extends AbstractGameObject {@@ -207,12 +218,12 @@ public class Mine extends AbstractGameObject { | 
			
		
	
		
			
				
					|  |  |  |  |             writer.putInt(mine.getObjectType().ordinal()); | 
			
		
	
		
			
				
					|  |  |  |  |             writer.putInt(mine.getObjectUUID()); | 
			
		
	
		
			
				
					|  |  |  |  |             writer.putInt(mine.getObjectUUID()); //actually a hash of mine
 | 
			
		
	
		
			
				
					|  |  |  |  |             if(mine.isStronghold){ | 
			
		
	
		
			
				
					|  |  |  |  |                 writer.putString("STRONGHOLD"); | 
			
		
	
		
			
				
					|  |  |  |  |                 writer.putString(""); | 
			
		
	
		
			
				
					|  |  |  |  |             if(mine.enforceLore){ | 
			
		
	
		
			
				
					|  |  |  |  |                 writer.putString(mine.mineType.name); | 
			
		
	
		
			
				
					|  |  |  |  |                 writer.putString(mine.capSize + " Man LORE"); | 
			
		
	
		
			
				
					|  |  |  |  |             }else { | 
			
		
	
		
			
				
					|  |  |  |  |                 writer.putString(mine.mineType.name); | 
			
		
	
		
			
				
					|  |  |  |  |                 writer.putString(mine.capSize + " Man "); | 
			
		
	
		
			
				
					|  |  |  |  |                 writer.putString(mine.capSize + " Man ARAC"); | 
			
		
	
		
			
				
					|  |  |  |  |             } | 
			
		
	
		
			
				
					|  |  |  |  |             //writer.putString(mine.zoneName + " " + mine.capSize + " Man ");
 | 
			
		
	
		
			
				
					|  |  |  |  | 
 | 
			
		
	
	
		
			
				
					|  |  |  | @ -339,7 +350,7 @@ public class Mine extends AbstractGameObject {@@ -339,7 +350,7 @@ public class Mine extends AbstractGameObject { | 
			
		
	
		
			
				
					|  |  |  |  |     public static ArrayList<Mine> getMinesToTeleportTo(PlayerCharacter player) { | 
			
		
	
		
			
				
					|  |  |  |  |         ArrayList<Mine> mines = new ArrayList<>(); | 
			
		
	
		
			
				
					|  |  |  |  |         for(Mine mine : Mine.getMines()) | 
			
		
	
		
			
				
					|  |  |  |  |             if(!mine.isActive) | 
			
		
	
		
			
				
					|  |  |  |  |             if(!mine.isActive && System.currentTimeMillis() > mine.allowed_teleport_time) | 
			
		
	
		
			
				
					|  |  |  |  |                 if(mine.getOwningGuild() != null) | 
			
		
	
		
			
				
					|  |  |  |  |                   if(mine.getOwningGuild().getNation().equals(player.getGuild().getNation())) | 
			
		
	
		
			
				
					|  |  |  |  |                       if(!mine.getOwningGuild().equals(Guild.getErrantGuild())) | 
			
		
	
	
		
			
				
					|  |  |  | @ -425,6 +436,7 @@ public class Mine extends AbstractGameObject {@@ -425,6 +436,7 @@ public class Mine extends AbstractGameObject { | 
			
		
	
		
			
				
					|  |  |  |  |                     //something went wrong resetting zerg multiplier, maybe player was deleted?
 | 
			
		
	
		
			
				
					|  |  |  |  |                 } | 
			
		
	
		
			
				
					|  |  |  |  |             } | 
			
		
	
		
			
				
					|  |  |  |  |             this.allowed_teleport_time = System.currentTimeMillis() + MBServerStatics.FIVE_MINUTES; | 
			
		
	
		
			
				
					|  |  |  |  |         } | 
			
		
	
		
			
				
					|  |  |  |  |     } | 
			
		
	
		
			
				
					|  |  |  |  | 
 | 
			
		
	
	
		
			
				
					|  |  |  | @ -596,16 +608,16 @@ public class Mine extends AbstractGameObject {@@ -596,16 +608,16 @@ public class Mine extends AbstractGameObject { | 
			
		
	
		
			
				
					|  |  |  |  |         int amount = 0; | 
			
		
	
		
			
				
					|  |  |  |  |         switch(this.capSize){ | 
			
		
	
		
			
				
					|  |  |  |  |             case 3: | 
			
		
	
		
			
				
					|  |  |  |  |                 amount = 1800000; | 
			
		
	
		
			
				
					|  |  |  |  |                 amount = 3000000; | 
			
		
	
		
			
				
					|  |  |  |  |                 break; | 
			
		
	
		
			
				
					|  |  |  |  |             case 5: | 
			
		
	
		
			
				
					|  |  |  |  |                 amount = 3000000; | 
			
		
	
		
			
				
					|  |  |  |  |                 amount = 4200000; | 
			
		
	
		
			
				
					|  |  |  |  |                 break; | 
			
		
	
		
			
				
					|  |  |  |  |             case 10: | 
			
		
	
		
			
				
					|  |  |  |  |                 amount = 6000000; | 
			
		
	
		
			
				
					|  |  |  |  |                 amount = 7200000; | 
			
		
	
		
			
				
					|  |  |  |  |                 break; | 
			
		
	
		
			
				
					|  |  |  |  |             case 20: | 
			
		
	
		
			
				
					|  |  |  |  |                 amount = 12000000; | 
			
		
	
		
			
				
					|  |  |  |  |                 amount = 13200000; | 
			
		
	
		
			
				
					|  |  |  |  |                 break; | 
			
		
	
		
			
				
					|  |  |  |  |         } | 
			
		
	
		
			
				
					|  |  |  |  |         if(this.production.UUID == 7) | 
			
		
	
	
		
			
				
					|  |  |  | @ -673,9 +685,13 @@ public class Mine extends AbstractGameObject {@@ -673,9 +685,13 @@ public class Mine extends AbstractGameObject { | 
			
		
	
		
			
				
					|  |  |  |  |         for(Guild nation : updatedNations){ | 
			
		
	
		
			
				
					|  |  |  |  |             float multiplier = ZergManager.getCurrentMultiplier(charactersByNation.get(nation).size(),this.capSize); | 
			
		
	
		
			
				
					|  |  |  |  |             for(PlayerCharacter player : charactersByNation.get(nation)){ | 
			
		
	
		
			
				
					|  |  |  |  |                 if(this.capSize == 3 && player.getPromotionClassID() == 2519) { | 
			
		
	
		
			
				
					|  |  |  |  |                     player.ZergMultiplier = 0.0f; // priest gets 100% debuff at 3 man mines
 | 
			
		
	
		
			
				
					|  |  |  |  |                 }else{ | 
			
		
	
		
			
				
					|  |  |  |  |                     player.ZergMultiplier = multiplier; | 
			
		
	
		
			
				
					|  |  |  |  |                 } | 
			
		
	
		
			
				
					|  |  |  |  |             } | 
			
		
	
		
			
				
					|  |  |  |  |         } | 
			
		
	
		
			
				
					|  |  |  |  |         try | 
			
		
	
		
			
				
					|  |  |  |  |         { | 
			
		
	
		
			
				
					|  |  |  |  |             this.onExit(this._playerMemory); | 
			
		
	
	
		
			
				
					|  |  |  | 
 |