Sign Language translation glove changes (Plasmamen & MODsuits) (#64090)

Swaps the check for the gloves for people with the tongue-tied trait into a check for a clothing-based trait.
Makes a variant of the radio gloves for plasmamen, so they can be forced to use their hands too.
Makes a MODsuit mod that lets you sign over comms when your modsuit is activated.
This commit is contained in:
Wallem
2022-01-17 22:37:44 -06:00
committed by GitHub
parent 48404eb05d
commit 71162dee9b
10 changed files with 47 additions and 8 deletions
+2
View File
@@ -305,6 +305,8 @@ Remember to update _globalvars/traits.dm if you're adding/removing/renaming trai
#define TRAIT_PERMANENTLY_ONFIRE "permanently_onfire"
/// Galactic Common Sign Language
#define TRAIT_SIGN_LANG "sign_language"
/// This mob is able to use sign language over the radio.
#define TRAIT_CAN_SIGN_ON_COMMS "can_sign_on_comms"
/// nobody can use martial arts on this mob
#define TRAIT_MARTIAL_ARTS_IMMUNE "martial_arts_immune"
/// You've been cursed with a living duffelbag, and can't have more added
+4 -1
View File
@@ -316,7 +316,10 @@
// Only tongues of people with this quirk can't be removed. Manually spawned or found tongues can be.
new_tongue.organ_flags |= ORGAN_UNREMOVABLE
give_item_to_holder(/obj/item/clothing/gloves/radio, list(LOCATION_GLOVES = ITEM_SLOT_GLOVES, LOCATION_BACKPACK = ITEM_SLOT_BACKPACK, LOCATION_HANDS = ITEM_SLOT_HANDS))
var/obj/item/clothing/gloves/gloves_type = /obj/item/clothing/gloves/radio
if(isplasmaman(human_holder))
gloves_type = /obj/item/clothing/gloves/color/plasmaman/radio
give_item_to_holder(gloves_type, list(LOCATION_GLOVES = ITEM_SLOT_GLOVES, LOCATION_BACKPACK = ITEM_SLOT_BACKPACK, LOCATION_HANDS = ITEM_SLOT_HANDS))
/datum/quirk/item_quirk/tongue_tied/post_add()
to_chat(quirk_holder, span_boldannounce("Because you speak with your hands, having them full hinders your ability to communicate!"))
@@ -218,8 +218,7 @@
if(HAS_TRAIT(talking_movable, TRAIT_SIGN_LANG)) //Forces Sign Language users to wear the translation gloves to speak over radios
var/mob/living/carbon/mute = talking_movable
if(istype(mute))
var/obj/item/clothing/gloves/radio/G = mute.get_item_by_slot(ITEM_SLOT_GLOVES)
if(!istype(G))
if(!HAS_TRAIT(talking_movable, TRAIT_CAN_SIGN_ON_COMMS))
return FALSE
switch(mute.check_signables_state())
if(SIGN_ONE_HAND) // One hand full
+8 -5
View File
@@ -84,11 +84,6 @@
icon_state = "wizard"
inhand_icon_state = "purplegloves"
/obj/item/clothing/gloves/radio
name = "translation gloves"
desc = "A pair of electronic gloves which connect to nearby radios wirelessly. Allows for sign language users to 'speak' over comms."
icon_state = "radio_g"
inhand_icon_state = "radio_g"
/obj/item/clothing/gloves/color/plasmaman/head_of_personnel
name = "head of personnel's envirogloves"
@@ -121,3 +116,11 @@
name = "CentCom intern envirogloves"
icon_state = "internplasma"
inhand_icon_state = "internplasma"
/obj/item/clothing/gloves/color/plasmaman/radio
name = "translation envirogloves"
desc = "Allows the less vocally-capable plasmamen to use sign language over comms."
icon_state = "radio_gplasma"
inhand_icon_state = "radio_gplasma"
worn_icon_state = "radio_g"
clothing_traits = list(TRAIT_CAN_SIGN_ON_COMMS)
+7
View File
@@ -60,3 +60,10 @@
/obj/item/clothing/gloves/rapid/ComponentInitialize()
. = ..()
AddComponent(/datum/component/wearertargeting/punchcooldown)
/obj/item/clothing/gloves/radio
name = "translation gloves"
desc = "A pair of electronic gloves which connect to nearby radios wirelessly. Allows for sign language users to 'speak' over comms."
icon_state = "radio_g"
inhand_icon_state = "radio_g"
clothing_traits = list(TRAIT_CAN_SIGN_ON_COMMS)
@@ -644,6 +644,7 @@
/obj/item/mod/module/plasma_stabilizer/on_unequip()
REMOVE_TRAIT(mod.wearer, TRAIT_NOSELFIGNITION, MOD_TRAIT)
//Finally, https://pipe.miroware.io/5b52ba1d94357d5d623f74aa/mspfa/Nuke%20Ops/Panels/0648.gif can be real:
///Hat Stabilizer - Allows displaying a hat over the MOD-helmet, à la plasmamen helmets.
/obj/item/mod/module/hat_stabilizer
@@ -742,3 +743,20 @@
balloon_alert_to_viewers("the hat falls to the floor!")
attached_hat = null
mod.wearer.update_inv_back()
///Sign Language Translator - allows people to sign over comms using the modsuit's gloves.
/obj/item/mod/module/signlang_radio
name = "MOD glove translator module"
desc = "A module that adds motion sensors into the suit's gloves, \
which works in tandem with a short-range subspace transmitter, \
letting the audibly impaired use sign language over comms."
icon_state = "signlang_radio"
complexity = 1
idle_power_cost = DEFAULT_CHARGE_DRAIN * 0.3
incompatible_modules = list(/obj/item/mod/module/signlang_radio)
/obj/item/mod/module/signlang_radio/on_suit_activation()
ADD_TRAIT(mod.wearer, TRAIT_CAN_SIGN_ON_COMMS, MOD_TRAIT)
/obj/item/mod/module/signlang_radio/on_suit_deactivation()
REMOVE_TRAIT(mod.wearer, TRAIT_CAN_SIGN_ON_COMMS, MOD_TRAIT)
@@ -1354,3 +1354,9 @@
materials = list(/datum/material/iron = 2500, /datum/material/glass = 2000, /datum/material/bluespace = 1000)
build_path = /obj/item/mod/module/anomaly_locked/teleporter
department_type = MODULE_SCIENCE
/datum/design/module/mod_glove_translator
name = "MOD Module: Glove Translator"
id = "mod_sign_radio"
materials = list(/datum/material/iron = 750, /datum/material/glass = 500)
build_path = /obj/item/mod/module/signlang_radio
@@ -133,6 +133,7 @@
"mod_longfall",
"mod_thermal_regulator",
"mod_plasma",
"mod_sign_radio",
)
/datum/techweb_node/mech_tools
Binary file not shown.

Before

Width:  |  Height:  |  Size: 28 KiB

After

Width:  |  Height:  |  Size: 28 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 36 KiB

After

Width:  |  Height:  |  Size: 36 KiB