Buff Shadekin Empathy (And other hive languages)

This commit is contained in:
Casey
2023-01-24 15:43:56 -05:00
committed by CHOMPStation2
parent 94033f7538
commit 2aee076fee
8 changed files with 58 additions and 5 deletions

View File

@@ -130,11 +130,27 @@
/datum/language/proc/broadcast(var/mob/living/speaker,var/message,var/speaker_mask)
log_say("(HIVE) [message]", speaker)
speaker.verbs |= /mob/proc/adjust_hive_range //VOREStation Add - If you don't have the verb you should.
if(!speaker_mask) speaker_mask = speaker.name
message = "[get_spoken_verb(message)], \"[format_message(message, get_spoken_verb(message))]\""
for(var/mob/player in player_list)
player.hear_broadcast(src, speaker, speaker_mask, message)
//VOREStation Edit Start
if(speaker.hive_lang_range == -1)
var/turf/t = get_turf(speaker)
for(var/mob/player in player_list)
var/turf/b = get_turf(player)
if (t.z == b.z)
player.hear_broadcast(src, speaker, speaker_mask, message)
else if(speaker.hive_lang_range)
var/turf/t = get_turf(speaker)
for(var/mob/player in player_list)
var/turf/b = get_turf(player)
if(get_dist(t,b) <= speaker.hive_lang_range)
player.hear_broadcast(src, speaker, speaker_mask, message)
else
for(var/mob/player in player_list)
player.hear_broadcast(src, speaker, speaker_mask, message)
//VOREStation Edit End
/mob/proc/hear_broadcast(var/datum/language/language, var/mob/speaker, var/speaker_name, var/message)
if((language in languages) && language.check_special_condition(src))
@@ -187,6 +203,11 @@
return 0
languages.Add(new_language)
//VOREStation Addition Start
if(new_language.flags & HIVEMIND)
verbs |= /mob/proc/adjust_hive_range
//VOREStation Addition End
return 1
/mob/proc/remove_language(var/rem_language)

View File

@@ -0,0 +1,19 @@
/mob
var/hive_lang_range = 0
/mob/proc/adjust_hive_range()
set name = "Adjust Special Language Range"
set desc = "Changes the range you will transmit your hive language to!"
set category = "IC"
var/option = tgui_alert(src, "What range?", "Adjust special language range", list("Global","This Z level","Local", "Subtle"))
switch(option)
if("Global")
hive_lang_range = 0
if("This Z level")
hive_lang_range = -1
if("Local")
hive_lang_range = world.view
if("Subtle")
hive_lang_range = 1

View File

@@ -22,8 +22,12 @@
unarmed_types = list(/datum/unarmed_attack/stomp, /datum/unarmed_attack/kick, /datum/unarmed_attack/claws/shadekin, /datum/unarmed_attack/bite/sharp/shadekin)
rarity_value = 15 //INTERDIMENSIONAL FLUFFERS
<<<<<<< HEAD
male_scream_sound = null //CHOMPedit
female_scream_sound = null //CHOMPedit
=======
inherent_verbs = list(/mob/proc/adjust_hive_range)
>>>>>>> 68f3b83a08... Merge pull request #14375 from Very-Soft/shadekinempathy
siemens_coefficient = 1
darksight = 10

View File

@@ -572,7 +572,8 @@
inherent_verbs = list(
/mob/living/carbon/human/proc/diona_split_nymph,
/mob/living/carbon/human/proc/regenerate
/mob/living/carbon/human/proc/regenerate,
/mob/proc/adjust_hive_range //VOREStation Add
)
warning_low_pressure = 50

View File

@@ -494,6 +494,8 @@
unarmed_types = list(/datum/unarmed_attack/stomp, /datum/unarmed_attack/kick, /datum/unarmed_attack/claws, /datum/unarmed_attack/bite/sharp)
rarity_value = 5 //INTERDIMENSIONAL FLUFFERS
inherent_verbs = list(/mob/proc/adjust_hive_range)
siemens_coefficient = 0
darksight = 10

View File

@@ -154,6 +154,9 @@
langlist |= L.languages
if(langlist.len)
langlist -= languages
for(var/datum/language/L in langlist)
if(L.flags & HIVEMIND)
verbs |= /mob/proc/adjust_hive_range
temp_languages |= langlist
languages |= langlist
@@ -460,4 +463,4 @@
pred.prey_controlled = TRUE
log_and_message_admins("[pred] is now controlled by [pred.ckey], they were taken over via pred submission, and were originally controlled by [pred_brain.pred_ckey].")
if(delete_source)
qdel(prey)
qdel(prey)

View File

@@ -131,6 +131,8 @@
update_icon()
verbs |= /mob/proc/adjust_hive_range
return ..()
/mob/living/simple_mob/shadekin/Destroy()

View File

@@ -2901,6 +2901,7 @@
#include "code\modules\mob\language\generic.dm"
#include "code\modules\mob\language\language.dm"
#include "code\modules\mob\language\outsider.dm"
#include "code\modules\mob\language\snowflake.dm"
#include "code\modules\mob\language\station.dm"
#include "code\modules\mob\language\station_vr.dm"
#include "code\modules\mob\language\station_YW.dm"