mirror of
https://github.com/Bubberstation/Bubberstation.git
synced 2026-07-10 23:54:14 +01:00
21b4095dfd
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>
196 lines
4.6 KiB
Plaintext
196 lines
4.6 KiB
Plaintext
#define PAI_MISSING_SOFTWARE_MESSAGE span_warning("You must download the required software to use this.")
|
|
|
|
/atom/movable/screen/pai
|
|
icon = 'icons/hud/screen_pai.dmi'
|
|
mouse_over_pointer = MOUSE_HAND_POINTER
|
|
var/required_software
|
|
|
|
/atom/movable/screen/pai/Click()
|
|
if(isobserver(usr) || usr.incapacitated)
|
|
return FALSE
|
|
var/mob/living/silicon/pai/user = usr
|
|
if(required_software && !user.installed_software.Find(required_software))
|
|
to_chat(user, PAI_MISSING_SOFTWARE_MESSAGE)
|
|
return FALSE
|
|
return TRUE
|
|
|
|
/atom/movable/screen/pai/software
|
|
name = "Software Interface"
|
|
icon_state = "pai"
|
|
screen_loc = ui_pai_software
|
|
|
|
/atom/movable/screen/pai/software/Click()
|
|
if(!..())
|
|
return
|
|
var/mob/living/silicon/pai/pAI = usr
|
|
pAI.ui_interact(pAI)
|
|
|
|
/atom/movable/screen/pai/shell
|
|
name = "Toggle Holoform"
|
|
icon_state = "pai_holoform"
|
|
screen_loc = ui_pai_shell
|
|
|
|
/atom/movable/screen/pai/shell/Click()
|
|
if(!..())
|
|
return
|
|
var/mob/living/silicon/pai/pAI = usr
|
|
if(pAI.holoform)
|
|
pAI.fold_in(0)
|
|
else
|
|
pAI.fold_out()
|
|
|
|
/atom/movable/screen/pai/chassis
|
|
name = "Holochassis Appearance Composite"
|
|
icon_state = "pai_chassis"
|
|
screen_loc = ui_pai_chassis
|
|
|
|
/atom/movable/screen/pai/chassis/Click()
|
|
if(!..())
|
|
return
|
|
var/mob/living/silicon/pai/pAI = usr
|
|
pAI.choose_chassis()
|
|
|
|
/atom/movable/screen/pai/rest
|
|
name = "Rest"
|
|
icon_state = "pai_rest"
|
|
screen_loc = ui_pai_rest
|
|
|
|
/atom/movable/screen/pai/rest/Click()
|
|
if(!..())
|
|
return
|
|
var/mob/living/silicon/pai/pAI = usr
|
|
pAI.toggle_resting()
|
|
|
|
/atom/movable/screen/pai/light
|
|
name = "Toggle Integrated Lights"
|
|
icon_state = "light"
|
|
screen_loc = ui_pai_light
|
|
|
|
/atom/movable/screen/pai/light/Click()
|
|
if(!..())
|
|
return
|
|
var/mob/living/silicon/pai/pAI = usr
|
|
pAI.toggle_integrated_light()
|
|
|
|
/atom/movable/screen/pai/newscaster
|
|
name = "pAI Newscaster"
|
|
icon_state = "newscaster"
|
|
screen_loc = ui_pai_newscaster
|
|
required_software = "Newscaster"
|
|
|
|
/atom/movable/screen/pai/newscaster/Click()
|
|
if(!..())
|
|
return
|
|
var/mob/living/silicon/pai/pAI = usr
|
|
pAI.newscaster.ui_interact(usr)
|
|
|
|
/atom/movable/screen/pai/host_monitor
|
|
name = "Host Health Scan"
|
|
icon_state = "host_monitor"
|
|
screen_loc = ui_pai_host_monitor
|
|
required_software = "Host Scan"
|
|
|
|
/atom/movable/screen/pai/host_monitor/Click(location, control, params)
|
|
. = ..()
|
|
if(!.)
|
|
return
|
|
var/mob/living/silicon/pai/pAI = usr
|
|
var/list/modifiers = params2list(params)
|
|
if(LAZYACCESS(modifiers, LEFT_CLICK))
|
|
pAI.host_scan(PAI_SCAN_TARGET)
|
|
return TRUE
|
|
if(LAZYACCESS(modifiers, RIGHT_CLICK))
|
|
pAI.host_scan(PAI_SCAN_MASTER)
|
|
return TRUE
|
|
|
|
/atom/movable/screen/pai/crew_manifest
|
|
name = "Crew Manifest"
|
|
icon_state = "manifest"
|
|
screen_loc = ui_pai_crew_manifest
|
|
required_software = "Crew Manifest"
|
|
|
|
/atom/movable/screen/pai/crew_manifest/Click()
|
|
if(!..())
|
|
return
|
|
var/mob/living/silicon/pai/pAI = usr
|
|
pAI.ai_roster()
|
|
|
|
/atom/movable/screen/pai/state_laws
|
|
name = "State Laws"
|
|
icon_state = "state_laws"
|
|
screen_loc = ui_pai_state_laws
|
|
|
|
/atom/movable/screen/pai/state_laws/Click()
|
|
if(!..())
|
|
return
|
|
var/mob/living/silicon/pai/pAI = usr
|
|
pAI.checklaws()
|
|
|
|
/atom/movable/screen/pai/modpc
|
|
name = "Messenger"
|
|
icon_state = "pda_send"
|
|
screen_loc = ui_pai_mod_int
|
|
required_software = "Digital Messenger"
|
|
|
|
/atom/movable/screen/pai/modpc/Click()
|
|
. = ..()
|
|
if(!.) // this works for some reason.
|
|
return
|
|
var/mob/living/silicon/pai/pAI = usr
|
|
if (istype(pAI))
|
|
pAI.modularInterface?.interact(pAI)
|
|
|
|
/atom/movable/screen/pai/internal_gps
|
|
name = "Internal GPS"
|
|
icon_state = "internal_gps"
|
|
screen_loc = ui_pai_internal_gps
|
|
required_software = "Internal GPS"
|
|
|
|
/atom/movable/screen/pai/internal_gps/Click()
|
|
. = ..()
|
|
if(!.)
|
|
return
|
|
var/mob/living/silicon/pai/pAI = usr
|
|
if(!pAI.internal_gps)
|
|
pAI.internal_gps = new(pAI)
|
|
pAI.internal_gps.attack_self(pAI)
|
|
|
|
/atom/movable/screen/pai/image_take
|
|
name = "Take Image"
|
|
icon_state = "take_picture"
|
|
screen_loc = ui_pai_take_picture
|
|
required_software = "Photography Module"
|
|
|
|
/atom/movable/screen/pai/image_take/Click()
|
|
. = ..()
|
|
if(!.)
|
|
return
|
|
var/mob/living/silicon/pai/pAI = usr
|
|
pAI.aicamera.toggle_camera_mode(usr)
|
|
|
|
/atom/movable/screen/pai/image_view
|
|
name = "View Images"
|
|
icon_state = "view_images"
|
|
screen_loc = ui_pai_view_images
|
|
required_software = "Photography Module"
|
|
|
|
/atom/movable/screen/pai/image_view/Click()
|
|
if(!..())
|
|
return
|
|
var/mob/living/silicon/pai/pAI = usr
|
|
pAI.aicamera.viewpictures(usr)
|
|
|
|
/atom/movable/screen/pai/radio
|
|
name = "radio"
|
|
icon = 'icons/hud/screen_cyborg.dmi'
|
|
icon_state = "radio"
|
|
screen_loc = ui_pai_radio
|
|
|
|
/atom/movable/screen/pai/radio/Click()
|
|
if(!..())
|
|
return
|
|
var/mob/living/silicon/pai/pAI = usr
|
|
pAI.radio.interact(usr)
|
|
|
|
#undef PAI_MISSING_SOFTWARE_MESSAGE
|