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
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.
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.
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.
I've always found grating that xenobiology had access to species they had no business working with, and slime magic can only explain so much. My idea is to separate those species into their respective departments/antags, instead of having them all into a centralized, cheap source.
Androids should be made by robotics through augmentation
Podpeople are a botany feature
Skeletons should be limited to liches or other magic antags
Zombies should stay limited to romerol
Golems are still available in adamantine slimes (and luminescents can morph into golems with them)
Shadowpeople still lack an official place, but luminescents can become shadowpeople with black cores
The basic races are mostly human and lizard, and there are mutation toxins for those in case someone wants their species back after bodyswapping/ling mutation sting/etc.
* Fixes excessive overlay chern
Adding an overlay on every cross and uncross of every player (with how bloody the station gets this is called on just about every fucking movement, some times multiple times if there are multiple types of stains (oil, blood, alien, etc) is an excessive as fuck amount of chern in the overlay subsystem.
This is likely the cause of overlays being so high.
* I APOLOGIZE FOR NOTHING!
Plurality, capitalization, punctuation, and item icons have been
improved. Status displays now show the same text on examination that
they do visually. Inducers only show a success message when they
actually succeed.
* ports plasmeme windows from /vg/
* Update window.dm
* It's the stairway to seinfield
* fixity fix fix
* See this code if you're wondering why I rarely get any sleep
* *scream
* now
* this is going to give me PTCSD - post-traumatic coding stress disorder
* *scream
* Improves forensics datum
* Meep.
* RA RA RASPTUIN... i'm not crazy, right?
* better
* I think it works... /s
* less compile errors
* Reduces compile errors to a much more managable 50
* shitcode.exe
* ehhh
* HEY EVERYONE, IT WORKS!!
* Make slide code less autistic
* blue skyyy
* no more bay forensics!
* IT WORKS
* Remove EnforceSize, it isn't used.
* icon2html
* More bicon sutff
* eee
* aeee
* abc
* abc
* a
* abc
* e
* forensics check in initalize
* huh
* bleh
* Update _drone.dm
* Update _drone.dm
* Update _drone.dm
Goonchat will use the asset cache, you now have to specify who to send the icons too.
Goonchat will now load icons in the background, displaying them once they load. this prevents the message from being delayed while the icons are sent.
Icons that aren't preloaded using the asset cache system will not render on ie8 clients. This is because of a ie8 bug that prevents changes on runtime created images from rendering.
In cases where you're creating an image to use as an overlay, it makes more sense to use a mutable_appearance if you can. The image will create a static appearance for not just the image but also each intermediate step if you change vars along the way. The mutable appearance avoids this unnecessary and expensive process. The only situation that requires an image instead of a mutable_appearance is if the overlay is supposed to be directional. MA's ignore direction while images don't. I dunno why, probably another BYOND-ism.
I added a convenience function, mutable_appearance(), designed to emulate image(). Also went ahead and set the default plane of /mutable_appearance to FLOAT_PLANE because it's fucking 0 by default.
Several overlays that were image() calls were changed to just text strings when I could. overlays += "string" has the same result as overlays += image(icon, "string") and saves a proc call.