anchor.diff:  
   // Negative numbers will subtract
   /obj/item/device/lightreplacer/proc/AddUses(amount = 1)
  -	uses = min(max(uses + amount, 0), max_uses)
  +	uses = Clamp(uses + amount, 0, max_uses)
  +
  +/obj/item/device/lightreplacer/proc/AddShards(amount = 1)
  +	bulb_shards += amount
  +	var/new_bulbs = round(bulb_shards / shards_required)
  +	if(new_bulbs > 0)
  +		AddUses(new_bulbs)
  +	bulb_shards = bulb_shards % shards_required
  +	return new_bulbs
   
   /obj/item/device/lightreplacer/proc/Charge(var/mob/user)
   	charge += 1
  -	if(charge > 7)
  +	if(charge > 3)
   		AddUses(1)
   		charge = 1
   
  
positive.code: 
  /obj/item/device/lightreplacer/examine(mob/user)
  	..()
  	user << "It has [uses] light\s remaining."
  
  /obj/item/device/lightreplacer/attackby(obj/item/W, mob/user, params)
  
  
negative.code: #undef LIGHT_OK
  #undef LIGHT_EMPTY
  #undef LIGHT_BROKEN
  #undef LIGHT_BURNED
  