Autohiss QoL (#10377)

This commit is contained in:
Geeves
2020-10-31 15:59:33 +02:00
committed by GitHub
parent aa10a6bbe6
commit 78c5778342
9 changed files with 46 additions and 11 deletions
+6
View File
@@ -0,0 +1,6 @@
---
--- Puts autohiss in character setup
---
ALTER TABLE `ss13_characters`
ADD COLUMN `autohiss` TINYINT NOT NULL DEFAULT 0 AFTER `accent`;
+7
View File
@@ -86,6 +86,13 @@
#define NO_STUTTER 256 // No stuttering, slurring, or other speech problems
#define TCOMSSIM 512 // Can be synthesized in tcoms
// Autohiss
#define AUTOHISS_OFF 0
#define AUTOHISS_BASIC 1
#define AUTOHISS_FULL 2
#define AUTOHISS_NUM 3
// Representative missions levels
#define REPRESENTATIVE_MISSION_LOW 1
#define REPRESENTATIVE_MISSION_MEDIUM 2
+2
View File
@@ -155,6 +155,8 @@ var/global/list/cloaking_devices = list()
rkey++
var/datum/species/S = new T
S.race_key = rkey //Used in mob icon caching.
if(length(S.autohiss_basic_map) || length(S.autohiss_extra_map) || length(S.autohiss_basic_extend) || length(S.autohiss_extra_extend))
S.has_autohiss = TRUE
all_species[S.name] = S
sortTim(all_species, /proc/cmp_text_asc)
@@ -4,15 +4,18 @@
/datum/category_item/player_setup_item/general/language/load_character(var/savefile/S)
S["language"] >> pref.alternate_languages
S["autohiss"] >> pref.autohiss_setting
/datum/category_item/player_setup_item/general/language/save_character(var/savefile/S)
S["language"] << pref.alternate_languages
S["autohiss"] << pref.autohiss_setting
/datum/category_item/player_setup_item/general/language/gather_load_query()
return list(
"ss13_characters" = list(
"vars" = list(
"language" = "alternate_languages"
"language" = "alternate_languages",
"autohiss" = "autohiss_setting"
),
"args" = list("id")
)
@@ -26,13 +29,15 @@
"ss13_characters" = list(
"id" = 1,
"ckey" = 1,
"language"
"language",
"autohiss"
)
)
/datum/category_item/player_setup_item/general/language/gather_save_parameters()
return list(
"language" = list2params(pref.alternate_languages),
"autohiss" = pref.autohiss_setting,
"id" = pref.current_character,
"ckey" = PREF_CLIENT_CKEY
)
@@ -41,6 +46,7 @@
if (sql_load)
pref.alternate_languages = params2list(pref.alternate_languages)
pref.autohiss_setting = text2num(pref.autohiss_setting)
if(!islist(pref.alternate_languages))
pref.alternate_languages = list()
@@ -92,6 +98,11 @@
else
dat += "- [pref.species] cannot choose secondary languages.<br>"
if(S.has_autohiss)
pref.autohiss_setting = clamp(pref.autohiss_setting, AUTOHISS_OFF, AUTOHISS_NUM - 1)
var/list/autohiss_to_word = list("Disabled", "Basic", "Full")
dat += "<br><a href='?src=\ref[src];autohiss=1'>Autohiss: [autohiss_to_word[pref.autohiss_setting + 1]]</a><br>"
. = dat.Join()
/datum/category_item/player_setup_item/general/language/OnTopic(var/href,var/list/href_list, var/mob/user)
@@ -127,4 +138,9 @@
else
pref.alternate_languages |= new_lang
return TOPIC_REFRESH
return ..()
else if(href_list["autohiss"])
pref.autohiss_setting = (pref.autohiss_setting + 1) % AUTOHISS_NUM
if(isnull(pref.autohiss_setting))
pref.autohiss_setting = AUTOHISS_OFF
return TOPIC_REFRESH
return ..()
+1
View File
@@ -65,6 +65,7 @@ datum/preferences
var/species_preview //Used for the species selection window.
var/list/alternate_languages = list() //Secondary language(s)
var/list/language_prefixes = list() // Language prefix keys
var/autohiss_setting = AUTOHISS_OFF
var/list/gear // Custom/fluff item loadout.
var/list/gear_list = list() //Custom/fluff item loadouts.
var/gear_slot = 1 //The current gear save slot
@@ -376,6 +376,8 @@ INITIALIZE_IMMEDIATE(/mob/abstract/new_player)
else
client.prefs.copy_to(new_character)
client.autohiss_mode = client.prefs.autohiss_setting
src << sound(null, repeat = 0, wait = 0, volume = 85, channel = 1) // MAD JAMS cant last forever yo)
if(mind)
+1 -7
View File
@@ -1,10 +1,3 @@
#define AUTOHISS_OFF 0
#define AUTOHISS_BASIC 1
#define AUTOHISS_FULL 2
#define AUTOHISS_NUM 3
/mob/living/proc/handle_autohiss(message, datum/language/L)
return message // no autohiss at this level
@@ -35,6 +28,7 @@
to_chat(src, "Auto-hiss is now OFF.")
/datum/species
var/has_autohiss = FALSE
var/list/autohiss_basic_map = null
var/list/autohiss_extra_map = null
var/list/autohiss_exempt = null
@@ -428,7 +428,8 @@
// Used to update alien icons for aliens.
/datum/species/proc/handle_login_special(var/mob/living/carbon/human/H)
return
if(has_autohiss && H.client)
H.client.autohiss_mode = H.client.prefs.autohiss_setting
// As above.
/datum/species/proc/handle_logout_special(var/mob/living/carbon/human/H)
@@ -0,0 +1,6 @@
author: Geeves
delete-after: True
changes:
- rscadd: "Autohissssss has been added to the character creation menu, and will now perssssisssst roundssss and logoutssss."