mirror of
https://github.com/Bubberstation/Bubberstation.git
synced 2026-01-26 09:03:37 +00:00
## About The Pull Request https://user-images.githubusercontent.com/82386923/199180691-6605c8cc-e8aa-490e-ab65-909d45d12ca0.mp4 Do note that the damage in this video is extremely exaggerated compared to what the normal value is. ## Why It's Good For The Game All these signs about engineers needing to wear their hardhat, and for what? For the assistant dropping toolboxes onto them from above, that's what! Also allows people to do as god intended by allowing them to drop pianos on people. ## Changelog 🆑 add: A variety of items, mainly tools, around the station might hurt if they fall on your head, remember to wear your hardhat and to avoid standing under large red X marks on the ground with a piano hanging above them. /🆑 Co-authored-by: MrMelbert <51863163+MrMelbert@users.noreply.github.com>
134 lines
3.5 KiB
Plaintext
134 lines
3.5 KiB
Plaintext
//NEVER USE THIS IT SUX -PETETHEGOAT
|
|
//IT SUCKS A BIT LESS -GIACOM
|
|
|
|
/obj/item/paint
|
|
gender= PLURAL
|
|
name = "paint"
|
|
desc = "Used to recolor floors and walls. Can be removed by the janitor."
|
|
icon = 'icons/obj/weapons/items_and_weapons.dmi'
|
|
icon_state = "paint_neutral"
|
|
inhand_icon_state = "paintcan"
|
|
w_class = WEIGHT_CLASS_NORMAL
|
|
resistance_flags = FLAMMABLE
|
|
max_integrity = 100
|
|
/// With what color will we paint with
|
|
var/paint_color = COLOR_WHITE
|
|
/// How many uses are left
|
|
var/paintleft = 10
|
|
|
|
/obj/item/paint/Initialize(mapload)
|
|
. = ..()
|
|
AddElement(/datum/element/falling_hazard, damage = 20, wound_bonus = 5, hardhat_safety = TRUE, crushes = FALSE) // You ever watched home alone?
|
|
|
|
/obj/item/paint/red
|
|
name = "red paint"
|
|
paint_color = COLOR_RED
|
|
icon_state = "paint_red"
|
|
|
|
/obj/item/paint/green
|
|
name = "green paint"
|
|
paint_color = COLOR_VIBRANT_LIME
|
|
icon_state = "paint_green"
|
|
|
|
/obj/item/paint/blue
|
|
name = "blue paint"
|
|
paint_color = COLOR_BLUE
|
|
icon_state = "paint_blue"
|
|
|
|
/obj/item/paint/yellow
|
|
name = "yellow paint"
|
|
paint_color = COLOR_YELLOW
|
|
icon_state = "paint_yellow"
|
|
|
|
/obj/item/paint/violet
|
|
name = "violet paint"
|
|
paint_color = COLOR_MAGENTA
|
|
icon_state = "paint_violet"
|
|
|
|
/obj/item/paint/black
|
|
name = "black paint"
|
|
paint_color = COLOR_ALMOST_BLACK
|
|
icon_state = "paint_black"
|
|
|
|
/obj/item/paint/white
|
|
name = "white paint"
|
|
paint_color = COLOR_WHITE
|
|
icon_state = "paint_white"
|
|
|
|
/obj/item/paint/anycolor
|
|
gender = PLURAL
|
|
name = "adaptive paint"
|
|
icon_state = "paint_neutral"
|
|
|
|
/obj/item/paint/anycolor/attack_self(mob/user)
|
|
var/list/possible_colors = list(
|
|
"black" = image(icon = src.icon, icon_state = "paint_black"),
|
|
"blue" = image(icon = src.icon, icon_state = "paint_blue"),
|
|
"green" = image(icon = src.icon, icon_state = "paint_green"),
|
|
"red" = image(icon = src.icon, icon_state = "paint_red"),
|
|
"violet" = image(icon = src.icon, icon_state = "paint_violet"),
|
|
"white" = image(icon = src.icon, icon_state = "paint_white"),
|
|
"yellow" = image(icon = src.icon, icon_state = "paint_yellow")
|
|
)
|
|
var/picked_color = show_radial_menu(user, src, possible_colors, custom_check = CALLBACK(src, PROC_REF(check_menu), user), radius = 38, require_near = TRUE)
|
|
switch(picked_color)
|
|
if("black")
|
|
paint_color = COLOR_ALMOST_BLACK
|
|
if("blue")
|
|
paint_color = COLOR_BLUE
|
|
if("green")
|
|
paint_color = COLOR_VIBRANT_LIME
|
|
if("red")
|
|
paint_color = COLOR_RED
|
|
if("violet")
|
|
paint_color = COLOR_MAGENTA
|
|
if("white")
|
|
paint_color = COLOR_WHITE
|
|
if("yellow")
|
|
paint_color = COLOR_YELLOW
|
|
else
|
|
return
|
|
icon_state = "paint_[picked_color]"
|
|
add_fingerprint(user)
|
|
|
|
/**
|
|
* Checks if we are allowed to interact with a radial menu
|
|
*
|
|
* Arguments:
|
|
* * user The mob interacting with the menu
|
|
*/
|
|
/obj/item/paint/anycolor/proc/check_menu(mob/user)
|
|
if(!istype(user))
|
|
return FALSE
|
|
if(!user.is_holding(src))
|
|
return FALSE
|
|
if(user.incapacitated())
|
|
return FALSE
|
|
return TRUE
|
|
|
|
/obj/item/paint/afterattack(atom/target, mob/user, proximity)
|
|
. = ..()
|
|
if(!proximity)
|
|
return
|
|
if(paintleft <= 0)
|
|
icon_state = "paint_empty"
|
|
return
|
|
if(!isturf(target) || isspaceturf(target))
|
|
return
|
|
target.add_atom_colour(paint_color, WASHABLE_COLOUR_PRIORITY)
|
|
|
|
/obj/item/paint/paint_remover
|
|
gender = PLURAL
|
|
name = "paint remover"
|
|
desc = "Used to remove color from anything."
|
|
icon_state = "paint_neutral"
|
|
|
|
/obj/item/paint/paint_remover/afterattack(atom/target, mob/user, proximity)
|
|
. = ..()
|
|
if(!proximity)
|
|
return
|
|
if(!isturf(target) || !isobj(target))
|
|
return
|
|
if(target.color != initial(target.color))
|
|
target.remove_atom_colour(WASHABLE_COLOUR_PRIORITY)
|