Commit Graph

854 Commits

Author SHA1 Message Date
Julian Giebel 3758eb1b60
Disposal trunks now eject incoming entities (#1942)
* Implement disposal trunk eject on incomming entities

* Move variable declaration into if block

Co-authored-by: Julian Giebel <j.giebel@netrocks.info>
2020-08-28 10:11:08 +02:00
Julian Giebel c09c9176ef
Add do_after to TryInsert (#1938)
Add delay to flushing

Co-authored-by: Julian Giebel <j.giebel@netrocks.info>
2020-08-28 09:31:17 +02:00
py01 7b12d4e08c
PipeNet (#1626)
* PipeNode

* Pipe prototypes

* Fixes Default NodeGroup not being registered by NodeGroupFactory

* GasNet

* PumpComponent

* IPipeNet

* PipeComponent

* misc naming, yaml

* PipeComponent rework

* PipeNet gas transfer from pipes

* PipeNet correctly combines gas on combining with other group

* Client ignores piping components

* AfterRemake

* PipeNet remake simplification

* IGasMixtureHolder on PipeComponent, IPipeNet

* PipeContainerComponent

* BasePump

* DebugPump

* IgnoredComponent fix

* Pipe LocalAir and Air

* comments

* Pump fix

* PipeNet fix

* name simplification

* PipeDirection name changes

* BaseVentComponent and DebugVentComponent

* Moves Pipe to own file

* DebugVentComponent moved to own file

* BaseScrubberComponent

* DebugScrubberComponent

* IgnoredComponents update

* scrubber prototype

* vent prototype fix

* comments

* Removes vent and scrubber PipeDirection check

* PipeContainer, Pipe, and PipeNode refactor

* Yaml cleanup

* pump prototype fix

* Removes AssumeAir usage from old IGasMixtureHolders

* Simplfies Vent & Scrubber to use AtmosHelper methods

* Vents and scrubbers invalidate the coordinate they changed the gas of

* UpdatedPipingComponent

* ScrubberComponent renamed to SiphonComponent

* Removes PumpSystem

* Removes framTime from UpdatedPiping

* PipeNetDevices

* PipeNetDevice updated by GridAtmosphereComponent

* PipeNets react from update in GridAtmosphereComponent

* GridAtmosphereComponent stores PipeNets/PipeNetDevices to be updated in queue

* diff fix

* Removes debug gas starting in pipes

* type safety in IPipeNet when combining groups

* null checks

* GridAtmos stores PipeNets and PipeNetDevices in List

* comments

* rogue curly bracket

* ProcessPipeNets update fix

* RemovePipeNet fix

* PipeNet update() unique index

* fix diff

* Integration test fixes

* Error Logging

* error fix

Co-authored-by: py01 <pyronetics01@gmail.com>
2020-08-27 17:45:27 +02:00
DrSmugleaf 548ef3dedb
Add HUD button that displays your SSS role and allies (#1895)
* Add button that displays your SSS role and allies

* Capitalize button name

* Add cases for 0, 1 and invalid number of allies

* Make the ally syncing system saner
2020-08-27 16:39:29 +02:00
nuke 388e717a53
Get rid of CuffSystem, make CuffableComponent update its hand count properly (#1927)
* Merge branch 'master' of https://github.com/space-wizards/space-station-14 into cuff-fix

* yml

* event bus
2020-08-27 16:33:10 +02:00
Exp fc6ec5a7b9
Add ItemStatus to energy weapons (#1921)
* -ItemStatus for BatteryGuns
-EjectCell Verb
-Using the gun throws the battery also on the ground

* Copy the flashlight and call it a day

* Name a red fruit

* Remove SoundGunshot
2020-08-27 16:31:29 +02:00
py01 26de86058e
Rpg visualization fix (#1928)
Co-authored-by: py01 <pyronetics01@gmail.com>
2020-08-27 16:28:50 +02:00
py01 026b7b890c
ExAct for lockers (#1931)
* ExAct for lockers

* ToArray

Co-authored-by: py01 <pyronetics01@gmail.com>
2020-08-27 16:27:49 +02:00
metalgearsloth ca30caec03
Recycler optimise (#1873)
Recyclers only check for intersecting entities that have been triggered via collision instead of actively querying it every tick. This means they pretty much don't show up on the profiler when idle.

Co-authored-by: Metal Gear Sloth <metalgearsloth@gmail.com>
2020-08-26 03:53:22 +02:00
DrSmugleaf 1d17331853
(Re)add healing items (#1918)
* (Re)add healing component

* Do range check only when healing someone else
2020-08-26 03:50:26 +02:00
nuke 47d89bc280
Fix for missing loc strings in handcuffs. (#1919)
* loc strings, formatting fixes

* Fix indentation

Co-authored-by: Víctor Aguilera Puerto <6766154+Zumorica@users.noreply.github.com>
2020-08-26 03:49:29 +02:00
DrSmugleaf dd3a697c12
Fix the server not checking uplink purchase prices (#1917) 2020-08-25 18:13:19 +02:00
DrSmugleaf 4854a54ee1
Add strip verb (#1894)
* Add strip verb

* Merge some of the verb and candragdrop checks
2020-08-25 17:43:27 +02:00
Exp c665e66318
Accent System (#1892)
* First Accent Prototype

* -RegisterSystem
-Fixed addaccent cmd
-Spanish accent

* -list is now ?
-Checks if the accent is already added
-Made components public

* owo whats this

* special word filter

* Eeeeeeeeee

* Better?

* -Use a delegate func
-Made some funcs not static
-Moved SentenceRegex

* InjectDependencies

* Name change?

Co-authored-by: DrSmugleaf <DrSmugleaf@users.noreply.github.com>
2020-08-25 17:09:39 +02:00
DrSmugleaf 34b2902641
Fix errors with creating gas mixtures on class instantiation (#1916)
* Fix errors when gas mixtures are created on class instantiation

* Fix mistake
2020-08-25 16:53:59 +02:00
DrSmugleaf 4f8fbe2749
Fix parallel tests unreliably failing due to statics in Atmospherics (#1914)
* Fix atmospherics statics unreliably failing parallel tests

* Cache getting atmosphere system
2020-08-25 16:14:26 +02:00
nuke a62935dab2
Handcuff system (#1831)
* Implemented most serverside logic

* All serverside cuff logic complete

* SFX, Clientside HUD stuff, Other logic.

* fffff

* Cuffs 1.0

* missing loc string

* Cuffs are stored in the balls now.

* Basic integrationtest

* Support stripping menu.

* rrr

* Fixes

* properties

* gun emoji

* fixes

* get rid of unused

* reeee

* Update Content.Shared/GameObjects/ContentNetIDs.cs

Co-authored-by: Víctor Aguilera Puerto <6766154+Zumorica@users.noreply.github.com>
2020-08-25 14:54:23 +02:00
Exp 6b56297c69
Adds Vault Verb (#1889)
* -Vault Verb
-Made CanVault a method so it can be called from several places

* Notifymanager bad

* Unnecessary Import
2020-08-25 13:45:00 +02:00
Visne 318f051fb9
Allow all door access in Suspicion mode (#1817)
* Add AccessTypes, let RuleSuspicion change it

* Fix enum description

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

* Move check to CanOpen()

Co-authored-by: DrSmugleaf <DrSmugleaf@users.noreply.github.com>
2020-08-25 13:37:21 +02:00
DrSmugleaf 520e523d30
Refactor UserInterface properties to use a helper (#1896) 2020-08-24 20:47:17 +02:00
Julian Giebel d9f02a6a0a
The disposals pushing and pulling update (#1875)
* Add collision to disposal unit and pipes
Make disposal unit and pipes pullable
Implement proper handling of collisions in disposals

* Implement IsExiting
Move DisposalSystem to shared

* Change SharedDisosalUnitComponent to call manager.ContainsEntity directly

* Update saltern.yml

Co-authored-by: Julian Giebel <j.giebel@netrocks.info>
2020-08-24 20:41:15 +02:00
Swept 9019079d79
Adds a cat and then a gat (#1868)
* Adds the cat

* Adds the gat

* Adds the calico to suspicion spawner

* Fixed physics thing

* Updated BB

* Added Calico mag to ammo spawner
2020-08-24 20:27:32 +02:00
metalgearsloth 997d3dcdd4
startingGear for NPCs (#1877)
Need to cover up the lewds.

Co-authored-by: Metal Gear Sloth <metalgearsloth@gmail.com>
2020-08-24 20:11:32 +02:00
Pieter-Jan Briers f2a321008b
Merge pull request #1893 from DrSmugleaf/pragma-begone 2020-08-24 15:52:06 +02:00
DrSmugleaf 8a27a5322a Replace pragma warning 649 disable/restore with default! 2020-08-24 14:10:28 +02:00
DrSmugleaf a4f527351e
Add test for adding each component individually to an entity (#1870)
* Add test for adding each component individually to entities

* Put one-to-one test before all-at-once test
2020-08-24 13:39:00 +02:00
py01 9e6459ac79
Gun verb changes (#1888)
* Bolt action ver fixes

* Fixes bolt-action playing two sounds when cycling on empty magazine

* MagazineBarrel open/close bolt verb visibility

* mag stuff

* Dirty checks on guns

Co-authored-by: py01 <pyronetics01@gmail.com>
2020-08-24 13:20:11 +02:00
metalgearsloth 501c8a9f6a
Slight DisposalUnit optimisation (#1874)
UI was being updated every tick even when not necessary. Ideally you'd just update the UI based on events but this is fine for now.

Co-authored-by: Metal Gear Sloth <metalgearsloth@gmail.com>
2020-08-24 13:16:23 +02:00
Exp 56ebde7f45
Add IItemStatus to some weapon types (#1879)
* Bolt Action

* Shotguns

* Revolver + Outline

* In Magazines: show bullets as numbers plus the usual bullet stuff

* Empty bullets have another texture
2020-08-24 13:13:26 +02:00
metalgearsloth 969eeb5528
Add AI factions (#1807)
* Add NPC faction tags

Some stuff isn't easy to represent by the existence of components so tags are intended to provide that functionality for AI usage.

I was 50/50 on having all tags in the 1 component or splitting it into 2. I'm leaning towards 2. This would be for stuff like say "CanMimic" so the mimic knows it's allowed to look like a specific prototype, or something like "smg" on a gun so it can say smg-specific barks for instance (as currently smgs and pistols look the same from a component perspective).

This also means combat behaviors aren't hardcoded per faction, plus it makes it easy to update faction relations during events.

* Factions command

Update faction relationships via commands.

* Remove command TODO

* Woops

Forgot to commit these items

* Serializer writing and parsing

* linq me up fam

Co-authored-by: Metal Gear Sloth <metalgearsloth@gmail.com>
2020-08-24 12:33:03 +02:00
SoulSloth df823d2245
Add Flashlight Visualizer/states (#1861)
* Add art assets for cloning

* Added a 'Scan DNA' button to the medical scanner

* Made the UI update unconditional for the medical scanner until checks for power changes are in place

* Update Medical scanner to reflect powered status and fix #1774

* added a 'scan dna' button the the medical scanner that will add the contained bodies Uid to a list in CloningSystem, fixed an issue with the menu not populating if the scanner starts in an unpowered state

* Add disabling logic to 'Scan DNA' button on medical scanner

* Removed un-used libraries

* Added playing parameter to radiatingLightComponent, changed it's animation key to radiatingLight

* refactored RadiatingLight into a visualizer

* Added different light animations for differnt power states of a flashlight

* split out the radiating light visualizer into two seperate visualizers

* further refactored and tweaked handheldlight animations

* further lantern light tweaks

* removed un-used attributes in flashlight and lantern prototypes

* fix null check in handheldlightcomponent
2020-08-24 12:32:18 +02:00
DrSmugleaf 42d2334334
Fix airtight entities not getting invalidated and their vacuum not being fixed (#1876) 2020-08-23 17:17:19 +02:00
Víctor Aguilera Puerto 39f346ed42 Fix stripping menu hands' items not showing correctly. 2020-08-23 15:03:01 +02:00
DrSmugleaf 814daaba4c
Fix the flashlight's power bar and status with no battery (#1862)
Co-authored-by: Víctor Aguilera Puerto <6766154+Zumorica@users.noreply.github.com>
2020-08-23 13:19:40 +02:00
DrSmugleaf a4a25a9975
Remove localization manager dependencies from components (#1864)
Co-authored-by: Víctor Aguilera Puerto <6766154+Zumorica@users.noreply.github.com>
2020-08-23 12:53:09 +02:00
DrSmugleaf b9196d0a10
Add a test that puts all components on an entity and checks for no exceptions (#1815)
* Add test that puts all components on an entity and checks for no exceptions

Also fix all the exceptions that happened because of this

* Add comments to the test

* Fix nullable errors

* Fix more nullable errors

* More nullable error fixes

* Unignore basic actor component

* Fix more nullable errors

* NULLABLE ERROR

* Add string interpolation

* Merge if checks

* Remove redundant pragma warning disable 649

* Address reviews

* Remove null wrappers around TryGetComponent

* Merge conflict fixes

* APC battery component error fix

* Fix power test

* Fix atmos mapgrid usages
2020-08-22 22:29:20 +02:00
Víctor Aguilera Puerto 5de139d6fd Improves examine for ranged weapons, magazines and ammo. 2020-08-22 20:18:49 +02:00
Víctor Aguilera Puerto 35e963a0ea Lights now show a popup message when you burn yourself. 2020-08-22 19:37:23 +02:00
DrSmugleaf 092dd7c946
Fix xenos not changing sprites when going into crit or dying (#1854) 2020-08-22 15:51:35 +02:00
Julian Giebel 265afc9929
Change NextTube in DisposalTubeComponent to consider multiple tube (#1851)
Co-authored-by: Julian Giebel <j.giebel@netrocks.info>
2020-08-22 13:55:58 +02:00
DrSmugleaf bb923aa230
As discussed on the Discord, xenos are not humans (#1840)
* As discussed on the Discord, xenos are not humans

* Add living component for living beings without a defined body

* Merge LivingDamageable and Damageable components

* Fix ruinable and state manager inconsistencies

* Fix ruinable exposedata

* Fix new destructibles yamls

* Fix healing not healing

* Fix alive not being a valid state

* Fix valid state checking
2020-08-22 13:40:22 +02:00
DrSmugleaf efbd01d0bf
Add test for airlocks opening/closing and blocking entities (#1842)
* Add test for airlocks opening/closing and blocking entities

* Nullable fix classic
2020-08-22 12:30:30 +02:00
Julian Giebel 1c21f2c3b0
Rework emergency lights (#1830)
* Implement emergency lights reacting to lost power

* Add emergency light sprites
Remove shared emergency light component

* Remove unused import

* Remove EmergencyLight NetID

* Add rich description
Change comments
Add license
Implement ExposeData

Co-authored-by: Julian Giebel <j.giebel@netrocks.info>
2020-08-22 12:06:29 +02:00
metalgearsloth 72e50cce94
AI pickup changes (#1811)
* AI pickup changes

Eating and drinking isn't spammed anymore.
AI can do InRangeUnobstructed checks for item pickups.
AI can open drink cans.

AI littering to be coded.

* #nullable enable

* github's nullable fails are actively shortening my lifespan

* Use a const instead

So it's easier to find given the performance implications.

Co-authored-by: Metal Gear Sloth <metalgearsloth@gmail.com>
2020-08-22 12:03:24 +02:00
Pieter-Jan Briers 3f0665b908
Make deleting a visited entity not cleaning it up in the mind. 2020-08-21 17:43:27 +02:00
Pieter-Jan Briers 80e175aaa9
Fix deletion of inventories of dead people. 2020-08-21 14:54:38 +02:00
Exp 8fe211bf88
Make Table Vaulting use "theName" macro (#1832) 2020-08-21 11:00:27 +02:00
Exp ce1dc6d86b
Table Vaulting notify messages use the name (#1828) 2020-08-21 00:08:16 +02:00
Pieter-Jan Briers b1eb320b0a
Fix exception with explosions and storage items. 2020-08-20 23:44:35 +02:00
Pieter-Jan Briers f27ce22dc9
Reduce airlock prying time. 2020-08-20 22:38:00 +02:00