diff --git a/code/modules/reagents/reagent_containers/spray.dm b/code/modules/reagents/reagent_containers/spray.dm
index 7cbd460257d..385a20eb5eb 100644
--- a/code/modules/reagents/reagent_containers/spray.dm
+++ b/code/modules/reagents/reagent_containers/spray.dm
@@ -40,6 +40,22 @@
user << "\The [src] is empty!"
return
+ Spray_at(A)
+
+ playsound(src.loc, 'sound/effects/spray2.ogg', 50, 1, -6)
+
+ if(reagents.has_reagent("sacid"))
+ message_admins("[key_name_admin(user)] fired sulphuric acid from \a [src].")
+ log_game("[key_name(user)] fired sulphuric acid from \a [src].")
+ if(reagents.has_reagent("pacid"))
+ message_admins("[key_name_admin(user)] fired Polyacid from \a [src].")
+ log_game("[key_name(user)] fired Polyacid from \a [src].")
+ if(reagents.has_reagent("lube"))
+ message_admins("[key_name_admin(user)] fired Space lube from \a [src].")
+ log_game("[key_name(user)] fired Space lube from \a [src].")
+ return
+
+/obj/item/weapon/reagent_containers/spray/proc/Spray_at(atom/A as mob|obj)
var/obj/effect/decal/chempuff/D = new/obj/effect/decal/chempuff(get_turf(src))
D.create_reagents(amount_per_transfer_from_this)
reagents.trans_to(D, amount_per_transfer_from_this, 1/3)
@@ -62,17 +78,6 @@
sleep(3)
del(D)
- playsound(src.loc, 'sound/effects/spray2.ogg', 50, 1, -6)
-
- if(reagents.has_reagent("sacid"))
- message_admins("[key_name_admin(user)] fired sulphuric acid from \a [src].")
- log_game("[key_name(user)] fired sulphuric acid from \a [src].")
- if(reagents.has_reagent("pacid"))
- message_admins("[key_name_admin(user)] fired Polyacid from \a [src].")
- log_game("[key_name(user)] fired Polyacid from \a [src].")
- if(reagents.has_reagent("lube"))
- message_admins("[key_name_admin(user)] fired Space lube from \a [src].")
- log_game("[key_name(user)] fired Space lube from \a [src].")
return
/obj/item/weapon/reagent_containers/spray/attack_self(var/mob/user)
@@ -156,31 +161,7 @@
//this is a big copypasta clusterfuck, but it's still better than it used to be!
-/obj/item/weapon/reagent_containers/spray/chemsprayer/afterattack(atom/A as mob|obj, mob/user as mob)
- if(istype(A, /obj/item/weapon/storage) || istype(A, /obj/structure/table) || istype(A, /obj/structure/rack) || istype(A, /obj/structure/closet) \
- || istype(A, /obj/item/weapon/reagent_containers) || istype(A, /obj/structure/sink))
- return
-
- if(istype(A, /obj/effect/proc_holder/spell))
- return
-
- if(istype(A, /obj/structure/reagent_dispensers) && get_dist(src,A) <= 1) //this block copypasted from reagent_containers/glass, for lack of a better solution
- if(!A.reagents.total_volume && A.reagents)
- user << "\The [A] is empty."
- return
-
- if(reagents.total_volume >= reagents.maximum_volume)
- user << "\The [src] is full."
- return
-
- var/trans = A.reagents.trans_to(src, A:amount_per_transfer_from_this)
- user << "You fill \the [src] with [trans] units of the contents of \the [A]."
- return
-
- if(reagents.total_volume < amount_per_transfer_from_this)
- user << "\The [src] is empty!"
- return
-
+/obj/item/weapon/reagent_containers/spray/chemsprayer/Spray_at(atom/A as mob|obj)
var/Sprays[3]
for(var/i=1, i<=3, i++) // intialize sprays
if(src.reagents.total_volume < 1) break
@@ -215,17 +196,6 @@
sleep(2)
del(D)
- playsound(src.loc, 'sound/effects/spray2.ogg', 50, 1, -6)
-
- if(reagents.has_reagent("sacid"))
- message_admins("[key_name_admin(user)] fired sulphuric acid from a chem sprayer.")
- log_game("[key_name(user)] fired sulphuric acid from a chem sprayer.")
- if(reagents.has_reagent("pacid"))
- message_admins("[key_name_admin(user)] fired Polyacid from a chem sprayer.")
- log_game("[key_name(user)] fired Polyacid from a chem sprayer.")
- if(reagents.has_reagent("lube"))
- message_admins("[key_name_admin(user)] fired Space lube from a chem sprayer.")
- log_game("[key_name(user)] fired Space lube from a chem sprayer.")
return
// Plant-B-Gone