Merge pull request #7211 from VOREStation/Arokha/talks

Talking, and other bugs
This commit is contained in:
Atermonera
2020-06-06 11:33:34 -07:00
committed by GitHub
7 changed files with 54 additions and 24 deletions
+1 -1
View File
@@ -270,7 +270,7 @@
if (species_language)
set_default_language(GLOB.all_languages[species_language])
else
set_default_language(null)
set_default_language(GLOB.all_languages[LANGUAGE_GIBBERISH])
else
var/datum/language/L = locate(href_list["default_lang"])
if(L && (L in languages))
+22 -2
View File
@@ -14,6 +14,7 @@
var/datum/reagents/R = new/datum/reagents(1000)
reagents = R
R.my_atom = src
default_language = GLOB.all_languages[LANGUAGE_GALCOM]
/mob/living/carbon/brain/Destroy()
if(key) //If there is a mob connected to this thing. Have to check key twice to avoid false death reporting.
@@ -43,5 +44,24 @@
/mob/living/carbon/brain/isSynthetic()
return istype(loc, /obj/item/device/mmi)
///mob/living/carbon/brain/binarycheck()//No binary without a binary communication device
// return isSynthetic()
/mob/living/carbon/brain/set_typing_indicator(var/state)
if(isturf(loc))
return ..()
if(!is_preference_enabled(/datum/client_preference/show_typing_indicator))
loc.cut_overlay(typing_indicator, TRUE)
return
if(!typing_indicator)
typing_indicator = new
typing_indicator.icon = 'icons/mob/talk.dmi'
typing_indicator.icon_state = "[speech_bubble_appearance()]_typing"
if(state && !typing)
loc.add_overlay(typing_indicator, TRUE)
typing = TRUE
else if(typing)
loc.cut_overlay(typing_indicator, TRUE)
typing = FALSE
return state
+2 -2
View File
@@ -436,9 +436,9 @@
return GLOB.all_languages[LANGUAGE_GIBBERISH]
if(!species)
return null
return GLOB.all_languages[LANGUAGE_GIBBERISH]
return species.default_language ? GLOB.all_languages[species.default_language] : null
return species.default_language ? GLOB.all_languages[species.default_language] : GLOB.all_languages[LANGUAGE_GIBBERISH]
/mob/living/carbon/proc/should_have_organ(var/organ_check)
return 0
@@ -12,7 +12,7 @@
for(var/obj/item/organ/I in internal_organs)
I.removed()
if(istype(loc,/turf))
if(isturf(I?.loc)) // Some organs qdel themselves or other things when removed
I.throw_at(get_edge_target_turf(src,pick(alldirs)),rand(1,3),30)
for(var/obj/item/organ/external/E in src.organs)
+21 -12
View File
@@ -38,18 +38,18 @@ var/list/department_radio_keys = list(
//kinda localization -- rastaf0
//same keys as above, but on russian keyboard layout. This file uses cp1251 as encoding.
":ê" = "right ear", ".ê" = "right ear",
":ä" = "left ear", ".ä" = "left ear",
":ø" = "intercom", ".ø" = "intercom",
":ð" = "department", ".ð" = "department",
":ñ" = "Command", ".ñ" = "Command",
":ò" = "Science", ".ò" = "Science",
":ü" = "Medical", ".ü" = "Medical",
":ó" = "Engineering", ".ó" = "Engineering",
":û" = "Security", ".û" = "Security",
":ö" = "whisper", ".ö" = "whisper",
":å" = "Mercenary", ".å" = "Mercenary",
":é" = "Supply", ".é" = "Supply",
":" = "right ear", "." = "right ear",
":" = "left ear", "." = "left ear",
":" = "intercom", "." = "intercom",
":" = "department", "." = "department",
":" = "Command", "." = "Command",
":" = "Science", "." = "Science",
":" = "Medical", "." = "Medical",
":" = "Engineering", "." = "Engineering",
":" = "Security", "." = "Security",
":" = "whisper", "." = "whisper",
":" = "Mercenary", "." = "Mercenary",
":" = "Supply", "." = "Supply",
)
@@ -293,6 +293,15 @@ proc/get_radio_key_from_channel(var/channel)
var/speech_bubble_test = say_test(message)
var/speech_type = speech_bubble_appearance()
var/image/speech_bubble = image('icons/mob/talk.dmi',src,"[speech_type][speech_bubble_test]")
var/sb_alpha = 255
var/atom/loc_before_turf = src
while(loc_before_turf && !isturf(loc_before_turf.loc))
loc_before_turf = loc_before_turf.loc
sb_alpha -= 50
if(sb_alpha < 0)
break
speech_bubble.loc = loc_before_turf
speech_bubble.alpha = CLAMP(sb_alpha, 0, 255)
images_to_clients[speech_bubble] = list()
// Attempt Multi-Z Talking