Ve'katak Hivenet Receiver (#18771)

Adds a new augment, available in loadout to non-Vaurca members of the
Ve'katak Phalanx, which can receive Hivenet broadcasts and transmit from
a selection of preset messages. Sprites done by @GMR25

---------

Signed-off-by: RustingWithYou <63625389+RustingWithYou@users.noreply.github.com>
Co-authored-by: GMR25 <GMR25@users.noreply.github.com>
Co-authored-by: Cody Brittain <cbrittain10@yahoo.com>
This commit is contained in:
RustingWithYou
2024-06-09 12:09:08 +00:00
committed by GitHub
co-authored by GMR25 Cody Brittain
parent 5b36e475eb
commit ddbe7073eb
7 changed files with 274 additions and 38 deletions
+14
View File
@@ -265,9 +265,13 @@
to_chat(player, encrypted_msg)
continue
var/obj/item/organ/internal/vaurca/neuralsocket/listener_socket = listener_human.internal_organs_by_name[BP_NEURAL_SOCKET]
var/obj/item/organ/internal/augment/language/vekatak/receiver = listener_human.internal_organs_by_name[BP_AUG_LANGUAGE]
if(!listener_socket || listener_socket.decryption_key != speaker_encryption_key)
to_chat(player, encrypted_msg)
continue
if (!receiver || receiver.decryption_key != speaker_encryption_key)
to_chat(player, encrypted_msg)
continue
to_chat(player, msg)
/datum/language/bug/format_message(message, verb, speaker_mask)
@@ -301,6 +305,10 @@
return 0
if(M.internal_organs_by_name[BP_NEURAL_SOCKET] && (GLOB.all_languages[LANGUAGE_VAURCA] in M.languages))
return 1
if(M.internal_organs_by_name[BP_AUG_LANGUAGE])
var/obj/item/organ/internal/augment/language/vekatak/V = M.internal_organs_by_name[BP_AUG_LANGUAGE]
if(istype(V) && (GLOB.all_languages[LANGUAGE_VAURCA] in M.languages))
return 1
if(M.internal_organs_by_name["blackkois"])
return 1
@@ -321,11 +329,17 @@
/datum/language/bug/check_speech_restrict(var/mob/speaker)
var/mob/living/carbon/human/H = speaker
var/obj/item/organ/internal/vaurca/neuralsocket/S = H.internal_organs_by_name[BP_NEURAL_SOCKET]
var/obj/item/organ/internal/augment/language/vekatak/V = H.internal_organs_by_name[BP_AUG_LANGUAGE]
//Black k'ois zombies don't have neural sockets but need to talk, hence check if the socket exists, or it will runtime for them
if(S && (S.muted || S.disrupted))
to_chat(speaker, SPAN_WARNING("You have been muted over the Hivenet!"))
return FALSE
if(istype(V))
if(!V.transmitting || V.disrupted || V.muted)
to_chat(speaker, SPAN_WARNING("Your implant cannot transmit over the Hivenet!"))
return FALSE
else
return TRUE