Commit Graph

455 Commits

Author SHA1 Message Date
Mickyan c0ac8d514f Adds new moodlets, psychotropic drugs (#41207)
cl Mickyan
add: Added various new moodlets
add: Most notably, the Laughter chemical and breathing small quantities of N2O can improve mood
add: Psicodine: a new chemical that can restore sanity levels to normal and temporarily suppress phobias
add: Happiness: a homemade drug that supposedly gives a feeling of total bliss and.. emptiness? That can't be healthy... watch out for side effects.
fix: The suffocation moodlet now triggers correctly
fix: The drunk moodlet now clears as soon as the drunkenness wears off
/cl

Fixes #41170

List of new moodlets:
Jittery
Vomiting, vomiting all over yourself (gross)
Painful medicine application (silver sulfazine/styptic powder/syntflesh) - very short duration
Chemical euphoria (breathing N2O)
Laughter/Superlaughter reactions
Happiness drug related reactions

Psicodine: keeps your sanity at least above neutral level and suppresses phobias as long as it's in your system. Also available from pill bottles at the medivend at a premium.

Happiness: loosely inspired by Joy from LISA, very addictive, does minor brain damage, withdrawal makes you slowly go insane and overdose makes your mood jump all over the place. Also suppresses phobias. Good if you need a very quick and powerful boost but not very practical for keeping your mood up for long periods.
2018-11-04 15:01:05 +13:00
MMMiracles c89b619bd9 Penguins now waddle + waddle organ (#40989)
* and he waddled away, waddle waddle

* waddle ears + initialize

* ninjanomnom fixes + meat

* taste stuff change

webbit
2018-10-18 16:29:59 -04:00
AnturK ba0ea6f366 Fixes anti stun implant nonsense (#40963) 2018-10-17 14:20:07 -04:00
ShizCalev 6cfcc40e66 Fixes admin revives not restoring mutant organs 2018-10-11 07:12:35 -04:00
kevinz000 3e7184c975 Combat/Stun (slip) overhaul staging, mobility flags, adds crawling (#39967)
Aiming to implement the framework oranges has detailed in https://tgstation13.org/phpBB/viewtopic.php?f=10&t=19102
Moves canmove to a bitflag in a new variable called mobility_flags, that will allow finer grain control of what someone can do codewise, for example, letting them move but not stand up, or stand up but not move.

Adds Immobilize()d status effect that freezes movement but does not prevent anything else.
Adds Paralyze()d which is oldstun "You can't do anything at all and knock down).
Stun() will now prevent any item/UI usage and movement (which is similar to before).
Knockdown() will now only knockdown without preventing item usage/movement.
People knocked down will be able to crawl at softcrit-speeds
Refactors some /mob variables and procs to /mob/living.
update_canmove() refactored to update_mobility() and will handle mobility_flags instead of the removed canmove

cl
rscadd: Crawling is now possible if you are down but not stunned. Obviously, you will be slower.
/cl
Refactors are done. I'd rather get this merged faster than try to fine tune stuff like slips. The most obvious gameplay effect this pr has will be crawling, and I believe I made tiny tweaks but I can't find it Anything I missed or weird behavior should be reported.
2018-10-11 11:22:21 +13:00
ShizCalev b12afcce60 Allow toxins to be truly silent yet deadly (#40748)
Certain toxins will no longer notify the mob of their presence with the "You
feel a dull pain in your abdomen" message, which allowed some stealthy (and
some nonharmful) toxins to be easily detected.
2018-10-07 21:01:57 -07:00
Fear The Flash ec63499747 [Ready To Review] Cyber Organs provide small benefits (#40164)
* Cyber organs are no longer trash

* removes research points (will do another PR 💯)

* removes that define

* Update liver.dm

* 🖨️ and 📄
2018-09-14 12:01:44 +02:00
Denton 08e9704807 Reduces liver failure damage, makes it more obvious 2018-09-09 16:39:26 +02:00
Shdorsh 9c68b78c3c [READY] Making corpses rot and create miasma (#39735)
* Adding miasma gastype

* make miasma roll small chance of infecting and corpses rot

* Add dry air sterilization to clear miasma

* make air alarm scrub out miasma automatically

* Storing corpse in morgue/coffin doesn't create miasma

* Added more ways to block miasma and a small notice

* fixing some errors in the rot proc, since I accidentally copied the old bugged version

* Code improvement, now waiting for Travis

* Added more effects to high miasma concentration

* Added delay to miasma production

As a result, miasma production goes up and partial pressure was unachievable back then, so I lowered it for all the effects.

* Formaldehyde stops decay

Also still trying to manage that miasma side effect stuff

* fulfilling some reviews

* Well done Travis

It's 9 in the morning, but I wanna see this through first

* beginning of miasma canister

* Added miasma canister

* Added miasma canister art

* add odor moodlets

* adding moodlets to miasma

* simplifying reagent check

* fixing indentation

* fixing an indentation problem

* Adding miasma tile effect

* adding miasma tile effect

* Deleting file in false placement

* changing miasma partial pressure for carbons

* added effects to lungs

* fixed a few errors

* Update lungs.dm

* Making miasma effect slightly prettier

I am not a pixel artist, but at least I try

* Raising miasma inhibiting temperature to -10°C

Yes, you can now store bodies in the cool room.

* making sure air alarm is set for miasma

since it is a common waste product, air alarms should start with scrubbers having miasma set to scrub

* setting scrubbers to scrub miasma on start

finally found this little setting

* lowered formaldehyde amount needed

* reaction fix

* rebalanced the reaction

Now happens quicker and doesn't produce that much heat.

* remove timeout to stench moods

* Update life.dm

* making mood stop with low/no miasma

AND waiting for travis

* fixing variable naming error

* fixing send signal for lungs

* fixing send signal for carbon

* fixing moodlet

this subsystem sure works in mysterious ways

* fixing lung moodlets

smell u l8r

* removing the 2 ifs

and looking if all moodlets are given to owner, not src

* Trying to balance the sterilization reaction

No more accelerated superburn. This heats *slowly*, as it was supposed to.

* Update vent_scrubber.dm

* improved the disease generation

the random disease's new proc seems more efficient, so let's go with it

* charred corpses don't produce miasma

there's nothing organic any saprophyte could possibly benefit from a carbonized carbon. also, replaced the disease proc, since there's better

* adding disgust system

* rebalancing

looking at the thresholds made me think that it was set too low, see negligible

* Slowing down the bubbling

can we plz move on?

* restoring old scrubber functionality

* mistakenly believed deleting this would only delete my changes in the code

here's the old functionality

* Update and rename vent_scrubber to vent_scrubber.dm

* restituting the spacing

* adding water vapor check

* changed miasma's specific heat to 20

no toxins memes

* lowered threshold, due to near-unachievability of pressure

* lowered threshold, due to near-unachievability of pressure

* there's never going to be a canister onstation

unless it's debugging or adminbus, so you'll need this little bit more
2018-09-05 20:19:54 -04:00
Emmett Gaines 0943e56e08 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 18:28:29 +03:00
Garen Crownguard 291583440f screwdriver_act signal (#39877) 2018-08-27 05:56:45 -04:00
Qustinnus b3eccaadc3 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 14:58:07 -07:00
Patrick Chieppe 2c8248575a Logging system refactor and improvement (#39521)
* Refactor several log lines to use datum_info_line and atom_loc_line

* Add default return strings from datum_info_line and atom_loc_line

* Add parentheses around atom_loc_line data

* Change more logs to use atom_loc_line

* Add check in atom_loc_line for turfs to avoid calling get_turf on them

* Re-add removed 'at'

* Replace datum_info_line with key_name and atom_loc_line with loc_name

* Refactor logging functions

* Avoid double-logging self-interactions

* Fallback to simple stringification if all else fails in key_name()

* Rewrite muscle spasm logging to use log_message

* Standardize logging of martial arts

* Tweak individual logging panel look

* Fix individual logging panel source

* When I typed || I really meant &&

* Fix Telecomms logging always showing client logs in the panel

* Reverts addition of buggy ownership log to panel

* Remove colon

* Fix missing log_directed_talk tag

* Add warning for missing type in log_direted_talk

* Change warnings to stack_traces

* Add square brackets around fallthrough key_name() case to help parsing

* Allow atom arguments/src in log_*() functions

* Change log_combat call with null argument to log_message

* Change mecha types' log_message() arguments to match atom and mob version

* Add key_name() case for atoms

* Fix resist_grab() unsetting pulledby before log_combat gets a chance to use it

* Fix log_globally logic

* Add logging for hitting objects with items

* Move log_combat() to atoms.dm

* Use utility functions for object stringification in log_combat()

* Use utility functions for object stringification in log_combat()

* Add missing logs for interacting with display cases

* Rewrite log_combat() comment

* Add missing space in log_combat()

* Add logging for hitting grilles barehanded

* Add missing ..()
2018-08-12 21:41:09 +02:00
kevinz000 48ece11504 Felinid/catpeople are now their own human subspecies (#39513)
* Catpeople are nyow a species

* Fixes a runtime

* Fixes the issues with being forced ears when you chose none

* Neko --> Felinid

* P2

* Update

* Working this time I promise
2018-08-08 20:56:46 +03:00
Emmett Gaines 418ea4fa2a Fixes redirect component transfers (#39290) 2018-07-24 21:03:53 +02:00
Grandmother of 50 90a1b8c363 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 11:33:00 +12:00
Qustinnus 284f90a3ab 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 13:50:54 +12:00
FrozenGuy5 dfb0a09058 Fixes nitryl gas not applying its effects. 2018-07-02 23:13:29 +01:00
XDTM 162a2539b6 Changes the nutriment implant pump organ slot (#38801) 2018-07-01 13:56:36 -07:00
ShizCalev f338f09207 Cleanup & corrections 2018-06-20 21:57:17 -04:00
ShizCalev ff532a4ca4 Spellchecks TGStation 2018-06-19 18:57:44 -04:00
ninjanomnom d483ff3ef0 Regexes
`([^_\.])SendSignal\((.+?)\)` -> `\1SEND_SIGNAL(src, \2)`
`([\.\w]+?)\.SendSignal\((.+?)\)` -> `SEND_SIGNAL(\1, \2)`
2018-06-13 19:19:23 -04:00
vuonojenmustaturska c65a99f130 Move NODROP_1, DROPDEL_1, ABSTRACT_1 and NOBLUDGEON_1 to item_flags where they belong (#38171)
* (mostly) nodrop

* (mostly) dropdel

* (mostly) abstract

* nobludgeon

* things i missed

* forgot one

* unintended changes

* energy handcuffs
2018-06-01 11:36:31 +02:00
ShizCalev c41d6ac965 Standardizes and cleans up some admin messages & logging (#38128)
* Improved logging

* Fixes & emitter logging

* ded
2018-05-30 21:57:06 -07:00
vuonojenmustaturska d335a0fd05 Make typecache checks twice as fast, stop using single-type typecaches where appropriate (#38075) 2018-05-28 16:31:30 -07:00
vuonojenmustaturska 1eccbcca18 Adds an EMP protection component, allowing ANYTHING to be protected from EMP (#37671)
The component is initialized with any combination of three flags, EMP_PROTECT_SELF protects against effects that target the object itself, EMP_PROTECT_WIRES protects against wires being messed with similar to the NO_EMP_WIRES_1 flag which this PR removes, EMP_PROTECT_CONTENTS protects against things that are inside the object like organs, internal "non-virtual" power cells and the like

This enables (but doesn't introduce) new mechanics such as adding EMP shielding at runtime to any atom, or taking it away.
2018-05-22 11:38:02 +12:00
Nich b011d24fe1 Replace nauseous with nauseated (#37927) 2018-05-21 01:05:57 -07:00
XDTM aa782fffd2 [s] Hallucinations 4.0 (#37423)
No ingame changelog cause these are supposed to fool people.

Changes:

    Hallucinations now pick from a single weighted list, instead of being separated in tiers. The more obvious a hallucinations, the less likely it is to appear.
    Hallucination is now a contantly ticking down variable. 1 hallucination = 2 seconds duration. Hallucinating effects have been rebalanced to fit this.
    Hallucinations have a random cooldown ranging from 10 to 60 seconds. The status will still tick down in the meantime.
    The Sounds hallucinations has been split in three: realistic sounds (likely), weird sounds (rare), and station messages (i.e. the shuttle arrived, blob warning, etc.)(also rare).
    The Bolts hallucination now stops you from bumping doors open. You can still click them to open them.
    Removed the singulo hallucination. It's pretty much impossible to make it realistic enough, and it's too widely known to scare someone. It's an annoyance and a definite tell that you're hallucinating.
    Removed the xeno attack for the same reasons. It was kept in the code to serve as a pseudotemplate for hallucination mobs.
    Removed the fake attacker hallucination. Trying to replicate full attack and defense code as well as managing icon generation with blacklists and all is just not worth it. It would never be realistic enough.
    RDS hallucinations have been either rolled into normal ones or removed (the OOC ones). No reason to keep them separate, aside from throwing off the hallucination odds (which has resulted in complaints about the cult victory warning being too common).
    Added/edited a lot of strings for the text-based hallucinations. I could definitely use a few more for the message hallucination, i got writer's block there.
2018-05-10 09:15:46 +12:00
Armhulen d4413fafcb Plasmamen organs GET sprites! (#37595)
* DONE

* initial

* Removes random slashes
2018-05-02 22:20:15 -04:00
vuonojenmustaturska 3eb30b16f3 Replaces HEALS_EARS_2 with a component, adds a wearertargeting parent component for future use (#37530)
code: HEALS_EARS_2 is removed in favor of the earhealing component

code: wearertargeting component is available to subtype for components that want to target the wearer of an item rather than the item itself
2018-04-30 10:32:59 +12:00
AnturK 62c932207c Fixes autosurgeon icon (#37402)
* Fixes autosurgeon icon

* Duh
2018-04-24 16:02:57 -05:00
Fox McCloud 057aa31cda Kills off /obj/item/device (#37297)
* Kills off /obj/item/device

* whoops

* whoops

* Fix
2018-04-23 15:00:23 +02:00
kevinz000 62a6825ad6 args 2018-04-14 13:50:00 -07:00
Dax Dupont 3efe335958 Liver fixes (#37175)
* Rebalances lethality and adds a traitcheck

* Moves borg reagent to other_reagents since these shouldn't do damage at all and are hardly toxins

* Lower it more because this is probably gonna hurt a lot real fast

* Naku's suggestion

derp

Thanks cobby

readds this check

almost nerfed cybernetic livers oops

Aaaaaa
2018-04-13 20:39:47 +03:00
Winterous f26f7ef7dd Forcing the human liver to actually do its job v2 (#37032)
* Update liver.dm

* Update liver.dm

* Update liver.dm
2018-04-11 17:33:12 +03:00
Tad Hardesty 80570931d1 Fix various macro consistency problems (#37092) 2018-04-11 13:20:57 +03:00
ShizCalev 485efbd338 Fixes mutant bodypart assignments (#36816)
* Fixes mutant bodypart assignments

* comment
2018-03-30 21:42:00 +03:00
iksyp 46b11fbba6 Night vision goggles no longer cancel out thermal eyes (#36609)
cl
fix: night vision goggles no longer overwrite thermal eyes. nvg eyes no longer overwrite thermal goggles.
/cl

fixes #35921
2018-03-28 10:12:02 +13:00
XDTM 7d9152bbb3 Logs abductor chat (#36713) 2018-03-26 03:33:10 -04:00
kevinz000 4a23703622 Combat Overhaul Staging: Limb Specific Stamina and status effect clickdelay modifiers! (#36274) 2018-03-23 12:36:35 +01:00
Ian Turk fbe5f4a062 Replaced body zone magic strings with defines 2018-03-19 15:44:51 -05:00
Qustinnus 4911991f70 [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 19:48:50 +13:00
Armhulen 84d4b3aae6 Mushroom people, revived! (#35858)
* caps fixed, small other fixes and mushpunch

* honey, i fixed the bugs!

* STUPID YORII DUMB GIRL STINK LEAVE

* boolean is such a fun word

* zoinks

* F_XED

* fixes part 2

* TRUEs and FALSEs

* don't drink and code boys unless you're goofball or like maybe kor

* for entirely different reasons i mean

* at what point is goofball too drunk to troll but not drunk enough to shitcode

* cool your jets, travis.

* what a TRAVIS-TY

* mush added to yet another blacklist!
2018-03-07 21:34:56 -06: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
Cruix dedf5f5ed9 Disease antagonist (#35988)
* Virus antagonist initial commit

* Updated disease code

* Sentient virus improvements

* Renamed /mob/living/var/viruses to diseases, and /mob/living/var/resistances to disease_resistances

* Added sentient virus event

* Renamed VIRUS defines to DISEASE defines

* Fixed bugs in rewritten disease code

* Fixed advanced disease Copy()

* Finalized disease antagonist

* Made cooldown buttons stop processing if they are removed from an owner.
Made sentient disease active sneeze and cough not available if the host is unconscious.
Made sentient disease menu refresh when adaptations are ready or hosts are added or removed.
Made sentient disease following use movement signals instead of fastprocess.

* Added better icons to sentient disease abilities
2018-03-05 13:55:10 +01:00
XDTM 3369627000 Adds the Ancient Cloning Lab ruin (#35976)
* code bits

* map bit

* template, some changes

* var cleaning

* Lore friendly desc

* Removes brine, uses traits instead

* fix
2018-03-05 01:09:46 -06:00
XDTM dab977d6fd Blindfolds properly apply blindness (#36101)
* blindfolds properly apply blindness

* covering your eyes now applies blindness
2018-03-03 20:19:51 -06:00
Ashe Higgs ab9e2e8902 Adds minor roundstart traits! (ala CDDA, etc.) (#35440)
* Roundstart traits

* Unspaghettifies night vision

* Fuck everything

* Issues patch
2018-03-02 13:39:44 +13:00
XDTM b49798c483 Converts several species traits into generic traits (#35743)
* Converts several species traits into generic traits

* 2hot
2018-02-26 10:47:58 +13:00
BordListian 038bca6071 Removes liver unfailure and makes alcohol do the killing thing sometimes (#35840)
* - Removes liver unfailure

* - MY LIVER FAILED INSTANTLY

* - Increases liver damage tenfold because whats the point of this pr if you need to drink 100 liters of the toughest booze in the game before you get liver damage

* - Fixes cyber livers not being twice as durable as ordinary livers
- Ok compromise alcohol does twice as much liver damage
- Fixes livers regenerating after they failed

* - I'll be happy if bacchus blessing destroys my liver and absinthe doesn't

* - I think this is the final number I'll punch in. I downed 14 shot glasses of vodka
2018-02-26 09:52:17 +13:00