Commit Graph

788 Commits

Author SHA1 Message Date
Pieter-Jan Briers 39f13c1849
Merge pull request #1660 from juliangiebel/bug/anchoring-reagent-dispenser 2020-08-17 17:54:21 +02:00
DrSmugleaf b051261485
Bodysystem and damagesystem rework (#1544)
* Things and stuff with grids, unfinished w/ code debug changes.

* Updated submodule and also lost some progress cause I fucked it up xd

* First unfinished draft of the BodySystem. Doesn't compile.

* More changes to make it compile, but still just a framework. Doesn't do anything at the moment.

* Many cleanup changes.

* Revert "Merge branch 'master' of https://github.com/GlassEclipse/space-station-14 into body_system"

This reverts commit ddd4aebbc76cf2a0b7b102f72b93d55a0816c88c, reversing
changes made to 12d0dd752706bdda8879393bd8191a1199a0c978.

* Commit human.yml

* Updated a lot of things to be more classy, more progress overall, etc. etc.

* Latest update with many changes

* Minor changes

* Fixed Travis build bug

* Adds first draft of Body Scanner console, apparently I also forgot to tie Mechanisms into body parts so now a heart just sits in the Torso like a good boy :)

* Commit rest of stuff

* Latest changes

* Latest changes again

* 14 naked cowboys

* Yay!

* Latest changes (probably doesnt compile)

* Surgery!!!!!!!!!~1116y

* Cleaned some stuff up

* More cleanup

* Refactoring of code. Basic surgery path now done.

* Removed readme, has been added to HackMD

* Fixes typo (and thus test errors)

* WIP changes, committing so I can pull latest master changes

* Still working on that god awful merge

* Latest changes

* Latest changes!!

* Beginning of refactor to BoundUserInterface

* Surgery!

* Latest changes - fixes pr change requests and random fixes

* oops

* Fixes bodypart recursion

* Beginning of work on revamping the damage system.

* More latest changes

* Latest changes

* Finished merge

* Commit before removing old healthcode

* Almost done with removing speciescomponent...

* It compiles!!!

* yahoo more work

* Fixes to make it work

* Merge conflict fixes

* Deleting species visualizer was a mistake

* IDE warnings are VERBOTEN

