| 
						
						
							
								
							
						
						
					 | 
					 | 
					@ -70,22 +70,13 @@ public enum LootManager { | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					
 | 
					 | 
					 | 
					 | 
					
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        boolean inHotzone = ZoneManager.inHotZone(mob.getLoc()); | 
					 | 
					 | 
					 | 
					        boolean inHotzone = ZoneManager.inHotZone(mob.getLoc()); | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					
 | 
					 | 
					 | 
					 | 
					
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        //get multiplier form config manager
 | 
					 | 
					 | 
					 | 
					 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					
 | 
					 | 
					 | 
					 | 
					 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        float multiplier = NORMAL_DROP_RATE; | 
					 | 
					 | 
					 | 
					 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					
 | 
					 | 
					 | 
					 | 
					 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        //if mob is inside hotzone, use the hotzone multiplier from the config instead
 | 
					 | 
					 | 
					 | 
					 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					
 | 
					 | 
					 | 
					 | 
					 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        if (inHotzone) | 
					 | 
					 | 
					 | 
					 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					            multiplier = HOTZONE_DROP_RATE; | 
					 | 
					 | 
					 | 
					 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					
 | 
					 | 
					 | 
					 | 
					 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        //iterate the booty sets
 | 
					 | 
					 | 
					 | 
					        //iterate the booty sets
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					
 | 
					 | 
					 | 
					 | 
					
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        if (mob.getMobBase().bootySet != 0 && NPCManager._bootySetMap.containsKey(mob.getMobBase().bootySet) == true) | 
					 | 
					 | 
					 | 
					        if (mob.getMobBase().bootySet != 0 && NPCManager._bootySetMap.containsKey(mob.getMobBase().bootySet) == true) | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					            RunBootySet(NPCManager._bootySetMap.get(mob.getMobBase().bootySet), mob, multiplier, inHotzone, fromDeath); | 
					 | 
					 | 
					 | 
					            RunBootySet(NPCManager._bootySetMap.get(mob.getMobBase().bootySet), mob, inHotzone, fromDeath); | 
				
			
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					
 | 
					 | 
					 | 
					 | 
					
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        if (mob.bootySet != 0 && NPCManager._bootySetMap.containsKey(mob.bootySet) == true) | 
					 | 
					 | 
					 | 
					        if (mob.bootySet != 0 && NPCManager._bootySetMap.containsKey(mob.bootySet) == true) | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					            RunBootySet(NPCManager._bootySetMap.get(mob.bootySet), mob, multiplier, inHotzone, fromDeath); | 
					 | 
					 | 
					 | 
					            RunBootySet(NPCManager._bootySetMap.get(mob.bootySet), mob, inHotzone, fromDeath); | 
				
			
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					
 | 
					 | 
					 | 
					 | 
					
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        //lastly, check mobs inventory for godly or disc runes to send a server announcement
 | 
					 | 
					 | 
					 | 
					        //lastly, check mobs inventory for godly or disc runes to send a server announcement
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					
 | 
					 | 
					 | 
					 | 
					
 | 
				
			
			
		
	
	
		
		
			
				
					| 
						
						
						
							
								
							
						
					 | 
					 | 
					@ -104,7 +95,7 @@ public enum LootManager { | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					
 | 
					 | 
					 | 
					 | 
					
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					    } | 
					 | 
					 | 
					 | 
					    } | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					
 | 
					 | 
					 | 
					 | 
					
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					    private static void RunBootySet(ArrayList<BootySetEntry> entries, Mob mob, float multiplier, boolean inHotzone, boolean fromDeath) { | 
					 | 
					 | 
					 | 
					    private static void RunBootySet(ArrayList<BootySetEntry> entries, Mob mob, boolean inHotzone, boolean fromDeath) { | 
				
			
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					
 | 
					 | 
					 | 
					 | 
					
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        boolean hotzoneWasRan = false; | 
					 | 
					 | 
					 | 
					        boolean hotzoneWasRan = false; | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					
 | 
					 | 
					 | 
					 | 
					
 | 
				
			
			
		
	
	
		
		
			
				
					| 
						
						
						
							
								
							
						
					 | 
					 | 
					@ -122,14 +113,14 @@ public enum LootManager { | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					                    break; | 
					 | 
					 | 
					 | 
					                    break; | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					                case "LOOT": | 
					 | 
					 | 
					 | 
					                case "LOOT": | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					
 | 
					 | 
					 | 
					 | 
					
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					                    if (ThreadLocalRandom.current().nextInt(100) < NORMAL_DROP_RATE) | 
					 | 
					 | 
					 | 
					                    if (ThreadLocalRandom.current().nextInt(100) < bse.dropChance) | 
				
			
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					                        GenerateLootDrop(mob, bse.lootTable, false);  //generate normal loot drop
 | 
					 | 
					 | 
					 | 
					                        GenerateLootDrop(mob, bse.lootTable, false);  //generate normal loot drop
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					
 | 
					 | 
					 | 
					 | 
					
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					                    // Generate hotzone loot if in hotzone
 | 
					 | 
					 | 
					 | 
					                    // Generate hotzone loot if in hotzone
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					                    // Only one bite at the hotzone apple per bootyset.
 | 
					 | 
					 | 
					 | 
					                    // Only one bite at the hotzone apple per bootyset.
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					
 | 
					 | 
					 | 
					 | 
					
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					                    if (inHotzone == true && hotzoneWasRan == false) | 
					 | 
					 | 
					 | 
					                    if (inHotzone == true && hotzoneWasRan == false) | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					                        if (generalItemTables.containsKey(bse.lootTable + 1) && ThreadLocalRandom.current().nextInt(100) < HOTZONE_DROP_RATE) { | 
					 | 
					 | 
					 | 
					                        if (generalItemTables.containsKey(bse.lootTable + 1) && ThreadLocalRandom.current().nextInt(100) < bse.dropChance) { | 
				
			
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					                            GenerateLootDrop(mob, bse.lootTable + 1, true);  //generate loot drop from hotzone table
 | 
					 | 
					 | 
					 | 
					                            GenerateLootDrop(mob, bse.lootTable + 1, true);  //generate loot drop from hotzone table
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					                            hotzoneWasRan = true; | 
					 | 
					 | 
					 | 
					                            hotzoneWasRan = true; | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					                        } | 
					 | 
					 | 
					 | 
					                        } | 
				
			
			
		
	
	
		
		
			
				
					| 
						
							
								
							
						
						
						
					 | 
					 | 
					
  |