mirror of
https://github.com/CHOMPStation2/CHOMPStation2.git
synced 2025-12-10 02:09:41 +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
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
|
||||
@@ -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)
|
||||
|
||||
@@ -131,6 +131,8 @@
|
||||
|
||||
update_icon()
|
||||
|
||||
verbs |= /mob/proc/adjust_hive_range
|
||||
|
||||
return ..()
|
||||
|
||||
/mob/living/simple_mob/shadekin/Destroy()
|
||||
|
||||
@@ -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"
|
||||
|
||||
Reference in New Issue
Block a user