mirror of
https://github.com/Aurorastation/Aurora.3.git
synced 2026-08-24 13:30:42 +01:00
Extends and reworks how various extended information text (desc_info, desc_build, desc_upgrades) are handled to make object interactions and mechanics A.) much more clearly documented in-game and B.) much easier to support from the back-end. Almost certainly a candidate for test merge. Assembly/Disassembly instructions are noticeably sporadic, largely due to our current lack of a unified framework. That's a future thing I'd like to attack so that it can be handled programmatically, but for now I only targeted the biggest culprits as I came across them. --------- Signed-off-by: Batrachophreno <Batrochophreno@gmail.com>
81 lines
2.7 KiB
Plaintext
81 lines
2.7 KiB
Plaintext
/obj/item/voice_changer
|
|
name = "voice changer"
|
|
desc = "A voice scrambling module. If you can see this, report it as a bug on the tracker."
|
|
var/voice //If set and item is present in mask/suit, this name will be used for the wearer's speech.
|
|
var/active
|
|
var/current_accent = ACCENT_CETI
|
|
|
|
/obj/item/clothing/mask/gas/voice
|
|
var/obj/item/voice_changer/changer
|
|
origin_tech = list(TECH_ILLEGAL = 4)
|
|
|
|
/obj/item/clothing/mask/gas/voice/antagonist_hints(mob/user, distance, is_adjacent)
|
|
. += ..()
|
|
. += "This mask can be used to change the owner's voice."
|
|
|
|
/obj/item/clothing/mask/gas/voice/verb/Toggle_Voice_Changer()
|
|
set category = "Object"
|
|
set src in usr
|
|
|
|
changer.active = !changer.active
|
|
to_chat(usr, SPAN_NOTICE("You [changer.active ? "enable" : "disable"] the voice-changing module in \the [src]."))
|
|
|
|
/obj/item/clothing/mask/gas/voice/verb/Set_Voice(name as text)
|
|
set category = "Object"
|
|
set src in usr
|
|
|
|
var/voice = sanitize(name, MAX_NAME_LEN)
|
|
if(!voice || !length(voice)) return
|
|
changer.voice = voice
|
|
to_chat(usr, SPAN_NOTICE("You are now mimicking <B>[changer.voice]</B>."))
|
|
|
|
/obj/item/clothing/mask/gas/voice/verb/Toggle_Accent()
|
|
set category = "Object"
|
|
set src in usr
|
|
|
|
var/choice = tgui_input_list(usr, "Please choose an accent to mimick.", "Accent Mimicry", SSrecords.accents)
|
|
if(choice)
|
|
to_chat(usr, SPAN_NOTICE("You are now mimicking the [choice] accent."))
|
|
changer.current_accent = choice
|
|
|
|
/obj/item/clothing/mask/gas/voice/Initialize()
|
|
. = ..()
|
|
changer = new(src)
|
|
|
|
/obj/item/clothing/mask/gas/vaurca/filter/voice
|
|
var/obj/item/voice_changer/changer
|
|
origin_tech = list(TECH_ILLEGAL = 4)
|
|
|
|
/obj/item/clothing/mask/gas/vaurca/filter/voice/antagonist_hints(mob/user, distance, is_adjacent)
|
|
. += ..()
|
|
. += "A Lii'draic filter port that allows to change voices."
|
|
|
|
/obj/item/clothing/mask/gas/vaurca/filter/voice/verb/Toggle_Voice_Changer()
|
|
set category = "Object"
|
|
set src in usr
|
|
|
|
changer.active = !changer.active
|
|
to_chat(usr, SPAN_NOTICE("You [changer.active ? "enable" : "disable"] the voice-changing module in \the [src]."))
|
|
|
|
/obj/item/clothing/mask/gas/vaurca/filter/voice/verb/Set_Voice(name as text)
|
|
set category = "Object"
|
|
set src in usr
|
|
|
|
var/voice = sanitize(name, MAX_NAME_LEN)
|
|
if(!voice || !length(voice)) return
|
|
changer.voice = voice
|
|
to_chat(usr, SPAN_NOTICE("You are now mimicking <B>[changer.voice]</B>."))
|
|
|
|
/obj/item/clothing/mask/gas/vaurca/filter/voice/verb/Toggle_Accent()
|
|
set category = "Object"
|
|
set src in usr
|
|
|
|
var/choice = tgui_input_list(usr, "Please choose an accent to mimick.", "Accent Mimicry", SSrecords.accents)
|
|
if(choice)
|
|
to_chat(usr, SPAN_NOTICE("You are now mimicking the [choice] accent."))
|
|
changer.current_accent = choice
|
|
|
|
/obj/item/clothing/mask/gas/vaurca/filter/voice/Initialize()
|
|
. = ..()
|
|
changer = new(src)
|