mirror of
https://github.com/Aurorastation/Aurora.3.git
synced 2026-07-20 20:37:34 +01:00
Autohiss QoL (#10377)
This commit is contained in:
@@ -0,0 +1,6 @@
|
||||
---
|
||||
--- Puts autohiss in character setup
|
||||
---
|
||||
|
||||
ALTER TABLE `ss13_characters`
|
||||
ADD COLUMN `autohiss` TINYINT NOT NULL DEFAULT 0 AFTER `accent`;
|
||||
@@ -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
|
||||
|
||||
@@ -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 ..()
|
||||
@@ -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,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."
|
||||
Reference in New Issue
Block a user