Commit Graph
61 Commits
Author SHA1 Message Date
JinsheeandGitHub 18b86cb4d7 Muridae Traits Update: Phobia (#5634)
## About The Pull Request

This adds a new phobia that makes the holder afraid of mousetraps, using
the built-in phobia system. Mobs with the Muridae Traits quirk are given
this phobia on add().

## Why It's Good For The Game

It's really funny

## Proof Of Testing
<img width="399" height="153" alt="image"
src="https://github.com/user-attachments/assets/9fd4c2ab-43b2-490b-b056-1609a12ebb2b"
/>
<img width="641" height="42" alt="image"
src="https://github.com/user-attachments/assets/74a575f9-373a-43ec-b589-8c938e8782c2"
/>


## Changelog
🆑
add: Added phobia: Mousetraps
qol: Mousetraps phobia applied to Muridae Traits
/🆑
2026-05-23 05:30:10 +02:00
MrMelbertandGitHub 45b23412f8 [MDB Ignore] Medical larp: Adds the SDSM-35 (an in game brain trauma reference) (#94761)
## About The Pull Request

Medbay, the CMO, the Psychologist, (possibly) the Library, and some
maint rooms across all maps now have multiple copies of the SDSM-35

This exists as an in game ability to reference what brain traumas do. No
special bells or whistles, not even a search bar - it's a book after
all.

<img width="819" height="589" alt="image"
src="https://github.com/user-attachments/assets/ace867b9-a0f0-4302-99f9-46ed4d6fe377"
/>

<img width="802" height="546" alt="image"
src="https://github.com/user-attachments/assets/c96941d3-8da8-48f7-859b-93953fe01473"
/>

## Why It's Good For The Game

De-wikification: Rather than needing to pull up the wiki to figure out
what the brain trauma is doing, you can refer to the in game book and
cross reference the patient's behavior.

Medial larp: It's a reference to the DSM-5. If that wasn't obvious. 

## Changelog

🆑 Melbert
add: You can now find the SDMS-35 in Medbay, the CMO's office, the
Psychologist's office, and possibly the Library. Quite simply, it's a
reference book for all the brain trauma's you may experience.
/🆑
2026-01-08 19:47:04 -07:00
SmArtKarandGitHub e49e13b795 Reworks phobias to use the new fear system instead of handling all the code via traumas (#94455)
## About The Pull Request

Phobias have been refactored to use the new fear system instead of
handling their effects via simple triggers on themselves. The overall
idea is still the same, triggering upon seeing/hearing/saying a scary
word or thing, but instead of instantly sending you into a panic it adds
some fear and has a chance of triggering a new startle fear effect,
which mirrors some of the previous phobia effects that weren't already
included in other handlers.
To complete the phobic trio, I've added monophobia as a quirk - its
quite interesting compared to nycto- and claustrophobia, as it forces
you to stick to other people, thus indirectly incentivizing social
interactions, and could make for actually interesting moments.
Additionally, I've cleaned up some of the related code and added message
CDs to all other handlers that were missing them as to avoid chat spam
which could sometimes occur when the effect triggered far too
frequently.

## Why It's Good For The Game

Using the new system makes phobias much more immersive and interesting
to play around, as they no longer absolutely cripple you to the point of
making the game unplayable in case of some of them due to random stuns
or knockouts. It also makes them natively interact with other phobias
and quirks, which is a neat thing for character building.
Currently getting a phobia basically forces you to go to medbay as to
not risk randomly falling unconscious every once in a while if you roll
a common one (like cyborgs, blood, doctors or authority), and picking
one as a quirk is basically not an option.

## Changelog
🆑
add: Monophobia is now availible as a negative (-3) quirk.
balance: Phobias now have accumulating, and less debilitating effects
due to conversion to the new fear system.
qol: Fear effects now have a cooldown between messages as to avoid chat
spam.
code: Cleaned up some of fear code.
refactor: Refactored phobias to use the fear system
/🆑
2025-12-20 22:57:58 +00:00
SmArtKarandGitHub 107188c51e Terror Unification: Converts all "fear" quirks and traumas (except item phobias) to use a unified handler (#90217)
## About The Pull Request

This PR adds the fearful component which acts as a unified handler for
terror effects. This currently includes nyctophobia and claustrophobia
quirks, terrified status effect from nightmare's spell, and the
monophobia brain trauma. The component processes terror handler datums
which act both as terror sources and effects - jittering, stuttering,
vomiting, panic attacks, etc.
This means that nyctophobia and claustrophobia now act more like
terrified status/monophobia - causing jitters, stuttering, periodic
panic attacks, etc, and their effects stack (i.e. being in a closet in
the dark will increase your fear much quicker).

Closes #37492
Closes #57121
Closes #69684

## Why It's Good For The Game

Terrified status is very immersive and its effects perfectly fit
nycto/claustrophobia quirks, enough to be impactful to owner's gameplay,
but not roleplaying for them, which is what we want quirks to be. It
also makes them share their stress, which is how you'd expect them to
act. (I would also love to see monophobia moved from a brain trauma to a
quirk, as it perfectly fits latter instead of former, and acts as a
great incentive to interact with other people instead of doing autism
projects by yourself.)
I haven't moved phobias to this system yet, but it could be done in the
future without too many issues - should make phobias less painful to
deal with, and maybe make people actually interested in playing around
them instead of rushing a lobotomy because of how debilitating they are
(currently only interaction is getting hugged by someone you're afraid
of, which will increase your terror)

## Changelog
🆑
add: Nyctophobia and Claustrophobia quirks now have proper terror
effects instead of making you walk/suffocate. Immersion!
refactor: All sources of "terror"/"fear" now use a common component,
meaning they share their counters.
/🆑
2025-03-27 21:01:23 +01:00
bc19447758 Fix blades equipped to a void cloak having visible sprites (#89343)
## About The Pull Request

Fixes https://github.com/tgstation/tgstation/issues/87345

This adds a new item trait, `TRAIT_NO_WORN_ICON`, which is exactly what
it says on the tin - the worn overlay for said item will not be added
when the trait is present, so we give it to items hidden by the hood.

I also refactored the `EXAMINE_SKIP` item flag into
`TRAIT_EXAMINE_SKIP`.

![2025-02-03 (1738625986) ~
dreamseeker](https://github.com/user-attachments/assets/5e6fec83-580b-419c-a2c6-9dd388471fec)

## Why It's Good For The Game

stealth thing having an obvious sprite tell is bad. bugfix good.

## Changelog
🆑
fix: Void Cloaks now properly hide blades and such in the suit storage
from the wearer's sprite.
/🆑

---------

Co-authored-by: MrMelbert <51863163+MrMelbert@users.noreply.github.com>
2025-02-05 18:51:43 +01:00
JacquerelandGitHub 5d13bd894e Phobia rework (#89098)
## About The Pull Request

Like #88945 but I am meaner than Goofball.
This PR adjusts Phobias to be a little bit less restricting, rather than
being basically the worst thing in the game.

The way phobias work now is:

***Hearing*** something related to your phobia will make you scream and
give you a minor, minute-long mood penalty, once every 12 seconds.
***Saying*** something related to your phobia has a high chance to make
you either stutter or speak quietly, or both at once.
***Seeing*** something related to your phobia applies a moderate,
four-minute long mood penalty and then gives you stacks of a debuff,
once every 12 seconds, up to 6 stacks.

Each stack of the phobia debuff makes any effects applied by being
scared last longer. Then it applies one of four random effects.

- You scream, which does nothing else... unless you have at least 5
stacks in which case you will also drop whatever you were holding in
your active hand.
- You jump, which immobilises you for a very short period of time
(basically just interrupting your movement).
- You lose your balance, making you briefly move slower and become
staggered (which makes it easier to push you around).
- You feel faint, which makes you dizzy (move occasionally in unwanted
directions) and briefly blurs your vision.

These stacks decay every 30 seconds as long as you're not actively being
scared.
If you have _multiple_ phobias then your general level of fear is
applied globally between them, so even if you just escaped from some
clowns you might still be worked up when you see a spider.

Phobias mostly don't make you jitter any more largely because to be
honest it just looks sort of shit and generally makes your sprite and
animations seem like they are broken not like you are shivering in
fright. It still happens if you hear something scary.

_Also_ I changed carp phobia to a general "fish" phobia, because we have
so much fish-related content now to take advantage of.
_Also_ I fully deleted the Heretic phobia because it's not applied by
Heretics any more and without that context it is also needlessly
specific, with heavy overlap with the Supernatural phobia.
_Also_ I fucked around with the phobia speech dictionaries a little bit
to remove some words I don't think are that funny or appropriate and
also add some more. Your mileage may vary.
_Also_ I made sure people who are scared of aliens are scared of basic
mob xenomorphs, people who are scared of birds are scared of raptors,
and people who are scared of bugs are scared of butterflies
and........... mothroaches.

## Why It's Good For The Game

Phobias are internally classed as a "mild" brain traums, which makes
them relatively easy to acquire and are applied by effects that are
supposed to be bad but not completely debilitating.
Examples of other mild traumas are:
- Stuttering
- Speech impediments
- Your health preview doesn't update
- You occasionally move in a random direction
- Colour blindness
- You don't like dropping objects

Phobias on the other hand are generally considered by most players who
have had one to be _significantly_ disabling. The penalties they apply
tend to be significantly worse to play with than the things listed
above, and can make playing around with a roleplay quirk excessively
miserable.

Unlike Goofball I don't want to make these totally toothless, but I do
want them to be more _mlld_ than they were before.

## Changelog

🆑
balance: Phobias are now somewhat less debilitating, although their
effects get worse the longer you are near a fear trigger.
balance: Carphobes are now afraid of all fish.
del: Remove the Heretic phobia, as it is now basically unused.
/🆑
2025-01-24 07:36:27 +11:00
AfevisandGitHub d5990c31d2 Implements some unused mood events into their relevant phobias. (#83796)
Implements some unused mood events found in #83741

🆑 ShizCalev
fix: Seeing heretical stuff while having the heresy phobia will now
apply the heresy mood event.
fix: Seeing skeletons while having the skeleton phobia will now apply
the spooked (by skeletons) mood event.
/🆑
2024-06-08 19:19:03 -04:00
9723b4b317 Replaces even more deciseconds with SECONDS (#82438)
## About The Pull Request
Using these search regexes:

Ending in 0:
`addtimer\((.*),\s?(\d{1,3})0\b\)`
replacement:
`addtimer($1, $2 SECONDS)`

Two digit ending in odd:
`addtimer\((.*), (\d)([1-9])\)$`
replacement:
`addtimer($1, $2.$3 SECONDS)`

Single digit ending odd:
`addtimer\((.*), ([1-9])\)$`
replacement:
`addtimer($1, 0.$2 SECONDS)`

## Why It's Good For The Game
Code readability

---------

Co-authored-by: MrMelbert <51863163+MrMelbert@users.noreply.github.com>
2024-04-06 15:18:49 -06:00
MGOOOOOOandGitHub c00f7d53a3 The Inversenning : Superior Healing Medications (#79342)
Introducing new inverse reagents for existing superior healing
medications! This push includes...

**Benzoic Acid** : Inverse of Salicylic Acid. Robust fertilizer that
provides a decent range of benefits for plant life.

**Oxymetholone** : Inverse of Oxandrolone. Anabolic steroid that
promotes the growth of muscle during and after exercise.

**Bamethan** : Inverse of Salbutamol. Blood thinner that drastically
increases the chance of receiving bleeding wounds.

**Pendetide** : Inverse of Pentetic Acid. An unusual bioradioactive drug
that purges basic radiation healing chems. Also increases the severity
of radiation poisoning.

**Hyoscyamine** : Inverse of Atropine. Heals heart and stomach damage,
and slowly removes minor toxin damage.

**Ammoniated Sludge** : Inverse of Ammoniated Mercury. A ghastly looking
mess of mercury by-product which causes bursts of manic hysteria.

**Inreziniver** : Inverse of Rezadone. Makes the user horribly afraid of
all things related to carps.

This is an effort to add more variety to the existing inverse reagent
system within chemistry. Not only should this variety serve to provide
additional options for a Chemist to experiment with, they should also
broaden the possibilities for already existing strategies.
2023-11-28 14:53:09 +00:00
e02595078c Adds a Heresy phobia, fixes some typos in heretic code, places the stargazer and fire shark under heretic_summon (#77306)
## About The Pull Request

Instead of a supernatural phobia, sacrificed people will now get a
HERESY phobia, which specifically targets heretic stuff, instead of all
of magic. Other heretics, however, do not get this, but instead get
knowledge points sapped from them, as their mind is ruined in a
different way than normal people. This comes with different flavour text
and a harsher but shorter lasting mood debuff. Also fixes some
"knowlege" code typos and places the star gazer and fire shark all in
under heretic_summon
## Why It's Good For The Game

Heretics, Wizards, Chaplains and Cultists will now be able to keep
playing the game after getting sacrificed without overdosing on
psicodine, while still retaining the phobia's original design purpose.
placing the fire shark and star gazer under the same type also is useful
as they share a lot of values. typos bad.
## Changelog
🆑
add: Sacrificed heretic targets will now receive a phobia of heresy
instead of a phobia of the supernatural. Sacrificed heretics will not
get this phobia, but will lose knowledge points instead.
/🆑
Huge thanks to Helg2 for doing the original PR and helping me with this
one, couldn't be done without them

---------

Co-authored-by: Zephyr <12817816+ZephyrTFA@users.noreply.github.com>
Co-authored-by: Helg2 <93882977+Helg2@users.noreply.github.com>
2023-08-21 02:11:36 +02:00
BloopandGitHub 16ee828253 Fixes a type mismatch error with phobias (#77120)
## About The Pull Request

Closes https://github.com/tgstation/tgstation/issues/77113
Closes https://github.com/Skyrat-SS13/Skyrat-tg/issues/22686

Fixes the recently introduced type mismatch seen above.

span_phobia() needs a string arg not a datum. This is why you test your
code folks.

## Why It's Good For The Game

<details><summary>Works</summary>


![dreamseeker_kV93wU6eT8](https://github.com/tgstation/tgstation/assets/13398309/570704ca-66e3-4612-9855-791a1e27bc77)

</details>

## Changelog

🆑
fix: fixes a type mismatch error with some of the phobia chat messages
/🆑
2023-07-27 13:03:58 -06:00
distributivgesetzandGitHub 9bd54af761 Phobia warnings have the same glowy text now as they would in say messages (#77066)
## About The Pull Request

Title.
## Why It's Good For The Game

Fixes #48028
## Changelog
🆑
spellcheck: Phobia warnings have the same glowy text now as they would
in messages.
/🆑
2023-07-25 11:06:42 -07:00
Thunder12345andGitHub 27005bbfa2 Alphabetises Phobias (#75150)
## About The Pull Request

Alphabetises some lists, json, and type paths related to phobias

## Why It's Good For The Game

It's neat and tidy

## Changelog
Not player facing
2023-05-04 10:33:57 -07:00
orangesandGitHub 4c48966ff8 Renames delta time to be a more obvious name (#74654)
This tracks the seconds per tick of a subsystem, however note that it is
not completely accurate, as subsystems can be delayed, however it's
useful to have this number as a multiplier or ratio, so that if in
future someone changes the subsystem wait time code correctly adjusts
how fast it applies effects

regexes used

git grep --files-with-matches --name-only 'DT_PROB' | xargs -l sed -i
's/DT_PROB/SPT_PROB/g'
git grep --files-with-matches --name-only 'delta_time' | xargs -l sed -i
's/delta_time/seconds_per_tick/g'
2023-04-11 21:31:07 -07:00
JacquerelandGitHub 7db43373d9 You will only be scared by phobia items equipped to players if the slot is visible on examine (#74273)
## About The Pull Request

This PR adds a new helper proc which returns a list of all items
_visible_ on a human and then applies it to phobias in place of "all
items equipped on any slot of a human".
This excludes pockets at all times, and other slots if you are wearing
items which cover them up.

If you have a clown phobia and the CE is storing a bananapeel in their
pocket and is wearing a clown suit under their deployed MODsuit then you
will not be afraid of them as there is no reason you would be aware of
these facts.
As soon as they remove the banana peel from their pocket to their hands,
or undeploy their suit to reveal their secret baggy pants, the terror
will strike.

## Why It's Good For The Game

Phobias are annoying and debilitating by design, but they should at
least only be triggered by objects which have a visible and identifiable
source.

## Changelog

🆑
fix: Players with phobias will no longer be frightened by items equipped
to players in slots which are not considered to be visible.
fix: Players with a phobia of the supernatural won't be spooked by void
cloaks which are currently invisible.
/🆑
2023-03-27 13:07:22 -06:00
fedf2f3a26 more span macro changes in brain traumas and disease files (#73273)
## About The Pull Request

i was fucking around with brain traumas on a downstream and noticed they
had similar issues to quirks so i decided to continue work from #73116


![Code_Klx14O288V](https://user-images.githubusercontent.com/116288367/217046732-765ffe27-73c9-416a-833e-e0d9e2aa7a86.png)
(search in VSC for span class = 'notice')
its going to be a bit of a thing to get all of these but this is a
decent chunk i think

there was only one annoying/tough file.
imaginary_friend.dm had class = 'game say' and class = 'emote' both of
which after some testing did not seem like they did anything. ill try to
keep that in mind in other files if i continue to do this but i either
omitted them because they didnt have any formatting or, in the case of
emote, turned it into name, which i think is what you'd want those
messages to look like.

there were also a few small spelling errors that i fixed

## Why It's Good For The Game

more consistent and stops people from copying brain trauma formatting
wrong

## Changelog

they should all work the same

---------

Co-authored-by: san7890 <the@san7890.com>
2023-02-07 23:37:18 +00:00
MrMelbertandGitHub c3a1f21c1a Converts blindness and nearsightedness to status effects, scratches some VERY dumb blindness handling that resulted in mobs becoming "incurably" blind (#72267)
## About The Pull Request

- Nearsighted is now a grouped status effect.
- Blindness is now a grouped status effect.
   - Eye handling of blindness has improved. 
- When eyes are removed, they now cause you to become blind, rather than
handling it in `update_tint`.
- Being ahealed no longer blinds you for one tick, meaning that black
overlay on aheal is gone.
- Temporary Blindness is now a status effect.
- Both Nearsightedness and Blindness have been exorcised from mob vars
and life chains. This means that we've finally cut 2 procs from life,
`handle_status_effect` and `handle_traits`, and moved both to event
based processing. Wooo optimizations.
- Swapped pacifism status effect to use apply and set helpers. 
- Removed an unused admin toggle that disabled welding helmet tint but
also tint from every clothing item and also blindness from losing your
eyes.
- Clothes now generally all blind their mob more consistently.
- Oculine, eye surgery, and sensory restoration are now no longer the
only way to fix blindness from eye damage. If your eyes are healed
through any other means, it will also heal your blindness.
- Some things that made you blind, such as ling blind sting, no longer
just flat made you blind from eye damage forever. They now cause eye
damage directly, which in turn makes you blind from eye damage, as
expected.
- Pacifists can't eyestab anymore. Eyestabs now have a limit on the
amount of blur applied.
- Refactored some `is_x_covered` procs to accept flags rather than have
a lot of arguments for some silly reason.
- Unit tests for blindness. 

## Why It's Good For The Game

Blindness was exceptionally poorly handled prior, primarily due to the
fact that it was tied to the mob instead of separated out

On top of that the system put a LOT of faith in proper handling of
blindness on the coder's end which was misplaced evidently. Many places
didn't update or handle blindness correctly, or just let people
perma-blind.

Deferring it to a status effect improves this a lot

## Changelog

🆑 Melbert
refactor: Refactored blindness and nearsightedness. Important to note is
that all mobs are naturally blind until their eyes are actually created.
refactor: Refactored "is covered" procs
fix: Less sources of blindness now cause permanent blindness. Includes
the "Blind" Spell and "Blind Sting" from changelings.
admin: Ahealing someone no longer flashes the blind overlay for 1 tick.
admin: I removed an unused (sort of) inaccessible admin verb that
allowed you to toggle the tint from all welding helmets (and clothing)
(and lack of eyes) in existence, let me know if you want similar back
balance: Changeling "Blind Sting" now causes eye damage (enough to
blind) rather than arbitrarily forcing blindness.
balance: Visionloss virus symptom now causes eye damage (enough to
blind) rather than arbitrarily forcing blindness.
balance: Oculine has been reworked slightly. Prior, Oculine arbitrarily
healed blindness and nearsightedness from eye damage reagrdless of how
damaged the eyes were, and applied blur on success. Now, Oculine just
heals eye damage, and blindness / nearsightedness is restored in the
process. There is now a probability every tick that eye blur is applied
based on how pure the oculine is while healing very damaged eyes.
balance: Pacifists can no longer eyestab.
balance: Any clothing item that covers your eyes contributes to getting
the bonus while sleeping, and to removing temporary blindness faster
/🆑
2023-01-15 23:01:40 -08:00
ShizCalevandGitHub df10ad3afd Fixes phobias not pointing properly (#72424)
verb queue memes. need to call the proc directly.

![image](https://user-images.githubusercontent.com/6209658/210277732-240c3d09-a4f6-49fb-8e88-986bec12aec0.png)

🆑 ShizCalev
fix: You'll now point when freaked out about something.
/🆑
2023-01-03 20:02:49 +01:00
48e36ef2c7 Saycode refactor, unit tests, and fixes (#69799)
<!-- Write **BELOW** The Headers and **ABOVE** The comments else it may
not be viewable. -->
<!-- You can view Contributing.MD for a detailed description of the pull
request process. -->

## About The Pull Request

<!-- Describe The Pull Request. Please be sure every change is
documented or this can delay review and even discourage maintainers from
merging your PR! -->

Fixes #69798
Fixes #71621

When using hypnosis on a victim, the language should be accounted for
and whether the victim can properly hear it. Before the hearing code
would magically translate any message, this is no longer the case.

This also fixes the language barrier involving hearing for:
- Mind echo trauma
- Phobia trauma
- Hypnotic trigger trauma
- Split Personality brainwashing trauma
- Codeword hearing
- Hypnotize status effect
- Impure Inacusiate reagent

## Why It's Good For The Game

<!-- Argue for the merits of your changes and how they benefit the game,
especially if they are controversial and/or far reaching. If you can't
actually explain WHY what you are doing will improve the game, then it
probably isn't good for the game in the first place. -->

Better consistency, improved readability, and less bugs in the future.

## Changelog

<!-- If your PR modifies aspects of the game that can be concretely
observed by players or admins you should add a changelog. If your change
does NOT meet this description, remove this section. Be sure to properly
mark your PRs to prevent unnecessary GBP loss. You can read up on GBP
and it's effects on PRs in the tgstation guides for contributors. Please
note that maintainers freely reserve the right to remove and add tags
should they deem it appropriate. You can attempt to finagle the system
all you want, but it's best to shoot for clear communication right off
the bat. -->

🆑
fix: Fix hypnosis, mind echo trauma, phobia trauma, hypnotic trigger
trauma, split personality brainwashing trauma, codeword hearing, and
impure inacusiate reagent all bypassing language and hearing checks. If
you try to give commands to a victim in a language they don't
understand, they will no longer magically understand the words.
fix: Fix sign language having accent modifications
refactor: Refactored saycode to be more robust, readable, and have more
unit tests.
/🆑

<!-- Both 🆑's are required for the changelog to work! You can put
your name to the right of the first 🆑 if you want to overwrite your
GitHub username as author ingame. -->
<!-- You can use multiple of the same prefix (they're only used for the
icon ingame) and delete the unneeded ones. Despite some of the tags,
changelogs should generally represent how a player might be affected by
the changes rather than a summary of the PR's contents. -->

Co-authored-by: Mothblocks <35135081+Mothblocks@users.noreply.github.com>
2022-12-09 20:28:17 +01:00
4d6a8bc537 515 Compatibility (#71161)
Makes the code compatible with 515.1594+

Few simple changes and one very painful one.
Let's start with the easy:
* puts call behind `LIBCALL` define, so call_ext is properly used in 515
* Adds `NAMEOF_STATIC(_,X)` macro for nameof in static definitions since
src is now invalid there.
* Fixes tgui and devserver. From 515 onward the tmp3333{procid} cache
directory is not appened to base path in browser controls so we don't
check for it in base js and put the dev server dummy window file in
actual directory not the byond root.
* Renames the few things that had /final/ in typepath to ultimate since
final is a new keyword

And the very painful change:
`.proc/whatever` format is no longer valid, so we're replacing it with
new nameof() function. All this wrapped in three new macros.
`PROC_REF(X)`,`TYPE_PROC_REF(TYPE,X)`,`GLOBAL_PROC_REF(X)`. Global is
not actually necessary but if we get nameof that does not allow globals
it would be nice validation.
This is pretty unwieldy but there's no real alternative.
If you notice anything weird in the commits let me know because majority
was done with regex replace.

@tgstation/commit-access Since the .proc/stuff is pretty big change.

Co-authored-by: san7890 <the@san7890.com>
Co-authored-by: Mothblocks <35135081+Mothblocks@users.noreply.github.com>
2022-11-15 03:50:11 +00:00
MrMelbertandGitHub 45516f4741 Adds macros to help with common set_- and adjust_timed_status_effect uses (#69951)
* Adds helpers for status effect application
2022-09-24 11:04:26 -04:00
ArturlangandGitHub 2be5bc531d Removes-blind_eyes (#69652)
* Removes blind_eyes, replaces it with adjust_blindness.
2022-09-04 16:05:10 -04:00
Seth SchererandGitHub a3add37618 Refactors the forensics component into a datum (#66809)
About The Pull Request

This was doing things component really shouldn't be doing, and now all
of its behaviour is contained onto a datum, as it should've been the
whole time
Why It's Good For The CODEBASE

some things just really shouldn't be components, this was made back when DCS was first implemented and just thrown in because it was the new hot thing i guess, but datumized forensics makes far more sense, AND doesn't use GetComponent

TODO:

    More thorough testing to make sure nothing broke

Changelog

🆑
refactor: Turned the forensics component into a datum.
/🆑
2022-05-16 16:33:59 +12:00
MrMelbertandGitHub 29bfa42779 Converts jittering to status effect, striking yet another mob level status value (#66852)
Converts jittering to status effect, striking yet another mob level status value
2022-05-11 00:56:29 -04:00
MrMelbertandGitHub e63d556d83 Confusion status effect is now duration based instead of magic number based (#66801)
Refactors the confusion status effect. Removes "confusion strength" and replaces it with duration, which is measured in seconds.
This also allows them to use the adjust_timed_status_effect procs instead of their own.

Fun fact! 2 years ago when confusion was refactored into status effects, all confusion effects in the game were halved in duration. They were changed to status effects, which tick every 1 second by default, from life, which tick every 2 seconds by default, without any values changing.
2022-05-09 18:59:33 -07:00
MrMelbertandGitHub 074da65fc7 Converts drunkness and dizziness to status effects. Refactors status effect examine text (and, subsequently, stabilized black extracts). (#66340)
* Refactors dizziness into a status effect

* Refactors the dizziness setter to use the new kind

* Drunkness.
- Should drunk continue to work off of a magic value or be swapped to duration? I've not yet decided: For understandability it's preferabale for "drunk" to use a timer (they are drunk for 3 more minutes), but both adding drunk and decreasing drunk currently use weird calculations which would be difficult to carry over.
- Ballmer is a liver trait

* Dizzy was a setter, not an adjuster

* Does all the drunk effects over
- refactors examine text fully
- refactors stabilized blacks because of this

* Removed

* repaths, fixes some issues

* Minor fixes

* Some erroneous changes

* Fixes some dizziness errors

* Consistency thing

* Warning

* Undoes this change, I dont like its implementation

* max_duration

* Max amount

* Should be a negative

* max duration

* drunk doesn't tick on death

* Rework dizziness strength

* Erroneous dizzy change

* Fixes return type
2022-05-04 23:33:59 -04:00
MrMelbertandGitHub ab51d5a00c Refactors speech impeding effects (drunken slurring / suttering) into status effects. Adds heretic slurring in addition to the existing cult slurring. Removes 4 vars from /living in return, which slightly optimizes Life() (wink) (#66031)
* Refactor slurring + cultslur to be a status effect

* Refactors stutter to be a status effect

* Adds a VV helper and a setter
- also adds heretic slurring text

* Adjustments to the heretic slurring

* classified VV key correctly

* "Normal" -> "Drunk" slurring

* social anxiety fix

* Adjusments and an accidentally reverted fix

* comment

* Fixes drunk file + two other minor issues

* merge skew time

* comments

* Generalizes this proc for the future.

* Missed stuff

* Numbers adjusted the wrong direction

* missed a single one

* incorrect numbers

* changes add/remove to "adjust"
2022-04-14 21:36:52 -04:00
Kapu1178andGitHub 1d0eadcb12 Kapulimbs (#65523)
* i wanna go to bed so im pushing this

* It compiles but doesn't work yet

* It works!

* I WANT TO DIE

* Appease linters

* some CI fixes

* Address reviews + oversight

* Limb grower fix

* more icon fixes

* forgot to hit save

* I'm a dumbass

* Removes bodypart parent from unit test

* Fixes monkeys and CI

* Grammar pass

* I hate zombie code so much

* General code cleanup

* THE SHITCODERS ARE COMING FOR MY VARS

* THE UNIT TESTS ARE COMING FOR MY SHITCODE

* Reviews + skirts

* Removes an unused DMI

* Why didn't I do this in the first place?

* HAIR REFACTOR

* Haha whoops

* How did I miss this

* Admin spawned creatures now have their features

* Optimize me harder

* minor fix i need to push to merge master

* Fixes hair (maybe) and a runtime

* Maybe fixes mirrors

* Attempts to fix women

* Fixes hair on dismembered heads and a grammar change

* Caps lock did me dirty

* address reviews

* icon failures fix + missed reviews

* Fixes: Facehuggers and Regenerate_limb

* Fixes ethereal color pref appearance

* How the fuck did this not break everything else horribly?

* JESUS FUCKING CHRIST IM A MORON

* Fixes compile

* I'm not high I swear

* Im a dipshiiiit

* grumble grumble

* Fixes a visual bug with digitigrade legs. Adds \improper to roundstart species names. Added two new clothing-related helper procs. Renamed a couple procs to be more accurate. Adds SHOULD_CALL_PARENT(TRUE) to examine_more. Addresses reviews.

* Forgot this little readability thing.

* Updates CODEOWNERS

* Me when I forget how github works

* mapload me harder

* Last second fixes
2022-04-01 21:07:46 -04:00
TimandGitHub 059bd599eb Phobia DLC - Blood and Claustrophobia (#63741)
* Add Phobia of Blood Trauma

* Add Claustrophia quirk
2022-01-07 00:12:36 -06:00
MothblocksandGitHub 5a4c87a9fc tgui Preferences Menu + total rewrite of the preferences backend (#61313)
About The Pull Request

Rewrites the entire preferences menu in tgui. Rewrites the entire backend to be built upon datumized preferences, rather than constant additions to the preferences base datum.

Splits game preferences into its own window.

Antagonists are now split into their individual rulesets. You can now be a roundstart heretic without signing up for latejoin heretic, as an example.

This iteration matches parity, and provides very little new functionality, but adding anything new will be much easier.

Fixes #60823
Fixes #28907
Fixes #44887
Fixes #59912
Fixes #58458
Fixes #59181
Major TODOs

Quirk icons, from @Fikou (with some slight adjustments from me)
Lore text, from @EOBGames (4/6, need moths and then ethereal lore from @AMonkeyThatCodes)
Heavy documentation on how one would add new preferences, species, jobs, etc

    A lot of specialized testing so that people's real data don't get corrupted

Changelog

cl Mothblocks, Floyd on lots of the design
refactor: The preferences menu has been completely rewritten in tgui.
refactor: The "Stop Sounds" verb has been moved to OOC.
/cl
2021-09-15 10:11:11 +12:00
Watermelon914andGitHub 375a20e49b Refactors most spans into span procs (#59645)
Converts most spans into span procs. Mostly used regex for this and sorted out any compile time errors afterwards so there could be some bugs.
Was initially going to do defines, but ninja said to make it into a proc, and if there's any overhead, they can easily be changed to defines.

Makes it easier to control the formatting and prevents typos when creating spans as it'll runtime if you misspell instead of silently failing.
Reduces the code you need to write when writing spans, as you don't need to close the span as that's automatically handled by the proc.

(Note from Lemon: This should be converted to defines once we update the minimum version to 514. Didn't do it now because byond pain and such)
2021-06-14 13:03:53 -07:00
ArcaneDefenceandGitHub c9ac74c2dc Adds a phobia of guns (#58308) 2021-04-12 06:51:02 -07:00
2404a29fd3 Adds an Ocky icky phobia (#57450)
Co-authored-by: Emmanuel S. <emmanuelssr@gmail.com>
Co-authored-by: interestingusernam3 <51925758+interestingusernam3@users.noreply.github.com>
2021-03-07 22:26:01 -08:00
TemporalOroborosandGitHub e2e7ccdbdc /mob/living/proc/Life(delta_time) (#55534)
- Makes `/mob/living/proc/Life` and most related procs use `delta_time`
- Procs that had snowflaked timing systems, such as breathing, addiction, and advanced diseases were left unchanged.
2021-02-19 10:24:20 -05:00
dragomagolandGitHub 5083cb6fcf prevent phobias being triggered by words you don't understand (#55580) 2020-12-17 20:12:34 -08:00
Jared-FogleandGitHub 7df16c595e Confusion will no longer continue to confuse after being cured (#52286)
* Confusion will no longer continue to confuse after being cured

* Grammar comment fix

* Move to status effect

* Remove test per request

* Make confusion a status effect, confusion curing now completely neuters the confusion

* set_confusion changes, get_confusion

* Fix confusion going down twice per tick

* Change strength = to proc

* Move procs to status_procs
2020-08-05 16:36:00 -03:00
RaveRadburyandGitHub 11fda03cc4 Insect phobia (#52261)
* Add insect phobia

applies to moths, flies, and cockroaches

* Adds bee content
2020-07-20 18:27:55 -03:00
William WallaceandGitHub ecdf74a329 phobias use less regular expressions and don't instantiate them all the time (#50631)
* individual phobia types now use a single regex that is cached

* move suffix out of phobia class
2020-04-26 19:54:21 +08:00
RaveRadburyandGitHub 30444ee210 Fixes phobia issue, tweaks some phobia triggers (#50630)
Fixes phobia issue, tweaks some phobia triggers
2020-04-25 16:56:07 -07:00
ShizCalev df81c5be4a Fixes blindfolds not properly counting as being blind 2020-02-24 01:10:34 -05:00
skoglolandGitHub a28b24f149 Completely removes cloning (#48668)
* Removed from code

* Removes cloners from maps

* Some more references, now compiles.

* Reduces availability of replica pods

* DNA scanner and tech disk rebranding

* pubby door name, cargo pack description
2020-02-04 16:04:06 -05:00
Ghommie ba9122d606 Fixes traitor codewords highlight and some other hear signal hooks. 2020-01-06 17:06:59 +01:00
nemvarandAnturK 77ead28940 Fixes autophobia. (the fear of oneself) (#44392)
* autophobia

* Much better.
2019-06-11 13:50:31 +02:00
vuonojenmustaturskaandoranges 0254559eca Replaces hear_intercept with signals, refactors MOVABLE_HEAR, touches up nanites and to_chat (#44391)
hear_intercept is removed in favor of having the things that care register for the COMSIG_MOVABLE_HEAR signal instead.

The signal has been changed to be like the speech one with an args list.

Nanite datums no longer register for the hearing signal just in case, only the voice sensor nanite program does.

Dead code has been removed from to_chat, the savefile/sound checks being just-in-case boilerplate checks made during the conversion to to_chat, the replacetexts sidestepping a byond bug that was fixed in 512.1420.
2019-06-10 10:43:12 +12:00
vuonojenmustaturskaandoranges 2d74a86353 [READY] Cleans up saycode by removing random hook stubs and using a signal where relevant (#44320)
About The Pull Request

This PR removes speech message and span hooks from dna, mutations, pierrot throat disease, species, tongues, masks, hats, held items, brain traumas and a carbon proc overload handling tonguelessness.

Tonguelessness is now handled by tongue removal registering for the speech signal and the hook being deregistered by having a tongue put in.

Also cleans up some /atom/movable/proc/get_spans() overloads that called the empty parent or overloaded the parent to do the exact same thing as the parent proc did.

Also cleans up calls to radio.talk_into() where the caller would often, as a result of copypasta, provide the proc with fresh copies of the proc's default values for proc args, and makes say_quote() better by giving it a default spans value so that none of the callers have to provide the same default one.
Why It's Good For The Game
Changelog

cl Naksu
code: Cleaned up saycode
/cl

* start with this

* oh man this looks so good

* hats are dead

* /obj/item/proc/speechModification is dead

* brain traumas and get_held_item_speechspans() are dead

* these should be static

* unfortunately we still need this

* /mob/living/carbon/treat_message(message) is kill

* clean up get_spans()

* dunk get_spans, modifies_speech for brain traumas, some superfluous static stuff

* move stuff around

* return values
2019-06-06 18:35:06 +12:00
vuonojenmustaturskaandEmmett Gaines fb45b7a017 Turns trait accessors into defines, fixes some bugs (#43820)
It's free performance.
2019-05-06 19:44:05 -04:00
coiaxandmoo e65e50e8d9 Traumas are copied when a person is cloned (#41852)
* Traumas are copied when a person is cloned

🆑 coiax
add: When a person is cloned, any mental traumas are cloned as well.
/🆑

If the cloner is going to recreate your delicate personality, it's going
to have to recreate anything wrong with your brain as well. After all,
where does one greytider's legitimate fear of security end, and another
one's irrational fear begin?

Essentially, traumas could be easily gotten rid of by cloning, or death
would rob a person of a rare positive trauma. Now you're stuck with them
until you get rid of them.

* Suggested changes
2019-01-30 11:36:20 -05:00
coiaxandJordie 9f3e9a6960 Trauma bug fixes, stalking phantom balance (#42020)
* Traumas are copied when a person is cloned

🆑 coiax
add: When a person is cloned, any mental traumas are cloned as well.
/🆑

If the cloner is going to recreate your delicate personality, it's going
to have to recreate anything wrong with your brain as well. After all,
where does one greytider's legitimate fear of security end, and another
one's irrational fear begin?

Essentially, traumas could be easily gotten rid of by cloning, or death
would rob a person of a rare positive trauma. Now you're stuck with them
until you get rid of them.

* Suggested changes

* Removes cloning traumas

* No more cloning traumas
2018-12-23 16:52:47 +11:00
Mickyanandoranges 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
XDTMandAnturK 89fe484b6d Phobia trigger words are highlighted in pulsing red/black (#40885)
* Phobia trigger words are highlighted in pulsing red/black

* .

* !

* >:(

* fixes

* fixes 2
2018-10-23 14:49:05 +02:00