Merge branch 'master' of https://github.com/tgstation/tgstation into pupstream-2025-09-07

# Conflicts:
#	README.md
#	code/__DEFINES/admin.dm
#	code/__DEFINES/melee.dm
#	code/_globalvars/traits/_traits.dm
#	code/controllers/subsystem/economy.dm
#	code/datums/components/crafting/crafting.dm
#	code/datums/elements/crusher_loot.dm
#	code/modules/antagonists/pirate/pirate_shuttle_equipment.dm
#	code/modules/clothing/suits/_suits.dm
#	code/modules/escape_menu/leave_body.dm
#	code/modules/jobs/job_types/_job.dm
#	code/modules/mining/equipment/mineral_scanner.dm
#	code/modules/mob/living/living.dm
#	code/modules/plumbing/plumbers/pill_press.dm
#	tgui/packages/tgui/interfaces/Vending.tsx
This commit is contained in:
nevimer
2025-09-07 00:37:52 -04:00
362 changed files with 82084 additions and 106117 deletions
+2 -2
View File
@@ -49,7 +49,7 @@
/// Place an AI in control of your suit functions
/obj/item/mod/control/proc/ai_enter_mod(mob/living/silicon/ai/new_ai)
new_ai.control_disabled = FALSE
new_ai.set_control_disabled(FALSE)
new_ai.radio_enabled = TRUE
new_ai.ai_restore_power()
new_ai.cancel_camera()
@@ -62,7 +62,7 @@
/obj/item/mod/control/proc/ai_exit_mod(obj/item/aicard/card)
var/mob/living/silicon/ai/old_ai = ai_assistant
old_ai.ai_restore_power()//So the AI initially has power.
old_ai.control_disabled = TRUE
old_ai.set_control_disabled(TRUE)
old_ai.radio_enabled = FALSE
old_ai.disconnect_shell()
old_ai.forceMove(card)
+17 -3
View File
@@ -243,9 +243,9 @@
incompatible_modules = list(/obj/item/mod/module/status_readout)
tgui_id = "status_readout"
required_slots = list(ITEM_SLOT_BACK)
/// Does this show damage types, body temp, satiety
/// Does this show damage types, body temp, satiety?
var/display_detailed_vitals = TRUE
/// Does this show DNA data
/// Does this show DNA data?
var/display_dna = FALSE
/// Does this show the round ID and shift time?
var/display_time = FALSE
@@ -253,6 +253,8 @@
var/death_sound = 'sound/effects/flatline3.ogg'
/// Death sound volume. Please be responsible with this.
var/death_sound_volume = 50
/// Does this boost suit sensor status across Z-levels?
var/sensor_boost = TRUE
/obj/item/mod/module/status_readout/add_ui_data()
. = ..()
@@ -291,6 +293,7 @@
. = ..()
.["display_detailed_vitals"] = add_ui_configuration("Detailed Vitals", "bool", display_detailed_vitals)
.["display_dna"] = add_ui_configuration("DNA Information", "bool", display_dna)
.["sensor_boost"] = add_ui_configuration("Suit Sensor Booster", "bool", sensor_boost)
/obj/item/mod/module/status_readout/configure_edit(key, value)
switch(key)
@@ -298,12 +301,23 @@
display_detailed_vitals = text2num(value)
if("display_dna")
display_dna = text2num(value)
if("sensor_boost")
sensor_boost = text2num(value)
update_sensor_booster()
/obj/item/mod/module/status_readout/on_part_activation()
RegisterSignal(mod.wearer, COMSIG_LIVING_DEATH, PROC_REF(death_sound))
update_sensor_booster()
/obj/item/mod/module/status_readout/on_part_deactivation(deleting)
UnregisterSignal(mod.wearer, COMSIG_LIVING_DEATH)
REMOVE_TRAIT(mod.wearer, TRAIT_MULTIZ_SUIT_SENSORS, REF(src))
/obj/item/mod/module/status_readout/proc/update_sensor_booster()
if(sensor_boost)
ADD_TRAIT(mod.wearer, TRAIT_MULTIZ_SUIT_SENSORS, REF(src))
else
REMOVE_TRAIT(mod.wearer, TRAIT_MULTIZ_SUIT_SENSORS, REF(src))
/obj/item/mod/module/status_readout/proc/death_sound(mob/living/carbon/human/wearer)
SIGNAL_HANDLER
@@ -1010,7 +1024,7 @@
var/obj/item/gloves = mod.get_part_from_slot(ITEM_SLOT_GLOVES)
if(!gloves)
return
gloves.AddComponent(/datum/component/adjust_fishing_difficulty, 5)
gloves.AddComponent(/datum/component/adjust_fishing_difficulty, -5)
if(equipped)
gloves.AddComponent(/datum/component/profound_fisher, equipped, delete_rod_when_deleted = FALSE)
@@ -304,6 +304,7 @@
and even useful information such as their overall health and wellness. This one comes with a clock that calibrates to the \
local system time, and an operational ID number display. The vital monitor's speaker has been removed."
display_time = TRUE
sensor_boost = FALSE
death_sound = null
death_sound_volume = null
+3 -3
View File
@@ -343,13 +343,13 @@
if(!locker.Adjacent(mod.wearer) || !isturf(locker.loc) || !isturf(mod.wearer.loc))
return
mod.wearer.start_pulling(locker)
locker.strong_grab = TRUE
ADD_TRAIT(locker, TRAIT_STRONGPULL, REF(mod.wearer))
RegisterSignal(locker, COMSIG_ATOM_NO_LONGER_PULLED, PROC_REF(on_stop_pull))
/obj/item/mod/module/magnet/proc/on_stop_pull(obj/structure/closet/locker, atom/movable/last_puller)
SIGNAL_HANDLER
locker.strong_grab = FALSE
REMOVE_TRAIT(locker, TRAIT_STRONGPULL, REF(mod.wearer))
UnregisterSignal(locker, COMSIG_ATOM_NO_LONGER_PULLED)
/obj/item/mod/module/ash_accretion
@@ -369,7 +369,7 @@
/// Armor values per tile.
var/datum/armor/armor_mod = /datum/armor/mod_ash_accretion
/// Speed added when you're fully covered in ash.
var/speed_added = -0.5
var/speed_added = -0.75
/// Turfs that let us accrete ash.
var/static/list/accretion_turfs
/// Turfs that let us keep ash.