diff --git a/code/datums/mind.dm b/code/datums/mind.dm index 6ca6ff8e0c5..ea080c637bc 100644 --- a/code/datums/mind.dm +++ b/code/datums/mind.dm @@ -625,7 +625,8 @@ datum/mind var/mob/living/carbon/human/H = current del(H.belt) del(H.back) - del(H.ears) + del(H.l_ear) + del(H.r_ear) del(H.gloves) del(H.head) del(H.shoes) diff --git a/code/defines/obj/clothing/ears.dm b/code/defines/obj/clothing/ears.dm index adfb51e4373..c83c2d0c357 100644 --- a/code/defines/obj/clothing/ears.dm +++ b/code/defines/obj/clothing/ears.dm @@ -4,10 +4,57 @@ name = "ears" w_class = 1.0 throwforce = 2 + var/twoeared = 0 + +/obj/item/clothing/ears/attack_hand(mob/user as mob) + if (!user) return + + if (src.loc != user || !istype(user,/mob/living/carbon/human)) + ..() + return + var/mob/living/carbon/human/H = user + if(H.l_ear != src && H.r_ear != src) + ..() + return + + if(!canremove) + return + + var/obj/item/clothing/ears/O + if(twoeared) + O = (H.l_ear == src ? H.r_ear : H.l_ear) + user.u_equip(O) + if(!istype(src,/obj/item/clothing/ears/offear)) + del(O) + O = src + else + O = src + + user.u_equip(src) + + if (O) + user.put_in_hand(O) + O.add_fingerprint(user) + + if(istype(src,/obj/item/clothing/ears/offear)) + del(src) + +/obj/item/clothing/ears/offear + name = "Other ear" + w_class = 5.0 + icon = 'screen1_old.dmi' + icon_state = "block" + twoeared = 1 + + New(var/obj/O) + name = O.name + desc = O.desc + overlays += new/image(O.icon,icon_state=O.icon_state,dir=O.dir) /obj/item/clothing/ears/earmuffs name = "earmuffs" desc = "Protects your hearing from loud noises, and quiet ones as well." icon_state = "earmuffs" protective_temperature = 500 - item_state = "earmuffs" \ No newline at end of file + item_state = "earmuffs" + twoeared = 1 \ No newline at end of file diff --git a/code/defines/procs/helpers.dm b/code/defines/procs/helpers.dm index cb52e0c0ac2..b27bc90b2fa 100644 --- a/code/defines/procs/helpers.dm +++ b/code/defines/procs/helpers.dm @@ -1185,7 +1185,8 @@ proc/listclearnulls(list/list) if(hasvar(src,"back")) if(src:back) items += src:back if(hasvar(src,"belt")) if(src:belt) items += src:belt - if(hasvar(src,"ears")) if(src:ears) items += src:ears + if(hasvar(src,"l_ear")) if(src:l_ear) items += src:l_ear + if(hasvar(src,"r_ear")) if(src:r_ear) items += src:r_ear if(hasvar(src,"glasses")) if(src:glasses) items += src:glasses if(hasvar(src,"gloves")) if(src:gloves) items += src:gloves if(hasvar(src,"head")) if(src:head) items += src:head diff --git a/code/game/algorithm.dm b/code/game/algorithm.dm index 9169d049652..92cbd2dde55 100644 --- a/code/game/algorithm.dm +++ b/code/game/algorithm.dm @@ -113,8 +113,11 @@ proc/countJob(rank) src.wear_id = W equipped = 1 if(slot_ears) - if(!src.ears) - src.ears = W + if(!src.l_ear) + src.l_ear = W + equipped = 1 + else if(!src.r_ear) + src.r_ear = W equipped = 1 if(slot_glasses) if(!src.glasses) diff --git a/code/game/gamemodes/traitor/traitor.dm b/code/game/gamemodes/traitor/traitor.dm index 7d113523346..3a361fd10c4 100644 --- a/code/game/gamemodes/traitor/traitor.dm +++ b/code/game/gamemodes/traitor/traitor.dm @@ -230,8 +230,11 @@ if (!R && traitor_mob.w_uniform && istype(traitor_mob.belt, /obj/item/device/radio)) R = traitor_mob.belt loc = "on your belt" - if (!R && istype(traitor_mob.ears, /obj/item/device/radio)) - R = traitor_mob.ears + if (!R && istype(traitor_mob.l_ear, /obj/item/device/radio)) + R = traitor_mob.l_ear + loc = "on your head" + if (!R && istype(traitor_mob.r_ear, /obj/item/device/radio)) + R = traitor_mob.r_ear loc = "on your head" if (!R) traitor_mob << "Unfortunately, the Syndicate wasn't able to get you a radio." diff --git a/code/game/hud.dm b/code/game/hud.dm index 4c2433642bf..10cad02d49a 100644 --- a/code/game/hud.dm +++ b/code/game/hud.dm @@ -14,8 +14,9 @@ #define ui_hstore1 "SOUTH+1,5" #define ui_resist "EAST+1,SOUTH-1" #define ui_gloves "SOUTH,5" -#define ui_glasses "SOUTH,7" -#define ui_ears "SOUTH,6" +#define ui_glasses "SOUTH+1,6" +#define ui_lear "SOUTH,7" +#define ui_rear "SOUTH,6" #define ui_head "SOUTH+1,2" #define ui_shoes "SOUTH,4" #define ui_belt "SOUTH-1,3" @@ -56,7 +57,8 @@ obj/hud/New(var/type = 0) if(show_otherinventory) if(mymob:shoes) mymob:shoes:screen_loc = ui_shoes if(mymob:gloves) mymob:gloves:screen_loc = ui_gloves - if(mymob:ears) mymob:ears:screen_loc = ui_ears + if(mymob:l_ear) mymob:l_ear:screen_loc = ui_lear + if(mymob:r_ear) mymob:r_ear:screen_loc = ui_rear if(mymob:s_store) mymob:s_store:screen_loc = ui_sstore1 if(mymob:glasses) mymob:glasses:screen_loc = ui_glasses if(mymob:h_store) mymob:h_store:screen_loc = ui_hstore1 @@ -64,7 +66,8 @@ obj/hud/New(var/type = 0) if(istype(mymob, /mob/living/carbon/human)) if(mymob:shoes) mymob:shoes:screen_loc = null if(mymob:gloves) mymob:gloves:screen_loc = null - if(mymob:ears) mymob:ears:screen_loc = null + if(mymob:l_ear) mymob:l_ear:screen_loc = null + if(mymob:r_ear) mymob:r_ear:screen_loc = null if(mymob:s_store) mymob:s_store:screen_loc = null if(mymob:glasses) mymob:glasses:screen_loc = null if(mymob:h_store) mymob:h_store:screen_loc = null diff --git a/code/game/jobs/job_controller.dm b/code/game/jobs/job_controller.dm index 39f28cc5a72..8097329585f 100644 --- a/code/game/jobs/job_controller.dm +++ b/code/game/jobs/job_controller.dm @@ -225,7 +225,9 @@ var/global/datum/controller/occupations/job_master H.Robotize() return 1 - H.equip_if_possible(new /obj/item/device/radio/headset(H), H.slot_ears) + // make sure we don't already have one on 1 ear :p + if(!istype(H.r_ear,/obj/item/device/radio/headset) && !istype(H.l_ear,/obj/item/device/radio/headset)) + H.equip_if_possible(new /obj/item/device/radio/headset(H), H.slot_ears) var/obj/item/weapon/storage/backpack/BPK = new/obj/item/weapon/storage/backpack(H) H.equip_if_possible(BPK, H.slot_back,1) return 1 diff --git a/code/game/mecha/equipment/weapons/weapons.dm b/code/game/mecha/equipment/weapons/weapons.dm index 14b0794bf6a..869a99142e8 100644 --- a/code/game/mecha/equipment/weapons/weapons.dm +++ b/code/game/mecha/equipment/weapons/weapons.dm @@ -122,7 +122,7 @@ for(var/mob/living/carbon/M in ohearers(6, chassis)) if(istype(M, /mob/living/carbon/human)) var/mob/living/carbon/human/H = M - if(istype(H.ears, /obj/item/clothing/ears/earmuffs)) + if(istype(H.l_ear, /obj/item/clothing/ears/earmuffs) || istype(H.r_ear, /obj/item/clothing/ears/earmuffs)) continue M << "HONK" if(!M.sleeping_willingly) diff --git a/code/game/objects/items/weapons/grenades.dm b/code/game/objects/items/weapons/grenades.dm index afbdc688913..38402a2366f 100644 --- a/code/game/objects/items/weapons/grenades.dm +++ b/code/game/objects/items/weapons/grenades.dm @@ -161,7 +161,7 @@ FLASHBANG if(iscarbon(M)) eye_safety = M.eyecheck() if(ishuman(M)) - if(istype(M:ears, /obj/item/clothing/ears/earmuffs)) + if(istype(M:l_ear, /obj/item/clothing/ears/earmuffs) || istype(M:r_ear, /obj/item/clothing/ears/earmuffs)) ear_safety += 2 if(M.mutations & HULK) ear_safety += 1 diff --git a/code/modules/mob/living/carbon/human/examine.dm b/code/modules/mob/living/carbon/human/examine.dm index 0501f148595..06f9fa3b394 100644 --- a/code/modules/mob/living/carbon/human/examine.dm +++ b/code/modules/mob/living/carbon/human/examine.dm @@ -30,8 +30,11 @@ else usr << "\blue [src.name] has a \icon[src.wear_suit] [src.wear_suit.name] on." - if (src.ears) - usr << "\blue [src.name] has a \icon[src.ears] [src.ears.name] by [t_his] mouth." + if (src.l_ear) + usr << "\blue [src.name] has a \icon[src.l_ear] [src.l_ear.name] by [t_his] mouth." + + if (src.r_ear) + usr << "\blue [src.name] has a \icon[src.r_ear] [src.r_ear.name] by [t_his] mouth." if (src.wear_mask) if (src.wear_mask.blood_DNA) diff --git a/code/modules/mob/living/carbon/human/hud.dm b/code/modules/mob/living/carbon/human/hud.dm index 1cafa5e6043..632220c09bb 100644 --- a/code/modules/mob/living/carbon/human/hud.dm +++ b/code/modules/mob/living/carbon/human/hud.dm @@ -271,10 +271,20 @@ src.other += using using = new src.h_type( src ) - using.name = "ears" + using.name = "l_ear" + using.dir = EAST using.icon = ui_style using.icon_state = "ears" - using.screen_loc = ui_ears + using.screen_loc = ui_lear + using.layer = 19 + src.other += using + + using = new src.h_type( src ) + using.name = "r_ear" + using.dir = WEST + using.icon = ui_style + using.icon_state = "ears" + using.screen_loc = ui_rear using.layer = 19 src.other += using diff --git a/code/modules/mob/living/carbon/human/human.dm b/code/modules/mob/living/carbon/human/human.dm index 3a9274450bd..5defbe4fb03 100644 --- a/code/modules/mob/living/carbon/human/human.dm +++ b/code/modules/mob/living/carbon/human/human.dm @@ -30,7 +30,8 @@ var/obj/item/clothing/gloves/gloves = null var/obj/item/clothing/glasses/glasses = null var/obj/item/clothing/head/head = null - var/obj/item/clothing/ears/ears = null + var/obj/item/clothing/ears/l_ear = null + var/obj/item/clothing/ears/r_ear = null var/obj/item/weapon/card/id/wear_id = null var/obj/item/weapon/r_store = null var/obj/item/weapon/l_store = null @@ -252,7 +253,7 @@ b_loss = b_loss/1.5 f_loss = f_loss/1.5 - if (!istype(ears, /obj/item/clothing/ears/earmuffs)) + if (!istype(l_ear, /obj/item/clothing/ears/earmuffs) && !istype(r_ear, /obj/item/clothing/ears/earmuffs)) ear_damage += 30 ear_deaf += 120 @@ -260,7 +261,7 @@ b_loss += 30 if (!prob(getarmor(null, "bomb"))) b_loss = b_loss/2 - if (!istype(ears, /obj/item/clothing/ears/earmuffs)) + if (!istype(l_ear, /obj/item/clothing/ears/earmuffs) && !istype(r_ear, /obj/item/clothing/ears/earmuffs)) ear_damage += 15 ear_deaf += 60 if (prob(50) && !shielded) @@ -363,8 +364,10 @@ del(face_standing) del(face_lying) - else if (W == ears) - ears = null + else if (W == l_ear) + l_ear = null + else if (W == r_ear) + r_ear = null else if (W == shoes) shoes = null else if (W == belt) @@ -523,15 +526,41 @@ if(istype(W,/obj/item/clothing/head/kitty)) W.update_icon(src) W.equipped(src, text) - if("ears") - if (ears) + if("l_ear") + if (l_ear) if (emptyHand) - ears.DblClick() + l_ear.DblClick() return - if (!( istype(W, /obj/item/clothing/ears) ) && !( istype(W, /obj/item/device/radio/headset) )) + else if(emptyHand) + return + if (!( istype(W, /obj/item/clothing/ears) ) && !( istype(W, /obj/item/device/radio/headset) ) && W.w_class != 1) + return + if(istype(W,/obj/item/clothing/ears) && W:twoeared && r_ear) return u_equip(W) - ears = W + l_ear = W + if(istype(W,/obj/item/clothing/ears) && W:twoeared) + var/obj/item/clothing/ears/offear/O = new(W) + O.loc = src + equip_if_possible(O, slot_ears) + W.equipped(src, text) + if("r_ear") + if (r_ear) + if (emptyHand) + r_ear.DblClick() + return + else if(emptyHand) + return + if (!( istype(W, /obj/item/clothing/ears) ) && !( istype(W, /obj/item/device/radio/headset) ) && W.w_class != 1) + return + if(istype(W,/obj/item/clothing/ears) && W:twoeared && l_ear) + return + u_equip(W) + r_ear = W + if(istype(W,/obj/item/clothing/ears) && W:twoeared) + var/obj/item/clothing/ears/offear/O = new(W) + O.loc = src + equip_if_possible(O, slot_ears) W.equipped(src, text) if("i_clothing") if (w_uniform) @@ -865,8 +894,11 @@ var/t1 = glasses.icon_state overlays += image("icon" = 'eyes.dmi', "icon_state" = text("[][]", t1, (!( lying ) ? null : "2")), "layer" = MOB_LAYER) // Ears - if (ears) - var/t1 = ears.icon_state + if (l_ear) + var/t1 = l_ear.icon_state + overlays += image("icon" = 'ears.dmi', "icon_state" = text("[][]", t1, (!( lying ) ? null : "2")), "layer" = MOB_LAYER) + if (r_ear) + var/t1 = r_ear.icon_state overlays += image("icon" = 'ears.dmi', "icon_state" = text("[][]", t1, (!( lying ) ? null : "2")), "layer" = MOB_LAYER) // Shoes if (shoes) @@ -1413,11 +1445,16 @@ message = text("\red [] fails to take off \a [] from []'s body!", source, target.glasses, target) else message = text("\red [] is trying to take off the [] from []'s eyes!", source, target.glasses, target) - if("ears") - if(istype(target.ears, /obj/item/clothing)&&!target.ears:canremove) - message = text("\red [] fails to take off \a [] from []'s body!", source, target.ears, target) + if("l_ear") + if(istype(target.l_ear, /obj/item/clothing)&&!target.l_ear:canremove) + message = text("\red [] fails to take off \a [] from []'s body!", source, target.l_ear, target) else - message = text("\red [] is trying to take off the [] from []'s ears!", source, target.ears, target) + message = text("\red [] is trying to take off the [] from []'s left ear!", source, target.l_ear, target) + if("r_ear") + if(istype(target.r_ear, /obj/item/clothing)&&!target.r_ear:canremove) + message = text("\red [] fails to take off \a [] from []'s body!", source, target.r_ear, target) + else + message = text("\red [] is trying to take off the [] from []'s right ear!", source, target.r_ear, target) if("head") if(istype(target.head, /obj/item/clothing)&&!target.head:canremove) message = text("\red [] fails to take off \a [] from []'s body!", source, target.head, target) @@ -1643,12 +1680,19 @@ It can still be worn/put on as normal. item.layer = 20 target.head = item item.loc = target - if("ears") - if (target.ears) - if(istype(target.ears, /obj/item/clothing)&& !target.ears:canremove) + if("l_ear") + if (target.l_ear) + if(istype(target.l_ear, /obj/item/clothing)&& !target.l_ear:canremove) return - var/obj/item/W = target.ears + var/obj/item/W = target.l_ear target.u_equip(W) + + if(istype(W,/obj/item/clothing/ears/offear)) + W = target.r_ear + if(istype(W, /obj/item/clothing/ears) && W:twoeared) + if (target.client) + target.client.screen -= target.r_ear + target.u_equip(target.r_ear) if (target.client) target.client.screen -= W if (W) @@ -1657,18 +1701,53 @@ It can still be worn/put on as normal. W.layer = initial(W.layer) W.add_fingerprint(source) else - if (istype(item, /obj/item/clothing/ears)) + if (istype(item, /obj/item/clothing/ears) || istype(item, /obj/item/device/radio/headset) || item.w_class == 1) source.drop_item() - loc = target - item.layer = 20 - target.ears = item - item.loc = target - else if (istype(item, /obj/item/device/radio/headset)) + if(istype(item, /obj/item/clothing/ears) && item:twoeared && target.r_ear) + loc = target.loc + else + loc = target + item.layer = 20 + target.l_ear = item + item.loc = target + if(istype(item, /obj/item/clothing/ears) && item:twoeared) + var/obj/item/clothing/ears/offear/O = new(item) + O.loc = target + target.equip_if_possible(O, target.slot_ears) + if("r_ear") + if (target.r_ear) + if(istype(target.r_ear, /obj/item/clothing)&& !target.r_ear:canremove) + return + var/obj/item/W = target.r_ear + target.u_equip(W) + + if(istype(W,/obj/item/clothing/ears/offear)) + W = target.l_ear + if(istype(W, /obj/item/clothing/ears) && W:twoeared) + if (target.client) + target.client.screen -= target.r_ear + target.u_equip(target.l_ear) + if (target.client) + target.client.screen -= W + if (W) + W.loc = target.loc + W.dropped(target) + W.layer = initial(W.layer) + W.add_fingerprint(source) + else + if (istype(item, /obj/item/clothing/ears) || istype(item, /obj/item/device/radio/headset) || item.w_class == 1) source.drop_item() - loc = target - item.layer = 20 - target.ears = item - item.loc = target + if(istype(item, /obj/item/clothing/ears) && item:twoeared && target.r_ear) + loc = target.loc + else + loc = target + item.layer = 20 + target.r_ear = item + item.loc = target + if(istype(item, /obj/item/clothing/ears) && item:twoeared) + var/obj/item/clothing/ears/offear/O = new/obj/item/clothing/ears/offear(item) + O.loc = target + target.equip_if_possible(O, target.slot_ears) if("shoes") if (target.shoes) if(istype(target.shoes, /obj/item/clothing)&& !target.shoes:canremove) @@ -1975,7 +2054,8 @@ It can still be worn/put on as normal.
Right Hand: [(r_hand ? r_hand : "Nothing")]
Gloves: [(gloves ? gloves : "Nothing")]
Eyes: [(glasses ? glasses : "Nothing")] -
Ears: [(ears ? ears : "Nothing")] +
Left Ear: [(l_ear ? l_ear : "Nothing")] +
Right Ear: [(r_ear ? r_ear : "Nothing")]
Head: [(head ? head : "Nothing")]
Shoes: [(shoes ? shoes : "Nothing")]
Belt: [(belt ? belt : "Nothing")] @@ -2199,7 +2279,7 @@ It can still be worn/put on as normal. /mob/living/carbon/human/abiotic(var/full_body = 0) - if(full_body && ((src.l_hand && !( src.l_hand.abstract )) || (src.r_hand && !( src.r_hand.abstract )) || (src.back || src.wear_mask || src.head || src.shoes || src.w_uniform || src.wear_suit || src.glasses || src.ears || src.gloves))) + if(full_body && ((src.l_hand && !( src.l_hand.abstract )) || (src.r_hand && !( src.r_hand.abstract )) || (src.back || src.wear_mask || src.head || src.shoes || src.w_uniform || src.wear_suit || src.glasses || src.l_ear || src.r_ear || src.gloves))) return 1 if((src.l_hand && !( src.l_hand.abstract )) || (src.r_hand && !( src.r_hand.abstract ))) diff --git a/code/modules/mob/living/carbon/human/life.dm b/code/modules/mob/living/carbon/human/life.dm index 02e0c2785da..77ab230be5d 100644 --- a/code/modules/mob/living/carbon/human/life.dm +++ b/code/modules/mob/living/carbon/human/life.dm @@ -551,9 +551,12 @@ if(glasses) if(glasses.protective_temperature > temp) fire_prot += (glasses.protective_temperature/10) - if(ears) - if(ears.protective_temperature > temp) - fire_prot += (ears.protective_temperature/10) + if(l_ear) + if(l_ear.protective_temperature > temp) + fire_prot += (l_ear.protective_temperature/10) + if(r_ear) + if(r_ear.protective_temperature > temp) + fire_prot += (r_ear.protective_temperature/10) if(wear_suit) if(wear_suit.protective_temperature > temp) fire_prot += (wear_suit.protective_temperature/10) @@ -730,7 +733,7 @@ if ((sdisabilities & 1 || istype(glasses, /obj/item/clothing/glasses/blindfold))) blinded = 1 - if ((sdisabilities & 4 || istype(ears, /obj/item/clothing/ears/earmuffs))) + if ((sdisabilities & 4 || istype(l_ear, /obj/item/clothing/ears/earmuffs) || istype(r_ear, /obj/item/clothing/ears/earmuffs))) ear_deaf = 1 if (eye_blurry > 0) diff --git a/code/modules/mob/living/carbon/monkey/hud.dm b/code/modules/mob/living/carbon/monkey/hud.dm index 6ead2fd432b..645e93c2da7 100644 --- a/code/modules/mob/living/carbon/monkey/hud.dm +++ b/code/modules/mob/living/carbon/monkey/hud.dm @@ -248,10 +248,19 @@ src.other += using using = new src.h_type( src ) - using.name = "ears" + using.name = "left ear" using.icon = ui_style using.icon_state = "ears" - using.screen_loc = ui_ears + using.screen_loc = ui_lear + using.layer = 19 + using.overlays += blocked + src.other += using + + using = new src.h_type( src ) + using.name = "right ear" + using.icon = ui_style + using.icon_state = "ears" + using.screen_loc = ui_rear using.layer = 19 using.overlays += blocked src.other += using diff --git a/code/modules/mob/living/say.dm b/code/modules/mob/living/say.dm index 4fbf6a1e051..72e10af6faa 100644 --- a/code/modules/mob/living/say.dm +++ b/code/modules/mob/living/say.dm @@ -3,8 +3,12 @@ if (issilicon(src)) return 1 if (!ishuman(src)) return var/mob/living/carbon/human/H = src - if (H.ears) - var/obj/item/device/radio/headset/dongle = H.ears + if (H.l_ear || H.r_ear) + var/obj/item/device/radio/headset/dongle + if(istype(H.l_ear,/obj/item/device/radio/headset)) + dongle = H.l_ear + else + dongle = H.r_ear if(!istype(dongle)) return if(dongle.translate_binary) return 1 @@ -12,8 +16,12 @@ if (isalien(src)) return 1 if (!ishuman(src)) return var/mob/living/carbon/human/H = src - if (H.ears) - var/obj/item/device/radio/headset/dongle = H.ears + if (H.l_ear || H.r_ear) + var/obj/item/device/radio/headset/dongle + if(istype(H.l_ear,/obj/item/device/radio/headset)) + dongle = H.l_ear + else + dongle = H.r_ear if(!istype(dongle)) return if(dongle.translate_hive) return 1 @@ -75,8 +83,8 @@ var/channel_prefix = copytext(message, 1, 3) var/list/keys = list( - ":r" = "right hand", - ":l" = "left hand", + ":r" = "right ear", + ":l" = "left ear", ":i" = "intercom", ":h" = "department", ":c" = "Command", @@ -156,33 +164,39 @@ switch (message_mode) if ("headset") - if (src:ears) - src:ears.talk_into(src, message) - used_radios += src:ears + if (src:l_ear && istype(src:l_ear,/obj/item/device/radio)) + src:l_ear.talk_into(src, message) + used_radios += src:l_ear + else if (src:r_ear) + src:r_ear.talk_into(src, message) + used_radios += src:r_ear message_range = 1 italics = 1 if ("secure headset") - if (src:ears) - src:ears.talk_into(src, message, 1) - used_radios += src:ears + if (src:l_ear && istype(src:l_ear,/obj/item/device/radio)) + src:l_ear.talk_into(src, message, 1) + used_radios += src:l_ear + else if (src:r_ear) + src:r_ear.talk_into(src, message, 1) + used_radios += src:r_ear message_range = 1 italics = 1 - if ("right hand") - if (r_hand) - r_hand.talk_into(src, message) - used_radios += src:r_hand + if ("right ear") + if (src:r_ear) + src:r_ear.talk_into(src, message) + used_radios += src:r_ear message_range = 1 italics = 1 - if ("left hand") - if (l_hand) - l_hand.talk_into(src, message) - used_radios += src:l_hand + if ("left ear") + if (src:l_ear) + src:l_ear.talk_into(src, message) + used_radios += src:l_ear message_range = 1 italics = 1 @@ -213,9 +227,12 @@ return if ("department") - if (src:ears) - src:ears.talk_into(src, message, message_mode) - used_radios += src:ears + if (src:l_ear && istype(src:l_ear,/obj/item/device/radio)) + src:l_ear.talk_into(src, message, message_mode) + used_radios += src:l_ear + else if (src:r_ear) + src:r_ear.talk_into(src, message, message_mode) + used_radios += src:r_ear message_range = 1 italics = 1 if ("pAI") @@ -234,9 +251,12 @@ else //world << "SPECIAL HEADSETS" if (message_mode in radiochannels) - if (src:ears) - src:ears.talk_into(src, message, message_mode) - used_radios += src:ears + if (src:l_ear && istype(src:l_ear,/obj/item/device/radio)) + src:l_ear.talk_into(src, message, message_mode) + used_radios += src:l_ear + else if (src:r_ear) + src:r_ear.talk_into(src, message, message_mode) + used_radios += src:r_ear message_range = 1 italics = 1 /////SPECIAL HEADSETS END diff --git a/icons/mob/screen1.dmi b/icons/mob/screen1.dmi index c91a553540b..d631ff02ce2 100644 Binary files a/icons/mob/screen1.dmi and b/icons/mob/screen1.dmi differ diff --git a/icons/mob/screen1_alien.dmi b/icons/mob/screen1_alien.dmi index 900feb86025..188d9f16d0d 100644 Binary files a/icons/mob/screen1_alien.dmi and b/icons/mob/screen1_alien.dmi differ diff --git a/icons/mob/screen1_old.dmi b/icons/mob/screen1_old.dmi index ae9ed11ff79..1918ebce9fe 100644 Binary files a/icons/mob/screen1_old.dmi and b/icons/mob/screen1_old.dmi differ