mirror of
https://github.com/CHOMPStation2/CHOMPStation2.git
synced 2025-12-10 18:22:39 +00:00
Fix a few talking issues
Posibrain talking without a language, give speech bubbles to things inside things, especially posibrains, give gibberish a chance instead of using null languages
This commit is contained in:
@@ -270,7 +270,7 @@
|
|||||||
if (species_language)
|
if (species_language)
|
||||||
set_default_language(GLOB.all_languages[species_language])
|
set_default_language(GLOB.all_languages[species_language])
|
||||||
else
|
else
|
||||||
set_default_language(null)
|
set_default_language(GLOB.all_languages[LANGUAGE_GIBBERISH])
|
||||||
else
|
else
|
||||||
var/datum/language/L = locate(href_list["default_lang"])
|
var/datum/language/L = locate(href_list["default_lang"])
|
||||||
if(L && (L in languages))
|
if(L && (L in languages))
|
||||||
|
|||||||
@@ -15,6 +15,7 @@
|
|||||||
var/datum/reagents/R = new/datum/reagents(1000)
|
var/datum/reagents/R = new/datum/reagents(1000)
|
||||||
reagents = R
|
reagents = R
|
||||||
R.my_atom = src
|
R.my_atom = src
|
||||||
|
default_language = GLOB.all_languages[LANGUAGE_GALCOM]
|
||||||
|
|
||||||
/mob/living/carbon/brain/Destroy()
|
/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.
|
if(key) //If there is a mob connected to this thing. Have to check key twice to avoid false death reporting.
|
||||||
@@ -44,5 +45,24 @@
|
|||||||
/mob/living/carbon/brain/isSynthetic()
|
/mob/living/carbon/brain/isSynthetic()
|
||||||
return istype(loc, /obj/item/device/mmi)
|
return istype(loc, /obj/item/device/mmi)
|
||||||
|
|
||||||
///mob/living/carbon/brain/binarycheck()//No binary without a binary communication device
|
/mob/living/carbon/brain/set_typing_indicator(var/state)
|
||||||
// return isSynthetic()
|
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_vr.dmi' //VOREStation Edit - talk_vr.dmi instead of talk.dmi for right-side icons
|
||||||
|
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
|
||||||
|
|||||||
@@ -386,9 +386,9 @@
|
|||||||
return GLOB.all_languages[LANGUAGE_GIBBERISH]
|
return GLOB.all_languages[LANGUAGE_GIBBERISH]
|
||||||
|
|
||||||
if(!species)
|
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)
|
/mob/living/carbon/proc/should_have_organ(var/organ_check)
|
||||||
return 0
|
return 0
|
||||||
|
|||||||
@@ -40,18 +40,18 @@ var/list/department_radio_keys = list(
|
|||||||
|
|
||||||
//kinda localization -- rastaf0
|
//kinda localization -- rastaf0
|
||||||
//same keys as above, but on russian keyboard layout. This file uses cp1251 as encoding.
|
//same keys as above, but on russian keyboard layout. This file uses cp1251 as encoding.
|
||||||
":<3A>" = "right ear", ".<2E>" = "right ear",
|
":<3A>" = "right ear", ".<2E>" = "right ear",
|
||||||
":<3A>" = "left ear", ".<2E>" = "left ear",
|
":<3A>" = "left ear", ".<2E>" = "left ear",
|
||||||
":<3A>" = "intercom", ".<2E>" = "intercom",
|
":<3A>" = "intercom", ".<2E>" = "intercom",
|
||||||
":<3A>" = "department", ".<2E>" = "department",
|
":<3A>" = "department", ".<2E>" = "department",
|
||||||
":<3A>" = "Command", ".<2E>" = "Command",
|
":<3A>" = "Command", ".<2E>" = "Command",
|
||||||
":<3A>" = "Science", ".<2E>" = "Science",
|
":<3A>" = "Science", ".<2E>" = "Science",
|
||||||
":<3A>" = "Medical", ".<2E>" = "Medical",
|
":<3A>" = "Medical", ".<2E>" = "Medical",
|
||||||
":<3A>" = "Engineering", ".<2E>" = "Engineering",
|
":<3A>" = "Engineering", ".<2E>" = "Engineering",
|
||||||
":<3A>" = "Security", ".<2E>" = "Security",
|
":<3A>" = "Security", ".<2E>" = "Security",
|
||||||
":<3A>" = "whisper", ".<2E>" = "whisper",
|
":<3A>" = "whisper", ".<2E>" = "whisper",
|
||||||
":<3A>" = "Mercenary", ".<2E>" = "Mercenary",
|
":<3A>" = "Mercenary", ".<2E>" = "Mercenary",
|
||||||
":<3A>" = "Supply", ".<2E>" = "Supply",
|
":<3A>" = "Supply", ".<2E>" = "Supply",
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
||||||
@@ -321,6 +321,15 @@ proc/get_radio_key_from_channel(var/channel)
|
|||||||
//var/image/speech_bubble = image('icons/mob/talk_vr.dmi',src,"h[speech_bubble_test]") //VOREStation Edit. Commented this out in case we need to reenable.
|
//var/image/speech_bubble = image('icons/mob/talk_vr.dmi',src,"h[speech_bubble_test]") //VOREStation Edit. Commented this out in case we need to reenable.
|
||||||
var/speech_type = speech_bubble_appearance()
|
var/speech_type = speech_bubble_appearance()
|
||||||
var/image/speech_bubble = image('icons/mob/talk_vr.dmi',src,"[speech_type][speech_bubble_test]") //VOREStation Edit - talk_vr.dmi instead of talk.dmi for right-side icons
|
var/image/speech_bubble = image('icons/mob/talk_vr.dmi',src,"[speech_type][speech_bubble_test]") //VOREStation Edit - talk_vr.dmi instead of talk.dmi for right-side icons
|
||||||
|
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()
|
images_to_clients[speech_bubble] = list()
|
||||||
|
|
||||||
// Attempt Multi-Z Talking
|
// Attempt Multi-Z Talking
|
||||||
|
|||||||
@@ -106,8 +106,8 @@ var/list/organ_cache = list()
|
|||||||
STOP_PROCESSING(SSobj, src)
|
STOP_PROCESSING(SSobj, src)
|
||||||
handle_organ_mod_special(TRUE)
|
handle_organ_mod_special(TRUE)
|
||||||
if(owner && vital)
|
if(owner && vital)
|
||||||
owner.death()
|
|
||||||
owner.can_defib = 0
|
owner.can_defib = 0
|
||||||
|
owner.death()
|
||||||
|
|
||||||
/obj/item/organ/proc/adjust_germ_level(var/amount) // Unless you're setting germ level directly to 0, use this proc instead
|
/obj/item/organ/proc/adjust_germ_level(var/amount) // Unless you're setting germ level directly to 0, use this proc instead
|
||||||
germ_level = CLAMP(germ_level + amount, 0, INFECTION_LEVEL_MAX)
|
germ_level = CLAMP(germ_level + amount, 0, INFECTION_LEVEL_MAX)
|
||||||
@@ -352,7 +352,7 @@ var/list/organ_cache = list()
|
|||||||
var/obj/item/organ/external/affected = owner.get_organ(parent_organ)
|
var/obj/item/organ/external/affected = owner.get_organ(parent_organ)
|
||||||
if(affected) affected.internal_organs -= src
|
if(affected) affected.internal_organs -= src
|
||||||
|
|
||||||
loc = get_turf(owner)
|
forceMove(owner.drop_location())
|
||||||
START_PROCESSING(SSobj, src)
|
START_PROCESSING(SSobj, src)
|
||||||
rejecting = null
|
rejecting = null
|
||||||
var/datum/reagent/blood/organ_blood = locate(/datum/reagent/blood) in reagents.reagent_list
|
var/datum/reagent/blood/organ_blood = locate(/datum/reagent/blood) in reagents.reagent_list
|
||||||
@@ -361,9 +361,10 @@ var/list/organ_cache = list()
|
|||||||
|
|
||||||
if(owner && vital)
|
if(owner && vital)
|
||||||
if(user)
|
if(user)
|
||||||
add_attack_logs(user,owner,"Removed vital organ [src.name]")
|
add_attack_logs(user, owner, "Removed vital organ [src.name]")
|
||||||
owner.death()
|
if(owner.stat != DEAD)
|
||||||
owner.can_defib = 0
|
owner.can_defib = 0
|
||||||
|
owner.death()
|
||||||
|
|
||||||
handle_organ_mod_special(TRUE)
|
handle_organ_mod_special(TRUE)
|
||||||
|
|
||||||
|
|||||||
@@ -89,7 +89,7 @@
|
|||||||
|
|
||||||
/obj/item/organ/internal/mmi_holder/emp_act(severity)
|
/obj/item/organ/internal/mmi_holder/emp_act(severity)
|
||||||
// ..() // VOREStation Edit - Don't take damage
|
// ..() // VOREStation Edit - Don't take damage
|
||||||
owner.adjustToxLoss(rand(6/severity, 12/severity))
|
owner?.adjustToxLoss(rand(6/severity, 12/severity))
|
||||||
|
|
||||||
/obj/item/organ/internal/mmi_holder/posibrain
|
/obj/item/organ/internal/mmi_holder/posibrain
|
||||||
name = "positronic brain interface"
|
name = "positronic brain interface"
|
||||||
|
|||||||
Reference in New Issue
Block a user