diff --git a/code/game/objects/items/weapons/mops_cleaners.dm b/code/game/objects/items/weapons/mops_cleaners.dm index af3062cd9b7..770ac81e6ec 100644 --- a/code/game/objects/items/weapons/mops_cleaners.dm +++ b/code/game/objects/items/weapons/mops_cleaners.dm @@ -263,6 +263,8 @@ return /obj/item/weapon/pepperspray/afterattack(atom/A as mob|obj, mob/user as mob) + if ( A == src ) + return if (istype(A, /obj/item/weapon/storage )) return if (istype(A, /obj/effect/proc_holder/spell )) @@ -324,19 +326,20 @@ Sprays[i] = D - var/direction = get_dir(src, A) - var/turf/T = get_turf(A) - var/turf/T1 = get_step(T,turn(direction, 90)) - var/turf/T2 = get_step(T,turn(direction, -90)) - var/list/the_targets = list(T,T1,T2) + //var/direction = get_dir(src, A) + //var/turf/T = get_turf(A) + //var/turf/T1 = get_step(T,turn(direction, 90)) + //var/turf/T2 = get_step(T,turn(direction, -90)) + //var/list/the_targets = list(T,T1,T2) for(var/i=1, i<=Sprays.len, i++) spawn() var/obj/effect/decal/D = Sprays[i] if(!D) continue - var/turf/my_target = null // Spreads the sprays a little bit + var/turf/my_target = get_turf(A) //pick(the_targets) + //the_targets -= my_target if(i == 1) my_target = T else @@ -351,11 +354,14 @@ else Dist = rand(2,3) - for(var/j=1, j<=Dist, j++) + var/list/affected = new() // BubbleWrap + for(var/j=1, j<=rand(6,8), j++) step_towards(D, my_target) D.reagents.reaction(get_turf(D)) for(var/atom/t in get_turf(D)) - D.reagents.reaction(t) + if ( !(t in affected) ) // Only spray each person once, removes chat spam + D.reagents.reaction(t) + affected += t sleep(2) del(D) sleep(1) @@ -365,10 +371,10 @@ janitor.cell.charge -= 20 var/refill = src.reagents.get_master_reagent_id() spawn(600) - src.reagents.add_reagent(refill, 10) - + src.reagents.add_reagent(refill, 45) return + /obj/item/weapon/pepperspray/examine() set src in usr if(BottleSize) @@ -395,6 +401,7 @@ w_class = 3.0 flags = FPRINT | TABLEPASS + /obj/item/weapon/mop/New() var/datum/reagents/R = new/datum/reagents(5) reagents = R