anchor.diff:  	origin_tech = "engineering=3"
   
   /obj/item/weapon/weldingtool/experimental
  -	name = "Experimental Welding Tool"
  +	name = "experimental welding tool"
   	max_fuel = 40
   	w_class = 3.0
   	m_amt = 70
  
positive.code: 	icon_state = "welder"
  	flags = FPRINT | TABLEPASS| CONDUCT
  	slot_flags = SLOT_BELT
  
  	//Amount of OUCH when it's thrown
  	force = 3.0
  	throwforce = 5.0
  	throw_speed = 1
  	throw_range = 5
  	w_class = 2.0
  
  	//Cost to make in the autolathe
  	m_amt = 70
  	g_amt = 30
  
  	//R&D tech level
  	origin_tech = "engineering=1"
  
  	//Welding tool specific stuff
  	var/welding = 0 	//Whether or not the welding tool is off(0), on(1) or currently welding(2)
  	var/status = 1 		//Whether the welder is secured or unsecured (able to attach rods to it to make a flamethrower)
  	var/max_fuel = 20 	//The max amount of fuel the welder can hold
  
  /obj/item/weapon/weldingtool/New()
  //	var/random_fuel = min(rand(10,20),max_fuel)
  	var/datum/reagents/R = new/datum/reagents(max_fuel)
  	reagents = R
  	R.my_atom = src
  	R.add_reagent("fuel", max_fuel)
  	return
  
  
  /obj/item/weapon/weldingtool/examine()
  	set src in usr
  	usr << text("\icon[] [] contains []/[] units of fuel!", src, src.name, get_fuel(),src.max_fuel )
  	return
  
  
  /obj/item/weapon/weldingtool/attackby(obj/item/W as obj, mob/user as mob)
  	if(istype(W,/obj/item/weapon/screwdriver))
  		if(welding)
  			user << "\red Stop welding first!"
  			return
  		status = !status
  		if(status)
  			user << "\blue You resecure the welder."
  		else
  			user << "\blue The welder can now be attached and modified."
  		src.add_fingerprint(user)
  		return
  
  	if((!status) && (istype(W,/obj/item/stack/rods)))
  		var/obj/item/stack/rods/R = W
  		R.use(1)
  		var/obj/item/weapon/flamethrower/F = new/obj/item/weapon/flamethrower(user.loc)
  		src.loc = F
  		F.weldtool = src
  		if (user.client)
  			user.client.screen -= src
  		if (user.r_hand == src)
  			user.u_equip(src)
  		else
  			user.u_equip(src)
  		src.master = F
  		src.layer = initial(src.layer)
  		user.u_equip(src)
  		if (user.client)
  			user.client.screen -= src
  		src.loc = F
  		src.add_fingerprint(user)
  		return
  
  	..()
  	return
  
  
  /obj/item/weapon/weldingtool/process()
  	switch(welding)
  		//If off
  		if(0)
  			if(src.icon_state != "welder") //Check that the sprite is correct, if it isnt, it means toggle() was not called
  				src.force = 3
  				src.damtype = "brute"
  				src.icon_state = "welder"
  				src.welding = 0
  			processing_objects.Remove(src)
  			return
  		//Welders left on now use up fuel, but lets not have them run out quite that fast
  		if(1)
  			if(src.icon_state != "welder1") //Check that the sprite is correct, if it isnt, it means toggle() was not called
  				src.force = 15
  				src.damtype = "fire"
  				src.icon_state = "welder1"
  			if(prob(5))
  				remove_fuel(1)
  
  		//If you're actually actively welding, use fuel faster.
  		//Is this actually used or set anywhere? - Nodrak
  		if(2)
  			if(prob(75))
  				remove_fuel(1)
  
  
  	//I'm not sure what this does. I assume it has to do with starting fires...
  	//...but it doesnt check to see if the welder is on or not.
  	var/turf/location = src.loc
  	if(istype(location, /mob/))
  		var/mob/M = location
  		if(M.l_hand == src || M.r_hand == src)
  			location = get_turf(M)
  	if (istype(location, /turf))
  		location.hotspot_expose(700, 5)
  
  
  /obj/item/weapon/weldingtool/afterattack(obj/O as obj, mob/user as mob)
  	if (istype(O, /obj/structure/reagent_dispensers/fueltank) && get_dist(src,O) <= 1 && !src.welding)
  		O.reagents.trans_to(src, max_fuel)
  		user << "\blue Welder refueled"
  		playsound(src.loc, 'sound/effects/refill.ogg', 50, 1, -6)
  		return
  	else if (istype(O, /obj/structure/reagent_dispensers/fueltank) && get_dist(src,O) <= 1 && src.welding)
  		message_admins("[key_name_admin(user)] triggered a fueltank explosion.")
  		log_game("[key_name(user)] triggered a fueltank explosion.")
  		user << "\red That was stupid of you."
  		explosion(O.loc,-1,0,2)
  		if(O)
  			del(O)
  		return
  	if (src.welding)
  		remove_fuel(1)
  		var/turf/location = get_turf(user)
  		if (istype(location, /turf))
  			location.hotspot_expose(700, 50, 1)
  	return
  
  
  /obj/item/weapon/weldingtool/attack_self(mob/user as mob)
  	toggle()
  	return
  
  //Returns the amount of fuel in the welder
  /obj/item/weapon/weldingtool/proc/get_fuel()
  
negative.code: 	var/last_gen = 0
  
  
  //Proc to make the experimental welder generate fuel, optimized as fuck -Sieve
  //i don't think this is actually used, yaaaaay -Pete
  /obj/item/weapon/weldingtool/experimental/proc/fuel_gen()
  	var/gen_amount = (world.time - last_gen) / 25
  	reagents += gen_amount
  	if(reagents > max_fuel)
  		reagents = max_fuel
  
  
  /*
   * Crowbar
  