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