Commit Graph

3399 Commits

Author SHA1 Message Date
Vera Aguilera Puerto 6eee256b11
Refactors stunnable to be ECS. (#4819)
Also cleans up StandingStatesystem.
2021-10-10 12:47:26 +02:00
mirrorcult 9b4e495c95
Blast doors & shutters (#4822) 2021-10-10 12:43:50 +02:00
Vera Aguilera Puerto 6247299c84 Fix AI Reachable CanAccess exception when target is not on a valid grid. 2021-10-10 10:56:59 +02:00
metalgearsloth f0f7cd0e76
Update content for physics query namespace change (#4701) 2021-10-10 14:18:19 +11:00
Vera Aguilera Puerto e534e555c1 Removes jitter when (de)activating a stunbaton. 2021-10-09 21:20:54 +02:00
moonheart08 9f0c3daa65
Restart round vote now correctly shows round end screen. (#4817) 2021-10-09 20:18:20 +02:00
moonheart08 d8be2ef784
Makes announcements a +ADMIN command instead of a +FUN command. (#4815) 2021-10-09 18:36:52 +02:00
mirrorcult fe2298378d
Add verb to reset rotation of rotatable entities (#4807) 2021-10-09 18:23:34 +02:00
Vera Aguilera Puerto 67fd509c9f
Adds jittering. (#4809)
Co-authored-by: Pieter-Jan Briers <pieterjan.briers+git@gmail.com>
2021-10-09 17:30:04 +02:00
20kdc 4f5cbb63de
Paper Visualizer (#4811) 2021-10-09 15:48:53 +02:00
moonheart08 f635909d4e
Admin announcement panel. (#4803) 2021-10-09 10:54:27 +02:00
metalgearsloth b888b1fd9c
Enable shuttle rotation (#4798)
* Enable shuttle rotation

* Tweaks
2021-10-09 01:55:10 +02:00
Alex Evgrashin df3b766139
Telecrystals (and a bit more ECS) (#4775) 2021-10-08 12:26:42 +02:00
moonheart08 cf8ec622fd
Normalizes the permissions of some commands. (#4796) 2021-10-08 09:41:30 +02:00
moonheart08 b9329d59b8
Doors no longer have murderous intent (#4799) 2021-10-08 09:37:17 +02:00
Vera Aguilera Puerto 5c5c1a8288 Fix Wires having the wrong quality for opening the panel.
Fixes #4795
2021-10-08 08:40:39 +02:00
Vera Aguilera Puerto 0b57420d6e ToolSystem UseTool doesn't log missing components, slight cleanup for things using tools. 2021-10-07 23:08:16 +02:00
Vera Aguilera Puerto 6b73b89617 Anchorable checks for ToolComponent in Valid method. 2021-10-07 22:57:35 +02:00
Swept 6b474c75f8
Renames all mob IDs from stupid old format (#4789) 2021-10-07 18:59:59 +00:00
Vera Aguilera Puerto ef45db6811 Remove atmos assert, fix GridRevalidate adding virtual space tiles to list of active tiles on grid. 2021-10-07 16:51:36 +02:00
Vera Aguilera Puerto 365c7da4dc
Makes tools and welders ECS, add ToolQualityPrototype. (#4741) 2021-10-07 13:01:27 +02:00
20kdc b3f43509d1
Basic AHelp Panel, Ported & Fixed (#4776)
* Graft from https://github.com/space-wizards/space-station-14/pull/3049

* 'openahelp' command

* Add AHelp into escape menu

* Add a way to ahelp a player from the kick window

* bwoink: XAMLify, bugfix, etc.

* Rename the kick/bwoink window the Player Actions Panel

* Add the bwoink sound y'all know and love

adminhelp.ogg taken from d775e1ac80/sound/effects/adminhelp.ogg
 (available in master, therefore see master license: "All assets including icons and sound are under a Creative Commons 3.0 BY-SA license unless otherwise indicated.")
 "Changed the adminhelpsound to some creative commons sound I pinched. Until somebody can get a better one. I'm sick of MAAAAAAAAOOOOOOW."
 Actual source is https://freesound.org/people/martian/sounds/19261/ (CC0)
 The sound had been reversed and the volume altered.

* Actually play the bwoink sound on receiving an ahelp that you didn't send
2021-10-06 17:25:27 +02:00
Ygg01 4eac32bd32
Change Offset to take AtmosDirection instead of Direction (#4778) 2021-10-06 15:02:50 +02:00
Vera Aguilera Puerto a45de34f6f ItemCabinet UpdateAppearance doesn't log warnings for missing components. 2021-10-06 15:00:44 +02:00
Vera Aguilera Puerto 419edc710d
Various improvements to job greetings. (#4777) 2021-10-06 22:51:11 +11:00
Vera Aguilera Puerto 1f72435263 Fix ghosts having empty names under certain conditions.
Fixes #4731
2021-10-06 11:56:16 +02:00
Vera Aguilera Puerto 94a29978b5 Fix being able to trap aghosts in lockers.
This ain't an ideal fix, I'll admit. But it's better than nothing.
Fixes #4767
2021-10-06 11:45:52 +02:00
Vera Aguilera Puerto d16c299af1 PlaceableSurfaceSystem uses resolves. 2021-10-06 11:40:05 +02:00
Leon Friedrich 6f50dd2f7b
Make ItemCabinet use ItemSlots (#4771)
* pda slot names

* cabinets use item slots

* fix yaml

* fix tests
2021-10-05 14:55:45 -07:00
Leon Friedrich eb5f447e7a
fix lock system interact handle (#4772) 2021-10-05 09:02:03 -07:00
Vera Aguilera Puerto 0cb34858f8 Check if entity has FlammableComponent befor calling Extinguish on Rejuvenate. 2021-10-05 11:14:44 +02:00
Vera Aguilera Puerto 359b4b866d Fix exception when CableDeviceNode is not on a grid. 2021-10-05 09:51:23 +02:00
Leon Friedrich 6cb58e608b
ECS verbs and update context menu (#4594)
* Functioning ECS verbs

Currently only ID card console works.

* Changed verb types and allow ID card insertions

* Verb GUI sorting and verb networking

* More networking, and shared components

* Clientside verbs work now.

* Verb enums changed to bitmask flags

* Verb Categories redo

* Fix range check

* GasTank Verb

* Remove unnecessary bodypart verb

* Buckle Verb

* buckle & unbuckle verbs

* Updated range checks

* Item cabinet verbs

* Add range user override

* construction verb

* Chemistry machine verbs

* Climb Verb

* Generalise pulled entity verbs

* ViewVariables Verb

* rejuvenate, delete, sentient, control verbs

* Outfit verb

* inrangeunoccluded and tubedirection verbs

* attach-to verbs

* remove unused verbs and move VV

* Rename DebugVerbSystem

* Ghost role and pointing verbs

* Remove global verbs

* Allow verbs to raise events

* Changing categories and simplifying debug verbs

* Add rotate and flip verbs

* fix rejuvenate test

* redo context menu

* new Add Gas debug verb

* Add Set Temperature debug verb

* Uncuff verb

* Disposal unit verbs

* Add pickup verb

* lock/unlock verb

* Remove verb type, add specific verb events

* rename verb messages -> events

* Context menu displays verbs by interaction type

* Updated context menu HandleMove

previously, checked if entities moved 1 tile from click location.

Now checks if entities moved out of view.

Now you can actually right-click interact with yourself while walking!

* Misc Verb menu GUI changes

* Fix non-human/ghost verbs

* Update types and categories

* Allow non-ghost/human to open context menu

* configuration verb

* tagger verb

* Morgue Verbs

* Medical Scanner Verbs

* Fix solution refactor merge issues

* Fix context menu in-view check

* Remove prepare GUI

* Redo verb restrictions

* Fix context menu UI

* Disposal Verbs

* Spill verb

* Light verb

* Hand Held light verb

* power cell verbs

* storage verbs

and adding names to insert/eject

* Pulling verb

* Close context menu on verb execution

* Strip verb

* AmmoBox verb

* fix pull verb

* gun barrel verbs

revolver verb
energy weapon verbs
Bolt action verb

* Magazine gun barrel  verbs

* Add charger verbs

* PDA verbs

* Transfer amount verb

* Add reagent verb

* make alt-click use ECS verbs

* Delete old verb files

* Magboot verb

* finalising tweaks

* context menu visibility changes

* code cleanup

* Update AdminAddReagentUI.cs

* Remove HasFlag

* Consistent verb keys

* Remove Linq, add comment

* Fix in-inventory check

* Update GUI text alignment and padding

* Added close-menu option

* Changed some "interaction" verbs to "activation"

* Remove verb keys, use sorted sets

* fix master merge

* update some verb text

* Undo Changes

Remove some new verbs that can be added later

undid some .ftl bugfixes, can and should be done separately

* fix merge

* Undo file rename

* fix merge

* Misc Cleanup

* remove contraction

* Fix keybinding issue

* fix comment

* merge fix

* fix merge

* fix merge

* fix merge

* fix merge

* fix open-close verbs

* adjust uncuff verb

* fix merge

and undo the renaming of SharedPullableComponent to PullableComponent. I'm tired of all of those merge conflicts
2021-10-04 20:29:03 -07:00
20kdc 2a8486a384
Pullability partial ECS refactor, monkey-gibbing error fix (#4695)
* Migrate lots of pulling logic out of the components and clean it up

* It's buggy, but move more code out of the pullable component

* Pulling system now throws less errors than it did before the refactor

* Finally finish the big parts of refactoring pullability

* Pulling: Handle disconnect properly if the pull joint has been removed by physics shutdown

* Port 2b68449328 to this branch

* Changes as per PR reviews

* Port e801ffac45 (SharedJointSystem) and fix issues encountered during testing

SharedJointSystem.

Also, MinLength and Stiffness appear to have suddenly gained enough meaning that pulling is broken unless they're set.
2021-10-04 17:10:54 +02:00
20kdc ecbf8621a7
Make radiation storms occur at least somewhat near the station (Revision 3: LocalBounds) (#4745)
Co-authored-by: metalgearsloth <comedian_vs_clown@hotmail.com>
2021-10-03 18:26:45 -07:00
20kdc 2b67a22485
Stop casting AME energy into int because it underflows. (#4762) 2021-10-03 17:58:54 -07:00
metalgearsloth c8193ef393 Fix master 2021-10-04 01:29:50 +11:00
Vera Aguilera Puerto 3e2a8738a9
PopupSystem now uses Filter methods for getting players from entities. (#4751) 2021-10-03 16:15:15 +02:00
Paul Ritter 6fdb364497
Admin overlay (#4728)
* adds admin overlay

* fixes things
2021-10-03 13:34:36 +02:00
20kdc b114f4a523
Update UI when the AME node group is changed, fix AME connection issues (#4750)
* Update UI when the AME node group is changed (fixes core count indicator being wrong)

* Fix connection issues between AME controller and cores

* Fix #4365 by properly propagating and clearing AME core injection state

* Fixes #4364
2021-10-03 13:33:28 +02:00
Galactic Chimp 61f1c8a05c
#3898 open sprite field for drink comp (#4235)
* temp

* #3898 some progress on DrinkCanVisualizer

* Fixed implementation

* Moved drink can sprite layer definition to abstract parent

* Added open drink can sprites

* #3898 - fixes for drink cans' sprite field after merge + moved UpdateAppeareance from DrinkComponent to DrinkSystem

* Update Content.Server/Nutrition/EntitySystems/DrinkSystem.cs

* #3898 removed obsolete comment

Co-authored-by: Javier Guardia Fernández <DrSmugleaf@users.noreply.github.com>
2021-10-03 15:56:29 +11:00
20kdc bae033d6c3
Ghosts are now spawned specifically via map coordinates (#4747)
Ought to fix #3987 and ghost blackscreen
2021-10-03 15:51:23 +11:00
metalgearsloth 734bfb4fad Fix meteorswarm 2021-10-03 15:31:03 +11:00
Alex Evgrashin e5df8dbee3
Moving PDA to ECS (#4538)
* Moved pen slot to separate component

* Moved it all to more generic item slot class

* Add sounds

* Item slots now supports many slots

* Some clean-up

* Refactored slots a bit

* Moving ID card out

* Moving pda to system

* Moving PDA owner to ECS

* Moved PDA flashlight to separate component

* Toggle lights work through events

* Fixing UI

* Moving uplink to separate component

* Continue moving uplink to separate component

* More cleaning

* Removing pda shared

* Nuked shared pda component

* Fixed flashlight

* Pen slot now showed in UI

* Light toggle now shows correctly in UI

* Small refactoring of item slots

* Added contained entity

* Fixed tests

* Finished with PDA

* Moving PDA uplink to separate window

* Adding-removing uplink should show new button

* Working on a better debug

* Debug command to add uplink

* Uplink send state to UI

* Almost working UI

* Uplink correcty updates when you buy-sell items

* Ups

* Moved localization to separate file

* Minor fixes

* Removed item slots methods events

* Removed PDA owner name

* Removed one uplink event

* Deleted all uplink events

* Removed flashlight events

* Update Content.Shared/Traitor/Uplink/UplinkVisuals.cs

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

* Update Content.Server/Containers/ItemSlot/ItemSlotsSystem.cs

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

* Update Content.Server/Containers/ItemSlot/ItemSlotsSystem.cs

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

* Update Content.Server/GameTicking/Presets/PresetTraitorDeathMatch.cs

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

* Item slots system review

* Flashlight review

* PDA to XAML

* Move UplinkMenu to seperate class, fix WeightedColors methods

* Move UI to XAML

* Moved events to entity id

* Address review

* Removed uplink extensions

* Minor fix

* Moved item slots to shared

* My bad Robust...

* Fixed pda sound

* Fixed pda tests

* Fixed pda test again

Co-authored-by: Alexander Evgrashin <evgrashin.adl@gmail.com>
Co-authored-by: metalgearsloth <31366439+metalgearsloth@users.noreply.github.com>
Co-authored-by: Visne <vincefvanwijk@gmail.com>
2021-10-03 15:05:52 +11:00
20kdc eb82dd3dae
Fix #4070, Visualizer Edition (#4730)
* Transform the Cloning Pod visualizer into a generic enum visualizer for simple cases like it

...I find it helpful at times like these to remind myself that our true enemy is
code. Code is what makes our programs run and generally is required for all of
these machinations to function in any way at all...

* Give the kitchen/meat spike a visualizer

* GenericEnumVisualizer: Byteify enums, switch to TryGetComponent for sprite
2021-10-02 16:43:47 -07:00
E F R 03e5c153da
atmos: fix AtmosDeviceSystem failing to join (#4746) 2021-10-02 14:03:42 -07:00
20kdc 201b1bec89
Fix time management bugs in RadiationPulseSystem (#4743) 2021-10-02 10:53:09 -07:00
Alex Evgrashin 3b9146a11d
Fix deployable barrier light toggle (#4739) 2021-10-02 16:53:20 +02:00
Vera Aguilera Puerto b5a8e21f78 Clean up LockSystem very slightly. 2021-10-02 12:00:23 +02:00
Leon Friedrich f80f252ff2
Make fuel tanks explodey again (#4670)
* make fuel tanks explodey again

* tanks now take damage from lit welders,
2021-10-02 11:42:46 +02:00
Vera Aguilera Puerto 2992bd74cd Fix ServerStorageComponent making bad assumptions about GetEntity/GetComponent.
It assumed they returned null instead of throwing, and had wrong/invalid logic as a result.
2021-10-02 11:26:53 +02:00
Vera Aguilera Puerto 48c9f0d646 Fix server lobby music exception.
Audio resources aren't shipped with the server, so the check is essentially useless.
2021-10-02 11:26:52 +02:00
Vera Aguilera Puerto 1aadd3e57d Activate now triggers UseDelay cooldown as well.
Fixes #4605
2021-10-02 11:02:02 +02:00
Vera Aguilera Puerto 665928cfcf Make GasTileOverlaySystem slightly more resistant against non-existing grid entities. 2021-10-02 10:53:11 +02:00
20kdc 77c5e7a5ed
Migrate cuffing to an uncuff attempt event and allow self-uncuff again (#4725)
* Migrate cuffing to an uncuff attempt event and allow self-uncuff again

* Uncuff attempt event: Use more SubscribeLocalEvent and Dependency attributes
2021-10-02 00:17:36 +02:00
mirrorcult 402cd9b56b
Many lighting tweaks (#4709) 2021-10-01 20:59:06 +00:00
DrSmugleaf f07bd6b005 You can now recreate modern marketing with VV
Makes AdvertiseComponent wait fields editable through VV
2021-10-01 21:32:02 +02:00
Kara D 0825f66ca8
Fix aghosts not being able to interact with chess
Fixes #4719
2021-10-01 12:11:04 -07:00
Vera Aguilera Puerto 3b14c21396 Port all construction conditions to the new examine. 2021-10-01 15:27:42 +02:00
Vera Aguilera Puerto f21c921c56 Fix being able to place cables on non-subfloor tiles
- Also performs an actionblocker check just in case.
2021-10-01 15:09:12 +02:00
Vera Aguilera Puerto ac6bc743da Fix being able to uncuff yourself while incapacitated. 2021-10-01 14:47:19 +02:00
Vera Aguilera Puerto 883cbf40b2 Fix airlocks being opened by anything that bumps into them.
- Adds DoorBumpOpener component.
2021-10-01 13:47:38 +02:00
Vera Aguilera Puerto 36514f4bbd Fix hand examine showing virtual items. 2021-10-01 13:37:43 +02:00
Vera Aguilera Puerto bbe79d91a7 Fix strippable showing virtual items. 2021-10-01 13:35:21 +02:00
Vera Aguilera Puerto facb0358f5 Fix buckle component exception when Removed from entity. 2021-10-01 13:23:39 +02:00
Vera Aguilera Puerto 47107c6a42 Adds linting support to SoundCollectionPrototype, fix linter errors.
Closes #4580
2021-10-01 12:40:44 +02:00
Vera Aguilera Puerto 26808d2e9a Fixes bar sign not changing due to wrong conditional. 2021-10-01 12:28:52 +02:00
20kdc 9600c8e983
Fix various solution capability issues (syringes, drinks) (#4687)
* Fix syringe message stating you're attempting to draw from yourself when you aren't

* Fix various missing capabilities (syringes, beakers, drinks)

* And fix mug inject/dispense/etc, too!

* Injectors can now refill things, and switch over drinks and cups thereof to be refillable rather than injectable
2021-10-01 12:06:50 +02:00
Vera Aguilera Puerto 6451b339c2 Fix drinking glasses not fitting in reagent dispensers. 2021-09-30 14:21:56 +02:00
Vera Aguilera Puerto fcb23627eb Fixes ghost pointing.
- Ensures VisibilityComponent on entities with GhostComponent, sets visibility layer correctly.
- Fixes wrong bitflag operation comparison
2021-09-30 13:57:29 +02:00
Vera Aguilera Puerto e194df9747 Fix GameTicker and StartingGear performing bad string checks.
- This prevented people from spawning as clown, etc if they had set the skirt option.
- Adds some custom type serializers to StartingGear for YAML linter support.
2021-09-30 13:35:35 +02:00
Kara D d3751ee706
whoops 2021-09-29 17:34:34 -07:00
metalgearsloth 8365e8d52c
Event for PowerNetBattery CurrentSupply changing (#4570)
I re-used AmbientOnPowered but maybe that was lazy; I was doubtful anything would ever have ApcPowerReceiver and PowerNetBatteryComponent.
2021-09-29 17:09:16 -07:00
Vera Aguilera Puerto accb83b344 Raise HolidaysRefreshedEvent when holidays are disabled. 2021-09-29 12:57:37 +02:00
Vera Aguilera Puerto 77c93a5648 Turns HolidayManager into an entity system, HolidaySystem. 2021-09-29 12:56:10 +02:00
metalgearsloth ad783396f8
Update CloseTo to CloseToPercent (#4708) 2021-09-29 20:07:01 +10:00
metalgearsloth fe4a415d3b
Don't send chat to ghosts on other maps (#4698) 2021-09-29 11:02:27 +02:00
Vera Aguilera Puerto 0be5ff829b
Gets rid of all ComponentManager usages. (#4707) 2021-09-28 13:35:29 +02:00
Vera Aguilera Puerto 4e6d602784 DoAfterSystem uses EntityUid internally, adds EntityUid constructor for DoAfterEventArgs. 2021-09-28 11:33:33 +02:00
Swept 95d6f924cc Fixes loc typo in Traitor preset 2021-09-26 23:10:24 -07:00
metalgearsloth 91665cf0e6
Optimise emergency lights a bit (#4567)
* Optimise emergency lights a bit

* Fixes

* Delete the failing test, sinple

* Revert "Delete the failing test, sinple"

This reverts commit 7d9e3a3bb6975c15add2987e39e0d3ba85d88be3.

* Start server and fix test

It just werks
2021-09-27 14:51:17 +10:00
metalgearsloth c298a8dc8e
Move remqueue to engine (#4700) 2021-09-27 14:38:53 +10:00
Vera Aguilera Puerto 0869d837d6 Replace ComponentManager with EntityManager in StackSystem.
Stacks are the most advanced piece of code in this codebase...
2021-09-26 15:43:38 +02:00
Vera Aguilera Puerto e71e5bec39 StackSystem uses PopupSystem.
Stacks are at the vanguard, as always.
2021-09-26 15:38:07 +02:00
Vera Aguilera Puerto f913d8361d
Refactors smoking to ECS, smoking actually makes you inhale reagents. (#4678) 2021-09-26 15:19:00 +02:00
Vera Aguilera Puerto 0767bd3777
Popup ECS Refactor (#4692) 2021-09-26 15:18:45 +02:00
Vera Aguilera Puerto 2051970cc1 Remove IMetaDataComponent dependency from DirtyUi in GasCanisterSystem
Just so I don't need to make this use MetaDataComponent for now.
2021-09-26 13:01:10 +02:00
Vera Aguilera Puerto a9e44770cf Stack respects InteractUsing handled. 2021-09-25 10:44:54 +02:00
metalgearsloth 2145124aa4
Disabler locker throwing (#4683) 2021-09-23 15:44:25 -07:00
Vera Aguilera Puerto 08184bc928
Refactor AdvertiseComponent to be ECS, improve performance. (#4676) 2021-09-24 02:02:22 +10:00
Vera Aguilera Puerto c4ec9a143d ReadyAll iterates `PlayersInLobby` instead of using `IPlayerManager`. 2021-09-23 13:18:48 +02:00
Vera Aguilera Puerto 55393699b1 ReadyAll no longer spawns people who are observing
Fixes #4650
2021-09-23 13:00:28 +02:00
Vera Aguilera Puerto 246fda53c5
Refactor Barotrauma to be ECS. (#4674)
- Refactor IPressureProtection to be two different ECS events.
2021-09-22 21:02:25 +10:00
Vera Aguilera Puerto 6cea9cb973
Refactor Flammable to be ECS. (#4671)
- Refactor IHotItem into IsHotEvent.
- Refactor IFireAct into TileFireEvent.
2021-09-22 11:05:33 +02:00
Vera Aguilera Puerto 9bde39c533 Clothing sound equip only happens on intentional equips. 2021-09-21 17:28:26 +02:00
Vera Aguilera Puerto 04ea6a66f6 Dice roll popup, some DiceSystem cleanup. 2021-09-21 17:04:16 +02:00
Vera Aguilera Puerto cab0b4fc93 Refactor GasCanisterSystem to use Resolves, improves canister performance slightly. 2021-09-21 14:25:58 +02:00
Pieter-Jan Briers 00fbffcddf AGhost now un-aghosts you if you are already a ghost. 2021-09-21 08:13:47 +02:00
Swept ae54ad188e
Changes most uses of Color.Green to Color.LimeGreen for better visuals (#4666) 2021-09-20 21:50:02 -07:00
Swept 3e4a3a7597 Fixes typo causing flashlight_off.ogg not to play 2021-09-20 11:53:34 -07:00
metalgearsloth a8908427a8 Remove some unused fields 2021-09-21 00:16:52 +10:00
Vera Aguilera Puerto 61d8852799
Update StackSystem to use Resolves. (#4664)
* Update StackSystem to use Resolves.

* Compile
2021-09-20 13:39:05 +02:00
metalgearsloth 4b2a4dbfb7
Update content for accurate grid bounds (#4632)
* A

* dummy comment why CI plz
2021-09-20 21:08:10 +10:00
Vera Aguilera Puerto cda67df317 Fix some warnings relating to fields being unused. 2021-09-20 11:22:59 +02:00
metalgearsloth 578ed16b8f
Remove IRelayMoveInput (#4663)
* Remove IRelayMoveInput

This interface gets called every time a movement key is pressed so it gets called a lot.

* Remove RelayMovementEntityMessage

Co-authored-by: metalgearsloth <metalgearsloth@gmail.com>
2021-09-20 11:06:48 +02:00
Visne fcc1217e5d
Stop using some obsolete stuff (#4657) 2021-09-19 23:40:22 -07:00
Vera Aguilera Puerto a9b3b5136b
Improves and cleans up TabletopSystem further. (#4633) 2021-09-19 11:07:35 +02:00
Vera Aguilera Puerto 08d6801ec5
Makes GasCanisterSystem use ECS BoundUserInterfaces. (#4608) 2021-09-19 09:32:38 +02:00
Ygg01 fa905f477d
Fix Welder component interaction (#4634) 2021-09-19 15:15:34 +10:00
Vera Aguilera Puerto e440df03db
Adds parchís game board, improves tabletop system to support other games. (#4610) 2021-09-18 10:40:38 +02:00
Mads Glahder 08cfc3bb46
Fix construction from inside containers (#4595)
* Disallow construction of construction ghosts from inside a container

* Move IsInContainer check to before doing container ensuring

* Move IsInContainer check to HandleStartStructureConstruction to allow building items but not construct structures when inside a cozy locker

* Update Resources/Locale/en-US/construction/construction-system.ftl

Co-authored-by: Vera Aguilera Puerto <6766154+Zumorica@users.noreply.github.com>
2021-09-18 10:38:42 +02:00
mirrorcult 62f6c8dd8e
Wieldable/two-handed weapons (#4554)
* wielding kinda works

* rough out all the edges, wielding works nicely

* popups + loc

* increase damage & extra damage against whitelist

* small fixes

* forgot to actually do that

* reviews

* reviews + thing

* use resistances and not extradamageagainstwhitelist

* slashy

* make increasedamageonwield and melee hit events work with modifiersets

* Silly individual
2021-09-17 07:16:11 -07:00
Vera Aguilera Puerto 078a62762f
Improves the JobSpecial system. (#4626)
* Improves the JobSpecial system.

* clean up code
2021-09-16 23:17:19 +10:00
Vera Aguilera Puerto ce746dde35 Fix not being able to put most things in your pockets. 2021-09-16 12:16:14 +02:00
metalgearsloth 6e99c8efcd
Move testbed to engine (#4611) 2021-09-16 13:02:50 +10:00
Pieter-Jan Briers cd6c2bb373 Improve ExaminedEvent to handle newlines for you with helper methods. 2021-09-15 16:58:15 +02:00
Pieter-Jan Briers 9c7b061d13 Puddle IExamine event. 2021-09-15 16:39:34 +02:00
Pieter-Jan Briers ce6e37bdd8 ECS-ify Construction[Ghost]Component IExamine. 2021-09-15 16:36:56 +02:00
mirrorcult 7cee263955
Landing velocity threshold (#4606)
* landing threshold

* on bodystatus change

Co-authored-by: metalgearsloth <31366439+metalgearsloth@users.noreply.github.com>
2021-09-15 20:58:45 +10:00
Ygg01 12430fbfcc
Fix fire extinguisher to use spray solution (#4616)
* Fix fire extinguisher to use spray solution

* Fix FireExtinguisher more properly

* Re-add missing check to VaporSystem
2021-09-15 20:48:07 +10:00
Ygg01 c3d11fb3e1
Fix throwable solution (#4590)
* Fix throwable solution

* Revert previous commit

* Change Spillable and SpillBehavior

* Fix sloth's suggestion. Add more documents
2021-09-15 20:46:43 +10:00
Leon Friedrich df584ad446
ECS damageable (#4529)
* ECS and damage Data

* Comments and newlines

* Added Comments

* Make TryChangeDamageEvent immutable

* Remove SetAllDamage event

Use public SetAllDamage function instead

* Undo destructible mistakes

That was some shit code.

* Rename DamageData to DamageSpecifier

And misc small edits

misc

* Cache trigger prototypes.

* Renaming destructible classes & functions

* Revert "Cache trigger prototypes."

This reverts commit 86bae15ba6616884dba75f552dfdfbe2d1fb6586.

* Replace prototypes with prototype IDs.

* Split damage.yml into individual files

* move get/handle component state to system

* Update HealthChange doc

* Make godmode call Dirty() on damageable component

* Add Initialize() to fix damage test

* Make non-static

* uncache resistance set prototype and trim DamageableComponentState

* Remove unnecessary Dirty() calls during initialization

* RemoveTryChangeDamageEvent

* revert Dirty()

* Fix MobState relying on DamageableComponent.Dirty()

* Fix DisposalUnit Tests.

These were previously failing, but because the async was not await-ed, this never raised the exception.

After I fixed MobState component, this exception stopped happening and instead the assertions started being tested & failing

* Disposal test 2: electric boogaloo

* Fix typos/mistakes

also add comments and fix spacing.

* Use Uids instead of IEntity

* fix merge

* Comments, a merge issue, and making some damage ignore resistances

* Extend DamageSpecifier and use it for DamageableComponent

* fix master merge

* Fix Disposal unit test. Again.

Snapgrids were removed in master

* Execute Exectute
2021-09-14 10:07:37 -07:00
Visne 973926fc9a
Add chess (and mostly just tabletop backend stuff) (#4429)
* Add draggable tabletop component

* Use EntityCoordinates instead

* Don't send coordinates every frame

* Add chessboard + verb WIP

* Add documentation, verb networking works now

* Work so far
Need PVS refactor before being able to continue
Current code is broken

* viewsubscriber magic

* yes

* Fix map creation

* Add chess pieces, attempt prediction

* Add chess sprites and yml

* Clamping + other stuff

* fix

* stuff

* StopDragging() StartDragging()

* add piece grabbing

* Refactor dragging player to seperate event

* 🤣 Who did this 🤣💯👌

* 📮 sussy 📮

* Update chessboard sprite, scale piece while dragging

* yes

* ye

* y

* Close tabletop window when player dies

* Make interaction check more sane

* Fix funny behaviour when stunned

* Add icon

* Fix rsi

* Make time passed check more accurate

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

* Use EyeManager.PixelsPerMeter

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

* Add missing import

* Move viewport properties to XAML

* Make shared system and component abstract

* Use built in EntityManager

* Use RaiseNetworkEvent instead of SendSystemNetworkMessage

* Cache ViewSubscriberSystem

* Move unnecessary code to prototype

* Delete map on component shutdown instead of round restart

* Make documentation match rest of codebase

* Use ComponentManager instead of TryGetComponent

* Use TryGetComponent instead of GetComponent

* Add nullspace check to ClampPositionToViewport()

* Set world pos instead of local pos

* Improve server side verification

* Use visualizer

* Add netsync: false to sprites using visualizer

* Close window when chessboard is picked up

* Update to master

* Fix bug when opening window while another is opened

* Use ComponentManager

* Use TryGetValue

Co-authored-by: metalgearsloth <31366439+metalgearsloth@users.noreply.github.com>
Co-authored-by: metalgearsloth <comedian_vs_clown@hotmail.com>
2021-09-13 19:58:44 +10:00
metalgearsloth f301e45163
Remove ILand (#4582)
* Remove ILand

* Make land not handleable

* Rename ILand
2021-09-12 16:22:58 +10:00
metalgearsloth 0137884e16
Take TryRepell behind the shed (#4584)
Singularity containment uses physics and just workstm
2021-09-10 15:26:38 +02:00
Paul Ritter 4c7670fe82
conveyor & recycler ecs (#4537)
* conveyor done, recycler still todo

* done, just need to suss out the physics part. pinged sloth about it

* ship it
2021-09-10 17:26:05 +10:00
Swept c00e82462b
Tweaks ambient sound values and improves some existing sounds (#4576)
* Updates singularity to use AmbientSound

* Removed hum from light tubes and tweaked vending/bulb ambience

* Adds more explosion sound effects

* Moves closet open/close.ogg and adds wooden closet sound effect

* Updates flashlight on/off sound

* Adds HL Scientist scream collection

* Tweaks APC Ambience

* Minor oversight on det locker

* Addressed reviews
2021-09-10 11:31:54 +10:00
Vera Aguilera Puerto 77fe21eb0d
Refactors flashes to ECS, sunglasses protect you from being flashed. (#4579)
* Refactors flashes to ECS, sunglasses protect you from being flashed.

* VV ReadWrite for FlashImmunity Enabled.

* Use cached IEntityLookup.

* Consistent formatting.

* Fix flashbang duration.
Flash duration is a mess.

* Small area flash code cleanup.

* Flashable state is only sent to attached player.
2021-09-10 00:20:41 +10:00
Leon Friedrich c19b32d2ee
fix stomach bug (#4571) 2021-09-08 00:19:19 -07:00
metalgearsloth ff40a7665d
Ambient sound system (#4552)
* Ambient sound system

Client-side system that plays audio from nearby objects that are randomly sampled.

* Decent

* Tweaks

* Tweaks

* Comment this out for now

* reduce VM sound

* Fix rolloff

* Fixes

* Volume tweak
2021-09-07 18:47:23 +10:00
Vera Aguilera Puerto 68a78e94b7 Slight explosively depressurize cleanup. 2021-09-06 17:30:38 +02:00
Vera Aguilera Puerto 9f4ea1e5a9 Fix rare atmos crash when explosively depressurizing too many tiles. 2021-09-06 17:16:27 +02:00
Vera Aguilera Puerto a8e7fb4977 Optimize atmos debug assert.
Seems I missed this one.
2021-09-06 16:55:05 +02:00
Ygg01 c209e3f29b
Solution refactor (#4407)
* Rename SolutionContainerCaps -> Capability

* Move IExamine event to Chemistry System.

* ECS the ISolutionChange into SolutionChangeEvent

* Unify SolutionContainer into a single shared component

* Replace ISolutionInteraction with SolutionContainerComponent

* Move all methods from SolutionContainer to ChemistrySystem

* Refactor EntitySystem calls to Dependencies

* Refactor SolutionContainer to SolutionManager

* Fix yamls

* Fix test fails

* Fix post merge issues

* Fix various issues with SolutionManager

* More fixes

* Fix more components

* Fix events not being directed

* Fixes for Hypospray

* Separate removal and iteration on Metabolism

* Fix creampie problems

* Address some of sloth's issues

* Refactors for Systems

* Refactored solution location

* Fix tests

* Address more sloth issues

* Fix dependency

* Fix merge conflicts

* Add xmldocs for Capabilities components

* Remove HasSolution/TryGetDefaultSolution and Add/Remove Drainable/Refillable

* Replace Grindable/Juiceable with Extractable

* Refactor field names

* Fix Drainable

* Fix some issues with spillable and injector

* Fix issues with Grinder

* Fix Beaker having duplicate solutions

* Fix foaming

* Address some MGS issues

* Fix Uid issues

* Fix errors in solution Tranfer

* Fixed some extra values constant values

* Cola is drinkable now
2021-09-06 23:49:44 +10:00
metalgearsloth 8c5aaafee3 Stop atmos spamming physics bodies awake
ApplyLinearImpulse already wakes it up so there's no point for this besides slammin physics.
2021-09-06 02:22:23 +10:00
Ygg01 53b53c3e0e
Cigarette ecs (#4495)
* Reorganized Shared.Storage folder

* Replace StorageCounter with Item Counter

* Change stack visuals setting data

* Fix mirrorcult suggestions

* Fix items from upstream

* Fix type formatting
2021-09-04 10:42:32 -07:00
Leon Friedrich c7cfc8a90c
fix dead alert (#4558) 2021-09-02 21:11:12 -07:00
Pieter-Jan Briers 3ee36350cb More IoC constructor removal 2021-09-01 13:29:52 +02:00
Pieter-Jan Briers a3fc00dc29 Change some data definitions to not do IoC resolve in their constructors. 2021-09-01 13:23:52 +02:00
metalgearsloth df7d6c4d90
PoweredLight uses PointLights for appearance (#4540)
* PoweredLight uses PointLights for appearance

Previously this just set PointLightComponent data via the visualizer which lead to desyncs in the data between client and server. If the server pointlight was dirtied at any point then the pointlight data set via appearance visualizers was bulldozed.

* Address review
2021-08-31 18:45:02 +10:00
Alex Evgrashin 4c873e53f2
Refactor ghost boo to ECS (#4511)
* Moved ghost boo to ecs

* Fixed small light exception

* No need to inject EM

* Moved cooldown and time to fields

Co-authored-by: metalgearsloth <31366439+metalgearsloth@users.noreply.github.com>
2021-08-31 18:33:55 +10:00
Vera Aguilera Puerto fa48e2abae Move StackSystem Use method to SharedStackSystem 2021-08-30 12:31:28 +02:00
Vera Aguilera Puerto d1fe278afc Stack components are now entirely logicless.
- GetState is handled in SharedStackSystem
- Adds friend attributes to the stack components
2021-08-30 11:49:09 +02:00
metalgearsloth 4e46cf7d27
Make content use EntityLookupFlags (#4531)
* Use lookup flags

* Woops
2021-08-29 14:23:11 +10:00
Swept a3c19ad439
Replaces outdated code in GravitySystem.cs (#4505) 2021-08-28 00:36:30 +02:00
Paul Ritter e11a9b282a
machine linking refactor to ecs (#4323)
* started work

* some more work, ui working (somewhat)

* stuff

* reorganization

* some more reorg

* conveyors

* conveyors working

* finalized (dis)connection
added linkattempt
added feedback text
work on conveyors

* removed command
add rangecheck

* fixed inrange check

* handling

* ui no longer kanser, ship it

* adresses reviews

* reformats file

* reformats file

Co-authored-by: Paul <ritter.paul1+git@googlemail.com>
2021-08-27 17:46:02 +02:00
ShadowCommander 20a3991227
Fix deconstruction when on a step in the middle of an edge (#4519) 2021-08-25 13:45:33 +02:00
Leon Friedrich 32d99eaba9
Damageable Refactor 3: Revenge of the Instamerge (#4524)
* Add DamageType And DamageGroup Prototypes

* Remove DamageTypePrototype Field "name" as its redundant

* Change I/DamageableComponent to use prototypes

* Update DamageContainer, ReisistanceSet and DamageChangeData

* Change Barotrauma Component to use DamageType from DamageSystem

* Update AsteroidRockComponent

* update some more components

* update some more components

* Fix m o r e c o m p o n e n t s and their damageType

* all thats left is bug/missing node hunting then verification.

* push changes

* update submodule

* Merge fixes

* push DGP for example

* update damagecomponent across shared and server

* fix a few bugs

* Fix Merge issues

* Refactor damageablecomponent update (#4406)

* Fixing merge.

I messed up part of the merge. this should fix it?

* Barotrauma now uses prototypeManager

As System.Runtime.CompilerServices also has a [Dependency], I think I had to use the full path [Robust.Shared.IoC.Dependency]

* FlammableComponent now uses prototypeManager

* SuicideCommands now use prototypeManager

* Changed  many files to use prototypeManager to resolve damaege prototypes

Yeah.... prototype references would be very nice. maybe this was all a waste of time.

* Grouping prototypeManager.Index with datafield definitions

This will make it easier to eventually add prototype references

* removed unused variable

* Moved lines around.

Lines now consistent with other TODO PROTOTYPE blocks

* Grouping more prototypeManager.Index with datafield definitions

* Removed unnecessary code

* Added more prototypeManager indexing

These ones weren't pointed out by DrSmug. But I think this is all of them? That or my regex is shit.

* Remove redundant _damage field

* Remove redundant _currentTemperature

* Moved variables down

* Added prototypeManager indexing to TemperatureComponent

* WeaponComponent/System now use ProtptypeManager

And as far as I can tell damageType is required, and therefore should never have been null anyway?

* Make ranged weapon clumsy fire effects datafields

And yes, the order in which the clumsy effects occur is very important.

* Made damage on vital body part loss a datafield

* Renamed several damageGroup variables to group

* Capitalised DamageListToDamageGroup

* Make radiation and explosion damage types datafields

* Renamed _supportedDamageGroupIDs and _supportedDamageTypeIDs

* Fixed mistakes

Frogot to remove prototypeManager index DamageTypeTrigger, and wrong variable visibility in TemperatureComponent

* Added necessary code

Is something tragically wrong?

* MeleeWeapon damageType is not actually required

* Fixing someone else's mistakes

A search comes up with nothing in the yaml files, and its not a required field. So no one uses it? Hopefully?

* Changed and renamed damageTypeToDamageGroup

Previously would incorrectly return the total container damage for each group, not the total in the group

* renaming varitables

* Renamed variable DamageClasses

* Added dictionary converting functions

* Added ID-keyed dictionaries

* Making MedicalScanner use ID dictionaries, instead of prototype dictionaries

Oh oh no. I've been able to avoid UI & networking up until now. I have no Idea what I am doing.

* Fix Medical Scanner

* Summary (required)

The joke here is that this fixes the empty summary.

* Removed DamageableComponent.GetDamageGroup/Type

* Renamed "damage classes" to groups.

* Update ChangeDamage description

* Replaced Heal() with SettAllDamage()

Heal() was just a confusing name,

* More Class -> Group renaming

* Replace Class with Group in yaml files

DamageClassTrigger does not appear in any yaml? only in testing?
DamageTypeTrigger appears only in human.yaml?
HealthChangeMetabolism is Mostly in medicine.yml and one in soad.yaml

Why the hell is Cola metabolizable by plants? Who is pouring cola on their plants!?!?

* Fix _prototypeManager being null errors.

* Changing comments

Where are the prototype references

* MetabolismComponent doesn't give free heals anymore.

* Changes HungerComponent healing.

Previously I think it would actually damage you.  Only did this as I though it was causing the fast healing. Turns out that was just BREATHING.

* Generalised a function in DamageableComponent and moved it to DamageGroupPrototype

previously DamageTypesDictToDamageGroupDict was private to DamageableComponent, but was also quite general (nearly a static function). As this sort of function may be needed by other components using DamageGroupPrototypes in the future, I moved it there as a static function instead.

* modified DamageableComponent.ChangeDamage()

ignoreResistances was renamed to ignoreDamageResistances to make it clearer that it had no effect on healing.

Now uses default argument for ignoreDamageResistances, so when healing you are not forced to specify an argument that does nothing.

Also made some general changes to ignoreResistances()

* Changed class->group and added missing damage type functionality to DamageContainerPrototypes

* Added Comments to damage.yml

* Misc Changes to DamageableComponent

* Differentiated between group support and group applicability

So far, every damage type is a member of one, and only one, damage group. So this change has no real effect so far.

* Added proposed alternative to ChangeDamage()

* fixed error in DamageGroupPrototype

* Changes to DamageableComponent

Lots of changes to comments.
Some variables renamed in IDamageableComponent and DamageableComponent (also required renaming in other files)

Some minor logic changes, mostly for incorrect descirptions of boolean return values.

Also further differentiating between ApplicableGroups and SupportedGroups... if that will ever even matter

* Generalised MedicalScannerComponent

If needed, can print miscellaneous damage types now

* Fixed HealthChangeMetabolism bug

* Changing Comments around

* More questions

* Made Barotrauma default to blunt

* Fix RejuvenateTest.cs

* Comments

* Coments and variable names

* fix some master-merge issues

* Removed redundant fields

* Misc changes for readbility of PR diff

* Consistent naming

* Fixed atmos damage bug

* Removed Ranting

* Fixed Hunger after I broke it

* Fixing Bugs

* Removed stupid question

* Removed more stupid questions

* Fix potential null errors.

* Made boolean return values consistent

Also renamed several functions, to make it clear they return a bool. Docs were also updated.

* Removed IoCManager.InjectDependencies()

* Removed unnecessary 'suffocation' prefix

* Fixed Spelling

Also removed accidentally left in logger call

* Fixed Medical Scanner

* Apply suggestions from code review

Co-authored-by: ShadowCommander <10494922+ShadowCommander@users.noreply.github.com>

* Changing comments and whitespaces

* Made damage thresholds trigger  datafields required

* So many typos

* Changes to DamageableComponents

Changed documentation in IDamageableComponent

Made testing code more readable.

Relabelled groups as 'Applicable' either 'Fully Supported'

* Removed function and degeneralised

* Update DamageableComponent.cs

Removed unused parameters
Fixed Networking

* Added IoCManager.Resolve

* Now using alternative TryChangeDamage()

* Removed function from DamageGroupPrototype

* Removing comments

* Remove bad if statement?

* Fix damageChanged ordering

* Fix hurt server command

* Changed //TODO PROTOTYPE blocks

Now use PrototypeManager differently. Wherever possible, only retrieve the prototype once.

Also added default damage types to some more datafields

* Update Content.Shared/Damage/Container/DamageContainerPrototype.cs

Co-authored-by: ShadowCommander <10494922+ShadowCommander@users.noreply.github.com>

* renamed _accumulatedHealth -> _accumulatedDamage and added TODOs

* Another class-> group

* Fix bug in generalisation of damage container prototypes

* Addes Tests to make sure I dont keep adding bugs to my own code.

* Changed Return values when setting

* Removed unused class

* Added more tests, split tests into three files

* Made damage types public and VV read-write-able

* Minor changes to DamageableComponent

Replaced internal use of GetDamagePerType with _damageDict and removed some unnecessary fields

* Fix Suicide, by adding IoC Resolve()

* Fix DamageGroupTrigger bug

* Fix typos in tests

* Change comments./docstrings & spacing

* Merge tests, use test prototypes

Co-authored-by: Leon Friedrich <60421075+leonsfriedrich@users.noreply.github.com>
Co-authored-by: ShadowCommander <10494922+ShadowCommander@users.noreply.github.com>

* Fix merge issues

Co-authored-by: Silver <Silvertorch5@gmail.com>
Co-authored-by: DrSmugleaf <DrSmugleaf@users.noreply.github.com>
Co-authored-by: ShadowCommander <10494922+ShadowCommander@users.noreply.github.com>
Co-authored-by: Leon Friedrich <60421075+leonsfriedrich@users.noreply.github.com>
2021-08-24 11:06:27 -06:00
Paul Ritter 01de0db5ed
fixes some bugs with the shuttleconsole (#4517)
* fixes some bugs with the shuttleconsole

* Update Content.Server/Shuttles/ShuttleConsoleSystem.cs

Co-authored-by: ShadowCommander <10494922+ShadowCommander@users.noreply.github.com>

Co-authored-by: Paul <ritter.paul1+git@googlemail.com>
Co-authored-by: ShadowCommander <10494922+ShadowCommander@users.noreply.github.com>
2021-08-24 09:58:06 +02:00
Silver e708091518
Revert "Refactor Damage to use Protoypes (#4262)"
This reverts commit 20bf5739a9.
2021-08-24 01:06:32 -06:00
Silver 20bf5739a9
Refactor Damage to use Protoypes (#4262)
* Add DamageType And DamageGroup Prototypes

* Remove DamageTypePrototype Field "name" as its redundant

* Change I/DamageableComponent to use prototypes

* Update DamageContainer, ReisistanceSet and DamageChangeData

* Change Barotrauma Component to use DamageType from DamageSystem

* Update AsteroidRockComponent

* update some more components

* update some more components

* Fix m o r e c o m p o n e n t s and their damageType

* all thats left is bug/missing node hunting then verification.

* push changes

* update submodule

* Merge fixes

* Revert "#3935 implemented suggestions from PR"

This reverts commit a9b1c7b96333ca570067d6a9df1954481005892a.

* #4219 revert of single sound removal in EmitSoundSystem

* #4219 single sounds in EmitSoundSystem should work now

* #4219 some small project tweaks

* push DGP for example

* update damagecomponent across shared and server

* fix a few bugs

* #4219 upgraded EmitSoundSystem to use SoundSpecifier

* replacing sound (collection) names with SoundSpecifier - part 1

* #4219 pr tweaks

* #4219 pr tweak

(cherry picked from commit 00b80cb1df2434259ab5df45188e176be57603af)

* emitsoundsystem tweak

* first windoor commit

* finished yaml

* windoors work #Dab

* sound + locked prototypes

* Inserted SoundSpecifier where appropiate

* added comment

* removed TryGetSound + made some SoundSpecifier datafields required

* changed some prototypes' sound paths

* test fixes

* Fix Merge issues

* Made plasma grindable (#4334)

Co-authored-by: SETh lafuente <cetaciocascarudo@gmail.com>
Co-authored-by: Swept <sweptwastaken@protonmail.com>

* Automatic changelog update

* Fixes invalid yaml line (#4408)

* Fix potential timer exception

* SetTile during extensions test (#4409)

Mainly so it can actually account for accurate grid bounds when doing the test

Co-authored-by: metalgearsloth <metalgearsloth@gmail.com>

* Update submodule

* GasFilter appearance, EnabledAtmosDeviceVisualizer improvements.

* Add Enabled property to SubFloorHideComponent, make it networked. (#4404)

* Refactor IDoorCheck into entity events (#4366)

* IDoorCheck refactored to events

# Conflicts:
#	Content.Server/Atmos/TileAtmosphere.cs
#	Content.Server/Doors/Components/AirlockComponent.cs
#	Content.Server/Doors/Components/FirelockComponent.cs
#	Content.Server/Doors/Components/ServerDoorComponent.cs
#	Content.Server/Doors/IDoorCheck.cs

* namespaces

* Fix mapinit bug with refreshautoclose

* ok i guess these just didnt feel like staging today

* Automatic changelog update

* AtmosDevices can optionally process in space. (#4405)

Refactors some misc atmos things, too.

* Fix gravity generator yeeting

* Enables nullables for atmos internals

* Meth (#4186)

* adds an overdose metabolism with sensible default settings

* adds the compoenents for the run fast part of meth

* not sure what I changed here but I trust my past self to not fuck up for once

* adds basic meth recipe

* correctly names comething

* I really should've checked my spelling before making this pr

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

* adds suggestion from the maintaner, who managed to get to this pr suprisingly fast

* Revert "adds suggestion from the maintaner, who managed to get to this pr suprisingly fast"

This reverts commit 9b0f07402e35ed5890b3af805691b690671b950c.

* tweak

* tweak

* git's gitting on my nerves

* some small tweaks

* don't need these anymore

* makes some stuff required

* changes the meth recipe to arbitary bullshit to get the yaml thingy to leave me alone goddamnit

* extremely minor change

* removes overdose, because however it's gonna be done, it's definitely not my way

* i should really double check every key I press

* hm

* sigh, I should be more thorough with looking at error messages.

* beenus

* gay sex is gay

* this one goes out to bingo

* reviews

* not sure why status lifetime description wasn't being commited

* Update MovespeedModifierMetabolism.cs

Co-authored-by: mirrorcult <notzombiedude@gmail.com>

* adds VV to component variables

* rebalances meth, and makes the completely unrealistic recipe properly work now

* meth effects should go away now or something do you think I test these changes before pushing??

* ah yes, orginization

* adds proper recipe and prequisite chemicals

* fixes linter hopefully

* Update chemicals.yml

* a

* starts working on prediction

* thing

* predmiction??

* changes thing

* does it properly

* uses timespan instead of timer

* uses dif timers and adds a system

* updates robust and tweaks a small thing

* Fixes

* "Fix" prediction

* starts changing the timer to timespans to avoid icky on timer end

* okay fixes the check thing but now meth is broken and I don't know why

* fixes predicition (partially)

* Delete ContentNetIDs.cs

whoops

* some changes advised by sloth

* certified scalycode fix right here

* moves resettimer to the metabolism to make it less oop stinky

* moves resettimer to the metabolism to make it less oop stinky

* gamin

* when the  is

* updates mth colour to be accurate because I forgot

* abc hard ok

* everything should be up to date now

* makes MovespeedModifierMetabolism ECS and cleans up some other stuff

* does a fixy wixy

* fix thing

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

This reverts commit 62886561098be02f9adb6352f4e858a8269d5bd5, reversing
changes made to ca34fffb5b7a40f19aec7b9e4bc37bdeab914bc1.

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

This reverts commit 4f550da19656abfd0be05f818fc6b7100252d5b8.

* fix hopefully

* updates metabolism to works with mirror's fancy new system

* updates yaml + tweaks

* bruh

* yaml moment

* :yaml moment

* Revert " :yaml moment"

This reverts commit 8cb51573c64db76d989de22acdbb9c50b2c6d052.

* 99th commit yay, also I need to not do this

* removes something that I don't need

* makes system work with this and gets rid of unnesescary check

* make the update only work on active components

* oops

* Cleanup

* alphabetise this shit

* Touchup

* Woops stupid alloc by me

* Nerf nyoom for now

Co-authored-by: metalgearsloth <31366439+metalgearsloth@users.noreply.github.com>
Co-authored-by: mirrorcult <notzombiedude@gmail.com>
Co-authored-by: metalgearsloth <comedian_vs_clown@hotmail.com>

* Automatic changelog update

* Random offset for DefaultGrid every round (#4411)

* Random offset for DefaultGrid every round

This is useful to make coders aware of entitycoordinates and mapcoordinates being different and to help spot problems early. It also puts the onus of fixing positioning bugs back onto the original coder rather than someone else if they happen to spot it.

* Fix clickable test

* Fix entitysystemextensions

* Automatic changelog update

* Document a few atmos classes.

* Update submodule

We do a little bit of debugging

* Make pulling feel less crap (#4414)

Something something pulling refactor someday

* Automatic changelog update

* Comment joint prediction

* Add CVar for random grid offset, disable it by default.

* Fixes not taking pressure damage in space.
Fixes #4415

* Automatic changelog update

* Adds an alternate jumpsuit for botany (#4419)

* Adds an alternate botanists jumpsuit

* Updated license information

* Automatic changelog update

* Added two new small areas to maintenence (#4359)

Co-authored-by: SETh lafuente <cetaciocascarudo@gmail.com>

* Automatic changelog update

* Updated meta.json to standard

* Update meta.json to standard

* a

* Revert "Update meta.json to standard"

This reverts commit 4c6702f17b.

* Revert "Updated meta.json to standard"

This reverts commit 8ea7a3ad1f.

* fix rsi

* proper sprites + visualizes nicely

* Removes broken new-line markers from a few desc.

* Fixes a localization error with solution container descriptions

* construction

* reviews + test

* remove SetLayerVisibility, doesnt work for some reason

* swept moment

* leftover

* Automatic changelog update

* Fix can't return to body bug (#4424)

* Automatic changelog update

* Update submodule

* Fix gas tile overlays on shuttles

* Offset station on roundstart again

* Fix PlaceableSurface incorrect coordinate usage.
It set world position to entity coordinate positions...

* Automatic changelog update

* Fix pickup animation incorrect coordinate usage.
Animation finalPosition was world position, while initialPosition was local position.

* Automatic changelog update

* Pointing coordinate fixes.

* Automatic changelog update

* Further pickup animation improvements.

* Adds Science Windoors (#4433)

Co-authored-by: SETh lafuente <cetaciocascarudo@gmail.com>

* Gave CMO a Hardsuit (#4434)

Co-authored-by: SETh lafuente <cetaciocascarudo@gmail.com>

* Automatic changelog update

* Fixed station engineer table spawn (#4436)

* Maps in windoors (#4432)

* Automatic changelog update

* Losing a head doesn't mean you lose your eyes #3956 #4061 (#4225)

Co-authored-by: Michael Will <will_m@outlook.de>

* Automatic changelog update

* Adds windoors for security and the brig. (#4441)

* Automatic changelog update

* Remaps Chemistry and Security, and some Mapping Fixes (#4442)

* Automatic changelog update

* Made the cloning pod and medical scanner constructible (#4439)

* Made the cloning machine pod constructable

* Added everything like I did but with the Medical Scanner

Co-authored-by: SETh lafuente <cetaciocascarudo@gmail.com>

* Automatic changelog update

* Fix fixed-point format specifier in PowerCellComponent

* Update submodule

* Actually update submodule

The last one was a test to check if you were paying attention.

* Update maps for grid collisions (#4450)

* Update submodule

* Fixes the windoor in science. (#4444)

* Automatic changelog update

* Remove IActionBlocker.CanMove (#4449)

* Remove IActionBlocker.CanMove

Ported the remainders over to using MovementAttemptEvent which should also help make mob movement a bit faster.

* Make that check faster

* Added restrictions for what can be inserted into most belts (#4367)

* Belts now restrict what can be inserted into them

* Bandolier now only holds shotgun shells

* Tiny typo

* Another tiny typo

* Automatic changelog update

* Fix indentation

* Fix stuff

* Fix gas canister

* Organize gas canister prototype

* Fix audio occlusion

This was previously being done on every SoundComponent.

* Call SoundSystem instead

* Parents crowbar-red and merges RSIs

* Deletes old crowbar_red.rsi

* Abstracts BasePlushie and ReagentContainerBase

* Adds missing suffixes to debug items and tags them all

* Crematorium now makes a noise on start and during cremation (#4459)

* Automatic changelog update

* Refactor disposals to ECS (#4418)

* ECS up disposals

Also significantly reduced its CPU usage.

* Make update significantly less S L O W

* Start units pressurised

* Client-side flush lerping

* Fix powered not toggling UI

* Fix flush button

* InteractUsing

* Minor optimisations

* Fix collisions

* Make visual state ECS

* Almost done with shared

* Most stuff moved

* Optimise item sleeping

* Automatic changelog update

* Fix door sound dampening (#4453)

* Completely fix NPC pathfinding

Through rigorous investigation and hard work.

* Implement Entity List Display and rework StorageComponent window (#4140)

* Create EntityListDisplay

* Rework ClientStorage window

* Add styling

* Remove unnecessary colors

* Rename list

* Make scrollbar push content

* Change children update a bit

* Add old index

* Localize ClientStorageComponent

* Add size return

* Remove spaces

* Fix usings

* Fix tool sounds.
Fixes #4465

* Automatic changelog update

* Fix missing sounds (#4466)

* Fix missing sounds

* Make SoundHitSpecies fallback to SoundHit

* Fix crayon YAML

* Update PlaySoundBehavior YAML

* Fix required

* Update README.md

* Fix taser physics (#4470)

* Increase MoverController performance (#4448)

Should be a decent amount; rest will come from removing IActionBlocker.

* Remove throwing fixture error

* Update submodule

* Fix sound crash when making foam (#4476)

* Automatic changelog update

* Centers some sprites

* Fix showatmos

* Fix tests.
Flashlight RSI state names had been changed, and some places weren't updated properly

* Remove pillcomponent (#4469)

* Remove PillComponent

* Make food without any solution left delete and create trash

* Replace PillComponent references with a Pill tag

* Clean up

* Add swallow message to food

* Change to eatMessage override

* Change FoodComponent transferAmount to nullable

* Change properties to private

* ItemCabinetVisualizer uses layers (#4445)

* ItemCabinetVisualizer uses layers

* Reviews applied

* Fixes the fireaxe cabinet as well

* I'm dumb

* Fixes bedsheets being unpickupable (#4479)

* Automatic changelog update

* Adds inhands for crayons and the crayon box (#4481)

* Automatic changelog update

* Fixes cigarette animations and matches now have lit/unlit inhand sprites (#4480)

* Automatic changelog update

* Adds plant clippers and changes hydro tool sprites to be more consistent (#4482)

* Adds plant clippers

* Updates sycthe, hoe and spade sprites

* Adds inhands for radio/walkietalkie (#4483)

* Adds inhands for radio/walkietalkie and separates layers

* License thingy

* Fixes test

* Can now equip fireaxe, claymore, spear and baseball back on your back (#4484)

* Can equip spears and claymores on your back now

* Adds fireaxe and baseball bat back equip

* Automatic changelog update

* Makes Match[sticks/box] ECS, Makes Matchsticks ignite plasma

* am big dumdum pls no shed

* Owner Transform to Owner in SoundSystem calls (#4460)

* Owner Transform to Owner

* Owner Transform to Owner minor fixes

* Improve hand pickup code
This way I can break EntityCoordinates' API without breaking content.
BWAHAHAHAHAH!

* Update submodule

* Version v0.5.11 does not exist

* Update submodule

We don't talk about v0.5.12 either.

* Update submodule

For the last time

* Adds duck-related content and a seclite (#4489)

* Added rubber ducky

* Adds ducky slippers

* Adds seclite

* Update Resources/Textures/Objects/Tools/seclite.rsi/meta.json

Co-authored-by: Paul Ritter <ritter.paul1@googlemail.com>

* Update Resources/Textures/Objects/Fun/ducky.rsi/meta.json

Co-authored-by: Paul Ritter <ritter.paul1@googlemail.com>

* The duck slippers now quack as you walk

Co-authored-by: Paul Ritter <ritter.paul1@googlemail.com>

* Automatic changelog update

* Adds the ability to assign equip sounds in ClothingComponent (#4485)

* Initial

* Works (Kinda)

* Polish

* Reviews

* Removes vending inventory desc and adds missing vending machine descriptions (#4493)

* Removes inventory descriptions

* Adds missing vending machine descriptions using inventory descriptions

* Woops missed a file

* Automatic changelog update

* Adds a ton more inhands (#4488)

* Removed useless loc and added inhands for some lamps

* Adds a ton of inhands to the game

* Actually adds the pill inhand

* Update Resources/Textures/Objects/Misc/utensils.rsi/meta.json

Co-authored-by: Paul Ritter <ritter.paul1@googlemail.com>

* Update Resources/Textures/Objects/Tools/rcd.rsi/meta.json

Co-authored-by: Paul Ritter <ritter.paul1@googlemail.com>

Co-authored-by: Paul Ritter <ritter.paul1@googlemail.com>

* Added open/close/stacklayers for Matchbox and inhands (#4496)

* Added open/close/stacklayers for Matchbox

* Added inhands for matchbox

* What am I a clown not gonna leave no indent spaces

* Adds sound to fire extinguisher safety (#4494)

* Automatic changelog update

* Adds a 6pack of Cola (#4499)

* Adds a 6pack of Cola

* Revert "Adds a 6pack of Cola"

This reverts commit 99f024b94ab3c684ce62e28018bd0fe2f26a2e09.

* Revert "Revert "Adds a 6pack of Cola""

This reverts commit 9e3d31e41c8ea61a962ad7d4d3c0ea7124e82653.

* Automatic changelog update

* Fix H-pulling? (#4425)

In retrospect the answer is easy, but man this took a while.

* Automatic changelog update

* Makes DiceComponent ECS

* Makes PlaceableSurface ECS

* Added classic announcement sound to announcements (#4504)

* Automatic changelog update

* Refactors throw events, makes cream pies ECS (#4500)

* Automatic changelog update

* Port the tumbler from Box2D (#4486)

* Subscribe TransformComponent events by-ref (#4478)

* Refactor damageablecomponent update (#4406)

* Fixing merge.

I messed up part of the merge. this should fix it?

* Barotrauma now uses prototypeManager

As System.Runtime.CompilerServices also has a [Dependency], I think I had to use the full path [Robust.Shared.IoC.Dependency]

* FlammableComponent now uses prototypeManager

* SuicideCommands now use prototypeManager

* Changed  many files to use prototypeManager to resolve damaege prototypes

Yeah.... prototype references would be very nice. maybe this was all a waste of time.

* Grouping prototypeManager.Index with datafield definitions

This will make it easier to eventually add prototype references

* removed unused variable

* Moved lines around.

Lines now consistent with other TODO PROTOTYPE blocks

* Grouping more prototypeManager.Index with datafield definitions

* Removed unnecessary code

* Added more prototypeManager indexing

These ones weren't pointed out by DrSmug. But I think this is all of them? That or my regex is shit.

* Remove redundant _damage field

* Remove redundant _currentTemperature

* Moved variables down

* Added prototypeManager indexing to TemperatureComponent

* WeaponComponent/System now use ProtptypeManager

And as far as I can tell damageType is required, and therefore should never have been null anyway?

* Make ranged weapon clumsy fire effects datafields

And yes, the order in which the clumsy effects occur is very important.

* Made damage on vital body part loss a datafield

* Renamed several damageGroup variables to group

* Capitalised DamageListToDamageGroup

* Make radiation and explosion damage types datafields

* Renamed _supportedDamageGroupIDs and _supportedDamageTypeIDs

* Fixed mistakes

Frogot to remove prototypeManager index DamageTypeTrigger, and wrong variable visibility in TemperatureComponent

* Added necessary code

Is something tragically wrong?

* MeleeWeapon damageType is not actually required

* Fixing someone else's mistakes

A search comes up with nothing in the yaml files, and its not a required field. So no one uses it? Hopefully?

* Changed and renamed damageTypeToDamageGroup

Previously would incorrectly return the total container damage for each group, not the total in the group

* renaming varitables

* Renamed variable DamageClasses

* Added dictionary converting functions

* Added ID-keyed dictionaries

* Making MedicalScanner use ID dictionaries, instead of prototype dictionaries

Oh oh no. I've been able to avoid UI & networking up until now. I have no Idea what I am doing.

* Fix Medical Scanner

* Summary (required)

The joke here is that this fixes the empty summary.

* Removed DamageableComponent.GetDamageGroup/Type

* Renamed "damage classes" to groups.

* Update ChangeDamage description

* Replaced Heal() with SettAllDamage()

Heal() was just a confusing name,

* More Class -> Group renaming

* Replace Class with Group in yaml files

DamageClassTrigger does not appear in any yaml? only in testing?
DamageTypeTrigger appears only in human.yaml?
HealthChangeMetabolism is Mostly in medicine.yml and one in soad.yaml

Why the hell is Cola metabolizable by plants? Who is pouring cola on their plants!?!?

* Fix _prototypeManager being null errors.

* Changing comments

Where are the prototype references

* MetabolismComponent doesn't give free heals anymore.

* Changes HungerComponent healing.

Previously I think it would actually damage you.  Only did this as I though it was causing the fast healing. Turns out that was just BREATHING.

* Generalised a function in DamageableComponent and moved it to DamageGroupPrototype

previously DamageTypesDictToDamageGroupDict was private to DamageableComponent, but was also quite general (nearly a static function). As this sort of function may be needed by other components using DamageGroupPrototypes in the future, I moved it there as a static function instead.

* modified DamageableComponent.ChangeDamage()

ignoreResistances was renamed to ignoreDamageResistances to make it clearer that it had no effect on healing.

Now uses default argument for ignoreDamageResistances, so when healing you are not forced to specify an argument that does nothing.

Also made some general changes to ignoreResistances()

* Changed class->group and added missing damage type functionality to DamageContainerPrototypes

* Added Comments to damage.yml

* Misc Changes to DamageableComponent

* Differentiated between group support and group applicability

So far, every damage type is a member of one, and only one, damage group. So this change has no real effect so far.

* Added proposed alternative to ChangeDamage()

* fixed error in DamageGroupPrototype

* Changes to DamageableComponent

Lots of changes to comments.
Some variables renamed in IDamageableComponent and DamageableComponent (also required renaming in other files)

Some minor logic changes, mostly for incorrect descirptions of boolean return values.

Also further differentiating between ApplicableGroups and SupportedGroups... if that will ever even matter

* Generalised MedicalScannerComponent

If needed, can print miscellaneous damage types now

* Fixed HealthChangeMetabolism bug

* Changing Comments around

* More questions

* Made Barotrauma default to blunt

* Fix RejuvenateTest.cs

* Comments

* Coments and variable names

* fix some master-merge issues

* Removed redundant fields

* Misc changes for readbility of PR diff

* Consistent naming

* Fixed atmos damage bug

* Removed Ranting

* Fixed Hunger after I broke it

* Fixing Bugs

* Removed stupid question

* Removed more stupid questions

* Fix potential null errors.

* Made boolean return values consistent

Also renamed several functions, to make it clear they return a bool. Docs were also updated.

* Removed IoCManager.InjectDependencies()

* Removed unnecessary 'suffocation' prefix

* Fixed Spelling

Also removed accidentally left in logger call

* Fixed Medical Scanner

* Apply suggestions from code review

Co-authored-by: ShadowCommander <10494922+ShadowCommander@users.noreply.github.com>

* Changing comments and whitespaces

* Made damage thresholds trigger  datafields required

* So many typos

* Changes to DamageableComponents

Changed documentation in IDamageableComponent

Made testing code more readable.

Relabelled groups as 'Applicable' either 'Fully Supported'

* Removed function and degeneralised

* Update DamageableComponent.cs

Removed unused parameters
Fixed Networking

* Added IoCManager.Resolve

* Now using alternative TryChangeDamage()

* Removed function from DamageGroupPrototype

* Removing comments

* Remove bad if statement?

* Fix damageChanged ordering

* Fix hurt server command

* Changed //TODO PROTOTYPE blocks

Now use PrototypeManager differently. Wherever possible, only retrieve the prototype once.

Also added default damage types to some more datafields

* Update Content.Shared/Damage/Container/DamageContainerPrototype.cs

Co-authored-by: ShadowCommander <10494922+ShadowCommander@users.noreply.github.com>

* renamed _accumulatedHealth -> _accumulatedDamage and added TODOs

* Another class-> group

* Fix bug in generalisation of damage container prototypes

* Addes Tests to make sure I dont keep adding bugs to my own code.

* Changed Return values when setting

* Removed unused class

* Added more tests, split tests into three files

* Made damage types public and VV read-write-able

* Minor changes to DamageableComponent

Replaced internal use of GetDamagePerType with _damageDict and removed some unnecessary fields

* Fix Suicide, by adding IoC Resolve()

* Fix DamageGroupTrigger bug

* Fix typos in tests

* Change comments./docstrings & spacing

* Merge tests, use test prototypes

Co-authored-by: Leon Friedrich <60421075+leonsfriedrich@users.noreply.github.com>
Co-authored-by: ShadowCommander <10494922+ShadowCommander@users.noreply.github.com>

* Add Alt-click functionality (#4497)

* Fix ItemSlot Bug

* Add Alt-use Key

* Fix TransferAmount window bug

* Alt-click functionality

* Added AltInteract verbs

* Add new verbs

* verb icons

* Changed Comments

* Change Comments

* Fix disposal verbs

* Changed Get...() to Get...OrNull()

* Changed alt-interact combat behaviour

* Update verb icons

* Inventory interact event

* Add Alt+E secondary binding

* Add alt-z keybinding

* Rename AltUse -> AltActivateItemInWorld

* Automatic changelog update

* Fixes chocolate/energy bar (#4503)

* Bring refactor-damageablecomponent branch up-to-date with master (#4510)

* Revert "#3935 implemented suggestions from PR"

This reverts commit a9b1c7b96333ca570067d6a9df1954481005892a.

* #4219 revert of single sound removal in EmitSoundSystem

* #4219 single sounds in EmitSoundSystem should work now

* #4219 some small project tweaks

* #4219 upgraded EmitSoundSystem to use SoundSpecifier

* replacing sound (collection) names with SoundSpecifier - part 1

* #4219 pr tweaks

* #4219 pr tweak

(cherry picked from commit 00b80cb1df2434259ab5df45188e176be57603af)

* emitsoundsystem tweak

* first windoor commit

* finished yaml

* windoors work #Dab

* sound + locked prototypes

* Inserted SoundSpecifier where appropiate

* added comment

* removed TryGetSound + made some SoundSpecifier datafields required

* changed some prototypes' sound paths

* test fixes

* Made plasma grindable (#4334)

Co-authored-by: SETh lafuente <cetaciocascarudo@gmail.com>
Co-authored-by: Swept <sweptwastaken@protonmail.com>

* Automatic changelog update

* Fixes invalid yaml line (#4408)

* Fix potential timer exception

* SetTile during extensions test (#4409)

Mainly so it can actually account for accurate grid bounds when doing the test

Co-authored-by: metalgearsloth <metalgearsloth@gmail.com>

* Update submodule

* GasFilter appearance, EnabledAtmosDeviceVisualizer improvements.

* Add Enabled property to SubFloorHideComponent, make it networked. (#4404)

* Refactor IDoorCheck into entity events (#4366)

* IDoorCheck refactored to events

# Conflicts:
#	Content.Server/Atmos/TileAtmosphere.cs
#	Content.Server/Doors/Components/AirlockComponent.cs
#	Content.Server/Doors/Components/FirelockComponent.cs
#	Content.Server/Doors/Components/ServerDoorComponent.cs
#	Content.Server/Doors/IDoorCheck.cs

* namespaces

* Fix mapinit bug with refreshautoclose

* ok i guess these just didnt feel like staging today

* Automatic changelog update

* AtmosDevices can optionally process in space. (#4405)

Refactors some misc atmos things, too.

* Fix gravity generator yeeting

* Enables nullables for atmos internals

* Meth (#4186)

* adds an overdose metabolism with sensible default settings

* adds the compoenents for the run fast part of meth

* not sure what I changed here but I trust my past self to not fuck up for once

* adds basic meth recipe

* correctly names comething

* I really should've checked my spelling before making this pr

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

* adds suggestion from the maintaner, who managed to get to this pr suprisingly fast

* Revert "adds suggestion from the maintaner, who managed to get to this pr suprisingly fast"

This reverts commit 9b0f07402e35ed5890b3af805691b690671b950c.

* tweak

* tweak

* git's gitting on my nerves

* some small tweaks

* don't need these anymore

* makes some stuff required

* changes the meth recipe to arbitary bullshit to get the yaml thingy to leave me alone goddamnit

* extremely minor change

* removes overdose, because however it's gonna be done, it's definitely not my way

* i should really double check every key I press

* hm

* sigh, I should be more thorough with looking at error messages.

* beenus

* gay sex is gay

* this one goes out to bingo

* reviews

* not sure why status lifetime description wasn't being commited

* Update MovespeedModifierMetabolism.cs

Co-authored-by: mirrorcult <notzombiedude@gmail.com>

* adds VV to component variables

* rebalances meth, and makes the completely unrealistic recipe properly work now

* meth effects should go away now or something do you think I test these changes before pushing??

* ah yes, orginization

* adds proper recipe and prequisite chemicals

* fixes linter hopefully

* Update chemicals.yml

* a

* starts working on prediction

* thing

* predmiction??

* changes thing

* does it properly

* uses timespan instead of timer

* uses dif timers and adds a system

* updates robust and tweaks a small thing

* Fixes

* "Fix" prediction

* starts changing the timer to timespans to avoid icky on timer end

* okay fixes the check thing but now meth is broken and I don't know why

* fixes predicition (partially)

* Delete ContentNetIDs.cs

whoops

* some changes advised by sloth

* certified scalycode fix right here

* moves resettimer to the metabolism to make it less oop stinky

* moves resettimer to the metabolism to make it less oop stinky

* gamin

* when the  is

* updates mth colour to be accurate because I forgot

* abc hard ok

* everything should be up to date now

* makes MovespeedModifierMetabolism ECS and cleans up some other stuff

* does a fixy wixy

* fix thing

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

This reverts commit 62886561098be02f9adb6352f4e858a8269d5bd5, reversing
changes made to ca34fffb5b7a40f19aec7b9e4bc37bdeab914bc1.

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

This reverts commit 4f550da19656abfd0be05f818fc6b7100252d5b8.

* fix hopefully

* updates metabolism to works with mirror's fancy new system

* updates yaml + tweaks

* bruh

* yaml moment

* :yaml moment

* Revert " :yaml moment"

This reverts commit 8cb51573c64db76d989de22acdbb9c50b2c6d052.

* 99th commit yay, also I need to not do this

* removes something that I don't need

* makes system work with this and gets rid of unnesescary check

* make the update only work on active components

* oops

* Cleanup

* alphabetise this shit

* Touchup

* Woops stupid alloc by me

* Nerf nyoom for now

Co-authored-by: metalgearsloth <31366439+metalgearsloth@users.noreply.github.com>
Co-authored-by: mirrorcult <notzombiedude@gmail.com>
Co-authored-by: metalgearsloth <comedian_vs_clown@hotmail.com>

* Automatic changelog update

* Random offset for DefaultGrid every round (#4411)

* Random offset for DefaultGrid every round

This is useful to make coders aware of entitycoordinates and mapcoordinates being different and to help spot problems early. It also puts the onus of fixing positioning bugs back onto the original coder rather than someone else if they happen to spot it.

* Fix clickable test

* Fix entitysystemextensions

* Automatic changelog update

* Document a few atmos classes.

* Update submodule

We do a little bit of debugging

* Make pulling feel less crap (#4414)

Something something pulling refactor someday

* Automatic changelog update

* Comment joint prediction

* Add CVar for random grid offset, disable it by default.

* Fixes not taking pressure damage in space.
Fixes #4415

* Automatic changelog update

* Adds an alternate jumpsuit for botany (#4419)

* Adds an alternate botanists jumpsuit

* Updated license information

* Automatic changelog update

* Added two new small areas to maintenence (#4359)

Co-authored-by: SETh lafuente <cetaciocascarudo@gmail.com>

* Automatic changelog update

* Updated meta.json to standard

* Update meta.json to standard

* a

* Revert "Update meta.json to standard"

This reverts commit 4c6702f17b.

* Revert "Updated meta.json to standard"

This reverts commit 8ea7a3ad1f.

* fix rsi

* proper sprites + visualizes nicely

* Removes broken new-line markers from a few desc.

* Fixes a localization error with solution container descriptions

* construction

* reviews + test

* remove SetLayerVisibility, doesnt work for some reason

* swept moment

* leftover

* Automatic changelog update

* Fix can't return to body bug (#4424)

* Automatic changelog update

* Update submodule

* Fix gas tile overlays on shuttles

* Offset station on roundstart again

* Fix PlaceableSurface incorrect coordinate usage.
It set world position to entity coordinate positions...

* Automatic changelog update

* Fix pickup animation incorrect coordinate usage.
Animation finalPosition was world position, while initialPosition was local position.

* Automatic changelog update

* Pointing coordinate fixes.

* Automatic changelog update

* Further pickup animation improvements.

* Adds Science Windoors (#4433)

Co-authored-by: SETh lafuente <cetaciocascarudo@gmail.com>

* Gave CMO a Hardsuit (#4434)

Co-authored-by: SETh lafuente <cetaciocascarudo@gmail.com>

* Automatic changelog update

* Fixed station engineer table spawn (#4436)

* Maps in windoors (#4432)

* Automatic changelog update

* Losing a head doesn't mean you lose your eyes #3956 #4061 (#4225)

Co-authored-by: Michael Will <will_m@outlook.de>

* Automatic changelog update

* Adds windoors for security and the brig. (#4441)

* Automatic changelog update

* Remaps Chemistry and Security, and some Mapping Fixes (#4442)

* Automatic changelog update

* Made the cloning pod and medical scanner constructible (#4439)

* Made the cloning machine pod constructable

* Added everything like I did but with the Medical Scanner

Co-authored-by: SETh lafuente <cetaciocascarudo@gmail.com>

* Automatic changelog update

* Fix fixed-point format specifier in PowerCellComponent

* Update submodule

* Actually update submodule

The last one was a test to check if you were paying attention.

* Update maps for grid collisions (#4450)

* Update submodule

* Fixes the windoor in science. (#4444)

* Automatic changelog update

* Remove IActionBlocker.CanMove (#4449)

* Remove IActionBlocker.CanMove

Ported the remainders over to using MovementAttemptEvent which should also help make mob movement a bit faster.

* Make that check faster

* Added restrictions for what can be inserted into most belts (#4367)

* Belts now restrict what can be inserted into them

* Bandolier now only holds shotgun shells

* Tiny typo

* Another tiny typo

* Automatic changelog update

* Fix indentation

* Fix stuff

* Fix gas canister

* Organize gas canister prototype

* Fix audio occlusion

This was previously being done on every SoundComponent.

* Call SoundSystem instead

* Parents crowbar-red and merges RSIs

* Deletes old crowbar_red.rsi

* Abstracts BasePlushie and ReagentContainerBase

* Adds missing suffixes to debug items and tags them all

* Crematorium now makes a noise on start and during cremation (#4459)

* Automatic changelog update

* Refactor disposals to ECS (#4418)

* ECS up disposals

Also significantly reduced its CPU usage.

* Make update significantly less S L O W

* Start units pressurised

* Client-side flush lerping

* Fix powered not toggling UI

* Fix flush button

* InteractUsing

* Minor optimisations

* Fix collisions

* Make visual state ECS

* Almost done with shared

* Most stuff moved

* Optimise item sleeping

* Automatic changelog update

* Fix door sound dampening (#4453)

* Completely fix NPC pathfinding

Through rigorous investigation and hard work.

* Implement Entity List Display and rework StorageComponent window (#4140)

* Create EntityListDisplay

* Rework ClientStorage window

* Add styling

* Remove unnecessary colors

* Rename list

* Make scrollbar push content

* Change children update a bit

* Add old index

* Localize ClientStorageComponent

* Add size return

* Remove spaces

* Fix usings

* Fix tool sounds.
Fixes #4465

* Automatic changelog update

* Fix missing sounds (#4466)

* Fix missing sounds

* Make SoundHitSpecies fallback to SoundHit

* Fix crayon YAML

* Update PlaySoundBehavior YAML

* Fix required

* Update README.md

* Fix taser physics (#4470)

* Increase MoverController performance (#4448)

Should be a decent amount; rest will come from removing IActionBlocker.

* Remove throwing fixture error

* Update submodule

* Fix sound crash when making foam (#4476)

* Automatic changelog update

* Centers some sprites

* Fix showatmos

* Fix tests.
Flashlight RSI state names had been changed, and some places weren't updated properly

* Remove pillcomponent (#4469)

* Remove PillComponent

* Make food without any solution left delete and create trash

* Replace PillComponent references with a Pill tag

* Clean up

* Add swallow message to food

* Change to eatMessage override

* Change FoodComponent transferAmount to nullable

* Change properties to private

* ItemCabinetVisualizer uses layers (#4445)

* ItemCabinetVisualizer uses layers

* Reviews applied

* Fixes the fireaxe cabinet as well

* I'm dumb

* Fixes bedsheets being unpickupable (#4479)

* Automatic changelog update

* Adds inhands for crayons and the crayon box (#4481)

* Automatic changelog update

* Fixes cigarette animations and matches now have lit/unlit inhand sprites (#4480)

* Automatic changelog update

* Adds plant clippers and changes hydro tool sprites to be more consistent (#4482)

* Adds plant clippers

* Updates sycthe, hoe and spade sprites

* Adds inhands for radio/walkietalkie (#4483)

* Adds inhands for radio/walkietalkie and separates layers

* License thingy

* Fixes test

* Can now equip fireaxe, claymore, spear and baseball back on your back (#4484)

* Can equip spears and claymores on your back now

* Adds fireaxe and baseball bat back equip

* Automatic changelog update

* Makes Match[sticks/box] ECS, Makes Matchsticks ignite plasma

* am big dumdum pls no shed

* Owner Transform to Owner in SoundSystem calls (#4460)

* Owner Transform to Owner

* Owner Transform to Owner minor fixes

* Improve hand pickup code
This way I can break EntityCoordinates' API without breaking content.
BWAHAHAHAHAH!

* Update submodule

* Version v0.5.11 does not exist

* Update submodule

We don't talk about v0.5.12 either.

* Update submodule

For the last time

* Adds duck-related content and a seclite (#4489)

* Added rubber ducky

* Adds ducky slippers

* Adds seclite

* Update Resources/Textures/Objects/Tools/seclite.rsi/meta.json

Co-authored-by: Paul Ritter <ritter.paul1@googlemail.com>

* Update Resources/Textures/Objects/Fun/ducky.rsi/meta.json

Co-authored-by: Paul Ritter <ritter.paul1@googlemail.com>

* The duck slippers now quack as you walk

Co-authored-by: Paul Ritter <ritter.paul1@googlemail.com>

* Automatic changelog update

* Adds the ability to assign equip sounds in ClothingComponent (#4485)

* Initial

* Works (Kinda)

* Polish

* Reviews

* Removes vending inventory desc and adds missing vending machine descriptions (#4493)

* Removes inventory descriptions

* Adds missing vending machine descriptions using inventory descriptions

* Woops missed a file

* Automatic changelog update

* Adds a ton more inhands (#4488)

* Removed useless loc and added inhands for some lamps

* Adds a ton of inhands to the game

* Actually adds the pill inhand

* Update Resources/Textures/Objects/Misc/utensils.rsi/meta.json

Co-authored-by: Paul Ritter <ritter.paul1@googlemail.com>

* Update Resources/Textures/Objects/Tools/rcd.rsi/meta.json

Co-authored-by: Paul Ritter <ritter.paul1@googlemail.com>

Co-authored-by: Paul Ritter <ritter.paul1@googlemail.com>

* Added open/close/stacklayers for Matchbox and inhands (#4496)

* Added open/close/stacklayers for Matchbox

* Added inhands for matchbox

* What am I a clown not gonna leave no indent spaces

* Adds sound to fire extinguisher safety (#4494)

* Automatic changelog update

* Adds a 6pack of Cola (#4499)

* Adds a 6pack of Cola

* Revert "Adds a 6pack of Cola"

This reverts commit 99f024b94ab3c684ce62e28018bd0fe2f26a2e09.

* Revert "Revert "Adds a 6pack of Cola""

This reverts commit 9e3d31e41c8ea61a962ad7d4d3c0ea7124e82653.

* Automatic changelog update

* Fix H-pulling? (#4425)

In retrospect the answer is easy, but man this took a while.

* Automatic changelog update

* Makes DiceComponent ECS

* Makes PlaceableSurface ECS

* Added classic announcement sound to announcements (#4504)

* Automatic changelog update

* Refactors throw events, makes cream pies ECS (#4500)

* Automatic changelog update

* Port the tumbler from Box2D (#4486)

* Subscribe TransformComponent events by-ref (#4478)

* Add Alt-click functionality (#4497)

* Fix ItemSlot Bug

* Add Alt-use Key

* Fix TransferAmount window bug

* Alt-click functionality

* Added AltInteract verbs

* Add new verbs

* verb icons

* Changed Comments

* Change Comments

* Fix disposal verbs

* Changed Get...() to Get...OrNull()

* Changed alt-interact combat behaviour

* Update verb icons

* Inventory interact event

* Add Alt+E secondary binding

* Add alt-z keybinding

* Rename AltUse -> AltActivateItemInWorld

* Automatic changelog update

* Fixes chocolate/energy bar (#4503)

* Fix merge issues

Co-authored-by: Galactic Chimp <GalacticChimpanzee@gmail.com>
Co-authored-by: Kara Dinyes <lunarautomaton6@gmail.com>
Co-authored-by: SethLafuente <84478872+SethLafuente@users.noreply.github.com>
Co-authored-by: SETh lafuente <cetaciocascarudo@gmail.com>
Co-authored-by: Swept <sweptwastaken@protonmail.com>
Co-authored-by: PJBot <pieterjan.briers+bot@gmail.com>
Co-authored-by: metalgearsloth <metalgearsloth@gmail.com>
Co-authored-by: metalgearsloth <31366439+metalgearsloth@users.noreply.github.com>
Co-authored-by: Vera Aguilera Puerto <gradientvera@outlook.com>
Co-authored-by: Vera Aguilera Puerto <6766154+Zumorica@users.noreply.github.com>
Co-authored-by: metalgearsloth <comedian_vs_clown@hotmail.com>
Co-authored-by: ScalyChimp <72841710+scaly-chimp@users.noreply.github.com>
Co-authored-by: mirrorcult <notzombiedude@gmail.com>
Co-authored-by: ShadowCommander <10494922+ShadowCommander@users.noreply.github.com>
Co-authored-by: Jaskanbe <86671825+Jaskanbe@users.noreply.github.com>
Co-authored-by: scrato <Mickaello2003@gmx.de>
Co-authored-by: Michael Will <will_m@outlook.de>
Co-authored-by: TimrodDX <timrod@gmail.com>
Co-authored-by: Leon Friedrich <60421075+leonsfriedrich@users.noreply.github.com>
Co-authored-by: Ygg01 <y.laughing.man.y@gmail.com>
Co-authored-by: Paul <ritter.paul1+git@googlemail.com>
Co-authored-by: ColdAutumnRain <73938872+ColdAutumnRain@users.noreply.github.com>
Co-authored-by: Paul Ritter <ritter.paul1@googlemail.com>

* Singularity fixes (#4383)

* Singularity fixes

* Fix the rest

* Woops

* ahh

* Nerf singulo for now

* Final touchups for now

* Review

* Automatic changelog update

* Fix PA construction crash, make it clear that PA construction needs LV cables (#4506)

* Automatic changelog update

* Add security barriers (#4458)

* Add sprites

* Lock system now raises lock toggle events

* Add prototype and barrier system

* Toggle lock on click

* Barrier blocks bullets (like a real wall)

* Barrier now destroyable

* Fancy visualzer and lighting. Also unlock by default

* Deleted comma

* Ignored components?

* Update Resources/Prototypes/Entities/Objects/Specific/Security/barrier.yml

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

* Update Resources/Prototypes/Entities/Objects/Specific/Security/barrier.yml

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

* Toggle Lock no longer handled

* Made it much easier to move through airlocks

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

* Automatic changelog update

* Updates name of LV cable coil

* Admin ghosts can now interact with stuff (#4178)

* Ghosts now have a bool for interacting with stuff

* Wrong ghost

* Simping for Swept

* Merge cleanup

* IT'S ODNE

Co-authored-by: metalgearsloth <comedian_vs_clown@hotmail.com>

* Automatic changelog update

* Added Basic Parts Technology (#4440)

* Added parts Technology

* is something they're something

bad grammar

* Update Parts.yml

* Update technologies.yml

Co-authored-by: SETh lafuente <cetaciocascarudo@gmail.com>
Co-authored-by: Swept <sweptwastaken@protonmail.com>

* Add basic meteor swarm (#4420)

* Add basic meteor swarm

* Map fixes

* Dependency cache

* Fix projectile crash

* Last of the reviews

* Automatic changelog update

* Update content for PhysicsMapComponent (#4462)

* Update content for PhysicsMapComponent

* Fix command

* Cache broadphasesystem

* Update submodule

* Update SS14 for grid contraction (#4452)

* Update SS14 for grid contraction

* Remove more dummy chunks

* Update submodule

* ratio's rects

* Add DamageType And DamageGroup Prototypes

* Remove DamageTypePrototype Field "name" as its redundant

* Change I/DamageableComponent to use prototypes

* Update DamageContainer, ReisistanceSet and DamageChangeData

* Change Barotrauma Component to use DamageType from DamageSystem

* Update AsteroidRockComponent

* update some more components

* update some more components

* Fix m o r e c o m p o n e n t s and their damageType

* all thats left is bug/missing node hunting then verification.

* push changes

* update submodule

* Merge fixes

* push DGP for example

* update damagecomponent across shared and server

* fix a few bugs

* Fix Merge issues

* Refactor damageablecomponent update (#4406)

* Fixing merge.

I messed up part of the merge. this should fix it?

* Barotrauma now uses prototypeManager

As System.Runtime.CompilerServices also has a [Dependency], I think I had to use the full path [Robust.Shared.IoC.Dependency]

* FlammableComponent now uses prototypeManager

* SuicideCommands now use prototypeManager

* Changed  many files to use prototypeManager to resolve damaege prototypes

Yeah.... prototype references would be very nice. maybe this was all a waste of time.

* Grouping prototypeManager.Index with datafield definitions

This will make it easier to eventually add prototype references

* removed unused variable

* Moved lines around.

Lines now consistent with other TODO PROTOTYPE blocks

* Grouping more prototypeManager.Index with datafield definitions

* Removed unnecessary code

* Added more prototypeManager indexing

These ones weren't pointed out by DrSmug. But I think this is all of them? That or my regex is shit.

* Remove redundant _damage field

* Remove redundant _currentTemperature

* Moved variables down

* Added prototypeManager indexing to TemperatureComponent

* WeaponComponent/System now use ProtptypeManager

And as far as I can tell damageType is required, and therefore should never have been null anyway?

* Make ranged weapon clumsy fire effects datafields

And yes, the order in which the clumsy effects occur is very important.

* Made damage on vital body part loss a datafield

* Renamed several damageGroup variables to group

* Capitalised DamageListToDamageGroup

* Make radiation and explosion damage types datafields

* Renamed _supportedDamageGroupIDs and _supportedDamageTypeIDs

* Fixed mistakes

Frogot to remove prototypeManager index DamageTypeTrigger, and wrong variable visibility in TemperatureComponent

* Added necessary code

Is something tragically wrong?

* MeleeWeapon damageType is not actually required

* Fixing someone else's mistakes

A search comes up with nothing in the yaml files, and its not a required field. So no one uses it? Hopefully?

* Changed and renamed damageTypeToDamageGroup

Previously would incorrectly return the total container damage for each group, not the total in the group

* renaming varitables

* Renamed variable DamageClasses

* Added dictionary converting functions

* Added ID-keyed dictionaries

* Making MedicalScanner use ID dictionaries, instead of prototype dictionaries

Oh oh no. I've been able to avoid UI & networking up until now. I have no Idea what I am doing.

* Fix Medical Scanner

* Summary (required)

The joke here is that this fixes the empty summary.

* Removed DamageableComponent.GetDamageGroup/Type

* Renamed "damage classes" to groups.

* Update ChangeDamage description

* Replaced Heal() with SettAllDamage()

Heal() was just a confusing name,

* More Class -> Group renaming

* Replace Class with Group in yaml files

DamageClassTrigger does not appear in any yaml? only in testing?
DamageTypeTrigger appears only in human.yaml?
HealthChangeMetabolism is Mostly in medicine.yml and one in soad.yaml

Why the hell is Cola metabolizable by plants? Who is pouring cola on their plants!?!?

* Fix _prototypeManager being null errors.

* Changing comments

Where are the prototype references

* MetabolismComponent doesn't give free heals anymore.

* Changes HungerComponent healing.

Previously I think it would actually damage you.  Only did this as I though it was causing the fast healing. Turns out that was just BREATHING.

* Generalised a function in DamageableComponent and moved it to DamageGroupPrototype

previously DamageTypesDictToDamageGroupDict was private to DamageableComponent, but was also quite general (nearly a static function). As this sort of function may be needed by other components using DamageGroupPrototypes in the future, I moved it there as a static function instead.

* modified DamageableComponent.ChangeDamage()

ignoreResistances was renamed to ignoreDamageResistances to make it clearer that it had no effect on healing.

Now uses default argument for ignoreDamageResistances, so when healing you are not forced to specify an argument that does nothing.

Also made some general changes to ignoreResistances()

* Changed class->group and added missing damage type functionality to DamageContainerPrototypes

* Added Comments to damage.yml

* Misc Changes to DamageableComponent

* Differentiated between group support and group applicability

So far, every damage type is a member of one, and only one, damage group. So this change has no real effect so far.

* Added proposed alternative to ChangeDamage()

* fixed error in DamageGroupPrototype

* Changes to DamageableComponent

Lots of changes to comments.
Some variables renamed in IDamageableComponent and DamageableComponent (also required renaming in other files)

Some minor logic changes, mostly for incorrect descirptions of boolean return values.

Also further differentiating between ApplicableGroups and SupportedGroups... if that will ever even matter

* Generalised MedicalScannerComponent

If needed, can print miscellaneous damage types now

* Fixed HealthChangeMetabolism bug

* Changing Comments around

* More questions

* Made Barotrauma default to blunt

* Fix RejuvenateTest.cs

* Comments

* Coments and variable names

* fix some master-merge issues

* Removed redundant fields

* Misc changes for readbility of PR diff

* Consistent naming

* Fixed atmos damage bug

* Removed Ranting

* Fixed Hunger after I broke it

* Fixing Bugs

* Removed stupid question

* Removed more stupid questions

* Fix potential null errors.

* Made boolean return values consistent

Also renamed several functions, to make it clear they return a bool. Docs were also updated.

* Removed IoCManager.InjectDependencies()

* Removed unnecessary 'suffocation' prefix

* Fixed Spelling

Also removed accidentally left in logger call

* Fixed Medical Scanner

* Apply suggestions from code review

Co-authored-by: ShadowCommander <10494922+ShadowCommander@users.noreply.github.com>

* Changing comments and whitespaces

* Made damage thresholds trigger  datafields required

* So many typos

* Changes to DamageableComponents

Changed documentation in IDamageableComponent

Made testing code more readable.

Relabelled groups as 'Applicable' either 'Fully Supported'

* Removed function and degeneralised

* Update DamageableComponent.cs

Removed unused parameters
Fixed Networking

* Added IoCManager.Resolve

* Now using alternative TryChangeDamage()

* Removed function from DamageGroupPrototype

* Removing comments

* Remove bad if statement?

* Fix damageChanged ordering

* Fix hurt server command

* Changed //TODO PROTOTYPE blocks

Now use PrototypeManager differently. Wherever possible, only retrieve the prototype once.

Also added default damage types to some more datafields

* Update Content.Shared/Damage/Container/DamageContainerPrototype.cs

Co-authored-by: ShadowCommander <10494922+ShadowCommander@users.noreply.github.com>

* renamed _accumulatedHealth -> _accumulatedDamage and added TODOs

* Another class-> group

* Fix bug in generalisation of damage container prototypes

* Addes Tests to make sure I dont keep adding bugs to my own code.

* Changed Return values when setting

* Removed unused class

* Added more tests, split tests into three files

* Made damage types public and VV read-write-able

* Minor changes to DamageableComponent

Replaced internal use of GetDamagePerType with _damageDict and removed some unnecessary fields

* Fix Suicide, by adding IoC Resolve()

* Fix DamageGroupTrigger bug

* Fix typos in tests

* Change comments./docstrings & spacing

* Merge tests, use test prototypes

Co-authored-by: Leon Friedrich <60421075+leonsfriedrich@users.noreply.github.com>
Co-authored-by: ShadowCommander <10494922+ShadowCommander@users.noreply.github.com>

* Bring refactor-damageablecomponent branch up-to-date with master (#4510)

* Revert "#3935 implemented suggestions from PR"

This reverts commit a9b1c7b96333ca570067d6a9df1954481005892a.

* #4219 revert of single sound removal in EmitSoundSystem

* #4219 single sounds in EmitSoundSystem should work now

* #4219 some small project tweaks

* #4219 upgraded EmitSoundSystem to use SoundSpecifier

* replacing sound (collection) names with SoundSpecifier - part 1

* #4219 pr tweaks

* #4219 pr tweak

(cherry picked from commit 00b80cb1df2434259ab5df45188e176be57603af)

* emitsoundsystem tweak

* first windoor commit

* finished yaml

* windoors work #Dab

* sound + locked prototypes

* Inserted SoundSpecifier where appropiate

* added comment

* removed TryGetSound + made some SoundSpecifier datafields required

* changed some prototypes' sound paths

* test fixes

* Made plasma grindable (#4334)

Co-authored-by: SETh lafuente <cetaciocascarudo@gmail.com>
Co-authored-by: Swept <sweptwastaken@protonmail.com>

* Automatic changelog update

* Fixes invalid yaml line (#4408)

* Fix potential timer exception

* SetTile during extensions test (#4409)

Mainly so it can actually account for accurate grid bounds when doing the test

Co-authored-by: metalgearsloth <metalgearsloth@gmail.com>

* Update submodule

* GasFilter appearance, EnabledAtmosDeviceVisualizer improvements.

* Add Enabled property to SubFloorHideComponent, make it networked. (#4404)

* Refactor IDoorCheck into entity events (#4366)

* IDoorCheck refactored to events

# Conflicts:
#	Content.Server/Atmos/TileAtmosphere.cs
#	Content.Server/Doors/Components/AirlockComponent.cs
#	Content.Server/Doors/Components/FirelockComponent.cs
#	Content.Server/Doors/Components/ServerDoorComponent.cs
#	Content.Server/Doors/IDoorCheck.cs

* namespaces

* Fix mapinit bug with refreshautoclose

* ok i guess these just didnt feel like staging today

* Automatic changelog update

* AtmosDevices can optionally process in space. (#4405)

Refactors some misc atmos things, too.

* Fix gravity generator yeeting

* Enables nullables for atmos internals

* Meth (#4186)

* adds an overdose metabolism with sensible default settings

* adds the compoenents for the run fast part of meth

* not sure what I changed here but I trust my past self to not fuck up for once

* adds basic meth recipe

* correctly names comething

* I really should've checked my spelling before making this pr

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

* adds suggestion from the maintaner, who managed to get to this pr suprisingly fast

* Revert "adds suggestion from the maintaner, who managed to get to this pr suprisingly fast"

This reverts commit 9b0f07402e35ed5890b3af805691b690671b950c.

* tweak

* tweak

* git's gitting on my nerves

* some small tweaks

* don't need these anymore

* makes some stuff required

* changes the meth recipe to arbitary bullshit to get the yaml thingy to leave me alone goddamnit

* extremely minor change

* removes overdose, because however it's gonna be done, it's definitely not my way

* i should really double check every key I press

* hm

* sigh, I should be more thorough with looking at error messages.

* beenus

* gay sex is gay

* this one goes out to bingo

* reviews

* not sure why status lifetime description wasn't being commited

* Update MovespeedModifierMetabolism.cs

Co-authored-by: mirrorcult <notzombiedude@gmail.com>

* adds VV to component variables

* rebalances meth, and makes the completely unrealistic recipe properly work now

* meth effects should go away now or something do you think I test these changes before pushing??

* ah yes, orginization

* adds proper recipe and prequisite chemicals

* fixes linter hopefully

* Update chemicals.yml

* a

* starts working on prediction

* thing

* predmiction??

* changes thing

* does it properly

* uses timespan instead of timer

* uses dif timers and adds a system

* updates robust and tweaks a small thing

* Fixes

* "Fix" prediction

* starts changing the timer to timespans to avoid icky on timer end

* okay fixes the check thing but now meth is broken and I don't know why

* fixes predicition (partially)

* Delete ContentNetIDs.cs

whoops

* some changes advised by sloth

* certified scalycode fix right here

* moves resettimer to the metabolism to make it less oop stinky

* moves resettimer to the metabolism to make it less oop stinky

* gamin

* when the  is

* updates mth colour to be accurate because I forgot

* abc hard ok

* everything should be up to date now

* makes MovespeedModifierMetabolism ECS and cleans up some other stuff

* does a fixy wixy

* fix thing

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

This reverts commit 62886561098be02f9adb6352f4e858a8269d5bd5, reversing
changes made to ca34fffb5b7a40f19aec7b9e4bc37bdeab914bc1.

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

This reverts commit 4f550da19656abfd0be05f818fc6b7100252d5b8.

* fix hopefully

* updates metabolism to works with mirror's fancy new system

* updates yaml + tweaks

* bruh

* yaml moment

* :yaml moment

* Revert " :yaml moment"

This reverts commit 8cb51573c64db76d989de22acdbb9c50b2c6d052.

* 99th commit yay, also I need to not do this

* removes something that I don't need

* makes system work with this and gets rid of unnesescary check

* make the update only work on active components

* oops

* Cleanup

* alphabetise this shit

* Touchup

* Woops stupid alloc by me

* Nerf nyoom for now

Co-authored-by: metalgearsloth <31366439+metalgearsloth@users.noreply.github.com>
Co-authored-by: mirrorcult <notzombiedude@gmail.com>
Co-authored-by: metalgearsloth <comedian_vs_clown@hotmail.com>

* Automatic changelog update

* Random offset for DefaultGrid every round (#4411)

* Random offset for DefaultGrid every round

This is useful to make coders aware of entitycoordinates and mapcoordinates being different and to help spot problems early. It also puts the onus of fixing positioning bugs back onto the original coder rather than someone else if they happen to spot it.

* Fix clickable test

* Fix entitysystemextensions

* Automatic changelog update

* Document a few atmos classes.

* Update submodule

We do a little bit of debugging

* Make pulling feel less crap (#4414)

Something something pulling refactor someday

* Automatic changelog update

* Comment joint prediction

* Add CVar for random grid offset, disable it by default.

* Fixes not taking pressure damage in space.
Fixes #4415

* Automatic changelog update

* Adds an alternate jumpsuit for botany (#4419)

* Adds an alternate botanists jumpsuit

* Updated license information

* Automatic changelog update

* Added two new small areas to maintenence (#4359)

Co-authored-by: SETh lafuente <cetaciocascarudo@gmail.com>

* Automatic changelog update

* Updated meta.json to standard

* Update meta.json to standard

* a

* Revert "Update meta.json to standard"

This reverts commit 4c6702f17b.

* Revert "Updated meta.json to standard"

This reverts commit 8ea7a3ad1f.

* fix rsi

* proper sprites + visualizes nicely

* Removes broken new-line markers from a few desc.

* Fixes a localization error with solution container descriptions

* construction

* reviews + test

* remove SetLayerVisibility, doesnt work for some reason

* swept moment

* leftover

* Automatic changelog update

* Fix can't return to body bug (#4424)

* Automatic changelog update

* Update submodule

* Fix gas tile overlays on shuttles

* Offset station on roundstart again

* Fix PlaceableSurface incorrect coordinate usage.
It set world position to entity coordinate positions...

* Automatic changelog update

* Fix pickup animation incorrect coordinate usage.
Animation finalPosition was world position, while initialPosition was local position.

* Automatic changelog update

* Pointing coordinate fixes.

* Automatic changelog update

* Further pickup animation improvements.

* Adds Science Windoors (#4433)

Co-authored-by: SETh lafuente <cetaciocascarudo@gmail.com>

* Gave CMO a Hardsuit (#4434)

Co-authored-by: SETh lafuente <cetaciocascarudo@gmail.com>

* Automatic changelog update

* Fixed station engineer table spawn (#4436)

* Maps in windoors (#4432)

* Automatic changelog update

* Losing a head doesn't mean you lose your eyes #3956 #4061 (#4225)

Co-authored-by: Michael Will <will_m@outlook.de>

* Automatic changelog update

* Adds windoors for security and the brig. (#4441)

* Automatic changelog update

* Remaps Chemistry and Security, and some Mapping Fixes (#4442)

* Automatic changelog update

* Made the cloning pod and medical scanner constructible (#4439)

* Made the cloning machine pod constructable

* Added everything like I did but with the Medical Scanner

Co-authored-by: SETh lafuente <cetaciocascarudo@gmail.com>

* Automatic changelog update

* Fix fixed-point format specifier in PowerCellComponent

* Update submodule

* Actually update submodule

The last one was a test to check if you were paying attention.

* Update maps for grid collisions (#4450)

* Update submodule

* Fixes the windoor in science. (#4444)

* Automatic changelog update

* Remove IActionBlocker.CanMove (#4449)

* Remove IActionBlocker.CanMove

Ported the remainders over to using MovementAttemptEvent which should also help make mob movement a bit faster.

* Make that check faster

* Added restrictions for what can be inserted into most belts (#4367)

* Belts now restrict what can be inserted into them

* Bandolier now only holds shotgun shells

* Tiny typo

* Another tiny typo

* Automatic changelog update

* Fix indentation

* Fix stuff

* Fix gas canister

* Organize gas canister prototype

* Fix audio occlusion

This was previously being done on every SoundComponent.

* Call SoundSystem instead

* Parents crowbar-red and merges RSIs

* Deletes old crowbar_red.rsi

* Abstracts BasePlushie and ReagentContainerBase

* Adds missing suffixes to debug items and tags them all

* Crematorium now makes a noise on start and during cremation (#4459)

* Automatic changelog update

* Refactor disposals to ECS (#4418)

* ECS up disposals

Also significantly reduced its CPU usage.

* Make update significantly less S L O W

* Start units pressurised

* Client-side flush lerping

* Fix powered not toggling UI

* Fix flush button

* InteractUsing

* Minor optimisations

* Fix collisions

* Make visual state ECS

* Almost done with shared

* Most stuff moved

* Optimise item sleeping

* Automatic changelog update

* Fix door sound dampening (#4453)

* Completely fix NPC pathfinding

Through rigorous investigation and hard work.

* Implement Entity List Display and rework StorageComponent window (#4140)

* Create EntityListDisplay

* Rework ClientStorage window

* Add styling

* Remove unnecessary colors

* Rename list

* Make scrollbar push content

* Change children update a bit

* Add old index

* Localize ClientStorageComponent

* Add size return

* Remove spaces

* Fix usings

* Fix tool sounds.
Fixes #4465

* Automatic changelog update

* Fix missing sounds (#4466)

* Fix missing sounds

* Make SoundHitSpecies fallback to SoundHit

* Fix crayon YAML

* Update PlaySoundBehavior YAML

* Fix required

* Update README.md

* Fix taser physics (#4470)

* Increase MoverController performance (#4448)

Should be a decent amount; rest will come from removing IActionBlocker.

* Remove throwing fixture error

* Update submodule

* Fix sound crash when making foam (#4476)

* Automatic changelog update

* Centers some sprites

* Fix showatmos

* Fix tests.
Flashlight RSI state names had been changed, and some places weren't updated properly

* Remove pillcomponent (#4469)

* Remove PillComponent

* Make food without any solution left delete and create trash

* Replace PillComponent references with a Pill tag

* Clean up

* Add swallow message to food

* Change to eatMessage override

* Change FoodComponent transferAmount to nullable

* Change properties to private

* ItemCabinetVisualizer uses layers (#4445)

* ItemCabinetVisualizer uses layers

* Reviews applied

* Fixes the fireaxe cabinet as well

* I'm dumb

* Fixes bedsheets being unpickupable (#4479)

* Automatic changelog update

* Adds inhands for crayons and the crayon box (#4481)

* Automatic changelog update

* Fixes cigarette animations and matches now have lit/unlit inhand sprites (#4480)

* Automatic changelog update

* Adds plant clippers and changes hydro tool sprites to be more consistent (#4482)

* Adds plant clippers

* Updates sycthe, hoe and spade sprites

* Adds inhands for radio/walkietalkie (#4483)

* Adds inhands for radio/walkietalkie and separates layers

* License thingy

* Fixes test

* Can now equip fireaxe, claymore, spear and baseball back on your back (#4484)

* Can equip spears and claymores on your back now

* Adds fireaxe and baseball bat back equip

* Automatic changelog update

* Makes Match[sticks/box] ECS, Makes Matchsticks ignite plasma

* am big dumdum pls no shed

* Owner Transform to Owner in SoundSystem calls (#4460)

* Owner Transform to Owner

* Owner Transform to Owner minor fixes

* Improve hand pickup code
This way I can break EntityCoordinates' API without breaking content.
BWAHAHAHAHAH!

* Update submodule

* Version v0.5.11 does not exist

* Update submodule

We don't talk about v0.5.12 either.

* Update submodule

For the last time

* Adds duck-related content and a seclite (#4489)

* Added rubber ducky

* Adds ducky slippers

* Adds seclite

* Update Resources/Textures/Objects/Tools/seclite.rsi/meta.json

Co-authored-by: Paul Ritter <ritter.paul1@googlemail.com>

* Update Resources/Textures/Objects/Fun/ducky.rsi/meta.json

Co-authored-by: Paul Ritter <ritter.paul1@googlemail.com>

* The duck slippers now quack as you walk

Co-authored-by: Paul Ritter <ritter.paul1@googlemail.com>

* Automatic changelog update

* Adds the ability to assign equip sounds in ClothingComponent (#4485)

* Initial

* Works (Kinda)

* Polish

* Reviews

* Removes vending inventory desc and adds missing vending machine descriptions (#4493)

* Removes inventory descriptions

* Adds missing vending machine descriptions using inventory descriptions

* Woops missed a file

* Automatic changelog update

* Adds a ton more inhands (#4488)

* Removed useless loc and added inhands for some lamps

* Adds a ton of inhands to the game

* Actually adds the pill inhand

* Update Resources/Textures/Objects/Misc/utensils.rsi/meta.json

Co-authored-by: Paul Ritter <ritter.paul1@googlemail.com>

* Update Resources/Textures/Objects/Tools/rcd.rsi/meta.json

Co-authored-by: Paul Ritter <ritter.paul1@googlemail.com>

Co-authored-by: Paul Ritter <ritter.paul1@googlemail.com>

* Added open/close/stacklayers for Matchbox and inhands (#4496)

* Added open/close/stacklayers for Matchbox

* Added inhands for matchbox

* What am I a clown not gonna leave no indent spaces

* Adds sound to fire extinguisher safety (#4494)

* Automatic changelog update

* Adds a 6pack of Cola (#4499)

* Adds a 6pack of Cola

* Revert "Adds a 6pack of Cola"

This reverts commit 99f024b94ab3c684ce62e28018bd0fe2f26a2e09.

* Revert "Revert "Adds a 6pack of Cola""

This reverts commit 9e3d31e41c8ea61a962ad7d4d3c0ea7124e82653.

* Automatic changelog update

* Fix H-pulling? (#4425)

In retrospect the answer is easy, but man this took a while.

* Automatic changelog update

* Makes DiceComponent ECS

* Makes PlaceableSurface ECS

* Added classic announcement sound to announcements (#4504)

* Automatic changelog update

* Refactors throw events, makes cream pies ECS (#4500)

* Automatic changelog update

* Port the tumbler from Box2D (#4486)

* Subscribe TransformComponent events by-ref (#4478)

* Add Alt-click functionality (#4497)

* Fix ItemSlot Bug

* Add Alt-use Key

* Fix TransferAmount window bug

* Alt-click functionality

* Added AltInteract verbs

* Add new verbs

* verb icons

* Changed Comments

* Change Comments

* Fix disposal verbs

* Changed Get...() to Get...OrNull()

* Changed alt-interact combat behaviour

* Update verb icons

* Inventory interact event

* Add Alt+E secondary binding

* Add alt-z keybinding

* Rename AltUse -> AltActivateItemInWorld

* Automatic changelog update

* Fixes chocolate/energy bar (#4503)

* Fix merge issues

Co-authored-by: Galactic Chimp <GalacticChimpanzee@gmail.com>
Co-authored-by: Kara Dinyes <lunarautomaton6@gmail.com>
Co-authored-by: SethLafuente <84478872+SethLafuente@users.noreply.github.com>
Co-authored-by: SETh lafuente <cetaciocascarudo@gmail.com>
Co-authored-by: Swept <sweptwastaken@protonmail.com>
Co-authored-by: PJBot <pieterjan.briers+bot@gmail.com>
Co-authored-by: metalgearsloth <metalgearsloth@gmail.com>
Co-authored-by: metalgearsloth <31366439+metalgearsloth@users.noreply.github.com>
Co-authored-by: Vera Aguilera Puerto <gradientvera@outlook.com>
Co-authored-by: Vera Aguilera Puerto <6766154+Zumorica@users.noreply.github.com>
Co-authored-by: metalgearsloth <comedian_vs_clown@hotmail.com>
Co-authored-by: ScalyChimp <72841710+scaly-chimp@users.noreply.github.com>
Co-authored-by: mirrorcult <notzombiedude@gmail.com>
Co-authored-by: ShadowCommander <10494922+ShadowCommander@users.noreply.github.com>
Co-authored-by: Jaskanbe <86671825+Jaskanbe@users.noreply.github.com>
Co-authored-by: scrato <Mickaello2003@gmx.de>
Co-authored-by: Michael Will <will_m@outlook.de>
Co-authored-by: TimrodDX <timrod@gmail.com>
Co-authored-by: Leon Friedrich <60421075+leonsfriedrich@users.noreply.github.com>
Co-authored-by: Ygg01 <y.laughing.man.y@gmail.com>
Co-authored-by: Paul <ritter.paul1+git@googlemail.com>
Co-authored-by: ColdAutumnRain <73938872+ColdAutumnRain@users.noreply.github.com>
Co-authored-by: Paul Ritter <ritter.paul1@googlemail.com>

Co-authored-by: DrSmugleaf <DrSmugleaf@users.noreply.github.com>
Co-authored-by: Galactic Chimp <GalacticChimpanzee@gmail.com>
Co-authored-by: Kara Dinyes <lunarautomaton6@gmail.com>
Co-authored-by: Leon Friedrich <leonsfriedrich@gmail.com>
Co-authored-by: ShadowCommander <10494922+ShadowCommander@users.noreply.github.com>
Co-authored-by: SethLafuente <84478872+SethLafuente@users.noreply.github.com>
Co-authored-by: SETh lafuente <cetaciocascarudo@gmail.com>
Co-authored-by: Swept <sweptwastaken@protonmail.com>
Co-authored-by: PJBot <pieterjan.briers+bot@gmail.com>
Co-authored-by: metalgearsloth <metalgearsloth@gmail.com>
Co-authored-by: metalgearsloth <31366439+metalgearsloth@users.noreply.github.com>
Co-authored-by: Vera Aguilera Puerto <gradientvera@outlook.com>
Co-authored-by: Vera Aguilera Puerto <6766154+Zumorica@users.noreply.github.com>
Co-authored-by: metalgearsloth <comedian_vs_clown@hotmail.com>
Co-authored-by: ScalyChimp <72841710+scaly-chimp@users.noreply.github.com>
Co-authored-by: mirrorcult <notzombiedude@gmail.com>
Co-authored-by: Jaskanbe <86671825+Jaskanbe@users.noreply.github.com>
Co-authored-by: scrato <Mickaello2003@gmx.de>
Co-authored-by: Michael Will <will_m@outlook.de>
Co-authored-by: TimrodDX <timrod@gmail.com>
Co-authored-by: Leon Friedrich <60421075+leonsfriedrich@users.noreply.github.com>
Co-authored-by: Ygg01 <y.laughing.man.y@gmail.com>
Co-authored-by: Paul <ritter.paul1+git@googlemail.com>
Co-authored-by: ColdAutumnRain <73938872+ColdAutumnRain@users.noreply.github.com>
Co-authored-by: Paul Ritter <ritter.paul1@googlemail.com>
Co-authored-by: Leon Friedrich <60421075+ElectroJr@users.noreply.github.com>
Co-authored-by: 20kdc <asdd2808@gmail.com>
Co-authored-by: Alex Evgrashin <aevgrashin@yandex.ru>
2021-08-24 00:50:39 -06:00
metalgearsloth 4311cec93e
Update SS14 for grid contraction (#4452)
* Update SS14 for grid contraction

* Remove more dummy chunks
2021-08-23 16:00:17 +10:00
metalgearsloth 8878f4dc8f
Update content for PhysicsMapComponent (#4462)
* Update content for PhysicsMapComponent

* Fix command

* Cache broadphasesystem
2021-08-23 15:02:03 +10:00
metalgearsloth 8fa7f902a1
Add basic meteor swarm (#4420)
* Add basic meteor swarm

* Map fixes

* Dependency cache

* Fix projectile crash

* Last of the reviews
2021-08-23 13:28:47 +10:00
Alex Evgrashin 8408c1128f
Add security barriers (#4458)
* Add sprites

* Lock system now raises lock toggle events

* Add prototype and barrier system

* Toggle lock on click

* Barrier blocks bullets (like a real wall)

* Barrier now destroyable

* Fancy visualzer and lighting. Also unlock by default

* Deleted comma

* Ignored components?

* Update Resources/Prototypes/Entities/Objects/Specific/Security/barrier.yml

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

* Update Resources/Prototypes/Entities/Objects/Specific/Security/barrier.yml

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

* Toggle Lock no longer handled

* Made it much easier to move through airlocks

Co-authored-by: Swept <sweptwastaken@protonmail.com>
Co-authored-by: metalgearsloth <31366439+metalgearsloth@users.noreply.github.com>
2021-08-23 02:32:24 +10:00
20kdc cdb0727d78
Fix PA construction crash, make it clear that PA construction needs LV cables (#4506) 2021-08-22 17:50:43 +02:00
metalgearsloth f472bbab88
Singularity fixes (#4383)
* Singularity fixes

* Fix the rest

* Woops

* ahh

* Nerf singulo for now

* Final touchups for now

* Review
2021-08-23 00:54:03 +10:00
Leon Friedrich 486dc6ca62
Add Alt-click functionality (#4497)
* Fix ItemSlot Bug

* Add Alt-use Key

* Fix TransferAmount window bug

* Alt-click functionality

* Added AltInteract verbs

* Add new verbs

* verb icons

* Changed Comments

* Change Comments

* Fix disposal verbs

* Changed Get...() to Get...OrNull()

* Changed alt-interact combat behaviour

* Update verb icons

* Inventory interact event

* Add Alt+E secondary binding

* Add alt-z keybinding

* Rename AltUse -> AltActivateItemInWorld
2021-08-21 10:20:18 -07:00
Vera Aguilera Puerto ad5f7bb71b
Subscribe TransformComponent events by-ref (#4478) 2021-08-21 11:49:31 +02:00
metalgearsloth bbbebbadf7
Port the tumbler from Box2D (#4486) 2021-08-21 09:23:01 +02:00
Vera Aguilera Puerto ea4ce1c6fc
Refactors throw events, makes cream pies ECS (#4500) 2021-08-21 09:18:23 +02:00
Swept ed6988909e
Added classic announcement sound to announcements (#4504) 2021-08-21 05:19:39 +00:00
Vera Aguilera Puerto fd8872cc4e Makes PlaceableSurface ECS 2021-08-20 10:21:39 +02:00
Vera Aguilera Puerto 3610abecbd Makes DiceComponent ECS 2021-08-20 09:51:54 +02:00
Leon Friedrich fcc7ca09ef
Fix H-pulling? (#4425)
In retrospect the answer is easy, but man this took a while.
2021-08-19 22:47:59 -07:00
Swept 8df0766e8d
Adds sound to fire extinguisher safety (#4494) 2021-08-20 05:37:16 +00:00
Swept 9d22869e58
Adds a ton more inhands (#4488)
* Removed useless loc and added inhands for some lamps

* Adds a ton of inhands to the game

* Actually adds the pill inhand

* Update Resources/Textures/Objects/Misc/utensils.rsi/meta.json

Co-authored-by: Paul Ritter <ritter.paul1@googlemail.com>

* Update Resources/Textures/Objects/Tools/rcd.rsi/meta.json

Co-authored-by: Paul Ritter <ritter.paul1@googlemail.com>

Co-authored-by: Paul Ritter <ritter.paul1@googlemail.com>
2021-08-20 05:36:32 +00:00
Swept d2edd1712d
Removes vending inventory desc and adds missing vending machine descriptions (#4493)
* Removes inventory descriptions

* Adds missing vending machine descriptions using inventory descriptions

* Woops missed a file
2021-08-20 05:23:02 +00:00
Swept 45030b22a3
Adds the ability to assign equip sounds in ClothingComponent (#4485)
* Initial

* Works (Kinda)

* Polish

* Reviews
2021-08-19 21:22:23 -07:00
Swept 1341d63ae0
Adds duck-related content and a seclite (#4489)
* Added rubber ducky

* Adds ducky slippers

* Adds seclite

* Update Resources/Textures/Objects/Tools/seclite.rsi/meta.json

Co-authored-by: Paul Ritter <ritter.paul1@googlemail.com>

* Update Resources/Textures/Objects/Fun/ducky.rsi/meta.json

Co-authored-by: Paul Ritter <ritter.paul1@googlemail.com>

* The duck slippers now quack as you walk

Co-authored-by: Paul Ritter <ritter.paul1@googlemail.com>
2021-08-19 16:23:49 -07:00
Vera Aguilera Puerto 555043f997 Improve hand pickup code
This way I can break EntityCoordinates' API without breaking content.
BWAHAHAHAHAH!
2021-08-19 11:14:38 +02:00
ColdAutumnRain db48f0cc2d
Owner Transform to Owner in SoundSystem calls (#4460)
* Owner Transform to Owner

* Owner Transform to Owner minor fixes
2021-08-18 23:36:57 +02:00
Paul 77d7d3c383 am big dumdum pls no shed 2021-08-18 23:22:22 +02:00
Paul b651ee93d0 Makes Match[sticks/box] ECS, Makes Matchsticks ignite plasma 2021-08-18 23:17:47 +02:00
Swept ff44b83fd6
Fixes cigarette animations and matches now have lit/unlit inhand sprites (#4480) 2021-08-17 23:26:35 +00:00
ShadowCommander d908684f09
Remove pillcomponent (#4469)
* Remove PillComponent

* Make food without any solution left delete and create trash

* Replace PillComponent references with a Pill tag

* Clean up

* Add swallow message to food

* Change to eatMessage override

* Change FoodComponent transferAmount to nullable

* Change properties to private
2021-08-17 14:11:07 -07:00
metalgearsloth d61ff89dfc Fix showatmos 2021-08-17 14:09:59 +10:00
metalgearsloth dcbb2d2a11
Increase MoverController performance (#4448)
Should be a decent amount; rest will come from removing IActionBlocker.
2021-08-15 14:03:08 +10:00
ShadowCommander b8e6a996d4
Fix missing sounds (#4466)
* Fix missing sounds

* Make SoundHitSpecies fallback to SoundHit

* Fix crayon YAML

* Update PlaySoundBehavior YAML

* Fix required
2021-08-13 21:31:37 -07:00
Vera Aguilera Puerto e66982161f Fix tool sounds.
Fixes #4465
2021-08-13 11:05:06 +02:00
metalgearsloth fe4bf059b9 Completely fix NPC pathfinding
Through rigorous investigation and hard work.
2021-08-12 23:56:34 +10:00
ShadowCommander 46d1e4f06f
Fix door sound dampening (#4453) 2021-08-11 20:52:06 -07:00
metalgearsloth 4da74d0ee4
Refactor disposals to ECS (#4418)
* ECS up disposals

Also significantly reduced its CPU usage.

* Make update significantly less S L O W

* Start units pressurised

* Client-side flush lerping

* Fix powered not toggling UI

* Fix flush button

* InteractUsing

* Minor optimisations

* Fix collisions

* Make visual state ECS

* Almost done with shared

* Most stuff moved

* Optimise item sleeping
2021-08-12 13:40:38 +10:00
Swept 0efcbf4061
Crematorium now makes a noise on start and during cremation (#4459) 2021-08-11 19:29:57 -07:00
ShadowCommander 26ebcb4cb8
Fix gas canister 2021-08-10 16:55:12 -07:00
ShadowCommander 0c09d4d7e2
Fix stuff 2021-08-10 16:18:57 -07:00
ShadowCommander e9f358f56b
Fix indentation 2021-08-10 15:39:24 -07:00
ShadowCommander 730c137778
Merge branch 'master' of github.com:space-wizards/space-station-14 into replace-sounds-with-sound-specifier 2021-08-10 15:17:58 -07:00
ShadowCommander a1db43ab34
Merge branch 'master' into replace-sounds-with-sound-specifier 2021-08-10 15:05:49 -07:00
metalgearsloth b2322864e9
Remove IActionBlocker.CanMove (#4449)
* Remove IActionBlocker.CanMove

Ported the remainders over to using MovementAttemptEvent which should also help make mob movement a bit faster.

* Make that check faster
2021-08-09 17:34:01 -07:00
Swept 9f64592a40
Fix fixed-point format specifier in PowerCellComponent 2021-08-08 21:43:12 +00:00
Vera Aguilera Puerto 41ddf3d7eb Further pickup animation improvements. 2021-08-06 19:20:27 +02:00
Vera Aguilera Puerto 6bd6b9789a Pointing coordinate fixes. 2021-08-06 18:27:37 +02:00
Vera Aguilera Puerto 0501ae4b89 Fix pickup animation incorrect coordinate usage.
Animation finalPosition was world position, while initialPosition was local position.
2021-08-06 18:11:58 +02:00
Vera Aguilera Puerto 9882f46825 Fix PlaceableSurface incorrect coordinate usage.
It set world position to entity coordinate positions...
2021-08-06 17:52:42 +02:00
mirrorcult 09f5ec5cb8
Fix can't return to body bug (#4424) 2021-08-06 00:02:36 -07:00
Kara D cf2a1ecd5d
remove SetLayerVisibility, doesnt work for some reason 2021-08-05 22:01:24 -07:00
Kara D 9354abb024
reviews + test 2021-08-05 22:01:02 -07:00
Kara D 5af4c06231
construction 2021-08-05 21:10:06 -07:00
Kara D e460285187
proper sprites + visualizes nicely 2021-08-05 19:43:58 -07:00
Vera Aguilera Puerto 13ceae872b Fixes not taking pressure damage in space.
Fixes #4415
2021-08-04 09:48:49 +02:00
Vera Aguilera Puerto b7d049a52c Add CVar for random grid offset, disable it by default. 2021-08-04 09:27:22 +02:00
Vera Aguilera Puerto 2205fef06a Document a few atmos classes. 2021-08-03 14:29:56 +02:00
metalgearsloth af05332b36
Random offset for DefaultGrid every round (#4411)
* Random offset for DefaultGrid every round

This is useful to make coders aware of entitycoordinates and mapcoordinates being different and to help spot problems early. It also puts the onus of fixing positioning bugs back onto the original coder rather than someone else if they happen to spot it.

* Fix clickable test

* Fix entitysystemextensions
2021-08-03 18:49:25 +10:00
ScalyChimp bf43141c96
Meth (#4186)
* adds an overdose metabolism with sensible default settings

* adds the compoenents for the run fast part of meth

* not sure what I changed here but I trust my past self to not fuck up for once

* adds basic meth recipe

* correctly names comething

* I really should've checked my spelling before making this pr

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

* adds suggestion from the maintaner, who managed to get to this pr suprisingly fast

* Revert "adds suggestion from the maintaner, who managed to get to this pr suprisingly fast"

This reverts commit 9b0f07402e35ed5890b3af805691b690671b950c.

* tweak

* tweak

* git's gitting on my nerves

* some small tweaks

* don't need these anymore

* makes some stuff required

* changes the meth recipe to arbitary bullshit to get the yaml thingy to leave me alone goddamnit

* extremely minor change

* removes overdose, because however it's gonna be done, it's definitely not my way

* i should really double check every key I press

* hm

* sigh, I should be more thorough with looking at error messages.

* beenus

* gay sex is gay

* this one goes out to bingo

* reviews

* not sure why status lifetime description wasn't being commited

* Update MovespeedModifierMetabolism.cs

Co-authored-by: mirrorcult <notzombiedude@gmail.com>

* adds VV to component variables

* rebalances meth, and makes the completely unrealistic recipe properly work now

* meth effects should go away now or something do you think I test these changes before pushing??

* ah yes, orginization

* adds proper recipe and prequisite chemicals

* fixes linter hopefully

* Update chemicals.yml

* a

* starts working on prediction

* thing

* predmiction??

* changes thing

* does it properly

* uses timespan instead of timer

* uses dif timers and adds a system

* updates robust and tweaks a small thing

* Fixes

* "Fix" prediction

* starts changing the timer to timespans to avoid icky on timer end

* okay fixes the check thing but now meth is broken and I don't know why

* fixes predicition (partially)

* Delete ContentNetIDs.cs

whoops

* some changes advised by sloth

* certified scalycode fix right here

* moves resettimer to the metabolism to make it less oop stinky

* moves resettimer to the metabolism to make it less oop stinky

* gamin

* when the  is

* updates mth colour to be accurate because I forgot

* abc hard ok

* everything should be up to date now

* makes MovespeedModifierMetabolism ECS and cleans up some other stuff

* does a fixy wixy

* fix thing

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

This reverts commit 62886561098be02f9adb6352f4e858a8269d5bd5, reversing
changes made to ca34fffb5b7a40f19aec7b9e4bc37bdeab914bc1.

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

This reverts commit 4f550da19656abfd0be05f818fc6b7100252d5b8.

* fix hopefully

* updates metabolism to works with mirror's fancy new system

* updates yaml + tweaks

* bruh

* yaml moment

* :yaml moment

* Revert " :yaml moment"

This reverts commit 8cb51573c64db76d989de22acdbb9c50b2c6d052.

* 99th commit yay, also I need to not do this

* removes something that I don't need

* makes system work with this and gets rid of unnesescary check

* make the update only work on active components

* oops

* Cleanup

* alphabetise this shit

* Touchup

* Woops stupid alloc by me

* Nerf nyoom for now

Co-authored-by: metalgearsloth <31366439+metalgearsloth@users.noreply.github.com>
Co-authored-by: mirrorcult <notzombiedude@gmail.com>
Co-authored-by: metalgearsloth <comedian_vs_clown@hotmail.com>
2021-08-03 13:32:08 +10:00
Vera Aguilera Puerto 611340e454 Enables nullables for atmos internals 2021-08-02 17:03:13 +02:00
Vera Aguilera Puerto 009087863f
AtmosDevices can optionally process in space. (#4405)
Refactors some misc atmos things, too.
2021-08-02 21:59:41 +10:00
mirrorcult af2e21c355
Refactor IDoorCheck into entity events (#4366)
* IDoorCheck refactored to events

# Conflicts:
#	Content.Server/Atmos/TileAtmosphere.cs
#	Content.Server/Doors/Components/AirlockComponent.cs
#	Content.Server/Doors/Components/FirelockComponent.cs
#	Content.Server/Doors/Components/ServerDoorComponent.cs
#	Content.Server/Doors/IDoorCheck.cs

* namespaces

* Fix mapinit bug with refreshautoclose

* ok i guess these just didnt feel like staging today
2021-08-02 21:57:06 +10:00
Vera Aguilera Puerto 331604cc66 GasFilter appearance, EnabledAtmosDeviceVisualizer improvements. 2021-08-02 13:20:31 +02:00
metalgearsloth 5c5cd601e6 Fix potential timer exception 2021-08-02 10:43:42 +10:00
Paul Ritter d14b82a1e6
fixes morgue (almost) (#4375)
* fixes morgue (almost)

* yes

Co-authored-by: Paul <ritter.paul1+git@googlemail.com>
2021-08-01 14:13:46 +10:00
Galactic Chimp 57016d14b4 removed TryGetSound + made some SoundSpecifier datafields required 2021-07-31 19:52:33 +02:00
Galactic Chimp 8ff703c338 added comment 2021-07-31 17:22:08 +02:00
Galactic Chimp b2e40d540f Inserted SoundSpecifier where appropiate 2021-07-31 15:17:16 +02:00
Michael Cooke 3cf08af9dd
Fix opposite force when throwing objects (#4398)
* Fix opposite force when throwing objects

* DRY the throw impulse vector calculation
2021-07-31 22:53:18 +10:00
plinyvic e5956566f5
grindable/juiceable stacks (#4391)
* grindable/juiceable stacks

reagent grinder now takes stacks into account
added ScaleSolution that allows easy scaling of solution contents

* grindable/juiceable stacks revision

grinder/juicer stack fix now ECS
added JuiceableScalingEvent

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

Co-authored-by: mirrorcult <lunarautomaton6@gmail.com>

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

Co-authored-by: mirrorcult <lunarautomaton6@gmail.com>
Co-authored-by: Vera Aguilera Puerto <6766154+Zumorica@users.noreply.github.com>
2021-07-31 14:06:24 +02:00
mirrorcult 8aa4f998de
Metabolism refactor (#4395)
* metabolism -> respirator, add reageanteffect and reagenteffectcondition, start on metabolizercomp/system

* move LiverBehavior metabolism logic to Metabolizer

* minor tweaks and update all YAML

* how about actually taking conditions into account

* off by one

* removals

* reviews
2021-07-31 13:50:32 +02:00
Galactic Chimp 41c30aa28b Merge branch 'master' into replace-sounds-with-sound-specifier
# Conflicts:
#	Content.Server/Hands/Components/HandsComponent.cs
#	Content.Server/Light/Components/ExpendableLightComponent.cs
#	Content.Shared/Light/Component/SharedExpendableLightComponent.cs
2021-07-31 13:16:03 +02:00
Vera Aguilera Puerto dc18997bf8
Removes LoopingSoundComponent. (#4396)
I'm sorry.
2021-07-31 12:41:59 +02:00
mirrorcult f93bdcd226
Fix serv warnings (#4400) 2021-07-31 01:59:18 -07:00
Leon Friedrich dbc90f202a
Bug fixes for metabolisable reagents (#4385)
* HealthChangeMetabolism now scales with ticktime and metabolism rate

Both Food and Drink metabolisms scale with ticktime, Now HealthChangeMetabolism also does so.

Additionally, 'healthChange' now correctly scales with the metabolism rate, so it's description is now correct.

* LiverBehaviour now uses correct frameTime

Previously, the liver only metabolised reagants once every second, but incorrectly passes the current frameTime to the metabilism function, not 1 second.

* Stomach now only transfers non-empty solutions.

Makes debugging bloodstream bugs easier if the stomach is not constantly adding empty solution to it.

* Fixed StomachBehaviour using wrong SolutionContainerComponent

Stomach was using the first SolutionContainerComponent in the owner of the body, instead of the container in the owner of the mechanism (stomach). As a result, it used to use the BloodStreamComponent.Solution as a "Stomach".

* Update StomachBehavior.cs

Somach now checks if it still contains a reagant, before transferring it.

* Added argument to IMetabolizable.Metabolize()

Added availableReagent argument to IMetabolizable.Metabolize(), This ensures that this function does not over-metabolize a reagant, which can happen if tickTime*metabolismRate is larger than the available reagant

* Revert "Stomach now only transfers non-empty solutions."

This reverts commit 2a51e2d87e6e17ab76b48e5316ce501ec05ac061.

* Renamed _updateInterval to _updateIntervalSeconds

Also modified doc comment specifying units

* Fix spelling of healthChangeAmount

Changed from healthChangeAmmount to healthChangeAmount

* Fixed comment

comment used to mention _updateInterval, which has been renamed  _updateIntervalSeconds

* Fixed typo in comment

* fixed typos: reagant -> reagent

Most typos were just in comments.

* Make metabolizable classes inherit from DefaultMetabolizable

Also involved changing around IMetabolizable

* Renamed variables

metabolismAmount -> amountMetabolized

* Updated Comments in DefaultMetabolizable

Makes it clearer why DefaultMetabolizable works as it does, and that other classes depend on it.
2021-07-30 21:11:02 -07:00
Pieter-Jan Briers 632e72b817
Improve hands & pulling (#4389) 2021-07-31 03:14:00 +02:00
Pieter-Jan Briers 73e4946e27 Pow3r goes brrr with generational IDs. 2021-07-31 02:50:23 +02:00
Pieter-Jan Briers b92a2ba115 Remove GraphWalkSolver
It's not worth maintaining and if anybody cares the code is in git history.
2021-07-31 02:50:23 +02:00
Galactic Chimp 5363f59a90 Merge branch 'master' into replace-sounds-with-sound-specifier
# Conflicts:
#	Content.Server/Kitchen/Components/ReagentGrinderComponent.cs
#	Content.Server/Storage/Components/SecureEntityStorageComponent.cs
2021-07-30 20:26:22 +02:00
Galactic Chimp 898bdc9491
#4420 Replaced SecureEntityStorageComp with LockComponent (new ECS) (#4228)
* #4420 moved sound components to a better spot in the project

* MWF-4420 - ported SecureEntityStorageComponent to new ECS system, as a LockComponent

* MWF-4420 - removed unused usings

* #4420 removed dumb ToggleLockVerb override workaround

* #4420 added SoundSpecifier to LockComponent
2021-07-30 10:22:06 -07:00
Vera Aguilera Puerto e256cb7bb0 Optimize atmos devices' appearance updating. 2021-07-30 14:00:14 +02:00
Pieter-Jan Briers 8c362fcd9b Use non-directed event for powernet battery sync.
Most of the CPU time in the power system was sending these events.
2021-07-29 16:55:09 +02:00
Pieter-Jan Briers 9b42c1f69b Fix bad localization string in secret stash. 2021-07-29 13:06:18 +02:00
Paul Ritter 3501bcbea6
reagentgrinder ecs & xamlui (#4347)
* started converting grinder to ecs

* finished reagentcontainer ecs
refactored bui
converted ui to xaml

* adds handling

* fixes handling

* oopsie

Co-authored-by: Paul <ritter.paul1+git@googlemail.com>
2021-07-28 21:58:38 -07:00
Paul 70a16427f4 fixes #4372 2021-07-26 18:28:04 +02:00
Paul 8357fcd7c2 fixes enpendablelight to actually be expendable 2021-07-26 18:17:42 +02:00
Vera Aguilera Puerto 1033d8bbe5 Use EntitySystem dependencies in a bunch of systems. 2021-07-26 13:01:47 +02:00
Vera Aguilera Puerto 5d929485ed Hotspot passes MapManager to GetTileRef. 2021-07-26 11:28:43 +02:00
Vera Aguilera Puerto 86cecd3b5e Add CVar for disabling/enabling excited groups. 2021-07-26 11:16:34 +02:00
Vera Aguilera Puerto 7fa10bd17b Remove atmos archiving. 2021-07-26 11:06:44 +02:00
ShadowCommander 8661bdf3da
Fix typo in inventory component throw 2021-07-26 00:04:47 -07:00
mirrorcult a91f919018
Remove FoodContainer, add whitelists, replace with SpawnItemsOnUse (#4358) 2021-07-25 17:41:50 +02:00
Vera Aguilera Puerto 6d3863f8a0 Remove EntityNetworkUtils, move extension methods to AtmosDirection class. 2021-07-25 15:05:05 +02:00
Vera Aguilera Puerto 8066eb196b Remove Hotspot Start method. 2021-07-25 15:03:07 +02:00
Galactic Chimp f531c65a0b Merge branch 'master' into replace-sounds-with-sound-specifier
# Conflicts:
#	Content.Server/Actions/Actions/DisarmAction.cs
#	Content.Server/Actions/Actions/ScreamAction.cs
#	Content.Server/Arcade/Components/SpaceVillainArcadeComponent.cs
#	Content.Server/Damage/Components/DamageOnHighSpeedImpactComponent.cs
#	Content.Server/Explosion/Components/FlashExplosiveComponent.cs
#	Content.Server/Physics/Controllers/MoverController.cs
#	Content.Server/Portal/Components/PortalComponent.cs
#	Content.Server/Portal/Components/TeleporterComponent.cs
#	Content.Server/Projectiles/Components/ProjectileComponent.cs
#	Content.Server/Singularity/Components/EmitterComponent.cs
#	Content.Server/Sound/EmitSoundSystem.cs
#	Content.Server/Stunnable/Components/StunbatonComponent.cs
#	Content.Server/Tools/Components/MultitoolComponent.cs
#	Content.Server/Weapon/Ranged/Barrels/Components/ServerBatteryBarrelComponent.cs
#	Content.Shared/Gravity/GravityComponent.cs
#	Content.Shared/Light/Component/SharedExpendableLightComponent.cs
#	Content.Shared/Maps/ContentTileDefinition.cs
#	Content.Shared/Slippery/SlipperyComponent.cs
#	Content.Shared/Standing/StandingStateComponent.cs
#	Resources/Prototypes/Entities/Objects/Fun/bike_horn.yml
2021-07-25 14:12:00 +02:00
Galactic Chimp 10af8efc0e
#4219 emit sound system add single sound support (#4237)
* Revert "#3935 implemented suggestions from PR"

This reverts commit a9b1c7b96333ca570067d6a9df1954481005892a.

* #4219 revert of single sound removal in EmitSoundSystem

* #4219 single sounds in EmitSoundSystem should work now

* #4219 some small project tweaks

* #4219 upgraded EmitSoundSystem to use SoundSpecifier

* #4219 pr tweaks

* #4219 pr tweak

* #4219 missing bike horn .yaml change
2021-07-25 04:37:01 -07:00
metalgearsloth ced39d4b2e
Slight trigger refactor (#4320)
* Trigger tweaks

* Finish trigger refactor

* Clusterflash too
2021-07-25 12:09:08 +02:00
mirrorcult ffee1482d9
Fix crayon decal spawning exception (#4355)
* Fix crayon spawning

* Popup message
2021-07-25 18:44:26 +10:00
Kara Dinyes 9d36b3371f
Fix handheld radio not accounting for obstructions
Fixes #4356
2021-07-25 01:07:28 -07:00
mirrorcult d27164528e
Add UI for setting solution transfer amount (#4074)
* basic eui and window

* finish EUI, update defaults

* unnecessary usings

* convert to bounduserinterface

* merge me up

merge me up inside

* Fix repeated define for component in prototype

* impl swept UI suggestion

* apply discord reviews

* small changes
2021-07-25 00:53:53 -07:00
Vera Aguilera Puerto 93acc565f0
Makes Airtight ECS. (#4351)
* Makes Airtight ECS.

* Remove atmos holdovers while at it!
2021-07-25 17:04:58 +10:00
metalgearsloth 29e335c54d
Bump up tile friction (#4329)
* Bump up tile friction

* Increase throwing speed

* Fix ExplosionLaunched throwing

* Flying time
2021-07-25 16:58:02 +10:00
Vera Aguilera Puerto d8fe13af04 Further optimize atmos by reusing specific arrays instead of using a shared arraypool 2021-07-24 16:33:04 +02:00
Vera Aguilera Puerto e83bf9ef34 Remove ITemperatureExpose, optimizes atmos. 2021-07-24 15:06:57 +02:00
Paul Ritter c95edae7b1
emitter ecs & bugfixes (#4348)
* a

* finished emitter ecs

Co-authored-by: Paul <ritter.paul1+git@googlemail.com>
2021-07-24 21:42:05 +10:00
metalgearsloth 2ba201ccff Revert "Hotfix ExplosionLaunchedComponent"
This reverts commit 6b98e65456.
2021-07-24 13:04:52 +10:00
metalgearsloth 6b98e65456 Hotfix ExplosionLaunchedComponent
this thing shouldn't exist but I'm fixing the crash for now
2021-07-24 13:03:47 +10:00
Vera Aguilera Puerto 4ade87c040 Add atmos grid impulses, disabled by default. 2021-07-23 17:27:16 +02:00
Vera Aguilera Puerto da25266dd5 CVar for explosive depressurization tile ripping. 2021-07-23 13:45:56 +02:00
Vera Aguilera Puerto 07c478afb6 Optimize atmos by not invalidating hotspot tiles every time they react. 2021-07-23 11:10:06 +02:00
Vera Aguilera Puerto 4112847142
ECS Atmos Part 5: Moves all logic from GridAtmosphereComponent to AtmosphereSystem. (#4331) 2021-07-23 11:09:01 +02:00
metalgearsloth 30c28dafb9
Don't spin thrown pies (#4328) 2021-07-22 23:12:07 -07:00
Paul Ritter 4503a6f0ee
refactors barsigncomponent to be ecs (#4332)
Co-authored-by: Paul <ritter.paul1+git@googlemail.com>
2021-07-23 12:42:39 +10:00
Pieter-Jan Briers 992b03a5c2 Restart vote does not vote no for AFK players. 2021-07-22 23:20:57 +02:00
Pieter-Jan Briers 7345985410 Add AFK tracking system.
Allows us to see which players have not done any input and can be considered AFK.
2021-07-22 23:20:57 +02:00
metalgearsloth c7e32ff0c7 Fix shuttle angular velocity direction 2021-07-22 22:48:46 +10:00
Ygg01 3fd28c2565
Added mapped storage for things like crayon belts and tools (#4201)
* Added mapped storage for things like crayon belts and tools

* Attempt to get StorageFillEvent to work

* Managed to get it working with Visualizer logi

* Improved PR and did some light refactoring of components

* Update Content.Client/Storage/Visualizers/MappedItemVisualizer.cs

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

* Removed event, went with stateful ApperanceData

* Removed ids in favor of whitelist

* Refactor YAML, Moved functionality to Shared and renamed it.

* Changed so insert/remove always send full state.

* Move logic to component

* Fix some issues on MappedVisualizer and few nitpicks

- Fix mapped visualizer only doing init or update layers
- Fixed naming of systems
- Fixed sort of crayons

* Forgot to apply Vera's suggestion

* Fix the data to be more strict and to avoid unnecessary clearing

Co-authored-by: metalgearsloth <31366439+metalgearsloth@users.noreply.github.com>
2021-07-22 02:56:55 -07:00
Pieter-Jan Briers e9af56c7c3 Vote type delay, code comments.
Added doc comments to server side voting API.
There is now a 4 minute delay between creating votes of the same type.
Shuffled some code around.
Made a StandardVoteType enum instead of string IDs.
2021-07-21 19:03:10 +02:00
Pieter-Jan Briers 3a6ad88b39 Restart votes now default to no. 2021-07-21 15:24:43 +02:00
Pieter-Jan Briers 4259bc6806 Remove IoC resolve in vote manager 2021-07-21 15:15:12 +02:00
metalgearsloth 39801372be
Remove IStartCollide from containment fields (#4318)
* Remove IStartCollide from containment fields

* Emitter namespace

* vera reviews
2021-07-21 22:26:18 +10:00
metalgearsloth 3775d329bd
ECS vapors (#4308)
* ECS vapors

* tweak

* Reviews

* man my git must be laggin is yours laggin
2021-07-21 22:26:09 +10:00
metalgearsloth d34f1d4b54
(mostly) ECS projectiles (#4317)
* (mostly) ECS projectiles

* a

* Actual queue
2021-07-21 22:19:50 +10:00
metalgearsloth 590a6ce969
Slipping, now with 20% more ecs (#4310)
* Slipping, now with 20% more ecs

* vereview
2021-07-21 22:13:58 +10:00
metalgearsloth 500b9cb1ea
Make Saltern driveable (#4257)
* Broadphase refactor (content)

* Shuttle jank

* Fixes

* Testing jank

* Features and things

* Balance stuffsies

* AHHHHHHHHHHHHHHHH

* Mass and stuff working

* Fix drops

* Another balance pass

* Balance AGEN

* Add in stuff for rotating shuttles for debugging

* Nothing to see here

* Testbed stuffsies

* Fix some tests

* Fixen test

* Try fixing map

* Shuttle movement balance pass

* lasaggne

* Basic Helmsman console working

* Slight docking cleanup

* Helmsman requires power

* Basic shuttle test

* Stuff

* Fix computations

* Add shuttle console to saltern

* Rename helmsman to shuttleconsole

* Final stretch

* More tweaks

* Fix piloting prediction for now.
2021-07-21 21:15:12 +10:00
metalgearsloth 55087a6f16
Remove IStartCollide from Recyclers (#4312) 2021-07-21 12:35:45 +02:00
metalgearsloth 224bd9849b
Remove IStartCollide from singulo (#4313)
I accidentally glanced at the rest of singulo code and went blind.
2021-07-21 12:33:22 +02:00
metalgearsloth e93692245e
Remove IStartCollide from flammable (#4314)
I ported some stuff to be ECS but didn't feel like porting the rest, sue me.
2021-07-21 12:32:00 +02:00
metalgearsloth cf1b6246da
Remove IStartCollide from doors (#4319) 2021-07-21 12:28:37 +02:00
metalgearsloth 4b78e0a4e0
ECS flash area on collision (#4311) 2021-07-21 11:20:13 +02:00
metalgearsloth 8862028860
ECS StunnableProjectile (#4309)
* ECS StunnableProjectile

Also renamed it to the more generic component for stunning on collision

* Reviews
2021-07-21 11:16:38 +02:00
metalgearsloth 94ef2cb66e
Nuke portals (#4315) 2021-07-21 11:16:10 +02:00
Vera Aguilera Puerto fcafa8f439
ECS Atmos Part 4: Moves all atmos logic from TileAtmosphere to AtmosphereSystem. (#4295)
* Moves all atmos logic from TileAtmosphere to AtmosphereSystem.

* Atmos uses grid anchoring to check for firelocks instead of grid tile lookups.

* CVar for space wind sound

* CVar for explosive depressurization
2021-07-20 18:03:49 +02:00
metalgearsloth e1fdd902bb
Refactor DamageOnHighSpeedImpact to be ECS (#4297)
* Refactor DamageOnHighSpeedImpact to be ecs

* Comment
2021-07-20 18:02:43 +02:00
metalgearsloth b46de3a5db
Refactor chemical injection to be ECS (#4296) 2021-07-20 17:41:22 +02:00
Vera Aguilera Puerto 1685c716b9 Fix SprayComponent warning. 2021-07-20 16:58:58 +02:00
Pieter-Jan Briers b96d760043
Chat improvements. (#4283)
* UI is an abbreviation, in XAML.

* Chat improvements.

Changing the "selected" channel on the chat box is now only done via the tab cycle or clicking the button.

Prefix chars like [ will temporarily replace the active chat channel. This is based 100% on message box contents so there's no input eating garbage or anything.

Pressing specific channel focusing keys inserts the correct prefix character, potentially replacing an existing one. Existing chat contents are left in place just fine and selected so you can easily delete them (but are not forced to).

Channel focusing keys now match the QWERTY key codes.

Deadchat works now.

Console can no longer be selected as a chat channel, but you can still use it with the / prefix.

Refactored the connection between chat manager and chat box so that it's event based, reducing tons of spaghetti everywhere.

Main chat box control uses XAML now.

General cleanup.

Added focus hotkeys for deadchat/console. Also added prefix for deadchat.

Local chat is mapped to deadchat when a ghost.

Probably more stuff I can't think of right now.

* Add preferred channel system to chat box to automatically select local.

I can't actually test this works because the non-lobby chat box code is complete disastrous spaghetti and i need to refactor it.

* Move chatbox resizing and all that to a subclass.

Refine preferred channel & deadchat mapping code further.

* Don't do prefixes for channels you don't have access to.

* Change format on channel select popup.

* Clean up code with console handling somewhat.
2021-07-20 10:29:09 +02:00
Galactic Chimp 02242324ef
Fixed 2 localisation instances (#4289) 2021-07-19 20:55:00 +00:00
Vera Aguilera Puerto c8ba345cdc
ECS Atmos Part 3: Removes AtmosHelpers, add many methods to AtmosphereSystem. (#4285)
* ECS Atmos Part 3: Removes AtmosHelpers, add many methods to AtmosphereSystem

* Adds API for adding/removing active tiles.

* Adds API for FixVacuum.

* Adds API for UpdateAdjacent.

* Adds API for IsTileAirBlocked.

* Re-organize hotspot code

* Adds API for IsTileSpace.

* RemoveGasCommand uses AtmosphereSystem

* AddGasCommand uses AtmosphereSystem.

* SetTemperatureCommand uses AtmosphereSystem.

* Adds API for IsSimulatedGrid.

* GasLeak uses AtmosphereSystem.

* Makes Spark method in GasLeak ALSO use AtmosphereSystem.

* GasPassiveVentSystem uses AtmosphereSystem.

* GasMinerSystem uses AtmosphereSystem.

* GasOutletInjectorSystem uses AtmosphereSystem.

* GasVentPumpSystem uses AtmosphereSystem.

* GasDualPortVentPumpSystem uses AtmosphereSystem.

* GasVolumePumpSystem uses AtmosphereSystem.

* GasAnalyzerComponent uses AtmosphereSystem.

* Add API for GetAdjacentTileMixtures.

* GasVentScrubberSystem uses AtmosphereSystem.

* AirtightComponent uses AtmosphereSystem.

* GasLeaks's TryFindRandomTile uses AtmosphereSystem.

* Adds API for GetAdjacentTiles.

* FirelockComponent's IsHoldingFire uses AtmosphereSystem.

* Adds API for GetAllTileMixtures.

* DeleteGasCommand uses AtmosphereSystem.

* FixGridAtmos uses AtmosphereSystem.

* FillGasCommand uses AtmosphereSystem.

* SetAtmosTemperatureCommand uses AtmosphereSystem.
2021-07-19 12:07:37 +02:00
Vera Aguilera Puerto 8410fc239c Fix handheld instruments not working 2021-07-18 14:59:40 +02:00
Eugene 0a93e602ca
Add missing space (#4281) 2021-07-17 23:04:04 +02:00
Pieter-Jan Briers 97a3866a40 Use replicated CVars for max chat message length. 2021-07-17 14:35:28 +02:00
Visne b7dc3c81ae
Remove redundant #nullable enable (#4275) 2021-07-16 17:37:09 -07:00
Fiftyllama eb7d65ad5b
Disposal drop their contents if they're destroyed or unanchored. Fixes #4114 (#4269)
* Fixes #4114

Disposals now drop their contents if destroyed or if unwrenched

* Update DisposalUnitSystem.cs

* Update DisposalUnitSystem.cs
2021-07-15 20:22:29 -07:00
metalgearsloth fc9a15b288 Eventbus event for ApcPowerReceiver powered 2021-07-16 12:41:01 +10:00
Swept 5f9ba812ca
Reorganizes Resources/Constructible (#4252) 2021-07-15 18:30:50 +00:00
Vera Aguilera Puerto 45643c633d
Adds dual-port vent pump. (#4270)
* Adds dual-port vent pump.

* stop being lazy and do the flag check manually

* disable vent pump behavior
2021-07-15 23:24:45 +10:00
metalgearsloth e726e88f7a
Remove PhysShapeGrid (#4264) 2021-07-14 18:48:07 +10:00
Vera Aguilera Puerto 65daba185e Change DoAfterEventArgs docs to be correct. 2021-07-13 08:03:52 +02:00
Galactic Chimp f3ef50c1d9 emitsoundsystem tweak 2021-07-12 13:45:35 +02:00
Galactic Chimp aff9d99dc7 #4219 pr tweak
(cherry picked from commit 00b80cb1df2434259ab5df45188e176be57603af)
2021-07-12 13:44:44 +02:00
Galactic Chimp 26f9a60858 #4219 pr tweaks 2021-07-12 13:39:54 +02:00
Acruid 59e5cc5e3c
Remove Static Component NetIds (#4247)
* Remove the unnecessary NetID property from ComponentState.

* Remove Component.NetworkSynchronizeExistence.

* Removed Component.NetID.

* Adds component netID automatic generation.

* Removed NetIdAttribute from serverside components with no corresponding clientside registration.

* Completely remove static NetIds.

* Renamed NetIDAttribute to NetworkedComponentAttribute.

* Add GenerateNetIds calls to client and server entry points.
Add test to make sure auto generated NetIds are identical.

* Component changes when rebasing that I am too lazy to rewrite into the branch.

Co-authored-by: Vera Aguilera Puerto <6766154+Zumorica@users.noreply.github.com>
2021-07-12 10:32:10 +02:00
Vera Aguilera Puerto d8e353742c
Canister fixes and rework (#4266)
* Kills PipeNode ConnectToContainedEntities and EnvironmentalAir with fire.

* Reaction IGasMixtureHolder is nullable.

* Reworks canisters

* Adds PortablePipeNode and PortPipeNode, which connect to each other.
2021-07-12 10:00:50 +02:00
Vera Aguilera Puerto 077f158dda
Add pipe coloring (#4261) 2021-07-12 09:59:45 +02:00
Vera Aguilera Puerto 6bbcf305bd Makes GasValveComponent ECS. 2021-07-12 09:47:59 +02:00
Galactic Chimp ce3c59e0e6 replacing sound (collection) names with SoundSpecifier - part 1 2021-07-10 17:35:33 +02:00
Galactic Chimp 4500b66f28 #4219 upgraded EmitSoundSystem to use SoundSpecifier 2021-07-10 11:20:23 +02:00
Galactic Chimp da41942daf Merge branch 'master' into #4219-emit-sound-system-add-single-sound-support 2021-07-10 10:21:40 +02:00
Galactic Chimp 1b8fb8df1d
#4213 translation string fixes (#4217)
* #4213 some translation string fixes

* #4213 cargo localization string fixes

* #4213 more localization tweaks and fixes

* #4213 - fixed some translation string issues

* #4213 - fixed some translation string issues
2021-07-10 01:14:06 -07:00
Pieter-Jan Briers b79457dde9 Docs/cleanup for node system. 2021-07-06 21:25:04 +02:00
Pieter-Jan Briers cfe4a26d1f Fix AME node updating to fix exceptions.
And also make it run less poorly, I guess.
2021-07-06 20:56:55 +02:00
Pieter-Jan Briers 103bc19508
Pow3r: stage 1 (#4208)
Co-authored-by: 20kdc <asdd2808@gmail.com>
2021-07-04 18:11:52 +02:00
Vera Aguilera Puerto ef958185fb
DoAfter can now raise events so you don't need to use async with it (#4253) 2021-07-04 21:32:24 +10:00
DmitriyRubetskoy 5469f8c8b2
Give Item spell (#4241)
* Cherry-picked summonspell

* Renamed the script for clarity

* Fixed Spell type error in yaml

* Fixed Sound issues and increased the cooldown

* Newline

* Major script change

* Fixed Namespace

* Validation fixed, TryGet replaced

* Typo again

* Allowed for proper localisation

* Typo fixed

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

* Adressed changes

* Review cleanup

Co-authored-by: metalgearsloth <31366439+metalgearsloth@users.noreply.github.com>
Co-authored-by: metalgearsloth <comedian_vs_clown@hotmail.com>
2021-07-01 21:26:44 +10:00
Vera Aguilera Puerto 4ce05a9b75 Work around transform anchoring in construction. 2021-06-29 21:23:00 +02:00
Vera Aguilera Puerto bc7b315b18
Replace IResettingEntitySystem with RoundRestartCleanupEvent. (#4245)
* Replace IResettingEntitySystem with RoundRestartCleanupEvent.

* oops
2021-06-29 23:56:07 +10:00
Vera Aguilera Puerto 77ae49fd9c
Sound Specifiers. (#4239)
* Adds SoundSpecifier and a type serializer.

* DiceComponent makes use of SoundSpecifier.

* When rider autorefactoring decices to add field:

* Remove SoundEmptySpecifier, use nullable everywhere
2021-06-28 16:20:57 +02:00
Vera Aguilera Puerto 9bedfe79be
Fix being able to start pulling something while incapacitated. (#4240) 2021-06-28 22:17:37 +10:00
Vera Aguilera Puerto 6a4e0beacc Fix being able to play structure instruments while in crit/dead.
Fixes #4038
2021-06-28 13:45:23 +02:00
metalgearsloth 05e31c2cd3
Don't pushback when throwing while buckled (#4232)
* Don't pushback when throwing while buckled

* Address reviews

* Fix
2021-06-28 14:17:08 +10:00
Galactic Chimp 6cae00bb13 #4219 some small project tweaks 2021-06-27 21:55:18 +02:00
Galactic Chimp 4a2b9832ce #4219 single sounds in EmitSoundSystem should work now 2021-06-27 21:48:57 +02:00
Galactic Chimp a0889a9151 #4219 revert of single sound removal in EmitSoundSystem 2021-06-27 21:30:28 +02:00
Galactic Chimp c8e3775ea5 Revert "#3935 implemented suggestions from PR"
This reverts commit a9b1c7b96333ca570067d6a9df1954481005892a.
2021-06-27 21:27:59 +02:00
metalgearsloth 50cc526ebd
Refactor standing to be ECS (#4142)
* Refactor standing to be ECS

E C S B A B Y

* DONE

* FIX IT FIX IT FIX IT

* IsDown event

* Change to methods

* Fixes

* Address some reviews

* Last of the Mohicans

* Final fixes

* Fix tests
2021-06-27 19:02:46 +10:00
metalgearsloth c25b103316
Gravity fixes (#4231)
git was being dumb so I just made a diff pr
2021-06-27 15:57:02 +10:00
Galactic Chimp afb5f5c8eb
#1462 extracted MapGrid's HasGravity property to separate Content com… (#4200)
* #1462 extracted MapGrid's HasGravity property to separate Content component

* #1462 - PR suggestions

* Merge to master

Co-authored-by: metalgearsloth <comedian_vs_clown@hotmail.com>
2021-06-27 15:43:39 +10:00
Galactic Chimp 769daedaa9
#1607 deprecate IEntityQuery (#4204)
* #1607 partial progress

* #1607 partial progress

* #1607 almost done

* #1607 PR suggestions

* #1607 PR suggestions

* #1607 PR suggestions

* #1607 PR tweak

* #1607 PR tweak

* #1607 removed unused namespaces

* #1607 PR tweak

* Fix jank

Co-authored-by: metalgearsloth <comedian_vs_clown@hotmail.com>
2021-06-27 13:40:03 +10:00
Vera Aguilera Puerto 4d89eda952 Use cached atmosphere system in pipenet update.
- Also unslows PJB's yeast
2021-06-26 11:56:23 +02:00
Vera Aguilera Puerto 8f1aed5412 Remove workaround for engine bug in disposals. 2021-06-25 14:46:47 +02:00
DrSmugleaf 716bee0746
Remove IClientSingularityInstance, move visual effects to SingularityDistortionComponent (#4194)
* Remove IClientSingularityInstance

* In and out 5 minute refactor

* Component states for singularity distortion

* Fix distortion states

* Address reviews
2021-06-24 12:48:11 +10:00
Vera Aguilera Puerto 34e457b854 Gas Tanks no longer use NodeContainer, Gas Canisters no longer use passive gates. 2021-06-23 12:02:28 +02:00
Vera Aguilera Puerto 263c9ef974
ECS Atmos Part 2: Moves a lot of Gas Mixture methods to AtmosphereSystem. (#4218) 2021-06-23 11:35:30 +02:00
Vera Aguilera Puerto 3f28a4d784
ECS Atmos Part 1: Move GridAtmosphere updating and processing to AtmosphereSystem.Processing (#4206) 2021-06-22 10:28:15 +02:00
collinlunn f2816e8081
Moves Hands to shared, some prediction (#3829)
* HandsGuiState

* Gui state setting methods

* code cleanup

* Removes TryGetHands

* ClientHand

* Gui Hands

* Refactor WIP 1

* Hand index

* refactors 2

* wip 3

* wip 4

* wiip 4

* wip 5

* wip 6

* wip 7

* wip 8

* wip 9

* wip 11

* Hand ui mostly looks fine

* hands gui cleanup 1

* cleanup 2

* wip 13

* hand enabled

* stuff

* Hands gui gap fix

* onpressed test

* hand gui buttons events work

* bag activation works

* fix item use

* todo comment

* hands activate fix

* Moves Client Hands back to using strings to identify active hand

* fixes action hand highlighting

* diff fix

* serverhand

* SharedHand

* SharedHand, IReadOnlyHand

* Client Hands only stores SharedHand

* cleanup server hands

* server hand container shutdown

* misc renames, refactors of serverhand

* stuff 1

* stuff 3

* server hand refactor 1

* Undo API changes to remove massive diff

* More API name fixes

* server hands cleanup 2

* cleanup 3

* dropping cleanup

* Cleanup 4

* MoveItemFromHand

* Stuff

* region sorting

* Hand Putter methods cleanup

* stuff 2

* Merges all of serverhand and clienthand into sharedhand

* Other hands systems, hack to make inhands update (gui state set every frame, visualzier updated every frame)

* GetFinalDropCoordinates cleanup

* SwapHands cleanup

* Moves server hands code to shared hands

* Fixed hand selected and deselected

* Naming fixes

* Server hands system cleanup

* Hands privacy fixes

* Client hand updates when containers are modified

* HeldItemVisualizer

* Fixes hand gui item status panel

* method name fix

* Swap hands prediction

* Dropping prediction

* Fixes pickup entity animation

* Fixes HeldItemsVisualizer

* moves item pickup to shared

* PR cleanup

* fixes hand enabling/disabling

* build fix

* Conflict fixes

* Fixes pickup animation

* Uses component directed message subscriptions

* event unsubscriptions in hand system

* unsubscribe fix

* CanInsertEntityIntoHand checks if hand is enabled

* Moving items from one hand to another checks if the hands can pick up and drop

* Fixes stop pulling not re-enabling hand

* Fixes pickup animation for entities containers on the floor

* Fixes using held items

* Fixes multiple hands guis appearing

* test fix

* removes obsolete system sunsubscribes

* Checks IsFirstTimePredicted before playing drop animation

* fixes hand item deleted crash

* Uses Get to get other system

* Replaces AppearanceComponent with SharedAppearanceComponent

* Replaces EnsureComponent with TryGetComponent

* Improves event class names

* Moves property up to top of class

* Moves code for determining the hand visualizer rsi state into the visualizer instead of being determined on hand component

* Eventbus todo comment

* Yaml fix for changed visualizer name

* Makes HandsVisuals a byte

* Removes state from HandsVisualizer

* Fixes hand using interaction method name

* Namespace changes fixes

* Fix for changed hand interaction method

* missing }

* conflict build fix

* Moves cleint HandsSystem to correct folder

* Moved namespace fix for interaction test

* Moves Handsvisualizer ot correct folder

* Moves SharedHandsSystem to correct folder

* Fixes errors from moving namespace of hand systems

* Fixes PDA component changes

* Fixes ActionsComponent diff

* Fixes inventory component diff

* fixes null ref

* Replaces obsolete Loc.GetString usage with fluent translations

* Fluent for hands disarming

* SwapHands and Drop user input specify to the server which hand

* Pickup animation WorldPosiiton todo

* Cleans up hands gui subscription handling

* Fixes change in ActionBlockerSystem access

* Namespace references fixes

* HandsComponent PlayerAttached/Detached messages are handled through eventbus

* Fixes GasCanisterSystem drop method usage

* Fix gameticker equipping method at new location

Co-authored-by: metalgearsloth <31366439+metalgearsloth@users.noreply.github.com>
2021-06-21 19:21:20 +10:00
Vera Aguilera Puerto a6a073cfdb Remove invalid gas 2021-06-21 10:51:06 +02:00
metalgearsloth 4dc871b2be
Add cvar thresholds to gas overlays (#3835)
* Add cvar thresholds to gas overlays

Rather than having 256 thresholds it can now be reduced to whatever you want

* Address review

* Fix namespace
2021-06-21 17:08:37 +10:00
mirrorcult 2ea5aec101
Remove NetMessage deprecated boilerplate (#4196) 2021-06-21 07:43:54 +02:00
Galactic Chimp 392b820796
Removed old Loc.GetString() use instances (#4155)
Co-authored-by: DrSmugleaf <DrSmugleaf@users.noreply.github.com>
2021-06-21 02:13:54 +02:00
Vera Aguilera Puerto 5b41d3328e Fix crash when getting server status
- Adds _roundStartDateTime field to GameTicker, the UTC time when the round started.
2021-06-20 17:38:05 +02:00
Vera Aguilera Puerto f7b89daa74 Move ComputerUIActivatorSystem to Computer namespace. 2021-06-20 11:42:37 +02:00
Vera Aguilera Puerto d3a611164b
Turns GameTicker into an EntitySystem. (#4197)
* GameTicker turned into an EntitySystem

* Turns ClientGameTicker into an EntitySystem, turn NetMessages into events

* Change event names to be more consistent with the rest.

* YAML linter uses the dummy gameticker CVar override.

* Fix game ticker initialization order

* Dummy ticker won't spawn players.

* Fix character creation test
2021-06-20 10:09:24 +02:00
Acruid 15fb554c28
Engine Entity Anchoring Changes (#4195)
* Converted all SnapGridPositionChangedEvent subscriptions to AnchorStateChangedEvent.

* Fixes power tests with new anchored requirements.

* Moved AnchorableComponent into construction.
AnchorableComponent now uses Transform.Anchored.

* Fixed bug with nodes, power works again.

* Adds lifetime stages to Component.

* Update Engine to v0.4.70.
2021-06-19 19:41:26 -07:00
Swept a51305466e
Makes more stuff destructible/breakable (#4081) 2021-06-19 19:34:01 +00:00
Vera Aguilera Puerto a2b737d945
Atmos pipe rework (#3833)
* Initial

* Cleanup a bunch of things

* some changes dunno

* RequireAnchored

* a

* stuff

* more work

* Lots of progress

* delete pipe visualizer

* a

* b

* pipenet and pipenode cleanup

* Fixes

* Adds GasValve

* Adds GasMiner

* Fix stuff, maybe?

* More fixes

* Ignored components on the client

* Adds thermomachine behavior, change a bunch of stuff

* Remove Anchored

* some work, but it's shitcode

* significantly more ECS

* ECS AtmosDevices

* Cleanup

* fix appearance

* when the pipe direction is sus

* Gas tanks and canisters

* pipe anchoring and stuff

* coding is my passion

* Unsafe pipes take longer to unanchor

* turns out we're no longer using eris canisters

* Gas canister inserted tank appearance, improvements

* Work on a bunch of appearances

* Scrubber appearance

* Reorganize AtmosphereSystem.Piping into a bunch of different systems

* Appearance for vent/scrubber/pump turns off when leaving atmosphere

* ThermoMachine appearance

* Cleanup gas tanks

* Remove passive gate unused imports

* remove old canister UI functionality

* PipeNode environment air, make everything use AssumeAir instead of merging manually

* a

* Reorganize atmos to follow new structure

* ?????

* Canister UI, restructure client

* Restructure shared

* Fix build tho

* listen, at least the canister UI works entirely...

* fix build : )

* Atmos device prototypes have names and descriptions

* gas canister ui slider doesn't jitter

* trinary prototypes

* sprite for miners

* ignore components

* fix YAML

* Fix port system doing useless thing

* Fix build

* fix thinking moment

* fix build again because

* canister direction

* pipenode is a word

* GasTank Air will throw on invalid states

* fix build....

* Unhardcode volume pump thresholds

* Volume pump and filter take time into account

* Rename Join/Leave atmosphere events to AtmosDeviceEnabled/Disabled Event

* Gas tank node volume is set by initial mixtuer

* I love node container
2021-06-19 13:25:05 +02:00
Galactic Chimp 53671aeee7
#3935 - Refactored ToysComponent functionality into ECS (#4127)
* #3935 - toys properly play sounds when: Activated, Landed (after throwing) and Used in hand

* #3935 - extracted BaseEmitSoundComponent

* #3935 - refactored EmitSound components to use ECS

* #3935 - added new components to client ignored components

* #3935 - added suggested stuff for EmitSoundSystem et al.

* #3935 added suggestions from PR

* #3935 implemented suggestions from PR

* #3935 updated namespace
2021-06-19 02:35:56 -07:00
DrSmugleaf 4093e2b5ba
Remove damage flags (#4189) 2021-06-19 10:50:56 +02:00
DrSmugleaf 9b8185db23
Deprecate IActionBlocker in favour of cancellable events (#4193)
* Deprecate IActionBlocker in favour of cancellable events

* Bring back old speech/emoting component restrictions

* Rename action blocker listener methods

* Use Entity System public methods instead of extension methods

Co-authored-by: Vera Aguilera Puerto <gradientvera@outlook.com>
2021-06-19 10:03:24 +02:00
Acruid e1e54e9cb1
Removes all dependencies on engine component events. (#4199) 2021-06-18 10:49:18 +02:00
DrSmugleaf 4f4d203d2e
Make ghost component ECS (#4159)
* Make ghost component ECS

* Remove players and locations properties from ghost component

* Address reviews

* One more doc

* Fix client ghost component state method error
2021-06-18 09:56:23 +02:00
DrSmugleaf b292d3f749
Fix build (#4192) 2021-06-16 18:55:04 +02:00
20kdc a2f5c953dc
Refactoring of solar control console (#4072)
* Refactor/fix client-side of solar control computer (introduce ComputerBoundUserInterface & fix bugs)

* Refactor server side of solar control computer (introduce BaseComputerUserInterfaceComponent)

* If you can't interact, then messages to computers are blocked.

* Add 'not powered' messages, migrate activation logic partially to an EntitySystem

* Move solar control console to a XAML UI

* Remove useless comment on UserInterfaceKey

* BaseComputerUserInterfaceComponent: Remove EnsureComponent<PowerReceiver>, it's not necessary

* Fix solar panel occlusion check direction

* Solar Control Console refactors/etc. : Handle namespace renames
2021-06-17 00:49:02 +10:00
DrSmugleaf 69969bbdc6
Remove IBody, IBodyPart, IMechanism and IMechanismBehavior (#4187)
* Remove IBody, IBodyPart, IMechanism and IMechanismBehavior interfaces

* Summary cleanup
2021-06-17 00:44:38 +10:00
metalgearsloth 7cbfbad578
Minor cuff changes (#4164) 2021-06-17 00:37:05 +10:00
DrSmugleaf 40b86903b3
Fix temperature component not using the latest in pattern matching technology (#4188) 2021-06-16 15:54:35 +02:00
DrSmugleaf e44663e99f
Remove obsolete system event unsubscriptions (#4190) 2021-06-16 23:54:00 +10:00
DrSmugleaf f878f353e4
Move some files out of Content.Shared root because I forgot (#4182) 2021-06-13 22:52:40 +10:00
Vera Aguilera Puerto b3e1dfc348 Fix wrong stack count check 2021-06-13 00:28:48 +02:00
Vera Aguilera Puerto 0093a961bc
Refactor stacks to not use method events (#4177) 2021-06-12 11:24:34 +02:00
Galactic Chimp ca4e665296
#3846 - fix for ControlMobVerb not working for ghosts (#4131)
* #3846 - fix for ControlMobVerb not working for ghosts

* #3846 - small improvents from CR

* #3846 incorpated suggested changes

* #3846 simplified visiting entity check in mind.cs
2021-06-11 21:51:04 -07:00
DrSmugleaf ff1a2d97ea
Re-organize all projects (#4166) 2021-06-09 22:19:39 +02:00
T-Stalker 1c582ac2ec
Adds hands examine text (#4160)
* Adds hands examine text.

* Cleans the code

* Fixes?

* Update Resources/Locale/en-US/components/hands-component.ftl

Thankies ❤

Co-authored-by: mirrorcult <notzombiedude@gmail.com>

* Put it under handcontainer and shutdown

Co-authored-by: mirrorcult <notzombiedude@gmail.com>
2021-06-09 01:39:31 -07:00
mirrorcult 1c7285825c
Refactor ExtinguisherCabinet->ItemCabinet and actually maps them in, adds EntityWhitelist (#4154)
* i probably shouldnt have done this in one commit

* map nonsense

* fix example code

* unnecessary

* test

* reviews

* little fix for open datafield

* add soul
2021-06-09 12:10:29 +10:00
mirrorcult 22e5ad89a5
MindComponent loc, kitchenspike loc fixes, climbable loc fixes (#4071)
* mindcomp loc, kitchenspike loc fixes, climbable loc fixes

* add fluent functions for words that change on pronoun, add grammarcomponent to humans

* fix the()

* cleanup

* cleanup

* reviews

* holla holla get dolla
2021-06-08 13:59:32 -07:00
ShadowCommander 6870b88a56
Interaction clean up (#4091)
* Rename and clean up interaction events

* Fix hand equip events

* Refactor duplicate client input validation

* Rename Use handler

* Move unneeded InRangeUnobstructed methods to extensions only

* Clean up UseInteractions

* Clean up ActivateItemInWorld

* Replace explicit range check with InRangeUnobstructed

Remove TransformComponent check, since transform is guaranteed now.

* Revert transform check removal

* More cleanup

* Reorder interaction checks

* Rename attack eventargs to interact

* Test V1

* Add interaction test

* Fix interaction test

* Fix container interaction test

* Rename interaction methods

* Rename player to user and attacked to target

* Clean up InteractAfter

* Clean up InRangeUnobstructed usages

* Rename attack to interact and weapon to used

* Changed can't reach message to only play when holding something

Cleaned up bracket formatting

* Fix Airtight validation check

* Remove extra words in comments

* Fix FaceClick rotation

* Move duplicate map check and face to method

* Fix test
2021-06-07 05:49:43 -07:00
20kdc 561a5bc0f2
Cloning error messages and prediction based timing (#4013)
* Cloning error messages and prediction based timing

* Cloning error messages & prediction based timing: Fix problems mentioned in reviews
2021-06-06 03:32:59 +10:00
Vera Aguilera Puerto 62ce603858
Fix punching (#4141) 2021-06-06 02:05:57 +10:00
metalgearsloth 70ac46ee09
Make dead bodies use CollisionWake (#4119)
* Make dead bodies use CollisionWake

* Disable CanCollide fuckery

* Update Content.Shared/GameObjects/Components/Mobs/State/SharedDeadMobState.cs

Co-authored-by: Vera Aguilera Puerto <6766154+Zumorica@users.noreply.github.com>
2021-06-05 09:23:24 +02:00
mirrorcult f744b655b8
Refactor MeleeWeaponComponent and related comps to be ECS (#4133)
* move everything to MeleeWeaponSystem

* refactor MeleeChemicalInjector

* hypospray and flash refactor

* stunbaton refactor

* bugfixes

* flash afterinteract

* resolve issues

* props

* playing the slots

* MeleeInteractEvent + bugfixes

* spear can actually use MeleeChemicalInjector
2021-06-05 09:20:52 +02:00
ScalyChimp 31fc7f63b5
Adds DamageMetabolism and some simple chems (#3958)
* adds damage metabolism

* tweaks words

* metabolism is kinda weird

* adds some simple chemicals

* renames DamageMetabolism to HealthChangeMetabolism

* tweaks like one chemical because it was annoying

* did some changes that the sloth told me to

* adds summary comments for those foolish enough to try and understand my code

* rewrites the component so that is uses a more elegant solution, and handles decimals

* Updates with suggestions from review

* changes stuff idk:

* git cringe

* changes one tiny lil thing

* Apply YAML suggestions

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

Co-authored-by: DrSmugleaf <DrSmugleaf@users.noreply.github.com>
2021-06-05 16:23:09 +10:00
20kdc 2f821f2bc3
You can now return to a brain. Also, clean up terrible console misuse. (#4092)
* You can now return to a brain. Also, clean up terrible console misuse.

* Get rid of Obsolete attribute on Ghost.Execute
2021-06-03 01:03:19 -07:00
20kdc 6a78c401bf
Singularity Fixes, Part 3 (#4105)
* Hopefully make singularity shader warping resolution-invariant

This may or may not fix intensity issues

* Fix singularity 'zero velocity' check

It got stuck in a corner. Twice. I really thought I'd fixed that.

* Make it easier to move around various power stuff by shrinking their AABBs a little and making singulo generator a circle

* Changes to some machine prototypes to reduce duplication of collision changes (#1)

* Changes to some machine prototypes to reduce duplication of collision changes

* BaseMachine.BaseMachineUnpowered -> BaseMachine.BaseMachinePowered
2021-06-03 00:55:50 -07:00
Vera Aguilera Puerto 74eb2bd283 Anchorable attempt events now have an optional extra delay field. 2021-06-03 09:40:56 +02:00
Vera Aguilera Puerto c470a1c508 Fixes bug with anchorable attempt events, add "Before" events. 2021-06-03 09:36:43 +02:00
metalgearsloth 841d07c622
Fix buckle test (#4117)
AFAICT there's a directed event getting raised in TryUnbuckle from the parent change which then tries to GetComponent buckle which doesn't work.
2021-06-01 23:42:54 +10:00
Vera Aguilera Puerto 1b77f18912 Don't dirty the node groups on snapgrid changed. 2021-06-01 13:02:57 +02:00
Vera Aguilera Puerto 20243052cb NodeGroups are dirtied when one of the nodes' snapgrid position changes.
Adds method to add behavior to a node when its snapgrid position changes.
2021-06-01 11:48:24 +02:00
Vera Aguilera Puerto 59a26102c5 Remove INodeGroupManager, moves logic into NodeGroupSystem.
It was an absolutely redundant IoC service.
2021-06-01 11:34:19 +02:00
R. Neuser db4213b21a
Fix Issue #4056 - Prevent cargo order quantities larger than the maximum (#4057)
* Fix merge conflicts with #4078
Check if the requested cargo order amount exceeds the maximum capacity
Check if the maximum order capacity would be exceeded given current capcity and order amount when approved
Cap maximum cargo request amount on client-side
Play an error sound if a cargo order could not be added or approved

* Add back error sound

* Cargo orders over the maximum amount do not close the order UI
2021-05-31 21:45:28 -07:00
ShadowCommander 1d94ebdca5
Comment out unused variables (#3713)
* Comment out unused variables

* Address reviews

* Address more reviews
2021-06-01 00:01:13 +02:00
metalgearsloth d93ebe9409 Remove ICollideSpecial
Handled in an ECS way by PreventCollideEvent.
The disposals one doesn't work anyway and would've required a larger refactor of disposals to fix so out of scope.
2021-05-30 23:30:44 +10:00
Vera Aguilera Puerto 888095cbbd
Actor refactor compatibility changes. (#4085) 2021-05-30 11:39:42 +02:00
Vera Aguilera Puerto 1ec2f39291 Fix some things setting StackComponent count manually. 2021-05-30 08:53:02 +02:00
esguard 0ef61ba47a
Fixes money being debitted multiple times (#4078) 2021-05-30 15:19:14 +10:00
20kdc a3d9562532
Makes the singularity engine actually work stably. (#4068)
* Add GNU Octave script for tuning singularity engine. startsingularityengine is now properly tuned & sets up radiation collectors. FTLize RadiationCollectorComponent.

* Fix bugs with radiation collectors producing infinite power.

* Ensure singularities don't instantly annihilate other singularities (causing new singularities to instantly dissolve)

Technically found by a "bug" where a singularity generator would make multiple singularities, but this renders that bug harmless.

* Tune singularity shield emitters to hopefully randomly fail less, and add an Octave script for looking into that

* Fix singularity shader

* Map in an unfinished PA into Saltern

* Correct PA particles being counted twice by singularity calculations, add singulo food component

* Hopefully stop "level 1 singulo stuck in a corner" issues by freezing it when it goes to level 1 from any other level

* Apply suggestions on 'jazz' PR
2021-05-28 11:44:13 +02:00
mirrorcult 3ba0c01e4f
Fix being able to fill beakers through walls (#4103) 2021-05-28 11:20:16 +02:00
20kdc c7f104cd93
More rotatability (#4067)
* Make barstools, PA components, and radiation collectors rotatable.

Making barstools rotatable is so that people can spin on the barstool. (RP moment.)

The other two are more "functional" changes for assembling a PA.

* Allow rotating a rotate-while-anchored object if you're buckled to it.

Barstool spinny

* Fix bug with rotation of an object that someone is buckled to

* BuckleSystem: Efficiency improvements with directed events

* Don't need to unsubscribe anymore from events, so in BuckleSystem, just don't
2021-05-27 12:51:14 +02:00
20kdc cf6fdd40e0
Tune pull-to-location constants just a bit more so it gets stuck less often (#4077) 2021-05-27 12:48:37 +02:00
Vera Aguilera Puerto 9500c91a69 Proper exception rethrowing in AI Steering system. 2021-05-27 12:39:34 +02:00
Vera Aguilera Puerto c1b247ff22 Proper exception rethrowing in UtilityAI 2021-05-27 12:34:52 +02:00
Vera Aguilera Puerto 0c68f2973e Adds YAML linter validators for content tiles.
- Removes invalid floor drops.
2021-05-27 11:42:04 +02:00
Vera Aguilera Puerto f64433a14d Makes more things queue delete to prevent physics collision callback issues. 2021-05-26 18:43:12 +02:00
Vera Aguilera Puerto 74518a421f Cleanup some events. 2021-05-26 11:11:14 +02:00
Vera Aguilera Puerto 0f703b8f02 Stack examining is now ECS. 2021-05-26 10:32:40 +02:00
Vera Aguilera Puerto 33fa208214
Refactors stacks to be fully ECS. (#4046) 2021-05-26 10:20:57 +02:00
scrato 2d709f6294
Fix: #4037 Being able to dehandcuff yourself while dead (#4062)
* Fix #4037 (dead handcuffs)

* check ActionBlocker.CanInteract

* Removed unnecessary using

Co-authored-by: Michael Will <will_m@outlook.de>
2021-05-24 07:55:48 -07:00
20kdc e88c092c3c
Bring singularity back from the brink of "particles don't even hit" (#3963)
* Bring singularity back from the brink of "particles don't even hit anything"

* Remove force-disable-hard from singularity code so it doesn't just ignore containment

Shouldn't this be the prototype's job if they want that so much?
This might have some sorta downside, but this brings singulo back into being containable

* Apply ShadowCommander's suggested layers/masks for particles

Tested, singulo properly spawns and develops with this mask

Co-authored-by: ShadowCommander <10494922+ShadowCommander@users.noreply.github.com>

Co-authored-by: ShadowCommander <10494922+ShadowCommander@users.noreply.github.com>
2021-05-23 21:14:15 -07:00
SethLafuente 48cd4a76c2
Protolathe Printing and R&D technology (#4039)
Co-authored-by: SETh lafuente <cetaciocascarudo@gmail.com>
2021-05-24 00:38:26 +00:00
ShadowCommander acb102f978
Rename and clean up interaction events (#4044)
* Rename and clean up interaction events

* Fix hand equip events
2021-05-22 21:06:40 -07:00
Vera Aguilera Puerto bf1fce006f Fix buckle not working 2021-05-22 13:53:51 +02:00
Swept 9dd2e9eeaa
Removes solution transfer verbs (#4048) 2021-05-21 23:36:16 +02:00
Swept 4ca854b142
Changes - name: in StorageFillComponent.cs to - id: (#4051)
* Changes all - name: fields to - id: fields to make more sense in StorageFillComponent.cs

* Fixes test
2021-05-21 23:30:03 +02:00
SweptWasTaken 9954764c58 Adds a light code comment to StorageFillComponent.cs 2021-05-21 11:56:15 -07:00
Swept 74d044a4a9
Adds more splat and tweaks PuddleComponent.cs (#3942)
Co-authored-by: Paul Ritter <ritter.paul1@googlemail.com>
2021-05-21 00:19:18 +00:00
scrato 80a864724b
Fixed 4014 (#4033)
Co-authored-by: Michael Will <will_m@outlook.de>
2021-05-20 14:58:28 +02:00
Vera Aguilera Puerto 3a27490c59
Material cleanup (#4025)
* work

* more work
2021-05-20 10:37:34 +02:00
20kdc efc5fac7ec
Fix dropping an item on a translated grid (#4027) 2021-05-19 19:26:01 +02:00
Vera Aguilera Puerto 92b01d6a7c
Makes a few deletes queued. (#4015) 2021-05-17 13:14:28 +02:00
ShadowCommander 7b00489b1f
Fix clicking a locker while inside of said locker (#3965)
* Fix clicking a locker while inside of said locker

Actually fixes #1535

* Address reviews

* Add test

* Clean up test
2021-05-17 02:31:10 -07:00
ShadowCommander b907c54470
Fix kitchen spike (#4008)
* Fix kitchen spike

* Add fluent localization

* Add newline

* Prevent things that are not dead from being spiked
2021-05-17 11:12:17 +02:00
Vera Aguilera Puerto dc03f1f545
AnchorableComponent light cleanup. (#4009)
* Remove awful commands

* Unanchoring is a word.

* Fix disposal tests....

* Slight anchorable cleanup
2021-05-16 22:33:21 +02:00
20kdc f6a2daffa9
Objectives all use a consistent definition of "dead" defined in Mind now. DieCondition is no longer inverted. (#4006)
More brain fixes, mainly
2021-05-15 17:46:55 +02:00
20kdc 438b60310d
Various Paper adjustments (#3993)
* Various Paper adjustments

+ can now have prefilled text
+ cleaned up paper sprite layering a bit,
+ adds an AME manual as a test but doesn't put it anywhere
+ Paper cannot write arbitrary Examine markup

* Paper component doesn't show text on examine anymore
2021-05-15 17:43:19 +02:00
Pieter-Jan Briers 26c2d9f479 Remove usages of physics anchored from content 2021-05-13 02:13:12 +02:00
Pieter-Jan Briers 251df93b71 Remove usages of AnchoredChangedMessage.
It was a component message which is now deprecated.
2021-05-13 02:05:46 +02:00
20kdc 23bc33a7aa
`drainallbatteries` - a command for testing low-power conditions (#3983) 2021-05-13 01:12:36 +02:00
20kdc 3476d1de5b
Fixes KillPersonCondition considering brains "alive" (#3985) 2021-05-13 01:11:26 +02:00
20kdc e0f7ca7740
Little component to make batteries examinable. (#3982) 2021-05-13 01:10:57 +02:00
Vera Aguilera Puerto f0c1efed9b Footstep SFX are played on entity coordinates, instead of following the entity.
This prevents client-side "can't play sound" spam when the entity is NaN'd due to PVS.
2021-05-12 14:50:15 +02:00
Vera Aguilera Puerto 722087f92a Melee arc effects are only sent to players inside PVS. 2021-05-12 14:47:56 +02:00
Vera Aguilera Puerto 462cddf860
Use ActorComponent instead of IActorComponent or BasicActorComponent. (#3966) 2021-05-12 13:42:18 +02:00
ShadowCommander c2d66723a3
Cloning rework (#3808)
* Fix cloning

* Fix cloning after clone dies and remove unneeded code

* Fix ignored

Co-authored-by: Silver <silvertorch5@gmail.com>
2021-05-11 16:16:08 -07:00
Alex Evgrashin bf94e37730
Fix anchoring? Maybe? (#3974) 2021-05-12 00:16:48 +02:00
Pieter-Jan Briers 4e89ba560e Add basic example NL entity localizations.
Make secret stash use fluent in one spot as example.
2021-05-11 23:13:43 +02:00
Vera Aguilera Puerto 9c3c81e8d8 Fix radio messages not being sent and messages not being escaped. 2021-05-11 12:17:47 +02:00
ShadowCommander 4780179058
Global ghost hearing (#3954)
* Add global hearing for ghosts

* Fix speech bubbles breaking when out of PVS
2021-05-11 18:37:40 +10:00
20kdc 743a12750c
Pull controller manages velocity better than it did before. (#3945) 2021-05-11 18:32:11 +10:00
Vera Aguilera Puerto 0be8437645 Update ResearchSystem to not use IEntityQuery. 2021-05-10 20:46:34 +02:00
Vera Aguilera Puerto 3e0eb22921 Update RemoveExtraComponents command to not use IEntityQuery. 2021-05-10 20:36:16 +02:00
Paul ffdf1d17fe when the transform 2021-05-09 22:36:19 +02:00
Paul c136755df2 dropping with random rotation on unintentional drop, dropping with reset rotation on intentional 2021-05-09 10:09:14 +02:00
ShadowCommander 7c42a5d305
Fix moving items dropping them on the ground for a tick 2021-05-08 17:19:32 -07:00
ShadowCommander 31844fa88e
Fix thrown breakables (#3944)
* Fix bottles and lights being parented to player

* Fix item pickup animation
2021-05-08 20:27:20 +02:00
Vera Aguilera Puerto 2c5102b85d HandsComponent now validates coordinates before attempting to drop. 2021-05-08 03:49:34 +02:00
Vera Aguilera Puerto 62a4145681 FoodComponent trash prototype ID is now validated by the YAML linter. 2021-05-08 03:44:19 +02:00
Vera Aguilera Puerto e3a2847200 Makes some mind methods log. 2021-05-08 03:37:24 +02:00
Vera Aguilera Puerto 35fc0a2e8a Fix SolutionAreaEffectSystem exception when the collection is modified. 2021-05-08 03:26:07 +02:00
Vera Aguilera Puerto 5f65c12d2f Fix puddle overflow exception on space. 2021-05-08 03:18:57 +02:00
Vera Aguilera Puerto 7f868455bc Fix RCD incorrect prototype ID for walls.
This code seriously needs refactoring and cleanup.
2021-05-08 03:11:11 +02:00
Vera Aguilera Puerto 5ae8894c83 Fix RCD exception when being used in spess.
This does not fix the actual functionality, it just checks whether the click location is not space. This needs to be fixed in the future to work in space.
2021-05-08 02:57:13 +02:00
Alex Evgrashin 9857f8197c
Pulling change entity rotation (#3890)
* Moved rotatable to shared

* Pullable change rotation

* Applied review

* Update Content.Shared/GameObjects/EntitySystems/SharedPullingSystem.cs

Co-authored-by: metalgearsloth <31366439+metalgearsloth@users.noreply.github.com>
2021-05-05 13:29:26 +10:00
DrSmugleaf ad3b7fe97d
Remove field: from DataField attributes (#3932) 2021-05-04 15:37:16 +02:00
Vera Aguilera Puerto 85f3871536 Fire extinguisher now applies an impulse to the user when used in space. 2021-05-04 13:37:36 +02:00
Vera Aguilera Puerto 4854062c15 Vapor no longer throws exception in space.
Fixes #3895
2021-05-04 13:37:36 +02:00
Swept 6376e60b78
Massive Food PR (#3436)
Co-authored-by: Pieter-Jan Briers <pieterjan.briers+git@gmail.com>
2021-05-03 13:17:22 +02:00
Pieter-Jan Briers 186563edd0 Suspicion doesn't check antag preferences anymore. 2021-05-01 23:56:17 +02:00
Acruid 00e01d51fd
SnapGridComponent Removal (#3884)
* Removed SnapGridOffset, there is only center now.

* SnapGridComponent methods are now static.

* Removed SnapGridComponent.OnPositionChanged.

* Refactored static functions off SnapGridComponent to MapGrid.
Refactored away usages of SnapGridComponent.Position.

* Added Transform.Anchored for checking if an entity is a tile entity.
More refactoring for static MapGrid functions.

* Static snapgrid methods on MapGrid are no longer static.

* Add setter to ITransformComponent.Anchored.
Removed direct references to SnapGridComponent from content.

* Grid functions now deal with EntityUids instead of SnapGridComponents.
Began renaming public API functions from SnapGrid to Anchor.

* Remove the SnapGridComponent 'Offset' field from all yaml files. This was removed in code previously, so the yaml linter was upset.

* Update engine submodule to v0.4.46.
2021-04-28 10:49:37 -07:00
metalgearsloth fa2360ee02
Footsteps cleanup (#3840)
* Disable footsteps in space

* Just clean up footsteps
2021-04-21 20:14:40 +10:00
Visne 75a8833b2c
Add AdvertiseComponent and add it to vending machines (#3756)
* WIP AdvertiseComponent

* Add AdvertiseComponent and add it to vending machines

* Add snacks.yml

* Capitalise C in cigarette machine

* Update Content.Server/GameObjects/Components/AdvertiseComponent.cs

Co-authored-by: Pieter-Jan Briers <pieterjan.briers@gmail.com>

* Update Content.Server/GameObjects/Components/AdvertiseComponent.cs

Co-authored-by: Pieter-Jan Briers <pieterjan.briers@gmail.com>

* Fix most problems

* Add localisation + exception for illegal prototype values

* Add ads for smart fridge, discount dan's, youtool and mining

* Oops

* Fix style

* Make dependencies local

* Remove some ads, increase wait

* Increase wait, allow full initial wait width

* Fix error

* Update sovietsoda.ftl

* Update sovietsoda.ftl

Co-authored-by: Pieter-Jan Briers <pieterjan.briers@gmail.com>
Co-authored-by: metalgearsloth <comedian_vs_clown@hotmail.com>
2021-04-21 20:00:14 +10:00
ike709 055059ab5c
Chairbender Chat (#3794)
* #272 restructure and restyle chat line edit section

* #272 no arrow, actually change id on channel changer

* #272 nice round chat channel picker

* #272 add chat channel selection logic, and auto-select
when a prefix is entered

* #272 consistent width of chat channel btn

* #272 only show admin channel filter if asay perms

* #272 add tutorial info on chat prefixes

* #272 added chat filter button

* #272 added chat filter button

* #272 WIP on filter popup

* #272 fix filter popup pressed / unpressed logic

* #272 fix filter popup positioning and layout

* #272 WIP channel filter logic

* #272 WIP channel filter logic

* #272 WIP refactoring how chatbox / manager manages available filters and channels to send on

* #272 WIP implementing filtering UI / logic
and refactoring how chat UI is managed

* #272 fix various bugs with new chat filter / selector logic

* #272 remove outdated todos

* #272 WIP working chat window resize

* #272 bounded chatbox resizing

* #272 alertUI moves with resized chat

* #272 WIP making alertUI not be too large when changing size / UIScale

* #272 WIP fixing window / uiscale adjustment

* #272 WIP hacky approach for resizing, will try another approach

* #272 implement hacky approach for bounded chat resize

* #272 no resizing of lobby chat

* #272 WIP adding unread marker to chat filters

* #272 basic working unread chat message indicators

* #272 WIP adding horizontal channel selector items

* #272 horizontal channel selector popup

* #272 workaround for chat selector staying highlighted when right clicking it while toggled

* #272 workaround for chat selector staying highlighted when right clicking it while toggled

* #272 wip trying to add tests for chatbox

* #272 remove test, not really possible with current system

* #272 merge latest

* #272 merge latest

* #272 fix csproj changes

* It works if you disable the lobby

* Fixes lobby chat

* Adds more channel focusses

* Channel cycler

* Address review

* Address nitpicks

* Address more of the review

* Fix chat post-viewport

* Finalize review stuff

Co-authored-by: chairbender <kwhipke1@gmail.com>
Co-authored-by: ike709 <sparebytes@protonmail.com>
2021-04-20 16:39:39 -07:00
ShadowCommander 64491bc986
Fix player sent to nullspace when ghost is deleted 2021-04-18 01:54:36 -07:00
MehimoNemo aa7dc5f3fe
Thrown Ids and PDAs unlock doors (#3856)
* Removes code that checks if collision item is a person, allowing IDs and PDAs to open doors when thrown

* Failed a test, so I torched that test. Combustible lemons.
Test returned a fail if a random body could open an all access door, which is sorta what this whole thing does

* Revert "Failed a test, so I torched that test. Combustible lemons."

This reverts commit d2d8a6c49bab397cc8d5c1024d257ff51f3a4f7d.

* Removed the one part that failed instead of trashing the whole thing
2021-04-18 18:03:31 +10:00
Vera Aguilera Puerto ce69fd266f Fix build 2021-04-14 14:45:13 +02:00
Vera Aguilera Puerto 2a95f5c4b6 Makes a few EntitySystems use the RaiseNetworkedEvent helper instead of manually calling IEntityNetworkManager. 2021-04-14 14:12:14 +02:00
Vera Aguilera Puerto f257846de7
Anchorable component now raises cancellable event on (un)anchor. (#3828) 2021-04-13 13:18:20 +02:00
Vera Aguilera Puerto c17426dfa7
AtmosphereSystem no longer creates a component manually. (#3839)
- Maps get SpaceGridAtmosphereComponent added automatically
2021-04-13 13:17:10 +02:00
metalgearsloth dc48b25a3b
Named fixtures for banana peels (#3822)
* Named fixtures for banana peels

* Soaps and PDAs

* Update submodule
2021-04-13 20:57:29 +10:00
Vera Aguilera Puerto 499cfe7c3d
Remove unused AudioMixTarget code. (#3838)
* Remove unused AudioMixTarget code.

* Update submodule

Co-authored-by: metalgearsloth <comedian_vs_clown@hotmail.com>
2021-04-13 20:38:19 +10:00
Vera Aguilera Puerto 98c158d2b7 Fix melee weapon arcs being rotated incorrectly. 2021-04-11 21:46:27 +02:00
Vera Aguilera Puerto 2fac6b1089
Player list now lists antagonists. (#3826) 2021-04-10 22:24:50 -07:00
Vera Aguilera Puerto c4d0c249af Helper methods for NodeContainer
Including a GetNode<T> and TryGetNode<T>
2021-04-10 13:25:44 +02:00
Vera Aguilera Puerto 009870116d
Nodes in entities are now named. (#3825) 2021-04-09 20:47:31 +02:00
Pieter-Jan Briers 8a26920e4c Disable HWID bans currently. 2021-04-09 19:28:03 +02:00
Vera Aguilera Puerto 03cd390478 Makes a lot of entity systems unsubscribe from events on shutdown. 2021-04-09 16:08:12 +02:00
Vera Aguilera Puerto c28f22ebff
Removes chem. and react. from every prototype ID (#3767)
Co-authored-by: metalgearsloth <31366439+metalgearsloth@users.noreply.github.com>
2021-04-08 23:48:02 +10:00
komunre 69533a15d8
RangedWeapon now ignite plasma when shoot (#3746)
* RangedWeapon now ignite plasma on shoot

* Apply review

Co-authored-by: metalgearsloth <comedian_vs_clown@hotmail.com>
2021-04-08 22:43:43 +10:00
bryce0110 f51d7a9a6d
Crate and Locker welded sprite now appears (#3606)
* Crate and Locker welded sprite now appears

* Address requested changes

* UpdateAppearance method

* Make all appearance updates common

Co-authored-by: metalgearsloth <comedian_vs_clown@hotmail.com>
2021-04-08 22:39:50 +10:00
Alex Evgrashin cfe427eb8c
Light replacer (#3701)
* Add graphics

* Barebone light replacer

* Now light replacer stores bulbs

* More interactions

* Added text messages

* Better light refil

* Add light replacer to locker and lathe

* Added sound

* Fixed ignore error

* Better inhand

* You don't like this commas?

* Fixed typo

* Deferring spawning

* Moved interaction logic to system

Co-authored-by: Alex Evgrashin <evgrashin.adl@gmail.com>
Co-authored-by: metalgearsloth <31366439+metalgearsloth@users.noreply.github.com>
2021-04-08 22:28:06 +10:00
Acruid 2ae35a2270 Fix bug in GhostComponent setting the Visibility flags instead of ORing them. 2021-04-07 11:52:43 -07:00
metalgearsloth 67f9e9cb5e
Split entity lookups from entity manager (#3747)
* Split entity lookups from entity manager

* IoC instead

* IoC refactor

* Fix bad resolve

* Remove EntityManager EntityLookup

* Update submodule

Co-authored-by: Metal Gear Sloth <metalgearsloth@gmail.com>
2021-04-06 13:31:07 +10:00
DrSmugleaf 677706b117
Refactor body component to use slots instead of an army of dictionaries (#3749)
* Refactor body component to use slots instead of an army of dictionaries

* Update vox

* Replace static method call with extension

* Add setpart method, replace dispose with shutdown

* Fix tests, fix not listening to slot events when setting a part
2021-04-05 14:54:51 +02:00
DrSmugleaf 4c47cd4fe2
Add back pull moving (#3635)
* Add back pull moving

* Make pull moving event-based, use map coordinates, slow down moving when getting closer and stop moving when very close, add max range and add compensation for overshooting

* Remove compensation

* Prevent pull move from pulling you

* acruid did this

* Add unsubscriptions to shutdown

Co-authored-by: metalgearsloth <comedian_vs_clown@hotmail.com>
2021-04-05 14:08:45 +02:00
Vera Aguilera Puerto fdf663342e Fixes crash when computer prototype doesn't have a container manager but specifies a board prototype 2021-04-04 20:51:26 +02:00
Vera Aguilera Puerto c817fa6299 Computer and machine parts are only created on map init now.
Fixes #3795
2021-04-04 20:36:44 +02:00
ShadowCommander c4895af81a
Add shutdown and clean up GhostSystem 2021-04-03 00:52:27 -07:00
collinlunn f7aba5f701
SharedItemComponent (#3513)
* StorableComponent refactor

* ItemComponent refactor

* conflict fixes

* removes redundant null check

* removes redundant item throwing code

* fix conflicts

* ExplosionLaunchedComponent

Co-authored-by: metalgearsloth <comedian_vs_clown@hotmail.com>
2021-04-02 21:01:03 +11:00
ShadowCommander d9781c6f1c
Change anchorable snap default to true (#3789) 2021-04-02 20:29:49 +11:00
metalgearsloth 5de9228c40
Content grid-trees (#3750)
* Content grid-trees

* Update submodule
2021-04-02 20:29:19 +11:00
ShadowCommander 0e32684905
Fix missing footstep sounds getting through 2021-04-01 18:22:26 -07:00
ShadowCommander faae4c2456
Fix inflatable position (#3788) 2021-04-01 23:34:35 +02:00
Paul 2a82fa459f fixes closeverb icon 2021-04-01 22:29:58 +02:00
metalgearsloth b6f337f7f8
Fix cursed locker collision (#3759) 2021-04-01 18:46:23 +11:00
ShadowCommander a98c0dadd4
Implement inflatable wall (#3703)
* Implement inflatable wall

* Actually block atmos

* Fix naming and add description

* Add requested changes

* Change prototype to field

* Refactor checks to use existing methods

* Fix PrototypeIdSerializer imports

* Fix mass in yaml
2021-04-01 00:04:56 -07:00
ShadowCommander 86faf8565b
Fix construction wrenching not working with anchorable (#3772) 2021-03-31 15:02:26 -07:00
ShadowCommander 951b0f425a
Refactor mind and ghost deletion code (#3680)
* Refactor mind and ghost deletion code

* Refactor to use EventBus and clean up deletes

* Fix mind eject when being deleted

* Refactor entity manager calls to use IEntity.EntityManager
2021-03-31 14:17:22 -07:00
ShadowCommander 7a842f7c22
Fix tests (#3707)
* First pass

* Fix access and rename banananium to bananium

* Fix captialization of CookTimeInfoLabel

* Fix InteractUsing calls

* Remove unused [Dependency]

* Replace obsolete references to Anchored with BodyType

* Assign default value to shoving someone in disposals

* Fix naming

* Replace Initialize TryGetComponents with EnsureComponent

* Rework AnchorableComponent

* Fix singularity component

* Replace obsolete usages of Angle.South

* Fix efcore warning

* Fix container tests

* Fix DebugPressurePump invalid PressurePump yaml

* Fix getting pathfinding region of grid 0

* Fix atmos plaque missing layer and add info message when it happens

* Fix AiSteeringSystem steering in an invalid grid in entity test

* Make content able to choose which log level leads to test failures

* Revert container test fix for Acruid

* Fix sprite, pipe and saving errors
Make EntityTest print all errors instead of stopping on the first

* Reorder singularity visualizer

* Disable pvs for container occlusion adn simple predict reconcile, they use entities other than map ones

Co-authored-by: Metal Gear Sloth <metalgearsloth@gmail.com>
Co-authored-by: DrSmugleaf <DrSmugleaf@users.noreply.github.com>
Co-authored-by: metalgearsloth <comedian_vs_clown@hotmail.com>
2021-03-31 21:41:23 +02:00
metalgearsloth d1e4bb0304
Inertia (#3709)
* Some stuff

* Fix NaN angular velocity

* Optimise a bit

* Give throwing a bit of a spin

* Reality can be whatever I want

* Biffing it

* Cleanup

* Update submodule

Co-authored-by: Metal Gear Sloth <metalgearsloth@gmail.com>
2021-03-30 21:43:03 +11:00
Acruid 13e1824e66 Engine update to v0.4.26 (Network View Bubble) 2021-03-29 16:32:45 -07:00
Metal Gear Sloth 117dc7bb44 Fix atmos byte cast
Thanks rider
2021-03-29 23:00:05 +11:00
Vera Aguilera Puerto 0884bcf7ec Fixes bug where the PlasmaFire reaction wouldn't reset reaction results properly.
This would cause the hotspot volume to grow more and more until the hotspot bypasses processing and therefore doesn't spread anymore.
2021-03-28 14:28:04 +02:00
DrSmugleaf 610db55454
Add command to spawn entity lists around the player and surgery tools list (#3721)
* Add command to spawn surgery tools around the player

* Generalize the command ot all entity list prototypes

* Change index to try index and rename surgery tools prototype
2021-03-28 12:59:58 +02:00
Pieter-Jan Briers 0ac4c0e85c
SKREEEEEE (#3706)
* Import bird sprites and define basic mob.

* SKREEEEEEEEE

* Move hair styles to new sprite accessory prototypes.

Basic stuff, no multi-species stuff yet.

* Vox hair styles and clothes

* Make HumanoidCharacterProfile.Default() a static default to fix tests.

Usages that wanted the previous random behavior now call Random().

* Remove names from hair style prototypes.

(They're in localization files)

* Update Content.Shared/Actions/ActionType.cs

(sk)reeee github

Co-authored-by: metalgearsloth <31366439+metalgearsloth@users.noreply.github.com>
2021-03-28 17:26:32 +11:00
metalgearsloth bc6a93fa02
Add pyramid physics testbed (#3710)
* Add pyramid physics testbed

From Box2D (licence is already on the file). Useful for testing solver performance for large islands.

* nulls

Co-authored-by: Metal Gear Sloth <metalgearsloth@gmail.com>
2021-03-28 13:41:49 +11:00
Acruid ac219e099d
Moved VisibilityFlags to EyeComponent (#3716)
Co-authored-by: Pieter-Jan Briers <pieterjan.briers+git@gmail.com>
2021-03-28 01:37:19 +01:00
DrSmugleaf f17ead47c1
Add prototype id list serializer and tests using fixes (#3719) 2021-03-26 20:55:14 +01:00
ike709 1d052d0410
Improves the HUD (#3655)
* All good except the combat doll

* Makes the HUD inventory less terrible

* Cleanup, nuke the Combat Mode button

* Harm icon

* Switch the icon

* Basic goon hud

* Toggleable

* Nuke the popup, properly centers it

* Fix clicking the button

* Nuke some old code

* missed a comment

* Remove defaults

* Localization

* Nuke some old yaml

* New sprites

Co-authored-by: ike709 <sparebytes@protonmail.com>
2021-03-27 02:23:12 +11:00
DrSmugleaf ec7eab2989 Fix UtensilComponent interaction returning true even when doing nothing 2021-03-26 16:00:03 +01:00
Vera Aguilera Puerto a6f04e22e4
Entity Reagent Reactions v2 (#3714)
* Refactors reactions to be more POWERFUL and DATA-ORIENTED
2021-03-26 12:02:41 +01:00
Swept 29d02a3740
Attempts to fix all physics bugs at once (#3610)
* Fixed Rack/Shelf

* Fixes bookshelf, bed

* Placeable for beds for bedsheets

* Bunch of Physics changes, ask metalgearsloth about em'

* More modifications

* More

* Other stuff

* Organizes entities yaml a little bit

* Something new

* Fixed, happy with the state of this rn

* A

* A

* Ye

* E

* Done for now...

* Applied Reviws

* Changes

* Fix the robust commit

* Fixes tests?

* E

Co-authored-by: metalgearsloth <31366439+metalgearsloth@users.noreply.github.com>
Co-authored-by: Metal Gear Sloth <metalgearsloth@gmail.com>
2021-03-26 12:51:26 +11:00
metalgearsloth 1499468157
Reduce disposals allocations (#3715)
Co-authored-by: Metal Gear Sloth <metalgearsloth@gmail.com>
2021-03-26 12:48:39 +11:00
Vera Aguilera Puerto d0abb85a6e Renames IEdgeCondition to IGraphCondition 2021-03-25 18:59:16 +01:00
Vera Aguilera Puerto 195feb70a7 Makes atmos superconduction a CVar, disables it by default. 2021-03-25 18:17:30 +01:00
Vera Aguilera Puerto e45548ac74 Optimizes atmos 2021-03-25 14:57:57 +01:00
BulletGrade f87b381468
Buckle icon fix (#3698) 2021-03-23 23:45:55 -07:00
Pieter-Jan Briers f3a180c3d5 Fix DB stuff. 2021-03-22 11:00:10 +01:00
Pieter-Jan Briers a321b4302e Use HWIDs for bans. 2021-03-22 01:32:09 +01:00
Vera Aguilera Puerto 6f3f04b61e People who get creamed while they were already creamed get stunned again. 2021-03-21 21:11:38 +01:00
Vera Aguilera Puerto d505ce1409 Adds creampie launcher 2021-03-21 18:08:42 +01:00
Vera Aguilera Puerto 8d25e5c5de Fixes cream pies not splashing on colliding when thrown. 2021-03-21 18:07:06 +01:00
Acruid 9459400002
SoundSystem Improvements (#3697)
* Refactor all audio to use the new SoundSystem.

* Update submodule

Co-authored-by: Pieter-Jan Briers <pieterjan.briers+git@gmail.com>
2021-03-21 17:12:03 +01:00
Vera Aguilera Puerto 696fbcd506 Fixes taser bolts not moving when being shot 2021-03-19 19:36:53 +01:00
Vera Aguilera Puerto 2e65aaf1b2 Fixes disposals not flushing down humans.
- Also works around https://github.com/space-wizards/RobustToolbox/issues/1646
2021-03-19 19:14:52 +01:00
ShadowCommander 45d93d8faa
Fix chairs not unbuckling entities when deconstructed or destroyed (#3696) 2021-03-18 10:48:17 +01:00
Vera Aguilera Puerto c455b745ba Adds announce command for admins, latejoin announcer is now "station" 2021-03-17 15:43:31 +01:00
ShadowCommander 51178b9ae7
Airlock construction (#3609)
* Add construction and deconstsruction of airlocks

* Change name to door electronics

* Rearrange things

* Fix errors

* Fix physics error from bumping

* Prevent editing the map for now

* Address reviews

* Change switch to if

* Fix newlines
2021-03-17 13:07:49 +01:00
ShadowCommander 0c0c66ff6f
Stop delete if already deleted (#3692) 2021-03-17 13:06:15 +01:00
ShadowCommander fa7da473d0
Fix LogComponent using wrong entity prototype 2021-03-16 17:47:01 -07:00
DrSmugleaf d6c1ad8210 Fix not null asserts in guns 2021-03-16 20:23:40 +01:00
DrSmugleaf a5ade526b7
Enable nullability in Content.Server (#3685) 2021-03-16 15:50:20 +01:00
Vera Aguilera Puerto 3affd1118e Improves FlammableComponent, allow mobs to collide with each other. 2021-03-16 12:55:35 +01:00
DrSmugleaf 6f012cb9ad
Enable nullability in Content.Shared (#3626)
* Enable nullability in Content.Shared

* Fix null errors in server

* aye github i swear on me mom
2021-03-15 21:55:49 +01:00
Vera Aguilera Puerto 0531dcb197 Fixes soap and banana peels going through walls when thrown. 2021-03-15 21:29:32 +01:00
Alex Evgrashin 2aa60467b7
Climbable localization fixes (#3645)
* Working on climable

* Continue

* Fixed typo

* Fixed rest of climbable

* Fixed localisation

* Update climbable-component.ftl
2021-03-15 19:02:56 +01:00
Vera Aguilera Puerto 0c35b78401
Improved Slippery prediction, moves Slippery entirely to Shared (#3677)
* Fixes SlipperyComponent mispredict

* a

* Holy shit
2021-03-15 19:01:15 +01:00
Paul Ritter 9fc03f18f7
adds custom typeserializers (#3676) 2021-03-15 13:25:18 +01:00
ShadowCommander a6d8c93a16
Fix gib pulling player back from ghost (#3664) 2021-03-14 19:28:44 -07:00
Vera Aguilera Puerto 8eeaa923a8 Fix cloning pod NRE under certain conditions 2021-03-14 23:22:30 +01:00
mirrorcult e81db48cd1
Fix various issues with the emitter (#3329)
Co-authored-by: cyclowns <cyclowns@protonmail.ch>
2021-03-14 23:02:22 +01:00
Alex Evgrashin 1c32d469aa
Fixed visualizer init (#3667) 2021-03-14 14:59:04 -07:00
Pieter-Jan Briers 70e2648fa0 Verb icons now UI scale. 2021-03-14 14:40:14 +01:00
Swept 3dba752193
Adds a bunch of UI icons for verbs. (#3007)
Co-authored-by: Pieter-Jan Briers <pieterjan.briers+git@gmail.com>
2021-03-14 14:23:32 +01:00
ike709 899a5cfa80
Comms Console Announcements (#3629)
* Communications console announcements

* title case for jobs

* Helper

* Prevent abuse

* Cap message length

* more abuse prevention

* Validate clientside too to reduce bandwidth from unmodified clients
2021-03-14 16:21:57 +11:00
ShadowCommander c39f0fb721
Fix edge.completed not getting run if node.action deletes (#3652) 2021-03-13 13:59:19 +01:00
mirrorcult f60f76f644
Increase time to clone people (#3650)
* cloning

* why

* why?
2021-03-13 01:57:51 -08:00
metalgearsloth 2f8bd10b47
Shared subfloor system (#3590)
* Shared subfloor system

Will also cull the broadphase for server a lot.

* Nullable subfloor

* Snapgrid nullable

* Actually use ComponentDependency

Co-authored-by: Metal Gear Sloth <metalgearsloth@gmail.com>
2021-03-13 14:46:22 +11:00
DrSmugleaf 5f71ea1c48
Add extension methods to get a player's id and tests (#3630)
* Add extension methods to get a player's id and tests

* More extensive tests

* Make inventory check for ids first

* Rename to GetHeldId and TryGetHeldId
2021-03-13 13:22:51 +11:00
DrSmugleaf 22d06ff6a0
Fix missing interpolation with unknown database engines error 2021-03-13 03:04:19 +01:00
ike709 31f1cf9936
Adds lobby music (#3620)
* Adds lobby music

* Add UI toggle for lobby music

* Pick the song serverside so everyone gets the same song

* Add more songs

* Fixes

* Catch-all end lobby music

* Rename it

* Catchall ambience cvar change

* Wait until we receive the lobby song to start playing one

* Fix toggling ready status resetting the song

* Comment

* Expend the last of my sanity fixing latejoin lobby music

* Update Content.Client/GameObjects/EntitySystems/BackgroundAudioSystem.cs

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

* Update Content.Client/GameObjects/EntitySystems/BackgroundAudioSystem.cs

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

* Update Content.Client/GameObjects/EntitySystems/BackgroundAudioSystem.cs

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

* Move the var

Co-authored-by: ike709 <sparebytes@protonmail.com>
Co-authored-by: metalgearsloth <31366439+metalgearsloth@users.noreply.github.com>
2021-03-12 23:40:28 +01:00
Swept bf99a91507
Revert "Revert "Slight changes to spawners"" (#3627)
* Revert "Revert "Slight changes to spawners (#3605)" (#3624)"

This reverts commit 8c01d9d9dc.

* Bring back clicktest.yml

* Update IgnoredComponents.cs

Co-authored-by: DrSmugleaf <DrSmugleaf@users.noreply.github.com>
2021-03-12 21:28:40 +01:00
metalgearsloth 8c01d9d9dc
Revert "Slight changes to spawners (#3605)" (#3624)
This reverts commit a47e1b817c.
2021-03-12 20:22:33 +11:00
Swept a47e1b817c
Slight changes to spawners (#3605)
* Initial

* Done

* Ye

* Removes mouse spawns for now

* I'm an idiot!
2021-03-12 19:43:55 +11:00
Vera Aguilera Puerto df22f24975 Optimize gas overlays slightly 2021-03-11 13:51:56 +01:00
ShadowCommander 481fee135b
Delete ghost when respawning (#3519)
* Delete ghost when respawning

Fix session.AttachedEntity not being set to null when mind is wiped
Fix MindComponent not getting disconnected when Mind is wiped
Rename OwnedMob to OwnedComponent

* Update Content.Server/GameTicking/GameTicker.cs

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

Co-authored-by: Paul Ritter <ritter.paul1@googlemail.com>
Co-authored-by: metalgearsloth <31366439+metalgearsloth@users.noreply.github.com>
2021-03-11 10:37:16 +01:00
Alex Evgrashin 4455bab4c5
Reagent container visualizer (#3529)
* Started working on beakers

* Working sprite change

* Fixed large beaker

* Add bluepsace beaker

* Add cryostasis beaker

* Removed old rsi

* Fixed dropper

* No dropper problems

* Working on syrigine

* Better syr visualizer

* Add dropper inhand

* Syringe in-hands

* Add base empty bottle for chemistry

* Deleted old fillings

* Simplified beaker in hand

* Moved chemical bottles to seperate .yml

* Fixed chem master

* Serv3 when

* Fixed grammar

* Removed delays

Co-authored-by: Alex Evgrashin <evgrashin.adl@gmail.com>
Co-authored-by: Metal Gear Sloth <metalgearsloth@gmail.com>
2021-03-11 10:24:17 +01:00
Swept 87aced8392
Adds mice (#3594)
* Initial

* Mmm

* Adds them to map

* Makes mice grindable

* meta.json looking nice

* Mice go squeak

* Ye

* E

* Review

* Update Content.Server/GameObjects/Components/Mobs/Speech/MouseAccentComponent.cs

Co-authored-by: Paul Ritter <ritter.paul1@googlemail.com>
2021-03-11 01:06:57 +01:00
Acruid 6edc416afc
EntitySystemMessage Removal & InteractionSystem directed events (#3572)
* Removed obsolete EntitySystemMessage, now everything uses the base EntityEventArgs or the derived HandledEntityEventArgs.
Setup InteractionSystem to use new directed events.

* Update Submodule.
2021-03-09 11:22:48 -08:00
GraniteSidewalk 549d84174c
Singularity Shaders and a lot of Shader Stuff (#2517)
* Beginnings of singulo shader

* LOTS of changes!!

* Minor changes

* Singulo stuff

* Aesthetic changes to singulo

* Combining singulo change

* ShaderAura uses IEntities now, not IPlayerSession

* Fixes?

* Fixes draw order for atmos

* using fix

* Address reviews

* nuget.config whaaa

* nuget haha

* nuget why are you so dum

* happy now

* Preparing for omegachange

* Merge from seventh level of hell

* woork

* Ignorecomponents add

* mmf

* RobustToolbox?

* Fixes

* Fixes Robust?

* adds sprite

* Nullables

* Crit overlay stuff

* Commits Robust
2021-03-09 02:33:41 -08:00
Metal Gear Sloth 84143ee264 Fix door welding 2021-03-09 19:12:27 +11:00
Vera Aguilera Puerto 83fbd1f0c8 Fixes fires 2021-03-08 15:21:56 +01:00
Vera Aguilera Puerto d86623eed7 Improves AirtightComponent.
- Atmos now nulls air in fully airblocked tiles ONLY if one of the airtight entities in it has NoAirWhenFullyAirBlocked to true.
- Fixes edge firelocks atmos airtight direction
- Fixes atmos debug overlay not accounting for angle 0 being south.
2021-03-08 14:57:05 +01:00
metalgearsloth 362c6de742
Fix monkey kitchen spike dragdrop (#3450)
* Fix monkey kitchen spike dragdrop

I also aligned the behavior with tg (need combat mode on + mob alive).
It still needs to do damage over time and buckle the target but baby steps.

* Cleanup

* Fix kitchenspike layers

Co-authored-by: Metal Gear Sloth <metalgearsloth@gmail.com>
2021-03-08 21:24:34 +11:00
Vera Aguilera Puerto f5396344ef
Machine construction can now use tags. (#3532)
* work on machine tags

* Makes protolathe board use tag requirements
2021-03-08 05:09:30 +01:00
Vera Aguilera Puerto 13e95ac9a8
Makes construction graphs turing complete (#3516)
* Makes construction graphs turing complete

* Improvements
2021-03-08 05:09:17 +01:00
Vera Aguilera Puerto 6c77801d90
StunnableComponent cleanup, proper prediction for stuns and slips. (#3552) 2021-03-08 05:00:50 +01:00
metalgearsloth 0ad70d62ec
Fix item dropping into disposals (#3578)
Co-authored-by: Metal Gear Sloth <metalgearsloth@gmail.com>
2021-03-08 14:51:15 +11:00
DrSmugleaf f682833c8d
Make the client validate character information (#3563)
Co-authored-by: Metal Gear Sloth <metalgearsloth@gmail.com>
2021-03-08 13:07:53 +11:00
metalgearsloth 9cbf863e18
Fix pushing (#3574)
Forgot I had commandeered that property

Co-authored-by: Metal Gear Sloth <metalgearsloth@gmail.com>
2021-03-08 12:48:15 +11:00
Pieter-Jan Briers 1818b561f8 You can now ban people that aren't on the server. Or that have never JOINED the server in the first place. Amazing! 2021-03-08 02:23:44 +01:00
metalgearsloth 6f3860201c
Better weightless yeeting and movement (#3573)
Co-authored-by: Metal Gear Sloth <metalgearsloth@gmail.com>
2021-03-08 12:10:56 +11:00
metalgearsloth fcb3498bba
Better pull breakout (#3571)
Co-authored-by: Metal Gear Sloth <metalgearsloth@gmail.com>
2021-03-08 12:10:48 +11:00
metalgearsloth 0f7da24993
Better throwing collisions (#3568)
Co-authored-by: Metal Gear Sloth <metalgearsloth@gmail.com>
2021-03-08 12:10:04 +11:00
ike709 ac1d06e312
Adds a latejoin radio announcement (#3569)
Co-authored-by: ike709 <sparebytes@protonmail.com>
2021-03-08 01:15:51 +01:00
ike709 8204d33a85
Makes join/leave messages admin-only (#3565)
Co-authored-by: ike709 <sparebytes@protonmail.com>
2021-03-08 01:15:31 +01:00
RemberBL 343f183b32
Character eye customization, scroll bar in appearance tab character setup. Fixes #2946 (#3403)
* A lot of unfinished work, trying to figure stuff out but it ain't really working

* The eye colors finally work on the sprite!

* Big refactor for HumanoidProfileEditor, crashes upon making a lobby

* Fixed Lobby crashing

* Moves the eye selection box to a new tab, which fixes selection the box from going off-screen and not expanding the bars

* uncommented something I shouldn't have commented out

* Moved eye colors back to the appearance tab, still some ui glitches

* Made it possible to scroll in the appearance tab

* Added "Eye color:" label

* Migrating some deprecated functions into their replacements

* Merged two private sealed classes into one public class, removing duplication
2021-03-07 20:48:24 +01:00
metalgearsloth 4d064abcd7
Physics (#3485)
* Content side new physics structure

* BroadPhase outline done

* But we need to fix WorldAABB

* Fix static pvs AABB

* Fix import

* Rando fixes

* B is for balloon

* Change human mob hitbox to circle

* Decent movement

* Start adding friction to player controller

I think it's the best way to go about it to keep other objects somewhat consistent for physics.

* This baby can fit so many physics bugs in it.

* Slight mob mover optimisations.

* Player mover kinda works okay.

* Beginnings of testbed

* More testbed

* Circlestack bed

* Namespaces

* BB fixes

* Pull WorldAABB

* Joint pulling

* Semi-decent movement I guess.

* Pulling better

* Bullet controller + old movement

* im too dumb for this shit

* Use kinematic mob controller again

It's probably for the best TBH

* Stashed shitcode

* Remove SlipController

* In which movement code is entirely refactored

* Singularity fix

* Fix ApplyLinearImpulse

* MoveRelay fix

* Fix door collisions

* Disable subfloor collisions

Saves on broadphase a fair bit

* Re-implement ClimbController

* Zumzum's pressure

* Laggy item throwing

* Minor atmos change

* Some caching

* Optimise controllers

* Optimise CollideWith to hell and back

* Re-do throwing and tile friction

* Landing too

* Optimise controllers

* Move CCVars and other stuff swept is beautiful

* Cleanup a bunch of controllers

* Fix shooting and high pressure movement controller

* Flashing improvements

* Stuff and things

* Combat collisions

* Combat mode collisions

* Pulling distance joint again

* Cleanup physics interfaces

* More like scuffedularity

* Shit's fucked

* Haha tests go green

* Bigmoneycrab

* Fix dupe pulling

* Zumzum's based fix

* Don't run tile friction for non-predicted bodies

* Experimental pulling improvement

* Everything's a poly now

* Optimise AI region debugging a bit

Could still be better but should improve default performance a LOT

* Mover no updater

* Crazy kinematic body idea

* Good collisions

* KinematicController

* Fix aghost

* Throwing refactor

* Pushing cleanup

* Fix throwing and footstep sounds

* Frametime in ICollideBehavior

* Fix stuff

* Actually fix weightlessness

* Optimise collision behaviors a lot

* Make open lockers still collide with walls

* powwweeerrrrr

* Merge master proper

* AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA

* AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA

* AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA

* Ch ch ch changesss

* SHIP IT

* Fix #if DEBUG

* Fix vaulting and item locker collision

* Fix throwing

* Editing yaml by hand what can go wrong

* on

* Last yaml fixes

* Okay now it's fixed

* Linter

Co-authored-by: Metal Gear Sloth <metalgearsloth@gmail.com>
Co-authored-by: Vera Aguilera Puerto <zddm@outlook.es>
2021-03-08 04:09:59 +11:00
ShadowCommander 0fd3e8a57e
Update WelderRefinable usages to new SheetGlass id (#3539) 2021-03-07 20:05:57 +11:00
ShadowCommander 045bb71980
Fix trying to create a new grid on MapId.Nullspace (#3541) 2021-03-06 18:43:32 +01:00
Vera Aguilera Puerto 7f3b944500 Fixes bug where computers wouldn't return the circuit board when deconstructed. 2021-03-06 14:47:00 +01:00
Vera Aguilera Puerto a7d29a1497 Fixes emitters' fire rotation and emitter bolts being sideways. 2021-03-06 13:15:25 +01:00
ShadowCommander 19a8a2c6b8
Set OccludesLight to false for hands and inventory (#3531) 2021-03-06 11:32:23 +01:00
Swept ade17074ba
Reorganizes tiles, you can craft wood and steel ones now (#3484)
* Tile RSI/YAML cleanup

* Changes tile stack from 8 to 30

* Tiles actually damage when you throw them

* Removed bad tiles and rest actually fucking work now

* If I write one more line of yaml i'll cut my dick off

* fixed was very tired
2021-03-06 16:41:53 +11:00
Vera Aguilera Puerto ea1196fd42 Fixes WaterVaporReaction missing a data definition attribute 2021-03-06 00:13:25 +01:00
Vera Aguilera Puerto 16a9aeb9c0
Water vapor now makes puddles under 100ºC above 1 moles (#3489)
* Water vapor now makes puddles under 100ºC above 1 moles

* serv3 moment

* Update Content.Server/Atmos/Reactions/GasReactionPrototype.cs

Co-authored-by: Clyybber <darkmine956@gmail.com>

Co-authored-by: Clyybber <darkmine956@gmail.com>
2021-03-05 22:15:37 +01:00
Paul Ritter d6464b3ba0
fixes alert onclick (#3521)
Co-authored-by: Paul <ritter.paul1+git@googlemail.com>
2021-03-05 12:46:04 +01:00
Paul 73cef00aeb makes prototypeinheritance opt in 2021-03-05 11:13:00 +01:00
Swept 2de1904c8d
Initial (#3518) 2021-03-05 18:23:09 +11:00
metalgearsloth 1c1b209e31
Fix NPC behaviors (#3509)
Co-authored-by: Metal Gear Sloth <metalgearsloth@gmail.com>
2021-03-05 11:54:32 +11:00
Paul Ritter 5c50b1f6ed
Serialization v3 content PR (#3491)
* serv3 in shared pt 1

* beginning of deepclone api

* progress in implementing ideepclone & serv3 in content

* adds target

* its cant hurt you it cant hurt you

* more changes to content.server

* adds dataclasses

* almost there

* renamed & edited entry

* finishes refactoring content to use serv3

* gasmixture runtimes, next: reagentunit

* fucin hell that was an annoying one

* adds flags

* fixes some yaml errors

* removes comment

* fixes generic components for now

* removes todo
actually clones values my god paul
fixes bug involving resolving custom data classes from other proj
renames dataclass
fixes spritecomp
adds WithFormat.Constants support

* adds deepclone to ResistanceSet

* adds a bunch of deepclone implementations
adds a deepclone analyzer (TODO)
adds a deep clone fallback for classes & structs

* fixes a bunch of runtimes

* adds deepclone to entityuid

* adds generator to sln

* gets rid of warnings

* fixes

* argh

* componentdata refactors

* more deepclone impl

* heck me i reworked all of content deepclone

* renames custom dataclasstarget

* misc

* reworks prototypes

* deepclone nuke

* renamed customdataclass attribute

* fixes everything

* misc fixed

* the killcommit

* getting there

* changed yamlfieldattribute namespace

* adds back iselfserialize

* renames everything to data(field/definition)

* ouch

* Fix most errors on content

* Fix more errors in content

* Fix some components

* work on tests

* fixes some customdataclasses

* fuggin shit

* yes

* yeas

* Remove data classes

* Data field naming fixes

* arg

* Git resetti RobustToolbox

* Merge fixes

* General fixes

* Fix startup serialization errors

* Fix DamageContainerPrototype when supported classes or types are null

* Implement construction graph step type serializer

* Fix up construction serialization

* Fix up construction serialization part 2

* Fix null list in technology database component

* Fix body serialization

* Fix entity storage serialization

* Fix actions serialization

* Fix AI serialization

* Fix reaction serialization

* Fix body serialization

* Fix grid atmosphere serialization

* Rename IServ3Manager to ISerializationManager

* Convert every non generic serializer to the new format, general fixes

* Serialization and body system fix

* pushinheritance fix

* Update all prototypes to have a parent and have consistent id/parent properties

* Merge fixes

* smh my head

* cuddling slaps

* Content commit for engine PR

* stuff

* more fixes

* argh

* yes even you are fixed

* changelog fixes

* fixes seeds

* argh

* Test fixes

* Add writing for alert order prototype

* Fix alert order writing

* FIX

* its been alot ok

* Fix the rest of the visualizers

* Fix server alerts component tests

* Fix alert prototype tests not using the read value

* Fix alert prototype tests initializing serialization multiple times

* THIS IS AN AMERICAN CODEBASE GOD BLESS THE USA

* Add ImplicitDataDefinitionForInheritors to IMechanismBehavior
Fixes the behaviors not being found

* Fix NRE in strap component
Good night to the 1 buckle optimization

* Fix clothing component slot flags serialization tag

* Fix body component in all components test

* Merge fixes

* ffs

* Make construction graph prototype use serialization hooks

* human yaml linted

* a

* Do the thing for construction

* stuff

* a

* monke see yaml linter

* LINT HARDER

* Remove redundant todo

* yes

* Add skip hook argument to readers and copiers

* we gamin

* test/datafield fixes

* adds more verbose validation

* moves linter to action

* Improve construction graph step type serializer error message

* Fix ammo box component NRE

* gamin

* some updates to the linter

* yes

* removes that test

* misc fixes

* array fix
priority fix
misc fixes

* adds proper info the validation

* adds alwaysrelevant usa

* Make yaml linter take half as long to run (~50% less)

* Make yaml linter 5 times faster (~80% less execution time)

* based vera being based

* fixes mapsaving

* warning cleanup & moves surpressor

* removes old msbuild targets

* Revert "Make yaml linter 5 times faster (~80% less execution time)"

This reverts commit 3e6091359a26252c3e98828199553de668031c63.

* Add -nowarn to yaml linter run configuration

* Improve yaml linter message feedback

* Make dependencies an argument instead of a property on the serialization manager

* yamllinting slaps

* Clean up type serializers

* Move yaml linter code to its own method

* Fix yaml errors

* Change yaml linter action name and remove -nowarn

* yaml linter please shut

* Git resetti robust toolbox

Co-authored-by: Paul <ritter.paul1+git@googlemail.com>
Co-authored-by: DrSmugleaf <DrSmugleaf@users.noreply.github.com>
2021-03-05 01:08:38 +01:00
Vera Aguilera Puerto 342ff5f43b Fix server crash when attempting to deploy AME part in space or in your hands. 2021-03-04 16:58:16 +01:00
Vera Aguilera Puerto 3ebfc897eb Fix machine frames not taking material sheets correctly 2021-03-04 16:15:40 +01:00
Vera Aguilera Puerto 5109d1d853 Adds fixgridatmos command for mapping and admining 2021-03-04 13:07:10 +01:00
Pieter-Jan Briers 4a584b778b PA fixes.
Improved unlit layers for control box.

Fixed rotation bugs.

Fixes #3479
2021-03-04 12:17:45 +01:00
ShadowCommander 6357569791
Radio fix (#3501)
* Fix headset formatted text wrap and move to translation file

* Update Loc.GetString refrences to new version
2021-03-04 11:31:22 +01:00
Pieter-Jan Briers 6f11567d80 You can use lights to commit sudoku again. 2021-03-03 16:29:09 +01:00
collinlunn 06f549d282
Piping Unit test fixes (#3471)
* PipeNetDevice on piping prototypes

* client component ignore

* NodeContainer OnRemove bugfix

* Moves some NodeContainer code from OnRemove to Shutdown

* yaml indentation fix
2021-03-02 19:58:19 +01:00
Acruid 91cea56a5a
SoundSystem (#3467)
* Converted some audio calls over to the new system.

* Update Submodule.
2021-03-01 20:42:54 -08:00
Swept 08d71a9297
Y (#3476) 2021-03-01 18:31:38 -08:00
Acruid 6c081d9d8d
Shared Containers (#3331)
* Namespace changes for containers.
Moved ContainerSlot from content to engine.

* Merged client/server ContainerManagerComponents into a single shared version.

* Mapfile and nullability fixes.

* Upgrades map.

* Update engine.
2021-03-01 15:24:46 -08:00
Swept 45a09bc7ea
Nerfs cargos minimum starting balance (#3468)
* e

* Aight

* Done
2021-03-01 12:56:38 -08:00
Swept 25e3cf667d
Initial (#3454) 2021-03-01 12:54:06 -08:00
AJCM-git 26378f3869
Fix stack localization (#3455) 2021-03-01 01:02:03 +01:00
Pieter-Jan Briers 245f276f35 Restart vote improvements, voting localization.
Restart votes now need 80% majority to succeed.
Restart votes now have a 3 minute cooldown on the caller.
Voting stuff has been localized.
2021-02-28 22:11:53 +01:00
Swept 6df41b2fa7
Adds material and singularity cargo crates (#3445)
* Adds various crates

* Removes redundant code from EmitterComponent.cs

* (fixed) emitter

* Hopefully good

* Update meta.json
2021-02-28 11:57:44 -08:00
Pieter-Jan Briers 410fecb72f Give patrons colored OOC names. 2021-02-28 18:51:47 +01:00
Pieter-Jan Briers cb8d7730ad Chat now sends formatted messages to allow more complex messages. 2021-02-28 18:51:30 +01:00
Pieter-Jan Briers 1eb0fbd8d0 Revert "Physics (#3452)"
This reverts commit 3e64fd56a1.
2021-02-28 18:49:48 +01:00
metalgearsloth 3e64fd56a1
Physics (#3452)
* Content side new physics structure

* BroadPhase outline done

* But we need to fix WorldAABB

* Fix static pvs AABB

* Fix import

* Rando fixes

* B is for balloon

* Change human mob hitbox to circle

* Decent movement

* Start adding friction to player controller

I think it's the best way to go about it to keep other objects somewhat consistent for physics.

* This baby can fit so many physics bugs in it.

* Slight mob mover optimisations.

* Player mover kinda works okay.

* Beginnings of testbed

* More testbed

* Circlestack bed

* Namespaces

* BB fixes

* Pull WorldAABB

* Joint pulling

* Semi-decent movement I guess.

* Pulling better

* Bullet controller + old movement

* im too dumb for this shit

* Use kinematic mob controller again

It's probably for the best TBH

* Stashed shitcode

* Remove SlipController

* In which movement code is entirely refactored

* Singularity fix

* Fix ApplyLinearImpulse

* MoveRelay fix

* Fix door collisions

* Disable subfloor collisions

Saves on broadphase a fair bit

* Re-implement ClimbController

* Zumzum's pressure

* Laggy item throwing

* Minor atmos change

* Some caching

* Optimise controllers

* Optimise CollideWith to hell and back

* Re-do throwing and tile friction

* Landing too

* Optimise controllers

* Move CCVars and other stuff swept is beautiful

* Cleanup a bunch of controllers

* Fix shooting and high pressure movement controller

* Flashing improvements

* Stuff and things

* Combat collisions

* Combat mode collisions

* Pulling distance joint again

* Cleanup physics interfaces

* More like scuffedularity

* Shit's fucked

* Haha tests go green

* Bigmoneycrab

Co-authored-by: Metal Gear Sloth <metalgearsloth@gmail.com>
2021-03-01 03:11:29 +11:00
Paul 9deee05279 Merge branch 'serv3' of https://github.com/PaulRitter/space-station-14 into master 2021-02-28 15:56:10 +01:00
collinlunn 9cefe6b3f3
PipeHeaterComponent (#3443)
* PipeHeaterComponent

Heater rsi

Heater prototype

* Client ignore
2021-02-28 22:05:10 +11:00
collinlunn d603a5e4de
MeleeChemicalInjectorComponent fix (#3449) 2021-02-28 21:59:47 +11:00
collinlunn 81f807b26b
Node anchoring fix (#3448)
* replaces node linq

* Node anchoring fix
2021-02-28 21:59:10 +11:00
metalgearsloth 777a75b7a3
Fix construction smoothing (#3446)
Co-authored-by: Metal Gear Sloth <metalgearsloth@gmail.com>
2021-02-28 20:20:56 +11:00
ike709 7b3e25b3ef
Basic liver mechanism (#3424)
* Basic liver mechanism

* makes the stupid thing work
2021-02-28 02:58:08 +01:00
Swept 1056b9005f
Fixes Torch (#3270)
* Updates RSI

* Done

* Finish

* SoulSloth you give me conniptions

* Nvm it was Nuke who made this, sorry soulsloth.

* E

* I am retar
2021-02-27 10:23:14 +01:00
Visne 9b94d5c195
Added nullable to most Content.Shared files (#3238)
* Add nullable to some Content.Shared files.

* Use [NotNullWhen(true)]

* Undo adding now redundant !'s

* Forgot one

* Add a ton more nullable

* You can guess

* Fix some issues

* It actually compiles now

* Auto stash before merge of "null2" and "origin/master"

* I lied

* enable annotations -> enable

* Revert ActionBlockerSystem.cs to original

* Fix ActionBlockerSystem.cs

* More nullable

* Undo some added exclamation marks

* Fix issues

* Update Content.Shared/Maps/ContentTileDefinition.cs

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

* Resolve some issues

* Remove unused method

* Fix more issues

* Fix more issues

* Fix more issues

* Fix more issues

* Fix issue, rollback SharedGhostComponent.cs

* Update submodule

* Fix issue, invert some if-statements to reduce nesting

* Revert RobustToolbox

* FIx things broken by merge

* Some fixes

- Replaced with string.Empty
- Remove some exclamation marks
- Revert file

* Some fixes

* Trivial #nullable enable

* Fix null ables

Co-authored-by: metalgearsloth <31366439+metalgearsloth@users.noreply.github.com>
Co-authored-by: Metal Gear Sloth <metalgearsloth@gmail.com>
2021-02-27 14:12:09 +11:00
AJCM-git 2f45e5e044
Repairable Component (#3418)
* Adds a repairable component

* Ignores RepairableComponent in the client

* fix localization

* fix localization
2021-02-27 13:56:32 +11:00
AJCM-git 5022a56e76
WindowComponent localization update (#3417)
* WindowComponent localization update

* address reviews
2021-02-26 09:19:12 +00:00
Alex Evgrashin 0fa219365e
Ghosts do booo (spooky) (#3363)
* Light now use visualizer

* Added ghost actions

* Add hotkey input for ghosts

* no message

* Testing blinking animation

* Better animation

* Better customization

* No abuse

* Reversed sln

* No fun for ghosts

* No fun for ghosts x2

* Cooldown for lights

* Moved to component deps

* This tollist is unnecessary

* Enums to byte

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

* Some lights can ignore ghosts now

Co-authored-by: Alex Evgrashin <evgrashin.adl@gmail.com>
Co-authored-by: metalgearsloth <31366439+metalgearsloth@users.noreply.github.com>
2021-02-26 12:31:06 +11:00
Metal Gear Sloth d5854a000d Fix lathe animations 2021-02-26 00:30:17 +11:00
Pieter-Jan Briers 356716ee5c Update NuGet packages. 2021-02-25 12:05:53 +01:00
tmtmtl30 233a4cb51f
fixes weird occlusion of constructed walls (#3404) 2021-02-25 11:52:26 +01:00
Vera Aguilera Puerto 5b9fb5cb86 Fix EmptyContainer properly. 2021-02-25 11:41:11 +01:00
Vera Aguilera Puerto 9b76fa95aa Fix EmptyContainer graph action for items 2021-02-25 11:37:01 +01:00
DrSmugleaf fdcbece63d
Refactor stacks to use prototypes (#3387)
* Refactor stacks to use prototypes

* Fix not assigned warning

* Add names to stacks

* Make machine baords and material constructions use the name as well

* Remove defaulting stacks to prototype id

* Fix tests

Co-authored-by: metalgearsloth <31366439+metalgearsloth@users.noreply.github.com>
2021-02-25 16:18:29 +11:00
Visne 7c32574547
"""Fix""" microwave (#3411)
Shitcode is now a little less shit
2021-02-25 16:03:20 +11:00
Injazz 5ae1b06095
fixes ghost duplication on aghosting (#3235)
Co-authored-by: Injazz <injazza@gmail.com>
2021-02-25 01:14:16 +00:00
metalgearsloth adbcfbb951
Mopping enhancements (#3298)
* Bucket starts with water
* Mop has do_after
* Bucket has do_after (user allowed to move while using it as long as they're in range at the end for maximum jannie skill)
* Random cleanup

Co-authored-by: Metal Gear Sloth <metalgearsloth@gmail.com>
2021-02-25 11:32:08 +11:00
AJCM-git fc5d6452cd
Fix behaviorSet prototype error (#3407) 2021-02-25 11:09:27 +11:00
Vera Aguilera Puerto 436d406585
Adds tag support to construction (#3386) 2021-02-24 16:26:56 +01:00
Pieter-Jan Briers 5a7658a13b Update submodule, fix a bunch of warnings. 2021-02-23 22:26:59 +01:00
Pieter-Jan Briers 73fec4c638 Gas tanks: properly localized. 2021-02-23 22:10:07 +01:00
Swept e05698c027
Tags everything that should be tagged (#3372)
* GlassBeaker and FirelockElectronics

* Moves BaseItem

* The rest

* Indentations

* Functional

* for sloth

* Applied zum reviews

Co-authored-by: metalgearsloth <31366439+metalgearsloth@users.noreply.github.com>
2021-02-23 18:48:57 +11:00
Swept 898996abe9
Cleans up NPC and Human YAML and adds tags for Teleportable and FootstepSound (#3371)
* GlassBeaker and FirelockElectronics

* Teleportable + Fixed parented Mobs

* Moved the small tag stuff outta this PR, this is a MOB PR nowgit add .

* FootstepSound

* FootstepSound fixed

* Teleportable

* Added Tags
2021-02-23 18:20:35 +11:00
collinlunn 112f7d8346
Pipe visualizers (#3042)
* modifies pipe sprites to look not connected

* pipe connector sprites

* PipeConnectorVisualizer

* Remove pipe visualizer

* Revert "Remove pipe visualizer"

This reverts commit dc8da93f99f20aa55247c6a94d26c7a75a3d1782.

* PipeDirection can be set with the sprite updating correctly

* fixes meta files

* removes unused vent/scrubber directions

* OnConnectedDirectionsNeedsUpdating

* comments + OnConnectedDirectionsNeedsUpdating gets called

* fix connecteddirections bug

* Combines ConnectedDirections sent to visualizer

* fixes unconnected pipe sprites

* Adds PipeConnectorVisualizer to other piping entities

* code cleanup

* Fixed bug with ConnectedDirections not being set correctly

* diff fix

* rotation simplification

* Improves rsi serialization

* enable nullable

* wip

* visualizer cleanup

* nullable cleanup

Co-authored-by: py01 <pyronetics01@gmail.com>
2021-02-23 13:18:30 +11:00
Pieter-Jan Briers 6a79782fc0
Remove redundant access levels and jobs. (#3360)
We do not need access levels like ResearchDirector when Research | Command works fine.

We also do not need a QM.

Etc...
2021-02-23 13:07:40 +11:00
Swept 4a67fc1d22
Fleshes out smoking content (#3295)
* RSIs sorted out

* Bookmark

* Updated packet RSIs for Stacks

* Cigs Packs done

* Cigarette Cartons

* fucking MANUALLY fixed the cigarette inhands, fuck you tgstation

* Pipes work

* Cigars/Cases

* Updates vending machine inventory

* tweaks count

* Adds a cigarette crate

* Fixes RSIs, working on rolling paper

* Adds Tobacco and Cannabis plants

* Cigarettes and Rollies are now craftable

* There

* Fixed crafting recipes

* Reset RobustToolbox

* Netsync'd

* Ready

Co-authored-by: DrSmugleaf <DrSmugleaf@users.noreply.github.com>
2021-02-22 15:08:17 +11:00
Remie Richards 85916b87b4
Fluent Localisation Fixes (#3344)
Co-authored-by: Pieter-Jan Briers <pieterjan.briers+git@gmail.com>
2021-02-22 01:07:46 +01:00
Pieter-Jan Briers 63947a6d35
Fixes all the rotation bugs. (#3365) 2021-02-22 00:46:27 +01:00
DrSmugleaf 0dd75e1821
Move event bus listener from CuffableComponent to CuffableSystem (#3321)
* Move event bus listener from CuffableComponent to CuffableSystem

* Fix uncuffing when inside a container

* Fix not updating the status
2021-02-21 13:39:54 +01:00
Fortune117 33d6975c25
fixed apcnet causing crash (#3354)
Co-authored-by: Pieter-Jan Briers <pieterjan.briers+git@gmail.com>
2021-02-21 12:32:57 +01:00
Alex Evgrashin b565748324
Fixes gasp on start (#3311) 2021-02-21 15:13:49 +11:00
Clyybber c5ab6f191b
Spill into containers lying around (#3345)
* Spill into containers lying around

* Make spillability definable in yaml

* Address reviews
2021-02-21 02:14:41 +01:00
DrSmugleaf 5b5a6a46be
Fix build (#3348) 2021-02-21 01:24:32 +01:00
metalgearsloth e0eaef1aa9
Data-driven NPC factions (#3249)
* Data-driven NPC factions

* Minor re-factor so it's settable via yaml instead. Any changes made during runtime aren't saved back.
* Still uses enums given bitmasks go BRRT

* private setters whoops

* nullables

Co-authored-by: Metal Gear Sloth <metalgearsloth@gmail.com>
2021-02-21 00:27:17 +01:00
mirrorcult 6c088c36b8
Fix dead people standing up after being stunned (#3330)
* fix crit/dead players standing up

* actually fix crit/dead players standing up

* nullable + missed check

Co-authored-by: cyclowns <cyclowns@protonmail.ch>
2021-02-20 23:55:35 +01:00
Clyybber f403e79520
Fix foam crash (#3336) 2021-02-20 22:50:24 +11:00
metalgearsloth 4437fc7a1b
Data-driven NPC behaviors (#3271)
* Data-driven NPC behaviors

* Nuked AiLogicProcessor
* BehaviorSets are now all stored in yaml (might try making actions also yaml someday)
* Added a test to validate all BehaviorSets
* Might also try pooling actions in the future to reduce allocs but that'll be way down the line (cough physics).

* Forgot to re-add sorting nothing suss

* Remove last references

* Proper vector2i serialization for tile atmos (#3266)

* update map files

* update submodule

Co-authored-by: cyclowns <cyclowns@protonmail.ch>

* Remove weird "S" jumpsuit from existence (#3267)

* Change character names to use datasets prototypes (#3259)

* Remove old name lists in .txts

* Fix tests

* LATEST MASTER TECHNOLOGY

* Converts AdminMenu to partially use XAML (#3231)

* Cleans up Hydroponics content. (#3025)

* Adds to IgnoredComponents.cs

* Jackboots

* Half Done

* Moved to diff PR

* Everything functional

* Fixed Sprays

* Nice

* Fixed

* Update submodule

* Fix tests

Co-authored-by: Metal Gear Sloth <metalgearsloth@gmail.com>

* Stacked sprite visualizer (#3096)

* Add Stack Visualizer

* Add cigarette pack resources

Adds transparent layers for visualizing cigarettes

* Add Bag Open/Close Visualizer

So storage opened in inventory can have different icons when opened
or closed.

* Create a component that only enumerates single item

Used for creating stuff like matchbox, or cigarettes. As a bonus.
It will only update stack visualizer for that particullar item.

* Refactoring stuff

* Fix other usage of stack in Resources

* Add docs

* Apply suggestions from code review

Apply metalgearsloth suggestions

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

* Applied suggestions from metalgearsloth

* Changed SingleItemStorageComponent to StorageCounterComponent

Difference. New component doesn't spawn items, merely counts them.

* Refactored StackVisualizer

* Fix breakage with master

* Update Resources/Prototypes/Entities/Objects/Consumable/fancy.yml

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

* Update with MGS suggestions

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

* ApcNet updating fix (#3078)

* GridPowerComponent

* ApcNet Powered update bugfix

* PowerTest fix

* Add GridPower to Saltern

* test fix

* Update canceling cleanup

* code cleanup

* nullable & code cleanup for test

* undo power test nullable

* Replaces GridPowerSystem with ApcNetSystem

* build fix

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

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

* Change all XAML to use spacestation14.io namespace (#3277)

* fix pizzaboxes (#3291)

Co-authored-by: cyclowns <cyclowns@protonmail.ch>

* Spikes fix reopened (#3203)

* DoAfter, dead and stun check, DragDropOn

* Not ignored anymore

* Copied comment deleted

* Herbert's an ass

* Woops

Co-authored-by: Metal Gear Sloth <metalgearsloth@gmail.com>

* Make component states dependant on the player getting them (#3280)

* Make component states dependant on the player getting them

Co-authored-by: Metal Gear Sloth <metalgearsloth@gmail.com>

* Updated submodule to v0.3.7.

Co-authored-by: Metal Gear Sloth <metalgearsloth@gmail.com>
Co-authored-by: Acruid <shatter66@gmail.com>

* Hoe fix (#3296)

* Initial (#3297)

* Sort reagent dispenser entries (#3272)

* Sort reagent dispenser entries

Saves manually doing it.

* zumzum's suggestion

Co-authored-by: Metal Gear Sloth <metalgearsloth@gmail.com>

* Made firelocks damageable & destructible (#3303)

* Move job priority enum parity test ot unit tests (#3300)

* Spill hand contents when dropping them in a fall (#3304)

* Spill hand contents when dropping them due to falling down

* Better approach

* cleanup

* grammar

* stupid

* PauseManager moved to Shared (#3288)

* Namespace changes for moving IPauseManager to shared.

* Namespace changes for moving ITimerManager from Timers to Timing.

* Rebase Fixes.

* Update engine submodule to v0.3.8

* Improves kick, teleport and ban menus (#3312)

* Fix the admin panel not showing the account name (#3322)

* Fix name serialization for secret stashes (#3301)

* Fix name serialization for secret stashes

* Fix old usages of secret part name

* Separate ghost warp message into two (#3310)

* Separate ghost warp message into two

* Remove redundant arguments

* Address reviews

* Move properties up

* Add health overlay and a command to toggle it (#3278)

* Add health overlay bar and a command to toggle it

* Remove empty line

* Content PR for YAML hot reloading (#3319)

* Content PR for YAML hot reloading

* Add CanAdminReloadPrototypes (host permission)

* IndexedPrototype fixes

* Update RobustToolbox

* Update RobustToolbox

* Add an unconspicuous, meaningless and in no way motivated by any external force XML doc to buckle component

* Update RobustToolbox

* Update submodule to v0.3.12.

* Removed unused using statements that prevented compiling.
Removed references to IIndexedPrototype that does not exist anymore in the engine.

Co-authored-by: Metal Gear Sloth <metalgearsloth@gmail.com>
Co-authored-by: mirrorcult <notzombiedude@gmail.com>
Co-authored-by: cyclowns <cyclowns@protonmail.ch>
Co-authored-by: Visne <39844191+Visne@users.noreply.github.com>
Co-authored-by: DrSmugleaf <DrSmugleaf@users.noreply.github.com>
Co-authored-by: Leo <lzimann@users.noreply.github.com>
Co-authored-by: Swept <sweptwastaken@protonmail.com>
Co-authored-by: Ygg01 <y.laughing.man.y@gmail.com>
Co-authored-by: collinlunn <60152240+collinlunn@users.noreply.github.com>
Co-authored-by: komunre <49118681+komunre@users.noreply.github.com>
Co-authored-by: Acruid <shatter66@gmail.com>
Co-authored-by: Peptide90 <78795277+Peptide90@users.noreply.github.com>
Co-authored-by: Clyybber <darkmine956@gmail.com>
2021-02-19 22:37:17 -08:00
DrSmugleaf fa1e9c019c Add an unconspicuous, meaningless and in no way motivated by any external force XML doc to buckle component 2021-02-20 01:20:52 +01:00
DrSmugleaf 3e702723fd
Content PR for YAML hot reloading (#3319)
* Content PR for YAML hot reloading

* Add CanAdminReloadPrototypes (host permission)

* IndexedPrototype fixes
2021-02-20 00:05:24 +01:00
DrSmugleaf 5667cffe95
Separate ghost warp message into two (#3310)
* Separate ghost warp message into two

* Remove redundant arguments

* Address reviews

* Move properties up
2021-02-19 19:29:34 +01:00
DrSmugleaf 6d666b92e9
Fix name serialization for secret stashes (#3301)
* Fix name serialization for secret stashes

* Fix old usages of secret part name
2021-02-19 19:29:24 +01:00
Acruid d1b5a31397
PauseManager moved to Shared (#3288)
* Namespace changes for moving IPauseManager to shared.

* Namespace changes for moving ITimerManager from Timers to Timing.

* Rebase Fixes.

* Update engine submodule to v0.3.8
2021-02-18 20:45:45 -08:00
Clyybber c996021b5d
Spill hand contents when dropping them in a fall (#3304)
* Spill hand contents when dropping them due to falling down

* Better approach

* cleanup

* grammar

* stupid
2021-02-18 21:43:46 +01:00
metalgearsloth fb5c9d689e
Sort reagent dispenser entries (#3272)
* Sort reagent dispenser entries

Saves manually doing it.

* zumzum's suggestion

Co-authored-by: Metal Gear Sloth <metalgearsloth@gmail.com>
2021-02-18 20:58:43 +11:00
DrSmugleaf 1477cd4d0a
Make component states dependant on the player getting them (#3280)
* Make component states dependant on the player getting them

Co-authored-by: Metal Gear Sloth <metalgearsloth@gmail.com>

* Updated submodule to v0.3.7.

Co-authored-by: Metal Gear Sloth <metalgearsloth@gmail.com>
Co-authored-by: Acruid <shatter66@gmail.com>
2021-02-18 00:09:07 -08:00
komunre 77c8fc5b42
Spikes fix reopened (#3203)
* DoAfter, dead and stun check, DragDropOn

* Not ignored anymore

* Copied comment deleted

* Herbert's an ass

* Woops

Co-authored-by: Metal Gear Sloth <metalgearsloth@gmail.com>
2021-02-18 18:49:50 +11:00
collinlunn fabc580df9
ApcNet updating fix (#3078)
* GridPowerComponent

* ApcNet Powered update bugfix

* PowerTest fix

* Add GridPower to Saltern

* test fix

* Update canceling cleanup

* code cleanup

* nullable & code cleanup for test

* undo power test nullable

* Replaces GridPowerSystem with ApcNetSystem

* build fix

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

Co-authored-by: metalgearsloth <31366439+metalgearsloth@users.noreply.github.com>
2021-02-18 00:51:30 +11:00
Ygg01 55d65889ae
Stacked sprite visualizer (#3096)
* Add Stack Visualizer

* Add cigarette pack resources

Adds transparent layers for visualizing cigarettes

* Add Bag Open/Close Visualizer

So storage opened in inventory can have different icons when opened
or closed.

* Create a component that only enumerates single item

Used for creating stuff like matchbox, or cigarettes. As a bonus.
It will only update stack visualizer for that particullar item.

* Refactoring stuff

* Fix other usage of stack in Resources

* Add docs

* Apply suggestions from code review

Apply metalgearsloth suggestions

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

* Applied suggestions from metalgearsloth

* Changed SingleItemStorageComponent to StorageCounterComponent

Difference. New component doesn't spawn items, merely counts them.

* Refactored StackVisualizer

* Fix breakage with master

* Update Resources/Prototypes/Entities/Objects/Consumable/fancy.yml

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

* Update with MGS suggestions

Co-authored-by: metalgearsloth <31366439+metalgearsloth@users.noreply.github.com>
2021-02-18 00:02:36 +11:00
DrSmugleaf 8f95609053
Add a command and verb to delete entities (#3263)
* Add command to delete entities

* Add verb to delete entities
2021-02-17 11:54:21 +11:00
DrSmugleaf ecb9993d80
Add cvar to disable ooc chat (#3258) 2021-02-16 20:14:32 +01:00
DrSmugleaf 3c54c755ce
Remove some criminal if checks (#3261) 2021-02-16 20:14:21 +01:00
Pieter-Jan Briers cea87d6985
Voting (#3185)
* Basic voting

* Rewrite lobby in XAML.
Working lobby voting.

* Escape menu is now XAML.

* Vote menu works, custom votes, gamemode votes.

* Vote timeouts & administration.

Basically done now.

* I will now pretend I was never planning to code voting hotkeys.

* Make vote call UI a bit... funny.

* Fix exception on round restart.

* Fix some vote command definitions.
2021-02-17 01:07:17 +11:00
Clyybber db290fd91e
Fix potential reaction crash (#3251) 2021-02-16 21:56:50 +11:00
Clyybber c7876d624b
Fix foam crash (#3250) 2021-02-16 21:43:45 +11:00
DrSmugleaf 78afc2db0f
Add make ghost role verb (#3204) 2021-02-16 09:51:27 +01:00
DrSmugleaf 6a3072e4fd
Default to a regular interaction when disarm is unavailable (#3226) 2021-02-16 09:48:45 +01:00
mirrorcult 788ed8dbd1
Add stunbaton charging, fix other recharger related bugs (#3239)
Co-authored-by: cyclowns <cyclowns@protonmail.ch>
2021-02-16 09:42:48 +01:00
mirrorcult 1ab8d3e6e9
Properly fix chair collision & disallow pulling objects you're buckled to (#3241)
Co-authored-by: cyclowns <cyclowns@protonmail.ch>
2021-02-16 09:42:03 +01:00
Alex Evgrashin 292a618141
Breakable light (#3237) 2021-02-16 09:40:43 +01:00
DrSmugleaf 04aa195c91
Add cooldown to shuttle calling (#3225) 2021-02-16 09:31:57 +01:00
DrSmugleaf cf7ac025b4
Fix the admin panel only listing your character name (#3229) 2021-02-16 09:11:15 +01:00
DrSmugleaf ae5f971fc3
Add cooldown to window knocking (#3224) 2021-02-16 12:56:46 +11:00
mirrorcult f9429da269
break pulls when objects are anchored (#3248)
Co-authored-by: cyclowns <cyclowns@protonmail.ch>
2021-02-16 12:53:35 +11:00
DrSmugleaf 17a224ad2c
Fix being able to teleport with the ghost warp menu while alive (#3246) 2021-02-16 01:55:09 +01:00
DrSmugleaf 3703ae134b
Fix being able to remotely give drinks to your fellow man (#3223) 2021-02-16 11:46:14 +11:00
tmtmtl30 37eaa510e0
Fixes airlock autoclose, adds a sanity check to welding doors shut. (#3211)
* removes unused door var, sanity checks welding

* Fixes doors failing to autoclose.
2021-02-15 13:01:26 +01:00
Vera Aguilera Puerto ff68d30a8e Fix WeekdayInMonth holiday shouldCelebrate not checking for current month 2021-02-14 21:47:21 +01:00
DrSmugleaf ab56f7dc92
Add banning to the admin panel (#3191)
* Add banning to the admin panel

* Added response to ban command
2021-02-14 16:05:02 +01:00
Leo a3d0e3f6a7
OOC sent by an admin will have a different color (#3117)
* Admin OOC is sent with a different color than regular OOC

- Also adds the OOC color to the database

* Command to set the color

* Ooc -> OOC

* Change default color to Red (`#ff0000`)

* Outdated namespace
2021-02-14 15:59:56 +01:00
DrSmugleaf 54f48aa6a9
Add being able to breathe healing asphyxiation damage (#3194)
* Add healing suffocation damage when breathing

* Fix suffocation doing airloss instead of asphyxiation
2021-02-14 15:42:51 +01:00
Leo ad611755dc
Fix outfit command not respecting preferences and not filling id's name (#3198) 2021-02-14 15:39:53 +01:00
DrSmugleaf a8e9bf0488
Add game preset attribute, unhardcode game presets (#3166)
* Add game preset attribute, unhardcode game presets

* Add game preset attribute doc

* Add preset attribute to extended

* Remove try methods from playerdata
2021-02-14 15:39:24 +01:00
tmtmtl30 137b99a543
wire panel now opens when a wire tool is used (#3200) 2021-02-14 15:38:41 +01:00
Vera Aguilera Puerto 10bfc087e7 GhostRoleMobSpawner can make entities sentient when spawning them. 2021-02-14 15:31:04 +01:00
DrSmugleaf fd2fa123dd
Fix buckle cooldown not being serialized properly (#3193) 2021-02-13 17:57:02 +01:00
Alex Evgrashin 18584d77fd
Fixes glass priority (#3183) 2021-02-13 17:52:00 +01:00
DrSmugleaf f4978d1b9e
Add pardon command and tests (#3190)
* Add pardon command

* Make pardoning check for an existing ban and unban first

* Add pardon test and documentation
2021-02-13 17:51:54 +01:00
Pieter-Jan Briers f7dca21c03 Fix MoMMILink exceptions. 2021-02-13 13:15:07 +01:00
tmtmtl30 258fdc10ea
Airlock / firelock code refactor, pseudo-prediction implementation (#3037)
* splits off airlocks, firelocks

* adds airlock prediction. anims broken though

* fixes animation weirdness

* removes opacity prediction because it looked odd

* Now firelocks don't visually start open. Argh.

* Fixes firelock weirdness, saneifies _state var.

* Documentation changes, code shuffle.

* Lets firelocks crush people.

* Stops open-hand opening/closing firelocks.

* updates serializable, netserializable attributes

* Addresses reviews... hopefully.

* updates submodule?

* nullability

* fuck fuck fuck fuck

* fucking finally
2021-02-12 16:02:14 +01:00
Vera Aguilera Puerto 6f20d00264 Add missing Dirty call in StunnableComponent 2021-02-12 13:04:52 +01:00
DrSmugleaf 9f5fca2334
Add banlist command (#3163)
* Add banlist command

* Fix up args
2021-02-12 13:04:32 +01:00
DrSmugleaf 6eb0dd4f50
Remove redundant TryGetComponent call in buckle initialize (#3164) 2021-02-12 13:04:19 +01:00
Vera Aguilera Puerto 86507791c0 Fix build, again. 2021-02-12 11:47:14 +01:00
Vera Aguilera Puerto dde6d687c9 Fix build 2021-02-12 11:46:56 +01:00
Vera Aguilera Puerto 2b10ee6b8f Add cooldown to melee weapons on pickup/selected
Fixes #3149
Fixes kitchen knives not having ItemCooldown component.
2021-02-12 11:27:45 +01:00
20kdc cc8458f23c
Add "fixrotations" command to fix rotations of walls/windows/low walls (#3069)
* Add "fixrotations" command to fix rotations of walls/windows/low walls

* fixrotations: Migrate command to new command structure
2021-02-12 21:13:32 +11:00
Vera Aguilera Puerto d65f79310d Fix RCD creating walls with wrong rotation
Fixes #3154
2021-02-12 10:59:06 +01:00
Vera Aguilera Puerto 4678e44edc Fix warnings 2021-02-12 10:53:02 +01:00
Vera Aguilera Puerto 9ee0ec4106
Holiday System (#3122) 2021-02-12 10:45:22 +01:00
tmtmtl30 857c65d968
ABSURDLY important footstep change (#3147)
* +1 db

* -.25db, different volume walking vs. running
2021-02-12 20:31:19 +11:00
Vera Aguilera Puerto 4c419f85ce
Ghost Roles (#3106)
* Add files for Ghost Roles.

* Work on Ghost Roles

* Improvements

* GHOST ROLES IS DONE

* mmm yes

* auto-update when setting rolename/roledescription

* well

* command graceful error

* Makes UI have a scrollbar when it has too many entries

* fix command fuckup

* Apply suggestions from code review

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

Co-authored-by: metalgearsloth <31366439+metalgearsloth@users.noreply.github.com>
2021-02-12 14:35:56 +11:00
metalgearsloth 3923733113
Gas leak event (#3097)
* Gas leak event

* 5% spark chance

* HotspotExpose

Co-authored-by: Metal Gear Sloth <metalgearsloth@gmail.com>
2021-02-12 14:28:51 +11:00
Vera Aguilera Puerto eaad5cb16d Adds extended gamemode preset 2021-02-12 03:02:20 +01:00
Acruid ca4fd649fe
Massive Namespace Cleanup (#3120)
* Engine namespace changes.

* Automated remove redundant using statements.

* Simplified Graphics namespace.

* Apparently the container system stores full type names in the map file.😞 This updates those names.

* API Changes to LocalizationManager.LoadCulture.

* Update submodule to v0.3.2
2021-02-11 01:13:03 -08:00
DrSmugleaf ef8b833c96
Fix device network connection infinite recursion (#3121) 2021-02-10 21:48:14 +01:00
DrSmugleaf 96e5e34084
Make DoAfters use DamageChangedMessage instead of an event (#3115) 2021-02-10 12:36:05 +11:00
DrSmugleaf 7a069a4a0f
Change AddAccent command to be case insensitive (#3112) 2021-02-09 20:21:29 +01:00
Vera Aguilera Puerto 9b9fbfdcfe
Replace BreakableConstructionComponent with a destructible threshold behavior (#3111)
* Replace BreakableConstructionComponent with ChangeConstructionNodeBehavior

* Fix ordering of behaviors in MachineFrame
2021-02-09 20:08:06 +01:00
DrSmugleaf 1ca254c418 Fix ChangeConstructionNodeBehavior.Execute not being async 2021-02-09 20:07:09 +01:00
DrSmugleaf 33b5099efc Replace BreakableConstructionComponent with ChangeConstructionNodeBehavior 2021-02-09 19:59:52 +01:00
Vera Aguilera Puerto 9b1142973e
Renames phoron to plasma everywhere in the codebase and replaces sprites. (#3110) 2021-02-09 19:05:19 +01:00
DrSmugleaf 2d06990ee3
Remove breakable component (#3109) 2021-02-09 14:55:54 +01:00
DrSmugleaf 15f05b565a
Add composite destructible thresholds (#3102)
* Add composite destructible thresholds

* Reorder yaml properties

* Update YAML

* Fix YAML

* Re-fix YAML

* Add missing nullable enable

* Go back window component is explosive

* rider
2021-02-09 22:57:21 +11:00
Pieter-Jan Briers c4fe0c904c Merge branch 'master' into expl_int_analyzer 2021-02-08 22:46:28 +01:00
DrSmugleaf c479903538 Update RobustToolbox 2021-02-07 14:56:08 +01:00
Vera Aguilera Puerto 834bcda840 Make VisitingMind's Mind readable by VV 2021-02-07 13:52:34 +01:00
DrSmugleaf f63a89f816
Add warning when using the mapping command in debug mode (#3095) 2021-02-07 16:36:34 +11:00
Alex Evgrashin 59e72697cb
Buildable wall light (#2644)
* Added empty light

* Can build light fixture

* Can construct and deconstruct small light

* You can build bulbs only on walls

* Playing with placement conditions

* Refactored code a bit

* Added check for north direction and snapping

* Fixed all small light sprites (wrong directions order)

* Fixed weird problem with bulb lights

* Fixed rotation on all stations

* Fixed map again

* Much better placement mode

* Deleted shared wall component and moved all logic to raycasts

* Missing bracket

* Better texture

* Moved wallmount condition to tags

* Removed station station

* Added suffix and fixed on map init bug
2021-02-07 00:05:53 +01:00
DrSmugleaf 9db47249cd
Fix being able to spill closed drink cans (#3100) 2021-02-07 00:31:44 +11:00
DrSmugleaf 8ec4f1fb3d
Fix missing ignored components on the client (#3101) 2021-02-06 13:55:36 +01:00
Vera Aguilera Puerto b3810922f3 Fix spawned computers not adding the needed container to the ConstructionComponent
Fixes #3091
2021-02-05 22:45:18 +01:00
metalgearsloth abde29ed5a
Remove ExplosivePassable collision layer (#3084)
* Remove ExplosivePassable collision layer

Now we have tags which can do this cleaner.

* Update typo

* Vera's review

Co-authored-by: Metal Gear Sloth <metalgearsloth@gmail.com>
2021-02-06 06:43:50 +11:00
metalgearsloth b3869985e0
Increase disposal dragging delay for other people (#3086)
Co-authored-by: Metal Gear Sloth <metalgearsloth@gmail.com>
2021-02-05 17:12:10 +01:00
metalgearsloth 7ed07c0cac
Cuff enhancements (#3087)
* Cuff enhancements

* Cuffs now have an OnClick for the alert to remove them
* nullables
* Use default interaction range so highlights are accurate
* Cuffing fails more gracely
* Make shared abstract and add component references to client / server
* Don't cache AudioSystem and HandsComponent given cuffs are rarely used

* Fix test

Co-authored-by: Metal Gear Sloth <metalgearsloth@gmail.com>
2021-02-05 17:11:21 +01:00
Vera Aguilera Puerto 9884b14e8d
Adds a component for ghosting on move. (#3090)
* Adds a component for ghosting on move.
Adds a dummy input mover for IRelayMoveInput to work.

* Add IGhostOnMove

* Fix tests.
2021-02-05 17:02:20 +01:00
Vera Aguilera Puerto 63e1252539
Speech and Emoting components (#3075)
* Add Speech and Emoting components.

* makesentient gives you speech and emoting abilities.

* Ghosts do *not* need a SpeechComponent.

* I hate you all, and I hate shared code as well.
2021-02-05 17:01:54 +01:00
DrSmugleaf b62cc84e8c
Add destructible component threshold triggers (#3080)
* WIP changes

* Fix tests, merge conflict and trigger once behavior

* Update yml

* Change test strings to be consts

* Fix total damage types and classes triggers

* Simplify damage trigger logic, move state to Threshold

* Update outdated code and docs

* Change the name of IBehavior back to IThresholdBehavior

* Change human gibbing to trigger at 400 brute damage

* Change gibbing from brute to blunt damage

* Fix one (1) typo

* Add damage class trigger test

* Add missing nullable enable to thresholds
2021-02-05 13:41:05 +01:00
Metal Gear Sloth 9640c33210 Fix strippable crash 2021-02-05 18:46:09 +11:00
Paul 856b293d87 Merge branch 'master-upstream' into expl_int_analyzer
# Conflicts:
#	Content.Server/GameObjects/Components/Body/Part/BodyPartComponent.cs
#	Content.Server/GameObjects/Components/Botany/PlantHolderComponent.cs
#	Content.Server/GameObjects/Components/Chemistry/PillComponent.cs
#	Content.Server/GameObjects/Components/Interactable/TilePryingComponent.cs
#	Content.Server/GameObjects/Components/Items/FloorTileItemComponent.cs
#	Content.Server/GameObjects/Components/Items/RCD/RCDAmmoComponent.cs
#	Content.Server/GameObjects/Components/Items/RCD/RCDComponent.cs
#	Content.Server/GameObjects/Components/Medical/HealingComponent.cs
#	Content.Server/GameObjects/Components/Power/WirePlacerComponent.cs
#	Content.Shared/Chemistry/Solution.cs
2021-02-04 17:50:28 +01:00
Paul d5cd82de60 explicit interface go brrrr 2021-02-04 17:44:49 +01:00
Vera Aguilera Puerto 655316a67c
Add playback slider to instruments. (#3071) 2021-02-04 13:37:26 +01:00
tmtmtl30 735c6159d8
Removes SmallImpassable from melee swing collision mask (#3036)
* Alters melee swing collision mask.

* Part one...

* Part two.
2021-02-04 22:13:13 +11:00
DrSmugleaf 82a97857ac
Move TagComponent from server to shared (#3076)
* Move TagComponent to shared

* Fix test

* Not a web edited commit

No sir

* Update Content.Shared/GameObjects/Components/Tag/TagComponentState.cs

Co-authored-by: metalgearsloth <31366439+metalgearsloth@users.noreply.github.com>
2021-02-04 21:04:19 +11:00
20kdc b9aa789bc4
Pressure & volume pumps can be toggled on/off now. (#3046)
This tidbit might or might not be suitable for a separate component.
Tell me in PR comments I guess.
2021-02-04 20:47:04 +11:00
Pieter-Jan Briers 29918b2810 Fix suspicion round end timer, actually show it. 2021-02-04 04:16:36 +01:00
Pieter-Jan Briers a4563d2e75 Fix uplink item spawning.
Actually spawns for the person who USES the uplink, not who owns it. Can't believe that was an actual bug.

Also puts it in your active hand if possible.
2021-02-04 01:24:46 +01:00
Remie Richards d45835e863
Janitor trashbag upgrade + FANCY ANIMATIONS (#3058)
* Janitor trashbag upgrade + FANCY ANIMATIONS

* Review, Bug fixes and Sounds
- Fixed hand-pickup animation playing if the entity originated from inside a container (e.g. bag on the ground) or from inside ourselves (e.g. something in our own inventory)

* Fix/Change. Just log if AnimateEntityPickup is called with an entity that has no SpriteComponent.

* More explicit log message. Error log.

* Merge. Fix.
2021-02-03 23:07:13 +01:00
Radrark 937e261867
Add Smoke and Foam chemical reaction effects. (#2913)
* Adds smoke reaction effect

* smoke tweaks

* address reviews

* Smoke fix

* Refactor smoke and add foam

* Fix stuff

* Remove thing

* Little things

* Address some comments

* Address more things

* More addressing

* License stuff

* Address refactor request

* Small things

* Add nullability

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

Co-authored-by: Paul Ritter <ritter.paul1@googlemail.com>
2021-02-03 15:26:46 +01:00
metalgearsloth 684ec60be6
Pausing content (#3061)
* Change EntityQuery to not retrieve paused by default

* GetAllComponents

Co-authored-by: Metal Gear Sloth <metalgearsloth@gmail.com>
2021-02-04 00:20:48 +11:00
Pieter-Jan Briers c40ac26ced
A big hecking chemistry-related refactor. (#3055)
* A big hecking chemistry-related refactor.

Changed SolutionContainerCaps. It now describes "stock" behavior for interacting with solutions that is pre-implemented by SolutionContainerComponent. As such things like syringes do not check it anymore (on themselves) to see "can we remove reagent from ourselves". That's assumed by it... being a syringe.

SolutionContainerCaps now has different flags more accurately describing possible reagent interaction behaviors.

ISolutionInteractionsComponent is the interface that describes the common behaviors like "what happens when injected with a syringe". This is implemented by SolutionContainerComponent but could be implemented by other classes. One notable example that drove me to making this interface was the /vg/station circuit imprinter which splits reagent poured in into its two reservoir beakers. Having this interface allows us to do this "proxying" behavior hack-free. (the hacks in /vg/ code were somewhat dirty...).

PourableComponent has been replaced SolutionTransferComponent. It now describes both give-and-take behavior for the common reagent containers. This is in line with /vg/'s /obj/item/weapon/reagent_containers architecture. "Taking" in this context is ONLY from reagent tanks like fuel tanks.

Oh, should I mention that fuel tanks and such have a proper component now? They do.

Because of this behavioral change, reagent tanks DO NOT have Pourable anymore. Removing from reagent tanks is now in the hands of the item used on them. Welders and fire extinguishers now have code for removing from them. This sounds bad at first but remember that all have quite unique behavior related to this: Welders cause explosions if lit and can ONLY be fueled at fuel tanks. Extinguishers can be filled at any tank, etc... The code for this is also simpler due to ISolutionInteractionsComponent now so...

IAfterInteract now works like IInteractUsing with the Priority levels and "return true to block further handlers" behavior. This was necessary to make extinguishers prioritize taking from tanks over spraying.

Explicitly coded interactions like welders refueling also means they refuse instantly to full now, which they didn't before. And it plays the sound. Etc...

Probably more stuff I'm forgetting.

* Review improvements.
2021-02-04 00:05:31 +11:00
Vera Aguilera Puerto 46790c5fea Updates "setmind" command to use the new console API 2021-02-02 13:41:21 +01:00
20kdc b746116825
Command "setmind", so admins can forcibly relocate other players. (#3067)
Y'all just know an admin is going to abuse this like Make Sentient/Control Mob, but oh well
2021-02-02 12:21:16 +01:00
collinlunn a5492bc943
More power nullability (#3070) 2021-02-02 12:20:24 +01:00
DrSmugleaf b0482dcb63
Add tag component and test (#2761)
* Add tag component and test

* Remove 0 capacity

* Add tag component extensions

* Change tags to be prototypes

Co-authored-by: Vera Aguilera Puerto <6766154+Zumorica@users.noreply.github.com>
2021-02-02 12:11:04 +11:00
Acruid 8b5d66050a
Console Unify API Changes (#3059)
* Remove unused IChatCommand.

* Lots of refactoring into a shared context.

* Removed ICommonSession from server concmd Execute.

* Added argStr parameter to concmd execute.

* The execute function of client concmds now returns void, use the new shell.RemoteExecuteCommand function to forward commands.

* Finally move shells and commands into shared.

* Console commands can now be registered directly without a class in a shared context.

* Engine API Changes.

* Repair rebase damage.

* Update Submodule.
2021-02-01 16:49:43 -08:00
20kdc 80ad2ef5b7
Botany composting & shovel/spade (or, make botany sustainable) (#3064)
* Botany: Introduce shovel and spade into hydro\_tools

* Botany: Add shovel/spade (just removes plants)

* Botany: Add shovel/spade lathe recipes and make all botany lathe recipes accessible

* Botany: Add spade into Saltern

* Botany: Give Saltern a bucket for the botanist

* Botany: Plant produce can be composted for nutriment/etc.

* Botany: Bye-bye duplicated force update code, hello ForceUpdateByExternalCause

* Botany: Shovel identity crisis resolved (thanks Paul)
2021-02-01 23:46:20 +01:00
20kdc 633a6b3ab9
Walls, catwalks, table frames can no longer be constructed rotated. (#3057)
* Walls, catwalks, table frames can no longer be constructed rotated.

This should help prevent bugs from unanticipated rotations.

* SnapToGrid ZeroRotation (now SouthRotation) - Stuff must face south apparently
2021-02-01 21:58:47 +01:00
bhespiritu 6b6ddd0a73
update UpdateVisuals to use Destructible thresholds (#3051)
* update UpdateVisuals to use Destructible thresholds

* refactor windows to use Destructible threshold instead of maxDamage
2021-02-01 17:22:50 +01:00
collinlunn b51b8cb182
Some Power nullable & ComponentDependency (#3050)
* Power nullability

* AME nullability

* re-adds EnsureComponents

* conflict fix

* Update Content.Server/GameObjects/Components/Power/PowerNetComponents/RadiationCollectorComponent.cs

Co-authored-by: Paul Ritter <ritter.paul1@googlemail.com>

* Update Content.Server/GameObjects/Components/Power/PowerNetComponents/BatteryStorageComponent.cs

Co-authored-by: Paul Ritter <ritter.paul1@googlemail.com>

* Update Content.Server/GameObjects/Components/Power/PowerNetComponents/BatteryStorageComponent.cs

Co-authored-by: Paul Ritter <ritter.paul1@googlemail.com>

* Update Content.Server/GameObjects/Components/Power/PowerNetComponents/BatteryDischargerComponent.cs

Co-authored-by: Paul Ritter <ritter.paul1@googlemail.com>

* Update Content.Server/GameObjects/Components/Power/PowerNetComponents/BatteryDischargerComponent.cs

Co-authored-by: Paul Ritter <ritter.paul1@googlemail.com>

* removes duplicate component assignment

Co-authored-by: py01 <pyronetics01@gmail.com>
Co-authored-by: Paul Ritter <ritter.paul1@googlemail.com>
2021-02-01 17:19:43 +01:00
py01 c80efdaf44
Node and NodeGroup nullability (#3047)
Co-authored-by: py01 <pyronetics01@gmail.com>
2021-01-29 13:21:08 +11:00
py01 4bf61770e1
Piping nullability (#3048)
Co-authored-by: py01 <pyronetics01@gmail.com>
2021-01-29 13:20:13 +11:00
Pieter-Jan Briers 67e1da4cc2 Syringes now automatically switch between draw/inject when emptied/filled up fully. 2021-01-25 02:10:23 +01:00
Pieter-Jan Briers 961f80254d You now stop breathing while in crit. 2021-01-24 16:38:01 +01:00
Pieter-Jan Briers 526c3d1ebf You can now rig power cells to explode.
VERY funny.
2021-01-24 16:21:18 +01:00
Pieter-Jan Briers 436694e376 Explosions can be spawned at any coordinate, play sound again. 2021-01-24 16:06:03 +01:00
Pieter-Jan Briers c947bb75e6
You feel a tiny prick (Hypospray) (#3034) 2021-01-24 14:18:12 +01:00
py01 72b5ae9468
GasGeneratorComponent (#3029)
* GasGeneratorComponent

* gas generator sprite

* component comment

* replace the other typeof with nameof

* Update Resources/Textures/Constructible/Atmos/gasgenerator.rsi/meta.json

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

* Update Resources/Prototypes/Entities/Constructible/Ground/gasgenerator.yml

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

* Update Content.Server/GameObjects/Components/Atmos/Piping/GasGeneratorComponent.cs

Co-authored-by: Paul Ritter <ritter.paul1@googlemail.com>

* Update Content.Server/GameObjects/Components/Atmos/Piping/GasGeneratorComponent.cs

Co-authored-by: Paul Ritter <ritter.paul1@googlemail.com>

* specifies physics component

* comments

Co-authored-by: py01 <pyronetics01@gmail.com>
Co-authored-by: metalgearsloth <31366439+metalgearsloth@users.noreply.github.com>
Co-authored-by: Paul Ritter <ritter.paul1@googlemail.com>
2021-01-24 19:42:33 +11:00
20kdc e53ae365a3
Get rid of the OverlayEffectsComponent stuff (#3010)
* Get rid of the OverlayEffectsComponent stuff because it just ended up creating workarounds for it's bugs, without removing any functionality

* Flashes and Flashbangs use the same code now (the Flashable path because it's better)
2021-01-24 19:17:45 +11:00
Paul 5f6d2d50ba fix cause of renaming of proj 2021-01-23 22:45:23 +01:00
Pieter-Jan Briers 148c8daeb6 Adds 15/20/30 buttons to chem dispenser. 2021-01-23 20:27:45 +01:00
Paul eca029a278 adds attr 2021-01-23 20:00:29 +01:00
Paul cd5b6ecc90 Merge branch 'master-upstream' into expl_int_analyzer 2021-01-23 19:09:18 +01:00
Pieter-Jan Briers 1eb5af6449 Adds ClumsyComponent.TryRollClumsy helper method. 2021-01-23 17:54:58 +01:00
Pieter-Jan Briers 6635054cac Attacks now re-orients players like interactions so. 2021-01-23 17:50:48 +01:00
Pieter-Jan Briers 85fcf7290c Clean up terrible solution entity reaction copy pasta. 2021-01-23 16:49:22 +01:00
Pieter-Jan Briers ae91059c0b Adds "Add Reagent" admin verb. 2021-01-23 16:45:20 +01:00
Pieter-Jan Briers fd7fcbadda Transfter 2021-01-22 23:04:20 +01:00
Alex Evgrashin 02ea6ce57c
Toilet (#3012)
* Ported sprites from eris

* Added yml

* lid open/close logic

* interactivity

* Working on new secret stash component

* Object will drop on destruction

* Can get item and examine message

* Reagent container and some cleaning

* Moved potted plant to stash

* New base prefab

* Now you can deconstruct toilet

* Small fixes

* Fixed unknown components errors

* Fixed grammar errors

Co-authored-by: Paul Ritter <ritter.paul1@googlemail.com>

* Now use prob

* More grammar

* Update Content.Server/Construction/Conditions/ToiletLidClosed.cs

Aaaaaaaa

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

* No delays

* Amazing sound design

* Moved sound to mono

* Toilet viz

Co-authored-by: Paul Ritter <ritter.paul1@googlemail.com>
Co-authored-by: metalgearsloth <31366439+metalgearsloth@users.noreply.github.com>
2021-01-20 18:02:34 +11:00
metalgearsloth 6a41194bc9
Fix buckle drops. (#3023)
Co-authored-by: Metal Gear Sloth <metalgearsloth@gmail.com>
2021-01-20 00:16:41 +11:00
20kdc 6f360b48bf
Stop singularity from pulling ghosts, stop singularity from leaving the pull controller attached (#3021) 2021-01-19 17:35:44 +11:00
py01 a7354f8e0d
DummyWireComponent (#3011)
* DummyWireComponent

* connector wire proto names

* comment fix

* Uses IMapInit

* Removes unused icon components

* Moves component to client

* Renames component

Co-authored-by: py01 <pyronetics01@gmail.com>
2021-01-18 21:51:16 +11:00
komunre 2172d00409
Clusterbang (#2712)
* Code is ready but item now spawning

* Prototype of SeveralExplosive component

* Remaked to FlashExplosiveComponent using

* Done. But i feel myself retarted

* Remaked. Looks good

* Full loaded prototype added

* Throwing in progress. Fatal error is here

* I forgot about shared

* Sloth refactor

* Delayed spawning and fix crashes

* Full clusterbang code.

* Removed useless variable and tuned delay

* Delete wrong  in CreamPiedComponent

* Now yaml is code quality followed

* Reworked to GetLevel with bugs

* Never forget resources, guys

* RoundToLevels added. Now it works.

* New textures and sloth refactor is returned

* Now it's TryGetComponent

* Visualizer maximum fix and look fix

* Logging and no max and min check

* Removed max grenades sending

* vizualizer is better now

* GrenadesMax removed

* grammar, checks, NextFloat and no more try catch

* Unused using removed

Co-authored-by: Metal Gear Sloth <metalgearsloth@gmail.com>
2021-01-18 21:16:34 +11:00
Letter N c30dc030c5
Adds false alarm and updates events code (#2577)
* oops accedentaly ports how ss13 deals with event randomness. Also renames FakeEvent to FalseAlarm!

* thing

* greytide but it's implemented badly

* fixes&changies, also greytide!

* rng actualy exists now

* resync

* Naming Schemes

* Startup not init

* areas are dead

* very cool vsudio

* this does not exist, wtf

* Cleanup

* Nullables, fixables, and timings

Co-authored-by: Metal Gear Sloth <metalgearsloth@gmail.com>
2021-01-18 21:14:53 +11:00
Paul 719d5b7e2b removes unused usingstatements 2021-01-17 21:43:17 +01:00
Paul 883131e315 i feel great pain inside 2021-01-17 18:58:22 +01:00
py01 e759a8aec9
Filter sprites & visualizer (#3008)
Co-authored-by: py01 <pyronetics01@gmail.com>
2021-01-17 16:10:22 +01:00
Pieter-Jan Briers 9d5e85ba1e Add support for map UID persistence to mapping commands.
Requires submodule update but does not break if not availabnle.
2021-01-17 15:53:55 +01:00
Pieter-Jan Briers 84eeba8e42 Fix mapping command throwing. 2021-01-17 15:53:55 +01:00
20kdc f85fc6b370
Buckle/Unbuckle icons (#3014) 2021-01-17 15:41:52 +01:00
Swept 5a248bdd86
Hotfixes thrown item damage (#3013)
* Initial

* A

* Bye bye!
2021-01-17 19:32:31 +11:00
20kdc bca0f7b1b0
Singularity Engine: Containment field emitters emit soft light (#3004)
* Singularity Engine: Containment field emitters emit light, making use of soft shadows

* Singularity Engine Containment Emitter Lights: Clean up component dependencies & remove now-useless point light enable check
2021-01-16 20:13:11 +01:00
Pieter-Jan Briers e51f74a1f1 Fixed some map saving bugs with ID cards/PDAs. 2021-01-15 17:20:02 +01:00
py01 138cdaba5b
Enable nullable in ReactionPrototype & ReagentPrototype (#3005)
* Enable nullable in ReactionPrototype & ReagentPrototype

* Remove unecessary sets

* Fix updates branch

* Review fixes

Co-authored-by: py01 <pyronetics01@gmail.com>
2021-01-15 16:40:10 +11:00
metalgearsloth b6d97b6068
Add helper to send entity to ghost (#3003)
Co-authored-by: Metal Gear Sloth <metalgearsloth@gmail.com>
2021-01-14 20:43:31 +11:00
Manel Navola f7ac546f39
Added suicide for Crematorium and Recycler, soft fixed Recycled gibbing (#2610)
* Added suicide for Crematorium and Recycler, soft fixed Recycled gibbing

* Renamed _cancelToken to _cremateCancelToken, made _cremateCancelToken nullable

* Update Content.Server/GameObjects/Components/Morgue/CrematoriumEntityStorageComponent.cs

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

* Added Ownder.Deleted check inside timer

* Added TODO gibbing comments

* Removed innecessary code and removed deleting entities when getting 'gibbed'

* Fix ghosting with gibbing.

Co-authored-by: Manel Navola <ManelNavola@users.noreply.github.com>
Co-authored-by: metalgearsloth <31366439+metalgearsloth@users.noreply.github.com>
Co-authored-by: Metal Gear Sloth <metalgearsloth@gmail.com>
2021-01-14 18:57:24 +11:00
Paul Ritter ce096f9c51
ports over datasets (#2663)
* ports over datasets & ignores the dataset prototype clientside

* moved dataset to shared

Co-authored-by: Paul <ritter.paul1+git@googlemail.com>
2021-01-14 18:08:55 +11:00
py01 4c80082555
Reaction sound re-added (#2990)
* Reaction sound re-added

* Moves reaction sound file to reaction prototype

Co-authored-by: py01 <pyronetics01@gmail.com>
2021-01-14 18:06:23 +11:00
Vera Aguilera Puerto 6a19dd9f02
You can no longer move a PC entity unless it has a PlayerInputMover (#2987) 2021-01-14 14:24:43 +11:00
py01 1f18dd568a
GasFilterComponent (#2935)
* GasFilterComponent

* Client ignore component

* Diff fixes

* diff fix 2

Co-authored-by: py01 <pyronetics01@gmail.com>
2021-01-13 23:15:53 +01:00
Pieter-Jan Briers af1838c641 Fix hunger not updating thresholds correctly from rejuvenate. 2021-01-12 21:24:18 +01:00
Pieter-Jan Briers 052ea49884
Implement magboots. (#2988)
Got an alert and action and everything.
2021-01-11 19:24:09 +01:00
metalgearsloth acb3c72d99
Drag changes (#2487)
* Drag changes

* Higlights only show near cursor
* Don't highlight un-droppable entities
* Fixes invalid highlights issue

* Also the scanner

* 2 months fix

* Address reviews

Co-authored-by: Metal Gear Sloth <metalgearsloth@gmail.com>
2021-01-11 22:14:01 +11:00
Pieter-Jan Briers 067397c713 Cache Enum.GetValues(typeof(Priority)) in PowerNetNodeGroup 2021-01-11 11:30:17 +01:00
Paul d3dda274e3 fixes blockgamearcadecomponent runtime 2021-01-11 10:59:19 +01:00
Pieter-Jan Briers d950e5a5a0 Fix exception on looking up verbs for a laser gun with cell removed. 2021-01-11 10:39:40 +01:00
Pieter-Jan Briers f7a7303792 Fix server exception on emptying a StackComponent.cs. 2021-01-11 09:57:59 +01:00
Pieter-Jan Briers 96b21ffd1d Fix nullable errors with AfterInteract in UtensilComponent. 2021-01-11 09:36:21 +01:00
Pieter-Jan Briers 99727e8bc3 Fix AfterInteract not being awaited correctly in InteractionSystem 2021-01-11 09:30:18 +01:00
Pieter-Jan Briers 1becff68b9 Fix warnings about lacking StorableComponent on map reset. 2021-01-11 09:26:25 +01:00
Pieter-Jan Briers 374b100a5e Use IGameTiming for lobby timing instead of DateTime.
Fixes #1681
2021-01-11 09:04:09 +01:00
Pieter-Jan Briers b36d22128a Fix ghosts throwing exception on round restart.
Done by re-organizing the cleanup sequence so that players are moved back to lobby and have their mind wiped *before* entities are deleted.

The mind system always tries to ensure players have a ghost even in the most wacky circumstances like entity deletion. This goes contrary to the fact that we need to delete all entities to clean the game state. So cleaning all the minds should be done first.
2021-01-11 09:04:09 +01:00
ShadowCommander 2249081443
Fix traitor identification overlay (#2978) 2021-01-11 00:50:04 +01:00
Ygg01 c01b1d5c05
Add cigarettes and matches to SS14 (#2522)
* Add resources for cigs/matches

* Add files for cigarettes

* Remove Shared Components

* Applied some of the suggestions

* Change priority to allow matches to be set alight by matchbox

* Added item for pack of cigars

* Add swepts resources. Fix naming

* Fix naming, implement suggestions.

* Addressed Paul's suggestions

* Remove unused resources

* Fix Paul's suggestions
2021-01-11 00:17:28 +01:00
Vera Aguilera Puerto 2a5fda5198 Fix being gibbed when commiting suicide or ghosting while crit'd 2021-01-10 20:52:11 +01:00
Vera Aguilera Puerto 12c733654c
Basic gibbing (#2973)
* Adds gibbing

* Adds adminbused absurd-damage foamblade

* Sane parts

* BaseOrgan -> BaseMechanism

* Do not do random offset on shared, fix killing oneself with click attacks

* BaseMechanism -> BaseHumanOrgan -> *stuff*

* Account for prediction, again

* Add gibbing sound
2021-01-10 20:12:34 +01:00
Vera Aguilera Puerto 8def38aed4
SetAnchor debug command and verb (#2972) 2021-01-10 20:08:07 +01:00
Vera Aguilera Puerto ad5192695f
Adds verb and command to make any entity "sentient" (player-controllable) (#2970)
* Adds verb and command to make any entity "sentient" (player-controllable)

* oops
2021-01-10 20:07:54 +01:00
Vera Aguilera Puerto 5ec8e81ddb Fixes syringe/injector item status volume not being updated correctly.
Fixes #2843
2021-01-10 16:21:09 +01:00
Vera Aguilera Puerto 3157da2db7 Bottles break when thrown and spill their contents on the ground.
Fixes #2918
2021-01-10 16:10:28 +01:00
Vera Aguilera Puerto 654cca13bf Fixes disposals not flushing down stuff.
Fixes #2933
2021-01-10 16:01:16 +01:00
Vera Aguilera Puerto 39c220c433 Rehydratable component attaches spawned entities to grid or map.
Also fix crash when injecting rehydratable with a solution.
- Fixes #2969
2021-01-10 15:40:47 +01:00
metalgearsloth d403a7fab4
Fix NPC shutdown crash (#2971)
Co-authored-by: Metal Gear Sloth <metalgearsloth@gmail.com>
2021-01-10 15:24:03 +01:00
Morshu32 7bfdf30268
Add PlaceCentered bool to PlaceableSurfaceComponent (#2771)
* Added bool _placeCentered to check if an entity must be placed at mouse position or center of the PlaceableSurface (+ offset) when dropped.

* private variables formatted to camel case

* Use EqualsApprox in the setter for PositionOffset

* -Changed client-side SurfaceComponent to camelCase
-Added placeCentered and positionOffset to PlaceableSurfaceComponentState
-Getter and setters for placeCentered and positionOffset client-side

* Update Content.Client/GameObjects/Components/PlaceableSurfaceComponent.cs

Co-authored-by: Vera Aguilera Puerto <6766154+Zumorica@users.noreply.github.com>

* Add "_" to private vars name

* Made YAML properties camelCase

* Add "_" to private vars name

* Call Dirty() when IsPlaceable,PlaceCentered and PositionOffset are changed.

* Removed Dirty() from client.

Co-authored-by: Vera Aguilera Puerto <6766154+Zumorica@users.noreply.github.com>
2021-01-10 23:07:33 +11:00
py01 7bf80fd4b8
SolutionContainer refactors (#2954)
* removes unused method

* Code uncluttering (Also removed the netcode, color code, and visuals, need to rewrite)

* SolutionContainerVisualState

* Removes caching of SolutionContainer Color

* ChemicalsAdded() and ChemicalsRemoved() for updating appearance and handling reaction checks

* SolutionContainerComponentState

* Netcode

* ChemMasterComponent no longer creates a SolutionContainerComponent with new(), uses a Solution instead

* Enable nullable in SolutionContainer implementations

* Some review fixes

* uses IReadOnlyLists in ChemMaster

* Comments

* review fixes 3

* ReagentUnit documentation

* Review fixes

* spelling fix

* spelling 2

* typo

Co-authored-by: py01 <pyronetics01@gmail.com>
2021-01-10 19:41:55 +11:00
Vera Aguilera Puerto 0b7f286cf3 setoutfit doesn't do mob checks anymore.
Fixes bug where trying to setoutfit a dead/stunned mob would drop the new outfit on the ground, alongside the old outfit.
2021-01-09 22:29:59 +01:00
Vera Aguilera Puerto d709695263 Disarm popup entity name fix 2021-01-09 21:38:29 +01:00
Vera Aguilera Puerto d81a5faac4
Adds disarm action (#2950)
* Adds disarming

* Disarm acts

* yaml

* much better icon for disarm

* Apply Remie's suggestions, improve code!
2021-01-09 20:31:34 +01:00
Vera Aguilera Puerto 7986c0ff73 Fix knockdown help sound 2021-01-09 12:17:36 +01:00
Radrark 670d277963
Refactors the CargoOrderDataManager into the CargoConsoleSystem (#2858)
* Update submodule

* Refactor CargoOrderDataManager into CargoConsoleSystem

* Fix OnRemove event

Co-authored-by: Radrark <null>
2021-01-08 21:11:09 -08:00
ZeWaka 75c4ed6a09
Makes lightbulbs destructible (#2955)
* Renames WindowBreak soundCollection to GlassBreak

* Implements destructible lightbulbs
moved the parent to the top as well

* Fixes the old `glassbreak` soundCollection, renames it

* Deletes the windows.yml version of glassbreak

* Fixes the sound for bulbs being thrown

* Removes name from abstract lightbulb

* Implements IDestroyAct for lightbulbs

* Implements onBreak for lightbulbs

* Lights get damaged by getting hit and throwing

* Lights now have an intermediate 'broken' state before destruction
2021-01-09 02:06:36 +01:00
py01 b46b890618
Removes half-implemented ConduitLayer from piping (#2957)
Co-authored-by: py01 <pyronetics01@gmail.com>
2021-01-09 10:05:29 +11:00
Metal Gear Sloth e84e387972 Fix force-running station events 2021-01-09 09:58:42 +11:00
Leo 8eb96cfb01
Add setoutfit command (#2874)
* Add setoutfit command

* Adds setoutfit as a verb and adds a proper UI to the command

* Removes from AdminMenuWindow

* Changes the SetOutfit verb to be a component verb instead of a global verb

* Addresses reviews

* Remove empty method

* Remove on server aswell
2021-01-08 14:29:08 +01:00
Swept 6eeaa58988
HandheldLights no longer drain their batteries in 20 seconds. (#2942)
* Initial

* Update Content.Server/GameObjects/Components/Interactable/HandheldLightComponent.cs

Co-authored-by: metalgearsloth <31366439+metalgearsloth@users.noreply.github.com>
2021-01-07 21:35:39 +11:00
py01 8fa8de36ed
PipeNetDeviceComponent refactor (#2912)
* Removes inheritance of PipeNetDeviceComponent

* Enables nullable in piping

* Piping error messages report the prototype

* Moves PipeNetDevice updating to ComponentMessage

* Build fix

* Review fixes

* review fix 2

Co-authored-by: py01 <pyronetics01@gmail.com>
2021-01-07 17:37:17 +11:00
py01 2b195fccb9
Chemical reaction refactor (#2936)
* Moves ContainsReagent from SolutionContainer to Solution

GetMajorReagentId from SOlutionContainer to Solution

Makes capability checks use HasFlag

Moves Solution Color calculation from SolutionContainer to Solution

Replaces SolutionContainerCaps.NoExamine with CanExamine

Misc SolutionContainer.Capabilities yaml cleanup

* Moves IReactionEffect from server to shared

* Moves ReactionPrototype from server to shared

* Moves SolutionValidReaction from SolutionContainer to ChemicalReactionSystem

* Moves PerformReaction from SolutionContainer to ChemicalReactionSystem

* Moves CheckForReaction from SolutionContainer to ChemicalReactionSystem

* Removes unused SolutionContainer methods

* Removes now-unused GetMajorReagentId from SOlutionContainer

* ChemicalReactionSystem comments

* Replaces usage of SolutionContainer.ContainsReagent and replaces it with SolutionContainer.Solution.ContainsReagent

* ChemicalReactionSystem ProcessReactions

* Moves ExplosionReactionEffect to shared, comments out server code, TODO: figure out how to let ReactionEffects in shared do server stuff

* Fixes SolutionContainer.CheckForReaction infinite recursion

* Moves IReactionEffect and ExplosionReactionEffect back to server

* Moves ChemicalReactionSystem and ReactionPrototype back to server

* Uncomments out Explosion code

* namespace fixes

* Moves ReactionPrototype and IReactionEffect from Server to Shared

* Moves ChemicalReactionSystem from Server to Shared

* ChemicalReaction code partial rewrite

* Moves CanReact and PerformReaction to Solution

* Revert "Moves CanReact and PerformReaction to Solution"

This reverts commit bab791c3ebd0ff39d22f2610e27ca04f0d46d6b8.

* Moves ChemistrySystem from Server to Shared

* diff fix

* TODO warning

Co-authored-by: py01 <pyronetics01@gmail.com>
2021-01-07 17:31:43 +11:00
mirrorcult 7977992e5a
Add kitchen knife & sliceable foods (#2891)
* sliceable food, kitchen knives

* sprite fixes, sounds

* add to vendor

* address reviews

* address reviews

* stereo -> mono

* fix wrong amount of nutriment being removed

* oops im dumb

* meta.json

* fix merge

* probably fix test

* remove all instances of [ComponentReference(typeof(IAfterInteract))]

Co-authored-by: cyclowns <cyclowns@protonmail.ch>
2021-01-07 12:48:08 +11:00
py01 2d1fe31bce
SolutionContainerComponent refactors (#2746)
* Moves ContainsReagent from SolutionContainer to Solution

* GetMajorReagentId from SOlutionContainer to Solution

* Makes capability checks use HasFlag

* Moves Solution Color calculation from SolutionContainer to Solution

* Replaces SolutionContainerCaps.NoExamine with CanExamine

* Misc SolutionContainer.Capabilities yaml cleanup

* Removes HasFlag usage in SolutionContainerComponent

Co-authored-by: py01 <pyronetics01@gmail.com>
2021-01-06 13:31:41 +01:00
metalgearsloth 482106e827
Optimise handheld lights (#2927)
* Optimise handheld lights

* Woops also these

* Might as well do shutdown too

* Also these

Co-authored-by: Metal Gear Sloth <metalgearsloth@gmail.com>
2021-01-06 12:50:49 +01:00
metalgearsloth 2bd4bf12a4
Utensils changes (#2929)
* Utensils changes

* Burn it all

Co-authored-by: Metal Gear Sloth <metalgearsloth@gmail.com>
2021-01-06 12:49:19 +01:00
Swept 196e6d2f45
Plays rustle sound when inserting or opening a backpack. (#2890)
* SoundCollection

* Works

* Applied review

* Waah

* Working

* e

* Adjust sound collection serialization

Co-authored-by: Metal Gear Sloth <metalgearsloth@gmail.com>
2021-01-05 16:34:53 +11:00
DrSmugleaf e7eb23a9b0
Fix some of the build (#2894)
* THIS TIME FOR REAL

* Fix build

* Bring back old power code

* Remove debugger break

Co-authored-by: AJCM <AJCM@tutanota.com>
2021-01-05 15:36:25 +11:00
py01 1032576a20
Replaces AnchoredChanged C# event with ComponentMessage (#2905)
* Replaces AnchoredChanged C# event with ComponentMessage

* Removes unneeded fields

Co-authored-by: py01 <pyronetics01@gmail.com>
2021-01-05 15:32:59 +11:00
Leo 447f0af6c2
Allows admins to see deadchat and adds a toggle for deadchat for admins and ghosts (#2904) 2021-01-04 09:25:33 +01:00
Pieter-Jan Briers c1f53a4303 Clean up a ton of bugs with suspicion. 2021-01-04 09:18:28 +01:00
Vera Aguilera Puerto 9c2aaef73a
Makes accept cloning message use Eui (#2910) 2021-01-03 17:20:17 +01:00
Swept 81730e2612
Backpack preferences. (#2864)
Co-authored-by: Pieter-Jan Briers <pieterjan.briers+git@gmail.com>
2021-01-03 16:22:14 +01:00
Leo 57b049d173
Adds DSay command (#2901)
* DSay command

* Moves getting the clients from DeadChat and AdminDeadChat to a function
2021-01-03 16:13:31 +01:00
py01 32f04fd7ca
Replaces PowerReceiver's C# event with a ComponentMessage (#2888)
Co-authored-by: py01 <pyronetics01@gmail.com>
2021-01-03 16:13:01 +01:00
Pieter-Jan Briers 914a214a19 Fix setgamepreset command not updating status correctly. 2021-01-03 15:34:46 +01:00
Vera Aguilera Puerto 318f82ab30 Fixes aghost spam creating many admin ghosts.
- Also gives aghosts their character/player name
2021-01-03 15:32:53 +01:00
py01 6d9d7f751e
Fixes ApcNetTest (#2895)
Co-authored-by: py01 <pyronetics01@gmail.com>
2021-01-03 03:48:33 +01:00
Vera Aguilera Puerto 85add420b0
Destructible spawning fix redux (#2892)
* Fix SpawnEntitiesBehavior crash and add test

* Fix comparer, add duplicated behavior

Turns out this isn't Java

* Threshold behaviors are now "linearly" executed

* Fixes YAML threshold behaviors to be linear

Co-authored-by: DrSmugleaf <DrSmugleaf@users.noreply.github.com>
2021-01-02 20:06:00 +01:00
Daniel Castro Razo cc4669244d
Fixes to explosionhelper (#2819)
* Revert "Make handheld explosives affect tiles (#2806)"

This reverts commit 005e142949.

* Fixes tiles being destroyed under walls by an explosion

* Extra imports removed

* Handles explosion in space and different grids

This handle explosions across different grids, and tiles are still protected if there is an entity airtight and currently blocking air on top of them that survived the explosion.

* Some bug fixes

- The way tiles were being protected was silly.
- Big explosions cause a lot of objects to trigger multiple events and at the same time they are destroyed.
- Explosions spawning inside containers like closets work now.

* Range bug fixes

* Explosive

The explosion works even if the entity exploding is inside multiple 'layers' of containers like.
bomb -> survival box -> tool box -> closet

* Explosions are different now

Explosion can't jump over walls now.
Explosions work like rays now, if an explosion breaks a wall it can scatter inside the room.
If entities are behind impassable entities that survive the blast  they are left unscathed.

* Little fix

* Remove the extra lookup of tiles

* Another small change

* Restore the second lookup

I thought this was extra, but this protects the tile under it if there is an Impassable entity on top. None wants anchored girders on top of lattice/space

* Changing order of conditions

IsBlockedTurf is cheaper to run than InRangeUnobstructed.

* Yep
2021-01-02 19:03:10 +01:00
Swept cd9e5a590b
Fixes remaining renamed chems (#2889) 2021-01-02 18:05:32 +11:00
py01 a87dda47e9
Removes some linq from power (#2875)
* PowerProviderComponent Linq removal

* AdjacentNode Linq removal

* PipeNode Linq removal

* Replaces HasFlag usage in PipeNode

Co-authored-by: py01 <pyronetics01@gmail.com>
2021-01-02 02:04:10 +01:00
moonheart08 836e2d185a
LV Cables -> APC Cables (#2884)
i used the github web editor
sue me it's just a string
2021-01-01 20:32:29 +01:00
py01 135a65f030
ApcNet code improvements (#2876)
* Removes per-frame setting of PowerReceiverComponent.Powered

* PowerReceiver.SetLoad

Co-authored-by: py01 <pyronetics01@gmail.com>
2021-01-01 18:21:18 +01:00
Vera Aguilera Puerto 4316e2f554
Recycler improvements, add RecyclableComponent as a tag. (#2882)
* Recycler improvements, add RecyclableComponent as a tag.

* nullableeeeeeeeeeee
2021-01-01 18:19:12 +01:00
Vera Aguilera Puerto 8007e3d03b nullableeeeeeeeeeee 2021-01-01 18:17:38 +01:00
Vera Aguilera Puerto cf38e17b7e Shuttle called/recalled announcements and sounds. 2021-01-01 16:34:54 +01:00
Vera Aguilera Puerto d43ca2877a Ghost on mind shutdown fixes, no more ghost stacking at bar.
Fixes #1701
2021-01-01 16:11:17 +01:00
Vera Aguilera Puerto b5fd2ffd6d Recycler improvements, add RecyclableComponent as a tag. 2021-01-01 15:28:58 +01:00
Vera Aguilera Puerto f8d4d4b8d7 Fix bug where ghosts weren't being spawned for players after their attached entity was deleted.
Turns out creating an entity timer for an entity that has been deleted is a bad idea! Who would have thought?
2021-01-01 15:25:09 +01:00
Daniel Castro Razo 633ae5bc90
Fixes Emergency Lights not charging (#2873)
* Fixes Emergency Lights not charging

* Removed extra imports
2021-01-01 14:26:42 +01:00
Vera Aguilera Puerto 483f7f4385
You can now examine Node Containers to see their "connectors" (#2881) 2021-01-02 00:20:23 +11:00
Pieter-Jan Briers de2bdf4630 Fix integration tests race condition. 2020-12-30 01:18:39 +01:00
Paul ed4202c9eb content using robust.analyzers 2020-12-29 16:10:15 +01:00
AJCM-git 13704a255c
Fixes the audio and icon (#2854) 2020-12-28 04:32:48 +11:00
RemberBL be48a25c14
Sound effect plays when an item is thrown (#2767)
* Adds toss.ogg to the project's resources

* Thrown items will now play a sound effect
2020-12-27 20:30:47 +11:00
Swept d595286dcc
Tweaks volume of material per sheet in lathes. (#2852)
* Initial

* Tidies up file structure
2020-12-27 19:22:50 +11:00
Swept 94bb7a165d
Adds a sound effect when you unwrap an AME part (#2832) 2020-12-27 03:11:52 +01:00
AJCM-git 07467db01e
Gets rid of my bad event (#2846) 2020-12-27 02:51:24 +01:00
20kdc 6b5cded8c2
Clothing and pronoun fields (#2689)
* Clothing & Gender fields: Add to database [MODIFIED TO NOT DEPEND ON SAPHIRE-DB-REFACTOR]

Sorry about this, Saphire.

* Clothing & Gender fields: Add UI [FALLBACK II]

* Clothing & Gender fields: Actually apply gender

* Clothing & Gender fields: Import innerclothingskirt field from my previous attempt

Couldn't import actual prototypes because of a change to IDs

* Clothing & Gender fields: Add innerclothingskirt field to everything

* Clothing & Gender fields: Jumpskirts now work

* Clothing & Gender fields: Gender field will follow sex field if it's not different (UX improvement) [FALLBACK II]

* Clothing & Gender fields: Gender -> Pronouns to reduce confusion. Also, fix profile summary. Properly. [FALLBACK II]

* Clothing & Pronoun fields: Refactor so that profile equipment adjustments are performed in StartingGearPrototype.
2020-12-24 14:42:40 +01:00
Radrark b4506b4d08
Makes ghosts able to point through walls. (#2821)
Co-authored-by: BuildTools <unconfigured@null.spigotmc.org>
2020-12-24 14:33:07 +01:00
Pieter-Jan Briers 159f7192df Add alert for low oxygen. 2020-12-23 23:46:01 +01:00
Pieter-Jan Briers 2e6ab15a2a Clean up station events synchronization code.
AAAAAAAAAAAAAAAAAAAAAAAAAAA
2020-12-23 17:08:34 +01:00
Pieter-Jan Briers a5151af4c1 Adds promotehost command to make bootstrapping admin privileges easier. 2020-12-23 17:08:34 +01:00
DrSmugleaf 764465f60c
Separate destructible component threshold into behaviors (#2818)
* WIP changes, add behaviors

* Fix behavior typing, namespace and test

* NO SPACES
2020-12-23 13:34:57 +01:00
daniel-cr 005e142949
Make handheld explosives affect tiles (#2806)
If you are holding the explosive in your hard or inventory, this should make affect the tiles around you. At the moment it only affects entities. I will refactor this class a little more.
2020-12-23 16:31:04 +11:00
Pieter-Jan Briers d31dbec7ea Remove AggressiveInlining abuse from TileAtmosphere.cs. 2020-12-22 18:31:02 +01:00
Pieter-Jan Briers 8e8594063d Optimize allocations in MetabolismComponent and TileAtmosphere 2020-12-22 18:28:54 +01:00
ike709 7f7f22ef5d
APCs now require engineering access (#2795)
* APCs now require engineering access

* Allow if access reader is null
2020-12-22 13:08:35 +01:00
Vera Aguilera Puerto 3b1677ff79 Drinking glasses now break.
- Adds DamageOnLandComponent
- Adds DamageOtherOnHitComponent
- Drinking glasses break on throw.
- Drinking glasses damage others when thrown.
- Glass shards also damage others when thrown.
2020-12-21 13:22:16 +01:00
Vera Aguilera Puerto cf90c77034 Fix transformable containers.
Fixes #2775
2020-12-21 12:49:38 +01:00
Vera Aguilera Puerto d684198b00 Fixes observing from lobby nullspacing people on round restart
Fixes #2791
2020-12-21 12:25:35 +01:00
DrSmugleaf fd258a54d3
Update destructible threshold property casing to follow the rest of the project (#2797)
* Update casing

* Update casing for min/max
2020-12-21 12:11:56 +01:00
DrSmugleaf 38dcc058c7
Add game rule to restart an empty server after 10 minutes (#2787)
* Add game rule to restart an empty server after 10 minutes

* Add missing localization for time running out
2020-12-21 11:59:41 +01:00
Pieter-Jan Briers 5b60d24dcb Merge branch 'xamlui' 2020-12-21 04:14:49 +01:00
Pieter-Jan Briers e6444a1d80 Update submodule, statushost changes, fix missing projects to sln 2020-12-21 04:14:36 +01:00
Vera Aguilera Puerto f52984553b Fix airblocked space tiles venting air
Fixes part of #2780
2020-12-20 23:05:23 +01:00
Pieter-Jan Briers 921f7ab642 Clean up stale preferences data on load at the server.
This fixes further bugs with "nonexistant job selected in character preferences" like the client blowing up in the lobby.
2020-12-20 16:13:45 +01:00
DrSmugleaf 91e2dd2276
Add command to enable the lobby, restart the round and set a preset (#2786) 2020-12-20 04:48:13 +01:00
DrSmugleaf 21dbd50128 Fix build 2020-12-20 04:36:08 +01:00
DrSmugleaf 0172613a7d
Remove wireless surgery (#2785)
* Remove wireless surgery

* Change surgery window title to Surgery

* Remove todo

* Check only tools with a window open
2020-12-20 04:31:39 +01:00
DrSmugleaf a3fdcd3a68 Add EffectBlockerExtensions 2020-12-20 04:31:04 +01:00
DrSmugleaf fcd52fa90c Add ActionBlockerExtensions 2020-12-20 04:26:21 +01:00
DrSmugleaf 026d96fd2d Replace MaybeNullWhen(false) with NotNullWhen(true) 2020-12-20 04:14:41 +01:00
Vera Aguilera Puerto c9e9d9f4dd Instruments have a property for enabling/disabling MIDI limits.
- Added unlimited super synth that doesn't respect MIDI limits! Adminbuse it to your heart's content and blast your epic MIDIs, fellow badmins.
2020-12-20 01:43:29 +01:00
DrSmugleaf d7e489f2b8 Fix EntityTest SpawnTest 2020-12-19 17:11:08 +01:00
GraniteSidewalk 89f8d0f34c
Cargo Telepad (#2579)
* Cargo telepad

* fixes error

* more efficient tile lookup

Co-authored-by: metalgearsloth <31366439+metalgearsloth@users.noreply.github.com>
2020-12-19 13:14:26 +11:00
Pieter-Jan Briers 185923a7da Fix errors. about mommi config variables 2020-12-19 02:34:41 +01:00
Pieter-Jan Briers 9bb42d5251 Don't fail to start server if invalid jobs exist in preferences. 2020-12-18 23:55:29 +01:00
Morshu32 19bd739b0d
PreventCollision with strap component while buckled to it (#2694)
* AvoidCollision if collided entity is the one that the character is buckled to

* Attempt to PreventCollision after the player is unbuckled but still colliding with StrapComponent

* Moved PreventCollide to the Shared script.

* Add WakeBody to keep updating the physics collision while being on a collidable strap component.

* Addressed some of metalgearsloth's suggestions:
- Made EntityBuckledTo,IsOnStrapEntityThisFrame and DontCollide not virtual
-Made EntityBuckledTo nullable
-Don't call update on Paused BuckleComponents
-Removed EntityBuckledTo variable declaration in BuckleComponent because it's not needed anymore
-Call TryUnbuckle if (!IsOnStrapEntityThisFrame && DontCollide) to set BuckledTo entity to null.

* Formatting

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

* Formatting

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

* Formatting again :P

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

* Formatting

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

* Formatting

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

* Renamed variable EntityBuckledTo to LastEntityBuckledTo

* As per DrSmugLeaf suggestion: Added [ComponentDependency] to the Body variable.

Co-authored-by: DrSmugleaf <DrSmugleaf@users.noreply.github.com>
2020-12-18 20:12:53 +01:00
Swept 9c381dc174
Shuttle can be called even when comms console is off (#2763) 2020-12-18 12:42:02 +01:00
daniel-cr a679e691c2
Conveyor Belt appearance when power is off (#2762)
* Conveyor Belt appearance when power is off

If the conveyor belt is running and the power turns off the belt stops pushing things but the animation continues. This changes it so the animation stops if there is no power and resumes when it returns.

* Change from using Initialize, to OnAdd and OnRemove
2020-12-18 18:31:58 +11:00
DrSmugleaf 4e0f52bbaf
Add do after to surgery (#2756)
* Cleanup surgery classes

* Add DoAfter to surgery

* Consolidate doafter, break on user and target move

* Ignore biological surgery data component on the client

* Apply suggestions from code review

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

* Use a stringbuilder  for surgery descriptions

Co-authored-by: metalgearsloth <31366439+metalgearsloth@users.noreply.github.com>
2020-12-18 00:21:43 +11:00
DmitriyRubetskoy 9c26e0c5ba
Async Interface IAfterInteract() (#2735)
* Async Interface

* Update Content.Server/GameObjects/Components/Fluids/MopComponent.cs

Co-authored-by: Paul Ritter <ritter.paul1@googlemail.com>

* Changed the glassbeaker

* Update Content.Shared/Interfaces/GameObjects/Components/Interaction/IAfterInteract.cs

Co-authored-by: Paul Ritter <ritter.paul1@googlemail.com>

* Update Content.Shared/Interfaces/GameObjects/Components/Interaction/IAfterInteract.cs

Co-authored-by: Paul Ritter <ritter.paul1@googlemail.com>

* Interaction system fix

* Removed I from the interface

* Changed all implementations of the interface I could find

* all public void implementation fixed

* All built, no errors should remain

* Update Resources/Prototypes/Entities/Objects/Specific/chemistry.yml

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

* Update Content.Server/GameObjects/Components/Portal/TeleporterComponent.cs

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

* Update Content.Server/GameObjects/Components/ActionBlocking/HandcuffComponent.cs

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

* Commit based off Sloth's commentary

* Removed the Rag file from the PR

* Reverted sloth's commentary changes on the publcity of the function

* Injector component properly implemented interface

* Update Content.Server/GameObjects/Components/Fluids/MopComponent.cs

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

* Update Content.Server/GameObjects/Components/Fluids/SprayComponent.cs

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

Co-authored-by: BlueberryShortcake <rubetskoy234@mail.ru>
Co-authored-by: Paul Ritter <ritter.paul1@googlemail.com>
Co-authored-by: metalgearsloth <31366439+metalgearsloth@users.noreply.github.com>
2020-12-17 18:45:04 +11:00
20kdc d870a13445
Singularity testing map & "startsingularityengine" admin command (#2752)
* Singularity Testing Map: Add a command to auto-config the singularity engine

* Singularity Testing Map: Add the singularity testing map

A derivative of 20kdcstation.
2020-12-17 18:20:57 +11:00
20kdc 91f2f4f599
Fix Antimatter engine maths and overplacing (#2736)
* Antimatter engine parts can't be placed overlapping

* Antimatter engine stability maths fixed

* Antimatter engine: Clean up some unused stuff
2020-12-17 00:31:47 +11:00
chairbender 27d5019df0
Fix server NRE on clicking alerts with no OnClick (#2748)
* #2744 fix NRE on clicking alerts with no OnClick, and don't send the click
message unless the alert has an onclick

* #2744 fix NRE on clicking alerts with no OnClick, and don't send the click
message unless the alert has an onclick
2020-12-16 12:13:57 +01:00
DrSmugleaf 49e6db2b87 Fix nullability for ReadyProfiles in GamePreset 2020-12-16 10:00:10 +01:00
py01 c770c6b37e
ChemicalAmmoComponent (#2739)
* ChemicalAmmoComponent

* Moves BarrelFiredMessage to FireProjectiles

Co-authored-by: py01 <pyronetics01@gmail.com>
2020-12-16 00:38:41 +11:00
Vera Aguilera Puerto 0a50f608c6 Fixes uplink account creation failing if you have any non-antag role.
Fixes #2740
2020-12-15 11:29:11 +01:00
DrSmugleaf a9481bc05f Fix GamePreset newline characters so Rider can sleep easy today 2020-12-14 16:46:56 +01:00
DrSmugleaf d5eb68ac61
Add test for puddle evaporation when paused and unpaused (#2741) 2020-12-14 16:18:37 +11:00
DrSmugleaf 1520acdf5a
Fix the mapping command not pausing the created map (#2742) 2020-12-14 16:16:40 +11:00
chairbender 7a3c281f60
Actions System + UI (#2710)
Co-authored-by: Vera Aguilera Puerto <6766154+Zumorica@users.noreply.github.com>
2020-12-13 23:28:20 +01:00
20kdc fd0df9a00a
Traitor Deathmatch (#2719)
* Traitor Deathmatch: Add the preset [Rebase onto factors line]

* Traitor Deathmatch: Being a human head or other not-quite-fully-animate object counts as dead. [ROFL]

* Traitor Deathmatch: Add redemption machine (but it doesn't work) [ROFL]

* Traitor Deathmatch: Map in redemption machines [ROFL]

* Traitor Deathmatch: Make the rounds end properly [ROFL]

* Traitor Deathmatch: PDA redemption works [ROFL]

* Traitor Deathmatch: New redemption machine sprite ( @Tomeno )

* Traitor Deathmatch: Get rid of redundant using

* Traitor Deathmatch: Change scoring, prevent redeeming your own PDA, fix bug where PDAs are not tagged with their owner names

* Traitor Deathmatch: Better messages, change cvar name, don't count ghosts for spawnpoint selection
2020-12-13 16:00:49 +01:00
20kdc 31b39823ad
Player post-spawn hook and player ghosting controlled by preset (#2734)
* GamePreset: Add a hook to catch all player spawns for modification.

Unless someone makes the entire job system unpluggable, this is what you get...

* GamePreset: Is now in control of voluntary ghosting

* Clean up ghost code to only rely on a player's Mind
2020-12-11 12:10:55 +11:00
Pieter-Jan Briers f2253b1bba
Fix nullable errors in TileAtmosphere.cs 2020-12-10 15:30:28 +01:00
metalgearsloth abed6fc15d
More nullas as errors (#2611)
* More nullas as errors

* I thought I'd tried this but maybe I'm a dumbo

Co-authored-by: Metal Gear Sloth <metalgearsloth@gmail.com>
2020-12-09 23:28:24 +11:00
20kdc 58af9003e7
Canisters [ Continuation of clement-or #2544 ] (#2628)
* Added atmos sprites from CEV-Eris

* Moved canister sprites to appropriate dir

* Removed unnecessary sprites, edited canisters prototype

* Created Gas Canister UI and release pressure buttons

* Changed GasMixture's pressure calculation (convert liters to cube meters)

* Added relabeling Canisters

* Reverted changes on GasMixture

* Changed my name in the credits

* Added valve opening on canisters

* Change canister visual state when connected to a port

* Added nullable to SharedGasCanisterComponent

* Replaced nullable contexts

* Changed again nullable annotation context

* Moved name in the credits to correct alphabetical order

* Canisters: Fix the most blatant issues with this PR (the added project interdependencies for no reason whatsoever)

* Canisters: Stop crashes when canisters leave atmosphere

* Canisters: Gas released into no atmosphere gets transferred "into space" (deleted)

* Atmos: Nullability annotations on TileAtmosphere, explaination of the states of TileAtmosphere.Air

* Canisters: If in an airblocked tile, do NOT release gas

* Scrubbers: Fix typo leading to them not connecting properly.

* Revert manual changes to credits file (sorry!) (1/2)

This reverts commit 94f3b0e5df8d9c2fa189866a17a231920f99bdaf.

* Revert manual changes to credits file (sorry!) (2/2)

This reverts commit 1986fb094dfaa44060f08d280f36b755258d17a6.

* Canisters: Apply @Zumorica 's reviews

* Canisters: Add missing localization as suggested by PJB

Co-authored-by: Pieter-Jan Briers <pieterjan.briers@gmail.com>

* Canisters: Pressure lights!

* Canisters: Light is now unshaded.

* Canisters: Now using IActivate

* Gas canisters (& air canister), now with their numbers properly calibrated (hopefully)

* Canisters: Refactor how their layers are added to be more like ApcVisualizer

* Canisters: Clean up of the tile invalidation/air release logic

* Canisters: Some gas canister window improvements

* Canisters: Clean up release pressure change button label code

Co-authored-by: Clement-O <topy72.mine@gmail.com>
Co-authored-by: Clément <clement.orlandini@gmail.com>
Co-authored-by: Pieter-Jan Briers <pieterjan.briers@gmail.com>
2020-12-08 20:45:24 +01:00
Vera Aguilera Puerto 2b6964746c Adds Invalidate method to TileAtmosphere, clean up a bunch of tile invalidations 2020-12-08 17:36:59 +01:00
py01 656eb7dc2e
ChemicalInjectionProjectileComponent (#2657)
Co-authored-by: py01 <pyronetics01@gmail.com>
2020-12-08 23:19:01 +11:00
py01 cc26218060
MeleeChemicalInjectorComponent (#2645)
* MeleeWeaponComponent OnHittingEntities event

* MeleeChemicalInjectorComponent

* Moves melee onhit action to EventBus

* serialization fix

* prototype fix

* redid chem transfer logic

* MeleeChemicalinjector uses ComponentMessages

* divide by 0 fix

* Update Resources/Prototypes/Entities/Objects/Weapons/Melee/spear.yml

Co-authored-by: py01 <pyronetics01@gmail.com>
Co-authored-by: Vera Aguilera Puerto <6766154+Zumorica@users.noreply.github.com>
2020-12-08 12:57:47 +01:00
DrSmugleaf 89e853d8e2
Make disposal units also flush air (#2686)
* Make disposal units also flush air

* Make disposals use tile.AssumeAir instead of tile.Air.Merge

Co-authored-by: Vera Aguilera Puerto <6766154+Zumorica@users.noreply.github.com>
2020-12-08 12:54:34 +01:00
metalgearsloth fe93f2ac30
Fix thrown throwing (#2723)
Technically some stuff could be dependent upon the entity regardless if it's deleted but this is how ICollideBehavior does it (not by my design) so I figured we'd make it consistent.

If someone really needs the functionality even if it's deleted then they can refactor it.

Co-authored-by: Metal Gear Sloth <metalgearsloth@gmail.com>
2020-12-08 12:21:12 +01:00
DrSmugleaf 074db878bb
Remove redundant null checks for atmos (#2703)
* Remove redundant null checks for atmos

* Remove unnecessary nullability parameter from AtmosphereSystem.GetGridAtmosphere

* Remove more nullability markers

* Bring back null checks for gas tanks

* Remove null checks from GasMixture.Merge and TileAtmosphere.AssumeAir

Co-authored-by: Vera Aguilera Puerto <6766154+Zumorica@users.noreply.github.com>
2020-12-08 12:17:13 +01:00
metalgearsloth a78452c845
Fix disposals do_after (#2722)
* Fix disposals do_after

* DataField instead

* Update Content.Server/GameObjects/Components/Disposal/DisposalMailingUnitComponent.cs

Co-authored-by: Vera Aguilera Puerto <6766154+Zumorica@users.noreply.github.com>

* Update Content.Server/GameObjects/Components/Disposal/DisposalUnitComponent.cs

Co-authored-by: Metal Gear Sloth <metalgearsloth@gmail.com>
Co-authored-by: Vera Aguilera Puerto <6766154+Zumorica@users.noreply.github.com>
2020-12-08 12:17:00 +01:00
20kdc ae57355ce5
Antimatter Engine Crates (#2708)
* Remove the unused light bulb crate that explicitly says it needs to be removed

* Crates/Cargo: Add antimatter reactor crates

* Fix AME crate issues

* Descriptions and prices for AME crates.
2020-12-08 11:58:46 +01:00
DrSmugleaf 2dc05b2275
Add UsedImplicitly to visualizers and entity systems (#2592) 2020-12-08 11:56:10 +01:00
20kdc d75c22d5e1
Add "Begin Deconstruction" verb, unfinished particle accelerator bits will tell you how to finish them (#2706)
* More Construction Pieces: Default construction targets

* More Construction Pieces: Unfinished particle accelerator will tell you how to finish it

* More Construction Pieces: Construction system actually pathfinds any-to-any

* More Construction Pieces: Verb to begin deconstruction of an object
2020-12-08 11:53:37 +01:00
Exp f6d62ada65
Adds popups and sounds to the vending machine deny (#2715)
* -Vending machine deny sound
-And popup

* Comment this

* Change casing
2020-12-08 17:42:43 +11:00
DrSmugleaf 02bca4c0d8
Damage rework (#2525)
* Make damage work through messages and events, make destructible not inherit ruinable or reference damageable

* Copy sound logic to destructible component for now

* Fix typo

* Fix prototype error

* Remove breakable component damageable reference

* Remove breakable construction reference

* Remove ruinable component

* Move thresholds to individual components and away from damageable

* Add threshold property to damageable component code

* Add thresholds to destructible component, add states to damageable, remove damage container, fix up mob states

* Being alive isn't normal

* Fix not reading the id

* Merge fixes

* YAML fixes

* Grammar moment

* Remove unnecessary dependency

* Update thresholds doc

* Change naming of thresholds to states in MobStateComponent

* Being alive is once again normal

* Make DamageState a byte

* Bring out classes structs and enums from DestructibleComponent

* Add test for destructible thresholds

* Merge fixes

* More merge fixes and fix rejuvenate test

* Remove IMobState.IsConscious

* More merge fixes someone please god review this shit already

* Fix rejuvenate test

* Update outdated destructible in YAML

* Fix repeatedly entering the current state

* Fix repeatedly entering the current state, add Threshold.TriggersOnce and expand test

* Update saltern
2020-12-07 14:52:55 +01:00
20kdc 684b942445
FlammableComponent: Fix bug where if an AI ends up on fire an exception occurs because it tries to update status (#2714) 2020-12-06 21:10:56 +01:00
DrSmugleaf 69924ab600 Fix a criminal if in breathing code 2020-12-06 13:27:11 +01:00
DrSmugleaf 639cc86d91 Nanotransen > Nanotrasen
As decreed by PJB
https://discord.com/channels/310555209753690112/675078881425752124/784878237850402826
2020-12-05 21:48:11 +01:00
Vera Aguilera Puerto 2b59159363 Actually fix NRE in atmos. 2020-12-05 20:09:22 +01:00
Vera Aguilera Puerto 74e1deba2f Better nullability for GridAtmosphereComponent 2020-12-05 19:10:07 +01:00
Vera Aguilera Puerto f07bac2cc8 Remove unused machine board field 2020-12-05 19:09:20 +01:00
Vera Aguilera Puerto da39d18637 Fix rare NRE in atmos 2020-12-05 18:57:04 +01:00
Vera Aguilera Puerto 983aa9ed0f Fix tile equalization terrible mistake 2020-12-05 14:19:36 +01:00
Pieter-Jan Briers 0ed1191623
I am not sorry 2020-12-04 13:34:23 +01:00
DrSmugleaf 1b1d050ee7
Update components to use EnsureWarn (#2676)
Co-authored-by: Pieter-Jan Briers <pieterjan.briers+git@gmail.com>
2020-12-04 13:26:54 +01:00
DrSmugleaf 1eaad7e5d7
Fix removehand command when you have no hands (#2685)
Co-authored-by: metalgearsloth <31366439+metalgearsloth@users.noreply.github.com>
2020-12-04 13:17:40 +01:00
DrSmugleaf de0975c228
Add InvalidateTileAir Transform extension method (#2687)
* Add InvalidateTileAir Transform extension method

* Add extension method for EntityCoordinates as well
2020-12-04 12:21:57 +01:00
Vera Aguilera Puerto b0d1d31ccc Makes protolathe use machine parts 2020-12-04 12:05:15 +01:00
ColdAutumnRain 216a47dddc
Updated serializer data fields (#2702) 2020-12-04 11:06:53 +01:00
Pieter-Jan Briers 1112afe700
Remove log spam from EFCore. 2020-12-04 00:35:53 +01:00
Pieter-Jan Briers 8f8345ef7d
Fix admin logout messages for non-admin players.
Fixes #2616
2020-12-04 00:25:57 +01:00
Pieter-Jan Briers f7c8e62cee
Make warning about non-storeables in storage less bad. 2020-12-04 00:15:21 +01:00
Vera Aguilera Puerto c3341132c5
Upgradeable machines. (#2675)
* Start work on upgradeable machines.

* Upgradeable machines work

* Component requirements for upgradeable machines

* Better container handling

* Remember to not push submodule updates in your PRs, kids!

* Refresh parts after building a machine.

* NetSync false

* Address some reviews, fix some bugs

* Nullable stackhelpers dependencies

* Use container helper method to delete all entities in containers

* Nullable string in AddContainer

* Better examine for machine frame and construction in general

* Machine breakage

* Nullable node

* nullable GraphPrototype

* Re-save saltern for autolathe parts

* Fix SaveLoadSave
2020-12-03 22:49:00 +01:00
DrSmugleaf 87f9a6e167
Reorganize commands into the Commands folder (#2679)
* Reorganize commands into the Commands folder

* RIDER
2020-12-03 13:40:47 +11:00
DrSmugleaf cd90bab35c
Add gamerule to restart the round after a max time (#2681)
* Add gamerule to restart the round after a max time

* Add test

* Set default max time to 5 minutes
2020-12-03 13:13:44 +11:00
DrSmugleaf cc61f49de3
Add time limit to SSS (#2682) 2020-12-03 11:49:22 +11:00
DrSmugleaf fa115dbd23
Fix stomach not having a solution container (#2677) 2020-12-03 11:28:35 +11:00
Paul Ritter 45c45af3e3
Remove RuleTraitor unused imports (#2664)
Co-authored-by: Paul <ritter.paul1+git@googlemail.com>
2020-12-02 15:02:06 +11:00
metalgearsloth 0812233f20
"Fix" doors getting stuck ond eny (#2647)
Co-authored-by: Metal Gear Sloth <metalgearsloth@gmail.com>
2020-12-01 18:26:39 +01:00
Vera Aguilera Puerto b8220a3cd6 Fix build and warnings 2020-12-01 17:23:46 +01:00
Paul Ritter f7c09fbd7e
Traitor (#2566)
* basic implementation

* minor fixes

* objectives temp commit

* proper onstart bind

* changes all conditions to be bound to a mind-instance

* oops

* oops v2

* adds possiblity to enable duplicate assignment of objective
equal objectives are unable to be added

* minor fixes, adds greentext

* refactors incompatability to be defined by requirements

* fixes a wrong whitespace

* minor fix

* addressed reviews v1

* address reviews v2

Co-authored-by: Exp <theexp111@gmail.com>

* final sweep

* adds/refactors traitor&sss cvars

* Update Content.Server/Mobs/Mind.cs

* never trust github web

* adds datasets & makes codewords use them

* addresses exp's reviews

* addressed zumos reviews

Co-authored-by: Paul <ritter.paul1+git@googlemail.com>
Co-authored-by: Exp <theexp111@gmail.com>
2020-12-01 17:05:19 +01:00
Vera Aguilera Puerto 602f37e70c Fix lungs having negative moles in gas mixtures 2020-12-01 10:39:12 +01:00
Vera Aguilera Puerto c448a936ef Gas mixture now checks for NaNs, negative numbers and infinity in a bunch of methods. 2020-12-01 10:38:58 +01:00
DrSmugleaf 3722cbfa97
Add remove extra components command (#2640) 2020-12-01 00:00:09 +11:00
DrSmugleaf 4448756050
Add find entities with components command (#2641)
* Add find entities with components command

* Now with latest master technology
2020-11-29 13:31:56 +11:00
20kdc bb22da6827
Atmos Debug Overlay expansion (#2626)
* Atmos Debug Overlay: Add a way of showing blocked directions

* Atmos Debug Overlay: Adjustable modes client-side

* Atmos Debug Overlay: Fix atvrange help text

* Atmos Debug Overlay: More flexible and clear gas ID specification
2020-11-28 14:45:52 +01:00
Víctor Aguilera Puerto cec722e19e
CVars for MIDI instrument limits (#2632)
* CVars for MIDI instruments limits!

* Localize this

* Cache CVars in instrument systems

* better naming

Co-authored-by: Pieter-Jan Briers <pieterjan.briers+git@gmail.com>
2020-11-27 17:12:45 +01:00
Víctor Aguilera Puerto 6bb1e9fa5d
CVars for atmos (#2633)
* Monstermos is a word!

* Atmos CVars

* Cache CVars in AtmosphereSystem.

Co-authored-by: Pieter-Jan Briers <pieterjan.briers+git@gmail.com>
2020-11-27 16:49:12 +01:00
Víctor Aguilera Puerto 5f60bf75ed Ignore FirelockElectronics component on the client 2020-11-27 12:18:01 +01:00
Morshu32 6b413033d1
Execute BlockGame game actions only if _running is true, added localization functions and italian strings to the blockgame UI (#2601)
* BlockGamePlayerAction are only executed if _running is true, added italian localization file for blockgame UI

* Added localization functions and files for BlockGame arcade. Removed unused public variable added in the previous commit.

* Added new line to end of file blockgame.yml

* Update Content.Client/Arcade/BlockGameMenu.cs

Co-authored-by: ShadowCommander <10494922+ShadowCommander@users.noreply.github.com>

* Moved EndLeft,EndRight and SoftdropEnd actions out of the condition as per suggestion by Paul.

* Added Loc.GetString() to "Nanotrasen" and "Nanotrasen Block Game" to enable transliteration of the name in other alphabets as per suggestion of Remie.

Co-authored-by: ShadowCommander <10494922+ShadowCommander@users.noreply.github.com>
2020-11-27 21:36:04 +11:00
DrSmugleaf 6fd4467ee0
Add command to delete all instances of a component (#2580)
* Add command to delete all instances of a component

* Fix help string

* Consistent naming

* Use TryGet for registrations

* Remove newline

Co-authored-by: Metal Gear Sloth <metalgearsloth@gmail.com>
2020-11-27 21:28:38 +11:00
Paul Ritter d80ec927bb
Removes some unused fields (#2603)
* removes some unused fields

* thats an oopsie

Co-authored-by: Paul <ritter.paul1+git@googlemail.com>
Co-authored-by: metalgearsloth <31366439+metalgearsloth@users.noreply.github.com>
2020-11-27 21:10:08 +11:00
DrSmugleaf 5c0cf1b1a0
Use 'new' expression in places where the type is evident for content (#2590)
* Content.Client

* Content.Benchmarks

* Content.IntegrationTests

* Content.Server

* Content.Server.Database

* Content.Shared

* Content.Tests

* Merge fixes

Co-authored-by: metalgearsloth <31366439+metalgearsloth@users.noreply.github.com>
2020-11-27 21:00:49 +11:00