Files
Yogstation/code/modules/modular_computers/hardware/portable_disk.dm
John Willard 892cee1705 Adds grep for mapload and var in Args (#19203)
* Adds grep for mapload and var in Args

* vars in args

* some more

* stuff

* Update shuttle_creator.dm

* Update __techweb_helpers.dm

* fix

* Update discoball.dm

* Update check_grep.sh

* Update check_grep.sh

* Update check_grep.sh

* Update check_grep.sh

* I'll finish this later

* datum and lateinit maploads

* componentinit stuff

* mapload fixes

* why isnt CI catching these major issues

* MERGE CONFLICT FUCKED MY PR OVER

* Update check_grep.sh

* Update food.dm
2023-06-15 12:04:36 -05:00

103 lines
3.3 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/examine(mob/user)
. = ..()
. += span_notice("Insert this disk into a modular computer and open the File Manager program to interact with it.")
/obj/item/computer_hardware/hard_drive/portable/on_remove(obj/item/modular_computer/remove_from, 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))
/obj/item/computer_hardware/hard_drive/portable/syndicate/bomberman/install_default_programs()
..()
var/datum/computer_file/program/bomberman/B = new /datum/computer_file/program/bomberman(src)
var/datum/ntosbombcode/C = new /datum/ntosbombcode
B.bombcode = C.code
store_file(B)
/obj/item/computer_hardware/hard_drive/portable/syndicate/frame/install_default_programs()
..()
var/datum/computer_file/program/frame/F = new /datum/computer_file/program/frame(src)
var/datum/ntosframecode/C = new /datum/ntosframecode
F.framecode = C.code
store_file(F)
//////////////
//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(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()
..()