pAI Computer Piloting (#8842)

pAI can now be put into modular computers to control them. When a pAI is inserted, a new service will be unlocked, which can disable their access to the computer.

The VueUI change wasn't tested, but finding and replacing should leave the functionality unchanged.
This commit is contained in:
Geeves
2020-06-05 21:28:52 +03:00
committed by GitHub
parent d880e89342
commit e7194e7893
15 changed files with 131 additions and 18 deletions
@@ -52,6 +52,12 @@
computer.attack_self(src)
/mob/living/silicon/pai/proc/personal_computer_interact()
set name = "Access Local Computer"
set category = "Subsystems"
parent_computer.attack_self(src)
/********************
* Alarm Monitor *
********************/
@@ -1,3 +1,9 @@
/mob/living/silicon/pai/Destroy()
if(parent_computer?.personal_ai == src)
parent_computer.personal_ai = null
parent_computer = null
return ..()
/mob/living/silicon/pai/death(gibbed)
if(card)
card.removePersonality()
+5 -1
View File
@@ -83,6 +83,7 @@
var/subscreen // Which specific function of the main screen is being displayed
var/obj/item/device/pda/ai/pai/pda = null
var/obj/item/modular_computer/parent_computer
var/secHUD = 0 // Toggles whether the Security HUD is active or not
var/medHUD = 0 // Toggles whether the Medical HUD is active or not
@@ -356,7 +357,10 @@
if(istype(card.loc,/obj/item/rig_module))
to_chat(src, SPAN_WARNING("There is no room to unfold inside this rig module. You're good and stuck."))
return FALSE
else if(istype(card.loc, /mob))
else if(istype(card.loc, /obj/item/modular_computer))
to_chat(src, SPAN_WARNING("You are unable to unfold while housed within a computer."))
return FALSE
else if(istype(card.loc,/mob))
var/mob/holder = card.loc
if(ishuman(holder))
var/mob/living/carbon/human/H = holder