From 0e057e99fb2c0d792aa98e05c1df1391aaaefadc Mon Sep 17 00:00:00 2001 From: CHOMPStation2StaffMirrorBot <94713762+CHOMPStation2StaffMirrorBot@users.noreply.github.com> Date: Fri, 26 Sep 2025 04:08:34 -0700 Subject: [PATCH] [MIRROR] fix vorepanel button for AI (#11737) Co-authored-by: Kashargul <144968721+Kashargul@users.noreply.github.com> --- code/_onclick/hud/ai.dm | 13 ++----------- code/_onclick/hud/screen_objects.dm | 8 +------- code/datums/outfits/jobs/job.dm | 2 ++ code/modules/admin/verbs/adminpm.dm | 4 ++-- code/modules/balloon_alert/balloon_alert.dm | 9 ++++++--- code/modules/mob/living/living.dm | 2 ++ code/modules/vore/eating/living_vr.dm | 2 ++ icons/mob/screen_ai.dmi | Bin 2700 -> 6099 bytes 8 files changed, 17 insertions(+), 23 deletions(-) diff --git a/code/_onclick/hud/ai.dm b/code/_onclick/hud/ai.dm index eff2cb71b1..00b772abac 100644 --- a/code/_onclick/hud/ai.dm +++ b/code/_onclick/hud/ai.dm @@ -118,18 +118,9 @@ using.layer = SCREEN_LAYER HUD.adding += using -//PDA message +//PDA Messenger using = new /atom/movable/screen() - using.name = "PDA - Send Message" - using.icon = HUD.ui_style - using.icon_state = "pda_send" - using.screen_loc = ui_ai_pda_send - using.layer = SCREEN_LAYER - HUD.adding += using - -//PDA log - using = new /atom/movable/screen() - using.name = "PDA - Show Message Log" + using.name = "PDA - Messenger" using.icon = HUD.ui_style using.icon_state = "pda_receive" using.screen_loc = ui_ai_pda_log diff --git a/code/_onclick/hud/screen_objects.dm b/code/_onclick/hud/screen_objects.dm index f4c605226f..059ae39c88 100644 --- a/code/_onclick/hud/screen_objects.dm +++ b/code/_onclick/hud/screen_objects.dm @@ -606,13 +606,7 @@ var/mob/living/silicon/ai/ai_user = usr ai_user.ai_checklaws() - if("PDA - Send Message") - if(isAI(usr)) - var/mob/living/silicon/ai/ai_user = usr - ai_user.aiPDA.start_program(ai_user.aiPDA.find_program(/datum/data/pda/app/messenger)) - ai_user.aiPDA.cmd_pda_open_ui(usr) - - if("PDA - Show Message Log") + if("PDA - Messenger") if(isAI(usr)) var/mob/living/silicon/ai/ai_user = usr ai_user.aiPDA.start_program(ai_user.aiPDA.find_program(/datum/data/pda/app/messenger)) diff --git a/code/datums/outfits/jobs/job.dm b/code/datums/outfits/jobs/job.dm index fdb7af5dbe..3e78803e4a 100644 --- a/code/datums/outfits/jobs/job.dm +++ b/code/datums/outfits/jobs/job.dm @@ -18,6 +18,8 @@ /decl/hierarchy/outfit/job/equip_id(mob/living/carbon/human/H, rank, assignment) var/obj/item/card/id/C = ..() + if(!C) + return var/datum/job/J = job_master.GetJob(rank) if(J) C.access = J.get_access() diff --git a/code/modules/admin/verbs/adminpm.dm b/code/modules/admin/verbs/adminpm.dm index 24e8acf664..dcb8d2cd65 100644 --- a/code/modules/admin/verbs/adminpm.dm +++ b/code/modules/admin/verbs/adminpm.dm @@ -108,8 +108,8 @@ //clean the message if it's not sent by a high-rank admin if(!check_rights(R_SERVER|R_DEBUG, FALSE)||irc)//no sending html to the poor bots msg = trim(sanitize(copytext(msg,1,MAX_MESSAGE_LEN))) - if(!msg) - return + if(!msg) + return if (src.handle_spam_prevention(MUTE_ADMINHELP)) return diff --git a/code/modules/balloon_alert/balloon_alert.dm b/code/modules/balloon_alert/balloon_alert.dm index a14c0da030..dc864e33bb 100644 --- a/code/modules/balloon_alert/balloon_alert.dm +++ b/code/modules/balloon_alert/balloon_alert.dm @@ -40,16 +40,19 @@ return //no! I don't want that. - if (isnull(viewer_client)) + if(isnull(viewer_client)) return - if (isbelly(src.loc)) + if(isbelly(src.loc)) return var/bound_width = world.icon_size - if (ismovable(src)) + if(ismovable(src)) var/atom/movable/movable_source = src bound_width = movable_source.bound_width + if(isrobot(src) || isanimal(src)) + bound_width += get_oversized_icon_offsets()["x"] + var/image/balloon_alert = image(loc = isturf(src) ? src : get_atom_on_turf(src), layer = ABOVE_MOB_LAYER) balloon_alert.plane = PLANE_RUNECHAT diff --git a/code/modules/mob/living/living.dm b/code/modules/mob/living/living.dm index 9656c2c8bc..49ce9b347f 100644 --- a/code/modules/mob/living/living.dm +++ b/code/modules/mob/living/living.dm @@ -1477,6 +1477,8 @@ screen_icon.icon = HUD.ui_style screen_icon.color = HUD.ui_color screen_icon.alpha = HUD.ui_alpha + if(isAI(user)) + screen_icon.screen_loc = ui_ai_pda_send LAZYADD(HUD.other_important, screen_icon) user.client?.screen += screen_icon diff --git a/code/modules/vore/eating/living_vr.dm b/code/modules/vore/eating/living_vr.dm index f505373bd8..a6a04b3f18 100644 --- a/code/modules/vore/eating/living_vr.dm +++ b/code/modules/vore/eating/living_vr.dm @@ -1282,6 +1282,8 @@ screen_icon.icon = HUD.ui_style screen_icon.color = HUD.ui_color screen_icon.alpha = HUD.ui_alpha + if(isAI(user)) + screen_icon.screen_loc = ui_ai_pda_send LAZYADD(HUD.other_important, screen_icon) user.client?.screen += screen_icon diff --git a/icons/mob/screen_ai.dmi b/icons/mob/screen_ai.dmi index 0e0d680666a740fa4c2e38dcc498068e3cfb655a..df94668cfa8ce06005b7c5c34ec300133d1e5c08 100644 GIT binary patch literal 6099 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 bE?xN-0HQtP%b4_000000NkvXXu0mjf2SfGW