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
@@ -943,7 +943,7 @@
var/turf/drop_location = find_obstruction_free_location(1, src)
if(disassembled)
new /obj/item/wallframe/tram/controller(drop_location)
new /obj/item/wallframe/tram(drop_location)
else
new /obj/item/stack/sheet/mineral/titanium(drop_location, 2)
new /obj/item/stack/sheet/iron(drop_location)
@@ -1190,7 +1190,7 @@
controller_datum.set_home_controller(src)
RegisterSignal(SStransport, COMSIG_TRANSPORT_ACTIVE, PROC_REF(sync_controller))
/obj/item/wallframe/tram/controller
/obj/item/wallframe/tram
name = "tram controller cabinet"
desc = "A box that contains the equipment to control a tram. Just secure to the tram wall."
icon = 'icons/obj/tram/tram_controllers.dmi'
@@ -1199,6 +1199,9 @@
result_path = /obj/machinery/transport/tram_controller
pixel_shift = 32
/obj/item/wallframe/tram/find_support_structure(atom/structure)
return astype(structure, /obj/structure/tram)
/obj/item/wallframe/tram/try_build(obj/structure/tram/on_tram, mob/user)
var/turf/tram_turf = get_turf(user)
var/obj/structure/thermoplastic/tram_floor = locate() in tram_turf
@@ -218,29 +218,11 @@
for(var/i in 1 to mineral_amount)
new mineral(loc)
/obj/structure/tram/attackby(obj/item/item, mob/user, list/modifiers, list/attack_modifiers)
. = ..()
if(istype(item, /obj/item/wallframe/tram))
try_wallmount(item, user)
/obj/structure/tram/proc/try_wallmount(obj/item/wallmount, mob/user)
if(!istype(wallmount, /obj/item/wallframe/tram))
return
var/obj/item/wallframe/frame = wallmount
if(frame.try_build(src, user))
frame.attach(src, user)
return
/*
* Other misc tramwall types
*/
/obj/structure/tram/alt
/obj/structure/tram/alt/titanium
name = "solid tram"
desc = "A lightweight titanium composite structure. There is further solid plating where the panels usually attach to the frame."