anchor.diff:  /obj/item/weapon/grenade/plastic/x4
   	name = "X4"
   	desc = "A shaped high-explosive breaching charge. Designed to ensure user safety and wall nonsafety."
  -	var/aim_dir = NORTH
   	icon_state = "plasticx40"
   	item_state = "plasticx4"
  -
  -/obj/item/weapon/grenade/plastic/x4/prime()
  -	var/turf/location
  -	if(target)
  -		if(!QDELETED(target))
  -			location = get_turf(target)
  -			target.cut_overlay(image_overlay, TRUE)
  -	else
  -		location = get_turf(src)
  -	if(location)
  -		if(istype(loc, /obj/item/weapon/twohanded/spear) || !target)
  -			explosion(location, 0, 2, 3)
  -		else if(target && target.density)
  -			var/turf/T = get_step(location, aim_dir)
  -			explosion(get_step(T, aim_dir),0,0,3)
  -			explosion(T,0,2,0)
  -			location.ex_act(2, target)
  -		else
  -			explosion(location, 0, 2, 3)
  -			location.ex_act(2, target)
  -	if(istype(target, /mob))
  -		var/mob/M = target
  -		M.gib()
  -	qdel(src)
  -
  -/obj/item/weapon/grenade/plastic/x4/afterattack(atom/movable/AM, mob/user, flag)
  -	aim_dir = get_dir(user,AM)
  -	..()
  +	directional = TRUE
  +	boom_sizes = list(0, 2, 5)
positive.code: 	name = "C4"
  	desc = "Used to put holes in specific areas without too much extra hole. A saboteur's favorite."
  
  /obj/item/weapon/grenade/plastic/c4/prime()
  	var/turf/location
  	if(target)
  		if(!QDELETED(target))
  			location = get_turf(target)
  			target.cut_overlay(image_overlay, TRUE)
  	else
  		location = get_turf(src)
  	if(location)
  		location.ex_act(2, target)
  		explosion(location,0,0,3)
  	if(istype(target, /mob))
  		var/mob/M = target
  		M.gib()
  	qdel(src)
  
  // X4 is an upgraded directional variant of c4 which is relatively safe to be standing next to. And much less safe to be standing on the other side of.
  // C4 is intended to be used for infiltration, and destroying tech. X4 is intended to be used for heavy breaching and tight spaces.
  // Intended to replace C4 for nukeops, and to be a randomdrop in surplus/random traitor purchases.
  
negative.code: 		user << "Timer set for [det_time] seconds."
  
  /obj/item/weapon/grenade/plastic/afterattack(atom/movable/AM, mob/user, flag)
  	aim_dir = get_dir(user,AM)
  	if(!flag)
  		return
  	if(ismob(AM))
  		return
  
  	user << "<span class='notice'>You start planting the [src]. The timer is set to [det_time]...</span>"
  