Files
Yogstation/code/modules/modular_computers/hardware/portable_disk.dm
TheGamerdk ef5bd13cc9 [READY][AI] Reworks AI CPU + RAM. Turns the Sig Tech into the Network Admin. Adds overclocking (#13686)
* z-level restrictions

* Initial card rewrite

* UI Mockup

* e

* Functionality almost working

* test map

* pre-rename

* Network Admin Complete

* tiny tiny workshop

* tiny tiny tiny tiny workshop try 2

* makes tgui compile

* map files duh

* gax

* Update engineering.dm

* stuff should cost points

* ew

* Update rack_creator.dm

* attackby

* Update AiRackCreator.js

* Update rack.dm

* Update network_admin.dm

* Update network_admin.dm

* Update cpu.dm

* access and spelling stuff

* Unique imprinter

* maps

* netmin

* oops

* Fractional CPU and search for projects

* AI research points

* Assorted bug fixes

* Research booster upgrade

* netmin

* Examine

* overclocking

* Fractional CPU + Overclocking finished

* Rack upgrades + TGUI linter

* Yogstation

* access

* propers yogstation

* Meta + yogs fix

* kilo

* GAX

* oops

* Update overclocking.dm

* Update resource_distribution.dm

* spaces

* Update AiOverclocking.js

* Update induction.dm

* Update rack_creator.dm

* assorted bugfixes

* Core tracking

* Update AiServerConsole.js

* Update AiDashboard.js

* Update AiDashboard.js
2022-05-16 21:40:38 +01:00

85 lines
2.6 KiB
Plaintext

/obj/item/computer_hardware/hard_drive/portable
name = "data disk"
desc = "Removable disk used to store data."
power_usage = 10
icon_state = "datadisk6"
w_class = WEIGHT_CLASS_TINY
critical = 0
max_capacity = 16
device_type = MC_SDD
/obj/item/computer_hardware/hard_drive/portable/on_remove(obj/item/modular_computer/MC, mob/user)
return //this is a floppy disk, let's not shut the computer down when it gets pulled out.
/obj/item/computer_hardware/hard_drive/portable/install_default_programs()
return // Empty by default
/obj/item/computer_hardware/hard_drive/portable/advanced
name = "advanced data disk"
power_usage = 20
icon_state = "datadisk5"
max_capacity = 64
/obj/item/computer_hardware/hard_drive/portable/super
name = "super data disk"
desc = "Removable disk used to store large amounts of data."
power_usage = 40
icon_state = "datadisk3"
max_capacity = 256
///////////
//Presets//
///////////
/obj/item/computer_hardware/hard_drive/portable/implant_tracker
name = "Implant Tracker data disk"
desc = "A removable disk containing a copy of the Implant Tracker program."
/obj/item/computer_hardware/hard_drive/portable/implant_tracker/install_default_programs()
..()
store_file(new/datum/computer_file/program/radar/implant(src))
///////////////////
//Syndicate Disks//
///////////////////
/obj/item/computer_hardware/hard_drive/portable/syndicate
name = "syndicate data disk"
desc = "Removable disk used to transfer illegal programs and pictures of cats."
icon_state = "datadisksyndicate"
max_capacity = 32
/obj/item/computer_hardware/hard_drive/portable/syndicate/ntnet_dos/install_default_programs()
..()
store_file(new/datum/computer_file/program/ntnet_dos(src))
//////////////
//Trap Disks//
//////////////
/obj/item/computer_hardware/hard_drive/portable/syndicate/trap
var/devastation_range = -1
var/heavy_impact_range = 1 // Maybe a bit too much
var/light_impact_range = 3
var/flash_range = 4
/obj/item/computer_hardware/hard_drive/portable/syndicate/trap/examine(user)
. = ..()
if(IS_JOB(user, "Network Admin"))
. += span_notice("It appears to be rigged with explosives!")
/obj/item/computer_hardware/hard_drive/portable/syndicate/trap/diagnostics(var/mob/user)
..()
to_chat(user, "Payload Status: TRIGGERED!") // A little too late
trigger()
/obj/item/computer_hardware/hard_drive/portable/syndicate/trap/proc/trigger()
var/turf/T = get_turf(src.loc)
explosion(T, devastation_range, heavy_impact_range, light_impact_range, flash_range)
qdel(src)
return TRUE
/obj/item/computer_hardware/hard_drive/portable/syndicate/trap/on_remove(obj/item/modular_computer/MC, mob/user)
trigger()
..()