Browse Source

Cleanup of logic.

master
MagicBot 2 years ago
parent
commit
0f2ca3e62e
  1. 90
      src/engine/objects/Mine.java

90
src/engine/objects/Mine.java

@ -7,9 +7,6 @@ @@ -7,9 +7,6 @@
// www.magicbane.com
// • ▌ ▄ ·. ▄▄▄· ▄▄ • ▪ ▄▄· ▄▄▄▄· ▄▄▄· ▐▄▄▄ ▄▄▄ .
// ·██ ▐███▪▐█ ▀█ ▐█ ▀ ▪██ ▐█ ▌▪▐█ ▀█▪▐█ ▀█ •█▌ ▐█▐▌·
// ▐█ ▌▐▌▐█·▄█▀▀█ ▄█ ▀█▄▐█·██ ▄▄▐█▀▀█▄▄█▀▀█ ▐█▐ ▐▌▐▀▀▀
@ -29,19 +26,18 @@ import engine.gameManager.*; @@ -29,19 +26,18 @@ import engine.gameManager.*;
import engine.net.ByteBufferWriter;
import engine.net.client.msg.ErrorPopupMsg;
import engine.server.MBServerStatics;
import engine.server.world.WorldServer;
import engine.session.SessionID;
import org.pmw.tinylog.Logger;
import java.net.UnknownHostException;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Timestamp;
import java.time.LocalDateTime;
import java.util.ArrayList;
import java.util.concurrent.ConcurrentHashMap;
import static engine.gameManager.DbManager.*;
import static engine.gameManager.DbManager.MineQueries;
import static engine.gameManager.DbManager.getObject;
import static engine.math.FastMath.sqr;
public class Mine extends AbstractGameObject {
@ -64,9 +60,6 @@ public class Mine extends AbstractGameObject { @@ -64,9 +60,6 @@ public class Mine extends AbstractGameObject {
//flags 1: never been claimed (make active).
// Not persisted to DB
private String guildName;
private GuildTag guildTag;
@ -101,7 +94,7 @@ public class Mine extends AbstractGameObject { @@ -101,7 +94,7 @@ public class Mine extends AbstractGameObject {
else
this.zoneName = this.parentZone.getName();
} else {
Logger.error( "Missing parentZone of ID " + parent);
Logger.error("Missing parentZone of ID " + parent);
this.latitude = -1000;
this.longitude = 1000;
this.altitude = 0;
@ -121,7 +114,7 @@ public class Mine extends AbstractGameObject { @@ -121,7 +114,7 @@ public class Mine extends AbstractGameObject {
this.owningGuild = Guild.getErrantGuild();
}
if(!nation.isErrant()) {
if (!nation.isErrant()) {
this.nationName = nation.getName();
this.nationTag = nation.getGuildTag();
} else {
@ -136,7 +129,7 @@ public class Mine extends AbstractGameObject { @@ -136,7 +129,7 @@ public class Mine extends AbstractGameObject {
}
public static void SendMineAttackMessage(Building mine){
public static void SendMineAttackMessage(Building mine) {
if (mine.getBlueprint() == null)
return;
@ -161,7 +154,7 @@ public class Mine extends AbstractGameObject { @@ -161,7 +154,7 @@ public class Mine extends AbstractGameObject {
public static void loadAllMines() {
try{
try {
//Load mine resources
MineProduction.addResources();
@ -174,20 +167,20 @@ try{ @@ -174,20 +167,20 @@ try{
Mine.towerMap.put(mine.buildingID, mine);
}
}catch (Exception e){
} catch (Exception e) {
e.printStackTrace();
}
}
}
/*
* Getters
*/
public boolean changeProductionType(Resource resource){
public boolean changeProductionType(Resource resource) {
if (!this.validForMine(resource))
return false;
//update resource in database;
if(!MineQueries.CHANGE_RESOURCE(this, resource))
if (!MineQueries.CHANGE_RESOURCE(this, resource))
return false;
this.production = resource;
@ -264,7 +257,7 @@ try{ @@ -264,7 +257,7 @@ try{
* Serialization
*/
public static void serializeForClientMsg(Mine mine,ByteBufferWriter writer) {
public static void serializeForClientMsg(Mine mine, ByteBufferWriter writer) {
writer.putInt(mine.getObjectType().ordinal());
writer.putInt(mine.getObjectUUID());
writer.putInt(mine.getObjectUUID()); //actually a hash of mine
@ -305,9 +298,9 @@ try{ @@ -305,9 +298,9 @@ try{
writer.putInt(mine.isExpansion() ? mine.mineType.xpacHash : mine.mineType.hash);
writer.putString(mine.guildName);
GuildTag._serializeForDisplay(mine.guildTag,writer);
GuildTag._serializeForDisplay(mine.guildTag, writer);
writer.putString(mine.nationName);
GuildTag._serializeForDisplay(mine.nationTag,writer);
GuildTag._serializeForDisplay(mine.nationTag, writer);
}
public void serializeForMineProduction(ByteBufferWriter writer) {
@ -344,7 +337,7 @@ try{ @@ -344,7 +337,7 @@ try{
/*
* Database
*/
public static Mine getMine(int UID){
public static Mine getMine(int UID) {
return MineQueries.GET_MINE(UID);
}
@ -419,7 +412,7 @@ try{ @@ -419,7 +412,7 @@ try{
mineCnt += Mine.getMinesForGuild(playerGuild.getObjectUUID()).size();
for (Guild guild: playerGuild.getSubGuildList())
for (Guild guild : playerGuild.getSubGuildList())
mineCnt += Mine.getMinesForGuild(guild.getObjectUUID()).size();
if (mineCnt > rank)
@ -449,8 +442,8 @@ try{ @@ -449,8 +442,8 @@ try{
Building mineBuilding = BuildingManager.getBuildingFromCache(this.buildingID);
if (mineBuilding == null){
Logger.debug( "Null mine building " + this.getObjectUUID() +". Unable to Load Building with UID " +this.buildingID);
if (mineBuilding == null) {
Logger.debug("Null mine building " + this.getObjectUUID() + ". Unable to Load Building with UID " + this.buildingID);
return;
}
@ -463,7 +456,7 @@ try{ @@ -463,7 +456,7 @@ try{
BuildingManager.cleanupHirelings(building);
}
public boolean handleEndMineWindow(){
public boolean handleEndMineWindow() {
// No need to end the window of a mine which never opened.
@ -472,8 +465,8 @@ try{ @@ -472,8 +465,8 @@ try{
Building mineBuilding = BuildingManager.getBuildingFromCache(this.buildingID);
if (mineBuilding == null){
Logger.debug( "Null mine building for Mine " + this.getObjectUUID() +" Building " +this.buildingID);
if (mineBuilding == null) {
Logger.debug("Null mine building for Mine " + this.getObjectUUID() + " Building " + this.buildingID);
return false;
}
@ -481,11 +474,19 @@ try{ @@ -481,11 +474,19 @@ try{
//never knocked down, let's just move on.
//hasn't been claimed since server start.
this.setActive(false);
this.lastClaimerSessionID = null;
this.lastClaimer = null;
return true;
}
if (!validClaimer(this.lastClaimer))
// This mine does not have a valid claimer
// we will therefore set it to errant
if (!validClaimer(this.lastClaimer)) {
this.lastClaimerSessionID = null;
this.lastClaimer = null;
return false;
}
if (this.owningGuild == null || this.owningGuild.isErrant() || this.owningGuild.getNation().isErrant())
return false;
@ -500,14 +501,6 @@ try{ @@ -500,14 +501,6 @@ try{
setLastChange(System.currentTimeMillis());
if (mineBuilding.getRank() < 1){
if (this.lastClaimer == null){
this.lastClaimerSessionID = null;
updateGuildOwner(null);
return false;
}
mineBuilding.rebuildMine();
WorldGrid.updateObject(mineBuilding);
ChatManager.chatSystemChannel(this.lastClaimer.getName() + " has claimed the mine in " + this.parentZone.getParent().getName() + " for " + this.owningGuild.getName() + ". The mine is no longer active.");
@ -517,10 +510,7 @@ try{ @@ -517,10 +510,7 @@ try{
MineRecord mineRecord = MineRecord.borrow(this, this.lastClaimer, Enum.RecordEventType.CAPTURE);
DataWarehouse.pushToWarehouse(mineRecord);
}else{
mineBuilding.setRank(mineBuilding.getRank());
}
this.setActive(false);
return true;
}
@ -559,7 +549,7 @@ try{ @@ -559,7 +549,7 @@ try{
return true;
}
public boolean depositMineResources(){
public boolean depositMineResources() {
if (this.owningGuild == null)
return false;
@ -571,18 +561,18 @@ try{ @@ -571,18 +561,18 @@ try{
return false;
ItemBase resourceIB = ItemBase.getItemBase(this.production.UUID);
return this.owningGuild.getOwnedCity().getWarehouse().depositFromMine(this,resourceIB, this.getModifiedProductionAmount());
return this.owningGuild.getOwnedCity().getWarehouse().depositFromMine(this, resourceIB, this.getModifiedProductionAmount());
}
public boolean updateGuildOwner(PlayerCharacter pc){
public boolean updateGuildOwner(PlayerCharacter pc) {
Building mineBuilding = BuildingManager.getBuildingFromCache(this.buildingID);
//should never return null, but let's check just in case.
if (mineBuilding == null){
if (mineBuilding == null) {
ChatManager.chatSystemError(pc, "Unable to find mine tower.");
Logger.debug("Failed to Update Mine with UID " + this.getObjectUUID() +". Unable to Load Building with UID " +this.buildingID );
Logger.debug("Failed to Update Mine with UID " + this.getObjectUUID() + ". Unable to Load Building with UID " + this.buildingID);
return false;
}
@ -638,11 +628,11 @@ try{ @@ -638,11 +628,11 @@ try{
return true;
}
public boolean isExpansion(){
public boolean isExpansion() {
return (this.flags & 2) != 0;
}
public int getModifiedProductionAmount(){
public int getModifiedProductionAmount() {
//TODO Calculate Distance modifications.
//calculate base values.
@ -655,7 +645,7 @@ try{ @@ -655,7 +645,7 @@ try{
Building mineBuilding = BuildingManager.getBuilding(this.buildingID);
if (mineBuilding == null)
return this.production.baseProduction;
for (AbstractCharacter harvester:mineBuilding.getHirelings().keySet()){
for (AbstractCharacter harvester : mineBuilding.getHirelings().keySet()) {
totalModded += baseModValue;
totalModded += rankModValue * harvester.getRank();
}
@ -665,12 +655,12 @@ try{ @@ -665,12 +655,12 @@ try{
if (this.isExpansion())
return (int) totalModded;
if (this.owningGuild != null){
if(this.owningGuild.getOwnedCity() != null){
if (this.owningGuild != null) {
if (this.owningGuild.getOwnedCity() != null) {
float distanceSquared = this.owningGuild.getOwnedCity().getLoc().distanceSquared2D(mineBuilding.getLoc());
if (distanceSquared > sqr(10000 * 3))
totalModded *=.25f;
totalModded *= .25f;
else if (distanceSquared > sqr(10000 * 2))
totalModded *= .50f;
else if (distanceSquared > sqr(10000))

Loading…
Cancel
Save