|  |  | @ -148,30 +148,35 @@ public class MinionTrainingMsgHandler extends AbstractClientMsgHandler { | 
			
		
	
		
		
			
				
					
					|  |  |  |                         if (mobBase == 0) |  |  |  |                         if (mobBase == 0) | 
			
		
	
		
		
			
				
					
					|  |  |  |                             return true; |  |  |  |                             return true; | 
			
		
	
		
		
			
				
					
					|  |  |  | 
 |  |  |  | 
 | 
			
		
	
		
		
			
				
					
					|  |  |  |                         Mob toCreate = Mob.createSiegeMob(npc, mobBase, npc.getGuild(), zone, b.getLoc(), (short) 1); |  |  |  |                         Mob siegeMob = Mob.createSiegeMob(npc, mobBase, npc.getGuild(), zone, b.getLoc(), (short) 1); | 
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					|  |  |  | 
 |  |  |  | 
 | 
			
		
	
		
		
			
				
					
					|  |  |  |                         if (toCreate == null) |  |  |  |                         if (siegeMob == null) | 
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					|  |  |  |                             return true; |  |  |  |                             return true; | 
			
		
	
		
		
			
				
					
					|  |  |  | 
 |  |  |  | 
 | 
			
		
	
		
		
			
				
					
					|  |  |  |                         //   toCreate.despawn();
 |  |  |  |                         //   toCreate.despawn();
 | 
			
		
	
		
		
			
				
					
					|  |  |  |                         if (toCreate != null) { |  |  |  |                         if (siegeMob != null) { | 
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					|  |  |  | 
 |  |  |  | 
 | 
			
		
	
		
		
			
				
					
					|  |  |  |                             toCreate.setSpawnTime(10); |  |  |  |                             siegeMob.setSpawnTime(10); | 
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					|  |  |  | 
 |  |  |  | 
 | 
			
		
	
		
		
			
				
					
					|  |  |  |                             Building building = BuildingManager.getBuilding(((MinionTrainingMessage) baseMsg).getBuildingID()); |  |  |  |                             Building building = BuildingManager.getBuilding(((MinionTrainingMessage) baseMsg).getBuildingID()); | 
			
		
	
		
		
			
				
					
					|  |  |  |                             int slot = ((NPC) toCreate.npcOwner).getSiegeMinionMap().get(toCreate); |  |  |  |                             int slot = ((NPC) siegeMob.npcOwner).getSiegeMinionMap().get(siegeMob); | 
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					|  |  |  | 
 |  |  |  | 
 | 
			
		
	
		
		
			
				
					
					|  |  |  |                             Vector3fImmutable slotLocation; |  |  |  |                             Vector3fImmutable slotLocation; | 
			
		
	
		
		
			
				
					
					|  |  |  |                             toCreate.building = building; |  |  |  |                             siegeMob.building = building; | 
			
				
				
			
		
	
		
		
			
				
					
					|  |  |  |                             toCreate.parentZone = zone; |  |  |  |                             siegeMob.parentZone = zone; | 
			
				
				
			
		
	
		
		
	
		
		
	
		
		
			
				
					
					|  |  |  | 
 |  |  |  | 
 | 
			
		
	
		
		
			
				
					
					|  |  |  |                             BuildingLocation buildingLocation = BuildingManager._slotLocations.get(building.meshUUID).get(slot); |  |  |  |                             BuildingLocation buildingLocation = BuildingManager._slotLocations.get(building.meshUUID).get(slot); | 
			
		
	
		
		
			
				
					
					|  |  |  |                             slotLocation = building.getLoc().add(buildingLocation.getLocation()); |  |  |  |                             slotLocation = building.getLoc().add(buildingLocation.getLocation()); | 
			
		
	
		
		
			
				
					
					|  |  |  |                             toCreate.setBindLoc(slotLocation); |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  | 
 |  |  |  | 
 | 
			
		
	
		
		
			
				
					
					|  |  |  |                             zone.zoneMobSet.add(toCreate); |  |  |  |                             // Rotate slot position by the building rotation
 | 
			
				
				
			
		
	
		
		
			
				
					
					|  |  |  |                             toCreate.setLoc(toCreate.getBindLoc()); |  |  |  | 
 | 
			
				
				
			
		
	
		
		
			
				
					
					|  |  |  |                             //MovementManager.translocate(toCreate, toCreate.getBindLoc(), toCreate.npcOwner.region);
 |  |  |  |                             slotLocation = Vector3fImmutable.rotateAroundPoint(building.getLoc(), slotLocation, building.getBounds().getQuaternion().angleY); | 
			
				
				
			
		
	
		
		
	
		
		
	
		
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |                             siegeMob.setEndLoc(new Vector3fImmutable(slotLocation)); | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  | 
 | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |                             siegeMob.setBindLoc(slotLocation); | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  | 
 | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |                             zone.zoneMobSet.add(siegeMob); | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |                             siegeMob.setLoc(siegeMob.getBindLoc()); | 
			
		
	
		
		
			
				
					
					|  |  |  |                         } |  |  |  |                         } | 
			
		
	
		
		
			
				
					
					|  |  |  |                     } |  |  |  |                     } | 
			
		
	
		
		
			
				
					
					|  |  |  | 
 |  |  |  | 
 | 
			
		
	
	
		
		
			
				
					|  |  | 
 |