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
@@ -20,6 +20,7 @@
obj/machinery/quantum_server/server,
obj/machinery/netpod/pod,
help_text,
copy_body,
)
if(!isliving(parent) || !isliving(old_body) || !old_mind || !server.is_operational || !pod.is_operational)
@@ -68,6 +69,15 @@
if(alias && avatar.real_name != alias)
avatar.fully_replace_character_name(newname = alias)
avatar.voice = old_body.voice
avatar.voice_filter = old_body.voice_filter
if(ishuman(avatar) && ishuman(old_body) && copy_body)
var/mob/living/carbon/human/human_avatar = avatar
var/mob/living/carbon/human/human_old_body = old_body
human_avatar.dna.unique_identity = human_old_body.dna.unique_identity
human_avatar.physique = human_old_body.physique
human_avatar.updateappearance(mutcolor_update = TRUE)
update_avatar_id()
avatar.mind.set_assigned_role(SSjob.get_job_type(/datum/job/bit_avatar))
@@ -34,12 +34,11 @@
return
var/need_mob_update = FALSE
need_mob_update += owner.adjustBruteLoss(-BASE_HEAL * seconds_per_tick, updating_health = FALSE)
need_mob_update += owner.adjustFireLoss(-BASE_HEAL * seconds_per_tick, updating_health = FALSE)
need_mob_update += owner.adjustToxLoss(-BASE_HEAL * seconds_per_tick, updating_health = FALSE, forced = TRUE)
need_mob_update += owner.adjust_brute_loss(-BASE_HEAL * seconds_per_tick, updating_health = FALSE)
need_mob_update += owner.adjust_fire_loss(-BASE_HEAL * seconds_per_tick, updating_health = FALSE)
need_mob_update += owner.adjust_tox_loss(-BASE_HEAL * seconds_per_tick, updating_health = FALSE, forced = TRUE)
if(owner.blood_volume < BLOOD_VOLUME_NORMAL)
owner.blood_volume += BASE_HEAL * seconds_per_tick
owner.adjust_blood_volume(BASE_HEAL * seconds_per_tick, maximum = BLOOD_VOLUME_NORMAL)
if(need_mob_update)
owner.updatehealth()
@@ -38,7 +38,7 @@
stack_trace("Virtual entity entered a location with no area!")
return
if(location_area.area_flags & VIRTUAL_SAFE_AREA)
if(location_area.area_flags_mapping & VIRTUAL_SAFE_AREA)
source.balloon_alert(source, "out of bounds!")
COOLDOWN_START(src, OOB_cooldown, 2 SECONDS)
return COMPONENT_MOVABLE_BLOCK_PRE_MOVE