| 
						
						
							
								
							
						
						
					 | 
					 | 
					@ -106,22 +106,33 @@ 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, float multiplier, boolean inHotzone, boolean fromDeath) { | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					
 | 
					 | 
					 | 
					 | 
					
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        if (fromDeath) | 
					 | 
					 | 
					 | 
					        boolean hotzoneWasRan = false; | 
				
			
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					        if (fromDeath) { | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					            GenerateEquipmentDrop(mob, multiplier); | 
					 | 
					 | 
					 | 
					            GenerateEquipmentDrop(mob, multiplier); | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        else { | 
					 | 
					 | 
					 | 
					            return; | 
				
			
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					        } | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					        // Iterate all entries in this bootyset and process accordingly
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        for (BootySetEntry bse : entries) { | 
					 | 
					 | 
					 | 
					        for (BootySetEntry bse : entries) { | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					            switch (bse.bootyType) { | 
					 | 
					 | 
					 | 
					            switch (bse.bootyType) { | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					                case "GOLD": | 
					 | 
					 | 
					 | 
					                case "GOLD": | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					                    GenerateGoldDrop(mob, bse, inHotzone); | 
					 | 
					 | 
					 | 
					                    GenerateGoldDrop(mob, bse, inHotzone); | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					                    break; | 
					 | 
					 | 
					 | 
					                    break; | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					                case "LOOT": | 
					 | 
					 | 
					 | 
					                case "LOOT": | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					                        //always run base table loot drop
 | 
					 | 
					 | 
					 | 
					
 | 
				
			
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					                    if (ThreadLocalRandom.current().nextInt(100) > NORMAL_DROP_RATE) | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					                        GenerateLootDrop(mob, bse.lootTable, bse.dropChance, multiplier, false);  //generate normal loot drop
 | 
					 | 
					 | 
					 | 
					                        GenerateLootDrop(mob, bse.lootTable, bse.dropChance, multiplier, false);  //generate normal loot drop
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					
 | 
					 | 
					 | 
					 | 
					
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					                        //run another iteration for the hotzone table if in hotzone
 | 
					 | 
					 | 
					 | 
					                    // Generate hotzone loot if in hotzone
 | 
				
			
			
				
				
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					                        if (inHotzone) | 
					 | 
					 | 
					 | 
					
 | 
				
			
			
				
				
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					                            if (generalItemTables.containsKey(bse.lootTable + 1)) | 
					 | 
					 | 
					 | 
					                    if (inHotzone == true && hotzoneWasRan == false) | 
				
			
			
				
				
			
		
	
		
		
	
		
		
	
		
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					                        if (generalItemTables.containsKey(bse.lootTable + 1) && ThreadLocalRandom.current().nextInt(100) > HOTZONE_DROP_RATE) { | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					                            GenerateLootDrop(mob, bse.lootTable + 1, bse.dropChance, multiplier, true);  //generate loot drop from hotzone table
 | 
					 | 
					 | 
					 | 
					                            GenerateLootDrop(mob, bse.lootTable + 1, bse.dropChance, multiplier, true);  //generate loot drop from hotzone table
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					                            hotzoneWasRan = true; | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					                        } | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					                    break; | 
					 | 
					 | 
					 | 
					                    break; | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					                case "ITEM": | 
					 | 
					 | 
					 | 
					                case "ITEM": | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					                    GenerateInventoryDrop(mob, bse, multiplier); | 
					 | 
					 | 
					 | 
					                    GenerateInventoryDrop(mob, bse, multiplier); | 
				
			
			
		
	
	
		
		
			
				
					| 
						
						
						
							
								
							
						
					 | 
					 | 
					@ -129,7 +140,6 @@ public enum LootManager { | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					            } | 
					 | 
					 | 
					 | 
					            } | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        } | 
					 | 
					 | 
					 | 
					        } | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					    } | 
					 | 
					 | 
					 | 
					    } | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					    } | 
					 | 
					 | 
					 | 
					 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					
 | 
					 | 
					 | 
					 | 
					
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					    public static MobLoot getGenTableItem(int genTableID, Mob mob, Boolean inHotzone) { | 
					 | 
					 | 
					 | 
					    public static MobLoot getGenTableItem(int genTableID, Mob mob, Boolean inHotzone) { | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					
 | 
					 | 
					 | 
					 | 
					
 | 
				
			
			
		
	
	
		
		
			
				
					| 
						
							
								
							
						
						
						
					 | 
					 | 
					
  |