Files
Bubberstation/code/modules/surgery
SkyratBot f292feb0c8 [MIRROR] Fix robotic voicebox tongue using the wrong proc. (#26329)
* Fix robotic voicebox tongue using the wrong proc. (#81206)

## About The Pull Request

The robotic voicebox tongue had the `can_speak_language(language)` proc
set to return `TRUE` regardless, however it doesn't seem like this is
actually called on a tongue anywhere else in the code. I _believe_ this
proc is on the atom level, and isn't for the tongue itself.
I think the correct proc would be
`could_speak_language(datum/language/language_path)`. which is defined
on the tongue and most importantly actually called when checking which
language a carbon can speak.
```dm
/mob/living/carbon/could_speak_language(datum/language/language_path)
	var/obj/item/organ/internal/tongue/spoken_with = get_organ_slot(ORGAN_SLOT_TONGUE)
		// the tower of babel needs to bypass the tongue language restrictions without giving omnitongue
		return HAS_MIND_TRAIT(src, TRAIT_TOWER_OF_BABEL) || spoken_with.could_speak_language(language_path)
```
## Why It's Good For The Game

It having `can_speak_language(language)` doesn't seem to actually be
doing anything, but its presence in the first place makes me feel like
this is unintentional. This fixes that.
## Changelog
🆑
fix: Robotic voicebox actually lets you speak any language again (as
long as you know it).
/🆑

* Fix robotic voicebox tongue using the wrong proc.

---------

Co-authored-by: _0Steven <42909981+00-Steven@users.noreply.github.com>
2024-02-02 11:42:40 -06:00
..