mirror of
https://github.com/ParadiseSS13/Paradise.git
synced 2026-01-13 19:12:13 +00:00
* spanish? * aaaagain * keep maptext * Update robot_items.dm * Update span_defines.dm * compiles * Update silicon_mob.dm * compile
32 lines
1.1 KiB
Plaintext
32 lines
1.1 KiB
Plaintext
/datum/component/spraycan_paintable
|
|
var/current_paint
|
|
|
|
/datum/component/spraycan_paintable/Initialize()
|
|
RegisterSignal(parent, COMSIG_ATTACK_BY, PROC_REF(Repaint))
|
|
|
|
/datum/component/spraycan_paintable/Destroy()
|
|
RemoveCurrentCoat()
|
|
return ..()
|
|
|
|
/datum/component/spraycan_paintable/proc/RemoveCurrentCoat()
|
|
var/atom/A = parent
|
|
A.remove_atom_colour(FIXED_COLOUR_PRIORITY, current_paint)
|
|
|
|
/datum/component/spraycan_paintable/proc/Repaint(datum/source, obj/item/toy/crayon/spraycan/spraycan, mob/living/user)
|
|
if(!istype(spraycan) || user.a_intent == INTENT_HARM)
|
|
return
|
|
. = COMPONENT_SKIP_AFTERATTACK
|
|
if(spraycan.capped)
|
|
to_chat(user, SPAN_WARNING("Take the cap off first!"))
|
|
return
|
|
if(spraycan.uses < 2)
|
|
to_chat(user, "<span class ='warning'>There is not enough paint in the can!")
|
|
return
|
|
RemoveCurrentCoat()
|
|
var/colour = spraycan.crayon_color
|
|
current_paint = colour
|
|
var/atom/A = parent
|
|
A.add_atom_colour(colour, FIXED_COLOUR_PRIORITY)
|
|
playsound(spraycan, 'sound/effects/spray.ogg', 5, TRUE, 5)
|
|
to_chat(user, SPAN_NOTICE("You spray [spraycan] on [A], painting it."))
|