|  |  |  | @ -358,6 +358,7 @@ public class NPC extends AbstractCharacter {@@ -358,6 +358,7 @@ public class NPC extends AbstractCharacter { | 
			
		
	
		
			
				
					|  |  |  |  | 		this.parentZone.zoneNPCSet.add(this); | 
			
		
	
		
			
				
					|  |  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |  | 		// Setup location for this NPC
 | 
			
		
	
		
			
				
					|  |  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |  | 		this.bindLoc = new Vector3fImmutable(this.statLat, this.statAlt, this.statLon); | 
			
		
	
		
			
				
					|  |  |  |  | 		this.bindLoc = this.parentZone.getLoc().add(this.bindLoc); | 
			
		
	
		
			
				
					|  |  |  |  | 		this.loc = new Vector3fImmutable(bindLoc); | 
			
		
	
	
		
			
				
					|  |  |  | @ -366,6 +367,9 @@ public class NPC extends AbstractCharacter {@@ -366,6 +367,9 @@ public class NPC extends AbstractCharacter { | 
			
		
	
		
			
				
					|  |  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |  | 		if (this.building != null) { | 
			
		
	
		
			
				
					|  |  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |  | 			// Get next available slot for this NPC and use it
 | 
			
		
	
		
			
				
					|  |  |  |  | 			// to add the NPC to the building's hireling list
 | 
			
		
	
		
			
				
					|  |  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |  | 			slot = BuildingManager.getAvailableSlot(building); | 
			
		
	
		
			
				
					|  |  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |  | 			if (slot == -1) | 
			
		
	
	
		
			
				
					|  |  |  | @ -373,11 +377,16 @@ public class NPC extends AbstractCharacter {@@ -373,11 +377,16 @@ public class NPC extends AbstractCharacter { | 
			
		
	
		
			
				
					|  |  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |  | 			building.getHirelings().put(this, slot); | 
			
		
	
		
			
				
					|  |  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |  | 			// Override bind and location for  this npc derived
 | 
			
		
	
		
			
				
					|  |  |  |  | 			// from BuildingManager slot location data.
 | 
			
		
	
		
			
				
					|  |  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |  | 			slotLocation = BuildingManager.getSlotLocation(building, slot); | 
			
		
	
		
			
				
					|  |  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |  | 			this.bindLoc = building.getLoc().add(slotLocation); | 
			
		
	
		
			
				
					|  |  |  |  | 			this.loc = building.getLoc().add(slotLocation); | 
			
		
	
		
			
				
					|  |  |  |  | 			; | 
			
		
	
		
			
				
					|  |  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |  | 			// Configure region and floor/level for this NPC
 | 
			
		
	
		
			
				
					|  |  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |  | 			this.region = BuildingManager.GetRegion(this.building, slotLocation.x, slotLocation.y, slotLocation.z); | 
			
		
	
		
			
				
					|  |  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |  | 			if (this.region != null) { | 
			
		
	
	
		
			
				
					|  |  |  | 
 |