anchor.diff:  				source.inUse = FALSE
   			o.loc = null
   
  +
  +
  +enchanting
  +	var
  +		reqType
  +		souls        = 0
  +		bonus        = 0
  +		chance       = 100
  +		prize
  +
  +	proc
  +		check(obj/items/i, bonus, souls)
  +			if(istype(i, reqType) && src.bonus == bonus && src.souls <= souls) return 1
  +			return 0
  +
  +		getPrize()
  +			if(islist(prize)) return pickweight(prize)
  +
  +			return prize
  +
   obj
   	enchanter
   
  
positive.code: 					return
  
  				var/chance = 100
  				var/prize
  
  				if(istype(i3, /obj/items/scroll))
  					chance -= 60
  					prize = pick(/obj/items/wearable/title/Bookworm, /obj/items/wearable/title/Lumberjack)
  
  				else if(istype(i3, /obj/items/artifact))
  					chance -= 20
  					prize = /obj/items/magic_stone/teleport
  
  				else if(istype(i3, /obj/items/crystal) && applyBonus == 3)
  
  					if(istype(i3, /obj/items/crystal/soul))
  						chance -= 40
  						prize = pick(/obj/items/weather/sun, /obj/items/weather/rain, /obj/items/weather/acid, /obj/items/weather/snow)
  					else if(istype(i3, /obj/items/crystal/damage))
  						chance -= 50
  						prize = /obj/items/lamps/damage_lamp
  					else if(istype(i3, /obj/items/crystal/defense))
  						chance -= 50
  						prize = /obj/items/lamps/defense_lamp
  					else if(istype(i3, /obj/items/crystal/luck))
  						chance -= 40
  						prize = pick(/obj/items/lamps/double_gold_lamp, /obj/items/lamps/double_exp_lamp, /obj/items/lamps/double_drop_rate_lamp, /obj/items/crystal/strong_luck)
  					else if(istype(i3, /obj/items/crystal/strong_luck))
  						chance -= 50
  						prize = pick(/obj/items/lamps/triple_gold_lamp, /obj/items/lamps/triple_exp_lamp, /obj/items/lamps/triple_drop_rate_lamp)
  					else if(istype(i3, /obj/items/crystal/magic))
  						chance -= 70
  						prize = ignoreItem ? /obj/items/magic_stone/summoning/random : /obj/items/lamps/power_lamp
  
  				else if(istype(i3, /obj/items/wearable/))
  
  					if(istype(i3, /obj/items/wearable/title) && i3.name == i4.name)
  						chance -= 40
  						prize = i3.type
  
negative.code: 
  obj/items/bucket
  	icon = 'bucket.dmi'
  	canAuction = FALSE
  obj/items/freds_key
  	name = "Fred's key"
  	icon = 'key.dmi'
  