Commit Graph

3399 Commits

Author SHA1 Message Date
Moony 39acf77858
Speedy event patches to make events less ass (#5493) 2021-11-24 03:06:59 +01:00
20kdc eb18f7bc1c
Sending a mob out of a disposals unit shouldn't push them into a wall anymore (#5411)
* Sending a mob out of a disposals unit shouldn't push them into a wall anymore.

* Something something resolves vs. OnRemove fighting it out

* Disposals yeet reduction: Address reviews and other oddities
2021-11-23 16:38:46 -07:00
Clyybber 0e98c1c524
Refactor slip dropping to use throwing (#5476)
* Refactor slip dropping to use throwing

* Update Content.Server/Fluids/EntitySystems/SpillableSystem.cs

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

* Uncringe

* Update Content.Server/Fluids/EntitySystems/SpillableSystem.cs

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

Co-authored-by: metalgearsloth <31366439+metalgearsloth@users.noreply.github.com>
Co-authored-by: Leon Friedrich <60421075+ElectroJr@users.noreply.github.com>
2021-11-23 16:38:39 -07:00
Paul f675ff37b1 fix exception 2021-11-23 20:20:40 +01:00
20kdc f6d44be34f
Activatable UI component (#5184)
* Transfer most Instrument UI logic to a new component, ActivatableUIComponent

* Move more ActivatableUIComponent stuff to ECS

* ActivatableUI component ignore on client

* ActivatableUI: Get rid of component interfaces where possible

* Add in adminOnly attribute for activatable UIs

This is so that porting #4926 to this will be easier

* Transition Solar Control Computer to ActivatableUI

* Move communications console to ActivatableUI

* Move cargo console to ActivatableUI

* Move ID card console to ActivatableUI

* ActivatableUI: Make things more amiable to entity tests adding components weirdly

* ActivatableUI: Use handling or lack thereof of events properly

* ActivatableUI: component dependency issue resolution stuffs

* ActivatableUISystem: Fix #5258

* More fixes because master did stuffo

* Check for HandDeselectedEvent again because otherwise active-hand check doesn't work

* Move just a bit more code into the system, introduce a workaround for #5258

* Purge the player status detection stuff

* Oh and some obsolete stuff too
2021-11-23 19:19:08 +01:00
metalgearsloth 32c36ad221
Give pried tiles a random rotation (#5482)
Also made it so they start with a random offset to avoid the additional MoveEvent going out.
2021-11-23 10:15:49 -07:00
Leon Friedrich 1de82b4324
Fix spill crash (#5480)
* fix spill

* clean up mop component

* remove unecessary code
2021-11-23 10:14:46 -07:00
DrSmugleaf cc79053825 Fix round starting and db round spam
Fixes https://github.com/space-wizards/space-station-14/issues/5467
RunLevel was being set after waiting for the DB, causing GameTicker.Update to fire during the wait
2021-11-23 18:12:24 +01:00
20kdc a2b7982c37
Add variables to prevent voting of various kinds (#5361)
* Add a way to disable voting for maximum authoritarianism

* Allow disabling specific vote types via cvars

* Migrate standard-vote-to-cvar dictionary to being static
2021-11-23 10:03:04 -07:00
DrSmugleaf 781a083fcf Fix not waiting for logs to be sent to Azkaban 2021-11-23 17:50:06 +01:00
Vera Aguilera Puerto af86378995
Log explosive depressurization. (#5474) 2021-11-23 12:22:18 +01:00
Leon Friedrich 3d755caea1
Log verbs & alt-click interactions. (#5471)
* verb logging

* Just a lil regex

Verb ([a-zA-Z]*) = new\(\)
Verb $1 = new(args)

* nvm that didn't work

* better log messages

* Revert "Just a lil regex"

This reverts commit aa2b143d042f1ed007c801d9e2c264cb07993aa1.

* remove garbage code

* better docstring
2021-11-23 11:00:16 +01:00
Acruid fa0ec5cbd9
AppearanceComponent API Changes (#5446) 2021-11-23 18:22:59 +11:00
xRiriq c8acba0ba7
biological medicine now restricted to biological targets (#5276)
Co-authored-by: xRiriq <xRiriq.git@gmail.com>
Co-authored-by: metalgearsloth <comedian_vs_clown@hotmail.com>
2021-11-23 18:15:10 +11:00
Acruid 6e54e740c7
Removed Old PlayerSession Functions (#5404)
Co-authored-by: metalgearsloth <comedian_vs_clown@hotmail.com>
2021-11-23 18:11:48 +11:00
mirrorcult e2205e418b
Epinephrine + epipen (#5444)
* add sprite and basic entity, no reagent or testing

* actually implement epinephrine and add it to the box

* allow creating it

* add it to nanomed

* fig
2021-11-22 23:51:51 -07:00
mirrorcult 732baa56a9
Reaction & reagent effect logging (#5463)
* Reaction logging

* effect logging

* position
2021-11-22 23:51:43 -07:00
metalgearsloth 2f6a5ea2f2
Add examine text for thrusters (#5469) 2021-11-23 17:44:08 +11:00
Kara D 567ed44408
hotfix lube crash
stackoverflowing
2021-11-22 23:21:20 -07:00
mirrorcult 6fc397f801
carpet (#5464)
* carpet

* reviews

* why tf i gotta fix integration tests in the carpet pr
2021-11-22 18:01:51 -07:00
20kdc 1e061094ca
Direct pressure and asphyxiation damage do not interrupt DoAfters anymore (#5459) 2021-11-22 17:34:56 -07:00
20kdc 1ba58456c4
Announcements play the general announcement sound unless specifically inhibited (#5460) 2021-11-22 15:34:48 -07:00
DrSmugleaf 7b5878b846 Support player sessions in admin logs and add test
Fix EventRan log type id
Make slipping low impact
2021-11-22 23:15:22 +01:00
DrSmugleaf af6353da46 Add admin logs for shuttle call/recall 2021-11-22 21:31:50 +01:00
DrSmugleaf 37e7da0e42 The technology for round time just isn't there yet
Add clock date to displayed logs
I'm sorry moony
2021-11-22 21:19:07 +01:00
DrSmugleaf 7de23c935b Expose round duration as a method on GameTicker 2021-11-22 21:12:47 +01:00
DrSmugleaf 3ba58e2d9c Merge branch 'master' of https://github.com/space-wizards/space-station-14 2021-11-22 20:59:30 +01:00
DrSmugleaf 13692b5433 Make starting and running station events high priority 2021-11-22 20:55:47 +01:00
DrSmugleaf 612c62c569 Add admin logging to system events 2021-11-22 20:49:47 +01:00
DrSmugleaf 86ce2aeb22 Add EntityUid AdminLogConverter 2021-11-22 20:36:03 +01:00
metalgearsloth 2a9b3a013c
Don't run aghost if already aghost for mapping (#5452) 2021-11-22 12:31:21 -07:00
DrSmugleaf c3fe5909ad THE RETURN OF THE KING
This reverts commit c18d07538a.
2021-11-22 19:08:27 +01:00
DrSmugleaf c18d07538a Revert "Admin logs (#5419)"
This reverts commit 319aec109d.
2021-11-22 18:55:17 +01:00
Javier Guardia Fernández 319aec109d
Admin logs (#5419)
* Add admin logging, models, migrations

* Add logging damage changes

* Add Log admin flag, LogFilter, Logs admin menu tab, message
Refactor admin logging API

* Change admin log get method names

* Fix the name again

* Minute amount of reorganization

* Reset Postgres db snapshot

* Reset Sqlite db snapshot

* Make AdminLog have a composite primary key of round, id

* Minute cleanup

* Change admin system to do a type check instead of index check

* Make admin logs use C# 10 interpolated string handlers

* Implement UI on its own window
Custom controls
Searching
Add admin log converters

* Implement limits into the query

* Change logs to be put into an OutputPanel instead for text wrapping

* Add log <-> player m2m relationship back

* UI improvements, make text wrap, add separators

* Remove entity prefix from damaged log

* Add explicit m2m model, fix any players filter

* Add debug command to test bulk adding logs

* Admin logs now just kinda go

* Add histogram for database update time

* Make admin log system update run every 5 seconds

* Add a cap to the log queue and a metric for how many times it has been reached

* Add metric for logs sent in a round

* Make cvars out of admin logs queue send delay and cap

* Merge fixes

* Reset some changes

* Add test for adding and getting a single log

* Add tests for bulk adding logs

* Add test for querying logs

* Add CallerArgumentExpression to LogStringHandler methods and test

* Improve UI, fix SQLite, add searching by round

* Add entities to admin logs

* Move distinct after orderby

* Add migrations

* ef core eat my ass

* Add cvar for client logs batch size

* Sort logs from newest to oldest by default

* Merge fixes

* Reorganize tests and add one for date ordering

* Add note to log types to not change their numeric values

* Add impacts to logs, better UI filtering

* Make log add callable from shared for convenience

* Get current round id directly from game ticker

* Revert namespace change for DamageableSystem
2021-11-22 18:49:26 +01:00
mirrorcult e40c9bc427
Reactive 3.0 (#5443)
* probably scrapping this

* reimpl old behavior

* misc fixes and initial yaml

* works basically first try
2021-11-22 10:17:35 +01:00
Kara D 8b47d0f43f
Reduce pneumatic cannon mole usage 2021-11-22 02:08:29 -07:00
mirrorcult 1ca990c879
Reduce default metabolism rate from 1 to 0.5 (#5445) 2021-11-22 19:45:20 +11:00
mirrorcult 0f2dda8275
screaming and crying (#5447) 2021-11-22 19:40:14 +11:00
Moony d171c5e84c
Fix antag shitcurity (#5441)
* fix jobs

* Antagn't the heads and sec

* good to go, time to test my code
2021-11-21 19:33:50 -07:00
Vera Aguilera Puerto a666ddb045 Remove MindHelpers, stop using PlayerHelpers. 2021-11-21 17:59:38 +01:00
Vera Aguilera Puerto 2f6e069bcd
Docked airlocks no longer depressurize the room when opened. (#5431) 2021-11-21 23:17:30 +11:00
FoLoKe 24aca21eb6
Moved Food and Utensil to ECS (#5380)
* Food and Utensil to ECS, Made utensil less restrictive, no more soup eating with a knife...

* AltVerb "can eat" check

* removed HasFlag calls

* AltActionVerb -> InteractionVerb

* "required utensil" filed
2021-11-21 00:35:09 -07:00
mirrorcult 1ab7170adb
Refactor reaction effects to use reagent effects (#5426)
* reaction effect refactor

* works now
2021-11-21 00:35:02 -07:00
metalgearsloth bdead40a80
Thrusters (shuttle go nyoom) (#5352) 2021-11-21 17:09:49 +11:00
AJCM-git 3da31d5146
Fixes ActivateItemInWorld working with things outside your container (#5424)
* Fixes InteractionActivate working inside containers

* This makes more sense now that i think about it
2021-11-20 22:06:44 -07:00
mirrorcult 181fd055ce
Adds metabolism effects to pretty much every chem already in the game (#5349)
* pass 1

* a little more reagent effect for breakfast

* move lots of stuff around

* implements all medicines

* implement all cleaning & elements

* implement toxins/pyrotechnic

* p

* linter fixies

* fixes + narcotic balancing

* fix and standardize

* reviews

* things
2021-11-20 16:47:53 -07:00
Moony eb6d24abd0
Makes map vote and roundstart smart about player count. (#5418)
* Makes map vote and roundstart smart about player count.
No more Saltern with 30 players, or Knight Ship with 50.

* a typo

* Address reviews.

* Localized.
2021-11-20 11:32:07 -07:00
Paul cc0122421c misc change for pvs 2021-11-20 12:35:22 +01:00
Leon Friedrich 91b185e3c2
Rejigging Item slots (#4933)
* itemslot overhaul

* remove "shared" prefix

* handle component shutdown

* comments, cleanup, tests

* comments and minor tweak

* rename ItemSlotManagerState

* fix swapping

* fix merge

* Add ItemSlot verb text override

* fix merge  (IEntity -> entityUid)

* Fix merge (LabelSystem)

* Fix merge (nuke disk)

* fix test
2021-11-19 22:26:01 -07:00
20kdc 73ca553ad4
Have medical scanners and cloning pods be 'climbed upon' on exit. (#5408) 2021-11-19 18:03:09 -07:00
Tomeno 8c71099fa2
Fix thermoregulation + rebalance/refactor FlammableComponent (#5406)
Co-authored-by: Paul Ritter <ritter.paul1@googlemail.com>
Co-authored-by: Tomeno <tomeno@lulzsec.co.uk>
2021-11-19 17:54:01 +01:00
Pieter-Jan Briers 86a7eece40
Adds a bool (#5372) 2021-11-18 23:36:25 -07:00
mirrorcult 07024f7c77
Severely nerf fires and severely buff fire protection (#5396)
* Make fires do less damage

* Severely nerf fires and severely buff temperature protection

* fuck it, i'll nerf it so hard and we can buff it later if we decide

* new scaling func

* fix

* unused

* reviews + balance metabolism heat + reduce atmos air temp transfer efficiency

* little more balance

* just a wee bit more

* slight adjustment
2021-11-18 23:08:30 -07:00
Kara D a724292023
Fix AME parts being rotated 2021-11-18 16:53:45 -07:00
Clyybber 6ac2446d26
Remove some warnings (#5391)
* Remove unused Dependency fields

* Remove noop null check
2021-11-18 16:46:35 -07:00
20kdc 856e570c7b
Stop BatterySystem from iterating over every battery just to recharge micro-reactors (#5393) 2021-11-18 20:02:17 +01:00
Tomeno 3c638b16dd
Solar panel optimizations (#5392)
* Rewrite solar panel update scheduling

* Use predicate to filter out non-anchored entities from solar raytrace

* Remove unused dependency

* Cache physics system

Co-authored-by: Tomeno <tomeno@lulzsec.co.uk>
2021-11-18 09:45:50 -07:00
Acruid 49151cd4cd Removes the last use of EntitySystem.EntitySystemManager in content. 2021-11-16 20:25:28 -08:00
20kdc 8c98038692
fixrotations fixes rotations properly again (#5292) 2021-11-17 12:00:58 +11:00
xRiriq ad4db6ba00
hardsuit clothing should be large and not fit in pockets (#5368)
Co-authored-by: xRiriq <xRiriq.git@gmail.com>
2021-11-16 17:05:41 -07:00
20kdc adefa610e0
Fix pneumatic cannon audio location (#5370) 2021-11-16 14:05:19 -07:00
20kdc cc41896836
TraitorDM: Fix round end description line (#5363) 2021-11-15 17:52:10 -07:00
20kdc 4cce40bd9f
Ghost roles create new minds, better tracking of roles at round end screen (#5175)
* Ghost roles now get new Minds

* Some round start/end button stuff

* Mind tracking for better round end reports

* Make traitor kill objectives use mind CharacterName rather than actual occupied entity ("kill brain" prevention)

* Transition over to EntityUid for mind stuff because that's the only way to do it

* BrainSystem fix for PR rebase
2021-11-15 11:14:34 -07:00
Pieter-Jan Briers 5923c848d2 Admins can see if other admins are AFK. 2021-11-15 14:13:18 +01:00
Pieter-Jan Briers b83ee83c22 Add adminwho command. 2021-11-15 09:10:57 +01:00
Tomeno 3f32f9f87c
AHelp tweaks - colored names for admins, window name (#5335)
Co-authored-by: T <tomeno@lulzsec.co.uk>
2021-11-14 12:21:18 -07:00
Tomeno ead09296c3
Fix airlock lights (#5334)
* Doors no longer permanently glow orange + logic tweak

* Fix server-side order of operations for deny animation timer

* Delay between deny >= deny length to allow animation to reset

* Fix airlock assets to use the correct deny animation name

Co-authored-by: T <tomeno@lulzsec.co.uk>
2021-11-14 18:51:02 +01:00
FoLoKe a23f3fde68
Adds cow milking (#5293) 2021-11-14 17:33:16 +01:00
Tomeno bdd2404fe0
Add "echo" command (#5331)
Co-authored-by: T <tomeno@lulzsec.co.uk>
2021-11-14 17:29:07 +01:00
Leon Friedrich 2bc8e8dc49
Fix infinite loop In explosions (#5330) 2021-11-14 12:19:41 +01:00
Tomeno 44e904fe5f
Block Game Ghosts (#5321)
Co-authored-by: T <tomeno@lulzsec.co.uk>
2021-11-13 21:43:54 +01:00
mirrorcult 828025d020
Turn brain behavior into a component/system (#5281) 2021-11-12 23:47:50 -07:00
metalgearsloth 753d198c1a Avoid unnecessary entitysystem resolve in atmos 2021-11-13 15:05:27 +11:00
metalgearsloth 8673c22931 Cache ConveyorSystem 2021-11-13 14:40:10 +11:00
20kdc 22da6e40c4
Flipping fixes (ensuring unanchored, rotation preservation) (#5296) 2021-11-13 12:54:03 +11:00
FoLoKe 5f3ae602ed
Add some animals basic mechanics (#5132)
Co-authored-by: metalgearsloth <comedian_vs_clown@hotmail.com>
2021-11-13 12:48:05 +11:00
mirrorcult a731e545a9
Maps docking airlocks onto saltern (#5279)
Co-authored-by: metalgearsloth <comedian_vs_clown@hotmail.com>
2021-11-13 12:46:27 +11:00
20kdc 79f917cf35
Properly reset the solars system each round, solar panels perf fix (#5295) 2021-11-12 20:00:39 +01:00
Paul 7cd16f77bd forgot about removing 2021-11-12 19:47:57 +01:00
Paul Ritter 7b48fdd7f5
adminmenu fixes (#5305) 2021-11-12 19:46:05 +01:00
Vera Aguilera Puerto 872bc79cf8 Fixes some YAML linter errors.
The remaining errors are mostly the linter being overzealous.
2021-11-12 11:22:46 +01:00
mirrorcult 03f766577a
Map vote & forcemap command (#5278) 2021-11-11 23:25:57 -07:00
mirrorcult 457e8c64ee
Convert StomachBehavior to a component/system + rejig body namespaces (#5249)
* Convert StomachBehavior to a component/system + rejig body namespaces

* test

* slightly more namespace changes

* remove

* Hello?????

* fuck you github test runner

* reviews

* oobsy!
2021-11-11 16:10:57 -07:00
ike709 c06f52a456
Adds a UI for gas mixers (#5165)
Co-authored-by: E F R <602406+Efruit@users.noreply.github.com>
Co-authored-by: Paul Ritter <ritter.paul1@googlemail.com>
Co-authored-by: ike709 <ike709@github.com>
2021-11-11 23:10:21 +01:00
Javier Guardia Fernández 720e750e86
Merge player database models (#5267) 2021-11-11 17:54:02 +01:00
Matt 81dc92ce9b
Fix for death timer resetting after returning to body. (#5174) 2021-11-11 16:17:23 +01:00
Vera Aguilera Puerto 1b01247c5f Fixes that annoying atmos zero pressure bug I've constantly been pinged and nagged about for like the past few days. 2021-11-11 16:15:49 +01:00
20kdc 0c0a60e432
Stop Item EntityStorages being able to eat people (#5268) 2021-11-11 23:56:38 +11:00
metalgearsloth 940134cec1
Nerf hacking speed (#5264) 2021-11-11 10:48:12 +01:00
20kdc dae33d14df
Alert the user if nobody's around to hear a bwoink (#5147) 2021-11-11 10:47:45 +01:00
metalgearsloth a360f6126e
Shuttle docking (#5169)
Co-authored-by: metalgearsloth <metalgearsloth@gmail.com>
2021-11-11 20:06:38 +11:00
metalgearsloth 6271eb440b
Add minimum distance for pilot breaking (#5232) 2021-11-11 18:42:34 +11:00
Alex Evgrashin b936ee6ad8
Add barebone nuke (#5242)
Co-authored-by: Alexander Evgrashin <evgrashin.adl@gmail.com>
2021-11-11 12:29:11 +11:00
20kdc 2d680fe3bb
Fix escaping from storages by movement attempt (#5256) 2021-11-11 00:07:05 +01:00
Paul 3f6b9b0d8e yet another attempt at fixing the adminmenu 2021-11-11 00:03:03 +01:00
Paul aeffabbea4 fixes adminmenus sins (fixes it) 2021-11-10 20:38:32 +01:00
Paul 2f54409ca5 my bad 2021-11-10 18:28:13 +01:00
Paul 2f95d77060 fixes stacksystem exception 2021-11-10 18:23:12 +01:00
Paul 58fc8ee35f includes deadmined admins in adminsystem playerlist updates 2021-11-10 18:09:22 +01:00
Leon Friedrich 88df3d8b10
Cargo: pizza & bureaucracy (#5123)
* add paper label component

* git mv

* rename namespace

* add cargo printouts

* more crates

* directly attach paper

* comment typo
2021-11-11 00:15:23 +11:00
Paul Ritter e74301a856
refactors adminmenu a timid amount (#5095)
Co-authored-by: Paul <ritter.paul1+git@googlemail.com>
Co-authored-by: metalgearsloth <comedian_vs_clown@hotmail.com>
2021-11-10 23:26:25 +11:00
mirrorcult 747f02f3f3
Metabolism tweaks / metabolism 4.0 (#5246)
* Metabolism tweaks

* use MetabolismArgs and convert ReagentEntityReactions into ReagentEffects

* fork forgor 💀

* fixes
2021-11-10 11:11:28 +01:00
mirrorcult c4f91c3fe7
Remove some unused mechanism behaviors (#5248) 2021-11-10 17:42:56 +11:00
Javier Guardia Fernández 42aaba9a5d
Remove most IEntity usages from explosions (#5240)
* Remove most IEntity usages from Destructible and Explosions

* Perform a minute amount of cleanup

* Fix build
2021-11-09 21:24:35 +01:00
Azzy 3a4186f6f6
Fixes the infinite cuff glitch. (#5241) 2021-11-09 20:13:32 +01:00
Vera Aguilera Puerto d370142b80 Makes Grid Revalidation a step in the atmos update stages.
Fixes some atmos debug assert exceptions.
2021-11-09 16:50:15 +01:00
Vera Aguilera Puerto 4ca6f6ff69 Fix build 2021-11-09 15:53:37 +01:00
Vera Aguilera Puerto 5b4c813c6d MakeGhostRoleCommand uses EntityUid 2021-11-09 15:50:55 +01:00
Vera Aguilera Puerto 6803c52fe9 MakeSentient uses EntityUid 2021-11-09 15:44:07 +01:00
Vera Aguilera Puerto 8b57bafcd1 StackSystem uses EntityUid for Split and Spawn 2021-11-09 15:35:03 +01:00
Vera Aguilera Puerto e68fd8668d Fix anchorable InteractUsing not cooperating with the rest of event handlers 2021-11-09 15:10:23 +01:00
Vera Aguilera Puerto 4f215c7b45 RangedInteractEvent uses EntityUid exclusively
Did anyone else know this event was a thing?
2021-11-09 15:05:49 +01:00
Vera Aguilera Puerto 22724d06b4 DroppedEvent uses EntityUid exclusively 2021-11-09 15:05:49 +01:00
Vera Aguilera Puerto 48f8dd2284 ActionBlocker CanInteract uses EntityUid exclusively
ActionBlockerSystem fully uses EntityUid now!
2021-11-09 15:05:49 +01:00
Vera Aguilera Puerto b6337ffe7a Makes many things use OwnerUid instead of Owner.Uid 2021-11-09 15:05:49 +01:00
Javier Guardia Fernández af579b15cc
Update to .NET 6 and C# 10 (#5233)
Co-authored-by: Pieter-Jan Briers <pieterjan.briers+git@gmail.com>
2021-11-09 15:05:07 +01:00
Vera Aguilera Puerto 29f3d2d1ca ActionBlocker CanSweat uses EntityUid exclusively 2021-11-09 13:52:27 +01:00
Vera Aguilera Puerto cc9ae191a8 ActionBlocker CanShiver uses EntityUid exclusively 2021-11-09 13:51:15 +01:00
Vera Aguilera Puerto cba96ad830 ActionBlocker CanUnequip uses EntityUid exclusively 2021-11-09 13:46:48 +01:00
Vera Aguilera Puerto a69387d741 ActionBlocker CanEquip uses EntityUid exclusively 2021-11-09 13:45:21 +01:00
Vera Aguilera Puerto 9921801f15 ActionBlocker CanPickup uses EntityUid exclusively 2021-11-09 13:43:39 +01:00
Vera Aguilera Puerto b82cb38bf9 ActionBlocker CanEmote uses EntityUid exclusively 2021-11-09 13:41:24 +01:00
Vera Aguilera Puerto d4ded87448 ActionBlocker CanAttack uses EntityUid exclusively 2021-11-09 13:40:27 +01:00
Vera Aguilera Puerto 51e785c0fd ActionBlocker CanDrop uses EntityUid exclusively 2021-11-09 13:23:53 +01:00
Vera Aguilera Puerto 190612a350 ActionBlocker CanSpeak uses EntityUid exclusively 2021-11-09 13:21:59 +01:00
Vera Aguilera Puerto c051b1e056 ActionBlocker CanUse uses EntityUid exclusively 2021-11-09 13:21:59 +01:00
Vera Aguilera Puerto 5f9cfaac43 ActionBlocker CanMove uses EntityUid exclusively 2021-11-09 13:15:55 +01:00
Vera Aguilera Puerto 1f9e1c033f EntityWhitelist uses EntityUid 2021-11-09 13:08:09 +01:00
Vera Aguilera Puerto 5d66a08ac9 GasCanisterSystem cleanup, use EntityUid more. 2021-11-09 13:00:08 +01:00
Vera Aguilera Puerto 11c63112d1 TabletopSystem uses EntityUid 2021-11-09 12:38:05 +01:00
Vera Aguilera Puerto c00cdbff90 GodMode code uses EntityUid 2021-11-09 12:20:02 +01:00
Vera Aguilera Puerto e5c062559a MobStates use EntityUid 2021-11-09 12:15:12 +01:00
Vera Aguilera Puerto 5cec5c421c ActSystem and Destruction Threshold Behaviors use EntityUid. 2021-11-09 12:06:00 +01:00
Vera Aguilera Puerto c5fda6daca IReagentEffect and some chemistry stuff uses EntityUid 2021-11-09 11:51:24 +01:00
Vera Aguilera Puerto 222541f1a2 Fix AnchorableSystem resolve warnings 2021-11-09 11:51:24 +01:00
Vera Aguilera Puerto 36e1d0707a AddHandCommand uses EntityUid 2021-11-09 11:34:40 +01:00
Vera Aguilera Puerto f025e5f0a8 ChatManager ChatTransform uses EntityUid 2021-11-09 11:30:59 +01:00
Vera Aguilera Puerto 1a177f7479 DrinkSystem uses EntityUid instead of IEntity 2021-11-09 11:28:27 +01:00
Vera Aguilera Puerto 0220551f72 ReagentEntityReaction uses EntityUid 2021-11-09 11:12:55 +01:00
moonheart08 40c3261665
Soft player cap that lets in only admins. (#5227)
* Soft player cap that lets in only admins.

* Update Content.Server/Connection/ConnectionManager.cs

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

* Update Content.Server/Connection/ConnectionManager.cs

Co-authored-by: Paul Ritter <ritter.paul1@googlemail.com>
2021-11-09 10:44:39 +01:00
Vera Aguilera Puerto fe6590bbe6
Makes Anchorable ECS. (#5222) 2021-11-09 18:08:30 +11:00
mirrorcult 31d622f941
Metabolism 3.0 (#5157)
* basic system + convert all plantmetabolism

* stragglers

* convert all old metabolisms over

* fix YAML errors + dumb serialization issue

* remove unused thingy

* reimplement

* add organ type condition

* organtype condition but real

* cleanups + test fix

* metabolismtype -> metabolizertype

* solution resilience

* fixes

* serializer + use entityuid + hashset

* this is apparently an entirely different thing

* turns out it just works

* oops
2021-11-08 15:33:45 -07:00
Javier Guardia Fernández f5b11d6af8
Remove IMobStateComponent (#5220) 2021-11-08 15:11:58 +01:00
Javier Guardia Fernández 4236551d86
Remove BodyDamageChangeParams and IBodyHealthChangeParams (#5219) 2021-11-08 15:08:33 +01:00
Javier Guardia Fernández ec9e65951c
Remove IHandsComponent and ISharedHandsComponent (#5218)
* Remove IHandsComponent and ISharedHandsComponent

* Copy the documentation from the interfaces

* Revert "Copy the documentation from the interfaces"

This reverts commit 7638a2d4817743d487c7b255ba3e56add77dca86.

* Perform a minute amount of cleanup
2021-11-08 15:08:24 +01:00
Vera Aguilera Puerto e6e15b3728 Replace all ITransformComponent by TransformComponent 2021-11-08 12:37:32 +01:00
mirrorcult 2d3077f560
Remove IMoveSpeedModifier in favor of events (#5212)
* Remove IMoveSpeedModifier

* fucking magboots

* yope

* rabiews
2021-11-08 16:17:35 +11:00
Leon Friedrich 3612d25539
Fix & extend add reagent verb (#4954)
* AddReagentWindow

* addReagent command

* functional UI

* fix networking

* add comments & docstrings

* Remove unecesary system

* cleanup & close-eui

* tweak default window size

* fix EUI closing error

* fix merge issues

* fix merge
2021-11-08 15:22:42 +11:00
20kdc 206f054cdf
Pulling rotation adjustment, newton's third law, entitycoordinates for moveto (#5141)
* Pulling: Piano door stuck prevention (pulling angle-snap) and getting rid of a condition causing oddities with pull-to-location

* Pulling: Implement Newton's Third Law in regards to puller/pullee physics

Weightless condition was determined not to be necessary

* Fix pull-to-position on actively rotating/moving grids + fixes for rebase
2021-11-06 19:16:49 -07:00
Swept b46957e0d8
Initial (#5193) 2021-11-06 17:32:33 -07:00
Antoine Chavasse afeb22ccb2
Prevent drag and dropping if the user is currenly unable to perform interactions. (fixes #5144) (#5196) 2021-11-06 17:05:51 -07:00
Kara D 4abda4f7cf
Fix mobs taking damage on paused maps 2021-11-06 15:18:27 -07:00
Javier Guardia Fernández 1508efff54
Add test pooling (#4961)
* Add test pooling

* WIP test pooling changes

* Fix Destructible tests

* Don't pool unpooled or dummy ticker instances

* Change ServerPathfindingDebugSystem to replace existing entries

* Fix SaveLoadSaveTest comment

* Don't pool StartTest

* Comment out global setup

* Fix puddle tests

* Move SolarPanelComponent initialize to PowerSolarSystem OnMapInit

* Update RobustToolbox

* Finish fixing tests, make test threads background threads

* Bring back pooling

* Fix nullable

* Update RobustToolbox

* Set cvars on server return

* Un-pool tests with custom cvars

* Update RobustToolbox

* Update RobustToolbox

* Change where the main tile coordinates are

* Remove DisposalUnitTest grid check

* Fix test pooling being a fickle bitch

* Fix EntitySystemExtensionsTest

* Update RobustToolbox

* Update RobustToolbox

* Make nullable pool settings true

* Update RobustToolbox

* Wait other way around

* We are unitystation now

* Update RobustToolbox

* Create global setup

* Pool some more tests

* Fix not properly disconnecting clients before restarting the round

* Give more info on ran tests

* Standardize default test cvars

* Update RobustToolbox

* Update RobustToolbox

* Pool clients

* Fix test order issue

* Fix cvars in character creation test not being set properly

* Update RobustToolbox

* Update RobustToolbox

* Rider shut

* Update RobustToolbox

* Format tests ran better

* Update RobustToolbox

* Reset RobustToolbox

* Reset RobustToolbox harder

* Fix one instance of test order causing destructible tests to fail
2021-11-06 11:49:59 +01:00
Azzy 064cea7dd6
Fixes bullet rotation (#5179)
Fixes bullets being fired from weapons at the wrong rotation
2021-11-05 21:27:46 -07:00
moonheart08 b889aff307
Make canisters dump their contents on destruction. (#5177)
* Make canisters dump their contents on destruction.

* Address reviews
2021-11-06 01:19:12 +01:00
mirrorcult 3e8f5784a1
Verb invocation command (#5148) 2021-11-05 17:48:30 +11:00
Ephememory 418e3eaef8
fix drink examine text (#5170) 2021-11-04 21:16:28 -07:00
ike709 17e1b7827e
Adds UIs for volume and pressure pumps (#5155)
* Adds UIs for volume and pressure pumps

* Update Content.Server/Atmos/Piping/Binary/EntitySystems/GasPressurePumpSystem.cs

* Update Content.Server/Atmos/Piping/Binary/EntitySystems/GasVolumePumpSystem.cs

Co-authored-by: ike709 <ike709@github.com>
2021-11-04 17:41:56 -07:00
20kdc d9cc7ef7d4
Stop pAIs from being able to wipe each other/do other odd things, pAIs name themselves after their owners (#5160)
* Stop pAIs from being able to wipe each other/do other odd things they shouldn't

* pAI: device changes name to indicate owner

* Make PAIComponent networked (just in case)

It'll be needed in future anyway
2021-11-04 15:29:16 -07:00
20kdc 9eb6e5a109
Add indicator showing amount of ghost roles available (#5150)
* Add indicator showing amount of ghost roles available

* Make the indicator turn red if ghost roles are available
2021-11-03 16:48:12 -07:00
mirrorcult 3ab4a30a0f
Generalize ReagentUnit into FixedPoint2 and use it for damage calculations (#5151)
* Damage units

* sum ext method
2021-11-03 16:48:03 -07:00
Alex Evgrashin c1cf22d97e
Pinpointer (#5131)
* Add pinpointer sprites

* Start working on pinpointer

* Updated pinpointer

* Working on visuals

* Working on a pinpointer and eye rotation

* Add client/server pinpointers systems

* Minor cleanup

* Add distance support

* Add nuke tag

* Remove redundant flag and add pinpointer to caps locker

* Disable rotation of pinpointer

* Fixed distance

Co-authored-by: Alexander Evgrashin <evgrashin.adl@gmail.com>
2021-11-03 14:35:34 -07:00
mirrorcult 3f51ffbd3c
Pneumatic cannons (#4560)
* basics & visuals

* pneumatic cannon works perf

* loc + popups

* gas tank does stuff + queue changes

* updates

* b

* forcefeeding

* inhand

* crafting!

* pie cannon now is a pneumatic cannon

* oopy

* fix for entman + verbs

* pie

* change for tools

* actual

* combat mode + better sounds

* reviews
2021-11-03 14:33:36 -07:00
Kara D 6bb1e58e77
Fix item construction using nearby anchored items (pipes) 2021-11-03 14:33:00 -07:00
moonheart08 4f58f10c77
Log the chem dispenser to server console. (#5142) 2021-11-03 15:32:32 +01:00
Leon Friedrich 673301825b
Draw depth adjustments (#5130)
* door drawdepth toggle

* git mv

* dooooors

* drawdepth adjustments

* fix door and missed projectiles

* firelock depth tweak

* Get sprite only when needed

* single letter typo

* forgot to include closing in _activeDoors.
2021-11-03 14:43:10 +01:00
ShadowCommander bfc63e2912
Add character names to round end screen and localize more of the strings (#5088)
* Add character names and move more traitor round end strings to fluent

* Change coloring and wording

* Fix no objectives
2021-11-03 14:40:32 +01:00
20kdc 7ced7b67c7
Fix barstool rotation (#5134) 2021-11-02 19:38:47 +01:00
Vera Aguilera Puerto 52bada79a3 Electrocute Command 2021-11-02 19:32:07 +01:00
Saphire Lattice f5b4e461b3
Make humans move based on their last grid's angle (#5122)
* Make humans move based on their last grid's angle

* Fix ghost movement, fix weightless grid parenting

* Make sure to init the last grid angle without needing to move
2021-11-03 00:35:02 +11:00
Vera Aguilera Puerto 5a5006e4cf
ConstructionGL2 Part 2: Better guided steps and recipes. (#5103) 2021-11-02 11:24:32 +01:00
ike709 9da98e3916
Adds a UI for gas filters (#5052)
* Adds a UI for gas filters

* Address reviews

* Update Content.Client/Atmos/UI/GasFilterBoundUserInterface.cs

* Update Content.Server/Atmos/Piping/Trinary/EntitySystems/GasFilterSystem.cs

* Fix build

Co-authored-by: ike709 <ike709@github.com>
Co-authored-by: Vera Aguilera Puerto <6766154+Zumorica@users.noreply.github.com>
Co-authored-by: Vera Aguilera Puerto <gradientvera@outlook.com>
2021-11-02 10:44:40 +01:00
20kdc 7220132be3
ChemMaster/Chemistry Dispenser constructability, fixed edition (#5125) 2021-11-02 10:04:07 +01:00
metalgearsloth 16c31ade0f Fix pointer facing 2021-11-02 16:33:27 +11:00
moonheart08 a27c1d9bd9
funny container commands (#5113) 2021-11-02 15:32:58 +11:00
Ygg01 8c81312c0c
Extractible tweak - Allow grinding and juicing (#5112) 2021-11-02 15:20:14 +11:00
Ygg01 fc5fa67a56
Refactor Resolve and IEntity in SolutionContainerSystem (#5083)
Co-authored-by: metalgearsloth <comedian_vs_clown@hotmail.com>
2021-11-02 12:03:23 +11:00
20kdc 7a03f00cfd
Placeholder pAIs, ghost role rules window (#4972) 2021-11-02 11:42:04 +11:00
Fortune117 76bc00b218
Changed drinks to use ECS (#4948)
Co-authored-by: Paul Ritter <ritter.paul1@googlemail.com>
Co-authored-by: metalgearsloth <31366439+metalgearsloth@users.noreply.github.com>
Co-authored-by: metalgearsloth <comedian_vs_clown@hotmail.com>
2021-11-02 11:40:55 +11:00
Pieter-Jan Briers 059fa9ae48
Gravity generator rewrite (#4828)
Co-authored-by: metalgearsloth <comedian_vs_clown@hotmail.com>
2021-11-02 11:12:55 +11:00
ShadowCommander 0e33b246db
Fix ControlMob on already controlled mob (#3868) 2021-11-02 11:11:50 +11:00
Vera Aguilera Puerto fea41c539e Add RaiseEvent action to CGL. Machines raise a MachineDeconstructedEvent.
The latter is very useful for any special machine cleanup that needs to happen when a machine is deconstructed.
The former will be useful for so many things!
2021-11-01 17:29:09 +01:00
Vera Aguilera Puerto 0f744447d0 Remove unused using statements in construction comp 2021-11-01 17:07:30 +01:00
Vera Aguilera Puerto 182a52914a Fix construction pathfinding crash on machines when going the wrong way. 2021-11-01 16:56:33 +01:00
moonheart08 1b8b5b5d16
oh god it's BQL time (#5050)
Co-authored-by: Pieter-Jan Briers <pieterjan.briers+git@gmail.com>
2021-10-31 21:14:44 +01:00
Saphire Lattice eb567dc0bb
DB QOL stuff, but not breaking the migrations now (#5086) 2021-10-31 15:18:01 +01:00
Paul Ritter 1240d320a2
refactors rougepointingarrow to ecs and stops it from targeting dead things (#5114)
Co-authored-by: Paul <ritter.paul1+git@googlemail.com>
2021-10-31 15:03:32 +01:00
Saphire Lattice fdf67d8ee6
Fix containment fields finding one another (#5094) 2021-10-31 14:39:36 +01:00
ike709 0865409521
Adds support for unlimited stacks (#5084)
Co-authored-by: ike709 <ike709@github.com>
2021-10-31 14:27:11 +01:00
Paul 0bbc4d9afe fixes trashbag picking up things through walls
fixes #5098
2021-10-31 14:23:26 +01:00
Vera Aguilera Puerto 3cd88b8cf2 Sync UseTool nullable broadcast events 2021-10-30 19:27:06 +02:00
Saphire Lattice 1d136bf18b
Make ban command properly give a ban message instead of a placeholder (#5087) 2021-10-29 20:54:14 +02:00
ike709 d9d101fae8
Fixes ghosts being able to use uplinks (#5085)
Co-authored-by: ike709 <ike709@github.com>
2021-10-29 18:37:34 +02:00
Pieter-Jan Briers 5c5534de9a Revert "A bit of DB model cleanup (#5016)"
This reverts commit 8a3cee9a10.
2021-10-29 16:10:58 +02:00
Saphire Lattice 8a3cee9a10
A bit of DB model cleanup (#5016) 2021-10-29 15:41:13 +02:00
20kdc 44f5f15790
Power-reading multitool (#5046)
* AMEPartComponent: Switch to ToolSystem.HasQuality because this bugs me.

* Multitool can read power when you examine a cable with the multitool held.

* Multitool power reading: Condense storage information

* power-sensing multitool: Fix ToolSystem ref.

* Power-reading multitools: Fix misuse of GetComponent
2021-10-29 14:42:18 +02:00
Ygg01 b2aca94586
Refactor Solution from Shared -> Server (#5078)
* Move entity solution entity systems to shared

* Move SolutionComponents to Server

* Fix namespaces

* Remove Networked Component.

* Fixes

* Add components to ignore list
2021-10-29 23:40:15 +11:00
20kdc bddce95e37
Switch from drainallbatteries to a drain/fill-specific-battery command for saner eventing (#5077)
* drain all batteries / drain battery command for saner eventing

* Reverts the part of the previous commit where drainallbatteries skips items, despite my better judgement

* setbatterypercent now takes the place of battery drainage commands

A more forall-oriented approach
2021-10-29 11:49:52 +02:00
Alex Evgrashin 4002aa5852
Uplink UI icons and withdraw button (#4929)
* Uplink menu has icons now

* Add item icons

* Add few descriptions

* Better withdraw window

* Finished with withdraw window

* Refactored withdraw ui and fix some bugs

* Basic withdraw

* Quick fixes

* Removed uplink listing for TCs

* Move slider to separate control

* Final touches

* A bit more

* Not again...

* Fixed names

* Address review

* Fixed robust

* Non necessary check
2021-10-29 11:40:47 +02:00
Flipp Syder c7c651e3de
Refactors TemperatureComponent and AtmosExposed to ECS (#4927)
Co-authored-by: Vera Aguilera Puerto <6766154+Zumorica@users.noreply.github.com>
2021-10-29 10:18:43 +02:00
20kdc 7cdb9dcf86
Disposals fixed under station rotation (#5067)
* Some sanity checks on disposals movement, fix the interpolator

* Technically fix disposal routing, but I'm not done here yet

* Remove disposals reliance on implicit direction sensing entirely.
2021-10-29 19:07:32 +11:00
Flipp Syder 91b4ce6f24
Adds generic damage visualizer to the game (#4893) 2021-10-29 10:04:24 +02:00
metalgearsloth 87701b50c6
Remove naughty IEntity.Dirty calls (#5069)
Really this thing should probably be internal because you should never be calling it.
2021-10-28 22:40:05 -07:00
Kara D 78005f8e9e
Fix windoors not autoclosing
Fixes #4902
2021-10-28 22:38:36 -07:00
Leon Friedrich 5dd73ff6e0
Fix emitter lock toggle (#5066) 2021-10-28 13:29:19 +02:00
Visne 94579d1877
Fix a bunch of warnings (#5058) 2021-10-28 13:19:38 +02:00
Vera Aguilera Puerto 0bca9befca Fix being able to electrocute pulled mobs when completely insulated. 2021-10-28 11:50:31 +02:00
Vera Aguilera Puerto 335c461442 Fix sync UseTool not calling ToolFinishUse when there's a DoAfter.
Fixes #5060
2021-10-28 11:21:55 +02:00
Vera Aguilera Puerto f12cec3f98 Fix construction DoAfter results not setting current edge index.
Fixes #5061
2021-10-28 11:21:55 +02:00
Vera Aguilera Puerto f840db0458 Fix bug which allowed you to build machines for free by taking the board out and putting it in again. 2021-10-28 11:07:33 +02:00
Saphire Lattice 1e7a3ff191
Fix morgue picking up pipes (#5045) 2021-10-27 23:09:10 -07:00
Leon Friedrich 49296e33a0
Refactor Context Menus and make them use XAML & stylesheets (#4768)
* XAML verb menu

* fix ghost FOV

* spacing

* rename missed "ContextMenu"->"EntityMenu" instances

* move visibility checks to verb system

* update comment

* Remove CanSeeContainerCheck

* use ScrollContainer measure option

* MaxWidth / texxt line wrapping

* verb category default

Now when you click on a verb category, it should default to running the first member of that category.

This makes it much more convenient to eject/insert when there is only a single option

* only apply style to first verb category entry

* Use new visibility flags

* FoV -> Fov

* Revert "only apply style to first verb category entry"

This reverts commit 9a6a17dba600e3ae0421caed59fcab145c260c99.

* make all entity menu visibility checks clientside

* Fix empty unbuckle category

* fix merge
2021-10-27 22:21:19 -07:00
Alex Evgrashin 2cb35fab3c
Fix light replacer and move it to ECS (#5053)
* Fixed broken replacer prototype

* Light replacer ECS
2021-10-28 13:36:09 +11:00
Visne c67160ae19
Disable warnings that would be refactored anyway (#5047) 2021-10-27 18:10:40 +02:00
metalgearsloth a12eb29464
Convert sus events to eventbus (#5044) 2021-10-27 10:53:10 +02:00
metalgearsloth 3b508b041b Remove some unused fields again-ing 2021-10-27 19:43:57 +11:00
metalgearsloth f320c6dd8f
Fix storage closing bounds on rotated grids (#5033) 2021-10-27 10:27:25 +02:00
Ygg01 14b401f9b3
Puddle refactor 2: Spillastic boogaloo (#4784)
* Refactor PuddleComponent

* Move puddle effects into separate RSIs

Basically egg/tomato/powder puddle will be moved into separate
/Textures/Fluids RSIs

* Fix YAML for puddles

* Fix issues sloth pointed out.

* Ensure Puddle Component are properly added when spawned

* Remove unnecessary method init puddle with starting maxVolume

* Addressed ElectroSr comments

* Add Resolves

* Try fix error in ensureSolution

* Puddle unanchoring

* Address some issues with puddles

* Fix continue -> return
2021-10-27 19:24:18 +11:00
Saphire Lattice 0da8a5b9d0
Fix trashbags picking up atmos entities that are anchored (#5035) 2021-10-27 18:12:36 +11:00
Alex Evgrashin 6e00104260
Powered light ECS (#5028)
* Brrrr ECS

* Create lit on powered system

* Light bulb ECS

* Finishing porting to ECS

* Minor touches

* Removed events

* Removed old comments

* Fixed test

* To popup system
2021-10-27 12:24:22 +11:00
20kdc 60b3ff59cf
Fix morgue rotation by using more EntityCoordinates (#5041) 2021-10-27 12:23:44 +11:00
Vera Aguilera Puerto d2ffabdfd4 Fix ChangeEntity collection modified exception. 2021-10-27 01:29:10 +02:00
Vera Aguilera Puerto 189a5c7847
ConstructionGL2 Part 1: ECSification, events and steps. (#5017)
- Completely rewrited the `ConstructionComponent` logic to be ECS, *without* looking too much at the original implementation.
    - The original implementation was dirty and unmaintainable, whereas this new implementation is much cleaner, well-organized and maintainable. I've made sure to leave many comments around, explaining what everything does.
- Construction now has a framework for handling events other than `InteractUsing`.
    - This means that you can now have CGL steps for things other than inserting items, using tools...
- Construction no longer uses `async` everywhere for `DoAfter`s. Instead it uses events.
- Construction event handling occurs in the `ConstructionSystem` update tick, instead of on event handlers.
    - This ensures we can delete/modify entities without worrying about "collection modified while enumerating" exceptions.
    - This also means the construction update tick is where all the fun happens, meaning it'll show up on our metrics and give us an idea of how expensive it is/how much tick time is spent in construction.
- `IGraphCondition` and `IGraphAction` have been refactored to take in `EntityUid`, `IEntityManager`, and to not be async.
- Removes nested steps, as they made maintainability significantly worse, and nothing used them yet.
- This fixes #4892 and fixes #4857

Please note, this leaves many things unchanged, as my idea is to split this into multiple PRs. Some unchanged things:
- Initial construction code is the same. In the future, it'll probably use dummy entities.
- Client-side guided steps are the same. In the future, the server will generate the guided steps and send them to clients as needed, caching these in both the server and client to save cycles and bandwidth.
- No new construction graph steps... Yet! 👀
2021-10-26 16:38:03 +02:00
metalgearsloth 9c3a603e7e Use ActionBlockerSystem as a dependency on CGSystem 2021-10-27 01:07:19 +11:00
Julian Giebel d1a830cd74
Fix ApcPowerReceiverComponent deletion (#5031)
Co-authored-by: Julian Giebel <j.giebel@netrocks.info>
2021-10-25 21:55:00 +02:00
20kdc c29b23eb64
Fix ChemMaster bottles not having contents (#5026) 2021-10-25 16:58:16 +02:00
ike709 ec92f4eef2
Adds stack splitting (#4981)
* Adds stack splitting

* Apply suggestions from code review

Co-authored-by: ike709 <ike709@github.com>
Co-authored-by: Vera Aguilera Puerto <6766154+Zumorica@users.noreply.github.com>
2021-10-25 16:36:04 +02:00
moonheart08 debd22e19c
Add select (#5003) 2021-10-25 16:23:44 +02:00
Vera Aguilera Puerto ed3bf94a3b
Electrocution. (#4958)
Co-authored-by: Pieter-Jan Briers <pieterjan.briers@gmail.com>
2021-10-25 16:21:56 +02:00
Leon Friedrich 6e84e23ba1
Remove some functions from HandsComponent (#4937)
* remove wrapper functions

* Remove InteractionSystem wrapper functions

* remove two more functions

* add missing `using`

* clean diff
2021-10-25 18:06:12 +11:00
StStevens e621a82e65
Fire extinguisher safety (#4912)
* Moved safety into FireExtinguisherComponent.

* Fix errant find and replace

* Address reviews

Co-authored-by: metalgearsloth <comedian_vs_clown@hotmail.com>
2021-10-25 18:04:24 +11:00
mirrorcult c0ecdb09af
Slipping tweaks + remove EffectBlocker (#4955)
* Slipping tweaks + remove EffectBlocker

* mfw failed merge conflict resolution

Co-authored-by: metalgearsloth <31366439+metalgearsloth@users.noreply.github.com>
2021-10-25 17:43:49 +11:00
Leon Friedrich e016fc9906
spray bottle fix (#5012)
* fix-spray

* move vapor rotation
2021-10-25 17:29:02 +11:00
metalgearsloth 0f513f64fb
Rotate DefaultGrid on round start (#4957)
* Rotate DefaultGrid on round start

Not ideal long-term but good for bugspotting short-term.

* Fix buckle test

Because gridtraversal was being triggered the pos was being fucked when moving back

* Fix buckle

* Buckle offset
2021-10-25 15:22:57 +11:00
20kdc 63dd23ad8c
Fix RCDs on space somewhat - space-wizards/space-station-14#4742 compatibility edition (#4878) 2021-10-25 14:33:49 +11:00
Julian Giebel d1e323b993
Bugfix: ExtensionCableReceiver anchoring (#5014)
Co-authored-by: Julian Giebel <j.giebel@netrocks.info>
2021-10-24 18:49:26 +02:00
metalgearsloth 5cc3f9ee30
Truncate long name / job titles for IDs (#5009) 2021-10-24 01:28:25 -07:00
E F R 3c0473dfe4
Server/MachineLinking: allow linking devices that are inside obstructions (#5010)
...like signal buttons/switches on a wall.
2021-10-24 01:21:39 -07:00
metalgearsloth a4cd222bea Don't include anchored entities for entitystorage 2021-10-24 17:10:05 +11:00
metalgearsloth 34326cfed7 Fix hypospray
Another casualty in the solution wars.
2021-10-24 16:54:08 +11:00
Alex Evgrashin 7de1ebbd77
Move RCD to ECS (#4742)
* Moved ammo to ecs

* Moved RCD to ecs

* Replaced RCDDeconstructWhitelist with Tag

* Updated new structures RCDDeconstructWhitelist

* Queue delete
2021-10-24 14:34:00 +11:00
E F R c5dd6c8b02
Server/Storage: allow specifying a radius for _areaInsert (#5001)
️ Pay no attention to the changes in trashbag.yml... they are merely an
illusion... ️

t. 🧙‍♂️
2021-10-23 19:34:29 -07:00
Leon Friedrich 610f45e5cd
fix ghost component (#5000) 2021-10-23 19:29:38 -07:00
moonheart08 86e2f2005e
Allows placing cables on lattices. (#4984)
Adds a "sturdy" tile flag, that in the future could be used by construction/etc to figure out if it's safe to build on a tile. (For example water isn't space, but it's not a sturdy building surface!)
2021-10-23 17:32:33 -07:00
Julian Giebel 45caf25ea9
Apc device network and apc based light switch (#4908)
* Remove WireNet node group from cables
Implement extension cable components and system
Remove connection over distance logic from ApcPower... components

* Add extension cable components to prototypes

* Implement ApcNetwork
Implement ApcNetSwitch

* Fix ignoredComponents.cs

* Add friend attribute to new components

* Add construction graph for a light switch

* Address reviews

* Fix broken test

* Move ConnectionType enum to DeviceNetworkComponent
Change netId data definition to use the ConnectionType enum values

Co-authored-by: Julian Giebel <j.giebel@netrocks.info>
2021-10-23 16:23:19 -07:00
ShadowCommander e7f352d6c2
Fix barotrauma damage total failing when damageable doesn't have the value 2021-10-23 12:16:08 -07:00
ShadowCommander 6c1ba187e3
Add maximum to barotrauma damage (#4989) 2021-10-23 11:45:57 -07:00
moonheart08 89bbb71f75
ForAll command! (#4982)
* ForAll command!
Implements "Bad Query Language", which has a few specifiers you can use for badminning, namely:
named <regex>
prototyped <prototype name>
with <component name>
tagged <tag name>
parented_to <parent entity uid>

For example: forall prototyped MobHuman parented_to 855 do explode $WX $WY 1 1 1 1; addcomp $ID Item

* oops

* fix a silent parsing bug, make parser louder.

* cleanup

* rename shit
2021-10-23 19:15:40 +02:00
Vera Aguilera Puerto 328b3b2b6a Fix scrubber math 2021-10-23 13:05:03 +02:00
Vera Aguilera Puerto 0deaa9e18c Fix pill swallowing popup loc. 2021-10-23 10:59:53 +02:00
Vera Aguilera Puerto a29bc600b7 Fix exception when observer tries to take over GhostTakeoverAvailable mob that has a mind.
That method is essentially a `TryTake` method, why would it throw instead of returning false...
2021-10-23 10:56:55 +02:00
Vera Aguilera Puerto dad471562d Singularity plays collapsing sound on shutdown, not on remove. 2021-10-23 10:49:59 +02:00
Vera Aguilera Puerto eaaeefb74b Fix yet another exception with CableTerminalNode for the same dumb reason 2021-10-22 23:50:14 +02:00
Vera Aguilera Puerto cb2c044c08 Fix exception with CableTerminalPortNode assuming an entity's GridID can never be zero. 2021-10-22 23:46:30 +02:00
E F R 85f2fcb86b
Content/Light: make lights actually require power after changing the lightbulb (#4953) 2021-10-22 08:46:22 +02:00
E F R 5b531b7dcf
Content.Server: use LocalPositon instead of Coordinates.Position (#4951) 2021-10-22 08:45:36 +02:00
Alex Evgrashin a3f16295ea
Move Access to ECS (#4826)
* Moved access to ecs

* Fixed tests

* Moved test to integration

* Better IoC

* Moved preset ID card

* Moved id card to ECS

* Moved access component to ECS

* Fixed pda access

* Final touches

Co-authored-by: metalgearsloth <31366439+metalgearsloth@users.noreply.github.com>
2021-10-22 13:31:07 +11:00
Vera Aguilera Puerto bfdd0e055b Fixes bad Flammable ECS conversion logic 2021-10-21 23:07:42 +02:00
metalgearsloth 7beb363285
Deprecate a bunch of IActionBlocker (#4852)
* Deprecate IActionBlocker ChangeDirectionAttempt

* Woops

* Throw and interact

* Deperacte speech

* ActionBlocker in fucking shambles

* CanEmote go byebye

* CanAttack is GONE

* IActionBlocker finally ded

* DRY
2021-10-21 13:03:14 +11:00
Fortune117 55249e3688
Add Overdosing Behaviour to Meth (#4949)
* Added debug bottle of meth as well as a damage increase on a Reagent Threshold

* fix for metabolism getting funked when there is a failed reaction condition

* removed max, raised minimum to 10

* reduced regular meth damage, increased overdose damage
2021-10-20 13:30:55 -07:00
Javier Guardia Fernández 3e5a856948
Make DisposalUnitComponent.TryInsert ECS (#4959) 2021-10-20 21:12:23 +02:00
20kdc 6fb968d47f
Set default Pow3r ramp rate/tolerance values (#4748) 2021-10-20 20:31:53 +02:00
E F R 5a03c0eca8
Storage: fix Storage insert anim with _quickInsert or _areaInsert set (#4877)
Turns out the final position calculations were wrong, so I copied/pasted
from the equivalent parts of the Hands components.

Unfortunately, this means that picking up trash with a trash bag no
longer causes said trash to rapidly zoom to 0,0.
2021-10-20 15:25:22 +02:00
E F R 0ab6ca9a12
Content/Atmos: add status info to binary devices' examine text (#4928) 2021-10-19 23:46:31 +02:00
Vera Aguilera Puerto f2fc1431aa Ignore component on client. 2021-10-19 21:15:23 +02:00
20kdc 7ccf9668d4
Varied and semi-sprited atmos markers (#4944) 2021-10-19 21:07:47 +02:00
20kdc 6c6bde8743
FoodComponent solution un-hardcoding, rehydratable solution name fixes, monkey cubes edible again, slicable food preserves poisons (#4942) 2021-10-19 00:13:43 -07:00
mirrorcult 636a04eccd
Armor (#4934)
* Armor

* radiation tweaks

* asphyxiation ignore resistances
2021-10-18 16:24:37 -07:00
Vera Aguilera Puerto b904efb942
Makes many thing that update on paused *not* do that. (#4938) 2021-10-18 23:58:34 +11:00
20kdc 1a4316c4cc
Fix pipe rotation. (#4939) 2021-10-18 13:42:30 +02:00
Vera Aguilera Puerto 1b84ee05ae Don't update solar panels while the map is paused
Fixes integration tests.
2021-10-18 13:14:37 +02:00
metalgearsloth cfc6ed065e
Remove PilotComponent when someone stop piloting (#4922) 2021-10-17 14:33:12 +02:00
20kdc c95c5e02c2
fixgridatmos blockers (#4911)
* FixGridAtmos blocker

* FixGridAtmos blockers in Saltern
2021-10-17 14:32:17 +02:00
Vera Aguilera Puerto 3001ea38cc
Add-d-ds s-s-stut-ttering t-to the g-gam-me (#4901) 2021-10-17 01:23:31 +02:00
moonheart08 f1ad199dca
MAPS IN ATMOS (#4909)
* COLORIZE!

* ATMOS!

* FUCK

* fix occluders. also supply rates snuck in, broken serv3.
2021-10-17 01:11:06 +02:00
Flipp Syder 7dc6b95a10
Moves HumanoidAppearanceComponent to ECS (#4855)
* Moves HumanoidCharacterAppearance to ECS

* Makes HumanoidAppearanceSystem work over networks

* Makes HumanoidAppearanceSystem more efficient

* Cleans up the files

* Updates privacy on a couple of functions

* Fixes a few using references, renames a file

* Makes HumanoidAppearanceSystem more cleaner

* Fixes Magic Mirror

* Cleanup

* HumanoidAppearanceComponent now has a friend

SharedHumanoidAppearanceSystem is only allowed to act on this, now

* Fixes the Body-HumanoidAppearance ECS scaffolding

* a little cleanup never hurt anybody

* quick fix for magic mirror appearance access

* Replaces a networked event with a local one

This one was... causing bugs
2021-10-17 00:28:02 +02:00
moonheart08 f69575e15a
ok saving pipes now works (#4906)
* ok saving pipes now works

* EW HACKS
2021-10-16 13:40:21 -07:00
Watermelon914 4bf8a5d527
Adds hand labelers (#4903)
* Adds hand labelers

* Removes unnecessary thing

* Docs

* Reverts some changes

* Addresses comments and adds inhand sprites

* Addressed comments

Co-authored-by: Watermelon914 <3052169-Watermelon914@users.noreply.gitlab.com>
2021-10-16 13:34:05 -07:00
ShadowCommander 9da81ea85f
Add GhostRadio to allow ghosts to hear radio messages (#4896)
* Add GhostRadio to allow ghosts to hear radio messages

* Add GhostRadio to ignored components
2021-10-16 12:04:35 -07:00
ShadowCommander dae3ed3006
Fix chemmaster UI and eating pills (#4900) 2021-10-16 14:56:20 +02:00
mirrorcult ae1ce0b31c
Status effect refactor (#4868)
* Oops! All Changes In One Commit

* try desperately to fix prediction issues and fail

* oops

* test

* actually fixes prediction issues

* port jittering to status effect

* default merge behavior + alert cooldown stuff

* silly test issue

* zabloing

* address reviews
2021-10-15 23:45:04 +02:00
Alex Evgrashin ce0b73ef62
Description for Uplink UI (and preset uplinks) (#4870)
* testing decription textlabel

* Move uplink listing to a new menu

* Add search bar

* Added description

* Added radio uplink

* Added preset uplinks

* Minor fix

* Fixed comma
2021-10-15 12:49:59 +02:00
Kara D ca90025005
Hotfix light switches not working 2021-10-14 21:16:11 -07:00
metalgearsloth c40eaa52fc
Fix doors on rotated grid (#4874) 2021-10-15 14:04:23 +11:00
20kdc 41256cc84e
Radiation pulse damage reduction (#4872) 2021-10-14 18:02:07 +00:00
Vera Aguilera Puerto 1df8402c17 Fix rare exception when CableVis tries to update an entity not on a valid grid. 2021-10-14 11:12:54 +02:00
Vera Aguilera Puerto 787aa24656 Add linter support for TimedSpawnerComponent, fix linter errors. 2021-10-14 11:09:26 +02:00
Pieter-Jan Briers 7f3d064ec4 Fix character slot deletion on postgres.
Fixes #4860
2021-10-13 21:11:20 +02:00
Pieter-Jan Briers d0472998a6 Fix restartroundnow.
Fixes #4863
Fixes #4861
2021-10-13 20:46:45 +02:00
moonheart08 9250bd62cb
Admin shuttle call button (#4859)
* shuttle call ui

* shuttle call ui

* Localize shuttle commands better.

* localization fix
2021-10-13 10:15:28 -07:00
metalgearsloth 2f3914e01e
Use Uid for standingstate methods (#4856) 2021-10-13 09:58:18 +02:00
JasperJRoth cd91e6c06b
Crayon fix (#4848)
* removed line that broke crayon decals

* Removed rotation from crayon decals.
2021-10-12 23:56:35 -07:00
metalgearsloth 07303e7a4b Remove some more unused fields 2021-10-13 17:38:20 +11:00
20kdc e144bb53f5
Fold Produce's "produce" solution into the "food" solution to fix empty food (#4837)
One of these was going to have to be folded into the other for it to work.
I am starting to really hate this refactor.
Note that this might still leave smokable tampering broken if it was already broken, but it shouldn't break it if it wasn't.

TESTED: Grown apples, carrots, something I forgot, bananas, *client crash due to slipping*
2021-10-12 10:01:23 +02:00
moonheart08 f70983e2d5
BANG (#4839)
* BANG

* how did that ever work in the first place
2021-10-11 22:11:09 -07:00
Kara D f3993be925
fixes #4736 2021-10-11 15:23:45 -07:00
Kara D fc46ff305c
fix gas loc 2021-10-11 15:08:21 -07:00
Julian Giebel a6f2c21919
Device network as ecs (#4205)
* Work on DeviceNetworkSystem

* Implement device networking as ecs
Remove mailing unit code for now
Remove device network metadata

* Implement integration tests for device networking

* Remove manual updating DeviceNetworkSystem and use WaitRunTicks

* Fix wrong component name in ignored components

* Apply suggestions from code review

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

* Rename NetworkUtils to DeviceNetworkConstants
Change connection type constants to enum
Remove create function from network payload class

* Change broken nodegroup check in wirenet to grid check

* Change ComponentManager to entity manager in DeviceNetworkSystem

* Fix smaller mistakes

* Wtf random test fail pls run them again smh

* Fix DataField in DeviceNetworkComponent

* Fix yaml in DeviceNetworkTest

* Fix DeviceNetworkComponent DeviceNetId property

Co-authored-by: Julian Giebel <j.giebel@netrocks.info>
Co-authored-by: mirrorcult <notzombiedude@gmail.com>
2021-10-11 14:41:18 -07:00
Vera Aguilera Puerto 4c80fb9586
Refactor AccentManager to be an entity system, makes accents ECS. (#4825) 2021-10-11 11:18:39 -07:00
Vera Aguilera Puerto 2fe5db9498 Fixed airlocks not autoclosing anymore.
AutoClose is true by default now.
2021-10-10 15:58:17 +02:00
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