Commit Graph

293 Commits

Author SHA1 Message Date
Mervill 160eadb9db Fixs suffocation alerts not appearing. (#31115)
Fixs suffocation alerts not appearing
2024-08-21 15:21:02 +01:00
beck-thompson f38903c5c5 Replaced some AddMarkups with AddMarkupOrThrow (#30632)
* First commit

* Silly me

* bruh
2024-08-11 14:52:54 +01:00
SlamBamActionman f39df535b2 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 19:04:17 +01:00
Nemanja aaa9f84fb1 Replace IClickAlert with events (#30728)
* Replace IAlertClick with events

* whoop

* eek!
2024-08-09 18:58:46 +01:00
DrSmugleaf 921e7da311 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-09 18:24:29 +01:00
Mervill a366604df9 Remove obsolete code from Food, Drink and Respirator systems. (#30560)
* Remove obsolete code from Food, Drink and Respirator systems

* remove obsolete comment
2024-08-09 18:18:14 +01:00
Plykiya b020ea4a3d 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-09 18:18:02 +01:00
Plykiya f7b70eb1f7 Update RespiratorSystem.cs to not use Component.Owner (#30426)
Update RespiratorSystem.cs

Co-authored-by: plykiya <plykiya@protonmail.com>
2024-08-09 18:15:16 +01:00
Plykiya 88b82ea54d 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-08-09 17:45:37 +01:00
themias 9f37f7c14a Don't allow toggling internals while asleep (#29753) 2024-08-09 17:31:51 +01:00
SlamBamActionman f08ba8b494
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-07-25 01:55:29 +02:00
Leon Friedrich d0a8d88e78
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-07-25 00:34:37 +02:00
Stalen fe0a8341f1
Pets toggle internals fix (#28904) 2024-07-05 20:27:12 +02:00
Verm a70a3140d1
Make automatic gasps not create a chat message (#28907)
No chat gasp
2024-07-05 20:27:09 +02:00
Plykiya b702d3b466
Internals are kept on as long as any breathing tool is on (#28595) 2024-06-08 20:24:22 +02:00
Leon Friedrich 65a712700c
Only auto-enable internals when necessary (#28248)
* Only auto-enable internals when necessary

* Add toxic gas check

* Rename Any -> AnyPositive
2024-06-01 17:55:05 +02:00
lzk 16c0dae7cb
Remake gasp popup to emote (#27736) 2024-06-01 17:19:16 +02:00
Nemanja 9adf1ed402
Remove AlertType and AlertCategory (#27933) 2024-06-01 16:55:49 +02:00
Errant 6a1b7c8ee7
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-18 13:51:21 +02:00
DrSmugleaf 44eff7af7a
Move id and health examinable to shared (#27867)
* Move id and health examinable to shared

* Make GetInfo public
2024-05-18 13:36:03 +02:00
Plykiya 8d8a7b2004
Hyposprays Draw from Jugs (#25544)
* Hyposprays Draw from Jugs

* Fix last onlyMobs usage in yml

* Some Suggested Changes

* Remove unnecessary datafield name declarations

* Remove unnecessary dirtying of component

* Same line parentheses

* Added client-side HypospraySystem

* Cache UI values and only updates if values change

* empty line

* Update label

* Label change

* Reimplement ReactionMixerSystem

* Remove DataField from Hypospray Toggle Mode

* Change ToggleMode from enum to Bool OnlyAffectsMobs

* Add DataField required back since it's required for replays...?

* update EligibleEntity and uses of it

* Add user argument back

* Adds newline

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

* Guard for dirty entity

* Adds summary tag

---------

Co-authored-by: Plykiya <plykiya@protonmail.com>
Co-authored-by: metalgearsloth <31366439+metalgearsloth@users.noreply.github.com>
(cherry picked from commit f192d7901fedd134c38a6cab38731f8e93994492)
2024-04-07 14:14:28 +02:00
Jake Huxell 7be31aab33
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

(cherry picked from commit 59e46aab93ca38f8d57fcad4e3a2c893737d9ad4)
2024-04-07 14:11:06 +02:00
0x6273 65f8b14ca2
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

(cherry picked from commit 37b8d78dac047122fe77038bafb8e682132db3cd)
2024-04-07 14:04:17 +02:00
Leon Friedrich 239fd1d654
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

(cherry picked from commit 18a35e7e83b2b71ee84b054d44d9ed5e595dd618)
2024-03-24 00:14:24 +01:00
nikthechampiongr ad5628777b
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

(cherry picked from commit 362d56981fd7654f6ebec36f16cc8fabdd04b6a7)
2024-03-24 00:03:28 +01:00
Errant 29230db5c3
Remove doafter from toggling your own internals (#25781)
remove doafter from toggling your own internals

(cherry picked from commit 759b6229c2ff3ae4f0808dbda3a17ac603e23928)
2024-03-07 01:21:53 +01:00
Whisper e0d84f2db2
Whisper bleed update v3 (#25434)
* Whisper bleed update v3

* missed a few

* Add bleeding message to health analyzer.

* Fix bleed notification not updating.

* Apparently this either doesnt exist

(cherry picked from commit ff65cb7b0caaeb9edd9461eff942bdc6f5eb7f50)
2024-03-07 00:59:34 +01:00
Jezithyr 53bd523984
Death acidifier fix (#25251)
(cherry picked from commit be29a054de37b54d7c0a09c75b6fded91374341a)
2024-02-18 23:13:32 +01:00
Jezithyr 6737912059
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>
(cherry picked from commit 541d8f8715e4e74a77501863c2573aaa1eb33add)
2024-02-18 22:46:02 +01:00
Krunklehorn c12dacd966
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

(cherry picked from commit d01d75073cc4179ca5e34cacccd2ca6387e2bf99)
2024-02-08 12:32:04 +01:00
Errant 42ac528eda
Suffocation alerts for nitrogen breathers (#24373)
* Respiratorsystem namespace

* WIP gas alert update, does not work

* Finally

(cherry picked from commit 2737c80169853223660948931aadba894723fcaf)
2024-01-27 23:50:55 +01:00
LordCarve 3dfd479199
DamageSpecifier Total => GetTotal (#24160)
* DamageSpecifier [Obsolete] Total => GetTotal()

* Remove obsolete Total member from DamageSpecifier.

(cherry picked from commit c77eb8691dc08d384a88ddaf3b734f7777d741b5)
2024-01-27 23:42:35 +01:00
deathride58 eab437e2fc
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

(cherry picked from commit 21ec29bfa6d2bd6c08aad13faf7ed9fbc958cae0)
2024-01-26 22:03:49 +01:00
Adrian16199 813e69cade
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>
(cherry picked from commit 78f4bec3e1fe51ab29b5b7e5b3a6e5416298f377)
2024-01-26 21:43:11 +01:00
TemporalOroboros ce27944275
Revert 'Revert 'Solution Entities'' (#23168)
(cherry picked from commit d23c8d5c19e56a582b6b12f832bd318efbdac7c7)
2024-01-23 23:00:42 +01:00
metalgearsloth 3f4851b4be
Fix multi-ghosts (#22964)
* Fix multi-ghosts

* Fix mind visits

(cherry picked from commit c326e5d08727139aa19d231995c16d54f71b42b8)
2024-01-22 18:37:08 +01:00
Leon Friedrich 3b8a4316fa
Make some prototypes use frozen collections (#22576)
* Make some prototypes use frozen collections

* poke tests

* Remove frozen dictionary enumeration

(cherry picked from commit 8587c3778abdf94041a491b1ff6330fbe6746c03)
2024-01-22 18:36:50 +01:00
SapphicOverload 405349cf48 Hardsuit and EVA helmets allow using internals without a mask (#22716) 2023-12-22 22:59:07 +01:00
themias 2851e53c28 Add more DNA interactions (#21989)
* Add more DNA interactions

* remove unused import

* update based on feedback

* Add event for chemistrysystem.injector

* move event to shared; transfer dna to implanter

* doafter and interaction event fixes

* add BreakOnHandChange

* doh

* use events instead of updating component directly

* Add DataFields to ForensicScannerComponent fields

* Convert most events to system api call
2023-12-16 20:30:32 +01:00
themias e9e6153e63 Fix toggle mask issues (#22496) 2023-12-16 20:19:57 +01:00
DrSmugleaf b04882d1ad Move MaskComponent to shared and add toggle events (#22395)
* Move MaskComponent to shared and add toggle events

* Datafield and network IsToggled

* Add missing dirty
2023-12-16 20:15:24 +01:00
Leon Friedrich 485d658bd1 Inventory slot enumerator rejig (#21788) 2023-12-16 19:30:03 +01:00
metalgearsloth b1ee2d48ff Unrevert audio (#21330)
Co-authored-by: Pieter-Jan Briers <pieterjan.briers@gmail.com>
2023-12-02 20:16:36 +01:00
DrSmugleaf 40c36058f3 Make bloodloss and asphyxiation damage not ignore resistances (#21665) 2023-11-19 22:12:29 +01:00
Leon Friedrich e66c0b5035 Un-revert IPlayerManager refactor (#21244) 2023-10-31 19:00:44 +01:00
Nemanja 23cbc4245e A return to foam (foam rework) (#20831) 2023-10-31 18:54:02 +01:00
deltanedas 62d3a7b77b Add internal temperatures for cooking meats (#20659) 2023-10-23 23:50:43 +02:00
DrSmugleaf 9cc8a7fc81 Remove 700 usages of Component.Owner (#21100) 2023-10-20 15:31:13 +02:00
Doru991 a333796e59 Make gibbing drop items again (#21047)
LGTM, Just a warning that this will probably get overriden when medical refactor gets merged since it refactors gibbing.
2023-10-20 15:30:22 +02:00
TemporalOroboros 8c55d3e5ce Moves SolutionContainerManagerComponent to Shared. (#20944) 2023-10-14 22:07:17 +02:00