From 761585ae0fad3b34bc406fb5fc6c09cd4ebd4a58 Mon Sep 17 00:00:00 2001 From: Odairu <39929315+Odairu@users.noreply.github.com> Date: Wed, 24 Jun 2026 08:39:40 -0400 Subject: [PATCH] Fixes runtime that blocks latejoin AI from syncing cyborgs (#5830) ## About The Pull Request Title ## Why It's Good For The Game bugfix while waiting on upstream ## Proof Of Testing it works, I pawmise
Screenshots/Videos
## Changelog :cl: fix: fixes runtime and cyborgs should get claimed by latejoin AIs now /:cl: --- code/modules/jobs/job_types/_job.dm | 2 +- code/modules/mob/living/silicon/ai/ai.dm | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/code/modules/jobs/job_types/_job.dm b/code/modules/jobs/job_types/_job.dm index 5edbf0780f7..80d95ef3553 100644 --- a/code/modules/jobs/job_types/_job.dm +++ b/code/modules/jobs/job_types/_job.dm @@ -573,7 +573,7 @@ var/mob/living/spawn_instance if(ispath(spawn_type, /mob/living/silicon/ai)) // This is unfortunately necessary because of snowflake AI init code. To be refactored. - spawn_instance = new spawn_type(get_turf(spawn_point), null, player_client.mob) + spawn_instance = new spawn_type(get_turf(spawn_point), null, player_client.mob, TRUE) else spawn_instance = spawn_point.JoinPlayerHere(spawn_type, TRUE) spawn_instance.apply_prefs_job(player_client, src) diff --git a/code/modules/mob/living/silicon/ai/ai.dm b/code/modules/mob/living/silicon/ai/ai.dm index 756ef0dea36..d09a846f408 100644 --- a/code/modules/mob/living/silicon/ai/ai.dm +++ b/code/modules/mob/living/silicon/ai/ai.dm @@ -2,7 +2,7 @@ #define CHARACTER_TYPE_SELF "My Character" #define CHARACTER_TYPE_CREWMEMBER "Station Member" -/mob/living/silicon/ai/Initialize(mapload, datum/ai_laws/L, mob/target_ai) +/mob/living/silicon/ai/Initialize(mapload, datum/ai_laws/L, mob/target_ai, latejoining = FALSE) . = ..() if(!target_ai) //If there is no player/brain inside. new/obj/structure/ai_core(loc, CORE_STATE_FINISHED) //New empty terminal. @@ -23,7 +23,7 @@ create_eye() - if((target_ai.mind && target_ai.mind.active) || SSticker.current_state == GAME_STATE_SETTING_UP) + if((target_ai.mind && target_ai.mind.active) || SSticker.current_state == GAME_STATE_SETTING_UP || latejoining) target_ai.mind.transfer_to(src) if(is_antag()) to_chat(src, span_userdanger("You have been installed as an AI! "))