Files
Alexis 21b4095dfd [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>
2026-05-16 00:56:00 +02:00

114 lines
2.8 KiB
Plaintext

/atom/movable/screen/robot
icon = 'icons/hud/screen_cyborg.dmi'
mouse_over_pointer = MOUSE_HAND_POINTER
/atom/movable/screen/robot/module
name = "cyborg module"
icon_state = "nomod"
/atom/movable/screen/robot/Click(location, control, params)
if(isobserver(usr))
return TRUE
/atom/movable/screen/robot/module/Click(location, control, params)
. = ..()
var/mob/living/silicon/robot/robot_owner = hud.mymob
if(robot_owner.model.type == /obj/item/robot_model)
if(.)
return
robot_owner.pick_model()
return
var/list/modifiers = params2list(params)
if(robot_owner.module_active && !LAZYACCESS(modifiers, RIGHT_CLICK) && !.)
robot_owner.uneq_active()
return
// Observers can look at borg's inventories, so we ignore parent return value here, unlike everywhere else.
if(usr.active_storage == robot_owner.model.atom_storage)
robot_owner.model.atom_storage.hide_contents(usr)
else
robot_owner.model.atom_storage.open_storage(usr)
return TRUE
/atom/movable/screen/robot/module_slot
name = "module"
icon_state = "inv1"
base_icon_state = "inv1"
/// Slot number of the module
var/slot_num = 1
/atom/movable/screen/robot/module_slot/proc/set_slot(slot_num)
src.slot_num = slot_num
name = "module[slot_num]"
base_icon_state = "inv[slot_num]"
icon_state = base_icon_state
switch(slot_num)
if(BORG_CHOOSE_MODULE_ONE)
screen_loc = ui_inv1
if(BORG_CHOOSE_MODULE_TWO)
screen_loc = ui_inv2
if(BORG_CHOOSE_MODULE_THREE)
screen_loc = ui_inv3
/atom/movable/screen/robot/module_slot/Click()
if(..())
return
var/mob/living/silicon/robot/R = usr
R.toggle_module(slot_num)
/atom/movable/screen/robot/radio
name = "radio"
icon_state = "radio"
screen_loc = ui_borg_radio
/atom/movable/screen/robot/radio/Click()
if(..())
return
var/mob/living/silicon/robot/R = usr
R.radio.interact(R)
/atom/movable/screen/robot/lamp
name = "headlamp"
icon_state = "lamp_off"
base_icon_state = "lamp"
screen_loc = ui_borg_lamp
/atom/movable/screen/robot/lamp/Click()
. = ..()
if(.)
return
var/mob/living/silicon/robot/user = usr
user.toggle_headlamp()
update_appearance()
/atom/movable/screen/robot/lamp/update_icon_state()
icon_state = "[base_icon_state]_[astype(hud?.mymob, /mob/living/silicon/robot)?.lamp_enabled ? "on" : "off"]"
return ..()
/atom/movable/screen/robot/modpc
name = "Modular Interface"
icon_state = "template"
screen_loc = ui_borg_tablet
/atom/movable/screen/robot/modpc/Click()
. = ..()
if(.)
return
var/mob/living/silicon/robot/user = usr
user.modularInterface?.interact(user)
/atom/movable/screen/robot/alerts
name = "Alert Panel"
icon = 'icons/hud/screen_ai.dmi'
icon_state = "alerts"
screen_loc = ui_borg_alerts
/atom/movable/screen/robot/alerts/Click()
. = ..()
if(.)
return
var/mob/living/silicon/robot/borgo = usr
borgo.alert_control.ui_interact(borgo)