Browse Source

Refactored city planting to use new system.

magicbox-1.5.2
MagicBot 1 year ago
parent
commit
4d290c9064
  1. 7
      src/engine/gameManager/ZoneManager.java
  2. 26
      src/engine/net/client/handlers/PlaceAssetMsgHandler.java

7
src/engine/gameManager/ZoneManager.java

@ -181,7 +181,7 @@ public enum ZoneManager {
} }
if (zone.guild_zone) { if (zone.guild_zone) {
addPlayerCityZone(zone); ZoneManager.playerCityZones.add(zone);
return; return;
} }
@ -199,11 +199,6 @@ public enum ZoneManager {
ZoneManager.npcCityZones.add(zone); ZoneManager.npcCityZones.add(zone);
} }
public static final void addPlayerCityZone(final Zone zone) {
zone.guild_zone = true;
ZoneManager.playerCityZones.add(zone);
}
public static final void generateAndSetRandomHotzone() { public static final void generateAndSetRandomHotzone() {
Zone hotZone; Zone hotZone;

26
src/engine/net/client/handlers/PlaceAssetMsgHandler.java

@ -780,33 +780,19 @@ public class PlaceAssetMsgHandler extends AbstractClientMsgHandler {
playerNation = playerCharacter.getGuild(); playerNation = playerCharacter.getGuild();
playerNation.setGuildState(GuildState.Sovereign); playerNation.setGuildState(GuildState.Sovereign);
// Link the zone with the city and then add // Update guild binds and tags
// to the appropriate hash tables and cache
zoneObject.guild_zone = true;
if (zoneObject.parent != null)
zoneObject.parent.addNode(zoneObject); //add as child to parent
ZoneManager.addPlayerCityZone(zoneObject);
serverZone.addNode(zoneObject);
zoneObject.global_height = ZoneManager.calculateGlobalZoneHeight(zoneObject);
//Link the tree of life with the new zone
treeObject.setObjectTypeMask(MBServerStatics.MASK_BUILDING); GuildManager.updateAllGuildBinds(playerNation, cityObject);
treeObject.setParentZone(zoneObject); GuildManager.updateAllGuildTags(playerNation);
MaintenanceManager.setMaintDateTime(treeObject, LocalDateTime.now().plusDays(7));
// Update guild binds and tags
//load the new city on the clients //load the new city on the clients
CityZoneMsg czm = new CityZoneMsg(1, treeObject.getLoc().x, treeObject.getLoc().y, treeObject.getLoc().z, cityObject.getCityName(), zoneObject, Enum.CityBoundsType.ZONE.halfExtents, Enum.CityBoundsType.ZONE.halfExtents); CityZoneMsg czm = new CityZoneMsg(1, treeObject.getLoc().x, treeObject.getLoc().y, treeObject.getLoc().z, cityObject.getCityName(), zoneObject, Enum.CityBoundsType.ZONE.halfExtents, Enum.CityBoundsType.ZONE.halfExtents);
DispatchMessage.dispatchMsgToAll(czm); DispatchMessage.dispatchMsgToAll(czm);
GuildManager.updateAllGuildBinds(playerNation, cityObject); // Set maintenance date
GuildManager.updateAllGuildTags(playerNation);
MaintenanceManager.setMaintDateTime(treeObject, LocalDateTime.now().plusDays(7));
// Send all the cities to the clients? // Send all the cities to the clients?
// *** Refactor : figure out how to send like, one? // *** Refactor : figure out how to send like, one?

Loading…
Cancel
Save