diff --git a/code/modules/mob/living/silicon/robot/drone/drone.dm b/code/modules/mob/living/silicon/robot/drone/drone.dm
index 9532da2ea9..504378d39b 100644
--- a/code/modules/mob/living/silicon/robot/drone/drone.dm
+++ b/code/modules/mob/living/silicon/robot/drone/drone.dm
@@ -77,6 +77,7 @@ var/list/mob_hat_cache = list()
..()
+ verbs += /mob/living/proc/ventcrawl
verbs += /mob/living/proc/hide
remove_language("Robot Talk")
add_language("Robot Talk", 0)
@@ -144,18 +145,18 @@ var/list/mob_hat_cache = list()
if(user.a_intent == "help" && istype(W, /obj/item/clothing/head))
if(hat)
- user << "\The [src] is already wearing \the [hat]."
+ to_chat(user, "\The [src] is already wearing \the [hat].")
return
user.unEquip(W)
wear_hat(W)
user.visible_message("\The [user] puts \the [W] on \the [src].")
return
else if(istype(W, /obj/item/borg/upgrade/))
- user << "\The [src] is not compatible with \the [W]."
+ to_chat(user, "\The [src] is not compatible with \the [W].")
return
else if (istype(W, /obj/item/weapon/crowbar))
- user << "\The [src] is hermetically sealed. You can't open the case."
+ to_chat(user, "\The [src] is hermetically sealed. You can't open the case.")
return
else if (istype(W, /obj/item/weapon/card/id)||istype(W, /obj/item/device/pda))
@@ -163,11 +164,11 @@ var/list/mob_hat_cache = list()
if(stat == 2)
if(!config.allow_drone_spawn || emagged || health < -35) //It's dead, Dave.
- user << "The interface is fried, and a distressing burned smell wafts from the robot's interior. You're not rebooting this one."
+ to_chat(user, "The interface is fried, and a distressing burned smell wafts from the robot's interior. You're not rebooting this one.")
return
if(!allowed(usr))
- user << "Access denied."
+ to_chat(user, "Access denied.")
return
user.visible_message("\The [user] swipes \his ID card through \the [src], attempting to reboot it.", ">You swipe your ID card through \the [src], attempting to reboot it.")
@@ -188,7 +189,7 @@ var/list/mob_hat_cache = list()
if(allowed(usr))
shut_down()
else
- user << "Access denied."
+ to_chat(user, "Access denied.")
return
@@ -196,16 +197,16 @@ var/list/mob_hat_cache = list()
/mob/living/silicon/robot/drone/emag_act(var/remaining_charges, var/mob/user)
if(!client || stat == 2)
- user << "There's not much point subverting this heap of junk."
+ to_chat(user, "There's not much point subverting this heap of junk.")
return
if(emagged)
- src << "\The [user] attempts to load subversive software into you, but your hacked subroutines ignore the attempt."
- user << "You attempt to subvert [src], but the sequencer has no effect."
+ to_chat(user, "\The [user] attempts to load subversive software into you, but your hacked subroutines ignore the attempt.")
+ to_chat(user, "You attempt to subvert [src], but the sequencer has no effect.")
return
- user << "You swipe the sequencer across [src]'s interface and watch its eyes flicker."
- src << "You feel a sudden burst of malware loaded into your execute-as-root buffer. Your tiny brain methodically parses, loads and executes the script."
+ to_chat(user, "You swipe the sequencer across [src]'s interface and watch its eyes flicker.")
+ to_chat(user, "You feel a sudden burst of malware loaded into your execute-as-root buffer. Your tiny brain methodically parses, loads and executes the script.")
message_admins("[key_name_admin(user)] emagged drone [key_name_admin(src)]. Laws overridden.")
log_game("[key_name(user)] emagged drone [key_name(src)]. Laws overridden.")
@@ -336,3 +337,7 @@ var/list/mob_hat_cache = list()
/mob/living/silicon/robot/drone/construction/updatename()
real_name = "construction drone ([rand(100,999)])"
name = real_name
+
+/mob/living/silicon/robot/drone
+ can_enter_vent_with = list(
+ /obj)
diff --git a/html/changelogs/example - Copy.yml b/html/changelogs/example - Copy.yml
new file mode 100644
index 0000000000..80056ef0ea
--- /dev/null
+++ b/html/changelogs/example - Copy.yml
@@ -0,0 +1,5 @@
+author: Belsima
+
+delete-after: True
+
+ - tweak: "Maintenance drones may now ventcrawl."