mirror of
https://github.com/CHOMPStation2/CHOMPStation2.git
synced 2025-12-14 04:02:31 +00:00
Buff Shadekin Empathy (And other hive languages)
This commit is contained in:
@@ -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)
|
||||
|
||||
19
code/modules/mob/language/snowflake.dm
Normal file
19
code/modules/mob/language/snowflake.dm
Normal 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
|
||||
Reference in New Issue
Block a user