Commit Graph

211 Commits

Author SHA1 Message Date
slarticodefast ae8fdbfa51
Fix puncturase cauterizing bleeding (#38289)
fix puncturase cauterizing bleeding
2025-06-13 12:11:15 -04:00
DrSmugleaf 7f9b2a0434
Fix eating and drinking verbs showing up after a short delay and making your verb UI bounce (#38164)
* Fix eating and drinking verbs showing up after a short delay and making your verb UI bounce

* Usings fix

* Usings fix

* Usings fix

* Usings fix

* CVar fix

* Predicted ppups

* Openable predicted popup

* Fix audio prediction
2025-06-09 10:36:04 -04:00
Orsoniks ef42c36cdb
Improved Health examination text (#38126)
* more health examinations

* better blood

* fix

* tweaks

* sizeable

* silicon fix

* tweaks

* bleeding color tweaks

* fix
2025-06-09 00:31:49 -07:00
Ciarán Walsh d83f393fa4
Use distinct action labels for toggling internals on and off. (#36073)
* Use distinct action labels for toggling internals on and off.

* Implement specific actions for enabling/disabling internals

Avoids potential confusing race conditions where two people might perform the "Toggle Internals On" action an the same person,
which would have jsut toggled twice.

* If no gas tank, will give popup

---------

Co-authored-by: beck-thompson <beck314159@hotmail.com>
2025-06-02 13:09:45 +02:00
pathetic meowmeow bf41de18aa
Move entity effects definitions to shared (#35614)
* Move entity effects to shared

* relocate spawning to server

* Generic version of EntityEffect for just raising event.

* genericise everything

* oops forgot to push you

* some condensation

* finish rebas

* unwhite the space

* oops forgot nuke

* bad rebase fix

* useless annotations begone

---------

Co-authored-by: EmoGarbage404 <retron404@gmail.com>
2025-05-23 12:32:22 -04:00
āda 41a129e749
Pepper makes you cough (#36358) 2025-05-19 11:23:38 -07:00
Princess Cheeseballs 62c380fc53
Better Godmode (#37020)
* Commit

* Oversights oops

* breaking changes

* unbreaking changes

* Compatibility with AfterFullyEaten

* Fixed

* Update Content.Server/Kitchen/EntitySystems/ReagentGrinderSystem.cs

---------

Co-authored-by: Nemanja <98561806+EmoGarbage404@users.noreply.github.com>
2025-05-10 01:06:19 -04:00
metalgearsloth bd69fc612a
Predicted internals (#33800)
* Predicted gas pumps

I wanted to try out atmos and first thing I found.

* a

* Atmos device prediction

- Canisters
- Tanks
- Internals

AirMixes aren't predicted so nothing on that front but all the UIs should be a lot closer.

* Remove details range

* Gas tank prediction

* Even more sweeping changes

* Alerts

* rehg

* Popup fix

* Fix merge conflicts

* Fix

* Review
2025-05-02 18:22:29 +10:00
slarticodefast 4d50a5a903
Fix thermal regulation (#35971) 2025-03-20 23:40:31 +01:00
paige404 2e7f01b99e
Fix broken layer hiding on clothes with multiple equipment slots (#34080)
* Fix broken layer hiding on clothes with multiple equipment slots

* Refactor ToggleVisualLayers, HideLayerClothingComponent, and ClothingComponent to allow more
precise layer hide behavior and more CPU efficient layer toggling.

* Adjust HumanoidAppearaceSystem to track which slots are hiding a given layer (e.g. gas mask and welding mask)
Add documentation
Change gas masks to use the new HideLayerClothingComponent structure as an example of its usage

* Fix the delayed snout bug

* Misc cleanup

* Make `bool permanent` implicit from SlotFlags

any non-permanent visibility toggle with `SlotFlags.None` isn't supported with how its set up. And similarly, the slot flags argument does nothing if permanent = true. So IMO it makes more sense to infer it from a nullable arg.

* Split into separate system

Too much pasta

* Remove (hopefully unnecessary) refresh

* Fisk mask networking

AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA

* Keep old behaviour, use clearer names?

I'm just guessing at what this was meant to do

* english

* Separate slot name & flag

* dirty = true

* fix comment

* Improved SetLayerVisibility with dirtying logic suggested by @ElectroJr

* Only set mask toggled if DisableOnFold is true

* FoldableClothingSystem fixes

* fix bandana state

* Better comment

---------

Co-authored-by: ElectroJr <leonsfriedrich@gmail.com>
2025-03-21 00:30:47 +11:00
slarticodefast ceff2bea00
Cloning Refactor and bugfixes (#35555)
* cloning refactor

* cleanup and fixes

* don't pick from 0

* give dwarves the correct species

* fix dna and bloodstream reagent data cloning

* don't copy helmets

* be less redundant
2025-03-02 16:50:12 +01:00
Zachary Higgs 1c8e7443ae
Move DnaComponent to shared (#35012)
* Move DnaComponent to shared

- Add Using statements to AdminSystem and StationRecordsSystem to point
to Content.Shared.Forensics

* Proper namespacing

* Revert an un-intended change

* Add Networking to DNA Component

* CR - Remove ("dna")

* CR - add back ("dna") tag
2025-02-10 04:36:01 +01:00
Łukasz Lindert 0a105213b4
Fix for low zombie blood (#32532)
fix for low zombie blood

Co-authored-by: Łuaksz <test@test.com>
2024-10-19 17:31:45 +02:00
nikthechampiongr a5840b925b
Fix RA0032 (#32514) 2024-09-29 02:25:21 +02:00
themias f2f76f711d
Fix cauterization spam from space damage (#32080) 2024-09-11 18:05:54 +02:00
Cojoke ef1fadf275
Replace instances of SolutionContainerSystem with SharedSolutionContainerSystem (#30084)
* Replace instances of SolutionContainerSystem with SharedSolutionContainerSystem

* guap

* More fixes

* Wait you can do that?

---------

Co-authored-by: Pieter-Jan Briers <pieterjan.briers+git@gmail.com>
2024-09-02 13:26:04 +02:00
Winkarst 2d85b4e7e9
Move OnGhostAttempt to GhostSystem (#31445)
* Move OnGhostAttempt to GhostSystem

* Remove unused dependencies and sort them
2024-08-26 14:15:33 +02:00
Mervill 63762d85ca
Fixs suffocation alerts not appearing. (#31115)
Fixs suffocation alerts not appearing
2024-08-16 22:02:51 -04:00
beck-thompson ee922e37f6
Replaced some AddMarkups with AddMarkupOrThrow (#30632)
* First commit

* Silly me

* bruh
2024-08-11 13:06:33 +10:00
SlamBamActionman 07174d0aaf
Better DNA forensics & ReagentData (#26699)
* Added the ability for blood to track DNA using ReagentData; Forensic Scanner now accounts for solution DNA, non-DNA holders have "Unknown DNA"

* Removes touch DNA for puddles, adds DNA to vomit

* DNA now leaves traces in containers and those marked without don't show DNA on scan (except for puddles), gibbed parts have DNA

* Fix stupid metamorphic glass bug grrr

* Removed SpillableComponent since DnaSubstanceTraceComponent is used instead

* Removes data field from maps, adds DNA tracking for some missed items

* Give default value, fix missing values.

* Fixes recipe bug

* Review changes

* Make the Data list into a nullable type

* Revert map changes

* Move gibbed unknown DNA to forensicssystem
2024-08-09 09:27:27 +10:00
Nemanja ce97225c2d
Replace IClickAlert with events (#30728)
* Replace IAlertClick with events

* whoop

* eek!
2024-08-07 15:15:35 +10:00
DrSmugleaf 94a1b67c67
Don't show toggle internals verb if no breath tools are found while off (#30622)
* Don't show toggle internals verb if no breath tools are found

* only if not working
2024-08-04 13:34:55 +10:00
Mervill af75258601
Remove obsolete code from Food, Drink and Respirator systems. (#30560)
* Remove obsolete code from Food, Drink and Respirator systems

* remove obsolete comment
2024-08-02 17:30:45 +10:00
Plykiya e6b67540e4
Update MoverController.cs to not use Component.Owner (#29965)
* Update MoverController.cs

* Update a bunch of movement code to use Entity<T>

* Last errors

* wow, there were more errors

---------

Co-authored-by: plykiya <plykiya@protonmail.com>
2024-08-02 11:32:32 +10:00
Plykiya ba1610012a
Update RespiratorSystem.cs to not use Component.Owner (#30426)
Update RespiratorSystem.cs

Co-authored-by: plykiya <plykiya@protonmail.com>
2024-07-31 19:29:02 -07:00
Plykiya c94c72785d
Updates GasTankSystem and InternalsSystem to not use Component.Owner (#29934)
* blah, setup

* Updates GasTankSystem and InternalsSystem to not use Component.Owner

* squish the diff

* Fixa the rest

---------

Co-authored-by: plykiya <plykiya@protonmail.com>
2024-07-12 21:44:45 +10:00
themias 7b99d1f851
Don't allow toggling internals while asleep (#29753) 2024-07-06 13:55:58 +10:00
SlamBamActionman b9fa941ca6
Turn ReagentEffects into generic EntityEffects (#28168)
* Oh the possibilities

* Merge fixes

* Forgot to remote LavaSystem oops

* Changed EntityEffectArgs to EntityEffectBaseArgs and EntityEffectReagentArgs

* Throw exception for unimplemented effectargs

* Remove Json and overrideable datafields

* Fix test issues

* Actually fix the compiling issue

* Fix comments and remove EntityEffectArgs (no longer used, replaced with EntityEffectBaseArgs)
2024-06-30 13:43:43 +10:00
Leon Friedrich fa3c89a521
Partial buckling refactor (#29031)
* partial buckling refactor

* git mv test

* change test namespace

* git mv test

* Update test namespace

* Add pulling test

* Network BuckleTime

* Add two more tests

* smelly
2024-06-20 01:14:18 +10:00
Stalen d322a82bdf
Pets toggle internals fix (#28904) 2024-06-12 22:17:07 -04:00
Verm 0e32d632fa
Make automatic gasps not create a chat message (#28907)
No chat gasp
2024-06-12 22:15:43 -04:00
Plykiya dec1c281a8
Internals are kept on as long as any breathing tool is on (#28595) 2024-06-06 03:01:45 -04:00
Leon Friedrich 54337911d3
Only auto-enable internals when necessary (#28248)
* Only auto-enable internals when necessary

* Add toxic gas check

* Rename Any -> AnyPositive
2024-05-31 12:28:11 +10:00
lzk a2f4540cb5
Remake gasp popup to emote (#27736) 2024-05-28 19:56:41 -04:00
Nemanja 8a95cb186c
Remove AlertType and AlertCategory (#27933) 2024-05-23 22:43:04 -04:00
DrSmugleaf 0e3a2b3ba1
Move id and health examinable to shared (#27867)
* Move id and health examinable to shared

* Make GetInfo public
2024-05-10 11:26:39 +10:00
Errant f64dd5f45f
Space Ninjas auto-toggle internals after spawning (#25083)
* fix engine version

* actually fix engine version

* Automatically activated breathing masks

* weh

* who needed that component anyway

* check if internals are already running

* Update Content.Server/Atmos/Components/BreathToolComponent.cs

Co-authored-by: metalgearsloth <31366439+metalgearsloth@users.noreply.github.com>

* Update Content.Server/Body/Systems/InternalsSystem.cs

Co-authored-by: metalgearsloth <31366439+metalgearsloth@users.noreply.github.com>

* prediction

* record struct event

* remove delayed activation, instead ensure that masks spawn last

* leftover

* engine version

* re-implement

---------

Co-authored-by: metalgearsloth <31366439+metalgearsloth@users.noreply.github.com>
Co-authored-by: metalgearsloth <comedian_vs_clown@hotmail.com>
2024-05-03 11:24:21 +10:00
Jake Huxell 59e46aab93
Reduced Warning Count By 130 For Full Rebuilds (#26518)
* remove deprecated entity coordinate extension functions. Reduces warning count by approximately 50

* final toCoords Removed

* Remove all unused variables and dead code paths

* remove always true variable, should be a cvar or something instead

* remove superfluous variables from tests
2024-03-29 16:28:16 +11:00
0x6273 37b8d78dac
Body code cleanup (#24946)
* Fix test

* Kill float accumulators

* Use entity proxy methods

* DataField auto name generation where possible

* Kill comp properties

* Clean up server comps

* Make events record structs

* Clean up shared body code

* Clean up server body code

* Rename organ events to be same names as in med refactor
2024-03-27 17:48:37 -07:00
Leon Friedrich 18a35e7e83
Partial atmos refactor (#22521)
* Reduce atmos component queries

* Remove method events

* Cache airtight data

* Make MolesArchived nullable

* Fix airtight cache

* only get tile def once

* Immutable mixtures

* firelock queries

* misc

* misc cleanup

* Trim disconnected tiles

* Fix merge issues and bugs

* Why does the PR keep increasing in scope

* debug overlay

* Fix bugs

* Fix test, remove unused events

* Add setmapatmos command

* Fix overlays

* Add map check

* A

* Resolve conflicts with #26102

* Remove some obsolete methods
2024-03-24 03:34:56 +11:00
nikthechampiongr 362d56981f
Simplify DoAfterArgs behavior for movement and distance checks (#25226)
* Merge BreakOnWeightlessMove and BreakOnMove. Provide different theshold for weightless movement.

* Adjust WeightlessMovementThresholds. Put a thing I forgot to put in the doafterargs.

* Make DoAfterArgs only use OnMove to determine whether to check for
movement and MoveThreshold to determine the threshold regardless of
weightlessness. Gave DistanceThreshold a default value which will always
be checked now.

* Fix issue introduced by merge.

* Use interaction system for determining whether a distance is within range

* Fix incorrect doafter args introduced by previous merge.
Forgor to commit these.

* Exorcise ghost.

The execution system should have been deleted when I merged previously.
For a reason I cannot comprehend it came back, but only the execution
system.

* Exorcise ghost Pt. 2

* Allow for movement check to be overriden in zero g and adjust doafter args where needed.

You can now override checking for movement in zero g with the BreakOnWeightlessMove bool. By default it will check.
The following doafters were made to ignore the movement check in zero g:
- Healing yourself with healing items,
- Removing embedded projectiles,
- Using tools like welders and crowbars

* Adjust distance for cuffing/uncuffing to work. Make injections not break on weightless movement.

* Fix evil incorrect and uneeded comments
2024-03-19 21:09:00 +11:00
Errant 759b6229c2
Remove doafter from toggling your own internals (#25781)
remove doafter from toggling your own internals
2024-03-03 19:31:47 +11:00
Jezithyr be29a054de
Death acidifier fix (#25251) 2024-02-14 17:37:56 -08:00
Jezithyr 541d8f8715
Gibbing refactor (Per-part gibbing and giblet throwing!) (#24989)
* Moving Gibbing rework out from medrefactor into it's own PR

* Re-enabled warning for missing gibbable on TryGibEntity

* Implemented better logic for gibbing failover and better logging

* Allowing audio params and drop scattering customization per component. Created UnGibbable organ base types and made brains ungibbable.
Removed delete brain from gibBody function. Artifact crusher does not destroy brains anymore. It only destroyed brains before not other organs which was wierd.

* Update Content.Shared/Body/Systems/SharedBodySystem.Body.cs

Fixing space for multiplication

Co-authored-by: metalgearsloth <31366439+metalgearsloth@users.noreply.github.com>

* Added event raised when attempting to gib contained entities to allow modification of allowed and excluded container ids

* removing audioParams var from component (sound specifier includes it)

* Fixing signature

---------

Co-authored-by: metalgearsloth <31366439+metalgearsloth@users.noreply.github.com>
2024-02-10 15:37:06 -08:00
Krunklehorn d01d75073c
Travelling pointing arrows, brains can no longer point (#24864)
* Decoupled from gravity, constant animation time, manual networking, cubic interpolation

* Reduced overshoot

* Implemented PointAttemptEvent, reacts with mobstate & sleeping

* Brains can no longer point, PBs must be inside a chassis

* Removed chassis check, made callback more obvious
2024-02-03 19:09:20 +11:00
Errant 2737c80169
Suffocation alerts for nitrogen breathers (#24373)
* Respiratorsystem namespace

* WIP gas alert update, does not work

* Finally
2024-01-23 15:17:40 -05:00
LordCarve c77eb8691d
DamageSpecifier Total => GetTotal (#24160)
* DamageSpecifier [Obsolete] Total => GetTotal()

* Remove obsolete Total member from DamageSpecifier.
2024-01-21 18:59:14 -07:00
deathride58 21ec29bfa6
Microwaves no longer instantly gib living creatures Microwaves now heat in real-time
* Animal cruelty nerf - microwaves no longer instantly gib, and now heat in realtime

* While we're at it there's honestly no need for this shit to be hardcoded
2024-01-06 17:16:39 -08:00
Adrian16199 78f4bec3e1
Allows a possibility for a new reagant to work on dead if applied. (#23298)
* Allows a possibility for a new reagant to work on dead if applied.

To use it, go to Resources\Prototypes\Reagents\medicine.yml and add worksOnTheDead: true to any reagent.

* Update Content.Shared/Chemistry/Reagent/ReagentPrototype.cs

Co-authored-by: Nemanja <98561806+EmoGarbage404@users.noreply.github.com>

* Update Content.Server/Body/Systems/MetabolizerSystem.cs

Co-authored-by: Nemanja <98561806+EmoGarbage404@users.noreply.github.com>

---------

Co-authored-by: Nemanja <98561806+EmoGarbage404@users.noreply.github.com>
2024-01-04 22:40:57 -05:00
TemporalOroboros d23c8d5c19
Revert 'Revert 'Solution Entities'' (#23168) 2023-12-29 08:47:43 -04:00