Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[MIRROR] Fix robotic voicebox tongue using the wrong proc. #1795

Merged
merged 1 commit into from
Feb 6, 2024

Conversation

Steals-The-PRs
Copy link
Collaborator

Mirrored on Nova: NovaSector/NovaSector#738
Original PR: tgstation/tgstation#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.

/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

🆑 00-Steven
fix: Robotic voicebox actually lets you speak any language again (as long as you know it).
/:cl:

* 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
:cl:
fix: Robotic voicebox actually lets you speak any language again (as
long as you know it).
/:cl:

* Fix robotic voicebox tongue using the wrong proc.

---------

Co-authored-by: _0Steven <[email protected]>
@Iajret Iajret merged commit 9b21891 into master Feb 6, 2024
23 checks passed
@Iajret Iajret deleted the upstream-mirror-738 branch February 6, 2024 11:35
AnywayFarus added a commit that referenced this pull request Feb 6, 2024
Iajret pushed a commit that referenced this pull request Apr 20, 2024
* adds nut cracking

* minor tweaks

* newline

* I forgotted to add th the

* add synth + anaesthetised interactions

* minor wording tweaks and a new define

* more defines to pre-empt Golden hitting MY nuts

* grgragghhhh

* Update modular_nova/modules/nut_shot/human.dm
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants