Skip to content

Commit f81c72b

Browse files
authored
fix holocalls (#1194)
1 parent 6941347 commit f81c72b

File tree

8 files changed

+19
-9
lines changed

8 files changed

+19
-9
lines changed

code/datums/station_traits/negative_traits.dm

+1-1
Original file line numberDiff line numberDiff line change
@@ -93,7 +93,7 @@
9393
for(var/mob/living/simple_animal/bot/found_bot in GLOB.alive_mob_list)
9494
/// The bot's language holder - so we can randomize and change their language
9595
var/datum/language_holder/bot_languages = found_bot.get_language_holder()
96-
bot_languages.selected_language = bot_languages.get_random_spoken_language()
96+
bot_languages.set_selected_language(bot_languages.get_random_spoken_language())
9797

9898
/datum/station_trait/revenge_of_pun_pun
9999
name = "Revenge of Pun Pun"

code/game/atoms_movable.dm

+1-1
Original file line numberDiff line numberDiff line change
@@ -1188,7 +1188,7 @@
11881188
*/
11891189

11901190
/// Gets or creates the relevant language holder. For mindless atoms, gets the local one. For atom with mind, gets the mind one.
1191-
/atom/movable/proc/get_language_holder(get_minds = TRUE)
1191+
/atom/movable/proc/get_language_holder(get_minds = TRUE) as /datum/language_holder
11921192
RETURN_TYPE(/datum/language_holder)
11931193
if(!language_holder)
11941194
language_holder = new initial_language_holder(src)

code/game/machinery/hologram.dm

+2-2
Original file line numberDiff line numberDiff line change
@@ -690,7 +690,7 @@ For the other part of the code, check silicon say.dm. Particularly robot talk.*/
690690
Hologram.add_atom_colour("#77abff", FIXED_COLOUR_PRIORITY)
691691
Hologram.dir = SOUTH //for now
692692
var/datum/language_holder/holder = Hologram.get_language_holder()
693-
holder.selected_language = record.language
693+
holder.set_selected_language(GET_LANGUAGE_DATUM(record.language))
694694
Hologram.mouse_opacity = MOUSE_OPACITY_TRANSPARENT//So you can't click on it.
695695
Hologram.layer = FLY_LAYER//Above all the other objects/mobs. Or the vast majority of them.
696696
Hologram.set_anchored(TRUE)//So space wind cannot drag it.
@@ -774,7 +774,7 @@ For the other part of the code, check silicon say.dm. Particularly robot talk.*/
774774
return
775775
if(HOLORECORD_LANGUAGE)
776776
var/datum/language_holder/holder = replay_holo.get_language_holder()
777-
holder.selected_language = entry[2]
777+
holder.set_selected_language(GET_LANGUAGE_DATUM(entry[2]))
778778
if(HOLORECORD_PRESET)
779779
var/preset_type = entry[2]
780780
var/datum/preset_holoimage/H = new preset_type
+2-1
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,9 @@
11
/datum/language/flock
2+
name = "Symphonic"
23
syllables = list("caw")
34
sentence_chance = 0
45
space_chance = 100
5-
default_priority = 101
6+
default_priority = 99
67
key = "f"
78

89
icon_state = "flock"

code/modules/language/language_holder.dm

+9
Original file line numberDiff line numberDiff line change
@@ -71,6 +71,13 @@ Key procs
7171
owner = null
7272
return ..()
7373

74+
/// Setter for selected language.
75+
/datum/language_holder/proc/set_selected_language(datum/language/new_selected)
76+
if(!istype(new_selected))
77+
CRASH("Tried to set selected language to a [new_selected].")
78+
79+
selected_language = new_selected
80+
7481
/// Grants the supplied language.
7582
/datum/language_holder/proc/grant_language(datum/language/language, understood = TRUE, spoken = TRUE, source = LANGUAGE_MIND)
7683
if(istype(language))
@@ -185,6 +192,8 @@ Key procs
185192

186193
/// Returns selected language if it can be spoken, or decides, sets and returns a new selected language if possible.
187194
/datum/language_holder/proc/get_selected_language()
195+
RETURN_TYPE(/datum/language)
196+
188197
if(selected_language && can_speak_language(selected_language))
189198
return selected_language
190199

code/modules/language/language_menu.dm

+1-1
Original file line numberDiff line numberDiff line change
@@ -79,7 +79,7 @@
7979
switch(action)
8080
if("select_default")
8181
if(language_datum && AM.can_speak_language(language_datum))
82-
language_holder.selected_language = language_datum
82+
language_holder.set_selected_language(language_datum)
8383
. = TRUE
8484
if("grant_language")
8585
if((is_admin || isobserver(AM)) && language_datum)

code/modules/mob/living/silicon/pai/pai_defense.dm

+2-2
Original file line numberDiff line numberDiff line change
@@ -22,9 +22,9 @@
2222
if(3)
2323
adjust_timed_status_effect(INFINITY, /datum/status_effect/speech/stutter/derpspeech)
2424
to_chat(src, span_danger("Warning: Vocabulary databank corrupted."))
25-
if(prob(40))
26-
mind.language_holder.selected_language = get_random_spoken_language()
2725

26+
if(prob(40))
27+
mind.language_holder.set_selected_language(get_random_spoken_language())
2828

2929
/mob/living/silicon/pai/ex_act(severity, target)
3030
take_holo_damage(50 * severity)

code/modules/unit_tests/say.dm

+1-1
Original file line numberDiff line numberDiff line change
@@ -146,7 +146,7 @@
146146

147147
// Language test
148148
speaker.grant_language(/datum/language/beachbum)
149-
speaker.get_language_holder():selected_language = GET_LANGUAGE_DATUM(/datum/language/beachbum)
149+
speaker.get_language_holder():set_selected_language(GET_LANGUAGE_DATUM(/datum/language/beachbum))
150150
listener.add_blocked_language(/datum/language/beachbum)
151151
// speaking and whispering should be hearable
152152
conversation(distance = 1)

0 commit comments

Comments
 (0)