Commit Graph

16 Commits

Author SHA1 Message Date
oranges
8583ec519c Merge pull request #39990 from ninjanomnom/origin-signal
Fixes some forgotten signals in origin signal refactor
2018-08-30 01:13:30 +01:00
Emmett Gaines
488b6b5517 Adds the signal origin as the first arg to all signals (#39861)
* Adds the signal origin as the first arg to all signals

* Fixes some storage and nanite procs
2018-08-28 16:28:34 +01:00
Qustinnus
55b4759e5a Makes some improvements to mood code (#39750)
removes useless mood events subtypes
fixes mood event timers not resetting when they get triggered again
removes the depression overlay which makes our fruit happy
2018-08-19 22:57:41 +01:00
Qustinnus
5fd73d4d54 Move nutrition events to the mood component (#39743) 2018-08-18 00:12:37 +01:00
bgobandit
907ff148a3 Fixes various small issues with moodlets; adds one for exercise. (#39437)
Adds a slight positive moodlet for working out, the same effect as reading a book

In the process refactors weight machines so they are actually object oriented, this creates map edits to Delta and Pubby as well as one ruin

Changes the message "Nothing special has happened to me" to something that is hopefully less immersion-demolishing.

Moodlet text for eating disgusting food no longer appears in positive green text
    Other various grammar fixes
2018-07-31 00:15:18 +01:00
Emmett Gaines
6eead96183 Refactors create_mob_hud() to add a signal (#39364)
* Refactors create_mob_hud() to add a signal

and make the mood component use it

* Register for the hud element click

* Observe observer safety
2018-07-29 06:46:47 +01:00
Grandmother of 50
872817b70b Mood Code Improvements [Merge-Ready?] (#39075)
fix: having higher sanity is no longer punished by making you enter crit faster
balance: you can have 100 mood instead of 99 before it starts slowly decreasing


Remember higher sanity is BETTER

You want crit_modifier (now crit_threshold) to be LOW so you can stay in fights more (you go into crit at 5hp vs 0hp).

Why: Proc overhead, puts the load on mood, proper abstraction of mood component, values > defines, etc.
2018-07-20 00:32:44 +01:00
vuonojenmustaturska
51c58446cc Fix mood component signal registering (#38991)
Yeah uh, strings can't host components and these flat out just runtime at roundstart, leading to moods being flat out broken.
2018-07-09 00:17:12 +01:00
Qustinnus
c6e806e9d8 Makes some requested changes to mood (#38851)
cl Floyd
del: removed beauty / dirtyness
balance: Mood no longer gives you hallucinations, instead makes you go into crit sooner
/cl

oranges requested these changes, i havn't coded in DM for a while so I might have made some mistakes
2018-07-08 02:51:10 +01:00
Emmett Gaines
3e52d953af Refactors component signals registration (#38798)
Datums know what signals are being listened for and components can now be registered to listen for signals on more than one object.
2018-07-04 22:56:50 +01:00
Jordan Brown
6dd45dd630 Removes redundant COMPONENT_INCOMPATIBLE crashes (#37389) 2018-04-25 11:54:25 +01:00
BeeSting12
1c411729a8 >happend 2018-03-27 20:30:32 +01:00
Qustinnus
460bd7d0f7 Adjusts the behavior of Mood on sanity (#36640)
cl Floyd / Qustinnus
balance: Changes rate of sanity drain and caps it depending on mood
/cl
Kor gave me permission to work on mood during the freeze so I could stop the fuckload of people that ping me 5 times with insults.

If you are only slightly sad, you wont go insane, but go to a cap, to go insane you /need/ to be in a bad mood at the same time, or you will go back to sane really fast. Also sanity drain rates lowered.

Also if there's bugs/issues with mood just make an issue on the issue trackers, I dont need you pinging me at 4AM to tell me how I'm horrid at things. It'll just make me get a headache. I'm making PRs in good faith, not to annoy the playerbase. The same respect in return would be appreciated.

If mood doesn't work out after this the Headmins will turn off the config, and I'll look into either rebalancing it or repurposing it.
2018-03-23 06:52:04 +01:00
Qustinnus
e8f346f75d Being happy no longer makes you obese. (#36565)
* D O U B L E N E G A T I V E

* jesus
2018-03-22 10:21:21 +01:00
Qustinnus
36e91a327b [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.
2018-03-18 07:49:31 +01:00
Qustinnus
5140cff38c [reviewpls] Adds moodlets to the game - [Please give suggestions for trait additions in comments] (#35475)
Floyd / Qustinnus (Sprites by Ausops, Some moodlets by Ike709)

add: Adds mood, which can be found by clicking on the face icon on your screen.
add: Adds various moodlets which affect your mood. Try eating your favourite food, playing an arcade game, reading a book, or petting a doggo to increase your moo. Also be sure to take care of your hunger on a regular basis, like always.
add: Adds config option to disable/enable mood.
add: Indoor area's now have a beauty var defined by the amount of cleanables in them, (We can later expand this to something like rimworld, where structures could make rooms more beautiful). These also affect mood. (Janitor now has gameplay purpose besides slipping and removing useless decals)
remove: Removes hunger slowdown, replacing it with slowdown by being depressed
imageadd: Icons for mood states and depression states


What this PR is

This PR adds a system that allows player to gain and lose moodlets based on events occuring to, and around them. These events then give the player a mood value based on what it is. For example a hug could give you +1 mood, while being stabbed in the eye with a screwdriver can give -5 mood. All these moodlets together determine the mood of your character which currently affects the following things:

    Movement speed - If you are very sad you move slower. Replacing movement slow from hunger. (hunger now instead affects mood)
    Screen blur - If you are sad you gain an overlay that slightly blurs the screen, increasing in severity as you get sadder.
    Interaction / do after speed - If you are sad or happy your interaction speed with things such as handcuffs is changed. with a 25% longer time if you are sad, or 10% shorter time if you are extremely happy.
    Hunger rate - You gain hunger slower if you are very happy.
2018-03-08 14:15:57 +13:00