Files
AlaunusLux 8336549284 Various pAI Fixes (#18222)
* Change various PAI abilities from proc to verb, init their verbs on creation

* Provide exit button on notFound and missingExport page

* Prevent programs with no ID from populating. Will still show in services. Things like pAI Flashlight

* allows pAIs to use PDAs they are inserted into

* prevent RTE for admin created pAIs

* adds error message when trying to download incompatible software

* fixes not being able to open pAI computer UIs if the client is closed with the UIs open

* changelog

* test fix?

* Revert "Provide exit button on notFound and missingExport page"

This reverts commit 77168da050.

* changelog change

* to_chat

* don't code 30s after waking up
2024-01-19 11:33:21 +00:00

56 lines
1.4 KiB
Plaintext

/mob/living/silicon
var/computer_path
/mob/living/silicon/pai
computer_path = /obj/item/modular_computer/silicon/pai
/mob/living/silicon/robot
computer_path = /obj/item/modular_computer/silicon/robot
/mob/living/silicon/robot/drone
computer_path = /obj/item/modular_computer/silicon/robot/drone
/mob/living/silicon/ai
computer_path = /obj/item/modular_computer/silicon/ai
/mob/living/silicon/ai
silicon_subsystems = list(
/mob/living/silicon/verb/silicon_mimic_accent
)
/mob/living/silicon/robot/combat
register_alarms = 0
silicon_subsystems = list(
/mob/living/silicon/verb/silicon_mimic_accent
)
/mob/living/silicon/proc/init_subsystems()
if(computer_path)
computer = new computer_path(src)
if(!register_alarms)
return
for(var/datum/alarm_handler/AH in SSalarm.all_handlers)
AH.register_alarm(src, /mob/living/silicon/proc/receive_alarm)
queued_alarms[AH] = list() // Makes sure alarms remain listed in consistent order
/****************
* Computer *
*****************/
/mob/living/silicon/verb/computer_interact()
set name = "Open Computer Interface"
set category = "Subsystems"
computer.attack_self(src)
/mob/living/silicon/pai/verb/personal_computer_interact()
set name = "Access Local Computer"
set category = "Subsystems"
if(!parent_computer)
to_chat(usr, SPAN_WARNING("You don't have a local computer to interface with!"))
return
parent_computer.attack_self(src)