anchor.diff:  
   	proc
   		check(obj/items/i, bonus, souls)
  -			if(istype(i, reqType) && src.bonus == bonus && src.souls <= souls) return 1
  +			if(istype(i, reqType) && (src.bonus & bonus) >= src.bonus && src.souls <= souls) return 1
   			return 0
   
   		getPrize()
  
positive.code: 				var/i = 0
  				while(exp >= maxExp())
  					exp -= maxExp()
  					i += 0.1
  
  					if(quality + i >= MAX)
  						exp = 0
  						break
  
  				if(i)
  					if(bonus == -1) bonus = NOENCHANT
  
negative.code: 
  	chaos
  		name       = "orb of chaos"
  		bonus      = 5
  		exp   	   = 15000
  		icon_state = "chaos"
  
  