|  |  |  | @ -9,15 +9,15 @@@@ -9,15 +9,15 @@ | 
			
		
	
		
			
				
					|  |  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |  | package engine.net.client.msg; | 
			
		
	
		
			
				
					|  |  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |  | import engine.Enum; | 
			
		
	
		
			
				
					|  |  |  |  | import engine.Enum.GameObjectType; | 
			
		
	
		
			
				
					|  |  |  |  | import engine.exception.SerializationException; | 
			
		
	
		
			
				
					|  |  |  |  | import engine.net.AbstractConnection; | 
			
		
	
		
			
				
					|  |  |  |  | import engine.net.AbstractNetMsg; | 
			
		
	
		
			
				
					|  |  |  |  | import engine.net.ByteBufferReader; | 
			
		
	
		
			
				
					|  |  |  |  | import engine.net.ByteBufferWriter; | 
			
		
	
		
			
				
					|  |  |  |  | import engine.net.client.Protocol; | 
			
		
	
		
			
				
					|  |  |  |  | import engine.objects.*; | 
			
		
	
		
			
				
					|  |  |  |  | import engine.objects.AbstractCharacter; | 
			
		
	
		
			
				
					|  |  |  |  | import engine.objects.Corpse; | 
			
		
	
		
			
				
					|  |  |  |  | import engine.objects.NPC; | 
			
		
	
		
			
				
					|  |  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |  | public class LoadCharacterMsg extends ClientNetMsg { | 
			
		
	
		
			
				
					|  |  |  |  | 
 | 
			
		
	
	
		
			
				
					|  |  |  | @ -70,7 +70,7 @@ public class LoadCharacterMsg extends ClientNetMsg {@@ -70,7 +70,7 @@ public class LoadCharacterMsg extends ClientNetMsg { | 
			
		
	
		
			
				
					|  |  |  |  | 	@Override | 
			
		
	
		
			
				
					|  |  |  |  | 	protected void _serialize(ByteBufferWriter writer) throws SerializationException { | 
			
		
	
		
			
				
					|  |  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |  | 		if (absChar != null && absChar.getObjectType() == GameObjectType.NPC) { | 
			
		
	
		
			
				
					|  |  |  |  | 		if (absChar != null) { | 
			
		
	
		
			
				
					|  |  |  |  | 			NPC npc = (NPC) absChar; | 
			
		
	
		
			
				
					|  |  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |  | 			if (npc.region != null) { | 
			
		
	
	
		
			
				
					|  |  |  | @ -81,66 +81,11 @@ public class LoadCharacterMsg extends ClientNetMsg {@@ -81,66 +81,11 @@ public class LoadCharacterMsg extends ClientNetMsg { | 
			
		
	
		
			
				
					|  |  |  |  | 				writer.putInt(-1); | 
			
		
	
		
			
				
					|  |  |  |  | 			} | 
			
		
	
		
			
				
					|  |  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |  | 		} else if (absChar != null) { | 
			
		
	
		
			
				
					|  |  |  |  | 		 | 
			
		
	
		
			
				
					|  |  |  |  | 		if (absChar.getObjectType().equals(GameObjectType.PlayerCharacter)) { | 
			
		
	
		
			
				
					|  |  |  |  | 			Regions region = absChar.region; | 
			
		
	
		
			
				
					|  |  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |  | 			if (region == null) { | 
			
		
	
		
			
				
					|  |  |  |  | 				writer.putInt(-1); | 
			
		
	
		
			
				
					|  |  |  |  | 				writer.putInt(-1); | 
			
		
	
		
			
				
					|  |  |  |  | 			} else { | 
			
		
	
		
			
				
					|  |  |  |  | 				Building regionBuilding = Regions.GetBuildingForRegion(region); | 
			
		
	
		
			
				
					|  |  |  |  | 				if (regionBuilding == null) { | 
			
		
	
		
			
				
					|  |  |  |  | 					writer.putInt(-1); | 
			
		
	
		
			
				
					|  |  |  |  | 					writer.putInt(-1); | 
			
		
	
		
			
				
					|  |  |  |  | 				} else { | 
			
		
	
		
			
				
					|  |  |  |  | 					writer.putInt(region.getLevel()); | 
			
		
	
		
			
				
					|  |  |  |  | 					writer.putInt(region.getRoom()); | 
			
		
	
		
			
				
					|  |  |  |  | 				} | 
			
		
	
		
			
				
					|  |  |  |  | 			} | 
			
		
	
		
			
				
					|  |  |  |  | 		} | 
			
		
	
		
			
				
					|  |  |  |  | 			else if (absChar.getObjectType().equals(GameObjectType.Mob)){ | 
			
		
	
		
			
				
					|  |  |  |  | 			Regions region = absChar.region; | 
			
		
	
		
			
				
					|  |  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |  | 				if (region == null){ | 
			
		
	
		
			
				
					|  |  |  |  | 					writer.putInt(-1); | 
			
		
	
		
			
				
					|  |  |  |  | 					writer.putInt(-1); | 
			
		
	
		
			
				
					|  |  |  |  | 				}else{ | 
			
		
	
		
			
				
					|  |  |  |  | 					Building regionBuilding = Regions.GetBuildingForRegion(region); | 
			
		
	
		
			
				
					|  |  |  |  | 					if (regionBuilding == null){ | 
			
		
	
		
			
				
					|  |  |  |  | 						writer.putInt(-1); | 
			
		
	
		
			
				
					|  |  |  |  | 						writer.putInt(-1); | 
			
		
	
		
			
				
					|  |  |  |  | 					}else{ | 
			
		
	
		
			
				
					|  |  |  |  | 						writer.putInt(region.getLevel()); | 
			
		
	
		
			
				
					|  |  |  |  | 						writer.putInt(region.getRoom()); | 
			
		
	
		
			
				
					|  |  |  |  | 					} | 
			
		
	
		
			
				
					|  |  |  |  | 				} | 
			
		
	
		
			
				
					|  |  |  |  | 			//TODO below is Mob Region Serialization, not implemented. default to -1, which is ground.
 | 
			
		
	
		
			
				
					|  |  |  |  | 		}else { | 
			
		
	
		
			
				
					|  |  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |  | 			Mob mobile = (Mob) absChar; | 
			
		
	
		
			
				
					|  |  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |  | 			if (mobile.building != null && | 
			
		
	
		
			
				
					|  |  |  |  | 					mobile.building.getBlueprint() != null) { | 
			
		
	
		
			
				
					|  |  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |  | 				Blueprint blueprint = mobile.building.getBlueprint(); | 
			
		
	
		
			
				
					|  |  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |  | 				if (blueprint.getBuildingGroup().equals(Enum.BuildingGroup.ARTYTOWER)) { | 
			
		
	
		
			
				
					|  |  |  |  | 					writer.putInt(-0); | 
			
		
	
		
			
				
					|  |  |  |  | 					writer.putInt(-0); | 
			
		
	
		
			
				
					|  |  |  |  | 					return; | 
			
		
	
		
			
				
					|  |  |  |  | 				} | 
			
		
	
		
			
				
					|  |  |  |  | 			} | 
			
		
	
		
			
				
					|  |  |  |  | 			writer.putInt(-1); | 
			
		
	
		
			
				
					|  |  |  |  | 			writer.putInt(-1); | 
			
		
	
		
			
				
					|  |  |  |  | 		} | 
			
		
	
		
			
				
					|  |  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |  | 		} else if (corpse != null){ | 
			
		
	
		
			
				
					|  |  |  |  | 			writer.putInt(-1); | 
			
		
	
		
			
				
					|  |  |  |  | 			writer.putInt(-1); | 
			
		
	
		
			
				
					|  |  |  |  | 		} | 
			
		
	
		
			
				
					|  |  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |  | 		if (corpse != null) { | 
			
		
	
		
			
				
					|  |  |  |  | 			writer.putInt(Float.floatToIntBits(corpse.getLoc().getX())); | 
			
		
	
		
			
				
					|  |  |  |  | 			writer.putInt(Float.floatToIntBits(corpse.getLoc().getY())); | 
			
		
	
	
		
			
				
					|  |  |  | 
 |