Wristbound Computer Introduction (#8648)

This commit is contained in:
Geeves
2020-04-22 00:04:11 +02:00
committed by GitHub
parent c00c41779d
commit d2f63580ff
12 changed files with 164 additions and 15 deletions

View File

@@ -1336,6 +1336,7 @@
#include "code\modules\client\preference_setup\loadout\gear_tweaks.dm" #include "code\modules\client\preference_setup\loadout\gear_tweaks.dm"
#include "code\modules\client\preference_setup\loadout\loadout.dm" #include "code\modules\client\preference_setup\loadout\loadout.dm"
#include "code\modules\client\preference_setup\loadout\loadout_accessories.dm" #include "code\modules\client\preference_setup\loadout\loadout_accessories.dm"
#include "code\modules\client\preference_setup\loadout\loadout_computer.dm"
#include "code\modules\client\preference_setup\loadout\loadout_cosmetics.dm" #include "code\modules\client\preference_setup\loadout\loadout_cosmetics.dm"
#include "code\modules\client\preference_setup\loadout\loadout_ears.dm" #include "code\modules\client\preference_setup\loadout\loadout_ears.dm"
#include "code\modules\client\preference_setup\loadout\loadout_eyes.dm" #include "code\modules\client\preference_setup\loadout\loadout_eyes.dm"

View File

@@ -243,7 +243,13 @@ var/obj/item/card/id/all_access/ghost_all_access
if(id) if(id)
return id return id
if(wear_id) if(wear_id)
return wear_id.GetID() var/id = wear_id.GetID()
if(id)
return id
if(gloves)
var/id = gloves.GetID()
if(id)
return id
/mob/living/silicon/GetIdCard() /mob/living/silicon/GetIdCard()
return id_card return id_card

View File

@@ -324,4 +324,5 @@
uniform = /obj/item/clothing/under/suit_jacket/charcoal uniform = /obj/item/clothing/under/suit_jacket/charcoal
l_pocket = /obj/item/modular_computer/tablet/preset/custom_loadout/advanced l_pocket = /obj/item/modular_computer/tablet/preset/custom_loadout/advanced
r_pocket = /obj/item/card/tech_support r_pocket = /obj/item/card/tech_support
l_hand = /obj/item/modular_computer/laptop/preset l_hand = /obj/item/modular_computer/laptop/preset
gloves = /obj/item/modular_computer/wristbound/preset/advanced/generic

View File

@@ -0,0 +1,74 @@
/datum/gear/computer
display_name = "tablet"
path = /obj/item/modular_computer/tablet/preset/custom_loadout/advanced // for card slots
sort_category = "Modular Computers"
cost = 2
/datum/gear/computer/laptop
display_name = "laptop computer"
path = /obj/item/modular_computer/laptop/preset
cost = 3
/datum/gear/computer/wristbound
display_name = "wristbound computer"
path = /obj/item/modular_computer/wristbound/preset/advanced/generic
/datum/gear/computer/wristbound/cargo
display_name = "wristbound computer (Cargo)"
path = /obj/item/modular_computer/wristbound/preset/advanced/cargo
allowed_roles = list("Cargo Technician", "Shaft Miner", "Quartermaster")
/datum/gear/computer/wristbound/engineering
display_name = "wristbound computer (Engineering)"
path = /obj/item/modular_computer/wristbound/preset/advanced/engineering
allowed_roles = list("Station Engineer", "Engineering Apprentince", "Atmospheric Technician", "Engineering Apprentice")
/datum/gear/computer/wristbound/medical
display_name = "wristbound computer (Medical)"
path = /obj/item/modular_computer/wristbound/preset/advanced/medical
allowed_roles = list("Physician", "Surgeon", "Medical Resident", "Pharmacist", "Psychiatrist", "Paramedic")
/datum/gear/computer/wristbound/security
display_name = "wristbound computer (Security)"
path = /obj/item/modular_computer/wristbound/preset/advanced/security
allowed_roles = list("Security Officer", "Warden", "Security Cadet")
/datum/gear/computer/wristbound/security/investigations
display_name = "wristbound computer (Security Investigations)"
path = /obj/item/modular_computer/wristbound/preset/advanced/security/investigations
allowed_roles = list("Detective", "Forensic Technician")
/datum/gear/computer/wristbound/security/research
display_name = "wristbound computer (Research)"
path = /obj/item/modular_computer/wristbound/preset/advanced/research
allowed_roles = list("Scientist", "Lab Assistant", "Roboticist", "Xenobiologist")
/datum/gear/computer/wristbound/ce
display_name = "wristbound computer (Chief Engineer)"
path = /obj/item/modular_computer/wristbound/preset/advanced/command/ce
allowed_roles = list("Chief Engineer")
/datum/gear/computer/wristbound/rd
display_name = "wristbound computer (Research Director)"
path = /obj/item/modular_computer/wristbound/preset/advanced/command/rd
allowed_roles = list("Research Director")
/datum/gear/computer/wristbound/cmo
display_name = "wristbound computer (Chief Medical Officer)"
path = /obj/item/modular_computer/wristbound/preset/advanced/command/cmo
allowed_roles = list("Chief Medical Officer")
/datum/gear/computer/wristbound/hop
display_name = "wristbound computer (Head of Personnel)"
path = /obj/item/modular_computer/wristbound/preset/advanced/command/hop
allowed_roles = list("Head of Personnel")
/datum/gear/computer/wristbound/hos
display_name = "wristbound computer (Head of Security)"
path = /obj/item/modular_computer/wristbound/preset/advanced/command/hos
allowed_roles = list("Head of Security")
/datum/gear/computer/wristbound/captain
display_name = "wristbound computer (Captain)"
path = /obj/item/modular_computer/wristbound/preset/advanced/command/captain
allowed_roles = list("Captain")

View File

@@ -67,11 +67,6 @@
display_name = "personal AI device" display_name = "personal AI device"
path = /obj/item/device/paicard path = /obj/item/device/paicard
/datum/gear/utility/laptop
display_name = "laptop"
path = /obj/item/modular_computer/laptop/preset
cost = 3
/datum/gear/utility/wallet /datum/gear/utility/wallet
display_name = "wallet, orange" display_name = "wallet, orange"
path = /obj/item/storage/wallet path = /obj/item/storage/wallet

View File

@@ -224,3 +224,7 @@
return return
..() ..()
/obj/item/modular_computer/GetID()
if(card_slot.stored_card)
return card_slot.stored_card

View File

@@ -5,6 +5,7 @@
icon_state = "tablet" icon_state = "tablet"
icon_state_unpowered = "tablet" icon_state_unpowered = "tablet"
icon_state_menu = "menu" icon_state_menu = "menu"
slot_flags = SLOT_ID
can_reset = TRUE can_reset = TRUE
hardware_flag = PROGRAM_TABLET hardware_flag = PROGRAM_TABLET
max_hardware_size = 1 max_hardware_size = 1

View File

@@ -4,16 +4,20 @@
description_info = "A NanoTrasen design, this wristbound computer allows the user to quickly and safely access critical info, without taking their hands out of the equation." description_info = "A NanoTrasen design, this wristbound computer allows the user to quickly and safely access critical info, without taking their hands out of the equation."
icon = 'icons/obj/modular_wristbound.dmi' icon = 'icons/obj/modular_wristbound.dmi'
icon_state = "wristbound" icon_state = "wristbound"
icon_state_unpowered = "wristbound_unpowered"
icon_state_menu = "menu" icon_state_menu = "menu"
icon_state_screensaver = "standby" icon_state_screensaver = "standby"
hardware_flag = PROGRAM_WRISTBOUND hardware_flag = PROGRAM_WRISTBOUND
slot_flags = SLOT_GLOVES slot_flags = SLOT_GLOVES|SLOT_ID
max_hardware_size = 1 max_hardware_size = 1
w_class = ITEMSIZE_NORMAL w_class = ITEMSIZE_NORMAL
light_strength = 1 light_strength = 1
menu_light_color = COLOR_GREEN menu_light_color = COLOR_GREEN
/obj/item/modular_computer/wristbound/Initialize()
icon_state_unpowered = icon_state
icon_state_broken = icon_state
. = ..()
/obj/item/modular_computer/wristbound/attack_hand(mob/user) /obj/item/modular_computer/wristbound/attack_hand(mob/user)
if(ishuman(user)) if(ishuman(user))
var/mob/living/carbon/human/H = user var/mob/living/carbon/human/H = user

View File

@@ -1,4 +1,4 @@
/obj/item/modular_computer/wristbound/preset/custom_loadout/cheap/install_default_hardware() /obj/item/modular_computer/wristbound/preset/cheap/install_default_hardware()
..() ..()
processor_unit = new /obj/item/computer_hardware/processor_unit/small(src) processor_unit = new /obj/item/computer_hardware/processor_unit/small(src)
hard_drive = new /obj/item/computer_hardware/hard_drive/micro(src) hard_drive = new /obj/item/computer_hardware/hard_drive/micro(src)
@@ -6,7 +6,7 @@
battery_module = new /obj/item/computer_hardware/battery_module/nano(src) battery_module = new /obj/item/computer_hardware/battery_module/nano(src)
battery_module.charge_to_full() battery_module.charge_to_full()
/obj/item/modular_computer/wristbound/preset/custom_loadout/advanced/install_default_hardware() /obj/item/modular_computer/wristbound/preset/advanced/install_default_hardware()
..() ..()
processor_unit = new /obj/item/computer_hardware/processor_unit/small(src) processor_unit = new /obj/item/computer_hardware/processor_unit/small(src)
hard_drive = new /obj/item/computer_hardware/hard_drive/small(src) hard_drive = new /obj/item/computer_hardware/hard_drive/small(src)
@@ -16,9 +16,60 @@
battery_module = new /obj/item/computer_hardware/battery_module(src) battery_module = new /obj/item/computer_hardware/battery_module(src)
battery_module.charge_to_full() battery_module.charge_to_full()
/obj/item/modular_computer/wristbound/preset/advanced/cargo
// Cargo Delivery
/obj/item/modular_computer/wristbound/preset/custom_loadout/advanced/cargo_delivery
icon_state = "wristbound_supply" icon_state = "wristbound_supply"
_app_preset_type = /datum/modular_computer_app_presets/cargo_delivery _app_preset_type = /datum/modular_computer_app_presets/cargo_delivery
enrolled = TRUE
/obj/item/modular_computer/wristbound/preset/advanced/engineering
icon_state = "wristbound_engineering"
_app_preset_type = /datum/modular_computer_app_presets/engineering
enrolled = TRUE
/obj/item/modular_computer/wristbound/preset/advanced/medical
icon_state = "wristbound_medical"
_app_preset_type = /datum/modular_computer_app_presets/medical
enrolled = TRUE
/obj/item/modular_computer/wristbound/preset/advanced/security
icon_state = "wristbound_security"
_app_preset_type = /datum/modular_computer_app_presets/security
enrolled = TRUE
/obj/item/modular_computer/wristbound/preset/advanced/security/investigations
_app_preset_type = /datum/modular_computer_app_presets/security/investigations
/obj/item/modular_computer/wristbound/preset/advanced/research
icon_state = "wristbound_science"
_app_preset_type = /datum/modular_computer_app_presets/research
enrolled = TRUE
/obj/item/modular_computer/wristbound/preset/advanced/command
icon_state = "wristbound_command"
_app_preset_type = /datum/modular_computer_app_presets/command
enrolled = TRUE
/obj/item/modular_computer/wristbound/preset/advanced/command/ce
_app_preset_type = /datum/modular_computer_app_presets/engineering/ce
/obj/item/modular_computer/wristbound/preset/advanced/command/rd
_app_preset_type = /datum/modular_computer_app_presets/research/rd
/obj/item/modular_computer/wristbound/preset/advanced/command/cmo
_app_preset_type = /datum/modular_computer_app_presets/medical/cmo
/obj/item/modular_computer/wristbound/preset/advanced/command/hop
_app_preset_type = /datum/modular_computer_app_presets/command/hop
/obj/item/modular_computer/wristbound/preset/advanced/command/hos
_app_preset_type = /datum/modular_computer_app_presets/security/hos
/obj/item/modular_computer/wristbound/preset/advanced/command/captain
_app_preset_type = /datum/modular_computer_app_presets/captain
/obj/item/modular_computer/wristbound/preset/advanced/generic
_app_preset_type = /datum/modular_computer_app_presets/civilian
/obj/item/modular_computer/wristbound/preset/advanced/representative
_app_preset_type = /datum/modular_computer_app_presets/representative
enrolled = TRUE enrolled = TRUE

View File

@@ -216,7 +216,7 @@
description = "Contains the most common security and forensics programs." description = "Contains the most common security and forensics programs."
available = FALSE available = FALSE
/datum/modular_computer_app_presets/security/return_install_programs() /datum/modular_computer_app_presets/security/investigations/return_install_programs()
var/list/_prg_list = list( var/list/_prg_list = list(
new /datum/computer_file/program/filemanager(), new /datum/computer_file/program/filemanager(),
new /datum/computer_file/program/chatclient(), new /datum/computer_file/program/chatclient(),

View File

@@ -0,0 +1,12 @@
author: Code by Geeves, Sprites by Aticius & Europa Devs
delete-after: True
changes:
- tweak: "Tweaked access checking to check for IDs within your gloves slot."
- rscadd: "Tech Support now spawns with a wristbound computer."
- rscadd: "Created a new loadout section just for modular computers."
- rscadd: "If you have your modular computer, be it a laptop, tablet, or wristbound, in your active hand, ID, or glove slot, it will now allow you use it to access things like airlocks and computer programs."
- tweak: "Modular tablets now fit in the ID slot."
- tweak: "Wristbound computers fit in the ID and Gloves slot."
- bugfix: "Fixed security having access to the investigation department's programs."

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.0 KiB

After

Width:  |  Height:  |  Size: 3.0 KiB