From ef20a187c00369091f781101c30c718aeb74d069 Mon Sep 17 00:00:00 2001 From: Tayyyyyyy Date: Tue, 24 Apr 2018 16:28:22 -0500 Subject: [PATCH 1/2] Reduce soap clicks --- code/game/objects/items/weapons/soap.dm | 30 ++++++++++++++++--------- 1 file changed, 20 insertions(+), 10 deletions(-) diff --git a/code/game/objects/items/weapons/soap.dm b/code/game/objects/items/weapons/soap.dm index c747674bce1..08211caa905 100644 --- a/code/game/objects/items/weapons/soap.dm +++ b/code/game/objects/items/weapons/soap.dm @@ -18,8 +18,6 @@ var/cleanspeed = 50 //slower than mop - - /obj/item/soap/afterattack(atom/target, mob/user, proximity) if(!proximity) return //I couldn't feasibly fix the overlay bugs caused by cleaning items we are wearing. @@ -29,28 +27,40 @@ else if(target == user && user.a_intent == INTENT_GRAB && ishuman(target)) var/mob/living/carbon/human/muncher = user if(muncher && muncher.get_species() == "Drask") - to_chat(user, "You take a bite of the [src.name]. Delicious!") + to_chat(user, "You take a bite of the [name]. Delicious!") playsound(user.loc, 'sound/items/eatfood.ogg', 50, 0) user.nutrition += 2 else if(istype(target,/obj/effect/decal/cleanable)) user.visible_message("[user] begins to scrub \the [target.name] out with [src].") - if(do_after(user, src.cleanspeed, target = target) && target) + if(do_after(user, cleanspeed, target = target) && target) to_chat(user, "You scrub \the [target.name] out.") + if(istype(target.loc, /turf/simulated)) + clean_turf(target.loc) + return qdel(target) + else if(istype(target, /turf/simulated)) + user.visible_message("[user] begins to clean \the [target.name] with [src].") + if(do_after(user, cleanspeed, target = target)) + to_chat(user, "You clean \the [target.name].") + clean_turf(target) else user.visible_message("[user] begins to clean \the [target.name] with [src].") - if(do_after(user, src.cleanspeed, target = target)) + if(do_after(user, cleanspeed, target = target)) to_chat(user, "You clean \the [target.name].") var/obj/effect/decal/cleanable/C = locate() in target qdel(C) target.clean_blood() - if(istype(target, /turf/simulated)) - var/turf/simulated/T = target - T.dirt = 0 + +/obj/item/soap/proc/clean_turf(turf/simulated/turf) + turf.clean_blood() + turf.dirt = 0 + for(var/obj/effect/O in turf) + if(is_cleanable(O)) + qdel(O) /obj/item/soap/attack(mob/target as mob, mob/user as mob) if(target && user && ishuman(target) && ishuman(user) && !target.stat && !user.stat && user.zone_sel &&user.zone_sel.selecting == "mouth" ) - user.visible_message("\the [user] washes \the [target]'s mouth out with [src.name]!") + user.visible_message("\the [user] washes \the [target]'s mouth out with [name]!") return ..() @@ -74,7 +84,7 @@ to_chat(user, "You need to take that [target.name] off before 'cleaning' it.") else user.visible_message("[user] begins to smear [src] on \the [target.name].") - if(do_after(user, src.cleanspeed, target = target)) + if(do_after(user, cleanspeed, target = target)) to_chat(user, "You 'clean' \the [target.name].") if(istype(target, /turf/simulated)) new /obj/effect/decal/cleanable/blood/gibs/cleangibs(target) From 8ecd9dd480d1345470b4685c991febd7b35f590f Mon Sep 17 00:00:00 2001 From: Tayyyyyyy Date: Tue, 24 Apr 2018 16:40:59 -0500 Subject: [PATCH 2/2] Fix coding style --- code/game/objects/items/weapons/soap.dm | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/code/game/objects/items/weapons/soap.dm b/code/game/objects/items/weapons/soap.dm index 08211caa905..a6046b575f7 100644 --- a/code/game/objects/items/weapons/soap.dm +++ b/code/game/objects/items/weapons/soap.dm @@ -34,11 +34,11 @@ user.visible_message("[user] begins to scrub \the [target.name] out with [src].") if(do_after(user, cleanspeed, target = target) && target) to_chat(user, "You scrub \the [target.name] out.") - if(istype(target.loc, /turf/simulated)) + if(issimulatedturf(target.loc)) clean_turf(target.loc) return qdel(target) - else if(istype(target, /turf/simulated)) + else if(issimulatedturf(target)) user.visible_message("[user] begins to clean \the [target.name] with [src].") if(do_after(user, cleanspeed, target = target)) to_chat(user, "You clean \the [target.name].") @@ -51,10 +51,10 @@ qdel(C) target.clean_blood() -/obj/item/soap/proc/clean_turf(turf/simulated/turf) - turf.clean_blood() - turf.dirt = 0 - for(var/obj/effect/O in turf) +/obj/item/soap/proc/clean_turf(turf/simulated/T) + T.clean_blood() + T.dirt = 0 + for(var/obj/effect/O in T) if(is_cleanable(O)) qdel(O)