* makes the server not kill itself on startup, some cleanup (#1)

* Namespaces, comments and exception fixes

* Fix conveyor and conveyor switch serialization

SS14 in reactive when

* Move damage, acts and body to shared

Damage cleanup
Comment cleanup

* Rename SpeciesComponent to RotationComponent and cleanup

Damage cleanup
Comment cleanup

* Fix nullable warnings

* Address old reviews

Fix off welder suicide damage type, deathmatch and suspicion

* Fix new test fail with units being able to accept items when unpowered

* Remove RotationComponent, change references to IBodyManagerComponent

* Add a bloodstream to humans

* More cleanups

* Add body conduits, connections, connectors substances and valves

* Revert "Add body conduits, connections, connectors substances and valves"

This reverts commit 9ab0b50e6b15fe98852d7b0836c0cdbf4bd76d20.

* Implement the heart mechanism behavior with the circulatory network

* Added network property to mechanism behaviors

* Changed human organ sprites and added missing ones

* Fix tests

* Add individual body part sprite rendering

* Fix error where dropped mechanisms are not initialized

* Implement client/server body damage

* Make DamageContainer take care of raising events

* Reimplement medical scanner with the new body system

* Improve the medical scanner ui

* Merge conflict fixes

* Fix crash when colliding with something

* Fix microwave suicides and eyes sprite rendering

* Fix nullable reference error

* Fix up surgery client side

* Fix missing using from merge conflict

* Add breathing

*inhale

* Merge conflict fixes

* Fix accumulatedframetime being reset to 0 instead of decreased by the threshold

https://github.com/space-wizards/space-station-14/pull/1617

* Use and add to the new AtmosHelpers

* Fix feet

* Add proper coloring to dropped body parts

* Fix Urist's lungs being too strong

* Merge conflict fixes

* Merge conflict fixes

* Merge conflict fixes

Co-authored-by: GlassEclipse <tsymall5@gmail.com>
Co-authored-by: Pieter-Jan Briers <pieterjan.briers+git@gmail.com>
Co-authored-by: AJCM-git <60196617+AJCM-git@users.noreply.github.com>
2020-08-16 16:42:42 -07:00
DrSmugleaf 9fb6afd08b
Fix pulled physics objects not being woken up when the puller moves (#1720) 2020-08-16 21:08:05 +02:00
DrSmugleaf dbeb89a5e5
Fix pulling not stopping when going into a container (#1712) 2020-08-16 18:51:21 +02:00
DrSmugleaf 772eb2c966
Fix SSS role being repeated in the examine tooltip (#1714) 2020-08-16 18:41:16 +02:00
Víctor Aguilera Puerto 83567c1bd9 Improves MindComponent's description. Force ghost without body return when commiting suicide. 2020-08-16 17:08:39 +02:00
Víctor Aguilera Puerto d58d84096b
Adds mobCheck to a bunch of inventory/hands methods (#1704)
* Adds mobCheck to a bunch of inventory/hands methods, fix not being able to strip dead bodies

* Address review
2020-08-16 16:30:52 +02:00
Pieter-Jan Briers f61d55a63d
Disable airlock "walk by" fix.
It makes it hard to walk through double doors so I'd rather have this be disabled.
2020-08-16 15:33:24 +02:00
Julian Giebel 43606b0617 Change formating 2020-08-16 14:58:36 +02:00
Vince b647ad0f42
Refactor UpdateKinematics() and fix a lot of Content warnings (#1709)
Most warnings were related to EntityQuery and IPhysicsComponent.
Partially fixes #1650 and fixes #1682
2020-08-15 20:38:35 -07:00
AJCM-git 8503ab157a
Fixing a path (#1707) 2020-08-16 03:37:20 +02:00
Víctor Aguilera Puerto c3df108b27
Stripping (#1668)
* Start work on stripping.

* more strippable work

* Stripping works

* Nullable

* MORE NULLABLE

* nullable moment

* life is pain

* Interaction check.

* Update Content.Client/GameObjects/Components/HUD/Inventory/StrippableBoundUserInterface.cs

Co-authored-by: DrSmugleaf <DrSmugleaf@users.noreply.github.com>

* Update Content.Client/GameObjects/Components/HUD/Inventory/StrippableBoundUserInterface.cs

Co-authored-by: DrSmugleaf <DrSmugleaf@users.noreply.github.com>

* Update Content.Server/GameObjects/Components/GUI/HandsComponent.cs

Co-authored-by: DrSmugleaf <DrSmugleaf@users.noreply.github.com>

* Update Content.Server/GameObjects/Components/GUI/HandsComponent.cs

Co-authored-by: DrSmugleaf <DrSmugleaf@users.noreply.github.com>

* Update Content.Server/GameObjects/Components/GUI/HandsComponent.cs

Co-authored-by: DrSmugleaf <DrSmugleaf@users.noreply.github.com>

* Update Content.Server/GameObjects/Components/GUI/StrippableComponent.cs

Co-authored-by: DrSmugleaf <DrSmugleaf@users.noreply.github.com>

* Update Content.Server/GameObjects/Components/GUI/StrippableComponent.cs

Co-authored-by: DrSmugleaf <DrSmugleaf@users.noreply.github.com>

* Update Content.Server/GameObjects/Components/GUI/HandsComponent.cs

Co-authored-by: DrSmugleaf <DrSmugleaf@users.noreply.github.com>

* Update Content.Server/GameObjects/Components/GUI/StrippableComponent.cs

Co-authored-by: DrSmugleaf <DrSmugleaf@users.noreply.github.com>

* Update Content.Server/GameObjects/Components/GUI/StrippableComponent.cs

Co-authored-by: DrSmugleaf <DrSmugleaf@users.noreply.github.com>

* Update Content.Shared/GameObjects/Components/GUI/SharedStrippableComponent.cs

Co-authored-by: DrSmugleaf <DrSmugleaf@users.noreply.github.com>

* Update Content.Server/GameObjects/Components/GUI/StrippableComponent.cs

Co-authored-by: DrSmugleaf <DrSmugleaf@users.noreply.github.com>

* Rename InventoryComponent and HandsComponent's OnChanged event to OnItemChanged

* Apply suggestions from code review

Co-authored-by: DrSmugleaf <DrSmugleaf@users.noreply.github.com>

* Apply suggestions from code review

Co-authored-by: DrSmugleaf <DrSmugleaf@users.noreply.github.com>

* Apply suggestions from code review

Co-authored-by: DrSmugleaf <DrSmugleaf@users.noreply.github.com>

* Use static EquipmentSlotDefines

* Do not expose ContainerSlot on Inventory or Hands.

Co-authored-by: DrSmugleaf <DrSmugleaf@users.noreply.github.com>
2020-08-15 20:33:42 +02:00
Víctor Aguilera Puerto 67fbdb96b3 Fix deconstructing walls creating an atmos void.
This caused a lot of high pressure movements.
2020-08-15 16:51:57 +02:00
Víctor Aguilera Puerto 898e278266 Fix some atmos tiles not being added correctly. 2020-08-15 16:20:31 +02:00
ShadowCommander 915631d51c
Refactor collision to use hard instead of a workaround (#1677) 2020-08-15 16:07:09 +02:00
Víctor Aguilera Puerto f791719e31 Add damage cooldown to DamageOnHighSpeedImpactComponent. 2020-08-15 03:38:34 +02:00
Víctor Aguilera Puerto b2709733a5 Revert "Welders now use EntityQuery to update instead of subscriptions."
This reverts commit a815b50f6d and fixes the issue properly.
2020-08-15 00:12:30 +02:00
Víctor Aguilera Puerto a815b50f6d Welders now use EntityQuery to update instead of subscriptions. 2020-08-15 00:02:17 +02:00
Víctor Aguilera Puerto 2dc4bbd604 Fix welder updating when deleted 2020-08-14 23:54:50 +02:00
Víctor Aguilera Puerto 4ebd7e0dbc Welder now exposes temperature to hotspot every update. 2020-08-14 18:03:52 +02:00
Víctor Aguilera Puerto 8f1a74dcd1 Fix integration tests failing. 2020-08-14 16:10:19 +02:00
metalgearsloth 5962280d36
Station events (#1518)
* Station event system

Adds 2 basic events: (Power) GridCheck and RadiationStorm (based on the goonstation version).
The system itself to choose events is based on tgstation's implementation.
This also adds the event command that can be run to force specific events.

There's still some other TODO items for these to be complete, to my knowledge:
1. There's no worldspace DrawCircle method (though the radstorm could look a lot nicer with a shader).
2. The PlayGlobal power_off / power_on audio seems to cut out halfway-through
3. (I think this is a known issue) lights still emit light until you get closer in a gridcheck so PVS range might need bumping.

* Invariants for event names

* Fix random event shutdown

* Mix stereo announcements to mono

* Address feedback

* Remove redundant client system and use the overlay component instead
* Drop the server prefix

* Fix radiation overlay enum

* use entityquery instead

* zum's feedback

* Use EntityQuery

Co-authored-by: Metal Gear Sloth <metalgearsloth@gmail.com>
2020-08-13 22:52:17 +02:00
juliangiebel 781faae98a Set interaction priority of PlacableSurfaceComponent to 1 2020-08-13 20:14:07 +02:00
ike709 83a7dfebef
Improves the RCD (#1609)
* Improves the RCD

* oops

* Unnecessary

* Merge 2 checks

* RCD whitelist and reorganization

* Makes the RCD great again

* Ignored components

* loicense

* Fix missing using
2020-08-13 19:39:23 +02:00
DrSmugleaf 4a8ed41e3a
Fix namespaces and optimize imports (#1651)
* Fix namespaces and optimize imports

* Cleanup fixes

* Merge conflict fixes

* Merge conflict fixes

* Merge conflict fixes
2020-08-13 14:40:27 +02:00
metalgearsloth 05a76d55f7
Vending machine uplift (#1549)
* Let there be (vending machine) light

Cut up vending machines to have unshaded layers.
I scripted the cutting up so there might need to be minor tweaks to some of them.
Added the eris vending machine sound (I liked it more than tg's, fight me).

* Tweak sound reduction

* Mark vending as abstract

Appearance is done on each vending based on what sprite states they have (at the moment) and the vendingmachine shouldn't be spawned on its own anyway.

* Add screen layer back in

* Unstuff what was stuffed

* Removed the Soviet and USA vending machines

* Added proper licensing

Co-authored-by: Metal Gear Sloth <metalgearsloth@gmail.com>
Co-authored-by: Swept <jamesurquhartwebb@gmail.com>
2020-08-13 14:39:23 +02:00
Víctor Aguilera Puerto ca68fbe818
Add heat conduction (#1653) 2020-08-13 14:18:26 +02:00
juliangiebel 3b894c7de4 Add higher interaction priority to 2020-08-12 23:41:09 +02:00
Pieter-Jan Briers f182ff5613
Remove CannyFastMath. 2020-08-12 21:19:34 +02:00
Víctor Aguilera Puerto 1fc941b3b3 Removes CannyFastMath usage from Atmos. 2020-08-12 19:37:07 +02:00
Acruid cdc6ec3bfc Ranged weapon firing does not depend on DefaultGrid anymore. 2020-08-11 16:44:15 -07:00
Víctor Aguilera Puerto 32e4c24342 Adds atmos helpers, welding tool now lights up fires 2020-08-11 22:34:37 +02:00
Julian Giebel c00a08f504
Add disposal-charging state to disposal rsi (#1649)
Add charging state to UpdateVisualState in Content.Server/DisposalUnitComponent
2020-08-11 17:52:37 +02:00
ShadowCommander 0d29b15ae0
Fix StackComponent not getting removed from containers when empty (#1645) 2020-08-11 17:38:00 +02:00
metalgearsloth 452a67032f
Fix the pathfinding leak (#1647)
Off-grid entities were continually expanding the graph indefinitely which is... bad.

Co-authored-by: Metal Gear Sloth <metalgearsloth@gmail.com>
2020-08-11 17:36:40 +02:00
Exp c562a8db03
Gas Analyzer Improvement (#1631)
* -Click on the analyzer to get the gas at your pos, click on tile to get gas tehre
-Reduced the auto refresh time
-AutoRefresh ui

* Use a fixed position instead of a offset

* Review
2020-08-10 16:32:29 +02:00
Exp aaffd7e198
Chem Master & Dispenser Power Fixes (#1622)
* -ChemDispenser & Master can now open the UI without power
-Both can also eject beaker without power

* -Disables button if not powered
-Disables clear & eject buttons if no beaker

* Fix server freeze
2020-08-10 16:30:56 +02:00
Víctor Aguilera Puerto 6a06358012 Minor atmos optimization 2020-08-10 02:53:55 +02:00
Exp d4f406337e
Fix Slipping not calling Dropped (#1632) 2020-08-09 20:52:52 +02:00
Víctor Aguilera Puerto 7293d985a5
Unique gas serialization for atmos (#1629)
* Add unique gas mixture serialization for atmos

* Refactor doAfterEventArgs

* Adds atmos commands

* Roundstard now has correct ratio of gases

* Fixed hashcode for gasmixture, better grid atmos serialization

* Airlocks create gas based on adjacent tiles now.

* Enables barotrauma component damage
2020-08-09 16:52:59 +02:00
Exp cc9f16e738
Adds Gas Analyzer (#1591)
* -Started Gas Analyzer
-TemperatureHelpers

* Formatting

* Adds PopupTooltip to NotifyManager

* Revert Tooltip fuckery

* Gas Analyzer gives proper error messages

* Localization

* Added a very wip gas analyzer ui

* UI works, doesn't look good but hey

* Safety checks

* Fancy WIP gas mix bar

* Gas Color

* Gas Amount shows only 2 decimal places

* -Made bar full width
-Moved gas list into a table
-Some gas bar things

* IDropped something

* Description

* -Percentage
-Padding

* ItemStatus

* -Proper Danger Warnings
-Added Warning danger state

* Pressure unit

Co-authored-by: Víctor Aguilera Puerto <6766154+Zumorica@users.noreply.github.com>
2020-08-08 18:24:41 +02:00
metalgearsloth 5b3b2e3207
do_after (#1616)
* do_after

Ports (most of) do_after from SS13.
Callers are expected to await the DoAfter task from the DoAfterSystem.
I had a dummy component for in-game testing which I removed for the PR so nothing in game uses do_after at the moment.
Currently only the movement cancellation is predicted client-side.

* Minor do_after doc cleanup

* do_the_shuffle

Fix nullable build errors.

* The last nullable

* Implement NeedHand

Thanks zum.

* nullable dereference

* Adjust the system query

Co-authored-by: Metal Gear Sloth <metalgearsloth@gmail.com>
2020-08-08 18:16:13 +02:00
Víctor Aguilera Puerto 9681907006 Fix bug where atmos could get stuck processing certain states for a long time 2020-08-08 16:55:36 +02:00
py01 7f0ab2e03b
Removes obsolete PhysicsComponent from power prototypes (#1542)
* Removes obsolete PhysicsComponent from wire and power prototypes

* Updates anchorable to use CollidableCOmponent

* Map update

* map update again

* Fixes generators starting unanchored

Co-authored-by: py01 <pyronetics01@gmail.com>
2020-08-08 14:41:12 +02:00
Exp b4f08811eb
Adds Spray Bottles (#1522)
* Spray Bottle

* -"Proper" wall detection
-Removed some using
-Fixed sound

* Just don't add it

* -Removed spill sound
-Added sound parameter to SpillHelper.SpillAt

* Now spawns Vapor instead of Puddles instantly

* -Review
-Nullable

* Reworkkkk

* AABB shittery

Co-authored-by: Víctor Aguilera Puerto <6766154+Zumorica@users.noreply.github.com>
2020-08-08 14:33:36 +02:00
metalgearsloth 322c2261b6
Conveyors now tickrate agnostic (#1618)
Co-authored-by: Metal Gear Sloth <metalgearsloth@gmail.com>
2020-08-08 12:34:28 +02:00
DrSmugleaf 228702c9e1
Fix ghosts being able to play instruments to themselves (#1611) 2020-08-07 22:30:48 +02:00
Víctor Aguilera Puerto ffc9a24ea0
Adds barotrauma (pressure damage) (#1605)
* Adds barotrauma, disables it for now

* At least show status effect, but don't damage the mobs

* Fix switch misuse
2020-08-07 16:23:16 +02:00
Víctor Aguilera Puerto 079937a9fe
Wall slams - Damage on high velocity impact. (#1600)
* Wallslammed!

* Removes debug logging

* Buff damage to 5 by default
2020-08-07 16:22:32 +02:00
py01 01b10cb687
Node serialization change (#1497)
* NodeContainerComponent serializes a set of Nodes with ExposeData

* Fixes Nodes to work when being created by serializer

* ConduitNode

* ConduitPlacer to replace WirePlacer

* ConduitNode ConduitLayer setter

* Map update

* Comments

* Map update again

* Method ordering by privacy

* Removes conduits

* ignored component

* reorg

* map update

* readd wireplacer

Co-authored-by: py01 <pyronetics01@gmail.com>
2020-08-07 02:47:54 +02:00