diff --git a/code/modules/mob/living/silicon/robot/drone/drone.dm b/code/modules/mob/living/silicon/robot/drone/drone.dm
index e3a04f2cd0f..b0a8afcd2c9 100644
--- a/code/modules/mob/living/silicon/robot/drone/drone.dm
+++ b/code/modules/mob/living/silicon/robot/drone/drone.dm
@@ -24,6 +24,7 @@
//Used for self-mailing.
var/mail_destination = 0
+ var/sprite[0]
//Used for pulling.
@@ -83,7 +84,8 @@
overlays -= "eyes"
/mob/living/silicon/robot/drone/choose_icon()
- return
+ ..()
+
/mob/living/silicon/robot/drone/pick_module()
return
@@ -104,32 +106,32 @@
if (stat == 2)
message = trim(copytext(sanitize(message), 1, MAX_MESSAGE_LEN))
return say_dead(message)
-
+
//Must be concious to speak
if (stat)
return
-
+
if(copytext(message,1,2) == "*")
return emote(copytext(message,2))
-
- if (length(message) >= 2)
+
+ if (length(message) >= 2)
var/prefix = copytext(message, 1, 3)
if (department_radio_keys[prefix] == "drone")
message = copytext(message, 3)
- message = trim(copytext(sanitize(message), 1, MAX_MESSAGE_LEN))
-
+ message = trim(copytext(sanitize(message), 1, MAX_MESSAGE_LEN))
+
if(istype(src, /mob/living/silicon/robot/drone))
var/mob/living/silicon/robot/drone/R = src
if(!R.is_component_functioning("comms"))
src << "\red Your drone communications component isn't functional."
return
- drone_talk(message)
+ drone_talk(message)
else
var/list/listeners = hearers(5,src)
listeners |= src
- message = trim(copytext(sanitize(message), 1, MAX_MESSAGE_LEN))
+ message = trim(copytext(sanitize(message), 1, MAX_MESSAGE_LEN))
for(var/mob/living/silicon/D in listeners)
- if(D.client)
+ if(D.client)
D << "[src] transmits, \"[message]\""
for (var/mob/M in player_list)
@@ -141,23 +143,23 @@
M << "[src] (Follow) transmits, \"[message]\""
else if(M.stat == 2 && src.client && M in listeners)
M << "[src] (Follow) transmits, \"[message]\""
-
+
/mob/living/proc/drone_talk(var/message)
log_say("[key_name(src)] : [message]")
- message = trim(message)
+ message = trim(message)
if (!message)
return
var/message_a = say_quote(message)
var/rendered = "Drone Talk, [name] [message_a]"
-
+
for (var/mob/living/S in living_mob_list)
if(istype(S, /mob/living/silicon/robot/drone))
S.show_message(rendered, 2)
-
- for (var/mob/S in dead_mob_list)
- if(!istype(S,/mob/new_player) && !istype(S,/mob/living/carbon/brain))
+
+ for (var/mob/S in dead_mob_list)
+ if(!istype(S,/mob/new_player) && !istype(S,/mob/living/carbon/brain))
var/rendered2 = "Drone Talk, [name] (Follow) [message_a]"
S.show_message(rendered2, 2)
@@ -207,12 +209,12 @@
return
..()
-
+
/mob/living/silicon/robot/drone/emag_act(user as mob)
if(!client || stat == 2)
user << "\red There's not much point subverting this heap of junk."
return
-
+
if(!ishuman(user))
return
var/mob/living/carbon/human/H = user
@@ -343,6 +345,12 @@
src << "Don't invade their worksites, don't steal their resources, don't tell them about the changeling in the toilets."
src << "If a crewmember has noticed you, you are probably breaking your first law."
+ //var/choice = input("Pick an icon") in list("repairbot","mk2","mk3")
+ sprite["Default"] = "repairbot"
+ sprite["Mk2 Mousedrone"] = "mk2"
+ sprite["Mk3 Monkeydrone"] = "mk3"
+ choose_icon(6,sprite)
+
/mob/living/silicon/robot/drone/Bump(atom/movable/AM as mob|obj, yes)
if (!yes || ( \
!istype(AM,/obj/machinery/door) && \
diff --git a/icons/mob/robots.dmi b/icons/mob/robots.dmi
index f0ddc3b8170..39053002542 100644
Binary files a/icons/mob/robots.dmi and b/icons/mob/robots.dmi differ