|  |  | @ -85,6 +85,10 @@ public enum LootManager { | 
			
		
	
		
		
			
				
					
					|  |  |  |         if (mob.bootySet != 0 && _bootySetMap.containsKey(mob.bootySet)) |  |  |  |         if (mob.bootySet != 0 && _bootySetMap.containsKey(mob.bootySet)) | 
			
		
	
		
		
			
				
					
					|  |  |  |             RunBootySet(_bootySetMap.get(mob.bootySet), mob, inHotzone); |  |  |  |             RunBootySet(_bootySetMap.get(mob.bootySet), mob, inHotzone); | 
			
		
	
		
		
			
				
					
					|  |  |  | 
 |  |  |  | 
 | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |         //check for special gifts 1/100 to drop present
 | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |         if(ThreadLocalRandom.current().nextInt(1,101) == 50) | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |             DropPresent(mob); | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  | 
 | 
			
		
	
		
		
			
				
					
					|  |  |  |         //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
 | 
			
		
	
		
		
			
				
					
					|  |  |  |         for (Item it : mob.getInventory()) { |  |  |  |         for (Item it : mob.getInventory()) { | 
			
		
	
		
		
			
				
					
					|  |  |  | 
 |  |  |  | 
 | 
			
		
	
	
		
		
			
				
					|  |  | @ -429,7 +433,7 @@ public enum LootManager { | 
			
		
	
		
		
			
				
					
					|  |  |  | 
 |  |  |  | 
 | 
			
		
	
		
		
			
				
					
					|  |  |  |         //check if player owns the gift he is trying to open
 |  |  |  |         //check if player owns the gift he is trying to open
 | 
			
		
	
		
		
			
				
					
					|  |  |  | 
 |  |  |  | 
 | 
			
		
	
		
		
			
				
					
					|  |  |  |         if (itemMan.doesCharOwnThisItem(gift.getObjectUUID()) == false) |  |  |  |         if (!itemMan.doesCharOwnThisItem(gift.getObjectUUID())) | 
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					|  |  |  |             return; |  |  |  |             return; | 
			
		
	
		
		
			
				
					
					|  |  |  | 
 |  |  |  | 
 | 
			
		
	
		
		
			
				
					
					|  |  |  |         //roll 1-100 for the gen table selection
 |  |  |  |         //roll 1-100 for the gen table selection
 | 
			
		
	
	
		
		
			
				
					|  |  | @ -450,12 +454,22 @@ public enum LootManager { | 
			
		
	
		
		
			
				
					
					|  |  |  | 
 |  |  |  | 
 | 
			
		
	
		
		
			
				
					
					|  |  |  |         //create the item from the table, quantity is always 1
 |  |  |  |         //create the item from the table, quantity is always 1
 | 
			
		
	
		
		
			
				
					
					|  |  |  | 
 |  |  |  | 
 | 
			
		
	
		
		
			
				
					
					|  |  |  |         MobLoot winnings = new MobLoot(playerCharacter, ItemBase.getItemBase(selectedItem.cacheID), 1, false); |  |  |  |         ItemBase ib = ItemBase.getItemBase(selectedItem.cacheID); | 
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |         if(ib.getUUID() == Warehouse.coalIB.getUUID()){ | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |             //no more coal, give gold instead
 | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |             if (itemMan.getGoldInventory().getNumOfItems() + 250000 > 10000000) { | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |                 ErrorPopupMsg.sendErrorPopup(playerCharacter, 21); | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |                 return; | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |             } | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |             itemMan.addGoldToInventory(250000,false); | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |             itemMan.updateInventory(); | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |         }else { | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |             MobLoot winnings = new MobLoot(playerCharacter, ib, 1, false); | 
			
		
	
		
		
			
				
					
					|  |  |  | 
 |  |  |  | 
 | 
			
		
	
		
		
			
				
					
					|  |  |  |             if (winnings == null) |  |  |  |             if (winnings == null) | 
			
		
	
		
		
			
				
					
					|  |  |  |                 return; |  |  |  |                 return; | 
			
		
	
		
		
			
				
					
					|  |  |  | 
 |  |  |  | 
 | 
			
		
	
		
		
			
				
					
					|  |  |  |         //early exit if the inventory of the player will not old the item
 |  |  |  |             //early exit if the inventory of the player will not hold the item
 | 
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					|  |  |  | 
 |  |  |  | 
 | 
			
		
	
		
		
			
				
					
					|  |  |  |             if (itemMan.hasRoomInventory(winnings.getItemBase().getWeight()) == false) { |  |  |  |             if (itemMan.hasRoomInventory(winnings.getItemBase().getWeight()) == false) { | 
			
		
	
		
		
			
				
					
					|  |  |  |                 ErrorPopupMsg.sendErrorPopup(playerCharacter, 21); |  |  |  |                 ErrorPopupMsg.sendErrorPopup(playerCharacter, 21); | 
			
		
	
	
		
		
			
				
					|  |  | @ -491,6 +505,7 @@ public enum LootManager { | 
			
		
	
		
		
			
				
					
					|  |  |  |             itemMan.addItemToInventory(playerWinnings); |  |  |  |             itemMan.addItemToInventory(playerWinnings); | 
			
		
	
		
		
			
				
					
					|  |  |  |             itemMan.updateInventory(); |  |  |  |             itemMan.updateInventory(); | 
			
		
	
		
		
			
				
					
					|  |  |  |         } |  |  |  |         } | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |     } | 
			
		
	
		
		
			
				
					
					|  |  |  | 
 |  |  |  | 
 | 
			
		
	
		
		
			
				
					
					|  |  |  |     public static int rollRandomItem(int itemTable){ |  |  |  |     public static int rollRandomItem(int itemTable){ | 
			
		
	
		
		
			
				
					
					|  |  |  |         int returnedID = ItemTableEntry.getRandomItem(itemTable); |  |  |  |         int returnedID = ItemTableEntry.getRandomItem(itemTable); | 
			
		
	
	
		
		
			
				
					|  |  | @ -585,4 +600,15 @@ public enum LootManager { | 
			
		
	
		
		
			
				
					
					|  |  |  | 
 |  |  |  | 
 | 
			
		
	
		
		
			
				
					
					|  |  |  |         return null; |  |  |  |         return null; | 
			
		
	
		
		
			
				
					
					|  |  |  |     } |  |  |  |     } | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  | 
 | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |     public static void DropPresent(Mob mob){ | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |         int random = ThreadLocalRandom.current().nextInt(ItemBase.AnniverseryGifts.size()); | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |         int presentID = ItemBase.AnniverseryGifts.get(random); | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |         ItemBase presentBase = ItemBase.getItemBase(presentID); | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |         if(presentBase != null){ | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |             MobLoot lootItem = new MobLoot(mob, presentBase, true); | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |             mob.getCharItemManager().addItemToInventory(lootItem); | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |         } | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  | 
 | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |     } | 
			
		
	
		
		
			
				
					
					|  |  |  | } |  |  |  | } | 
			
		
	
	
		
		
			
				
					|  |  | 
 |