|  | @@ -15,6 +15,8 @@ import com.gmail.nossr50.util.Misc;
 | 
	
		
			
				|  |  |  import com.gmail.nossr50.util.Permissions;
 | 
	
		
			
				|  |  |  import com.gmail.nossr50.util.StringUtils;
 | 
	
		
			
				|  |  |  import com.gmail.nossr50.util.player.NotificationManager;
 | 
	
		
			
				|  |  | +import com.gmail.nossr50.util.random.RandomChanceSkillStatic;
 | 
	
		
			
				|  |  | +import com.gmail.nossr50.util.random.RandomChanceUtil;
 | 
	
		
			
				|  |  |  import com.gmail.nossr50.util.skills.RankUtils;
 | 
	
		
			
				|  |  |  import com.gmail.nossr50.util.skills.SkillUtils;
 | 
	
		
			
				|  |  |  import com.gmail.nossr50.util.sounds.SoundManager;
 | 
	
	
		
			
				|  | @@ -196,12 +198,14 @@ public class SalvageManager extends SkillManager {
 | 
	
		
			
				|  |  |          boolean downgraded = false;
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |          for (Entry<Enchantment, Integer> enchant : enchants.entrySet()) {
 | 
	
		
			
				|  |  | -            int successChance = Misc.getRandom().nextInt(activationChance);
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | -            if (!Salvage.arcaneSalvageEnchantLoss || getExtractFullEnchantChance() > successChance) {
 | 
	
		
			
				|  |  | +            if (!Salvage.arcaneSalvageEnchantLoss
 | 
	
		
			
				|  |  | +                    || RandomChanceUtil.checkRandomChanceExecutionSuccess(new RandomChanceSkillStatic(getExtractFullEnchantChance(), getPlayer(), SubSkillType.SALVAGE_ARCANE_SALVAGE))) {
 | 
	
		
			
				|  |  |                  enchantMeta.addStoredEnchant(enchant.getKey(), enchant.getValue(), true);
 | 
	
		
			
				|  |  |              }
 | 
	
		
			
				|  |  | -            else if (enchant.getValue() > 1 && Salvage.arcaneSalvageDowngrades && getExtractPartialEnchantChance() > successChance) {
 | 
	
		
			
				|  |  | +            else if (enchant.getValue() > 1
 | 
	
		
			
				|  |  | +                    && Salvage.arcaneSalvageDowngrades
 | 
	
		
			
				|  |  | +                    && !RandomChanceUtil.checkRandomChanceExecutionSuccess(new RandomChanceSkillStatic(getExtractPartialEnchantChance(), getPlayer(), SubSkillType.SALVAGE_ARCANE_SALVAGE))) {
 | 
	
		
			
				|  |  |                  enchantMeta.addStoredEnchant(enchant.getKey(), enchant.getValue() - 1, true);
 | 
	
		
			
				|  |  |                  downgraded = true;
 | 
	
		
			
				|  |  |              }
 |