mirror of
https://github.com/Bubberstation/Bubberstation.git
synced 2025-12-09 16:05:07 +00:00
Adds more flavor to shadekin empathy (#3437)
## About The Pull Request BASED ON SANITY SHADEKIN EMPATHY WILL: -Take more or less time to send -At lowest levels of sanity the message starts to break down some -Be a different color in chat ## Why It's Good For The Game Shadekin empathy is communication through FEELINGS so it being better/worse based on how you're FEELING makes sense (to me) ## Proof Of Testing  <details> <summary>Screenshots/Videos</summary> </details> ## Changelog 🆑 balance: shadekin empathy is better/worse based on mood /🆑 --------- Co-authored-by: Waterpig <49160555+Majkl-J@users.noreply.github.com>
This commit is contained in:
19
modular_zubbers/code/datums/mood_events/_mood_event.dm
Normal file
19
modular_zubbers/code/datums/mood_events/_mood_event.dm
Normal file
@@ -0,0 +1,19 @@
|
||||
/datum/mood/proc/get_mood_colour()
|
||||
switch(mob_parent.mob_mood.sanity_level)
|
||||
if (SANITY_LEVEL_GREAT)
|
||||
. = "#2eeb9a"
|
||||
if (SANITY_LEVEL_NEUTRAL)
|
||||
. = "#86d656"
|
||||
if (SANITY_LEVEL_DISTURBED)
|
||||
. = "#4b96c4"
|
||||
if (SANITY_LEVEL_UNSTABLE)
|
||||
. = "#dfa65b"
|
||||
if (SANITY_LEVEL_CRAZY)
|
||||
. = "#f38943"
|
||||
if (SANITY_LEVEL_INSANE)
|
||||
. = "#f15d36"
|
||||
if(HAS_TRAIT(mob_parent, TRAIT_MOOD_NOEXAMINE))
|
||||
|
||||
. = "#4b96c4"
|
||||
return
|
||||
return
|
||||
@@ -53,14 +53,30 @@
|
||||
|
||||
/obj/item/organ/tongue/shadekin/proc/actually_modify_speech(datum/source, list/speech_args)
|
||||
var/message = speech_args[SPEECH_MESSAGE]
|
||||
var/mob/living/carbon/human/user = source
|
||||
var/mob/living/carbon/human/user = owner
|
||||
var/shadekin_mood = user.mob_mood.sanity_level
|
||||
var/empathy_timer = 2 SECONDS
|
||||
var/obj/item/organ/ears/shadekin/user_ears = user.get_organ_slot(ORGAN_SLOT_EARS)
|
||||
var/mode = istype(user_ears)
|
||||
user.balloon_alert_to_viewers("[mode ? "ears vibrate" : "shivers"]", "projecting thoughts...")
|
||||
|
||||
if(!do_after(source, 2 SECONDS, source))
|
||||
switch(shadekin_mood)
|
||||
if(SANITY_LEVEL_GREAT)
|
||||
empathy_timer = 0
|
||||
if(SANITY_LEVEL_NEUTRAL)
|
||||
empathy_timer = 1 SECONDS
|
||||
if(SANITY_LEVEL_UNSTABLE)
|
||||
empathy_timer = 4 SECONDS
|
||||
if(SANITY_LEVEL_CRAZY)
|
||||
empathy_timer = 5 SECONDS
|
||||
message = stars(message)
|
||||
if(SANITY_LEVEL_INSANE)
|
||||
empathy_timer = 6 SECONDS
|
||||
message = readable_corrupted_text(message)
|
||||
|
||||
if(empathy_timer && !do_after(source, empathy_timer, source))
|
||||
message = full_capitalize(rot13(message))
|
||||
var/rendered = span_abductor("<b>[user.real_name]:</b> [message]")
|
||||
var/rendered = ("<span style=color:[user.mob_mood.get_mood_colour()];><b>[user.real_name]:</b> [message]</span>")
|
||||
|
||||
user.log_talk(message, LOG_SAY, tag="shadekin")
|
||||
for(var/mob/living/carbon/human/living_mob in GLOB.alive_mob_list)
|
||||
|
||||
@@ -8826,6 +8826,7 @@
|
||||
#include "modular_zubbers\code\datums\greyscale\config_types\greyscale_configs\pipe_carp.dm"
|
||||
#include "modular_zubbers\code\datums\mapgen\Cavegens\moonstation.dm"
|
||||
#include "modular_zubbers\code\datums\materials\basemats.dm"
|
||||
#include "modular_zubbers\code\datums\mood_events\_mood_event.dm"
|
||||
#include "modular_zubbers\code\datums\mood_events\bloodsucker_events.dm"
|
||||
#include "modular_zubbers\code\datums\mood_events\dominant_mood.dm"
|
||||
#include "modular_zubbers\code\datums\mood_events\food_events.dm"
|
||||
|
||||
Reference in New Issue
Block a user