From 04e07752b624810fb58f6593b6d533e77fa74289 Mon Sep 17 00:00:00 2001 From: necromanceranne <40847847+necromanceranne@users.noreply.github.com> Date: Fri, 5 Sep 2025 05:20:20 +1000 Subject: [PATCH] Removes paramedic's extra access that isn't medical related or maintenance (#92751) What it says on the tin. Paramedics still retain their expanded access on lowpop. I gave myself a task and I guess I'm doing it. I even made it six months in case I changed my mind, and in that time, I actually was more and more convinced it was the right course of action. [I've attempted at least one moderate approach to resolving this problem and it ended up going nowhere.](https://github.com/tgstation/tgstation/pull/84422) Metek attempted a few times and nothing happened. I've already iterated a lot of the gameplay issues in my first PR. I won't repeat them, just expand my frustrations since then. I went from annoyance to pure resentment of the role existing during that time as I've had to deal with more and more paramedic tiders with time. Paramedics actively fuck with mapping in a way that maps were not designed to accommodate, nor should they be in the first place. It is pretty reasonable to expect that the only people who should have access to a department are those who are from that department, have expanded access from being a head of staff, or got access from the HOP. Paramedics come pre-packaged with this expanded access as a non-head, so they just are out the gate more versatile than the vast majority of other roles while also having an entire department onto themselves (short of pharmacy access on all but skeleton crew). Trying to accommodate paramedics likely will start to have negative quality of life impacts on other roles just to contain a role that probably shouldn't be entitled to this kind of access in the first place. [Even in the original PR that introduced paramedics](https://github.com/tgstation/tgstation/pull/48236), Denton acknowledged the potential problem of paramedics becoming Doctor+, but failed to followup on auditing what they actually could access. So the end result is more or less what he didn't want to have happen. Paramedics are better than most roles in general. not just doctors. Paramedics have almost as much access as most heads of staff. And maps rarely have consistently planned spaces for what constitutes a 'lobby'. Often times there can even be an open floor plan that paramedics can waltz right into and do what they like in. Because, as I said, mappers create maps with the expectation that the people who can access those areas probably are in that department or are a head of staff with broad access. I'm not interested in waiting for overengineered solutions. We bite the bullet and tell paramedics to cope, because they're getting snowflaked to be able to go where they please for reasons that don't seem to be the primary concern of the people who are abusing the levity provided to this role. It's just too much of a low hanging fruit for abuse. # I already asked maptainers long ago about this and they said "No" to making map changes to contain paramedics. Don't bother bringing it up. --- code/__DEFINES/jobs.dm | 2 ++ code/datums/id_trim/jobs.dm | 22 +++++++-------- .../mob/living/basic/bots/medbot/medbot.dm | 28 ++++++++++++++++++- 3 files changed, 40 insertions(+), 12 deletions(-) diff --git a/code/__DEFINES/jobs.dm b/code/__DEFINES/jobs.dm index cf2a12025f6..4a90ce567fa 100644 --- a/code/__DEFINES/jobs.dm +++ b/code/__DEFINES/jobs.dm @@ -136,6 +136,8 @@ JOB_ATMOSPHERIC_TECHNICIAN, \ ) +//Bots +#define JOB_MEDIBOT "Medibot" #define JOB_DISPLAY_ORDER_ASSISTANT 1 #define JOB_DISPLAY_ORDER_CAPTAIN 2 diff --git a/code/datums/id_trim/jobs.dm b/code/datums/id_trim/jobs.dm index e0b6a79aea2..2ed95da5783 100644 --- a/code/datums/id_trim/jobs.dm +++ b/code/datums/id_trim/jobs.dm @@ -831,24 +831,24 @@ subdepartment_color = COLOR_MEDICAL_BLUE sechud_icon_state = SECHUD_PARAMEDIC minimal_access = list( + ACCESS_MAINT_TUNNELS, + ACCESS_MECH_MEDICAL, + ACCESS_MEDICAL, + ACCESS_MORGUE, + ) + extra_access = list( ACCESS_BIT_DEN, ACCESS_CARGO, ACCESS_CONSTRUCTION, ACCESS_HYDROPONICS, - ACCESS_MAINT_TUNNELS, - ACCESS_MECH_MEDICAL, - ACCESS_MEDICAL, - ACCESS_MINERAL_STOREROOM, - ACCESS_MINING, - ACCESS_MINING_STATION, - ACCESS_MORGUE, - ACCESS_SCIENCE, - ACCESS_SERVICE, - ) - extra_access = list( ACCESS_SURGERY, ACCESS_VIROLOGY, ACCESS_PHARMACY, + ACCESS_MINERAL_STOREROOM, + ACCESS_MINING, + ACCESS_MINING_STATION, + ACCESS_SCIENCE, + ACCESS_SERVICE, ) template_access = list( ACCESS_CAPTAIN, diff --git a/code/modules/mob/living/basic/bots/medbot/medbot.dm b/code/modules/mob/living/basic/bots/medbot/medbot.dm index 92afa3006dd..a4832956ea6 100644 --- a/code/modules/mob/living/basic/bots/medbot/medbot.dm +++ b/code/modules/mob/living/basic/bots/medbot/medbot.dm @@ -23,7 +23,7 @@ hackables = "health processor circuits" possessed_message = "You are a medbot! Ensure good health among the crew to the best of your ability!" - additional_access = /datum/id_trim/job/paramedic + additional_access = /datum/id_trim/medibot announcement_type = /datum/action/cooldown/bot_announcement/medbot path_image_color = "#d9d9f4" @@ -368,6 +368,32 @@ if(CanReach(patient)) melee_attack(patient) +/datum/id_trim/medibot + assignment = JOB_MEDIBOT + trim_state = "trim_paramedic" + department_color = COLOR_MEDICAL_BLUE + subdepartment_color = COLOR_MEDICAL_BLUE + sechud_icon_state = SECHUD_PARAMEDIC + access = list( + ACCESS_BIT_DEN, + ACCESS_CARGO, + ACCESS_CONSTRUCTION, + ACCESS_HYDROPONICS, + ACCESS_MAINT_TUNNELS, + ACCESS_MECH_MEDICAL, + ACCESS_MEDICAL, + ACCESS_MINERAL_STOREROOM, + ACCESS_MINING, + ACCESS_MINING_STATION, + ACCESS_MORGUE, + ACCESS_SCIENCE, + ACCESS_SERVICE, + ACCESS_SURGERY, + ACCESS_VIROLOGY, + ACCESS_PHARMACY, + ) + honorifics = list("Medical Robot") + honorific_positions = HONORIFIC_POSITION_FIRST | HONORIFIC_POSITION_LAST | HONORIFIC_POSITION_FIRST_FULL | HONORIFIC_POSITION_NONE /mob/living/basic/bot/medbot/autopatrol bot_mode_flags = BOT_MODE_ON | BOT_MODE_AUTOPATROL | BOT_MODE_REMOTE_ENABLED | BOT_MODE_CAN_BE_SAPIENT | BOT_MODE_ROUNDSTART_POSSESSION