Replaces the mood component with a mood datum (#68592)

About The Pull Request

Mood was abusing signals and get component pretty badly, so I redid it as a datum to stop this.
Why It's Good For The CODEBASE

Better code pratices, also gives admins easier tools to manage mood
Changelog

cl
admin: Added two new procs into the VV dropdown menu to add and remove mood events from living mobs.
/cl
This commit is contained in:
Seth Scherer
2022-08-12 08:59:20 +12:00
committed by GitHub
parent 92dc954ab5
commit 34b4034777
121 changed files with 968 additions and 858 deletions
@@ -180,7 +180,7 @@
locked = TRUE
dump_contents()
update_appearance()
SEND_SIGNAL(user, COMSIG_ADD_MOOD_EVENT, "graverobbing", /datum/mood_event/graverobbing)
user.add_mood_event("graverobbing", /datum/mood_event/graverobbing)
if(lead_tomb == TRUE && first_open == TRUE)
user.gain_trauma(/datum/brain_trauma/magic/stalker)
to_chat(user, span_boldwarning("Oh no, no no no, THEY'RE EVERYWHERE! EVERY ONE OF THEM IS EVERYWHERE!"))
@@ -199,7 +199,7 @@
to_chat(user, span_notice("You start to remove \the [src] with \the [S]."))
if (do_after(user,15, target = src))
to_chat(user, span_notice("You remove \the [src] completely."))
SEND_SIGNAL(user, COMSIG_ADD_MOOD_EVENT, "graverobbing", /datum/mood_event/graverobbing)
user.add_mood_event("graverobbing", /datum/mood_event/graverobbing)
deconstruct(TRUE)
return 1
return
@@ -86,9 +86,9 @@
atom_integrity = min(atom_integrity + max_integrity*0.05,max_integrity)//restores 5% hp of tendril
for(var/mob/living/L in view(src, 5))
if(L.mind?.has_antag_datum(/datum/antagonist/ashwalker))
SEND_SIGNAL(L, COMSIG_ADD_MOOD_EVENT, "oogabooga", /datum/mood_event/sacrifice_good)
L.add_mood_event("oogabooga", /datum/mood_event/sacrifice_good)
else
SEND_SIGNAL(L, COMSIG_ADD_MOOD_EVENT, "oogabooga", /datum/mood_event/sacrifice_bad)
L.add_mood_event("oogabooga", /datum/mood_event/sacrifice_bad)
/obj/structure/lavaland/ash_walker/proc/remake_walker(datum/mind/oldmind, oldname)
var/mob/living/carbon/human/M = new /mob/living/carbon/human(get_step(loc, pick(GLOB.alldirs)))