mirror of
https://github.com/Aurorastation/Aurora.3.git
synced 2026-07-18 19:39:42 +01:00
Replaces Subsystems (mostly) with internal computing device (#7798)
This is for robots.
This commit is contained in:
+3
-1
@@ -1835,12 +1835,12 @@
|
||||
#include "code\modules\mob\living\carbon\metroid\update_icons.dm"
|
||||
#include "code\modules\mob\living\parasite\meme.dm"
|
||||
#include "code\modules\mob\living\parasite\meme_captive.dm"
|
||||
#include "code\modules\mob\living\silicon\computer.dm"
|
||||
#include "code\modules\mob\living\silicon\death.dm"
|
||||
#include "code\modules\mob\living\silicon\laws.dm"
|
||||
#include "code\modules\mob\living\silicon\login.dm"
|
||||
#include "code\modules\mob\living\silicon\say.dm"
|
||||
#include "code\modules\mob\living\silicon\silicon.dm"
|
||||
#include "code\modules\mob\living\silicon\subystems.dm"
|
||||
#include "code\modules\mob\living\silicon\ai\ai.dm"
|
||||
#include "code\modules\mob\living\silicon\ai\ai_movement.dm"
|
||||
#include "code\modules\mob\living\silicon\ai\death.dm"
|
||||
@@ -1956,10 +1956,12 @@
|
||||
#include "code\modules\modular_computers\computers\modular_computer\variables.dm"
|
||||
#include "code\modules\modular_computers\computers\subtypes\dev_console.dm"
|
||||
#include "code\modules\modular_computers\computers\subtypes\dev_laptop.dm"
|
||||
#include "code\modules\modular_computers\computers\subtypes\dev_silicon.dm"
|
||||
#include "code\modules\modular_computers\computers\subtypes\dev_tablet.dm"
|
||||
#include "code\modules\modular_computers\computers\subtypes\dev_telescreen.dm"
|
||||
#include "code\modules\modular_computers\computers\subtypes\preset_console.dm"
|
||||
#include "code\modules\modular_computers\computers\subtypes\preset_laptop.dm"
|
||||
#include "code\modules\modular_computers\computers\subtypes\preset_silicon.dm"
|
||||
#include "code\modules\modular_computers\computers\subtypes\preset_tablet.dm"
|
||||
#include "code\modules\modular_computers\computers\subtypes\preset_telescreen.dm"
|
||||
#include "code\modules\modular_computers\file_system\computer_file.dm"
|
||||
|
||||
@@ -176,11 +176,14 @@
|
||||
#define NTNETSPEED_DOS_AMPLIFICATION 5 // Multiplier for Denial of Service program. Resulting load on NTNet relay is this multiplied by NTNETSPEED of the device
|
||||
|
||||
// Program bitflags
|
||||
#define PROGRAM_ALL 15
|
||||
#define PROGRAM_CONSOLE 1
|
||||
#define PROGRAM_LAPTOP 2
|
||||
#define PROGRAM_TABLET 4
|
||||
#define PROGRAM_TELESCREEN 8
|
||||
#define PROGRAM_SILICON 16
|
||||
|
||||
#define PROGRAM_ALL (PROGRAM_CONSOLE | PROGRAM_LAPTOP | PROGRAM_TABLET | PROGRAM_TELESCREEN | PROGRAM_SILICON)
|
||||
#define PROGRAM_ALL_REGULAR (PROGRAM_CONSOLE | PROGRAM_LAPTOP | PROGRAM_TABLET | PROGRAM_TELESCREEN)
|
||||
|
||||
#define PROGRAM_STATE_KILLED 0
|
||||
#define PROGRAM_STATE_BACKGROUND 1
|
||||
|
||||
@@ -1,12 +1,14 @@
|
||||
/datum/hud/proc/ai_hud()
|
||||
other = list()
|
||||
|
||||
mymob:computer.screen_loc = ui_ai_crew_monitor
|
||||
mymob:computer.layer = SCREEN_LAYER
|
||||
|
||||
adding = list(
|
||||
new /obj/screen/ai/core,
|
||||
new /obj/screen/ai/camera_list,
|
||||
new /obj/screen/ai/camera_track,
|
||||
new /obj/screen/ai/camera_light,
|
||||
new /obj/screen/ai/crew_monitoring,
|
||||
new /obj/screen/ai/crew_manifest,
|
||||
new /obj/screen/ai/alerts,
|
||||
new /obj/screen/ai/announcement,
|
||||
@@ -18,7 +20,8 @@
|
||||
new /obj/screen/ai/view_image,
|
||||
new /obj/screen/ai/sensor_aug,
|
||||
new /obj/screen/ai/move_up,
|
||||
new /obj/screen/ai/move_down
|
||||
new /obj/screen/ai/move_down,
|
||||
mymob:computer
|
||||
)
|
||||
|
||||
mymob.client.screen += adding + other
|
||||
|
||||
+30
-26
@@ -10,6 +10,11 @@ var/obj/screen/robot_inventory
|
||||
|
||||
var/obj/screen/using
|
||||
|
||||
if(!isrobot(mymob))
|
||||
return
|
||||
|
||||
var/mob/living/silicon/robot/r = mymob
|
||||
|
||||
//Radio
|
||||
using = new /obj/screen()
|
||||
using.name = "radio"
|
||||
@@ -24,15 +29,15 @@ var/obj/screen/robot_inventory
|
||||
|
||||
using = new /obj/screen/module/one()
|
||||
src.adding += using
|
||||
mymob:inv1 = using
|
||||
r.inv1 = using
|
||||
|
||||
using = new /obj/screen/module/two()
|
||||
src.adding += using
|
||||
mymob:inv2 = using
|
||||
r.inv2 = using
|
||||
|
||||
using = new /obj/screen/module/three()
|
||||
src.adding += using
|
||||
mymob:inv3 = using
|
||||
r.inv3 = using
|
||||
|
||||
//End of module select
|
||||
|
||||
@@ -48,11 +53,11 @@ var/obj/screen/robot_inventory
|
||||
action_intent = using
|
||||
|
||||
//Cell
|
||||
mymob:cells = new /obj/screen()
|
||||
mymob:cells.icon = 'icons/mob/screen/robot.dmi'
|
||||
mymob:cells.icon_state = "charge-empty"
|
||||
mymob:cells.name = "cell"
|
||||
mymob:cells.screen_loc = ui_toxin
|
||||
r.cells = new /obj/screen()
|
||||
r.cells.icon = 'icons/mob/screen/robot.dmi'
|
||||
r.cells.icon_state = "charge-empty"
|
||||
r.cells.name = "cell"
|
||||
r.cells.screen_loc = ui_toxin
|
||||
|
||||
//Health
|
||||
mymob.healths = new /obj/screen()
|
||||
@@ -92,23 +97,6 @@ var/obj/screen/robot_inventory
|
||||
robot_inventory.screen_loc = ui_borg_inventory
|
||||
|
||||
//Temp
|
||||
mymob.bodytemp = new /obj/screen()
|
||||
mymob.bodytemp.icon_state = "temp0"
|
||||
mymob.bodytemp.name = "body temperature"
|
||||
mymob.bodytemp.screen_loc = ui_temp
|
||||
|
||||
|
||||
mymob.oxygen = new /obj/screen()
|
||||
mymob.oxygen.icon = 'icons/mob/screen/robot.dmi'
|
||||
mymob.oxygen.icon_state = "oxy0"
|
||||
mymob.oxygen.name = "oxygen"
|
||||
mymob.oxygen.screen_loc = ui_oxygen
|
||||
|
||||
mymob.fire = new /obj/screen()
|
||||
mymob.fire.icon = 'icons/mob/screen/robot.dmi'
|
||||
mymob.fire.icon_state = "fire0"
|
||||
mymob.fire.name = "fire"
|
||||
mymob.fire.screen_loc = ui_fire
|
||||
|
||||
mymob.pullin = new /obj/screen()
|
||||
mymob.pullin.icon = 'icons/mob/screen/robot.dmi'
|
||||
@@ -136,6 +124,11 @@ var/obj/screen/robot_inventory
|
||||
mymob.zone_sel.cut_overlays()
|
||||
mymob.zone_sel.add_overlay(image('icons/mob/zone_sel.dmi', "[mymob.zone_sel.selecting]"))
|
||||
|
||||
// Computer device hud
|
||||
|
||||
r.computer.screen_loc = ui_oxygen
|
||||
r.computer.layer = SCREEN_LAYER
|
||||
|
||||
|
||||
//Handle the gun settings buttons
|
||||
mymob.gun_setting_icon = new /obj/screen/gun/mode(null)
|
||||
@@ -145,7 +138,18 @@ var/obj/screen/robot_inventory
|
||||
|
||||
mymob.client.screen = null
|
||||
|
||||
mymob.client.screen += list( mymob.throw_icon, mymob.zone_sel, mymob.oxygen, mymob.fire, mymob.hands, mymob.healths, mymob:cells, mymob.pullin, mymob.blind, mymob.flash, robot_inventory, mymob.gun_setting_icon)
|
||||
mymob.client.screen += list(
|
||||
mymob.throw_icon,
|
||||
mymob.zone_sel,
|
||||
mymob.hands,
|
||||
mymob.healths,
|
||||
r.cells,
|
||||
mymob.pullin,
|
||||
mymob.blind,
|
||||
mymob.flash,
|
||||
robot_inventory,
|
||||
mymob.gun_setting_icon,
|
||||
r.computer)
|
||||
mymob.client.screen += src.adding + src.other
|
||||
|
||||
return
|
||||
|
||||
@@ -80,16 +80,6 @@
|
||||
var/mob/living/silicon/ai/AI = usr
|
||||
AI.toggle_camera_light()
|
||||
|
||||
/obj/screen/ai/crew_monitoring
|
||||
name = "Crew Monitoring"
|
||||
icon_state = "crew_monitor"
|
||||
screen_loc = ui_ai_crew_monitor
|
||||
|
||||
/obj/screen/ai/crew_monitoring/Click()
|
||||
if (isAI(usr))
|
||||
var/mob/living/silicon/ai/AI = usr
|
||||
AI.subsystem_crew_monitor()
|
||||
|
||||
/obj/screen/ai/crew_manifest
|
||||
name = "Show Crew Manifest"
|
||||
icon_state = "manifest"
|
||||
|
||||
+20
-68
@@ -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)
|
||||
@@ -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
|
||||
|
||||
|
||||
@@ -31,7 +31,7 @@
|
||||
else
|
||||
idle_threads.Remove(P)
|
||||
|
||||
working = hard_drive && processor_unit && damage < broken_damage && (apc_power(0) || battery_power(0))
|
||||
working = hard_drive && processor_unit && damage < broken_damage && computer_use_power()
|
||||
check_update_ui_need()
|
||||
|
||||
if (working && enabled && world.time > ambience_last_played + 30 SECONDS && prob(3))
|
||||
@@ -125,7 +125,7 @@
|
||||
else
|
||||
to_chat(user, "You press the power button, but the computer fails to boot up, displaying variety of errors before shutting down again.")
|
||||
return
|
||||
if(processor_unit && (apc_power(0) || battery_power(0))) // Battery-run and charged or non-battery but powered by APC.
|
||||
if(processor_unit && computer_use_power()) // Battery-run and charged or non-battery but powered by APC.
|
||||
if(issynth)
|
||||
to_chat(user, "You send an activation signal to \the [src], turning it on")
|
||||
else
|
||||
|
||||
@@ -38,6 +38,16 @@
|
||||
A.use_power(power_usage, EQUIP)
|
||||
return TRUE
|
||||
|
||||
|
||||
// Tries to use power in general (Abstraction)
|
||||
/obj/item/modular_computer/proc/computer_use_power(var/power_usage = 0)
|
||||
// First tries to charge from an APC, if APC is unavailable switches to battery power. If neither works the computer fails.
|
||||
if(apc_power(power_usage))
|
||||
return TRUE
|
||||
if(battery_power(power_usage))
|
||||
return TRUE
|
||||
return FALSE
|
||||
|
||||
// Handles power-related things, such as battery interaction, recharging, shutdown when it's discharged
|
||||
/obj/item/modular_computer/proc/handle_power()
|
||||
var/power_usage = screen_on ? base_active_power_usage : base_idle_power_usage
|
||||
@@ -47,13 +57,8 @@
|
||||
power_usage += H.power_usage
|
||||
last_power_usage = power_usage
|
||||
|
||||
// First tries to charge from an APC, if APC is unavailable switches to battery power. If neither works the computer fails.
|
||||
if(apc_power(power_usage))
|
||||
if (power_has_failed)
|
||||
power_has_failed = FALSE
|
||||
update_icon()
|
||||
return
|
||||
if(battery_power(power_usage))
|
||||
|
||||
if(computer_use_power(power_usage))
|
||||
if (power_has_failed)
|
||||
power_has_failed = FALSE
|
||||
update_icon()
|
||||
|
||||
@@ -5,7 +5,7 @@
|
||||
if(ui)
|
||||
ui.close()
|
||||
return
|
||||
if(!apc_power(0) && !battery_power(0))
|
||||
if(!computer_use_power())
|
||||
if(ui)
|
||||
ui.close()
|
||||
return
|
||||
|
||||
@@ -0,0 +1,48 @@
|
||||
/obj/item/modular_computer/silicon
|
||||
name = "internal computing device"
|
||||
desc = "A synthetic computer."
|
||||
hardware_flag = PROGRAM_SILICON
|
||||
icon_state_unpowered = "laptop-open"
|
||||
icon = 'icons/obj/modular_laptop.dmi'
|
||||
icon_state = "laptop-open"
|
||||
icon_state_broken = "laptop-broken"
|
||||
base_idle_power_usage = 5
|
||||
base_active_power_usage = 25
|
||||
max_hardware_size = 2
|
||||
max_damage = 50
|
||||
w_class = 3
|
||||
var/mob/living/silicon/computer_host // Thing that contains this computer. Used for silicon computers
|
||||
|
||||
/obj/item/modular_computer/silicon/Initialize(mapload)
|
||||
. = ..()
|
||||
if(istype(loc, /mob/living/silicon))
|
||||
computer_host = loc
|
||||
else
|
||||
return
|
||||
// Let's remove integrated verbs for ejecting things.
|
||||
verbs -= /obj/item/modular_computer/verb/eject_ai
|
||||
verbs -= /obj/item/modular_computer/verb/eject_id
|
||||
verbs -= /obj/item/modular_computer/verb/eject_usb
|
||||
|
||||
/obj/item/modular_computer/silicon/computer_use_power(power_usage)
|
||||
// If we have host like AI, borg or pAI we handle there power
|
||||
if(computer_host)
|
||||
// If host is borg, we use power from it's cell, like anyone other module
|
||||
if(istype(computer_host, /mob/living/silicon/robot))
|
||||
var/mob/living/silicon/robot/R = computer_host
|
||||
return R.cell_use_power(power_usage)
|
||||
// If we are in AI or pAI we just don't botherwith power use.
|
||||
return TRUE
|
||||
else
|
||||
// If we don't have host, then we let regular computer code handle power - like batteries and tesla coils
|
||||
return ..()
|
||||
|
||||
/obj/item/modular_computer/silicon/Destroy()
|
||||
computer_host = null
|
||||
return ..()
|
||||
|
||||
/obj/item/modular_computer/silicon/Click(location, control, params)
|
||||
if (!istype(usr, /mob/living/silicon) && host == usr)
|
||||
return attack_self(usr)
|
||||
return ..()
|
||||
|
||||
@@ -0,0 +1,14 @@
|
||||
/obj/item/modular_computer/silicon/preset
|
||||
enrolled = 2
|
||||
|
||||
/obj/item/modular_computer/silicon/preset/install_default_hardware()
|
||||
. = ..()
|
||||
processor_unit = new/obj/item/computer_hardware/processor_unit(src)
|
||||
hard_drive = new/obj/item/computer_hardware/hard_drive(src)
|
||||
network_card = new/obj/item/computer_hardware/network_card(src)
|
||||
|
||||
|
||||
/obj/item/modular_computer/silicon/preset/install_default_programs()
|
||||
hard_drive.store_file(new /datum/computer_file/program/filemanager())
|
||||
hard_drive.store_file(new /datum/computer_file/program/ntnetdownload())
|
||||
hard_drive.remove_file(hard_drive.find_file_by_name("clientmanager"))
|
||||
@@ -72,7 +72,7 @@
|
||||
requires_ntnet = 1
|
||||
network_destination = "atmospheric control system"
|
||||
requires_ntnet_feature = NTNET_SYSTEMCONTROL
|
||||
usage_flags = PROGRAM_CONSOLE | PROGRAM_LAPTOP
|
||||
usage_flags = PROGRAM_CONSOLE | PROGRAM_LAPTOP | PROGRAM_SILICON
|
||||
size = 17
|
||||
color = LIGHT_COLOR_CYAN
|
||||
|
||||
@@ -87,7 +87,7 @@
|
||||
requires_ntnet = 1
|
||||
network_destination = "RCON remote control system"
|
||||
requires_ntnet_feature = NTNET_SYSTEMCONTROL
|
||||
usage_flags = PROGRAM_CONSOLE
|
||||
usage_flags = PROGRAM_CONSOLE | PROGRAM_SILICON
|
||||
size = 19
|
||||
color = LIGHT_COLOR_GREEN
|
||||
|
||||
@@ -103,6 +103,6 @@
|
||||
requires_ntnet = 1
|
||||
network_destination = "APC Coordinator"
|
||||
requires_ntnet_feature = NTNET_SYSTEMCONTROL
|
||||
usage_flags = PROGRAM_CONSOLE
|
||||
usage_flags = PROGRAM_CONSOLE | PROGRAM_SILICON
|
||||
size = 9
|
||||
color = LIGHT_COLOR_GREEN
|
||||
|
||||
@@ -13,6 +13,7 @@
|
||||
nanomodule_path = /datum/nano_module/arcade_classic/ // Path of relevant nano module. The nano module is defined further in the file.
|
||||
var/picked_enemy_name
|
||||
color = LIGHT_COLOR_BLUE
|
||||
usage_flags = PROGRAM_ALL_REGULAR
|
||||
|
||||
// Blatantly stolen and shortened version from arcade machines. Generates a random enemy name
|
||||
/datum/computer_file/program/game/arcade/proc/random_enemy_name()
|
||||
|
||||
@@ -7,6 +7,7 @@
|
||||
requires_ntnet = 0 // This particular program does not require NTNet network conectivity...
|
||||
available_on_ntnet = 1 // ... but we want it to be available for download.
|
||||
nanomodule_path = /datum/nano_module/program/sudoku // Path of relevant nano module. The nano module is defined further in the file.
|
||||
usage_flags = PROGRAM_ALL_REGULAR
|
||||
|
||||
/datum/nano_module/program/sudoku
|
||||
var/list/grid = null
|
||||
|
||||
@@ -8,7 +8,7 @@
|
||||
requires_ntnet = 1
|
||||
network_destination = "crew lifesigns monitoring system"
|
||||
size = 11
|
||||
usage_flags = PROGRAM_LAPTOP | PROGRAM_TELESCREEN | PROGRAM_CONSOLE
|
||||
usage_flags = PROGRAM_LAPTOP | PROGRAM_TELESCREEN | PROGRAM_CONSOLE | PROGRAM_SILICON
|
||||
color = LIGHT_COLOR_CYAN
|
||||
|
||||
/datum/computer_file/program/suit_sensors/ui_interact(mob/user)
|
||||
|
||||
@@ -36,6 +36,7 @@
|
||||
requires_ntnet = 1
|
||||
required_access_download = access_heads
|
||||
color = LIGHT_COLOR_ORANGE
|
||||
usage_flags = PROGRAM_ALL_REGULAR
|
||||
|
||||
/datum/nano_module/camera_monitor
|
||||
name = "Camera Monitoring program"
|
||||
|
||||
@@ -0,0 +1,5 @@
|
||||
author: Karolis2011
|
||||
delete-after: True
|
||||
changes:
|
||||
- rscadd: "Added integrated computer device to borgs, AIs and pAIs."
|
||||
- rscdel: "Removed now reduandant subsystems."
|
||||
Reference in New Issue
Block a user