mirror of
https://github.com/Aurorastation/Aurora.3.git
synced 2026-07-22 21:38:47 +01:00
e4192f9b8f
we have a gorillion hard deletions and it turns out half of them are because we set the "ALWAYS HARD DELETE THIS" flag rather than just like. fixing the hard delete. cool
41 lines
1.1 KiB
Plaintext
41 lines
1.1 KiB
Plaintext
|
|
/datum/computer/file/embedded_program
|
|
var/list/memory = list()
|
|
var/obj/machinery/embedded_controller/master
|
|
|
|
var/id_tag
|
|
|
|
/datum/computer/file/embedded_program/New(var/obj/machinery/embedded_controller/M)
|
|
set_master(M)
|
|
|
|
/datum/computer/file/embedded_program/proc/set_master(obj/machinery/embedded_controller/new_master)
|
|
if(new_master && master != new_master)
|
|
master = new_master
|
|
id_tag = astype(new_master, /obj/machinery/embedded_controller/radio)?.id_tag
|
|
RegisterSignal(master, COMSIG_QDELETING, PROC_REF(unset_master))
|
|
|
|
/datum/computer/file/embedded_program/proc/unset_master()
|
|
if(master)
|
|
UnregisterSignal(master, COMSIG_QDELETING)
|
|
master = null
|
|
id_tag = null
|
|
|
|
/datum/computer/file/embedded_program/Destroy(force)
|
|
master = null
|
|
. = ..()
|
|
|
|
/datum/computer/file/embedded_program/proc/receive_user_command(command)
|
|
return
|
|
|
|
/datum/computer/file/embedded_program/proc/receive_signal(datum/signal/signal, receive_method, receive_param)
|
|
return
|
|
|
|
/datum/computer/file/embedded_program/process()
|
|
return
|
|
|
|
/datum/computer/file/embedded_program/proc/post_signal(datum/signal/signal, comm_line)
|
|
if(master)
|
|
master.post_signal(signal, comm_line)
|
|
else
|
|
qdel(signal)
|