Moves languages to a holder datum, gives mind its own language holder

This commit is contained in:
CitadelStationBot
2017-05-05 08:13:04 -05:00
parent 4ef516ca24
commit 56d5e12263
47 changed files with 355 additions and 148 deletions
+1 -1
View File
@@ -43,7 +43,7 @@
if(SSatoms.InitAtom(src, args))
//we were deleted
return
var/list/created = SSatoms.created_atoms
if(created)
created += src
+2
View File
@@ -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)
+10
View File
@@ -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
+1 -2
View File
@@ -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
+17
View File
@@ -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
+1 -1
View File
@@ -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
View File
@@ -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)