Commit Graph

891 Commits

Author SHA1 Message Date
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
DrSmugleaf
1068269db0 Fix pointing by ghosts being visible to the living (#1715) 2020-08-16 16:26:07 +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
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
DrSmugleaf
add4986001 Fix being able to do most verbs from within a container (#1613)
* Fix being able to do most verbs from within a container

* Fix missing container check when using global verbs
2020-08-15 20:38:37 +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
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
metalgearsloth
619386a04a Server EntitySystem cleanup (#1617)
* Server EntitySystem cleanup

I went after low-hanging fruit systems.

* Add / change to internal access modifiers to systems
* Use EntityQuery to get components instead
* Add sealed modifier to systems
* Remove unused imports
* Add jetbrains annotation for unused classes
* Removed some pragmas for dependencies

This should also fix a decent chunk of the server build warnings, at least the ones that matter.

* Also disposals

* Update Content.Server/GameObjects/EntitySystems/GravitySystem.cs

* Fix build

Co-authored-by: Metal Gear Sloth <metalgearsloth@gmail.com>
Co-authored-by: Víctor Aguilera Puerto <6766154+Zumorica@users.noreply.github.com>
2020-08-13 14:17:12 +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
metalgearsloth
b34bd7c188 AI preset curves and expandable optimisation (#1346)
* AI preset curves and expandable optimisation

Added preset curves for considerations to use just to avoid repeating the same variables all over the shop.

Moved common considerations for expanded actions onto the expandable action e.g. you need a free hand to be able to PickUpGloves so we'll just check it the once rather than for each action.

* FIX PRAGMA

Co-authored-by: Metal Gear Sloth <metalgearsloth@gmail.com>
2020-08-11 22:01:55 +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
ec75baeede Disables the AI Pathfinding system for the time being. 2020-08-10 03:33:05 +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
Víctor Aguilera Puerto
0c419cc448 Proper DoAfterEventArgs refactor 2020-08-09 02:04:15 +02:00
Víctor Aguilera Puerto
a57883e363 Refactor doAfterEventArgs 2020-08-09 01:44:44 +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