Files
Aurora.3/code/game/objects/items/weapons/clown_items.dm
T
NanakoACandskull132 d1f79a6168 Janitor slot and janicart tweaks (#612)
Adds an extra janitor slot and some mapping work to support it, reworks the janicart a fair bit.

changes:

rscadd: "Increased number of janitor slots to two."
rscadd: "Janitorial carts can now be constructed with metal sheets, and deconstructed with a wrench, welder or plasmacutter if empty."
tweak: "Janicarts now come without a bucket. Click and drag a mop bucket onto a cart to mount it, and you can unmount it from the janicart interface."
tweak: "Placing a mop into a janicart, and pouring containers into the bucket, is now done with alt-click. A leftclick will now always wet the mop, and throw objects into the trashbag, respectively."
rscadd: "Janicarts can now be climbed over like tables - Click and drag your sprite onto it."
tweak: "Custodial closet's Spraycleaner, cleaning grenades, and spare lights, are now inside the janitorial locker instead of on table/floor."
tweak: "Added an extra janitorial locker in the custodial closet."
bugfix: "Fixed the Captain's deluxe soap being unuseable for cleaning"
tweak: "Soap can now clean more tiles when wetted"
tweak: "Soap and rags can now be wetted in buckets, mopbuckets, watertanks and janicarts"
2016-08-02 21:42:48 +03:00

78 lines
2.6 KiB
Plaintext

/* Clown Items
* Contains:
* Banana Peels
* Soap
* Bike Horns
*/
/*
* Banana Peals
*/
/obj/item/weapon/bananapeel/Crossed(AM as mob|obj)
if (istype(AM, /mob/living))
var/mob/living/M = AM
M.slip("the [src.name]",4)
/*
* Soap
*/
/obj/item/weapon/soap/New()
..()
create_reagents(10)
wet()
/obj/item/weapon/soap/proc/wet()
playsound(loc, 'sound/effects/slosh.ogg', 25, 1)
reagents.add_reagent("cleaner", 10)
/obj/item/weapon/soap/Crossed(AM as mob|obj)
if (istype(AM, /mob/living))
var/mob/living/M = AM
M.slip("the [src.name]",3)
/obj/item/weapon/soap/afterattack(atom/target, mob/user as mob, proximity)
if(!proximity) return
//I couldn't feasibly fix the overlay bugs caused by cleaning items we are wearing.
//So this is a workaround. This also makes more sense from an IC standpoint. ~Carn
if(user.client && (target in user.client.screen))
user << "<span class='notice'>You need to take that [target.name] off before cleaning it.</span>"
else if(istype(target,/obj/effect/decal/cleanable))
user << "<span class='notice'>You scrub \the [target.name] out.</span>"
qdel(target)
else if(istype(target,/turf))
user << "You start scrubbing the [target.name]"
if (do_after(user, 30, needhand = 0))
user << "<span class='notice'>You scrub \the [target.name] clean.</span>"
var/turf/T = target
T.clean(src, user)
else if(istype(target,/obj/structure/sink) || istype(target,/obj/structure/sink))
user << "<span class='notice'>You wet \the [src] in the sink.</span>"
wet()
else if (istype(target, /obj/structure/mopbucket) || istype(target, /obj/item/weapon/reagent_containers/glass) || istype(target, /obj/structure/reagent_dispensers/watertank))
if (target.reagents && target.reagents.total_volume)
user << "<span class='notice'>You wet \the [src] in the [target].</span>"
wet()
else
user << "\The [target] is empty!"
else
user << "<span class='notice'>You clean \the [target.name].</span>"
target.clean_blood()
return
/obj/item/weapon/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("\red \the [user] washes \the [target]'s mouth out with soap!")
return
..()
/*
* Bike Horns
*/
/obj/item/weapon/bikehorn/attack_self(mob/user as mob)
if (spam_flag == 0)
spam_flag = 1
playsound(src.loc, 'sound/items/bikehorn.ogg', 50, 1)
src.add_fingerprint(user)
spawn(20)
spam_flag = 0
return