Merge pull request #4245 from SkyMarshal/airfixes

Lots of bugfixes.
This commit is contained in:
Zuhayr
2014-01-09 02:47:20 -08:00
24 changed files with 658 additions and 716 deletions
+7 -11
View File
@@ -6,7 +6,7 @@
var/name = "an unknown language" // Fluff name of language if any.
var/desc = "A language." // Short description for 'Check Languages'.
var/speech_verb = "says" // 'says', 'hisses', 'farts'.
var/colour = "say_quote" // CSS style to use for strings in this language.
var/colour = "body" // CSS style to use for strings in this language.
var/key = "x" // Character used to speak in language eg. :o for Unathi.
var/flags = 0 // Various language flags.
var/native // If set, non-native speakers will have trouble speaking.
@@ -54,6 +54,7 @@
/datum/language/human
name = "Sol Common"
desc = "A bastardized hybrid of informal English and elements of Mandarin Chinese; the common language of the Sol system."
colour = "rough"
key = "1"
flags = RESTRICTED
@@ -62,35 +63,30 @@
name = "Tradeband"
desc = "Maintained by the various trading cartels in major systems, this elegant, structured language is used for bartering and bargaining."
speech_verb = "enunciates"
colour = "say_quote"
key = "2"
/datum/language/gutter
name = "Gutter"
desc = "Much like Standard, this crude pidgin tongue descended from numerous languages and serves as Tradeband for criminal elements."
speech_verb = "growls"
colour = "rough"
key = "3"
// Language handling.
/mob/proc/add_language(var/language)
for(var/datum/language/L in languages)
if(L && L.name == language)
return 0
var/datum/language/new_language = all_languages[language]
if(!istype(new_language,/datum/language))
if(!istype(new_language) || new_language in languages)
return 0
languages += new_language
languages.Add(new_language)
return 1
/mob/proc/remove_language(var/rem_language)
for(var/datum/language/L in languages)
if(L && L.name == rem_language)
languages -= L
return 1
languages.Remove(all_languages[rem_language])
return 0
@@ -40,11 +40,6 @@
if(!species)
set_species()
if(species.language)
var/datum/language/L = all_languages[species.language]
if(L)
languages += L
var/datum/reagents/R = new/datum/reagents(1000)
reagents = R
R.my_atom = src
@@ -1257,8 +1252,14 @@ mob/living/carbon/human/yank_out_object()
if(species && (species.name && species.name == new_species))
return
if(species && species.language)
remove_language(species.language)
species = all_species[new_species]
if(species.language)
add_language(species.language)
spawn(0)
update_icons()
+4 -4
View File
@@ -108,7 +108,7 @@ var/list/department_radio_keys = list(
if(client.prefs.muted & MUTE_IC)
src << "\red You cannot speak in IC (muted)."
return
if (src.client.handle_spam_prevention(message,MUTE_IC))
if (src.client.handle_spam_prevention(message, MUTE_IC))
return
// Mute disability
@@ -173,7 +173,7 @@ var/list/department_radio_keys = list(
if(src.stunned > 2 || (traumatic_shock > 61 && prob(50)))
message_mode = null //Stunned people shouldn't be able to physically turn on their radio/hold down the button to speak into it
message = capitalize(message)
message = capitalize(trim_left(message))
if (!message)
return
@@ -371,9 +371,9 @@ var/list/department_radio_keys = list(
for(var/mob/M in hearers(5, src))
if(M != src && is_speaking_radio)
M:show_message("<span class='notice'>[src] talks into [used_radios.len ? used_radios[1] : "radio"]</span>")
var/rendered = null
if (length(heard_a))
var/message_a = say_quote(message,speaking)
+5 -4
View File
@@ -114,7 +114,7 @@
spawning = 1
src << sound(null, repeat = 0, wait = 0, volume = 85, channel = 1) // MAD JAMS cant last forever yo
observer.started_as_observer = 1
close_spawn_windows()
var/obj/O = locate("landmark*Observer-Start")
@@ -287,6 +287,9 @@
src << alert("[rank] is not available. Please try another.")
return 0
spawning = 1
close_spawn_windows()
job_master.AssignRole(src, rank, 1)
var/mob/living/carbon/human/character = create_character() //creates the human and transfers vars and mind
@@ -359,8 +362,6 @@
if(chosen_species)
if(is_alien_whitelisted(src, client.prefs.species) || !config.usealienwhitelist || !(chosen_species.flags & WHITELISTED) || (client.holder.rights & R_ADMIN) )// Have to recheck admin due to no usr at roundstart. Latejoins are fine though.
new_character.set_species(client.prefs.species)
if(chosen_species.language)
new_character.add_language(chosen_species.language)
var/datum/language/chosen_language
if(client.prefs.language)
@@ -392,7 +393,7 @@
if(client.prefs.disabilities)
// Set defer to 1 if you add more crap here so it only recalculates struc_enzymes once. - N3X
new_character.dna.SetSEState(GLASSESBLOCK,1,0)
new_character.dna.SetSEState(GLASSESBLOCK,1,0)
new_character.disabilities |= NEARSIGHTED
// And uncomment this, too.
+11 -13
View File
@@ -98,30 +98,28 @@
//tcomms code is still runtiming somewhere here
var/ending = copytext(text, length(text))
var/speechverb = "<span class='say_quote'>"
var/speech_verb = "says"
var/speech_style = "body"
if (speaking)
speechverb = "[speaking.speech_verb]</span>, \"<span class='[speaking.colour]'>"
speech_verb = speaking.speech_verb
speech_style = speaking.colour
else if(speak_emote && speak_emote.len)
speechverb = "[pick(speak_emote)], \""
speech_verb = pick(speak_emote)
else if (src.stuttering)
speechverb = "stammers, \""
speech_verb = "stammers"
else if (src.slurring)
speechverb = "slurrs, \""
speech_verb = "slurrs"
else if (ending == "?")
speechverb = "asks, \""
speech_verb = "asks"
else if (ending == "!")
speechverb = "exclaims, \""
speech_verb = "exclaims"
else if(isliving(src))
var/mob/living/L = src
if (L.getBrainLoss() >= 60)
speechverb = "gibbers, \""
else
speechverb = "says, \""
else
speechverb = "says, \""
speech_verb = "gibbers"
return "[speechverb][text]</span>\""
return "<span class='say_quote'>[speech_verb],</span> \"<span class='[speech_style]'>[text]</span>\""
/mob/proc/emote(var/act, var/type, var/message)
if(act == "me")