anchor.diff:  /obj/machinery/power/solar/attackby(obj/item/weapon/W, mob/user, params)
   
   	if(istype(W, /obj/item/weapon/crowbar))
  -		playsound(src.loc, 'sound/machines/click.ogg', 50, 1)
  +		playsound(src.loc, 'sound/machines/click.ogg', 20, 1)
   		user.visible_message("<span class='notice'>[user] begins to take the glass off the solar panel.</span>")
   		if(do_after(user, 50, target = src))
   			var/obj/item/solar_assembly/S = locate() in src
   			if(S)
   				S.loc = src.loc
   				S.give_glass()
  -			playsound(src.loc, 'sound/items/Deconstruct.ogg', 50, 1)
  +			playsound(src.loc, 'sound/items/Deconstruct.ogg', 20, 1)
   			user.visible_message("<span class='notice'>[user] takes the glass off the solar panel.</span>")
   			current_dirt = 0
   			qdel(src)
  
positive.code: 		return
  	if(!control) //if there's no sun or the panel is not linked to a solar control computer, no need to proceed
  		return
  	if(prob(DIRTRATE_A))
  		if(prob(DIRTRATE_B))
  			current_dirt += 1
  	if(current_dirt >= DIRTLIMIT)
  		stat |= BROKEN
  	if(powernet)
  
negative.code: 	//isn't the power recieved from the incoming light proportionnal to cos(p_angle) (Lambert's cosine law) rather than cos(p_angle)^2 ?
  	//The above isn't correct. This is because it's an area, not a single axis, so it's squared //Koriath
  
  	sunfrac = sunfrac * (1-(current_dirt/(DIRTLIMIT+1)))
  	//this will make it produce less when it's dirtier
  
  /obj/machinery/power/solar/process()//TODO: remove/add this from machines to save on processing as needed ~Carn PRIORITY
  