Fixes pickup animation layering and colored chairs (#14453)

This commit is contained in:
Wowzewow (Wezzy)
2022-07-20 22:44:04 +02:00
committed by GitHub
parent 43666a54c8
commit ba3edef820
8 changed files with 62 additions and 16 deletions
@@ -346,7 +346,7 @@
item_state = "rollerbed"
anchored = FALSE
makes_rolling_sound = TRUE
var/base_state = "standard"
base_icon = "standard"
held_item = /obj/item/roller
var/obj/item/reagent_containers/beaker
var/obj/item/vitals_monitor/vitals
@@ -368,9 +368,9 @@
cut_overlays()
vis_contents = list()
if(density)
icon_state = "[base_state]_up"
icon_state = "[base_icon]_up"
else
icon_state = "[base_state]_down"
icon_state = "[base_icon]_down"
if(beaker)
var/image/iv = image(icon, "iv[iv_attached]")
var/percentage = round((beaker.reagents.total_volume / beaker.volume) * 100, 25)
@@ -518,7 +518,7 @@
/obj/structure/bed/roller/hover
name = "medical hoverbed"
icon_state = "hover_down"
base_state = "hover"
base_icon = "hover"
makes_rolling_sound = FALSE
held_item = /obj/item/roller/hover
patient_shift = 6
@@ -20,7 +20,7 @@
if(!held_item || use_check_and_message(usr) || buckled || (anchored && padding_material)) // Make sure held_item = null if you don't want it to get picked up.
return
usr.visible_message(SPAN_NOTICE("[usr] [withdraw_verb]s \the [src.name]."), SPAN_NOTICE("You [withdraw_verb] \the [src.name]."))
var/obj/item/material/stool/S = new held_item(src.loc, material.name, padding_material ? padding_material.name : null) // Handles all the material code so you don't have to.
var/obj/item/material/stool/S = new held_item(src.loc, material.name, padding_material ? padding_material.name : null, painted_colour) // Handles all the material code so you don't have to.
TransferComponents(S)
if(material_alteration & MATERIAL_ALTERATION_COLOR) // For snowflakes like wood chairs.
S.color = material.icon_colour
@@ -28,8 +28,6 @@
S.name = name // Get the name and desc of the stool, rather. We already went through all the trouble in New in bed.dm
if(material_alteration & MATERIAL_ALTERATION_DESC)
S.desc = desc
if(painted_colour)
S.painted_colour = painted_colour
if(blood_DNA)
S.blood_DNA |= blood_DNA // Transfer blood, if any.
S.add_blood()
@@ -163,7 +161,7 @@
)
icon_state = "stool_item_preview"
item_state = "stool"
var/base_icon = "stool"
base_icon = "stool"
desc_info = "Use in-hand or alt-click to right this."
randpixel = 0
center_of_mass = null
@@ -178,10 +176,12 @@
var/deploy_verb = "right"
var/painted_colour
/obj/item/material/stool/New(var/newloc, var/new_material, var/new_padding_material)
/obj/item/material/stool/New(var/newloc, var/new_material, var/new_padding_material, var/new_painted_colour)
..(newloc, new_material) // new_material handled in material_weapons.dm
if(new_padding_material)
padding_material = SSmaterials.get_material_by_name(new_padding_material)
if(new_painted_colour)
painted_colour = new_painted_colour
update_icon()
/obj/item/material/stool/attack_self(mob/user)
@@ -240,12 +240,12 @@
user.visible_message(SPAN_NOTICE("[user] [deploy_verb]s \the [src.name]."), SPAN_NOTICE("You [deploy_verb] \the [name]."))
// playsound(src, deploy_sound ? deploy_sound : drop_sound, DROP_SOUND_VOLUME)
user.drop_from_inventory(src)
var/obj/structure/bed/stool/S = new origin_type(get_turf(loc), material.name, padding_material ? padding_material.name : null) // Fuck me.
S.update_icon()
var/obj/structure/bed/stool/S = new origin_type(get_turf(loc), material.name, padding_material ? padding_material.name : null, painted_colour) // Fuck me.
TransferComponents(S)
S.dir = user.dir // Plant it where the user's facing
if(blood_DNA)
S.blood_DNA |= blood_DNA // Transfer blood.
S.update_icon()
qdel(src)
/obj/item/material/stool/update_icon()