* Fix incorrectly passed biotype args in take_overall_damage (#73203)
## About The Pull Request
The linters in #73202 revealed to me that `heal_overall_damage` was
overridden wrong in `carbon` and left out an argument, meaning that
plausibly some places that didn't provide an argument for `stamina`
probably had an off-by-one error with args and wouldn't apply them
properly.
I fixed that in that PR because it was using it. Then I noticed that the
same problem exists in `take_overall_damage` so I am fixing that too.
I don't know if this was linked to any actual bugs, but it might cause
some. They'd be hard to spot because it'd be for stuff like "a
shadowperson with a prosthetic takes damage to their prosthetic if not
in darkness" and probably nobody would even get into that situation let
alone notice to report it.
## Why It's Good For The Game
We want arguments to do what they are supposed to do.
## Changelog
🆑
fix: Biotypes will be more consistently applied when taking damage, pod
and shadowperson prosthetic limbs won't be corroded due to light levels.
fix: Podperson and Wooden Golem prosthetic limbs won't be corroded by
having a hungry tummy.
/🆑
* Fix incorrectly passed biotype args in take_overall_damage
---------
Co-authored-by: Jacquerel <hnevard@gmail.com>
* 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

(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>
* more span macro changes in brain traumas and disease files
---------
Co-authored-by: Sol N <116288367+flowercuco@users.noreply.github.com>
Co-authored-by: san7890 <the@ san7890.com>
* Converts blindness and nearsightedness to status effects, scratches some VERY dumb blindness handling that resulted in mobs becoming "incurably" blind
* Fixes the conflicts and makes shit compile!
* Fixes other things that didn't show up because I hadn't updated
* Fixes the lints.
* Okay NOW it's ready (please don't add anything else that touches blindness I beg you)
---------
Co-authored-by: MrMelbert <51863163+MrMelbert@users.noreply.github.com>
Co-authored-by: GoldenAlpharex <jerego1234@hotmail.com>
* Converts drowsy and eye blur to status effects, striking yet another two carbon level status vars
* merge conflicts
* adjust_eye_blur and set_eye_blur_if_lower
* adjust drowsiness overdoses
Co-authored-by: MrMelbert <51863163+MrMelbert@users.noreply.github.com>
Co-authored-by: tastyfish <crazychris32@gmail.com>
* Changes our map_format to SIDE_MAP (#70162)
## About The Pull Request
This does nothing currently, but will allow me to test for layering
issues on LIVE, rather then in just wallening.
Oh also I'm packaging in a fix to one of my macros that I wrote wrong,
as a joke
[removes SEE_BLACKNESS usage, because we actually cannot use it
effectively](c9a19dd7cc)
[c9a19dd](c9a19dd7cc)
Sidemap removes the ability to control it on a plane, so it basically
just means there's an uncontrollable black slate even if you have other
toggles set.
This just like, removes that, since it's silly
[fixes weird layering on solars and ai portraits. Pixel y was casuing
things to render below who
shouldn't](3885b9d9ed)
[3885b9d](3885b9d9ed)
[Fixes flicker
issues](2defc0ad20)
[2defc0a](2defc0ad20)
Offsetting the vis_contents'd objects down physically, and then up
visually resolves the confliciting that was going on between the text
and its display.
This resolves the existing reported flickering issues
[fixes plated food not appearing in
world](28a34c64f8)
[28a34c6](28a34c64f8)
pixel_y'd vis_contents strikes again. It's a tad hacky but we'll just
use pixel_z for this
[Adds wall and upper wall plane
masters](89fe2b4eb4)
[89fe2b4](89fe2b4eb4)
We use these + the floor and space planes to build a mask of all the
visible turfs.
Then we take that, stick it in a plane master, and mask the emissive
plane with it.
This solves the lighting fulldark screen object getting cut by emissives
Shifts some planes around to match this new layering. Also ensures we
only shift fullscreen objects if they don't object to it.
[compresses plane master
controllers](bd64cc196a)
[bd64cc1](bd64cc196a)
we don't use them for much rn, but we might in future so I'm keeping it
as a convienince thing
🆑
refactor: The logic of how we well, render things has changed. Make an
issue report if anything looks funky, particularly layers. PLEASE USE
YOUR EYES
/🆑
Co-authored-by: Mothblocks <35135081+Mothblocks@ users.noreply.github.com>
* Changes our map_format to SIDE_MAP
* Modular!
Co-authored-by: LemonInTheDark <58055496+LemonInTheDark@users.noreply.github.com>
Co-authored-by: Mothblocks <35135081+Mothblocks@ users.noreply.github.com>
Co-authored-by: Funce <funce.973@gmail.com>
* Saycode refactor, unit tests, and fixes
* parrot
* SR tweaks
* say tests from pstream/71873
Co-authored-by: Tim <timothymtorres@gmail.com>
Co-authored-by: tastyfish <crazychris32@gmail.com>
* Fixes Brain Trauma Forced Speech Triggering the World Filter (#71897)
## About The Pull Request
Fixes#71849
## Why It's Good For The Game
bug bad
## Changelog
🆑
fix: Forced speech from brain damage will no longer trigger the world
filter
/🆑
* Fixes Brain Trauma Forced Speech Triggering the World Filter
Co-authored-by: SkeletalElite <skeletalelite0@gmail.com>
* Changes Obsession resilience to require a lobotomy (#71462)
## About The Pull Request
Obsessed is changed to require a lobotomy rather than brain surgery.
Also nerfs Mind Restoration so it cannot remove deep-rooted traumas.
## Why It's Good For The Game
Obsessed has been well-known for some time as being surprise ganked by
fairly low-key airborne healing viruses. Players are stripped of their
antag status with no fanfare or consequence.
With this change the cure for obsessed will require a lobotomy, which
will cause additional permanent brain traumas. This provides way more
mechanically-informed RP than losing antag due to a friendly sneeze.
## Changelog
🆑
balance: Obsessed has been bumped up to a Deep-Rooted Brain Trauma
balance: Mind Restoration can't remove deep-rooted traumas, making
Obsessed unremovable by virusses
/🆑
<!-- 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. -->
* Changes Obsession resilience to require a lobotomy
Co-authored-by: RaveRadbury <3204033+RaveRadbury@users.noreply.github.com>
* Moves flick_overlay to atom instead of being global (#71045)
## About The Pull Request
Moves flick_overlay and flick_overlay_view to atom instead of being a
global proc
## Why It's Good For The Game
General performance and syntaxical improvements, makes it easier to
retrieve iconstates
## Changelog
🆑
fix: flick_overlay is an atom proc
/🆑
Co-authored-by: etherware-novice <candy@ notarealaddr.com>
Co-authored-by: Candycaneannihalator <candycane@ thisisnotarealaddr.com>
Co-authored-by: Mothblocks <35135081+Mothblocks@ users.noreply.github.com>
* Moves flick_overlay to atom instead of being global
* modular flick
Co-authored-by: texan-down-under <73374039+etherware-novice@users.noreply.github.com>
Co-authored-by: etherware-novice <candy@ notarealaddr.com>
Co-authored-by: Candycaneannihalator <candycane@ thisisnotarealaddr.com>
Co-authored-by: Mothblocks <35135081+Mothblocks@ users.noreply.github.com>
Co-authored-by: tastyfish <crazychris32@gmail.com>
* Refactors some signal misuse with the stationloving component (#70496)
* Refactors secluded locs
* Tweak
* Use traits instead of signals
* Review
* Type error
* Refactors some signal misuse with the stationloving component
Co-authored-by: MrMelbert <51863163+MrMelbert@users.noreply.github.com>
* Changing species now maintains Brain traumas, Cybernetic implants, Liver traits, organ damage, and Heretic Living Heart (#70530)
About The Pull Request
Implements additional code in before_organ_replacement in additional places, to better maintain cohesion when species changes take place.
Brain traumas will now carry over on species change
Having synthetic / cybernetic organs will now carry over on species change
Liver job traits will also carry over on species change
Organ damage will, in most cases, carry over on species change (only if the new organ is identical to the old)
The heretic's Living Heart will attempt to carry over to species change, if it's valid
Some species will still not, as it will attempt to give heart -> liver or something and be invalid
Heretic Living Heart is now a cooldown action. Still not really content with the current state of it, it could use some improvements.
Fixes#42308Fixes#35539Fixes#69574
Why It's Good For The Game
Removes a lot of exploits involving using forced species change to get rid of stuff like quirks / permanent brain traumas and similar.
* Changing species now maintains Brain traumas, Cybernetic implants, Liver traits, organ damage, and Heretic Living Heart
Co-authored-by: MrMelbert <51863163+MrMelbert@users.noreply.github.com>
* Cleans up the fallout from plane cube (#70235)
* Cleans up the fallout from plane cube
Alright.
Makes cleaning bubbles respect planes
Adds support for updating overlays on move, fixing an issue with pointing at items
Adds better error messages for failing to provide args for mutable_appearance()
Fixes a bug where string overlays were not respecting insertion order
* Adds documentation for offset spokesman and offset_const
* Better stack trace
* Removes some redundant uses of cached MAs
At this scale, attempting to cache MAs like this has 0 impact on anything
And just makes things more messy then they need to be
* ensures fullscreen objects START offset, so things are always proper
* ensures chatmessages always have the right offset
* fixes compile
* whoops, the above lighting plane should actually be ABOVE the lighting plane
* fixes compile, also cleans up the fire overlay a tad
* Adds a unit test for plane masters that are shrunk by multiz being double shrunk
This is slightly hacky because of how I'm handing the plane master
group, but it's not THAT bad, and gives me some real good coverage
* Properly targets the seethrough plane at the game world plate. This fixes unit tests, and also just makes more sense
* whoops
* oh
* adds datum support for allocate(), cleans up a harddel from testing
* Makes camera chunks index at 1, and also makes them support non powers of two sizes, since that was unneeded
* fixes runtime in allocate
* Cleans up the fallout from plane cube
* liquid tweaks
* oop
Co-authored-by: LemonInTheDark <58055496+LemonInTheDark@users.noreply.github.com>
Co-authored-by: tastyfish <crazychris32@gmail.com>
* Having very very low sanity will rarely cause hallucintions (#70311)
* Being insane now causes you hallucinations, and hallucination immune has been renamed to RDS immune, since it only works for the quirk.
* Having very very low sanity will rarely cause hallucintions
Co-authored-by: MrMelbert <51863163+MrMelbert@users.noreply.github.com>
* Fix xeno hivemind talk causing hissing sound (#69844)
* Fix xeno hivemind talk causing hissing sound
* Fix dullahan speech arg
Add message_range and saymode to say arguments
Add new say args to other say procs
Add new say args to other say procs
* Revert "Fix dullahan speech arg"
This reverts commit abff2bec1a03c1270b2896faa547c465e046ad78.
* Fix speech_args to be list
* Refactor hulk speech signal handler
* Revert "Revert "Fix dullahan speech arg""
This reverts commit 58997930096ef6b7fa8a1c79395595e61db954c6.
* Change filterproof to be null like other say procs
* Remove unused COMSIG_MOB_SAY defines
* Readd defines for COMSIGH_MOB_SAY
* Fix xeno hivemind talk causing hissing sound
* Updates the arguments of the say and whisper procs for the borers
Co-authored-by: Tim <timothymtorres@gmail.com>
Co-authored-by: GoldenAlpharex <jerego1234@hotmail.com>
* Completely refactors hallucinations, and also adds a few
* delete 5 old hallucination types that should have been removed
* Fixed old leftover tips conflicts
* Fixes all the leftover conflicts and otherwise broken code
Co-authored-by: MrMelbert <51863163+MrMelbert@users.noreply.github.com>
Co-authored-by: tastyfish <crazychris32@gmail.com>
Co-authored-by: GoldenAlpharex <jerego1234@hotmail.com>
* Replaces the mood component with a mood datum
* Fixes merge conflicts and updates all of our mood events to use the new mood datums
Co-authored-by: Seth Scherer <supernovaa41@gmx.com>
Co-authored-by: GoldenAlpharex <jerego1234@hotmail.com>
* Completely removes `proc_holders` from existence. Refactors all wizard, xeno, spider, and genetics powers to be actions. Also refactors and sorts ton of accompanying code.
* our changes
* yes
* 0
* Update blackmesa.dmm
Co-authored-by: MrMelbert <51863163+MrMelbert@users.noreply.github.com>
Co-authored-by: Gandalf <9026500+Gandalf2k15@users.noreply.github.com>
* This tail refactor turned into an organ refactor. Funny how that works.
* Firstly, fixing all the conflicts.
* Fixes all our maps (hopefully)
* Actually, this should fix pod people hair :)
* Almost everything is working, just two major things to fix
* Fixed a certain kind of external organ
* Cleaning up some more stuff
* Turned tail_cat into tail because why the fuck are they separate?
* Moved all the tails into tails.dmi because that was just dumb to have like 3 in a different file
* Adds relevant_layers to organs to help with rendering
* Makes stored_feature_id also check mutant_bodyparts
* Fixes the icon_state names of ALL the tails (pain)
* Fixes wagging, gotta refactor most mutant bodyparts later on
* I Love Added Failures
* Fixed some organs that slipped through my searches
* This could possibly fix the CI for this?
* It doesn't look like it did fix it
* This will make it pass, even if it's ugly as sin.
* Fixed Felinids having a weird ghost tail
* Fixes instances of snouts and tails not being properly colored
Co-authored-by: Kapu1178 <75460809+Kapu1178@users.noreply.github.com>
Co-authored-by: GoldenAlpharex <jerego1234@hotmail.com>
* Refactors the forensics component into a datum
* Refactors the forensics component into a datum
* Refactors the forensics component into a datum
Co-authored-by: Seth Scherer <supernovaa41@gmx.com>
Co-authored-by: Tom <8881105+tf-4@users.noreply.github.com>
* 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
* this should do it?
* well, one more
Co-authored-by: MrMelbert <51863163+MrMelbert@users.noreply.github.com>
* 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)
* fex
Co-authored-by: MrMelbert <51863163+MrMelbert@users.noreply.github.com>
Co-authored-by: Gandalf <9026500+Gandalf2k15@users.noreply.github.com>
* Makes discoordinated a status effect (#65278)
Co-authored-by: Mothblocks <35135081+Mothblocks@ users.noreply.github.com>
* Makes discoordinated a status effect
Co-authored-by: John Willard <53777086+JohnFulpWillard@users.noreply.github.com>
Co-authored-by: Mothblocks <35135081+Mothblocks@ users.noreply.github.com>
* Fixes issues found by new switch lints (#64766)
Very nice addition to sdmm.
* Fixes issues found by new switch lints
Co-authored-by: AnturK <AnturK@users.noreply.github.com>
* Can no longer use tk to teleport with the bluespace prophet truama (#63906)
* Can no longer use tk to teleport with the bluespace prophet truama
Co-authored-by: Seth Scherer <supernovaa41@gmx.com>