Merge branch 'master' of https://github.com/tgstation/tgstation into Ghommie-tg27

This commit is contained in:
Ghommie
2020-11-01 14:38:30 +01:00
267 changed files with 1676 additions and 1746 deletions
+2 -1
View File
@@ -140,7 +140,8 @@
blacklisted_turfs = typecacheof(list(
/turf/open/space,
/turf/open/chasm,
/turf/open/lava))
/turf/open/lava,
/turf/open/transparent/openspace))
set_base_icon()
@@ -71,8 +71,8 @@
add_overlay(nest_overlay)
/obj/structure/bed/nest/post_unbuckle_mob(mob/living/M)
M.pixel_x = M.get_standard_pixel_x_offset(M.body_position == LYING_DOWN)
M.pixel_y = M.get_standard_pixel_y_offset(M.body_position == LYING_DOWN)
M.pixel_x = M.base_pixel_x + M.get_standard_pixel_x_offset(M.body_position == LYING_DOWN)
M.pixel_y = M.base_pixel_y + M.get_standard_pixel_y_offset(M.body_position == LYING_DOWN)
M.layer = initial(M.layer)
cut_overlay(nest_overlay)
@@ -101,8 +101,8 @@
/obj/structure/bed/roller/post_unbuckle_mob(mob/living/M)
density = FALSE
icon_state = "down"
M.pixel_x = M.get_standard_pixel_x_offset(M.body_position == LYING_DOWN)
M.pixel_y = M.get_standard_pixel_y_offset(M.body_position == LYING_DOWN)
M.pixel_x = M.base_pixel_x + M.get_standard_pixel_x_offset(M.body_position == LYING_DOWN)
M.pixel_y = M.base_pixel_y + M.get_standard_pixel_y_offset(M.body_position == LYING_DOWN)
/obj/item/roller
+4 -3
View File
@@ -46,9 +46,10 @@ LINEN BINS
/obj/item/bedsheet/attackby(obj/item/I, mob/user, params)
if(I.tool_behaviour == TOOL_WIRECUTTER || I.get_sharpness())
var/obj/item/stack/sheet/cloth/C = new (get_turf(src), 3)
transfer_fingerprints_to(C)
C.add_fingerprint(user)
if (!(flags_1 & HOLOGRAM_1))
var/obj/item/stack/sheet/cloth/shreds = new (get_turf(src), 3)
transfer_fingerprints_to(shreds)
shreds.add_fingerprint(user)
qdel(src)
to_chat(user, "<span class='notice'>You tear [src] up.</span>")
else
@@ -280,6 +280,7 @@
user.visible_message("<span class='notice'>[user] [welded ? "welds shut" : "unwelded"] \the [src].</span>",
"<span class='notice'>You [welded ? "weld" : "unwelded"] \the [src] with \the [W].</span>",
"<span class='hear'>You hear welding.</span>")
log_game("[key_name(user)] [welded ? "welded":"unwelded"] closet [src] with [W] at [AREACOORD(src)]")
update_icon()
else if(W.tool_behaviour == TOOL_WRENCH && anchorable)
if(isinspace() && !anchored)
@@ -249,3 +249,11 @@
..()
for(var/i in 1 to 5)
new /obj/item/coin/silver(src)
/obj/structure/closet/crate/decorations
icon_state = "engi_crate"
/obj/structure/closet/crate/decorations/PopulateContents()
. = ..()
for(var/i in 1 to 4)
new /obj/effect/spawner/lootdrop/decorations_spawner(src)
@@ -82,7 +82,7 @@
var/matrix/m180 = matrix(L.transform)
m180.Turn(180)
animate(L, transform = m180, time = 3)
L.pixel_y = L.get_standard_pixel_y_offset(180)
L.pixel_y = L.get_standard_pixel_y_offset(TRUE)
else if (has_buckled_mobs())
for(var/mob/living/L in buckled_mobs)
user_unbuckle_mob(L, user)
@@ -124,7 +124,7 @@
var/matrix/m180 = matrix(M.transform)
m180.Turn(180)
animate(M, transform = m180, time = 3)
M.pixel_y = M.get_standard_pixel_y_offset(180)
M.pixel_y = M.base_pixel_y + M.get_standard_pixel_y_offset(TRUE)
M.adjustBruteLoss(30)
src.visible_message(text("<span class='danger'>[M] falls free of [src]!</span>"))
unbuckle_mob(M,force=1)
@@ -35,8 +35,8 @@
if(istype(I, /obj/item/gun_control))
qdel(I)
if(istype(buckled_mob))
buckled_mob.pixel_x = 0
buckled_mob.pixel_y = 0
buckled_mob.pixel_x = buckled_mob.base_pixel_x
buckled_mob.pixel_y = buckled_mob.base_pixel_y
if(buckled_mob.client)
buckled_mob.client.view_size.resetToDefault()
anchored = FALSE
+2 -2
View File
@@ -277,7 +277,7 @@
/obj/structure/statue/elder_atmosian
name = "Elder Atmosian"
desc = "A statue of an Elder Atmosian, capable of bending the laws of thermodynamics to their will"
desc = "A statue of an Elder Atmosian, capable of bending the laws of thermodynamics to their will."
icon_state = "eng"
custom_materials = list(/datum/material/metalhydrogen = MINERAL_MATERIAL_AMOUNT*10)
max_integrity = 1000
@@ -286,7 +286,7 @@
/obj/item/chisel
name = "chisel"
desc = "breaking and making art since 4000 BC. This one uses advanced technology to allow creation of lifelike moving statues."
desc = "Breaking and making art since 4000 BC. This one uses advanced technology to allow the creation of lifelike moving statues."
icon = 'icons/obj/statue.dmi'
icon_state = "chisel"
inhand_icon_state = "screwdriver_nuke"
+32 -20
View File
@@ -21,36 +21,48 @@
var/framestack = /obj/item/stack/rods
var/framestackamount = 2
/obj/structure/table_frame/attackby(obj/item/I, mob/user, params)
if(I.tool_behaviour == TOOL_WRENCH)
to_chat(user, "<span class='notice'>You start disassembling [src]...</span>")
I.play_tool_sound(src)
if(I.use_tool(src, user, 30))
playsound(src.loc, 'sound/items/deconstruct.ogg', 50, TRUE)
deconstruct(TRUE)
return
var/obj/item/stack/material = I
if (istype(material))
if(material?.tableVariant)
/obj/structure/table_frame/wrench_act(mob/living/user, obj/item/I)
to_chat(user, "<span class='notice'>You start disassembling [src]...</span>")
I.play_tool_sound(src)
if(!I.use_tool(src, user, 3 SECONDS))
return TRUE
playsound(loc, 'sound/items/deconstruct.ogg', 50, TRUE)
deconstruct(TRUE)
return TRUE
/obj/structure/table_frame/attackby(obj/item/I, mob/user, params)
if(isstack(I))
var/obj/item/stack/material = I
if(material.tableVariant)
if(material.get_amount() < 1)
to_chat(user, "<span class='warning'>You need one [material.name] sheet to do this!</span>")
return
if(locate(/obj/structure/table) in loc)
to_chat(user, "<span class='warning'>There's already a table built here!</span>")
return
to_chat(user, "<span class='notice'>You start adding [material] to [src]...</span>")
if(do_after(user, 20, target = src) && material.use(1))
make_new_table(material.tableVariant)
if(!do_after(user, 2 SECONDS, target = src) || !material.use(1) || (locate(/obj/structure/table) in loc))
return
make_new_table(material.tableVariant)
else if(istype(material, /obj/item/stack/sheet))
if(material.get_amount() < 1)
to_chat(user, "<span class='warning'>You need one sheet to do this!</span>")
return
if(locate(/obj/structure/table) in loc)
to_chat(user, "<span class='warning'>There's already a table built here!</span>")
return
to_chat(user, "<span class='notice'>You start adding [material] to [src]...</span>")
if(do_after(user, 20, target = src) && material.use(1))
var/list/material_list = list()
if(material.material_type)
material_list[material.material_type] = MINERAL_MATERIAL_AMOUNT
make_new_table(/obj/structure/table/greyscale, material_list)
else
return ..()
if(!do_after(user, 2 SECONDS, target = src) || !material.use(1) || (locate(/obj/structure/table) in loc))
return
var/list/material_list = list()
if(material.material_type)
material_list[material.material_type] = MINERAL_MATERIAL_AMOUNT
make_new_table(/obj/structure/table/greyscale, material_list)
return
return ..()
/obj/structure/table_frame/proc/make_new_table(table_type, custom_materials) //makes sure the new table made retains what we had as a frame
var/obj/structure/table/T = new table_type(loc)