mirror of
https://github.com/Bubberstation/Bubberstation.git
synced 2026-07-19 20:15:47 +01:00
Replaces modular computer card eject verbs with UI buttons (#52489)
* Replaces mod-CPU card eject verbs with UI buttons * ?
This commit is contained in:
@@ -71,62 +71,6 @@
|
||||
physical = null
|
||||
return ..()
|
||||
|
||||
|
||||
/obj/item/modular_computer/proc/add_verb(var/path)
|
||||
switch(path)
|
||||
if(MC_CARD)
|
||||
verbs += /obj/item/modular_computer/proc/eject_id
|
||||
if(MC_SDD)
|
||||
verbs += /obj/item/modular_computer/proc/eject_disk
|
||||
if(MC_AI)
|
||||
verbs += /obj/item/modular_computer/proc/eject_card
|
||||
|
||||
/obj/item/modular_computer/proc/remove_verb(path)
|
||||
switch(path)
|
||||
if(MC_CARD)
|
||||
verbs -= /obj/item/modular_computer/proc/eject_id
|
||||
if(MC_SDD)
|
||||
verbs -= /obj/item/modular_computer/proc/eject_disk
|
||||
if(MC_AI)
|
||||
verbs -= /obj/item/modular_computer/proc/eject_card
|
||||
|
||||
// Eject ID card from computer, if it has ID slot with card inside.
|
||||
/obj/item/modular_computer/proc/eject_id()
|
||||
set name = "Eject ID"
|
||||
set category = "Object"
|
||||
set src in view(1)
|
||||
|
||||
if(issilicon(usr))
|
||||
return
|
||||
var/obj/item/computer_hardware/card_slot/card_slot = all_components[MC_CARD]
|
||||
if(usr.canUseTopic(src, BE_CLOSE))
|
||||
card_slot.try_eject(null, usr)
|
||||
|
||||
// Eject ID card from computer, if it has ID slot with card inside.
|
||||
/obj/item/modular_computer/proc/eject_card()
|
||||
set name = "Eject Intellicard"
|
||||
set category = "Object"
|
||||
|
||||
if(issilicon(usr))
|
||||
return
|
||||
var/obj/item/computer_hardware/ai_slot/ai_slot = all_components[MC_AI]
|
||||
if(usr.canUseTopic(src, BE_CLOSE))
|
||||
ai_slot.try_eject(null, usr,1)
|
||||
|
||||
|
||||
// Eject ID card from computer, if it has ID slot with card inside.
|
||||
/obj/item/modular_computer/proc/eject_disk()
|
||||
set name = "Eject Data Disk"
|
||||
set category = "Object"
|
||||
|
||||
if(issilicon(usr))
|
||||
return
|
||||
|
||||
if(usr.canUseTopic(src, BE_CLOSE))
|
||||
var/obj/item/computer_hardware/hard_drive/portable/portable_drive = all_components[MC_SDD]
|
||||
if(uninstall_component(portable_drive, usr))
|
||||
portable_drive.verb_pickup()
|
||||
|
||||
/obj/item/modular_computer/AltClick(mob/user)
|
||||
..()
|
||||
if(issilicon(user))
|
||||
@@ -134,17 +78,8 @@
|
||||
|
||||
if(user.canUseTopic(src, BE_CLOSE))
|
||||
var/obj/item/computer_hardware/card_slot/card_slot = all_components[MC_CARD]
|
||||
var/obj/item/computer_hardware/ai_slot/ai_slot = all_components[MC_AI]
|
||||
var/obj/item/computer_hardware/hard_drive/portable/portable_drive = all_components[MC_SDD]
|
||||
if(portable_drive)
|
||||
if(uninstall_component(portable_drive, user))
|
||||
portable_drive.verb_pickup()
|
||||
else
|
||||
if(card_slot && card_slot.try_eject(null, user))
|
||||
return
|
||||
if(ai_slot)
|
||||
ai_slot.try_eject(null, user)
|
||||
|
||||
if(card_slot)
|
||||
card_slot.try_eject(null, user)
|
||||
|
||||
// Gets IDs/access levels from card slot. Would be useful when/if PDAs would become modular PCs.
|
||||
/obj/item/modular_computer/GetAccess()
|
||||
|
||||
@@ -43,6 +43,7 @@
|
||||
if(enabled && !use_power())
|
||||
shutdown_computer()
|
||||
update_icon()
|
||||
return TRUE
|
||||
|
||||
|
||||
// Checks all hardware pieces to determine if name matches, if yes, returns the hardware piece, otherwise returns null
|
||||
|
||||
@@ -44,6 +44,30 @@
|
||||
/obj/item/modular_computer/ui_data(mob/user)
|
||||
var/list/data = get_header_data()
|
||||
data["device_theme"] = device_theme
|
||||
|
||||
data["login"] = list()
|
||||
var/obj/item/computer_hardware/card_slot/cardholder = all_components[MC_CARD]
|
||||
if(cardholder)
|
||||
var/obj/item/card/id/stored_card = cardholder.GetID()
|
||||
if(stored_card)
|
||||
var/stored_name = stored_card.registered_name
|
||||
var/stored_title = stored_card.assignment
|
||||
if(!stored_name)
|
||||
stored_name = "Unknown"
|
||||
if(!stored_title)
|
||||
stored_title = "Unknown"
|
||||
data["login"] = list(
|
||||
IDName = stored_name,
|
||||
IDJob = stored_title,
|
||||
)
|
||||
|
||||
data["removable_media"] = list()
|
||||
if(all_components[MC_SDD])
|
||||
data["removable_media"] += "removable storage disk"
|
||||
var/obj/item/computer_hardware/ai_slot/intelliholder = all_components[MC_AI]
|
||||
if(intelliholder?.stored_card)
|
||||
data["removable_media"] += "intelliCard"
|
||||
|
||||
data["programs"] = list()
|
||||
var/obj/item/computer_hardware/hard_drive/hard_drive = all_components[MC_HDD]
|
||||
for(var/datum/computer_file/program/P in hard_drive.stored_files)
|
||||
@@ -157,6 +181,30 @@
|
||||
light_color = new_color
|
||||
update_light()
|
||||
return TRUE
|
||||
|
||||
if("PC_Eject_Disk")
|
||||
var/param = params["name"]
|
||||
var/mob/user = usr
|
||||
switch(param)
|
||||
if("removable storage disk")
|
||||
var/obj/item/computer_hardware/hard_drive/portable/portable_drive = all_components[MC_SDD]
|
||||
if(!portable_drive)
|
||||
return
|
||||
if(uninstall_component(portable_drive, usr))
|
||||
user.put_in_hands(portable_drive)
|
||||
playsound(src, 'sound/machines/card_slide.ogg', 50)
|
||||
if("intelliCard")
|
||||
var/obj/item/computer_hardware/ai_slot/intelliholder = all_components[MC_AI]
|
||||
if(!intelliholder)
|
||||
return
|
||||
if(intelliholder.try_eject(0,user))
|
||||
playsound(src, 'sound/machines/card_slide.ogg', 50)
|
||||
if("ID")
|
||||
var/obj/item/computer_hardware/card_slot/cardholder = all_components[MC_CARD]
|
||||
if(!cardholder)
|
||||
return
|
||||
cardholder.try_eject(0, user)
|
||||
|
||||
else
|
||||
return
|
||||
|
||||
|
||||
@@ -56,23 +56,5 @@
|
||||
machinery_computer.update_icon()
|
||||
return
|
||||
|
||||
/obj/item/modular_computer/processor/add_verb(path)
|
||||
switch(path)
|
||||
if(MC_CARD)
|
||||
machinery_computer.verbs += /obj/machinery/modular_computer/proc/eject_id
|
||||
if(MC_SDD)
|
||||
machinery_computer.verbs += /obj/machinery/modular_computer/proc/eject_disk
|
||||
if(MC_AI)
|
||||
machinery_computer.verbs += /obj/machinery/modular_computer/proc/eject_card
|
||||
|
||||
/obj/item/modular_computer/processor/remove_verb(path)
|
||||
switch(path)
|
||||
if(MC_CARD)
|
||||
machinery_computer.verbs -= /obj/machinery/modular_computer/proc/eject_id
|
||||
if(MC_SDD)
|
||||
machinery_computer.verbs -= /obj/machinery/modular_computer/proc/eject_disk
|
||||
if(MC_AI)
|
||||
machinery_computer.verbs -= /obj/machinery/modular_computer/proc/eject_card
|
||||
|
||||
/obj/item/modular_computer/processor/attack_ghost(mob/user)
|
||||
ui_interact(user)
|
||||
|
||||
@@ -74,30 +74,6 @@
|
||||
add_overlay("bsod")
|
||||
add_overlay("broken")
|
||||
|
||||
// Eject ID card from computer, if it has ID slot with card inside.
|
||||
/obj/machinery/modular_computer/proc/eject_id()
|
||||
set name = "Eject ID"
|
||||
set category = "Object"
|
||||
|
||||
if(cpu)
|
||||
cpu.eject_id()
|
||||
|
||||
// Eject ID card from computer, if it has ID slot with card inside.
|
||||
/obj/machinery/modular_computer/proc/eject_disk()
|
||||
set name = "Eject Data Disk"
|
||||
set category = "Object"
|
||||
|
||||
if(cpu)
|
||||
cpu.eject_disk()
|
||||
|
||||
/obj/machinery/modular_computer/proc/eject_card()
|
||||
set name = "Eject Intellicard"
|
||||
set category = "Object"
|
||||
set src in view(1)
|
||||
|
||||
if(cpu)
|
||||
cpu.eject_card()
|
||||
|
||||
/obj/machinery/modular_computer/AltClick(mob/user)
|
||||
if(cpu)
|
||||
cpu.AltClick(user)
|
||||
|
||||
Reference in New Issue
Block a user