|  |  |  | @ -122,20 +122,16 @@ public enum LootManager {@@ -122,20 +122,16 @@ public enum LootManager { | 
			
		
	
		
			
				
					|  |  |  |  |                 case "LOOT": | 
			
		
	
		
			
				
					|  |  |  |  |                         if (ThreadLocalRandom.current().nextInt(1, 100 + 1) < (bse.dropChance * dropRate)) | 
			
		
	
		
			
				
					|  |  |  |  |                             GenerateLootDrop(mob, bse.genTable);  //generate normal loot drop
 | 
			
		
	
		
			
				
					|  |  |  |  |                         if (mob.parentZone.getSafeZone() == 0 && hasExtraRolled == false && ThreadLocalRandom.current().nextInt(1, 5000) < 15 * dropRate) { | 
			
		
	
		
			
				
					|  |  |  |  |                             int roll = ThreadLocalRandom.current().nextInt(1, 101); | 
			
		
	
		
			
				
					|  |  |  |  |                             MobLoot extraLoot = null; | 
			
		
	
		
			
				
					|  |  |  |  |                             if (roll <= 50) { | 
			
		
	
		
			
				
					|  |  |  |  |                                 extraLoot = rollForContract(bse.genTable, mob); | 
			
		
	
		
			
				
					|  |  |  |  |                             } | 
			
		
	
		
			
				
					|  |  |  |  |                             if (roll >= 51) { | 
			
		
	
		
			
				
					|  |  |  |  |                                 extraLoot = rollForRune(bse.genTable, mob); | 
			
		
	
		
			
				
					|  |  |  |  |                             } | 
			
		
	
		
			
				
					|  |  |  |  |                             if (extraLoot != null) { | 
			
		
	
		
			
				
					|  |  |  |  |                                 mob.getCharItemManager().addItemToInventory(extraLoot); | 
			
		
	
		
			
				
					|  |  |  |  |                             } | 
			
		
	
		
			
				
					|  |  |  |  |                             hasExtraRolled = true; | 
			
		
	
		
			
				
					|  |  |  |  |                         } | 
			
		
	
		
			
				
					|  |  |  |  |                     if(mob.contractCounter >= 250){ | 
			
		
	
		
			
				
					|  |  |  |  |                         MobLoot extraLoot = rollForContract(bse.genTable, mob); | 
			
		
	
		
			
				
					|  |  |  |  |                         if (extraLoot != null) | 
			
		
	
		
			
				
					|  |  |  |  |                             mob.getCharItemManager().addItemToInventory(extraLoot); | 
			
		
	
		
			
				
					|  |  |  |  |                     } | 
			
		
	
		
			
				
					|  |  |  |  |                     if(mob.runeCounter >= 250){ | 
			
		
	
		
			
				
					|  |  |  |  |                         MobLoot extraLoot = rollForRune(bse.genTable, mob); | 
			
		
	
		
			
				
					|  |  |  |  |                         if (extraLoot != null) | 
			
		
	
		
			
				
					|  |  |  |  |                             mob.getCharItemManager().addItemToInventory(extraLoot); | 
			
		
	
		
			
				
					|  |  |  |  |                     } | 
			
		
	
		
			
				
					|  |  |  |  |                     break; | 
			
		
	
		
			
				
					|  |  |  |  |                 case "ITEM": | 
			
		
	
		
			
				
					|  |  |  |  |                     GenerateInventoryDrop(mob, bse); | 
			
		
	
	
		
			
				
					|  |  |  | @ -566,7 +562,7 @@ public enum LootManager {@@ -566,7 +562,7 @@ public enum LootManager { | 
			
		
	
		
			
				
					|  |  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |  |         if (_itemTables.containsKey(itemTableId) == false) | 
			
		
	
		
			
				
					|  |  |  |  |             return null; | 
			
		
	
		
			
				
					|  |  |  |  |         ItemTableEntry tableRow = ItemTableEntry.rollTable(itemTableId, ThreadLocalRandom.current().nextInt(1,321)); | 
			
		
	
		
			
				
					|  |  |  |  |         ItemTableEntry tableRow = ItemTableEntry.rollTable(itemTableId, ThreadLocalRandom.current().nextInt(75,321)); | 
			
		
	
		
			
				
					|  |  |  |  |         if (tableRow == null) | 
			
		
	
		
			
				
					|  |  |  |  |             return null; | 
			
		
	
		
			
				
					|  |  |  |  | 
 | 
			
		
	
	
		
			
				
					|  |  |  | @ -576,8 +572,10 @@ public enum LootManager {@@ -576,8 +572,10 @@ public enum LootManager { | 
			
		
	
		
			
				
					|  |  |  |  |             return null; | 
			
		
	
		
			
				
					|  |  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |  |         MobLoot outItem = new MobLoot(mob, ItemBase.getItemBase(itemUUID), false); | 
			
		
	
		
			
				
					|  |  |  |  |         if(outItem != null) | 
			
		
	
		
			
				
					|  |  |  |  |         if(outItem != null) { | 
			
		
	
		
			
				
					|  |  |  |  |             mob.contractCounter = 0; | 
			
		
	
		
			
				
					|  |  |  |  |             return outItem; | 
			
		
	
		
			
				
					|  |  |  |  |         } | 
			
		
	
		
			
				
					|  |  |  |  |         return null; | 
			
		
	
		
			
				
					|  |  |  |  |     } | 
			
		
	
		
			
				
					|  |  |  |  |     public static MobLoot rollForRune(int table, Mob mob){ | 
			
		
	
	
		
			
				
					|  |  |  | @ -593,7 +591,7 @@ public enum LootManager {@@ -593,7 +591,7 @@ public enum LootManager { | 
			
		
	
		
			
				
					|  |  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |  |         if (_itemTables.containsKey(itemTableId) == false) | 
			
		
	
		
			
				
					|  |  |  |  |             return null; | 
			
		
	
		
			
				
					|  |  |  |  |         ItemTableEntry tableRow = ItemTableEntry.rollTable(itemTableId, ThreadLocalRandom.current().nextInt(1,321)); | 
			
		
	
		
			
				
					|  |  |  |  |         ItemTableEntry tableRow = ItemTableEntry.rollTable(itemTableId, ThreadLocalRandom.current().nextInt(75,321)); | 
			
		
	
		
			
				
					|  |  |  |  |         if (tableRow == null) | 
			
		
	
		
			
				
					|  |  |  |  |             return null; | 
			
		
	
		
			
				
					|  |  |  |  | 
 | 
			
		
	
	
		
			
				
					|  |  |  | @ -603,12 +601,14 @@ public enum LootManager {@@ -603,12 +601,14 @@ public enum LootManager { | 
			
		
	
		
			
				
					|  |  |  |  |             return null; | 
			
		
	
		
			
				
					|  |  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |  |         MobLoot outItem = new MobLoot(mob, ItemBase.getItemBase(itemUUID), false); | 
			
		
	
		
			
				
					|  |  |  |  |         if(outItem != null) | 
			
		
	
		
			
				
					|  |  |  |  |         if(outItem != null) { | 
			
		
	
		
			
				
					|  |  |  |  |             mob.runeCounter = 0; | 
			
		
	
		
			
				
					|  |  |  |  |             return outItem; | 
			
		
	
		
			
				
					|  |  |  |  |         } | 
			
		
	
		
			
				
					|  |  |  |  |         return null; | 
			
		
	
		
			
				
					|  |  |  |  |     } | 
			
		
	
		
			
				
					|  |  |  |  |     public static MobLoot rollForGlass( Mob mob){ | 
			
		
	
		
			
				
					|  |  |  |  |         ItemTableEntry tableRow = ItemTableEntry.rollTable(126, ThreadLocalRandom.current().nextInt(1,321)); | 
			
		
	
		
			
				
					|  |  |  |  |         ItemTableEntry tableRow = ItemTableEntry.rollTable(126, ThreadLocalRandom.current().nextInt(220,321)); | 
			
		
	
		
			
				
					|  |  |  |  |         if (tableRow == null) | 
			
		
	
		
			
				
					|  |  |  |  |             return null; | 
			
		
	
		
			
				
					|  |  |  |  | 
 | 
			
		
	
	
		
			
				
					|  |  |  | 
 |