mirror of
https://github.com/Bubberstation/Bubberstation.git
synced 2025-12-11 10:11:09 +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)
|
/obj/item/organ/tongue/shadekin/proc/actually_modify_speech(datum/source, list/speech_args)
|
||||||
var/message = speech_args[SPEECH_MESSAGE]
|
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/obj/item/organ/ears/shadekin/user_ears = user.get_organ_slot(ORGAN_SLOT_EARS)
|
||||||
var/mode = istype(user_ears)
|
var/mode = istype(user_ears)
|
||||||
user.balloon_alert_to_viewers("[mode ? "ears vibrate" : "shivers"]", "projecting thoughts...")
|
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))
|
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")
|
user.log_talk(message, LOG_SAY, tag="shadekin")
|
||||||
for(var/mob/living/carbon/human/living_mob in GLOB.alive_mob_list)
|
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\greyscale\config_types\greyscale_configs\pipe_carp.dm"
|
||||||
#include "modular_zubbers\code\datums\mapgen\Cavegens\moonstation.dm"
|
#include "modular_zubbers\code\datums\mapgen\Cavegens\moonstation.dm"
|
||||||
#include "modular_zubbers\code\datums\materials\basemats.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\bloodsucker_events.dm"
|
||||||
#include "modular_zubbers\code\datums\mood_events\dominant_mood.dm"
|
#include "modular_zubbers\code\datums\mood_events\dominant_mood.dm"
|
||||||
#include "modular_zubbers\code\datums\mood_events\food_events.dm"
|
#include "modular_zubbers\code\datums\mood_events\food_events.dm"
|
||||||
|
|||||||
Reference in New Issue
Block a user