mirror of
https://github.com/Aurorastation/Aurora.3.git
synced 2025-12-21 15:42:35 +00:00
* tgui the beginning * binaries and the like * Bring in the last of it * Example radio UI * delete example * NTOS Main Menu, start on manifest, tgui states * tasks.json * gunnery ui pt 1 * okay * fix everything * scss update * oops * manifest gigablast * downloader part 1 * download prt 2 * NTOSDownloader final * mfw committing to_worlds * gunnery console pt2 * i cooked * targeting (finished) * one vueui down * voting ui almost done * MY MIND FEELS LIKE AN ARCH ENEMYYYY * voting ui down * photocopier * ntos config + download fixes * photocopier 2 * refactor define * NTOS client manager + fixes * fax machine final (it also uses toner now) * marching forwards... left behind... * ntnrc part 1 * canister * add quotes * portable pumps pt1 + more backgrounds * oops * finish the portable pump * freezers so I'll keep on pushing forward... you haven't seen the last of me... oooooooh... * doors ui pt1 * finish doors UI (forgive me wildkins it's a bit of shitcode) * vitals monitor, make things use labeled lists, new backgrounds * mais j'envoyé aucun mayday... * maglock pt1 * pour ça je me suis perdu... * infrared * fix that * prox sensor pt1 * prox sensor * signaler (this was actually pretty hard) * atmos control pt1 * atmos control pt1.1 * atmos pt 2 * fuel injector * multitool UI * jammer * list viewer * APC * portgen * targeting console updates + SMES ui * new themes, shield generator * supermatter * Add ore detector and (shitty) NTNet Relay * orderterminal pt1 * orderterminal pt2 * smartfridge * Add (air-)tank GUI update ore detector size * Adds Transfer Valves * Add AtmoScrubber * analyzer pt1 * weapons analyzer pt2 * bodyscanner pt1 * bodyscanner pt2 * fix this shitcode * seed storage * appearance changer * appearance changer final * sleeper pt1 * sleeper * gps * vehicles * chem dispenser * lily request * holopad * tgui modules pt1 * ppanel * damage menu * fixes * im here too now * follow menu, search bars * quikpay * quikpay fixes * circuit printer * ppanel * ppanel updates * pai * turret controls (i want to kill myself) * tweak * remove the boardgame * guntracker * implant tracker * penal mechs come close to me, come close to me * chem codex * pai radio * doorjack * pai directives * signaler removal, sensors * ghost spawner * spawnpoint * fixes * teleporter * one more to the chopping block * account database * remove divider * scanner, atmos * latejoin ui pt1 * latejoin * records pt1 * RECORDS UI DONE * delete interpreter & records * CHAT FUCKING CLIENT * data updates * fix some things * final UI, log * basic nanoui fix * antag panel * remove vueui * atm update * vending update * warrants, cameras * ntmonitor * time comes for all * preserve this legacy * bring that back (oops) * rcon, ui auto update for computer UIs, remove rcon computers * alarm monitoring (a bit broke and also todo: add custom alarm monitoring programs to a few consoles) * A LIKE SUPREME * a * power monitor * lights on * fuck this code, fuck nanoui modules, and fuck nanoui * LEAVE IT OH SO FAR BEHIND * fix alarm monitoring for synths * I SAW IN YOU WHAT LIFE WAS MISSING * comms console * idcard and record updates * turn the light on * arcade * pt2 * news browser * static * crusher * f * COULD I JUST SLEIGH THE GOLD FROM THE BALLS? I'M SO FRUSTRATED OH COULD YOU TELL? IF I HEAR ONE MORE VUEUI OR ONE NANOUI I'M GONNA LOSE IT SO LET ME GOOOOOOOOOOOOOOOOO * codeowners & suit sensors * html ui style removal * make lint happy * resist and disorder * i slowly get up and turn off the noise, already fed up... * pleaseeeeeeeeeeeeeee * THE CREDIT LARP IS NECESSARY * i hold the keys * RISE UP * fix that? * harry's suggestions xoxo * runtime fix pt2 * You are the only thing that I still care about * adds build workflow * Update update_tgui.yml * adds some needed steps * ATM * misc fixes and tweaks * fixes 2 * make newscasters usable and fix use power on freezers * turret control is clearer --------- Co-authored-by: John Wildkins <john.wildkins@gmail.com> Co-authored-by: Matt Atlas <liermattia@gmail.com> Co-authored-by: harryob <55142896+harryob@users.noreply.github.com> Co-authored-by: Werner <Arrow768@users.noreply.github.com> Co-authored-by: Geeves <ggrobler447@gmail.com> Co-authored-by: harryob <me@harryob.live>
87 lines
6.1 KiB
Plaintext
87 lines
6.1 KiB
Plaintext
// This is the base type that handles everything. Subtypes can be easily created by tweaking variables in this file to your liking.
|
|
|
|
/obj/item/modular_computer
|
|
name = "Modular Computer"
|
|
desc = DESC_PARENT
|
|
|
|
var/lexical_name = "computer"
|
|
var/enabled = FALSE // Whether the computer is turned on.
|
|
var/screen_on = TRUE // Whether the computer is active/opened/it's screen is on.
|
|
var/working = TRUE // Whether the computer is working.
|
|
var/can_reset = FALSE // Whether you can reset this device with the tech support card.
|
|
var/datum/computer_file/program/active_program // A currently active program running on the computer.
|
|
var/hardware_flag = 0 // A flag that describes this device type
|
|
var/last_power_usage = 0 // Last tick power usage of this computer
|
|
var/last_battery_percent = 0 // Used for deciding if battery percentage has chandged
|
|
var/last_world_time = "00:00"
|
|
var/list/last_header_icons
|
|
var/datum/looping_sound/computer/soundloop // Looping sound for when the computer is on
|
|
var/looping_sound = TRUE // Whether or not this modular computer uses the looping sound. Also handles ambience beeps.
|
|
var/computer_emagged = FALSE // Whether the computer is emagged.
|
|
var/apc_powered = FALSE // Set automatically. Whether the computer used APC power last tick.
|
|
var/base_active_power_usage = 50 // Power usage when the computer is open (screen is active) and can be interacted with. Remember hardware can use power too.
|
|
var/base_idle_power_usage = 5 // Power usage when the computer is idle and screen is off (currently only applies to laptops)
|
|
var/enrolled = DEVICE_UNSET // Weather the computer is enrolled in the company device management or not. 0 - unconfigured 1 - enrolled (work device) 2 - unenrolled (private device)
|
|
var/_app_preset_type // Used for specifying the software preset of the console
|
|
var/ambience_last_played_time // Last time sound was played
|
|
var/pAI_lock = FALSE // Toggles whether pAI can interact with the modular computer while installed in it
|
|
var/obj/item/card/id/registered_id = null // ID used for chat client registering
|
|
var/scan_mode = null // Mode used for health/reagent scanners
|
|
var/last_scan = 0 // Used for the PDA analyser spam detection
|
|
var/silent = FALSE
|
|
var/doorcode = "smindicate"
|
|
var/hidden = FALSE
|
|
var/initial_name
|
|
|
|
// Modular computers can run on various devices. Each DEVICE (Laptop, Console, Tablet,..)
|
|
// must have it's own DMI file. Icon states must be called exactly the same in all files, but may look differently
|
|
// If you create a program which is limited to Laptops and Consoles you don't have to add it's icon_state overlay for Tablets too, for example.
|
|
|
|
icon = null // This thing isn't meant to be used on it's own. Subtypes should supply their own icon.
|
|
icon_state = null // And no random pixelshifting on-creation either.
|
|
randpixel = 0
|
|
center_of_mass = null
|
|
var/icon_state_unpowered // Icon state when the computer is turned off
|
|
var/icon_state_menu = "menu" // Icon state overlay when the computer is turned on, but no program is loaded that would override the screen.
|
|
var/icon_state_menu_key = "black_key"
|
|
var/icon_state_screensaver
|
|
var/icon_state_screensaver_key
|
|
var/icon_state_broken
|
|
var/screensaver_light_range = 0
|
|
var/screensaver_light_color
|
|
var/menu_light_color
|
|
var/message_output_range = 0 // Adds onto the output_message proc's range
|
|
var/max_hardware_size = 0 // Maximal hardware size. Currently, tablets have 1, laptops 2 and consoles 3. Limits what hardware types can be installed.
|
|
var/steel_sheet_cost = 5 // Amount of steel sheets refunded when disassembling an empty frame of this computer.
|
|
light_range = 0 // Tile range of lighting emitted by the computer.
|
|
light_power = 0 // Intensity of lighting emitted by the computer. Valid range between 0 and 1.
|
|
var/list/idle_threads = list() // Idle programs on background. They still receive process calls but can't be interacted with.
|
|
var/list/enabled_services = list() // Enabled services that run in background and handle things pasively. Supported on all CPUs.
|
|
var/power_has_failed = FALSE
|
|
var/is_holographic = FALSE
|
|
|
|
// Damage of the chassis. If the chassis takes too much damage it will break apart.
|
|
var/damage = 0 // Current damage level
|
|
var/broken_damage = 50 // Damage level at which the computer ceases to operate
|
|
var/max_damage = 100 // Damage level at which the computer breaks apart.
|
|
|
|
// Important hardware (must be installed for computer to work)
|
|
var/obj/item/computer_hardware/processor_unit/processor_unit // CPU. Without it the computer won't run. Better CPUs can run more programs at once.
|
|
var/obj/item/computer_hardware/network_card/network_card // Network Card component of this computer. Allows connection to NTNet
|
|
var/obj/item/computer_hardware/hard_drive/hard_drive // Hard Drive component of this computer. Stores programs and files.
|
|
|
|
// Optional hardware (improves functionality, but is not critical for computer to work in most cases)
|
|
var/obj/item/computer_hardware/battery_module/battery_module // An internal power source for this computer. Can be recharged.
|
|
var/obj/item/computer_hardware/card_slot/card_slot // ID Card slot component of this computer. Mostly for HoP modification console that needs ID slot for modification.
|
|
var/obj/item/computer_hardware/nano_printer/nano_printer // Nano Printer component of this computer, for your everyday paperwork needs.
|
|
var/obj/item/computer_hardware/hard_drive/portable/portable_drive // Portable data storage
|
|
var/obj/item/computer_hardware/ai_slot/ai_slot // AI slot, an intellicard housing that allows modifications of AIs.
|
|
var/obj/item/computer_hardware/tesla_link/tesla_link // Tesla Link, Allows remote charging from nearest APC.
|
|
var/obj/item/device/paicard/personal_ai // Personal AI, can control the device via a verb when installed
|
|
var/obj/item/computer_hardware/flashlight/flashlight
|
|
var/listener/listener
|
|
|
|
var/registered_message = ""
|
|
|
|
charge_failure_message = " does not have a battery installed."
|