Replaces Subsystems (mostly) with internal computing device (#7798)

This is for robots.
This commit is contained in:
Karolis
2020-01-04 13:36:03 +02:00
committed by Matt Atlas
parent 7dc0fdded5
commit b820f601fa
18 changed files with 151 additions and 129 deletions

View File

@@ -1,11 +1,9 @@
/mob/living/silicon
var/register_alarms = 1
var/datum/nano_module/alarm_monitor/all/alarm_monitor
var/datum/nano_module/atmos_control/atmos_control
var/datum/nano_module/crew_monitor/crew_monitor
var/datum/nano_module/law_manager/law_manager
var/datum/nano_module/power_monitor/power_monitor
var/datum/nano_module/rcon/rcon
var/obj/item/modular_computer/silicon/computer
/mob/living/silicon/ai
var/datum/nano_module/computer_ntnetmonitor/ntnet_monitor
@@ -13,18 +11,16 @@
/mob/living/silicon
var/list/silicon_subsystems = list(
/mob/living/silicon/proc/subsystem_alarm_monitor,
/mob/living/silicon/proc/subsystem_law_manager
/mob/living/silicon/proc/subsystem_law_manager,
/mob/living/silicon/proc/computer_interact
)
/mob/living/silicon/ai
silicon_subsystems = list(
/mob/living/silicon/proc/subsystem_alarm_monitor,
/mob/living/silicon/proc/subsystem_atmos_control,
/mob/living/silicon/proc/subsystem_crew_monitor,
/mob/living/silicon/proc/subsystem_law_manager,
/mob/living/silicon/proc/subsystem_power_monitor,
/mob/living/silicon/proc/subsystem_rcon,
/mob/living/silicon/ai/proc/subsystem_ntnet_monitor
/mob/living/silicon/ai/proc/subsystem_ntnet_monitor,
/mob/living/silicon/proc/computer_interact
)
/mob/living/silicon/robot/syndicate
@@ -32,38 +28,21 @@
silicon_subsystems = list(/mob/living/silicon/proc/subsystem_law_manager)
/mob/living/silicon/Destroy()
qdel(alarm_monitor)
alarm_monitor = null
qdel(atmos_control)
atmos_control = null
qdel(crew_monitor)
crew_monitor = null
qdel(law_manager)
law_manager = null
qdel(power_monitor)
power_monitor = null
qdel(rcon)
rcon = null
QDEL_NULL(alarm_monitor)
QDEL_NULL(law_manager)
QDEL_NULL(computer)
return ..()
/mob/living/silicon/ai/Destroy()
qdel(ntnet_monitor)
ntnet_monitor = null
QDEL_NULL(ntnet_monitor)
return ..()
/mob/living/silicon/proc/init_subsystems()
computer = new/obj/item/modular_computer/silicon/preset(src)
alarm_monitor = new(src)
atmos_control = new(src)
crew_monitor = new(src)
law_manager = new(src)
power_monitor = new(src)
rcon = new(src)
if(!register_alarms)
@@ -77,6 +56,15 @@
..()
ntnet_monitor = new(src)
/****************
* Computer *
*****************/
/mob/living/silicon/proc/computer_interact()
set name = "Open Computer Interface"
set category = "Subystems"
computer.attack_self(src)
/********************
* Alarm Monitor *
********************/
@@ -86,24 +74,6 @@
alarm_monitor.ui_interact(usr, state = self_state)
/********************
* Atmos Control *
********************/
/mob/living/silicon/proc/subsystem_atmos_control()
set category = "Subystems"
set name = "Atmospherics Control"
atmos_control.ui_interact(usr, state = self_state)
/********************
* Crew Monitor *
********************/
/mob/living/silicon/proc/subsystem_crew_monitor()
set category = "Subystems"
set name = "Crew Monitor"
crew_monitor.ui_interact(usr, state = self_state)
/****************
* Law Manager *
****************/
@@ -120,22 +90,4 @@
set name = "NTNet Monitoring"
set category = "Subystems"
ntnet_monitor.ui_interact(usr, state = conscious_state)
/********************
* Power Monitor *
********************/
/mob/living/silicon/proc/subsystem_power_monitor()
set category = "Subystems"
set name = "Power Monitor"
power_monitor.ui_interact(usr, state = self_state)
/************
* RCON *
************/
/mob/living/silicon/proc/subsystem_rcon()
set category = "Subystems"
set name = "RCON"
rcon.ui_interact(usr, state = self_state)
ntnet_monitor.ui_interact(usr, state = conscious_state)

View File

@@ -186,7 +186,6 @@ var/global/list/robot_modules = list(
name = "medical robot module"
channels = list("Medical" = 1)
networks = list(NETWORK_MEDICAL)
subsystems = list(/mob/living/silicon/proc/subsystem_crew_monitor)
can_be_pushed = 0
sprites = list(
"Basic" = "robotmedi",
@@ -337,7 +336,6 @@ var/global/list/robot_modules = list(
name = "engineering robot module"
channels = list("Engineering" = 1)
networks = list(NETWORK_ENGINEERING)
subsystems = list(/mob/living/silicon/proc/subsystem_power_monitor)
supported_upgrades = list(/obj/item/robot_parts/robot_component/jetpack)
sprites = list(
"Basic" = "robotengi",
@@ -771,7 +769,6 @@ var/global/list/robot_modules = list(
name = "combat robot module"
channels = list("Security" = 1)
networks = list(NETWORK_SECURITY)
subsystems = list(/mob/living/silicon/proc/subsystem_crew_monitor)
sprites = list("Roller" = "droid-combat")
can_be_pushed = 0
supported_upgrades = list(/obj/item/robot_parts/robot_component/jetpack)
@@ -977,10 +974,6 @@ var/global/list/robot_modules = list(
"Response Team" = 1,
"AI Private" = 1
)
subsystems = list(
/mob/living/silicon/proc/subsystem_crew_monitor,
/mob/living/silicon/proc/subsystem_power_monitor
)
sprites = list("Roller" = "droid-combat") //TMP
can_be_pushed = 0