anchor.diff:  		if(!T.tank_one || !T.tank_two)
   			to_chat(user, "<span class='warning'>What good would an incomplete bomb do?</span>")
   			return FALSE
  -		if(!user.transferItemToLoc(O, src))
  -			to_chat(user, "<span class='warning'>[O] seems to be stuck to your hand!</span>")
  +		if(!user.transferItemToLoc(T, src))
  +			to_chat(user, "<span class='warning'>[T] seems to be stuck to your hand!</span>")
   			return FALSE
  -		user.visible_message("<span class='warning'>[user] attaches [O] to [src]!</span>")
  -		bomb = O
  +		user.visible_message("<span class='warning'>[user] attaches [T] to [src]!</span>")
  +		bomb = T
   		update_icon()
   		return TRUE
   	return ..()
   
   /obj/item/gun/blastcannon/proc/calculate_bomb()
  -	if(!istype(bomb)||!istype(bomb.tank_one)||!istype(bomb.tank_two))
  +	if(!istype(bomb) || !istype(bomb.tank_one) || !istype(bomb.tank_two))
   		return 0
   	var/datum/gas_mixture/temp = new(60)	//directional buff.
   	temp.merge(bomb.tank_one.air_contents.remove_ratio(1))
  
positive.code: 
  /obj/item/projectile/blastwave/Range()
  	..()
  	if(heavyr)
  		loc.ex_act(EXPLODE_DEVASTATE)
  	else if(mediumr)
  		loc.ex_act(EXPLODE_HEAVY)
  	else if(lightr)
  		loc.ex_act(EXPLODE_LIGHT)
  	else
  		qdel(src)
  	heavyr--
  	mediumr--
  	lightr--
  
  /obj/item/projectile/blastwave/ex_act()
  	return
  
negative.code: 		pin = new
  
  /obj/item/gun/blastcannon/Destroy()
  	QDEL_NULL(bomb)
  	return ..()
  
  /obj/item/gun/blastcannon/attack_self(mob/user)
  