Merge remote-tracking branch 'tgstation/master' into upstream-2025-11-29

# Conflicts:
#	_maps/RandomRuins/SpaceRuins/derelict_sulaco.dmm
#	_maps/RandomRuins/SpaceRuins/garbagetruck2.dmm
#	_maps/map_files/CatwalkStation/CatwalkStation_2023.dmm
#	_maps/map_files/tramstation/tramstation.dmm
#	code/_onclick/hud/new_player.dm
#	code/datums/components/squashable.dm
#	code/datums/diseases/advance/symptoms/heal.dm
#	code/datums/diseases/chronic_illness.dm
#	code/datums/status_effects/buffs.dm
#	code/datums/status_effects/debuffs/drunk.dm
#	code/datums/status_effects/debuffs/stamcrit.dm
#	code/game/machinery/computer/crew.dm
#	code/game/objects/items/devices/scanners/health_analyzer.dm
#	code/game/objects/items/wall_mounted.dm
#	code/game/turfs/closed/indestructible.dm
#	code/modules/admin/view_variables/filterrific.dm
#	code/modules/antagonists/heretic/influences.dm
#	code/modules/cargo/orderconsole.dm
#	code/modules/client/preferences.dm
#	code/modules/events/space_vines/vine_mutations.dm
#	code/modules/mob/dead/new_player/new_player.dm
#	code/modules/mob/living/carbon/human/death.dm
#	code/modules/mob/living/carbon/human/species_types/jellypeople.dm
#	code/modules/mob/living/damage_procs.dm
#	code/modules/mob/living/living.dm
#	code/modules/mob_spawn/ghost_roles/mining_roles.dm
#	code/modules/mob_spawn/mob_spawn.dm
#	code/modules/projectiles/ammunition/energy/laser.dm
#	code/modules/projectiles/guns/ballistic/launchers.dm
#	code/modules/projectiles/guns/energy/laser.dm
#	code/modules/reagents/chemistry/machinery/chem_dispenser.dm
#	code/modules/reagents/chemistry/reagents/cat2_medicine_reagents.dm
#	code/modules/reagents/chemistry/reagents/drinks/alcohol_reagents.dm
#	code/modules/reagents/chemistry/reagents/medicine_reagents.dm
#	code/modules/surgery/healing.dm
#	code/modules/unit_tests/designs.dm
#	icons/mob/inhands/items_lefthand.dmi
#	icons/mob/inhands/items_righthand.dmi
#	tgui/packages/tgui/interfaces/ChemDispenser.tsx
This commit is contained in:
nevimer
2025-11-29 22:49:21 -05:00
1185 changed files with 39068 additions and 32028 deletions
+5 -2
View File
@@ -121,9 +121,9 @@
AddElement(/datum/element/atmos_sensitive, mapload)
AddElement(/datum/element/contextual_screentip_bare_hands, rmb_text = "Remove bulb")
if(mapload)
find_and_hang_on_wall()
find_and_hang_on_atom(mark_for_late_init = TRUE)
/obj/machinery/light/find_and_hang_on_wall()
/obj/machinery/light/find_and_hang_on_atom(mark_for_late_init = FALSE, late_init = FALSE)
if(break_if_moved)
return ..()
@@ -753,6 +753,9 @@
nightshift_brightness = 4
fire_brightness = 4.5
/obj/machinery/light/floor/find_and_hang_on_atom(mark_for_late_init = FALSE, late_init = FALSE)
return //its a floor light not a wall light
/obj/machinery/light/floor/get_light_offset()
return list(0, 0)
@@ -30,8 +30,11 @@
/obj/structure/light_construct/Initialize(mapload)
. = ..()
if(mapload)
find_and_hang_on_wall()
if(mapload && !find_and_hang_on_atom(mark_for_late_init = TRUE))
return INITIALIZE_HINT_LATELOAD
/obj/structure/light_construct/LateInitialize()
find_and_hang_on_atom(late_init = TRUE)
/obj/structure/light_construct/Destroy()
QDEL_NULL(cell)
@@ -147,7 +150,7 @@
if("floor")
new_light = new /obj/machinery/light/floor/empty(loc)
new_light.setDir(dir)
new_light.find_and_hang_on_wall()
new_light.find_and_hang_on_atom()
transfer_fingerprints_to(new_light)
if(!QDELETED(cell))
new_light.cell = cell
@@ -109,6 +109,9 @@ MAPPING_DIRECTIONAL_HELPERS(/obj/machinery/light, 0)
// ---- Broken tube
MAPPING_DIRECTIONAL_HELPERS(/obj/machinery/light/broken, 0)
// ---- Burned tube
MAPPING_DIRECTIONAL_HELPERS(/obj/machinery/light/burned, 0)
// ---- Tube construct
MAPPING_DIRECTIONAL_HELPERS(/obj/structure/light_construct, 0)
@@ -161,6 +164,9 @@ MAPPING_DIRECTIONAL_HELPERS(/obj/machinery/light/small/empty, 0)
// ---- Broken bulbs
MAPPING_DIRECTIONAL_HELPERS(/obj/machinery/light/small/broken, 0)
// ---- Burned bulb
MAPPING_DIRECTIONAL_HELPERS(/obj/machinery/light/small/burned, 0)
// ---- Red bulbs
MAPPING_DIRECTIONAL_HELPERS(/obj/machinery/light/small/dim, 0)
@@ -6,6 +6,16 @@
result_path = /obj/structure/light_construct
wall_external = TRUE
/obj/item/wallframe/light_fixture/find_support_structure(atom/structure)
return istype(structure, /obj/structure/window) ? structure : ..()
/obj/item/wallframe/light_fixture/try_build(atom/support, mob/user)
var/area/A = get_area(user)
if(A.always_unpowered)
balloon_alert(user, "cannot place in this area!")
return FALSE
return ..()
/obj/item/wallframe/light_fixture/small
name = "small light fixture frame"
icon_state = "bulb-construct-item"