[MDB IGNORE] [IDB IGNORE] Upstream Sync - 04/17/2026 (#5453)

Upstream 04/17/2026

fixes https://github.com/Bubberstation/Bubberstation/issues/5549

---------

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: tgstation-ci[bot] <179393467+tgstation-ci[bot]@users.noreply.github.com>
Co-authored-by: ArcaneMusic <41715314+ArcaneMusic@users.noreply.github.com>
Co-authored-by: MrMelbert <51863163+MrMelbert@users.noreply.github.com>
Co-authored-by: Rhials <28870487+Rhials@users.noreply.github.com>
Co-authored-by: rageguy505 <54517726+rageguy505@users.noreply.github.com>
Co-authored-by: LemonInTheDark <58055496+LemonInTheDark@users.noreply.github.com>
Co-authored-by: John Willard <53777086+JohnFulpWillard@users.noreply.github.com>
Co-authored-by: Aliceee2ch <160794176+Aliceee2ch@users.noreply.github.com>
Co-authored-by: Time-Green <7501474+Time-Green@users.noreply.github.com>
Co-authored-by: Tsar-Salat <62388554+Tsar-Salat@users.noreply.github.com>
Co-authored-by: SmArtKar <44720187+SmArtKar@users.noreply.github.com>
Co-authored-by: Maxipat <108554989+Maxipat112@users.noreply.github.com>
Co-authored-by: SyncIt21 <110812394+SyncIt21@users.noreply.github.com>
Co-authored-by: deltanedas <39013340+deltanedas@users.noreply.github.com>
Co-authored-by: SimplyLogan <47579821+loganuk@users.noreply.github.com>
Co-authored-by: loganuk <fakeemail123@aol.com>
Co-authored-by: Leland Kemble <70413276+lelandkemble@users.noreply.github.com>
Co-authored-by: FalloutFalcon <86381784+FalloutFalcon@users.noreply.github.com>
Co-authored-by: Roxy <75404941+TealSeer@users.noreply.github.com>
Co-authored-by: Lucy <lucy@absolucy.moe>
Co-authored-by: siliconOpossum <138069572+siliconOpossum@users.noreply.github.com>
Co-authored-by: Isratosh <Isratosh@hotmail.com>
Co-authored-by: TheRyeGuyWhoWillNowDie <70169560+TheRyeGuyWhoWillNowDie@users.noreply.github.com>
Co-authored-by: Neocloudy <88008002+Neocloudy@users.noreply.github.com>
Co-authored-by: Alexander V. <volas@ya.ru>
Co-authored-by: ElGitificador <168473461+ElGitificador@users.noreply.github.com>
Co-authored-by: Twaticus <46540570+Twaticus@users.noreply.github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Bloop <13398309+vinylspiders@users.noreply.github.com>
Co-authored-by: Cameron Lennox <killer65311@gmail.com>
Co-authored-by: Tim <timothymtorres@gmail.com>
Co-authored-by: Iamgoofball <iamgoofball@gmail.com>
Co-authored-by: Layzu666 <121319428+Layzu666@users.noreply.github.com>
Co-authored-by: Arturlang <24881678+Arturlang@users.noreply.github.com>
Co-authored-by: _0Steven <42909981+00-Steven@users.noreply.github.com>
Co-authored-by: mrmanlikesbt <99309552+mrmanlikesbt@users.noreply.github.com>
Co-authored-by: Ben10Omintrix <138636438+Ben10Omintrix@users.noreply.github.com>
Co-authored-by: John F. Kennedy <54908920+MacaroniCritter@users.noreply.github.com>
Co-authored-by: Cursor <102828457+theselfish@users.noreply.github.com>
Co-authored-by: Josh <josh.adam.powell@gmail.com>
Co-authored-by: Josh Powell <josh.powell@softwire.com>
Co-authored-by: Yobrocharlie <Charliemiller5617@gmail.com>
Co-authored-by: Hardly3D <66234359+Hardly3D@users.noreply.github.com>
Co-authored-by: shayoki <96078776+shayoki@users.noreply.github.com>
Co-authored-by: LT3 <83487515+lessthnthree@users.noreply.github.com>
This commit is contained in:
Alexis
2026-05-16 00:56:00 +02:00
committed by GitHub
co-authored by tgstation-ci[bot] <179393467+tgstation-ci[bot]@users.noreply.github.com> ArcaneMusic MrMelbert Rhials rageguy505 LemonInTheDark John Willard Aliceee2ch Time-Green Tsar-Salat SmArtKar Maxipat SyncIt21 deltanedas SimplyLogan loganuk Leland Kemble FalloutFalcon Roxy Lucy siliconOpossum Isratosh TheRyeGuyWhoWillNowDie Neocloudy Alexander V. ElGitificador Twaticus dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Bloop Cameron Lennox Tim Iamgoofball Layzu666 Arturlang _0Steven mrmanlikesbt Ben10Omintrix John F. Kennedy Cursor Josh Josh Powell Yobrocharlie Hardly3D shayoki LT3
parent d1f6ed3137
commit 21b4095dfd
2082 changed files with 60158 additions and 140127 deletions
@@ -62,6 +62,21 @@
new shell_type(get_turf(src), /* creator = */ user, /* made_of = */ stack_type)
qdel(src)
/obj/item/golem_shell/crowbar_act(mob/living/user, obj/item/tool)
. = ..()
to_chat(user, span_notice("You begin dislodging structurally integral chunks."))
playsound(src, 'sound/items/tools/crowbar.ogg', 70)
if(!do_after(user, delay = 1 SECONDS, target = src))
return
if(QDELETED(src))
return
new /obj/item/stack/sheet/mineral/adamantine(get_turf(src), 1) //Return less than was used to construct the shell
to_chat(user, span_notice("The shell collapses in on itself!"))
playsound(src, 'sound/effects/rock/rock_break.ogg', 40)
qdel(src)
return
///made with xenobiology, the golem obeys its creator
/obj/item/golem_shell/servant
name = "incomplete servant golem shell"
@@ -147,7 +147,7 @@
pixel_y = 22
alpha = 0
/// Who are we following?
var/atom/parent
var/atom/movable/parent
/// Datum which keeps us hanging out with our parent
var/datum/movement_detector/tracker
/// Type of projectile we fire
@@ -184,15 +184,22 @@
for (var/mob/living/potential_target in oview(5, src))
if (!ismining(potential_target) || potential_target.stat == DEAD)
continue
if (!potential_target.has_faction(target_faction))
if (!potential_target.has_faction(target_faction) || parent.has_ally(potential_target))
continue
shoot_at(potential_target)
return
/// Take a shot
/obj/effect/watcher_orbiter/proc/shoot_at(atom/target)
var/list/ignore_targets = list(parent)
if(isliving(parent))
var/mob/living/living_parent = parent
if(LAZYLEN(living_parent.buckled_mobs))
ignore_targets += living_parent.buckled_mobs
if(living_parent.buckled)
ignore_targets += living_parent.buckled
COOLDOWN_START(src, shot_cooldown, fire_delay)
fire_projectile(projectile_type, target, projectile_sound, ignore_targets = list(parent))
fire_projectile(projectile_type, target, projectile_sound, ignore_targets = ignore_targets)
/// Set ourselves up to track and orbit around a guy
/obj/effect/watcher_orbiter/proc/follow(atom/movable/target)
@@ -105,7 +105,7 @@
/turf/open/mirage/Initialize(mapload)
. = ..()
if(isnull(range))
range = world.view
range = (maxviewdist() - 1) / 2
var/used_z = target_turf_z || z //if target z is not defined, use ours
var/turf/target = locate(offset ? target_turf_x + x : target_turf_x, offset ? target_turf_y + y : target_turf_y, used_z)
AddElement(/datum/element/mirage_border, target, dir, range)
@@ -390,6 +390,8 @@ GLOBAL_VAR_INIT(hhMysteryRoomNumber, rand(1, 999999))
/datum/action/peephole_cancel/Trigger(mob/clicker, trigger_flags)
. = ..()
if(!.)
return
to_chat(owner, span_warning("You move away from the peephole."))
owner.reset_perspective()
owner.clear_fullscreen("remote_view", 0)