Can now whisper while restrained (#10591)

This commit is contained in:
mikomyazaki
2020-11-18 13:06:21 -03:00
committed by GitHub
parent deb2046ea0
commit bd651305f3
3 changed files with 91 additions and 49 deletions
+46 -48
View File
@@ -148,58 +148,56 @@
return returns
/mob/living/carbon/human/handle_message_mode(message_mode, message, verb, speaking, used_radios, alt_name)
if(!restrained())
switch(message_mode)
if("intercom")
if(!src.restrained())
for(var/obj/item/device/radio/intercom/I in view(1))
if(I.talk_into(src, message, null, verb, speaking))
I.add_fingerprint(src)
used_radios += I
if("headset")
switch(message_mode)
if("intercom")
for(var/obj/item/device/radio/intercom/I in view(1))
if(I.talk_into(src, message, null, verb, speaking))
I.add_fingerprint(src)
used_radios += I
if("headset")
if(l_ear && istype(l_ear,/obj/item/device/radio))
var/obj/item/device/radio/R = l_ear
if(R.talk_into(src,message,null,verb,speaking))
used_radios += l_ear
else if(r_ear && istype(r_ear,/obj/item/device/radio))
var/obj/item/device/radio/R = r_ear
if(R.talk_into(src,message,null,verb,speaking))
used_radios += r_ear
if("right ear")
var/obj/item/device/radio/R
var/has_radio = 0
if(r_ear && istype(r_ear,/obj/item/device/radio))
R = r_ear
has_radio = 1
if(r_hand && istype(r_hand, /obj/item/device/radio))
R = r_hand
has_radio = 1
if(has_radio)
if(R.talk_into(src,message,null,verb,speaking))
used_radios += R
if("left ear")
var/obj/item/device/radio/R
var/has_radio = 0
if(l_ear && istype(l_ear,/obj/item/device/radio))
R = l_ear
has_radio = 1
if(l_hand && istype(l_hand,/obj/item/device/radio))
R = l_hand
has_radio = 1
if(has_radio)
if(R.talk_into(src,message,null,verb,speaking))
used_radios += R
if("whisper")
whisper_say(message, speaking, alt_name)
return 1
else
if(message_mode)
if(l_ear && istype(l_ear,/obj/item/device/radio))
var/obj/item/device/radio/R = l_ear
if(R.talk_into(src,message,null,verb,speaking))
if(l_ear.talk_into(src,message, message_mode, verb, speaking))
used_radios += l_ear
else if(r_ear && istype(r_ear,/obj/item/device/radio))
var/obj/item/device/radio/R = r_ear
if(R.talk_into(src,message,null,verb,speaking))
if(r_ear.talk_into(src,message, message_mode, verb, speaking))
used_radios += r_ear
if("right ear")
var/obj/item/device/radio/R
var/has_radio = 0
if(r_ear && istype(r_ear,/obj/item/device/radio))
R = r_ear
has_radio = 1
if(r_hand && istype(r_hand, /obj/item/device/radio))
R = r_hand
has_radio = 1
if(has_radio)
if(R.talk_into(src,message,null,verb,speaking))
used_radios += R
if("left ear")
var/obj/item/device/radio/R
var/has_radio = 0
if(l_ear && istype(l_ear,/obj/item/device/radio))
R = l_ear
has_radio = 1
if(l_hand && istype(l_hand,/obj/item/device/radio))
R = l_hand
has_radio = 1
if(has_radio)
if(R.talk_into(src,message,null,verb,speaking))
used_radios += R
if("whisper")
whisper_say(message, speaking, alt_name)
return 1
else
if(message_mode)
if(l_ear && istype(l_ear,/obj/item/device/radio))
if(l_ear.talk_into(src,message, message_mode, verb, speaking))
used_radios += l_ear
else if(r_ear && istype(r_ear,/obj/item/device/radio))
if(r_ear.talk_into(src,message, message_mode, verb, speaking))
used_radios += r_ear
/mob/living/carbon/human/handle_speech_sound()
var/list/returns = ..()