From ca16b830b1dbe676c37b920526248e765097f519 Mon Sep 17 00:00:00 2001 From: Heroman3003 <31296024+Heroman3003@users.noreply.github.com> Date: Wed, 20 Mar 2019 10:41:36 +1000 Subject: [PATCH 1/3] Added ID restoration terminal near HoP's office --- code/game/machinery/computer/card.dm | 1 + .../game/machinery/computer/id_restorer_vr.dm | 70 ++++++++++++++++++ .../weapons/circuitboards/circuitboards_vr.dm | 7 ++ code/modules/vore/eating/digest_act_vr.dm | 7 +- icons/obj/computer_vr.dmi | Bin 120730 -> 122623 bytes maps/tether/tether-05-station1.dmm | 8 +- vorestation.dme | 1 + 7 files changed, 92 insertions(+), 2 deletions(-) create mode 100644 code/game/machinery/computer/id_restorer_vr.dm diff --git a/code/game/machinery/computer/card.dm b/code/game/machinery/computer/card.dm index d23c199db0c..9f43bd077e9 100644 --- a/code/game/machinery/computer/card.dm +++ b/code/game/machinery/computer/card.dm @@ -286,6 +286,7 @@ if (modify) modify.name = text("[modify.registered_name]'s ID Card ([modify.assignment])") + modify.lost_access = list() //VOREStation addition: reset the lost access upon any modifications return 1 diff --git a/code/game/machinery/computer/id_restorer_vr.dm b/code/game/machinery/computer/id_restorer_vr.dm new file mode 100644 index 00000000000..6bb7e9b0237 --- /dev/null +++ b/code/game/machinery/computer/id_restorer_vr.dm @@ -0,0 +1,70 @@ +/obj/machinery/computer/id_restorer + name = "ID restoration terminal" + icon_state = "id-restorer" + plane = TURF_PLANE + layer = ABOVE_TURF_LAYER + icon_keyboard = null + icon_screen = "restorer" + density = 0 + circuit = /obj/item/weapon/circuitboard/guestpass + + var/obj/item/weapon/card/id/inserted + +/obj/machinery/computer/id_restorer/attackby(obj/I, mob/user) + if(istype(I, /obj/item/weapon/card/id) && !(istype(I,/obj/item/weapon/card/id/guest))) + if(!inserted && user.unEquip(I)) + I.forceMove(src) + inserted = I + else if(inserted) + user << "There is already ID card inside." + return + ..() + +/obj/machinery/computer/id_restorer/attack_hand(mob/user) + if(..()) return + if(stat & (NOPOWER|BROKEN)) return + + var/choice = alert(user,"What do you want to do?","[src]","Restore ID access","Eject ID","Cancel") + if(user.incapacitated() || (get_dist(src, user) > 1)) + return + switch(choice) + if("Restore ID access") + if(!inserted) + to_chat(user, "No ID inserted.") + return + var/mob/living/carbon/human/H = user + if(!(istype(H))) + to_chat(user, "Inappropriate species interfacing. Access denied.") + return + else if((H.wear_mask && (H.wear_mask.flags_inv & HIDEFACE)) || (H.head && (H.head.flags_inv & HIDEFACE))) //Face hiding bad + to_chat(user, "Face scan obstructed. Access denied.") + return + else if(H.get_face_name() == "Unknown" || !(H.real_name == inserted.registered_name)) + to_chat(user, "Face scan failed Access denied.") + return + else if(LAZYLEN(inserted.lost_access) && !(LAZYLEN(inserted.access))) + inserted.access = inserted.lost_access + inserted.lost_access = list() + to_chat(user, "ID access codes successfully restored.") + return + else if(!(LAZYLEN(inserted.lost_access))) + to_chat(user, "No recent access codes damage detected. Restoration cancelled.") + return + else + to_chat(user, "Terminal encountered unknown error. Contact system administrator or try again.") + return + if("Eject ID") + if(!inserted) + to_chat(user, "No ID inserted.") + return + if(ishuman(user)) + inserted.forceMove(get_turf(src)) + if(!user.get_active_hand()) + user.put_in_hands(inserted) + inserted = null + else + inserted.forceMove(get_turf(src)) + inserted = null + return + if("Cancel") + return \ No newline at end of file diff --git a/code/game/objects/items/weapons/circuitboards/circuitboards_vr.dm b/code/game/objects/items/weapons/circuitboards/circuitboards_vr.dm index fd2601c695d..9d4084f4ab1 100644 --- a/code/game/objects/items/weapons/circuitboards/circuitboards_vr.dm +++ b/code/game/objects/items/weapons/circuitboards/circuitboards_vr.dm @@ -53,3 +53,10 @@ build_path = /obj/machinery/computer/timeclock board_type = new /datum/frame/frame_types/timeclock_terminal matter = list(DEFAULT_WALL_MATERIAL = 50, "glass" = 50) + +// Board for the ID restorer in id_restorer_vr.dm +/obj/item/weapon/circuitboard/id_restorer + name = T_BOARD("ID restoration console") + build_path = /obj/machinery/computer/id_restorer + board_type = new /datum/frame/frame_types/guest_pass_console + matter = list(DEFAULT_WALL_MATERIAL = 50, "glass" = 50) diff --git a/code/modules/vore/eating/digest_act_vr.dm b/code/modules/vore/eating/digest_act_vr.dm index b78a91146d2..2467f5aaa29 100644 --- a/code/modules/vore/eating/digest_act_vr.dm +++ b/code/modules/vore/eating/digest_act_vr.dm @@ -71,11 +71,16 @@ id = null . = ..() +/obj/item/weapon/card/id + var/lost_access = list() + /obj/item/weapon/card/id/digest_act(var/atom/movable/item_storage = null) desc = "A partially digested card that has seen better days. The damage appears to be only cosmetic, but the access codes need to be reprogrammed at the HoP office." icon = 'icons/obj/card_vr.dmi' icon_state = "[initial(icon_state)]_digested" - access = list() // No access + if(!(LAZYLEN(lost_access)) && LAZYLEN(access)) + lost_access = access //Do not forget what access we lose + access = list() // Then lose it return FALSE /obj/item/weapon/reagent_containers/food/digest_act(var/atom/movable/item_storage = null) diff --git a/icons/obj/computer_vr.dmi b/icons/obj/computer_vr.dmi index 0c70fcd315488306bc84e3cb92286c5d12ae6e77..6c2673a6e600bcaa488c02dbad3e20ed4d1212d6 100644 GIT binary patch delta 14439 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 delta 12531 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 diff --git a/maps/tether/tether-05-station1.dmm b/maps/tether/tether-05-station1.dmm index cb3c38bf172..a233b9ff9ea 100644 --- a/maps/tether/tether-05-station1.dmm +++ b/maps/tether/tether-05-station1.dmm @@ -8459,6 +8459,9 @@ /turf/simulated/floor/plating, /area/crew_quarters/heads/hop) "awH" = ( +/obj/machinery/light{ + dir = 4 + }, /obj/effect/floor_decal/industrial/loading, /turf/simulated/floor/tiled, /area/crew_quarters/heads/hop) @@ -16159,7 +16162,10 @@ /obj/effect/floor_decal/steeldecal/steel_decals7{ dir = 1 }, -/obj/machinery/light, +/obj/machinery/computer/id_restorer{ + dir = 1; + pixel_y = -28 + }, /turf/simulated/floor/tiled, /area/hallway/station/atrium) "beH" = ( diff --git a/vorestation.dme b/vorestation.dme index 9edb170e38f..5ce99567862 100644 --- a/vorestation.dme +++ b/vorestation.dme @@ -758,6 +758,7 @@ #include "code\game\machinery\computer\computer.dm" #include "code\game\machinery\computer\crew.dm" #include "code\game\machinery\computer\guestpass.dm" +#include "code\game\machinery\computer\id_restorer_vr.dm" #include "code\game\machinery\computer\law.dm" #include "code\game\machinery\computer\medical.dm" #include "code\game\machinery\computer\message.dm" From 732fdd775dce2fdbc80ff12f45c6987dda897127 Mon Sep 17 00:00:00 2001 From: Heroman3003 <31296024+Heroman3003@users.noreply.github.com> Date: Wed, 20 Mar 2019 10:57:52 +1000 Subject: [PATCH 2/3] adjusts error messages for id restorer --- code/game/machinery/computer/id_restorer_vr.dm | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/code/game/machinery/computer/id_restorer_vr.dm b/code/game/machinery/computer/id_restorer_vr.dm index 6bb7e9b0237..d2d8384e2c3 100644 --- a/code/game/machinery/computer/id_restorer_vr.dm +++ b/code/game/machinery/computer/id_restorer_vr.dm @@ -30,17 +30,17 @@ switch(choice) if("Restore ID access") if(!inserted) - to_chat(user, "No ID inserted.") + to_chat(user, "No ID is inserted.") return var/mob/living/carbon/human/H = user if(!(istype(H))) - to_chat(user, "Inappropriate species interfacing. Access denied.") + to_chat(user, "Invalid user detected. Access denied.") return else if((H.wear_mask && (H.wear_mask.flags_inv & HIDEFACE)) || (H.head && (H.head.flags_inv & HIDEFACE))) //Face hiding bad - to_chat(user, "Face scan obstructed. Access denied.") + to_chat(user, "Facial recognition scan failed due to physical obstructions. Access denied.") return else if(H.get_face_name() == "Unknown" || !(H.real_name == inserted.registered_name)) - to_chat(user, "Face scan failed Access denied.") + to_chat(user, "Facial recognition scan failed. Access denied.") return else if(LAZYLEN(inserted.lost_access) && !(LAZYLEN(inserted.access))) inserted.access = inserted.lost_access @@ -55,7 +55,7 @@ return if("Eject ID") if(!inserted) - to_chat(user, "No ID inserted.") + to_chat(user, "No ID is inserted.") return if(ishuman(user)) inserted.forceMove(get_turf(src)) From 867eac413a88896fb3a8660c0490bdda9da9c26a Mon Sep 17 00:00:00 2001 From: Heroman Date: Thu, 28 Mar 2019 15:56:47 +1000 Subject: [PATCH 3/3] Adds unique icon for ID restorer (courtesy of VerySoft) --- .../game/machinery/computer/id_restorer_vr.dm | 40 +++++++++++++++--- .../weapons/circuitboards/circuitboards_vr.dm | 2 +- icons/obj/computer_vr.dmi | Bin 122623 -> 120730 bytes icons/obj/machines/id_restorer_vr.dmi | Bin 0 -> 7390 bytes 4 files changed, 34 insertions(+), 8 deletions(-) create mode 100644 icons/obj/machines/id_restorer_vr.dmi diff --git a/code/game/machinery/computer/id_restorer_vr.dm b/code/game/machinery/computer/id_restorer_vr.dm index d2d8384e2c3..86ffaa88bb7 100644 --- a/code/game/machinery/computer/id_restorer_vr.dm +++ b/code/game/machinery/computer/id_restorer_vr.dm @@ -1,12 +1,18 @@ /obj/machinery/computer/id_restorer name = "ID restoration terminal" - icon_state = "id-restorer" - plane = TURF_PLANE - layer = ABOVE_TURF_LAYER + desc = "A terminal for restoration of damaged IDs. Mostly used for aftermath of unfortunate falls into vats of acid." + icon_state = "restorer" icon_keyboard = null - icon_screen = "restorer" - density = 0 - circuit = /obj/item/weapon/circuitboard/guestpass + light_color = "#11cc00" + layer = ABOVE_WINDOW_LAYER + icon_keyboard = null + icon = 'icons/obj/machines/id_restorer_vr.dmi' + density = FALSE + clicksound = null + circuit = /obj/item/weapon/circuitboard/id_restorer + + var/icon_success = "restorer_success" + var/icon_fail = "restorer_fail" var/obj/item/weapon/card/id/inserted @@ -35,23 +41,29 @@ var/mob/living/carbon/human/H = user if(!(istype(H))) to_chat(user, "Invalid user detected. Access denied.") + flick(icon_fail, src) return else if((H.wear_mask && (H.wear_mask.flags_inv & HIDEFACE)) || (H.head && (H.head.flags_inv & HIDEFACE))) //Face hiding bad to_chat(user, "Facial recognition scan failed due to physical obstructions. Access denied.") + flick(icon_fail, src) return else if(H.get_face_name() == "Unknown" || !(H.real_name == inserted.registered_name)) to_chat(user, "Facial recognition scan failed. Access denied.") + flick(icon_fail, src) return else if(LAZYLEN(inserted.lost_access) && !(LAZYLEN(inserted.access))) inserted.access = inserted.lost_access inserted.lost_access = list() + inserted.desc = "A partially digested card that has seen better days. The damage to access codes, however, appears to have been mitigated." to_chat(user, "ID access codes successfully restored.") + flick(icon_success, src) return else if(!(LAZYLEN(inserted.lost_access))) to_chat(user, "No recent access codes damage detected. Restoration cancelled.") return else to_chat(user, "Terminal encountered unknown error. Contact system administrator or try again.") + flick(icon_fail, src) return if("Eject ID") if(!inserted) @@ -67,4 +79,18 @@ inserted = null return if("Cancel") - return \ No newline at end of file + return + + +//Frame +/datum/frame/frame_types/id_restorer + name = "ID Restoration Terminal" + frame_class = FRAME_CLASS_DISPLAY + frame_size = 2 + frame_style = FRAME_STYLE_WALL + x_offset = 30 + y_offset = 30 + icon_override = 'icons/obj/machines/id_restorer_vr.dmi' + +/datum/frame/frame_types/id_restorer/get_icon_state(var/state) + return "restorer_b[state]" \ No newline at end of file diff --git a/code/game/objects/items/weapons/circuitboards/circuitboards_vr.dm b/code/game/objects/items/weapons/circuitboards/circuitboards_vr.dm index 9d4084f4ab1..0084e694777 100644 --- a/code/game/objects/items/weapons/circuitboards/circuitboards_vr.dm +++ b/code/game/objects/items/weapons/circuitboards/circuitboards_vr.dm @@ -58,5 +58,5 @@ /obj/item/weapon/circuitboard/id_restorer name = T_BOARD("ID restoration console") build_path = /obj/machinery/computer/id_restorer - board_type = new /datum/frame/frame_types/guest_pass_console + board_type = new /datum/frame/frame_types/id_restorer matter = list(DEFAULT_WALL_MATERIAL = 50, "glass" = 50) diff --git a/icons/obj/computer_vr.dmi b/icons/obj/computer_vr.dmi index 6c2673a6e600bcaa488c02dbad3e20ed4d1212d6..0c70fcd315488306bc84e3cb92286c5d12ae6e77 100644 GIT binary patch delta 12531 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 delta 14439 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 diff --git a/icons/obj/machines/id_restorer_vr.dmi b/icons/obj/machines/id_restorer_vr.dmi new file mode 100644 index 0000000000000000000000000000000000000000..578d609e92538e48052b83736adc993a0118ccfe GIT binary patch literal 7390 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 b0mpvPIFwLeRD}OC2)JzBx#jsL@96&kkNF=0 literal 0 HcmV?d00001