[MIRROR] [READY] Several fixes/changes to mood, longterm mood effects, beauty component (#5992)

* [READY] Several fixes/changes to mood, longterm mood effects, beauty component (#36344)

cl Floyd / Qustinnus
del: Removes short-term effects of mood
add; Adds long-term effects of mood by implementing sanity which goes up with good mood, down with bad mood, but takes time to change. Your sanity can be seen as your average mood in the recent past. All effects of moods are now covered by this system
add: Beauty component, currently only attached to cleanables, but you could attach it to any atom/movable and make them pretty/ugly, affecting mood of anyone in the room.
refactor: Removes the original way of adding mood events, uses signals properly instead.
fix: Cleanables "giving" area's free beauty during initialization
fix: Fixes some events not clearing properly
/cl

Fixes #36444

From now on mood no longer affects you directly, instead it decides whether your sanity goes up or down, when your sanity gets too low you will get the effects of what mood did before.

This means getting hit with bad moods due to being attacked while not mean you are doomed anymore, and you get a large timeframe to get away and just fix your mood later.

I also added the beauty component, you could add this to any object and it would either make a room prettier or uglier, comparable to DF or Rimworld. You could add traits to make certain people ugly, for example.

* [READY] Several fixes/changes to mood, longterm mood effects, beauty component
This commit is contained in:
CitadelStationBot
2018-03-19 21:33:18 -05:00
committed by Poojawa
parent 088f3fda5d
commit dad2d44ea2
64 changed files with 394 additions and 345 deletions
+23
View File
@@ -0,0 +1,23 @@
/datum/mood_event/horridroom
description = "<span class='boldwarning'>This room looks terrible!</span>\n"
mood_change = -5
/datum/mood_event/badroom
description = "<span class='warning'>This room looks really bad.</span>\n"
mood_change = -3
/datum/mood_event/mehroom
description = "<span class='warning'>This room doesn't look great.</span>\n"
mood_change = -1
/datum/mood_event/decentroom
description = "<span class='nicegreen'>This room looks alright.</span>\n"
mood_change = 2
/datum/mood_event/goodroom
description = "<span class='nicegreen'>This room looks really pretty!</span>\n"
mood_change = 4
/datum/mood_event/greatroom
description = "<span class='nicegreen'>This room is beautiful!</span>\n"
mood_change = 7
@@ -49,7 +49,7 @@
/datum/mood_event/depression
description = "<span class='warning'>I feel sad for no particular reason.</span>\n"
mood_change = -6
mood_change = -9
timeout = 1200
/datum/mood_event/shameful_suicide //suicide_acts that return SHAME, like sord
@@ -64,7 +64,7 @@
/datum/mood_event/noshoes
description = "<span class='warning'>I am a disgrace to comedy everywhere!</span>\n"
mood_change = -3
mood_change = -5
/datum/mood_event/tased
description = "<span class='warning'>There's no \"z\" in \"taser\". It's in the zap.</span>\n"
@@ -73,13 +73,22 @@
/datum/mood_event/embedded
description = "<span class='boldwarning'>Pull it out!</span>\n"
mood_change = -6
mood_change = -7
/datum/mood_event/table
description = "<span class='warning'>Someone threw me on a table!</span>\n"
mood_change = -2
timeout = 1200
/datum/mood_event/table/add_effects()
if(ishuman(owner))
var/mob/living/carbon/human/H = owner
if(iscatperson(H))
H.startTailWag()
addtimer(CALLBACK(H, /mob/living/carbon/human.proc/endTailWag), 30)
description = "<span class='nicegreen'>They want to play on the table!</span>\n"
mood_change = 2
/datum/mood_event/brain_damage
mood_change = -3
@@ -96,15 +105,6 @@
mood_change = -3
timeout = 3000
/datum/mood_event/grossroom
description = "<span class='warning'>This room is kind of dirty...</span>\n"
mood_change = -3
/datum/mood_event/disgustingroom
description = "<span class='warning'>This room is disgusting!</span>\n"
mood_change = -5
//These are unused so far but I want to remember them to use them later
/datum/mood_event/cloned_corpse
description = "<span class='boldwarning'>I recently saw my own corpse...</span>\n"
@@ -37,11 +37,6 @@
description = "<span class='nicegreen'>What a lovely day.</span>\n"
mood_change = 3
/datum/mood_event/happytable
description = "<span class='nicegreen'>They want to play on the table!</span>\n"
mood_change = 2
timeout = 1200
/datum/mood_event/jolly
description = "<span class='nicegreen'>I feel happy for no particular reason.</span>\n"
mood_change = 6
@@ -61,11 +56,3 @@
description = "<span class='nicegreen'>I have seen the truth, praise the almighty one!</span>\n"
mood_change = 40 //maybe being a cultist isnt that bad after all
hidden = TRUE
/datum/mood_event/niceroom
description = "<span class='nicegreen'>This room looks really pretty!</span>\n"
mood_change = 4
/datum/mood_event/greatroom
description = "<span class='nicegreen'>This room is beautiful!</span>\n"
mood_change = 7