Moves languages to a holder datum, gives mind its own language holder
This commit is contained in:
+1
-1
@@ -43,7 +43,7 @@
|
||||
if(SSatoms.InitAtom(src, args))
|
||||
//we were deleted
|
||||
return
|
||||
|
||||
|
||||
var/list/created = SSatoms.created_atoms
|
||||
if(created)
|
||||
created += src
|
||||
|
||||
@@ -16,6 +16,7 @@
|
||||
var/list/languages
|
||||
var/list/initial_languages = list(/datum/language/common)
|
||||
var/only_speaks_language = null
|
||||
var/datum/language_menu/language_menu = null
|
||||
var/verb_say = "says"
|
||||
var/verb_ask = "asks"
|
||||
var/verb_exclaim = "exclaims"
|
||||
@@ -177,6 +178,7 @@
|
||||
STOP_PROCESSING(SSinbounds, src)
|
||||
|
||||
QDEL_NULL(proximity_monitor)
|
||||
QDEL_NULL(language_menu)
|
||||
|
||||
. = ..()
|
||||
if(loc)
|
||||
|
||||
@@ -0,0 +1,10 @@
|
||||
diff a/code/game/atoms_movable.dm b/code/game/atoms_movable.dm (rejected hunks)
|
||||
@@ -571,7 +571,7 @@
|
||||
|
||||
|
||||
/* Language procs */
|
||||
-/atom/movable/proc/get_language_holder()
|
||||
+/atom/movable/proc/get_language_holder(shadow=TRUE)
|
||||
if(language_holder)
|
||||
return language_holder
|
||||
else
|
||||
@@ -14,8 +14,7 @@
|
||||
verb_ask = "requests"
|
||||
verb_exclaim = "proclaims"
|
||||
verb_yell = "harangues"
|
||||
initial_languages = list(/datum/language/common, /datum/language/ratvar)
|
||||
only_speaks_language = /datum/language/ratvar
|
||||
initial_language_holder = /datum/language_holder/clockmob
|
||||
bubble_icon = "clock"
|
||||
light_color = "#E42742"
|
||||
death_sound = 'sound/magic/clockwork/anima_fragment_death.ogg'
|
||||
|
||||
@@ -62,7 +62,7 @@
|
||||
icon = 'icons/mob/swarmer.dmi'
|
||||
desc = "A robot of unknown design, they seek only to consume materials and replicate themselves indefinitely."
|
||||
speak_emote = list("tones")
|
||||
initial_languages = list(/datum/language/swarmer)
|
||||
initial_language_holder = /datum/language_holder/swarmer
|
||||
bubble_icon = "swarmer"
|
||||
health = 40
|
||||
maxHealth = 40
|
||||
|
||||
@@ -0,0 +1,17 @@
|
||||
diff a/code/game/machinery/hologram.dm b/code/game/machinery/hologram.dm (rejected hunks)
|
||||
@@ -294,7 +294,7 @@ GLOBAL_LIST_EMPTY(holopads)
|
||||
Hologram.add_atom_colour("#77abff", FIXED_COLOUR_PRIORITY)
|
||||
Hologram.Impersonation = user
|
||||
|
||||
- Hologram.languages = user.languages
|
||||
+ Hologram.language_holder = user.get_language_holder()
|
||||
Hologram.mouse_opacity = 0//So you can't click on it.
|
||||
Hologram.layer = FLY_LAYER//Above all the other objects/mobs. Or the vast majority of them.
|
||||
Hologram.anchored = 1//So space wind cannot drag it.
|
||||
@@ -392,4 +392,4 @@ For the other part of the code, check silicon say.dm. Particularly robot talk.*/
|
||||
req_components = list(/obj/item/weapon/stock_parts/capacitor = 1)
|
||||
|
||||
#undef HOLOPAD_PASSIVE_POWER_USAGE
|
||||
-#undef HOLOGRAM_POWER_USAGE
|
||||
\ No newline at end of file
|
||||
+#undef HOLOGRAM_POWER_USAGE
|
||||
@@ -23,7 +23,7 @@
|
||||
|
||||
var/persistence_replacement //have something WAY too amazing to live to the next round? Set a new path here. Overuse of this var will make me upset.
|
||||
var/unique_rename = FALSE // can you customize the description/name of the thing?
|
||||
|
||||
|
||||
var/dangerous_possession = FALSE //Admin possession yes/no
|
||||
|
||||
/obj/vv_edit_var(vname, vval)
|
||||
|
||||
+2
-2
@@ -61,7 +61,7 @@ GLOBAL_LIST_INIT(freqtospan, list(
|
||||
var/messagepart = " <span class='message'>[lang_treat(speaker, message_language, raw_message, spans)]</span></span>"
|
||||
|
||||
var/languageicon = ""
|
||||
var/datum/language/D = get_language_instance(message_language)
|
||||
var/datum/language/D = GLOB.language_datum_instances[message_language]
|
||||
if(D.display_icon(src))
|
||||
languageicon = "[D.get_icon()] "
|
||||
|
||||
@@ -103,7 +103,7 @@ GLOBAL_LIST_INIT(freqtospan, list(
|
||||
return speaker.say_quote(raw_message, spans, message_mode)
|
||||
else if(language)
|
||||
var/atom/movable/AM = speaker.GetSource()
|
||||
var/datum/language/D = get_language_instance(language)
|
||||
var/datum/language/D = GLOB.language_datum_instances[language]
|
||||
raw_message = D.scramble(raw_message)
|
||||
if(AM)
|
||||
return AM.say_quote(raw_message, spans, message_mode)
|
||||
|
||||
Reference in New Issue
Block a user