forked from MagicBane/Server
invisible cities on map logging
This commit is contained in:
+104
-100
@@ -199,117 +199,118 @@ public class City extends AbstractWorldObject {
|
|||||||
}
|
}
|
||||||
|
|
||||||
public static void serializeForClientMsg(City city, ByteBufferWriter writer) {
|
public static void serializeForClientMsg(City city, ByteBufferWriter writer) {
|
||||||
AbstractCharacter guildRuler;
|
try {
|
||||||
Guild rulingGuild;
|
AbstractCharacter guildRuler;
|
||||||
Guild rulingNation;
|
Guild rulingGuild;
|
||||||
java.time.LocalDateTime dateTime1900;
|
Guild rulingNation;
|
||||||
|
java.time.LocalDateTime dateTime1900;
|
||||||
|
|
||||||
// Cities aren't a city without a TOL. Time to early exit.
|
// Cities aren't a city without a TOL. Time to early exit.
|
||||||
// No need to spam the log here as non-existant TOL's are indicated
|
// No need to spam the log here as non-existant TOL's are indicated
|
||||||
// during bootstrap routines.
|
// during bootstrap routines.
|
||||||
|
|
||||||
if (city.getTOL() == null) {
|
if (city.getTOL() == null) {
|
||||||
|
|
||||||
Logger.error("NULL TOL FOR " + city.cityName);
|
Logger.error("NULL TOL FOR " + city.cityName);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
// Assign city owner
|
// Assign city owner
|
||||||
|
|
||||||
if (city.getTOL() != null)
|
if (city.getTOL() != null)
|
||||||
guildRuler = city.getTOL().getOwner();
|
guildRuler = city.getTOL().getOwner();
|
||||||
else
|
else
|
||||||
guildRuler = null;
|
guildRuler = null;
|
||||||
|
|
||||||
// If is an errant tree, use errant guild for serialization.
|
// If is an errant tree, use errant guild for serialization.
|
||||||
// otherwise we serialize the soverign guild
|
// otherwise we serialize the soverign guild
|
||||||
|
|
||||||
if (guildRuler == null)
|
if (guildRuler == null)
|
||||||
rulingGuild = Guild.getErrantGuild();
|
rulingGuild = Guild.getErrantGuild();
|
||||||
else
|
else
|
||||||
rulingGuild = guildRuler.getGuild();
|
rulingGuild = guildRuler.getGuild();
|
||||||
|
|
||||||
rulingNation = rulingGuild.getNation();
|
rulingNation = rulingGuild.getNation();
|
||||||
|
|
||||||
// Begin Serialzing soverign guild data
|
// Begin Serialzing soverign guild data
|
||||||
writer.putInt(city.getObjectType().ordinal());
|
writer.putInt(city.getObjectType().ordinal());
|
||||||
writer.putInt(city.getObjectUUID());
|
writer.putInt(city.getObjectUUID());
|
||||||
writer.putString(city.cityName);
|
writer.putString(city.cityName);
|
||||||
writer.putInt(rulingGuild.getObjectType().ordinal());
|
|
||||||
writer.putInt(rulingGuild.getObjectUUID());
|
|
||||||
|
|
||||||
writer.putString(rulingGuild.getName());
|
|
||||||
writer.putString(city.motto);
|
|
||||||
writer.putString(rulingGuild.getLeadershipType());
|
|
||||||
|
|
||||||
// Serialize guild ruler's name
|
|
||||||
// If tree is abandoned blank out the name
|
|
||||||
// to allow them a rename.
|
|
||||||
|
|
||||||
if (guildRuler == null)
|
|
||||||
writer.putString("");
|
|
||||||
else
|
|
||||||
writer.putString(guildRuler.getFirstName() + ' ' + guildRuler.getLastName());
|
|
||||||
|
|
||||||
writer.putInt(rulingGuild.getCharter());
|
|
||||||
writer.putInt(0); // always 00000000
|
|
||||||
|
|
||||||
writer.put(city.isSafeHold);
|
|
||||||
|
|
||||||
writer.put((byte) 1);
|
|
||||||
writer.put((byte) 1); // *** Refactor: What are these flags?
|
|
||||||
writer.put((byte) 1);
|
|
||||||
writer.put((byte) 1);
|
|
||||||
writer.put((byte) 1);
|
|
||||||
|
|
||||||
GuildTag._serializeForDisplay(rulingGuild.getGuildTag(), writer);
|
|
||||||
GuildTag._serializeForDisplay(rulingNation.getGuildTag(), writer);
|
|
||||||
|
|
||||||
writer.putInt(0);// TODO Implement description text
|
|
||||||
|
|
||||||
writer.put((byte) 1);
|
|
||||||
|
|
||||||
if (city.isCapital > 0)
|
|
||||||
writer.put((byte) 1);
|
|
||||||
else
|
|
||||||
writer.put((byte) 0);
|
|
||||||
|
|
||||||
writer.put((byte) 1);
|
|
||||||
|
|
||||||
// Begin serializing nation guild info
|
|
||||||
|
|
||||||
if (rulingNation.isEmptyGuild()) {
|
|
||||||
writer.putInt(rulingGuild.getObjectType().ordinal());
|
writer.putInt(rulingGuild.getObjectType().ordinal());
|
||||||
writer.putInt(rulingGuild.getObjectUUID());
|
writer.putInt(rulingGuild.getObjectUUID());
|
||||||
} else {
|
|
||||||
writer.putInt(rulingNation.getObjectType().ordinal());
|
writer.putString(rulingGuild.getName());
|
||||||
writer.putInt(rulingNation.getObjectUUID());
|
writer.putString(city.motto);
|
||||||
}
|
writer.putString(rulingGuild.getLeadershipType());
|
||||||
|
|
||||||
|
// Serialize guild ruler's name
|
||||||
|
// If tree is abandoned blank out the name
|
||||||
|
// to allow them a rename.
|
||||||
|
|
||||||
|
if (guildRuler == null)
|
||||||
|
writer.putString("");
|
||||||
|
else
|
||||||
|
writer.putString(guildRuler.getFirstName() + ' ' + guildRuler.getLastName());
|
||||||
|
|
||||||
|
writer.putInt(rulingGuild.getCharter());
|
||||||
|
writer.putInt(0); // always 00000000
|
||||||
|
|
||||||
|
writer.put(city.isSafeHold);
|
||||||
|
|
||||||
|
writer.put((byte) 1);
|
||||||
|
writer.put((byte) 1); // *** Refactor: What are these flags?
|
||||||
|
writer.put((byte) 1);
|
||||||
|
writer.put((byte) 1);
|
||||||
|
writer.put((byte) 1);
|
||||||
|
|
||||||
|
GuildTag._serializeForDisplay(rulingGuild.getGuildTag(), writer);
|
||||||
|
GuildTag._serializeForDisplay(rulingNation.getGuildTag(), writer);
|
||||||
|
|
||||||
|
writer.putInt(0);// TODO Implement description text
|
||||||
|
|
||||||
|
writer.put((byte) 1);
|
||||||
|
|
||||||
|
if (city.isCapital > 0)
|
||||||
|
writer.put((byte) 1);
|
||||||
|
else
|
||||||
|
writer.put((byte) 0);
|
||||||
|
|
||||||
|
writer.put((byte) 1);
|
||||||
|
|
||||||
|
// Begin serializing nation guild info
|
||||||
|
|
||||||
|
if (rulingNation.isEmptyGuild()) {
|
||||||
|
writer.putInt(rulingGuild.getObjectType().ordinal());
|
||||||
|
writer.putInt(rulingGuild.getObjectUUID());
|
||||||
|
} else {
|
||||||
|
writer.putInt(rulingNation.getObjectType().ordinal());
|
||||||
|
writer.putInt(rulingNation.getObjectUUID());
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
// Serialize nation name
|
// Serialize nation name
|
||||||
|
|
||||||
if (rulingNation.isEmptyGuild())
|
if (rulingNation.isEmptyGuild())
|
||||||
writer.putString("None");
|
writer.putString("None");
|
||||||
else
|
else
|
||||||
writer.putString(rulingNation.getName());
|
writer.putString(rulingNation.getName());
|
||||||
|
|
||||||
writer.putInt(city.getTOL().getRank());
|
writer.putInt(city.getTOL().getRank());
|
||||||
|
|
||||||
if (city.isNoobIsle > 0)
|
if (city.isNoobIsle > 0)
|
||||||
writer.putInt(1);
|
writer.putInt(1);
|
||||||
else
|
else
|
||||||
writer.putInt(0xFFFFFFFF);
|
writer.putInt(0xFFFFFFFF);
|
||||||
|
|
||||||
writer.putInt(city.population);
|
writer.putInt(city.population);
|
||||||
|
|
||||||
if (rulingNation.isEmptyGuild())
|
if (rulingNation.isEmptyGuild())
|
||||||
writer.putString(" ");
|
writer.putString(" ");
|
||||||
else
|
else
|
||||||
writer.putString(Guild.GetGL(rulingNation).getFirstName() + ' ' + Guild.GetGL(rulingNation).getLastName());
|
writer.putString(Guild.GetGL(rulingNation).getFirstName() + ' ' + Guild.GetGL(rulingNation).getLastName());
|
||||||
|
|
||||||
|
|
||||||
writer.putLocalDateTime(city.established);
|
writer.putLocalDateTime(city.established);
|
||||||
|
|
||||||
// writer.put((byte) city.established.getDayOfMonth());
|
// writer.put((byte) city.established.getDayOfMonth());
|
||||||
// writer.put((byte) city.established.minusMonths(1).getMonth().getValue());
|
// writer.put((byte) city.established.minusMonths(1).getMonth().getValue());
|
||||||
@@ -318,16 +319,19 @@ public class City extends AbstractWorldObject {
|
|||||||
// writer.put((byte) minutes);
|
// writer.put((byte) minutes);
|
||||||
// writer.put((byte) seconds);
|
// writer.put((byte) seconds);
|
||||||
|
|
||||||
writer.putFloat(city.location.x);
|
writer.putFloat(city.location.x);
|
||||||
writer.putFloat(city.location.y);
|
writer.putFloat(city.location.y);
|
||||||
writer.putFloat(city.location.z);
|
writer.putFloat(city.location.z);
|
||||||
writer.putInt(ZergManager.getBaneCap(city.getGuild()));
|
writer.putInt(ZergManager.getBaneCap(city.getGuild()));
|
||||||
writer.put((byte) 1);
|
writer.put((byte) 1);
|
||||||
writer.put((byte) 0);
|
writer.put((byte) 0);
|
||||||
writer.putInt(0x64);
|
writer.putInt(0x64);
|
||||||
writer.put((byte) 0);
|
writer.put((byte) 0);
|
||||||
writer.put((byte) 0);
|
writer.put((byte) 0);
|
||||||
writer.put((byte) 0);
|
writer.put((byte) 0);
|
||||||
|
}catch(Exception e){
|
||||||
|
Logger.error(city.getObjectUUID() + " failed ot serialize because: " + e.getMessage());
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public static Vector3fImmutable getBindLoc(int cityID) {
|
public static Vector3fImmutable getBindLoc(int cityID) {
|
||||||
|
|||||||
Reference in New Issue
Block a user