mirror of
https://github.com/Aurorastation/Aurora.3.git
synced 2026-08-22 12:29:46 +01:00
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:
co-authored by
GMR25
Cody Brittain
parent
5b36e475eb
commit
ddbe7073eb
@@ -8,6 +8,8 @@
|
||||
var/list/augment_languages = list()
|
||||
/// A list of languages that get added when it's installed. used to remove languages later. don't touch this.
|
||||
var/list/added_languages = list()
|
||||
/// A list of language-related verbs granted by the augment.
|
||||
var/list/granted_verbs = list()
|
||||
|
||||
/obj/item/organ/internal/augment/language/replaced(var/mob/living/carbon/human/target, obj/item/organ/external/affected)
|
||||
. = ..()
|
||||
@@ -15,11 +17,13 @@
|
||||
if(!(language in target.languages))
|
||||
target.add_language(language)
|
||||
added_languages += language
|
||||
add_verb(target, granted_verbs)
|
||||
|
||||
/obj/item/organ/internal/augment/language/removed(var/mob/living/carbon/human/target, mob/living/user)
|
||||
for(var/language in added_languages)
|
||||
target.remove_language(language)
|
||||
added_languages = list()
|
||||
remove_verb(target, granted_verbs)
|
||||
..()
|
||||
|
||||
/obj/item/organ/internal/augment/language/emp_act()
|
||||
@@ -99,3 +103,36 @@
|
||||
SPECIES_VAURCA_WARRIOR,
|
||||
SPECIES_VAURCA_WORKER,
|
||||
)
|
||||
|
||||
/obj/item/organ/internal/augment/language/vekatak
|
||||
name = "Ve'katak Phalanx Hivenet receiver"
|
||||
icon_state = "phalanx_hivenet"
|
||||
dead_icon = "phalanx_hivenet_broken"
|
||||
on_mob_icon = 'icons/mob/human_races/augments_external.dmi'
|
||||
augment_languages = list(LANGUAGE_VAURCA)
|
||||
granted_verbs = list(/mob/living/carbon/human/proc/hivenet_recieve, /mob/living/carbon/human/proc/phalanx_transmit)
|
||||
var/decryption_key
|
||||
var/banned = FALSE
|
||||
var/muted = FALSE
|
||||
var/transmitting = FALSE
|
||||
var/disrupted = FALSE
|
||||
var/disrupttime = 0
|
||||
|
||||
/obj/item/organ/internal/augment/language/vekatak/process()
|
||||
. = ..()
|
||||
if(disrupted)
|
||||
if(disrupttime > world.time)
|
||||
disrupttime--
|
||||
else
|
||||
disrupted = FALSE
|
||||
|
||||
/obj/item/organ/internal/augment/language/vekatak/emp_act()
|
||||
. = ..()
|
||||
for(var/language in added_languages)
|
||||
if(prob(25))
|
||||
owner.remove_language(language)
|
||||
owner.set_default_language(pick(owner.languages))
|
||||
to_chat(owner, SPAN_DANGER("You feel thousands of voices, all clamoring inside your mind!"))
|
||||
owner.adjustHalLoss(15)
|
||||
owner.flash_pain(15)
|
||||
owner.adjustBrainLoss(5)
|
||||
|
||||
Reference in New Issue
Block a user