From 75b57006e7c6dc76d891bba33b32a1dc147e285c Mon Sep 17 00:00:00 2001 From: SabreML <57483089+SabreML@users.noreply.github.com> Date: Mon, 27 Jul 2020 02:04:18 +0100 Subject: [PATCH 01/16] Warns user when using an ID card on a drone. --- .../mob/living/silicon/robot/drone/drone.dm | 18 +++++++++++------- 1 file changed, 11 insertions(+), 7 deletions(-) diff --git a/code/modules/mob/living/silicon/robot/drone/drone.dm b/code/modules/mob/living/silicon/robot/drone/drone.dm index 91970d030a6..c58b97f9529 100644 --- a/code/modules/mob/living/silicon/robot/drone/drone.dm +++ b/code/modules/mob/living/silicon/robot/drone/drone.dm @@ -154,15 +154,19 @@ return else - user.visible_message("\the [user] swipes [user.p_their()] ID card through [src], attempting to shut it down.", "You swipe your ID card through \the [src], attempting to shut it down.") + var/confirm = null + confirm = alert("Using your ID on a Maintenance Drone will shut it down, are you sure you want to do this?", "Disable Drone", "Yes", "No") + if (confirm == ("Yes")) + user.visible_message("\the [user] swipes [user.p_their()] ID card through [src], attempting to shut it down.", "You swipe your ID card through \the [src], attempting to shut it down.") - if(emagged) - return + if(emagged) + return - if(allowed(W)) - shut_down() - else - to_chat(user, "Access denied.") + if(allowed(W)) + shut_down() + else + to_chat(user, "Access denied.") + return return From 7c4b8856d83241a6f57fc4d7cd54e0dafe108f5b Mon Sep 17 00:00:00 2001 From: SabreML <57483089+SabreML@users.noreply.github.com> Date: Mon, 27 Jul 2020 02:42:30 +0100 Subject: [PATCH 02/16] Drones can now pick up Light Switchs and Extinguisher Cabinet frames. --- code/modules/mob/living/silicon/robot/drone/drone_items.dm | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/code/modules/mob/living/silicon/robot/drone/drone_items.dm b/code/modules/mob/living/silicon/robot/drone/drone_items.dm index a0582c135e4..16e81f53276 100644 --- a/code/modules/mob/living/silicon/robot/drone/drone_items.dm +++ b/code/modules/mob/living/silicon/robot/drone/drone_items.dm @@ -8,7 +8,6 @@ //Has a list of items that it can hold. var/list/can_hold = list( - /obj/item/stock_parts/cell, /obj/item/firealarm_electronics, /obj/item/airalarm_electronics, /obj/item/airlock_electronics, @@ -24,6 +23,8 @@ /obj/item/mounted/frame/firealarm, /obj/item/mounted/frame/newscaster_frame, /obj/item/mounted/frame/intercom, + /obj/item/mounted/frame/extinguisher, + /obj/item/mounted/frame/light_switch, /obj/item/rack_parts, /obj/item/camera_assembly, /obj/item/tank, From 1dd693aebed12753d99cb4c343ebddf55c74f9f5 Mon Sep 17 00:00:00 2001 From: SabreML <57483089+SabreML@users.noreply.github.com> Date: Mon, 27 Jul 2020 03:24:22 +0100 Subject: [PATCH 03/16] Allows drones to drag construction materials. --- code/modules/mob/living/silicon/robot/drone/drone.dm | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/code/modules/mob/living/silicon/robot/drone/drone.dm b/code/modules/mob/living/silicon/robot/drone/drone.dm index c58b97f9529..9d92d4d7b1e 100644 --- a/code/modules/mob/living/silicon/robot/drone/drone.dm +++ b/code/modules/mob/living/silicon/robot/drone/drone.dm @@ -327,7 +327,11 @@ /mob/living/silicon/robot/drone/start_pulling(var/atom/movable/AM) - if(istype(AM,/obj/item/pipe) || istype(AM,/obj/structure/disposalconstruct)) + if(istype(AM,/obj/item/pipe) \ + || istype(AM,/obj/structure/disposalconstruct) \ + || istype(AM,/obj/item/stack/cable_coil) \ + || istype(AM,/obj/item/stack/rods) \ + || istype(AM,/obj/item/stack/sheet)) ..() else if(istype(AM,/obj/item)) var/obj/item/O = AM From 796516f496c4e34a05cfa03bb3291b28839f75b1 Mon Sep 17 00:00:00 2001 From: SabreML <57483089+SabreML@users.noreply.github.com> Date: Mon, 27 Jul 2020 03:31:07 +0100 Subject: [PATCH 04/16] And also floor tiles. --- code/modules/mob/living/silicon/robot/drone/drone.dm | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/code/modules/mob/living/silicon/robot/drone/drone.dm b/code/modules/mob/living/silicon/robot/drone/drone.dm index 9d92d4d7b1e..bb0d880bf40 100644 --- a/code/modules/mob/living/silicon/robot/drone/drone.dm +++ b/code/modules/mob/living/silicon/robot/drone/drone.dm @@ -331,7 +331,8 @@ || istype(AM,/obj/structure/disposalconstruct) \ || istype(AM,/obj/item/stack/cable_coil) \ || istype(AM,/obj/item/stack/rods) \ - || istype(AM,/obj/item/stack/sheet)) + || istype(AM,/obj/item/stack/sheet) \ + || istype(AM,/obj/item/stack/tile)) ..() else if(istype(AM,/obj/item)) var/obj/item/O = AM From 7da32e28ba671e251161eb5603ddde728ccf9f52 Mon Sep 17 00:00:00 2001 From: SabreML <57483089+SabreML@users.noreply.github.com> Date: Mon, 27 Jul 2020 03:32:37 +0100 Subject: [PATCH 05/16] Fixes light replacer grammar. --- code/game/objects/items/devices/lightreplacer.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/game/objects/items/devices/lightreplacer.dm b/code/game/objects/items/devices/lightreplacer.dm index 7a6b41966a8..bb44f5c92f2 100644 --- a/code/game/objects/items/devices/lightreplacer.dm +++ b/code/game/objects/items/devices/lightreplacer.dm @@ -191,7 +191,7 @@ if(CanUse(U)) if(!Use(U)) return - to_chat(U, "You replace [target.fitting] with [src].") + to_chat(U, "You replace the Light [target.fitting] with [src].") if(target.status != LIGHT_EMPTY) AddShards(1, U) From 4f05dc23543db72ab3732183c26559f7f4126222 Mon Sep 17 00:00:00 2001 From: SabreML <57483089+SabreML@users.noreply.github.com> Date: Mon, 27 Jul 2020 03:38:52 +0100 Subject: [PATCH 06/16] Update lightreplacer.dm --- code/game/objects/items/devices/lightreplacer.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/game/objects/items/devices/lightreplacer.dm b/code/game/objects/items/devices/lightreplacer.dm index bb44f5c92f2..e96fceb8b6c 100644 --- a/code/game/objects/items/devices/lightreplacer.dm +++ b/code/game/objects/items/devices/lightreplacer.dm @@ -191,7 +191,7 @@ if(CanUse(U)) if(!Use(U)) return - to_chat(U, "You replace the Light [target.fitting] with [src].") + to_chat(U, "You replace the light [target.fitting] with [src].") if(target.status != LIGHT_EMPTY) AddShards(1, U) From b7f5995ad3a4e7a8bb38b82ee725a7dcbd713023 Mon Sep 17 00:00:00 2001 From: SabreML <57483089+SabreML@users.noreply.github.com> Date: Mon, 27 Jul 2020 04:12:16 +0100 Subject: [PATCH 07/16] Fixed Travis. (Hopefully) --- code/modules/mob/living/silicon/robot/drone/drone.dm | 1 - 1 file changed, 1 deletion(-) diff --git a/code/modules/mob/living/silicon/robot/drone/drone.dm b/code/modules/mob/living/silicon/robot/drone/drone.dm index bb0d880bf40..ae417d488a1 100644 --- a/code/modules/mob/living/silicon/robot/drone/drone.dm +++ b/code/modules/mob/living/silicon/robot/drone/drone.dm @@ -166,7 +166,6 @@ shut_down() else to_chat(user, "Access denied.") - return return From a991cb7e72ae8dd55b1975e95b32e03c1685734b Mon Sep 17 00:00:00 2001 From: SabreML <57483089+SabreML@users.noreply.github.com> Date: Mon, 27 Jul 2020 04:57:34 +0100 Subject: [PATCH 08/16] Moved pullable items to a list. --- .../mob/living/silicon/robot/drone/drone.dm | 18 +++++++++++------- 1 file changed, 11 insertions(+), 7 deletions(-) diff --git a/code/modules/mob/living/silicon/robot/drone/drone.dm b/code/modules/mob/living/silicon/robot/drone/drone.dm index ae417d488a1..86ff147050b 100644 --- a/code/modules/mob/living/silicon/robot/drone/drone.dm +++ b/code/modules/mob/living/silicon/robot/drone/drone.dm @@ -156,7 +156,7 @@ else var/confirm = null confirm = alert("Using your ID on a Maintenance Drone will shut it down, are you sure you want to do this?", "Disable Drone", "Yes", "No") - if (confirm == ("Yes")) + if(confirm == ("Yes")) user.visible_message("\the [user] swipes [user.p_their()] ID card through [src], attempting to shut it down.", "You swipe your ID card through \the [src], attempting to shut it down.") if(emagged) @@ -324,15 +324,19 @@ /mob/living/silicon/robot/drone/Bumped(atom/movable/AM) return +var/list/pullable_drone_items = list( + /obj/item/pipe, + /obj/structure/disposalconstruct, + /obj/item/stack/cable_coil, + /obj/item/stack/rods, + /obj/item/stack/sheet, + /obj/item/stack/tile,) + /mob/living/silicon/robot/drone/start_pulling(var/atom/movable/AM) - if(istype(AM,/obj/item/pipe) \ - || istype(AM,/obj/structure/disposalconstruct) \ - || istype(AM,/obj/item/stack/cable_coil) \ - || istype(AM,/obj/item/stack/rods) \ - || istype(AM,/obj/item/stack/sheet) \ - || istype(AM,/obj/item/stack/tile)) + if(is_type_in_list(AM, pullable_drone_items)) ..() + else if(istype(AM,/obj/item)) var/obj/item/O = AM if(O.w_class > WEIGHT_CLASS_SMALL) From fc3649f3cd494858d624d4c9e0a18284cab022d7 Mon Sep 17 00:00:00 2001 From: SabreML <57483089+SabreML@users.noreply.github.com> Date: Mon, 27 Jul 2020 05:08:58 +0100 Subject: [PATCH 09/16] Travis fix (1) --- code/modules/mob/living/silicon/robot/drone/drone.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/modules/mob/living/silicon/robot/drone/drone.dm b/code/modules/mob/living/silicon/robot/drone/drone.dm index 86ff147050b..f9cacfb16b7 100644 --- a/code/modules/mob/living/silicon/robot/drone/drone.dm +++ b/code/modules/mob/living/silicon/robot/drone/drone.dm @@ -330,7 +330,7 @@ var/list/pullable_drone_items = list( /obj/item/stack/cable_coil, /obj/item/stack/rods, /obj/item/stack/sheet, - /obj/item/stack/tile,) + /obj/item/stack/tile) /mob/living/silicon/robot/drone/start_pulling(var/atom/movable/AM) From fddfdaab373c2c51f515a8f9abeb103af6a1fd80 Mon Sep 17 00:00:00 2001 From: SabreML <57483089+SabreML@users.noreply.github.com> Date: Mon, 27 Jul 2020 05:11:53 +0100 Subject: [PATCH 10/16] Update drone.dm --- code/modules/mob/living/silicon/robot/drone/drone.dm | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/code/modules/mob/living/silicon/robot/drone/drone.dm b/code/modules/mob/living/silicon/robot/drone/drone.dm index f9cacfb16b7..7a094ba6f3e 100644 --- a/code/modules/mob/living/silicon/robot/drone/drone.dm +++ b/code/modules/mob/living/silicon/robot/drone/drone.dm @@ -330,7 +330,8 @@ var/list/pullable_drone_items = list( /obj/item/stack/cable_coil, /obj/item/stack/rods, /obj/item/stack/sheet, - /obj/item/stack/tile) + /obj/item/stack/tile +) /mob/living/silicon/robot/drone/start_pulling(var/atom/movable/AM) From e59c2e3c145cd149b7fce48d4595d5caf8c5a809 Mon Sep 17 00:00:00 2001 From: SabreML <57483089+SabreML@users.noreply.github.com> Date: Mon, 27 Jul 2020 05:32:09 +0100 Subject: [PATCH 11/16] Travis fix (3) --- .../mob/living/silicon/robot/drone/drone.dm | 17 ++++++++--------- 1 file changed, 8 insertions(+), 9 deletions(-) diff --git a/code/modules/mob/living/silicon/robot/drone/drone.dm b/code/modules/mob/living/silicon/robot/drone/drone.dm index 7a094ba6f3e..8b547a47cd0 100644 --- a/code/modules/mob/living/silicon/robot/drone/drone.dm +++ b/code/modules/mob/living/silicon/robot/drone/drone.dm @@ -35,6 +35,14 @@ var/reboot_cooldown = 60 // one minute var/last_reboot var/emagged_time + var/list/pullable_drone_items = list( + /obj/item/pipe, + /obj/structure/disposalconstruct, + /obj/item/stack/cable_coil, + /obj/item/stack/rods, + /obj/item/stack/sheet, + /obj/item/stack/tile + ) holder_type = /obj/item/holder/drone // var/sprite[0] @@ -324,15 +332,6 @@ /mob/living/silicon/robot/drone/Bumped(atom/movable/AM) return -var/list/pullable_drone_items = list( - /obj/item/pipe, - /obj/structure/disposalconstruct, - /obj/item/stack/cable_coil, - /obj/item/stack/rods, - /obj/item/stack/sheet, - /obj/item/stack/tile -) - /mob/living/silicon/robot/drone/start_pulling(var/atom/movable/AM) if(is_type_in_list(AM, pullable_drone_items)) From a1620fa765eb13d4f0a051b9c5ad0a8fe20de102 Mon Sep 17 00:00:00 2001 From: SabreML <57483089+SabreML@users.noreply.github.com> Date: Mon, 27 Jul 2020 18:14:00 +0100 Subject: [PATCH 12/16] Merged confirm var lines. --- code/modules/mob/living/silicon/robot/drone/drone.dm | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/code/modules/mob/living/silicon/robot/drone/drone.dm b/code/modules/mob/living/silicon/robot/drone/drone.dm index 8b547a47cd0..33c17aa6387 100644 --- a/code/modules/mob/living/silicon/robot/drone/drone.dm +++ b/code/modules/mob/living/silicon/robot/drone/drone.dm @@ -162,8 +162,7 @@ return else - var/confirm = null - confirm = alert("Using your ID on a Maintenance Drone will shut it down, are you sure you want to do this?", "Disable Drone", "Yes", "No") + var/confirm = alert("Using your ID on a Maintenance Drone will shut it down, are you sure you want to do this?", "Disable Drone", "Yes", "No") if(confirm == ("Yes")) user.visible_message("\the [user] swipes [user.p_their()] ID card through [src], attempting to shut it down.", "You swipe your ID card through \the [src], attempting to shut it down.") From 95b363f4a7c2e8f7bdc4df0896c9a6301fb2666a Mon Sep 17 00:00:00 2001 From: SabreML <57483089+SabreML@users.noreply.github.com> Date: Wed, 29 Jul 2020 23:35:08 +0100 Subject: [PATCH 13/16] Allows drones to hear the Engineering channel. Co-Authored-By: SteelSlayer --- code/modules/mob/living/silicon/robot/drone/drone.dm | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/code/modules/mob/living/silicon/robot/drone/drone.dm b/code/modules/mob/living/silicon/robot/drone/drone.dm index 33c17aa6387..b9b79de6c77 100644 --- a/code/modules/mob/living/silicon/robot/drone/drone.dm +++ b/code/modules/mob/living/silicon/robot/drone/drone.dm @@ -77,6 +77,10 @@ verbs -= /mob/living/silicon/robot/verb/Namepick module = new /obj/item/robot_module/drone(src) + //Allows Drones to hear the Engineering channel. + module.channels = list("Engineering" = 1) + radio.recalculateChannels() + //Grab stacks. stack_metal = locate(/obj/item/stack/sheet/metal/cyborg) in src.module stack_wood = locate(/obj/item/stack/sheet/wood) in src.module From 4203171739f424523d63838cb18f2bc1189ce7bb Mon Sep 17 00:00:00 2001 From: SabreML <57483089+SabreML@users.noreply.github.com> Date: Mon, 17 Aug 2020 11:47:08 +0100 Subject: [PATCH 14/16] Adds range check for drone shutdown. --- code/modules/mob/living/silicon/robot/drone/drone.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/modules/mob/living/silicon/robot/drone/drone.dm b/code/modules/mob/living/silicon/robot/drone/drone.dm index b9b79de6c77..c8118f57b05 100644 --- a/code/modules/mob/living/silicon/robot/drone/drone.dm +++ b/code/modules/mob/living/silicon/robot/drone/drone.dm @@ -167,7 +167,7 @@ else var/confirm = alert("Using your ID on a Maintenance Drone will shut it down, are you sure you want to do this?", "Disable Drone", "Yes", "No") - if(confirm == ("Yes")) + if(confirm == ("Yes") && user in range(3, src)) user.visible_message("\the [user] swipes [user.p_their()] ID card through [src], attempting to shut it down.", "You swipe your ID card through \the [src], attempting to shut it down.") if(emagged) From 814a1f9a4bd99564082976fc5bd47ea4fc1a13a6 Mon Sep 17 00:00:00 2001 From: SabreML <57483089+SabreML@users.noreply.github.com> Date: Mon, 17 Aug 2020 11:55:40 +0100 Subject: [PATCH 15/16] Fix --- code/modules/mob/living/silicon/robot/drone/drone.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/modules/mob/living/silicon/robot/drone/drone.dm b/code/modules/mob/living/silicon/robot/drone/drone.dm index c8118f57b05..33ae1c923ec 100644 --- a/code/modules/mob/living/silicon/robot/drone/drone.dm +++ b/code/modules/mob/living/silicon/robot/drone/drone.dm @@ -167,7 +167,7 @@ else var/confirm = alert("Using your ID on a Maintenance Drone will shut it down, are you sure you want to do this?", "Disable Drone", "Yes", "No") - if(confirm == ("Yes") && user in range(3, src)) + if(confirm == ("Yes") && (user in range(3, src))) user.visible_message("\the [user] swipes [user.p_their()] ID card through [src], attempting to shut it down.", "You swipe your ID card through \the [src], attempting to shut it down.") if(emagged) From de535bba3e221d64ec228e708b8f953b89bf98d8 Mon Sep 17 00:00:00 2001 From: SabreML <57483089+SabreML@users.noreply.github.com> Date: Mon, 17 Aug 2020 13:15:21 +0100 Subject: [PATCH 16/16] Allows Robots to open and close extinguisher cabinets. --- code/game/objects/structures/extinguisher.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/game/objects/structures/extinguisher.dm b/code/game/objects/structures/extinguisher.dm index cd7b3525478..33298669157 100644 --- a/code/game/objects/structures/extinguisher.dm +++ b/code/game/objects/structures/extinguisher.dm @@ -40,7 +40,7 @@ return if(!in_range(src, user)) return - if(!iscarbon(usr)) + if(!iscarbon(usr) && !isrobot(usr)) return playsound(loc, 'sound/machines/click.ogg', 15, TRUE, -3) opened = !opened