Commit Graph

638 Commits

Author SHA1 Message Date
py01 970f3bc82f
Pipe prototypes (#2124)
* Pipe prototypes

* PipeDirection setter

* IRotatableNode

* NodeContainer passes rotation events to its nodes

* Removes duplicate pipe prototypes that are rotations of each other

* PipeDirectionHelpers

* PipeNode rotation

* icon removal

* Pipe icons

* Icon fix

* Fixes pipe sprites and icons

Co-authored-by: py01 <pyronetics01@gmail.com>
2020-10-08 17:53:56 +02:00
Víctor Aguilera Puerto 745401a41e
Data-oriented Construction System (#2152)
- Powerful
- Data-oriented
- Approved by PJB
- Powered by node graphs and AI pathfinding
- Coded by the same nerd who brought you atmos

Co-authored-by: Exp <theexp111@gmail.com>
2020-10-08 17:41:23 +02:00
Exp 920f3a999b
Communications Console & Medical Scanner now close when too far away (#2175)
-Wire & GasAnalyzer dispose instead of closing only
2020-10-06 10:16:42 +02:00
Paul Ritter 68031990a2
Readds Iconcomponent (#2142)
* icon fix

* stuff

* directional texture rework
2020-09-28 20:53:47 +02:00
Paul Ritter 84ce845ea3
Nanotrasen Block Game is here (#2131)
* tetris!

* softdropping & left,right key holding

* started work on the ui

* playable state

* there you go exp

* multiuser rework

* ui update refactor

* blockgame™️

* highscores, keybindings, ui refactor

* speed adjusts
leveling

* highscorebackground tweak
speed tweak

* NULLABLE

* yes
2020-09-26 15:25:22 +02:00
Paul Ritter d90c3295e6
Nukes Iconcomponent (#2102)
* pfew

* preview_state

* ship it

* weird stuff

* fucked up rebasing

* Update submodule

Co-authored-by: Pieter-Jan Briers <pieterjan.briers+git@gmail.com>
2020-09-23 22:13:51 +02:00
Paul Ritter 2a1b90a0eb
Arcade fun - Ports over /vg/s SpaceVillain arcade game (#2125)
* arcade fun

* stuff

* removed unused using statements
added sound feedback
win check fix
reworked ui a bit

* description rework

* windowopen bug fixed

* adds rewards, cool!

* for unusualcrow

* fixes

Co-authored-by: Víctor Aguilera Puerto <6766154+Zumorica@users.noreply.github.com>
2020-09-23 14:30:31 +02:00
Víctor Aguilera Puerto 31e0dfc10c
Adds FlammableComponent, humans can now catch on fire. (#2115) 2020-09-22 15:40:04 +02:00
Víctor Aguilera Puerto 4c34a12c67
Adds IThrowCollide, Creaming people with cream pies and tactical stun baton throws (#2122) 2020-09-22 15:34:30 +02:00
Víctor Aguilera Puerto 69059eac80
Adds new different reaction types. (#2114)
* Adds new different reaction types.
- Adds touch, injection and ingestion reactions for entities.
- Adds tile reactions.
- Removes GasSprayerComponent in favor of SprayComponent.
- Gives fire extinguishers a safety.
- Gives spray puffs a sprite.
- Improved spray and fire extinguisher in general.
- Fire extinguisher now ACTUALLY puts out fires. Amazing, eh?
- Fire extinguisher sprays three 'clouds' at once.
- Spraying flammable chemicals at fire makes them worse. Whoops!
- Gives spray and fire extinguisher their classic sounds.
- Most chemicals now don't make puddles. Too bad!
- Space lube now makes a very slippery puddle. Honk.
- Spraying water (or using a fire extinguisher) on existing puddles makes them bigger.

* Fix solution tests

* food base now has solution container with noexamine caps
2020-09-21 17:51:07 +02:00
Exp 8238a89190
Gives the gas analyzer visual clues that it's open (#2110)
* Gives the gas analyzer visual clues that it's open

* Read Visualizer states from yaml
2020-09-21 11:39:17 +02:00
Víctor Aguilera Puerto 6ec2939f15
Refactors radiation (#2009)
* Work on refactoring radiation.

* mmmm grayons

* fixes

* Now you can specify whether the pulse will decay or not

* whoops

* Move IRadiationAct to shared, make DamageableComponent implement it instead and add metallic resistances to walls

* General improvements, send draw and decay with state. Rename DPS to RadsPerSecond

* E N T I T Y  C O O R D I N A T E S

* Entity coordinates goood

* Remove unused using statements

* resistances: metallicResistances

* - type: Breakable moment

Co-authored-by: DrSmugleaf <DrSmugleaf@users.noreply.github.com>
2020-09-21 01:49:40 +02:00
Swept 0ea8792501
Cleanup (#2111) 2020-09-20 17:29:11 +02:00
DTanxxx 27a5a7a09c
Removed LocalizationManager dependencies (#2059)
* Removed LocalizationManager dependencies

* Fixed error

Co-authored-by: David Tan <>
2020-09-16 23:55:50 +02:00
DrSmugleaf 74943a2770
Typo, redundant string interpolation, namespaces and imports cleanup (#2068)
* Readonly, typos and redundant string interpolations

* Namespaces

* Optimize imports

* Address reviews

* but actually

* Localize missing strings

* Remove redundant vars
2020-09-13 14:23:52 +02:00
Swept d9f965a49b
Removes exosuit slot (for now!!!) and rearranges inventory UI again. (#1975) 2020-09-13 14:05:02 +02:00
DTanxxx 4d50666ee4
Make more Fields VV and more editable (#2051)
* Make more Fields VV and more editable

* Applied feedback

Co-authored-by: David Tan <>
2020-09-13 14:04:00 +02:00
Víctor Aguilera Puerto c27ab9bf6a
Merge branch 'master' into 2020-08-19-firelocks 2020-09-12 15:52:20 +02:00
py01 b288975cb7
Siphon and Vent Visualizers (#2062)
* scrubber sprites

* vent sprites

* Vent visualstate

* scrubber visual state

* Vent and siphon respect being disabled

* Vent and Siphon Visualizer

* Fix typo

Co-authored-by: py01 <pyronetics01@gmail.com>
Co-authored-by: DrSmugleaf <DrSmugleaf@users.noreply.github.com>
2020-09-12 14:26:50 +02:00
Víctor Aguilera Puerto cca740eb2a
Merge branch 'master' into 2020-08-19-firelocks 2020-09-08 15:21:58 +02:00
Exp 5120627ca2
Makes more fields VV (#2026)
* Some more VV

* Fixed build & some more gun vvs

* Added VendingMachine Inventory & Items
2020-09-08 13:30:22 +02:00
Víctor Aguilera Puerto da4d08432d Merge branch 'master' into 2020-08-19-firelocks 2020-09-07 12:47:52 +02:00
derek 204b50c201
Change OpenUI into ToggleUI on the client side. (#2036) 2020-09-07 01:17:24 -07:00
Víctor Aguilera Puerto 6724a9e6ab Fix jenkins build 2020-09-06 17:16:08 +02:00
Víctor Aguilera Puerto d758e84e8d Merge branch 'master' into 2020-08-19-firelocks
# Conflicts:
#	Content.Server/GameObjects/Components/Atmos/AirtightComponent.cs
2020-09-06 16:56:43 +02:00
DrSmugleaf 48b61f6bcc
Replace every usage of GridCoordinates with EntityCoordinates (#2021)
* Update RobustToolbox

* Transition direct type usages

* More updates

* Fix invalid use of to map

* Update RobustToolbox

* Fix dropping items

* Rename name usages of "GridCoordinates" to "EntityCoordinates"

* Revert "Update RobustToolbox"

This reverts commit 9f334a17c5908ded0043a63158bb671e4aa3f346.

* Revert "Update RobustToolbox"

This reverts commit 3a9c8cfa3606fa501aa84407796d2ad920853a09.

# Conflicts:
#	RobustToolbox

* Fix cursed IMapGrid method usage.

* GridTileLookupTest now uses EntityCoordinates

Co-authored-by: Víctor Aguilera Puerto <6766154+Zumorica@users.noreply.github.com>
Co-authored-by: Víctor Aguilera Puerto <zddm@outlook.es>
2020-09-06 16:11:53 +02:00
Víctor Aguilera Puerto d89188a742 Merge branch 'master' into 2020-08-19-firelocks
# Conflicts:
#	Content.Server/GameObjects/Components/Doors/ServerDoorComponent.cs
#	Content.Shared/Maps/TurfHelpers.cs
#	SpaceStation14.sln.DotSettings
2020-09-06 00:17:48 +02:00
nuke c3630b7301
Glowsticks, flares and lighting behaviours (#1886)
* Assets

* LightingBehaviours, flares, and such.

* More changes

* More changes, more flare work.

* More work on flares + light behaviours

* another refactor

* missed

* Light behaviours refactor, added sfx, improved graphics, improved lighting effects for glowstick and flare.

* remove unneeded value

* nullables

* remove old code

* nullable

* one last push

* net id

* more work

* more colors for glowsticks

* Adjust flare so it fades in

* fix name

* sprite fix
2020-09-03 22:02:40 +02:00
DrSmugleaf 5f79d3e31d
Fix the health status effect not showing after spawn (#2013) 2020-09-03 20:17:30 +02:00
DrSmugleaf 94b83c3d69
Fix crash when deleting a medical scanner with someone inside (#2007) 2020-09-02 12:29:40 +02:00
SoulSloth e40e3fa267
Cloning (#1932)
* 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

* changed scan dna button to Scan and Save DNA

* Added cloning machine code infrastructure copied from Medical Scanner

* Added a list to cloning menu containing some numbers

* Cloning Machine UI sends a message to the cloning component with the entityUID

* New scans now show up in cloning pod menu

* fixed cloning machine collision shape

* cloning machine can now spawn the right player profile assuming the attatched entity is still correct.

* refactored cloning system to use a map of integer ids to player Minds

* Added a return to body cloning loop for the ghost

* Fixed warning for _playerManager being possibly null, added TODO note for ghost return to body button acting as a toggle

* removed #nullable from cloningMachineWindow"

* Trying to get rid of nullable error

* fix CloningMachine to not initilize with it's owner components

* updated CloningMachine server component to play nice with the new nullable rules

* replace flag with eventBus message for sending a ghosts mind to a clone body

* Refactor cloning so that a popup option is used to get user consent for cloning

* Refactoring

* Reverting unused changes for cloning component

* Added proper cloning pod sprites and a visualizer so 'idle' and 'cloning' states are properly reflected

* added missing robust toolbox contents

* Added cloning NoMind State and made cloning take time

* Added cloning progress bar and mind status indicator to cloning pod

* Added missing localization calls, removeed 'returned to cloned body' from ghostUI

* Added unsubscribe for cloningStartedMessage in Mindcomponent.cs OnRemove

* Added eject button to cloningMachine and clamped the cloning progress bar to 100%

* Added condition to eject body on cloningmachine so bodies can't be ejected until cloning is done

* Add click-dragOn functionality to the medical scanner for things with a bodyManager

* Messed with scan query so it doesn't fail on dead bodies as long as Mind still owns the mob

* refactored clonning scan check on medical scanner so it doesn't do a linq query

* merge with rogue toolbox

* Change the name of Cloning Machine to the less generic Cloning Pod

* Changed Cloning Pod so it pauses cloning while the power is out

* Removed the evil LocalizationManager from the cloning menus and used the static Loc instead

* removed localization dependency from bound accpetCloning user interface

* Removed Ilocalization dependency I accidentally added to ghost ui

* Update Content.Client/GameObjects/Components/MedicalScanner/MedicalScannerComponent.cs

Co-authored-by: Exp <theexp111@gmail.com>

* Changed null check to tryget in case for cloning UiButton.Clone

* Parameterized Cloning time on serverside component

* tried to reset Robust toolbox module to current master

* Added null check to ghost client component message handling, unsubscribe to the mind component listening to the cloning question ui, fixed _clonningProgress typo, moved CloningPod component dependencies to actually be dependencies, removed un-needed disposals of cloning windows, added disposals missing in boundUserInterfaces.

* Reset submodule

* corrected exception for cloning pod visualizer to refer to cloning pod state and not medical scanner state

* Fix typo

* Unsubscribe from onUiReceiveMessage in mindcomponent in the onRemove function, not the acceptcloningui function

* unsubscribe from OnUiReceiveMessage in CloningPodComponent

* unssubscribe from ghostreturn message in cloningpodComponent onRemove

Co-authored-by: Exp <theexp111@gmail.com>
Co-authored-by: DrSmugleaf <DrSmugleaf@users.noreply.github.com>
2020-09-02 12:07:54 +02:00
Moses 6a4b856961
Extinguisher cabinet (#1976)
* 1779 Add extinguisher cabinet base item, rsi, and class based on potted plant

* Pretty much the rest of the owl

* Allow construction

* no more deconstruction

* pr fixes
2020-09-02 01:41:35 +02:00
py01 4d43a15cba
Pump enabled animation (#1973)
* Pump enabled animation

* naming fixes

Co-authored-by: py01 <pyronetics01@gmail.com>
2020-09-01 00:29:53 +02:00
py01 178931e54b
Pump visuals (#1960)
* Pipe sprites

* pipe copyright

* SharedPipeComponent

* Pipe Visualizer draft

* missing longitudinal pipe sprites

* expanded rsi states

* pipe prototype fixes

* Fixed pipe visualizer

* PressurePump and VolumePump

* VolumePump fix

* PressurePump fix

* Shared pump

# Conflicts:
#	Content.Server/GameObjects/Components/Atmos/Piping/Pumps/BasePumpComponent.cs
#	Content.Server/GameObjects/Components/NodeContainer/Nodes/PipeNode.cs

* PumpVisualizer Draft

* ConduitLayer enum

* PipeVisualizer update

* halfpipe sprites

* pumpvisualizer simplification

* yaml unneeded proto removal

* pump visualizer draft 2

* Pump overlays

* pump rsi name

* merge fix

* PumpVisuals ConduitLayer

* merge fix

Co-authored-by: py01 <pyronetics01@gmail.com>
2020-08-31 12:33:05 +02:00
py01 68ec6e6be5
Pipe Sprites & Visualizer (#1954)
* Pipe sprites

* pipe copyright

* SharedPipeComponent

* Pipe Visualizer draft

* missing longitudinal pipe sprites

* expanded rsi states

* pipe prototype fixes

* Fixed pipe visualizer

* ConduitLayer enum

* PipeVisualizer update

* halfpipe sprites

* yaml unneeded proto removal

* PipeVisualizer uses its own RSI

* Removes unused field from PipeVisualizer

Co-authored-by: py01 <pyronetics01@gmail.com>
2020-08-31 02:13:15 +02:00
metalgearsloth 72eb1fdc1c
Add door welding (#1951)
* Add door welding

Surprised this wasn't in already.

* smug's feedback

Co-authored-by: Metal Gear Sloth <metalgearsloth@gmail.com>
2020-08-30 11:16:29 +02:00
Exp b993ebb30a
Status Effect Tooltip & Notify on click (#1943)
* -Show tooltip on hover
-Show notify on click

* -Status Effects now get removed instead of going invisible
-Removed empty textures for that

* Revert break in HungerComponent
2020-08-29 13:33:38 +02:00
DrSmugleaf 1ecf8aad1a
Add prediction for standing states and mob states (#1937) 2020-08-29 13:20:37 +02:00
ancientpower 566ed6b770
Adds the antimatter engine (#1905)
* adds antimatter engine

* fixes some nullables

* fixes ALL OF THE NULLABLES

* adds explosions

* adds fancy lighting

* requested changes + license info

Co-authored-by: ancientpower <ancientpowerer@gmail.com>
2020-08-29 13:05:44 +02:00
Víctor Aguilera Puerto 16f0eebf15 Merge branch 'master' into 2020-08-19-firelocks
# Conflicts:
#	Content.Server/GameObjects/Components/Atmos/AirtightComponent.cs
#	Content.Server/GameObjects/Components/Atmos/GridAtmosphereComponent.cs
#	SpaceStation14.sln.DotSettings
2020-08-28 14:35:45 +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
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
DrSmugleaf dd3a697c12
Fix the server not checking uplink purchase prices (#1917) 2020-08-25 18:13:19 +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 b5a68748ea
Fix strip menu not closing properly (#1908) 2020-08-25 12:44:06 +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
DrSmugleaf 8a27a5322a Replace pragma warning 649 disable/restore with default! 2020-08-24 14:10:28 +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
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 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
DrSmugleaf 092dd7c946
Fix xenos not changing sprites when going into crit or dying (#1854) 2020-08-22 15:51:35 +02:00
Víctor Aguilera Puerto 8e54ea42e6 Fix rare crash when deleting airlock while the deny animation is playing 2020-08-22 13:41:35 +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
Víctor Aguilera Puerto 68fb5d4257 Merge branch 'master' into 2020-08-19-firelocks 2020-08-21 16:51:50 +02:00
Pieter-Jan Briers bf60a4e9fc
Merge branch 'master' into mathmerge 2020-08-20 20:33:43 +02:00
Pieter-Jan Briers ed1a96e536
Nullability fixes. 2020-08-20 16:48:15 +02:00
nuke f4909cdb98
Climbing system (#1750)
* Initial commit

* Climbing uses its own controller now

* Missed a check

* Get rid of hands check

* Cleanup

* Get rid of speciescomponent stuff

* Remove unneeded check, add separate case for moving other players.

* Add DoAfter

* IClientDraggable added to ClimbingComponent

* Added some basic integration tests. Renamed ClimbMode to Climbing.

* oops

* Minor fixes

* ffff

* Table fix

* Revamped system so its more predicted, uses proper  logic for de-climbing. Get hype!!!

* Flag check fix

* Distance check and reset numticksblocked

* get rid
2020-08-20 00:13:22 +02:00
Julian Giebel 7771f58460
Improve on disposal routing code (#1795)
Co-authored-by: Julian Giebel <j.giebel@netrocks.info>
2020-08-19 20:43:56 +02:00
Swept 20ab566f8c
Switches current PDAs to the /tg/ ones. (#1796)
* Switches PDAs with tg ones and renames flashlight component

* Which chucklefuck hid the ID cards in the clothing folder

* Removes Mime PDA as i'm gonna do that in another PR

* Moves EVERY SINGLE PDA over by exactly one pixel so they're aligned perfectly with the UI slot

* On second thought moves back the id-cards since I don't want to deal with conflicts
2020-08-19 20:41:33 +02:00
Swept f79085d43e
Tones down screenshake (#1794) 2020-08-19 18:24:50 +02:00
SoulSloth dc77c399b9
Add 'Scan DNA' function to medical scanner (#1783)
* 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

* changed scan dna button to Scan and Save DNA
2020-08-19 16:23:20 +02:00
Julian Giebel 1292adb001
Disposal routing (#1710)
* Implement disposal tagger
Implement disposal  router
Combine sprites to make conpipe-tagger sprite

* Implement change requests

* Remove nullable

* Update DisposalHolderComponent.cs

* Update DisposalHolderComponent.cs

* Update Content.Server/GameObjects/Components/Disposal/DisposalRouterComponent.cs

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

Co-authored-by: Julian Giebel <j.giebel@netrocks.info>
Co-authored-by: DrSmugleaf <DrSmugleaf@users.noreply.github.com>
2020-08-19 15:50:06 +02:00
Víctor Aguilera Puerto 5190c04944 Some work 2020-08-19 12:23:42 +02:00
SoulSloth 7664b30951
Add a fire extinguisher (#1685)
* added a lantern

* Add A Lantern with radiating light

* Added a GasVapor system and made a base for extinguisher spray.

* switched to using solution component for fire extinguisher

* made it so fire extinguisher's can run out of water vapor

* Added actual Gas to Gas Vapor, now getting atmosphere for touched tiles.

* Made it so gasVapor reacts and dissapates on reacting

* GasVapor now dissapates exponentially while traveling

* Added in-hands for fire extinguisher

* Added Spraysound to gasSprayer and to fire extinguisher prototype

* parameterized GasSprayer and GasVapor

* removed un-used imports in gasSprayer and gasVapor components and systems

* removed accidential threading import into gasmixturecomponent

* add a shared extinguisher component for extinguisher spray rotation instead of piggy-backing on RogueArrow

* paremeterized fuelCost and fuel name in GasSprayerComponent

* Paremeterized gasAmount, removed un-used code from gasVaporComponent

* Removed BaseItem Parent from Extinguisher_spray

* added GasVapor and GasSprayer to Ingored Components list

* reduced offset of spawned extinguisher vapor from player

* Update IgnoredComponents.cs

* renamed SharedExtinguisherComponent to SharedGasSprayerComponent and removed reference to RoguePointingArrow

* renamed shareExtinguisherComponent to SharedGasSprayerComponent

* Update Content.Server/Atmos/GasSprayerComponent.cs

Added check for solution component on GasSprayer.

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

* Update Content.Server/Atmos/GasSprayerComponent.cs

Co-authored-by: DrSmugleaf <DrSmugleaf@users.noreply.github.com>
2020-08-18 17:45:49 +02:00
metalgearsloth f54ba4b6d5
Gas overlay chunking (#1678)
Co-authored-by: Metal Gear Sloth <metalgearsloth@gmail.com>
2020-08-17 16:12:21 +02:00
DrSmugleaf b051261485
Bodysystem and damagesystem rework (#1544)
* Things and stuff with grids, unfinished w/ code debug changes.

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

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

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

* Many cleanup changes.

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

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

* Commit human.yml

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

* Latest update with many changes

* Minor changes

* Fixed Travis build bug

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

* Commit rest of stuff

* Latest changes

* Latest changes again

* 14 naked cowboys

* Yay!

* Latest changes (probably doesnt compile)

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

* Cleaned some stuff up

* More cleanup

* Refactoring of code. Basic surgery path now done.

* Removed readme, has been added to HackMD

* Fixes typo (and thus test errors)

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

* Still working on that god awful merge

* Latest changes

* Latest changes!!

* Beginning of refactor to BoundUserInterface

* Surgery!

* Latest changes - fixes pr change requests and random fixes

* oops

* Fixes bodypart recursion

* Beginning of work on revamping the damage system.

* More latest changes

* Latest changes

* Finished merge

* Commit before removing old healthcode

* Almost done with removing speciescomponent...

* It compiles!!!

* yahoo more work

* Fixes to make it work

* Merge conflict fixes

* Deleting species visualizer was a mistake

* IDE warnings are VERBOTEN

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

* Namespaces, comments and exception fixes

* Fix conveyor and conveyor switch serialization

SS14 in reactive when

* Move damage, acts and body to shared

Damage cleanup
Comment cleanup

* Rename SpeciesComponent to RotationComponent and cleanup

Damage cleanup
Comment cleanup

* Fix nullable warnings

* Address old reviews

Fix off welder suicide damage type, deathmatch and suspicion

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

* Remove RotationComponent, change references to IBodyManagerComponent

* Add a bloodstream to humans

* More cleanups

* Add body conduits, connections, connectors substances and valves

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

This reverts commit 9ab0b50e6b15fe98852d7b0836c0cdbf4bd76d20.

* Implement the heart mechanism behavior with the circulatory network

* Added network property to mechanism behaviors

* Changed human organ sprites and added missing ones

* Fix tests

* Add individual body part sprite rendering

* Fix error where dropped mechanisms are not initialized

* Implement client/server body damage

* Make DamageContainer take care of raising events

* Reimplement medical scanner with the new body system

* Improve the medical scanner ui

* Merge conflict fixes

* Fix crash when colliding with something

* Fix microwave suicides and eyes sprite rendering

* Fix nullable reference error

* Fix up surgery client side

* Fix missing using from merge conflict

* Add breathing

*inhale

* Merge conflict fixes

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

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

* Use and add to the new AtmosHelpers

* Fix feet

* Add proper coloring to dropped body parts

* Fix Urist's lungs being too strong

* Merge conflict fixes

* Merge conflict fixes

* Merge conflict fixes

Co-authored-by: GlassEclipse <tsymall5@gmail.com>
Co-authored-by: Pieter-Jan Briers <pieterjan.briers+git@gmail.com>
Co-authored-by: AJCM-git <60196617+AJCM-git@users.noreply.github.com>
2020-08-16 16:42:42 -07:00
Visne 0b448b500d Merge MathHelper and FloatMath
Requires  space-wizards/RobustToolbox#1234
2020-08-16 14:54:52 +02:00
Víctor Aguilera Puerto c3df108b27
Stripping (#1668)
* Start work on stripping.

* more strippable work

* Stripping works

* Nullable

* MORE NULLABLE

* nullable moment

* life is pain

* Interaction check.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

* Rename InventoryComponent and HandsComponent's OnChanged event to OnItemChanged

* Apply suggestions from code review

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

* Apply suggestions from code review

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

* Apply suggestions from code review

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

* Use static EquipmentSlotDefines

* Do not expose ContainerSlot on Inventory or Hands.

Co-authored-by: DrSmugleaf <DrSmugleaf@users.noreply.github.com>
2020-08-15 20:33:42 +02:00
metalgearsloth 845f5af7d0
Fix do_after throwing on attaching to new entity (#1679)
Co-authored-by: Metal Gear Sloth <metalgearsloth@gmail.com>
2020-08-15 16:03:43 +02:00
metalgearsloth 5962280d36
Station events (#1518)
* Station event system

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

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

* Invariants for event names

* Fix random event shutdown

* Mix stereo announcements to mono

* Address feedback

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

* Fix radiation overlay enum

* use entityquery instead

* zum's feedback

* Use EntityQuery

Co-authored-by: Metal Gear Sloth <metalgearsloth@gmail.com>
2020-08-13 22:52:17 +02:00
DrSmugleaf 4a8ed41e3a
Fix namespaces and optimize imports (#1651)
* Fix namespaces and optimize imports

* Cleanup fixes

* Merge conflict fixes

* Merge conflict fixes

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

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

* Tweak sound reduction

* Mark vending as abstract

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

* Add screen layer back in

* Unstuff what was stuffed

* Removed the Soviet and USA vending machines

* Added proper licensing

Co-authored-by: Metal Gear Sloth <metalgearsloth@gmail.com>
Co-authored-by: Swept <jamesurquhartwebb@gmail.com>
2020-08-13 14:39:23 +02:00
Pieter-Jan Briers e76003948b
Remove this parameter from FloatMath.Clamp.
That was a stupid idea.
2020-08-12 21:19:34 +02:00
Pieter-Jan Briers f182ff5613
Remove CannyFastMath. 2020-08-12 21:19:34 +02:00
Acruid cdc6ec3bfc Ranged weapon firing does not depend on DefaultGrid anymore. 2020-08-11 16:44:15 -07:00
Julian Giebel c00a08f504
Add disposal-charging state to disposal rsi (#1649)
Add charging state to UpdateVisualState in Content.Server/DisposalUnitComponent
2020-08-11 17:52:37 +02:00
Exp aaffd7e198
Chem Master & Dispenser Power Fixes (#1622)
* -ChemDispenser & Master can now open the UI without power
-Both can also eject beaker without power

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

* Fix server freeze
2020-08-10 16:30:56 +02:00
SoulSloth 52a01fff32
Add a lantern and a radiating light component (#1571)
* added a lantern

* Add A Lantern with radiating light

* Update meta.json

Added copyright information for lantern.rsi
2020-08-09 21:57:42 +02:00
Qustinnus 81e2dde7f5
Fixes recoil and adjusts values (#1573) 2020-08-09 20:56:02 +02:00
Víctor Aguilera Puerto 4fe1083bfb Fix gas analyzer returning pressure instead of temperature. 2020-08-09 15:21:23 +02:00
Exp cc9f16e738
Adds Gas Analyzer (#1591)
* -Started Gas Analyzer
-TemperatureHelpers

* Formatting

* Adds PopupTooltip to NotifyManager

* Revert Tooltip fuckery

* Gas Analyzer gives proper error messages

* Localization

* Added a very wip gas analyzer ui

* UI works, doesn't look good but hey

* Safety checks

* Fancy WIP gas mix bar

* Gas Color

* Gas Amount shows only 2 decimal places

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

* IDropped something

* Description

* -Percentage
-Padding

* ItemStatus

* -Proper Danger Warnings
-Added Warning danger state

* Pressure unit

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

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

* Minor do_after doc cleanup

* do_the_shuffle

Fix nullable build errors.

* The last nullable

* Implement NeedHand

Thanks zum.

* nullable dereference

* Adjust the system query

Co-authored-by: Metal Gear Sloth <metalgearsloth@gmail.com>
2020-08-08 18:16:13 +02:00
ShadowCommander cf45beb7dc
Fix OpenCentered by setting size before position (#1604) 2020-08-06 18:06:24 -07:00
Víctor Aguilera Puerto 85df48a700
Adds atmos (#1389)
* Add initial atmospherics framework

* Make walls and airlocks airtight

* Add the basic atmosphere gas system

* Atmos: move CardinalToIntVec and Offset into extention methods in EntityNetworkUtils

* Optimize vending machine code a bit.

* Address feedback from Atmos PR, make code compile

Fix use of OnMove -> SnapGridComponent.OnPositionChanged.
Added pause checking to atmos simulations.

* Improvements to the existing ZAS prototype (#996)

* Rename Volume -> Quantity in GasProperty

This makes the name consistent with the rest of the code, given that
it's meant to be a mol value.

* Replace Gas enum with GasPrototype

Unused as of yet, but laying the groundwork for future changes.

* Update AtmosphereMap, improving maths

Adds a temporary default atmosphere, hardcoded in for testing. It will
be replaced eventually.

Fixed a maths mistake in the original code involving unit conversions.

Added the Take() method to IAtmosphere, for taking some volume of
mixture out of a gas mix. This will be pretty handy in the future, but
for now it's used by walls to delete air where they are built.

* Fix merging, splitting logic for zones

Removing a cell from a zone now correctly reduces its volume.
Adding a cell to a zone now correctly increases its volume.

* Improvements to atmos code, reorganising of types

Moved GasPrototype to shared, because it's going to be used by the
client later.

Split up the atmosphere code. Now zones are explicitly their own kind of
atmosphere, which should speed up some loops and also solve
inconsistencies in the volume calculation.
GasMixtures are another type of atmosphere, for more general use.

Try to fix the splitting/merging code, which was quite cryptic and not
clear at all. It *should* work now.

* Switch zones back to MapIndices

Turns out I'm an idiot who misunderstood the code. MapIndices can be
used as one-per-tile, which is what is needed for atmos. GridCoordinates
are many-per-tile, and were causing lots of problems.

* Add zone debugging overlay

This is the first example of zone information being sent to a client.

It adds the `togglezoneinfo` command, which overlays the tiles and gas
information for the zone currently occupied by the user on the screen.
This was helpful for debugging the GridCoordinates problem.

* Fix position of atmos zone debug text

* Make AirtightComponent only activate on MapInit

This should stop it splitting atmospheres in mapping.

* Doc comments improvements to AtmosphereMap

Fix some malformed comments, inherit some useful docs, document some
more functions.

* Add zone logic for changing tiles to/from space

Zones are now correctly created when all the tiles in a room are built,
and destroyed when one of the tiles is destroyed.

* update engine

* right

* Cleanup code

* Port GasMixture, further cleanup

* Fix windows not being airtight, some other stuff

* Work on atmos

* Difference between ZoneBlocked and AirBlocked

* Big GridAtmosphereManager cleanup, zones are broken now oops

* Remove zones, add excited group implementation

* Further cleanup

* Further work on atmos

* Work on gas overlay.

* PumpGasTo and ReleaseGasTo methods for GasMixture.

* Adds Tile Overlay System.

* More work on atmos

* Gasses spread, equalize and all that

* Fix a few crashes

* Gas can actually spread from room to room after opening airlocks

* Add explosive depressurization, tile prying on depressurization, gas spreading on wall break. Etc.

* More work

* Remove atmoschem, add "performant" gas overlays

* what the fuck git

* More work I guess?

* Fix stuff, create a few (empty) components for future work

* Fix temperature

* Fix tile air sharing

* Atmos optimizations

* Further atmos optimizations

* Even more optimizations!

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

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

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

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

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

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

* Address a few reviews

* Oops, forgot to remove this

* Update Content.Server/Atmos/AtmosphereMap.cs

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

* Fix compile

* Improved client gas tile overlays

* Less allocations

* Even less allocations!

* some stuff dunno

* Big refactor time, oh yeah

* it truly is 1 AM

* bruh

* No idea why now it doesn't work.
Oh well! I'll fix this on thursday 😌

* Basic atmos serialization

* Fix bugs, add VV attributes

* Start adding stuff for gas reactions

* Add a few atmos commands

* Fill gas command

* Changes to gas opacity

* Fixes I guess

* Fixes, add space wind sound

* High pressure movement!

* Better high pressure movements.

* Fix direction, maybe?

* And now it works great

* Science!

* and this is why you don't trust people

* remove logging

* Turns out I'm fucking dumb

* Work on hotspots and reactions, add tritium gas

* IGridAtmosphereComponent interface! For future unsimulated grids.

* Makes atmos updates NoGC.

* C E A S E

* Add settemp atmos command

* Important reminder.

* Remove useless AtmosCooldown.

* More work on hotspots

* Overlays for hotspots. Fire works!

* Turns out I suck at coding

* Fire texture change

* Yeah let's make that an absolute value, hmm?

* Support for atmos after teleporting grid (more or less)

* fix attempt (doesn't actually fix it)

* Make static variable not static

* Remove magic numbers

* Stopwatch moment

* Slight cleanup.

* More cleanup.

* Atmos optimizations

* Fix build

* Remove useless ghost atmos shit

* Adds CanSeeGases component for gas overlay stuff

* Component and prototype ignores

* ExcitedGroups now dispose on being merged with others

* Some tweaking.

* Atmos now uses frame time for updates.

* Nullable boogaloo

* IExamine fix

* Fix build

* Fix restartround

* Atmos tweaking, use invalid direction

* Increase high pressure movement force

* Better sort

* Update submodule.

* NULLABILITY AAAAH

Special thanks to monster860 and all monstermos contributors!

Co-authored-by: Campbell Suter <znix@znix.xyz>
Co-authored-by: Pieter-Jan Briers <pieterjan.briers+git@gmail.com>
Co-authored-by: ComicIronic <comicironic@gmail.com>
Co-authored-by: silicons <2003111+silicons@users.noreply.github.com>
Co-authored-by: Pieter-Jan Briers <pieterjan.briers@gmail.com>
2020-08-02 20:08:20 +02:00
Exp c61e6d541b
Moves ExamineSystem to Shared & adds next step info to construction examine (#1567) 2020-08-01 17:37:12 +02:00
Acruid 86f74b35d1 Made all overlays compatible with the new Overlay changes in engine. 2020-07-31 14:01:34 -07:00
DrSmugleaf 7a983062a9
Fix disposal units in general (#1552)
* Makes disposal units able to be entered when unpowered

* Make the unit's light turn off when unpowered

* Remove event handlers on component removal

* Make the disposal unit's lever engage when queueing an auto engage

* Autoengaging the lever on insert was a mistake

* Make the engage button active when engaged

* Make the engage button toggleable

* Fix nullable error
2020-07-31 14:50:46 +02:00
DrSmugleaf bda5ce655f
Add the trash man (#1367)
* Add disposal.rsi

* Rename disposal resource to disposal.rsi and create basic components

* Add disposal nets

* Add pushing entities along the disposal network

* Add disposal unit

* Unregister disposable component

* Add flush and selfinsert verbs to disposal unit

* Add gradual disposals movement

* Fix being able to walk through space for a while after exiting disposals

* Multiply disposals speed by 10

And fix early returns when moving an entity

* Rename Disposable component to InDisposals

* Remove DisposalNet and add on anchor events

* Remove anchored events, moved to interfaces

* Code cleanup

* Fix adjacent tubes' connections when a tube connects

* Fix jittery movement in disposals

* Remove Logger.Debug call

* Move disposals updates to InDisposalsComponent

* Fix adjacent connection valid directions check

* Disposal tubes now throw you out where they are facing

* Add disposal unit exit cooldown

* Set different disposal pipe sprite state depending on anchored value

* Add recycler

* Add recycler animation

* Add bloody texture to the recycler when grinding a living being

* Add PowerDevice component to the disposal unit

* Made the Recycler center on the grid

* Add disposal junction

* Add picking a random direction if junction is entered from the output side

* Add disposal flush and clang sounds

Taken from VGStation

* Move disposal flush and clang sound file names to exposedata

* Add disposalsmap.yml to test with

* Add summaries to DisposalUnit fields

* Add sideDegrees yaml property to disposal junctions

* Fix outdated usings

* Add conveyor resources

* Update RobustToolbox

* More merge fixes

Add conveyor collision masks

* Add ConveyorComponent

* Fix crash when reentering a body

* Merge branch 'master' into disposals-1147

* Reduce recycler bounds, set hard to false, add summary and expose "safe" to yaml

* Move IAnchored and IUnAnchored to AnchorableComponent

* Update power components and remove old disposals map

* Remove redundant sprite layers

* Add tile pry command

* Fix tilepry command

* Fix DisposalJunctionComponent missing a component reference

* Add anchor by radius command

* Add Y-Junctions

* Add disposal bend

* Add unanchor command

* Change DisposalJunction prototypes to specify their angles

* Fix disposal units being hidden below the floor

* Removed IAnhored and IUnAnchored interfaces

* Replace CanBeNull annotation with nullable reference types

* Update showwires command

* Add recycler recycling items

* Added angle and speed properties to ConveyorComponent

* Fix conveyort textures

* Add animation to the disposal unit

* Fix anchor and unanchor commands sometimes not finding any entities

* Fix not reading flush_time from disposal unit prototype

* Fix merge conflict wrong using

* Fix disposal, recycling and conveyor texture paths

Delete diverters

* Update visualizer names

* Add DisposableComponent, change drag and drop to work with multiple components

Ignoreinsideblocker client side for drag and drops, like on the server
Add more comments

* Add conveyor belts properly moving entities on top

* Anchorr wires

* Change conveyor bounds to 0.49

* Anchor catwalks, airlocks, gravity generators, low walls, wires and windows

* Add starting/stopping conveyors

* Add reversed conveyors

* Add conveyor switches

* Move InDisposalsComponent code to DisposableComponent

* Add ExitVector method to tubes

* Fix not updating tube references when disconnecting one

* Replace IoCManager call with dependency

* Add tubes disconnecting if they move too far apart from one another

* Move disposals action blocking to shared

* Add rotating and flipping pipes

* Make conveyor intersection calculations approximate

* Fix 1% chance of the server crashing when initializing the map

Happens when emergency lockers remove themselves

* Add disposal unit interface

* Make disposal units refuse items if not powered

* Make disposal tubes hide only when anchored

* Make disposal junction arrows visible to mere mortals

* Add disposal tubes breaking

* Add tubeconnections command

* Add missing verb attribute

* Add flipped disposal junction

* Add ids and linking to conveyors and switches

* Add conveyor switch prying and placing

* Add anchoring conveyor switches and refactor placing them

* Add missing serializable attributes from DisposableComponentState

* Make conveyor speed VV ReadWrite

* Change drawdepth of conveyors to FloorObjects

* Make conveyor anchored check consistent

* Remove anchoring interaction from switches

* Add conveyor switch id syncing and move switches slightly when pried

* Make entities in containers not able to be moved by conveyors

* Add conveyor and switches loose textures

* Merge conflict fixes

* Add disposal unit test

* Add flushing test to disposal unit test

* Add disposal unit flush fail test

* Add disposals to the saltern map

* Fix saltern disposal junctions

* Add power checks to the recycler

* Fix disposal unit placement in maintenance closet

* Remove disposal junctions from saltern

* Readd junctions to saltern

* Add the chemmaster to saltern at the request of Ike

* Move the chemistry disposal unit

* Fix casing of disposal flush sound

* More merge conflict fixes

* Fix a compiler warning.

* Remove popup invocation from buckle

* Remove showPopup parameter from InteractionChecks

* Remove unnecessary physics components

Fixes the physics system dying

* Replace PhysicsComponent usages with CollidableComponent

* Update existing code for the new controller system

* Change conveyors to use a VirtualController instead of teleporting the entity

* Remove visualizer 2d suffix and update physics code

* Transition code to new controller system

* Fix shuttles not moving

* Fix throwing

* Fix guns

* Change hands to use physics.Stop() and remove item fumble method

* Add syncing conveyor switches states

* Fix the recycler wanting to be a conveyor too hard

* Fix showwires > showsubfloor rename in mapping command

* Fix wifi air conveyors

* Fix test error

* Add showsubfloorforever command

Changes drawdepth of the relevant entities

* Disable opening the disposal unit interface while inside

* Add closing the disposal unit interface when getting inside

* Add closing the interface when the disposal unit component is removed

* Add removing entities on disposal unit component removal

* Delay disposal unit flush and fix serialization

* Implement pressure in disposal units

* Fix chain engaging a disposal unit

* Implement states to the disposal unit

* Fix missing imports from merge conflict

* Update Content.Server/GameObjects/Components/Conveyor/ConveyorComponent.cs

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

* Address some reviews

* Fix za buildo

* Use container helper to detach disposables

* Make conveyors use the construction system

* Make conveyor groups and syncing sane

* Make flip flip

brave

* Add activate interface to conveyor switches

* Fix not removing the switch from its group when it's deleted

* Fix not registering conveyors and switches on initialize

* Stop using 0 as null

* Disconnect conveyors and switches when disposing of a group

* Make disposal units not able to be exited when flushing

* Make disposal units flush after a configurable 30 seconds

* Add handle and light layers to the disposal unit

* Merge engaging and flushing

* Update saltern.yml

* I love using 0 as null

* Make disposal unit visual layers make sense

* Remove duplicate remove method in disposal units and update light

* Replace DisposableComponent with disposal holders

* Fix disposal holders deleting their contents on deletion

* Account for disposal unit pressure in tests and make a failed flush autoengage

* Rename disposable to holder

* Fix junction connections

* Disable self insert and flush verbs when inside a disposal unit

* Fix spamming the engage button making the animation reset

* Make the recycler take materials into account properly

Fix cablestack1 not existing

* Merge conflict fixes

* Fix pipes not being saved anchored

* Change conveyors and groups to not use an id

Co-authored-by: Pieter-Jan Briers <pieterjan.briers+git@gmail.com>
Co-authored-by: Pieter-Jan Briers <pieterjan.briers@gmail.com>
2020-07-30 23:45:28 +02:00
DrSmugleaf 00d5effcb8
Fix addhand command (#1519) 2020-07-28 15:38:23 +02:00
DrSmugleaf c57b1c2914
Fix inhands not displaying (#1517) 2020-07-28 02:53:36 -07:00
DrSmugleaf 0a82aba88e
Add pulling (#1409)
* Initial framework for pulling.

* Make it possible to pull items via (temporary) keybind Ctrl+Click, make items follow the player correctly.

* Make other objects pullable, implement functionality for moving an object being pulled, make only one object able to be pulled at a time.

* Make sure that MoveTo won't allow collisions with the player

* Update everything to work with the new physics engine

* Update Content.Server/GameObjects/EntitySystems/Click/InteractionSystem.cs

Co-authored-by: ComicIronic <comicironic@gmail.com>

* Physics update and convert to direct type casts

* Add notnull checks

* Add pull keybinds to the tutorial window

* Move PullController to shared

* Fix pulled items getting left behind

* Fix moving pulled objects into walls

* Remove flooring of coordinates when moving pulled objects

* Add missing null check in PutInHand

* Change pulling keybind to control and throwing to alt

* Change PhysicsComponent references to IPhysicsComponent

* Add trying to pull a pulled entity disabling the pull

* Add pulled status effect

* Fix merge conflicts

* Merge fixes

* Make players pullable

* Fix being able to pull yourself

* Change pull moving to use a velocity

* Update pulled and pulling icons to not be buckle

A tragedy

* Make pulled and pulling icons more consistent

* Remove empty not pulled and not pulling images

* Pulled icon update

* Pulled icon update

* Add clicking pulling status effect to stop the pull

* Fix spacewalking when pulling

* Merge conflict fixes

* Add a pull verb

* Fix nullable error

* Add pulling through the entity drop down menu

Co-authored-by: Jackson Lewis <inquisitivepenguin@protonmail.com>
Co-authored-by: ComicIronic <comicironic@gmail.com>
2020-07-27 00:54:32 +02:00
Moses 8e08c64fcf
Show if items can be placed in a slot when hovering (#1480)
Co-authored-by: Pieter-Jan Briers <pieterjan.briers@gmail.com>
2020-07-26 14:25:38 +02:00
DrSmugleaf 4b4e83d2bf
Add changing the amount of hands on the GUI depending on your body parts (#1406)
* Multiple hands in gui first pass

* Remove IHandsComponent interface

* Create hand class and more hand textures

* Refactor ServerHandsComponent to use a single list of hands

* Seal SharedHand

* Fix picked up items not showing on top of the hand buttons

* Remove HandsGui buttons and panels dictionaries

* Fix items in hands rendering

* Fix wrong hand container comparison

* Fix not updating the location of duplicate hands

* Change ClientHandsComponent to use a SortedList instead of a dictionary

* More merge conflict fixes

* Change SortedList to List

* Fix hand button order

* Add item tooltip for more than 2 hands and updating when removing hands

* Add add hand and remove hand command

* Merge conflict fixes

* Remove nullable reference type from ContainerSlot

* Fix texture errors

* Fix error when reaching 0 hands

* Fix error when swapping hands with no hands

* Merged remove hand methods

* Fix item panel texture errors

* Merge conflict fixes

* Fix addhand and removehand command descriptions

* Add properly displaying tooltips for 2 hands

* Make hand indexes and locations consistent across the client and server

* Add dropping held entity if a hand is removed

* Change hand location to be calculated by index

* Made different hand gui updates more consistent

* Remove human body yml testing changes

* Sanitize addhand and removehand commands

* Merge conflict fixes

* Remove testing changes

* Revert body system changes

* Add missing imports

* Remove obsolete hands parameter in yml files

* Fix broken import

* Fix startup error and adding and removing hands on the same tick

* Make hand container id use an uint

In case someone gets more than 2 billion hands

* Rename hand component files

* Make hands state use an array
2020-07-25 15:11:16 +02:00
DrSmugleaf 245dbdaa3a
Add pointing (#1435)
* Add pointing keybind and simple message

* Add turning the player when pointing

* Add pointing arrow

* Make the popup message appear on the pointing entity

* Add pointing to tiles and space and proper grammar

* Move pointing bind from HandsSystem to PointingSystem

* Add more messages for pointing depending on the viewer perspective

* Fix non nullable reference type

* Serialize pointing arrow duration

* Serialize pointing arrow step and add summaries

* Make arrow speed serializable and make it depend on frame time

* Add 0.2 second delay between pointings

* Add pointing arrow yaml examples

* Add the ability for pointing arrows to be rogue

* Remove rogue package reference

* Add point to verb

https://cdn.discordapp.com/attachments/313107470031650816/735268651636228197/unknown.png

* Add shift middle clicking an entity in the verb menu to point at it

* Add VV to PointingArrowComponent

* Increase pointing delay from 0.2 to 0.5 seconds

* Address reviews

* Fix nullability errors

* Separate pointing and rogue pointing code

* Fix rogue pointing arrow visuals

* Made rogue pointing arrow rotation adjustment readable for mortals

* Make rogue pointing arrows less destructive

* Cleanup more of the rogue pointing arrow code
2020-07-24 14:51:18 +02:00
metalgearsloth 56737b635f
Damage visualizer for simple mobs (#1332)
Co-authored-by: Metal Gear Sloth <metalgearsloth@gmail.com>
Co-authored-by: Pieter-Jan Briers <pieterjan.briers+git@gmail.com>
2020-07-23 02:04:03 +02:00
DrSmugleaf a8b3c99075
Add two-way serialization in ExposeData for some of the components that are missing it (#1451) 2020-07-23 01:46:09 +02:00
DrSmugleaf b88afec350
Add slipping prediction (#1440) 2020-07-23 01:40:31 +02:00
DrSmugleaf c9057d01ae
Remove 2D suffix from visualizers (#1453) 2020-07-23 00:56:53 +02:00
Swept 1386b8ca2d
Fixes Jumpskirts (#1442) 2020-07-22 01:37:46 +02:00
DrSmugleaf 202954efe2
Remove unused imports (#1431)
We don't support .Net Framework anymore.
2020-07-19 17:06:51 -07:00
R. Neuser 86c318cc74
OverlayManager 2 Electric Boogaloo (#1410) 2020-07-19 17:32:26 +02:00
ike709 e65c64af14
Adds the ChemMaster 4000 (#1398) 2020-07-17 22:41:19 +02:00
Pieter-Jan Briers 37a893c8ad
Adds side-open button styles. 2020-07-17 12:06:52 +02:00
DrSmugleaf f313a9267a
0 days without buckle breaking (#1366) 2020-07-17 10:43:10 +02:00
James Campos 52ddcfedc5
Fix client crash when when controlling and uncontrolling a stunned entity (#1388)
Fixes #1192
2020-07-13 15:54:47 +02:00
Víctor Aguilera Puerto 7ae114f92c
Merge pull request #1263 from DrSmugleaf/buckle-locker-fix-1262
Fix buckle in general
2020-07-09 00:15:28 +02:00
Pieter-Jan Briers 023fd60054
Fix throwing in space. 2020-07-08 18:29:13 +02:00
DrSmugleaf e1f9033a69 Merge branch 'master' into buckle-locker-fix-1262 2020-07-08 15:35:20 +02:00
DrSmugleaf e7d756811e
Replace CanBeNull annotations with nullable reference types (#1270)
Co-authored-by: Pieter-Jan Briers <pieterjan.briers+git@gmail.com>
2020-07-08 01:41:20 +02:00
Víctor Aguilera Puerto 271945e1a5 Cleanup flashbangs. Fixes #1305 2020-07-08 00:51:08 +02:00
Víctor Aguilera Puerto e27e4ed2b1 Fix overlays not being applied after reentering an entity 2020-07-07 23:31:36 +02:00
DrSmugleaf e2a96ac717 Merge branch 'master' into buckle-locker-fix-1262 2020-07-07 22:58:33 +02:00
Víctor Aguilera Puerto 75f92da8ac Fix tests 2020-07-07 22:41:33 +02:00
Víctor Aguilera Puerto 3833d1af5f Fix overlays applying EVERY overlay of EVERY overlay component
Cluster moment
2020-07-07 22:34:20 +02:00
AJCM-git e7847d1555
fixing lobby (#1297) 2020-07-07 21:04:27 +02:00
DrSmugleaf 8f685f0541 Merge branch 'master' into buckle-locker-fix-1262 2020-07-07 20:36:43 +02:00
AJCM-git ae41d03ec6
Re-organizing the Resources folder. Part 1. (#1234)
* First commit

* Lockers

* Lockers electric boogaloo

* Crates and Lockers

* Almost finishing the Textures folder

* Updating texture paths. Reminder to fix:
* Lockers
* Windows
* Vending Machines
* APC
* Catwalks
* Bedsheets and Cloaks
* Status effects

* dont know what happened here

* Commit before merge

* re-organizing

* Lockers broken

* Commit before merge

* Submodule

* renaming

* Fixing most issues

* forgot these ones

* Updating submodule

* typo

* Fixing some paths

* fixing some paths

* updating submodule

* (hopefully) fixing the submodule
2020-07-07 19:19:00 +02:00
DrSmugleaf b850ac2437 Merge branch 'master' into buckle-locker-fix-1262 2020-07-07 00:20:07 +02:00
DrSmugleaf c78ce3e27a
Add click dragging for buckle (#1290) 2020-07-07 00:04:30 +02:00
R. Neuser 88f49961d8
OverlayManager refactor and Flash (#1218)
* Flash component, overlay and shader
Add BeginDraw method to Overlay.cs

* Add flash icons, sounds

* Progress

* Multiple overlays without enums

* This is probably the worst way to do this IDK

* Remove nullable reference type

* Add AttackEventArgs as parameter to OnHitEntities
MeleeWeaponComponent.Attack now continues when OnHitEntities returns true (it hit something)
Add OverlayType enum so client and server can agree on overlay ids
Move IConfigurable to its own file
Add AoE flash with shorter duration
Flashing someone slows them down

* Add arc to flash
Set item size to something reasonable
Remove chat log message when flash burns out

* Remove unused interface
2020-07-06 23:37:39 +02:00
chairbender b35333d366
Click Drag Functionality + Refactor Interaction Interfaces (#1125)
Co-authored-by: Víctor Aguilera Puerto <6766154+Zumorica@users.noreply.github.com>
Co-authored-by: ComicIronic <comicironic@gmail.com>
Co-authored-by: Pieter-Jan Briers <pieterjan.briers+git@gmail.com>
2020-07-06 23:27:03 +02:00
DrSmugleaf 45211a2f0b Fix a buckled entity's sprite being drawn over the chair when looking up 2020-07-04 01:28:06 +02:00
DrSmugleaf 0a8a383019
Fix lasso buckle (#1246)
Co-authored-by: Pieter-Jan Briers <pieterjan.briers+git@gmail.com>
2020-07-02 23:36:06 +02:00
Pieter-Jan Briers bc24a852f9
Fix throwing. 2020-07-02 23:28:37 +02:00
Exp 8171e40a37
Added bolts to airlocks (#1138)
Co-authored-by: Pieter-Jan Briers <pieterjan.briers+git@gmail.com>
2020-07-02 15:31:06 +02:00
windarkata 6775ae8153
Cargo Console Limit (#1095)
Co-authored-by: Pieter-Jan Briers <pieterjan.briers+git@gmail.com>
2020-07-02 14:45:40 +02:00
py01 23cc6b1d4e
Power Rework (#863)
Co-authored-by: py01 <pyronetics01@gmail.com>
2020-06-28 17:23:26 +02:00
DrSmugleaf 602dac393e
Add Buckling (#1155)
* Create BuckleableComponent.cs

* Add strap component and keybind to buckle targeted entity

* Remove buckle keybind, turn it into a verb

* Add moving and attaching the buckled entity to the strap

* Fix reality collapsing when clicking on a buckled entity

* Add strap position to buckle a mob in the standing or down position

* Add new default strap position that makes no change to the mob's standing state

* Add Strap component to office chairs and stools

* Add Strap component to the pilot chair

* Add buckled status effect icon

* Add status effect click behaviour

* Add buckling and unbuckling sounds

* Change Buckle verb to only appear when an entity can be currently buckled

* Rotate buckled entity in the direction of the seat

* Disable entity rotation when buckled

* Fix buckle rotation on beds

* Buckling now finds the closest strap to the buckleable entity

* Fix rotation when unbuckling an entity

* Move buckle verb to StrapComponent

* Added buckled entity unbuckle verb, range and interaction checks

* Add checks for currently occupied straps

* Add unbuckling entity if its respective strap component is removed

* Add Clickable, InteractionOutline and Collidable components to bed

* Add rotation property to strap component

* Rename Buckleable to Buckle

* Add Buckle and Strap sizes to buckle multiple entities in the same strap

* Remove out of range popup message from strap verb GetData

* Move BuckledTo setter logic to its methods

* Fix Strap BuckledEntities being public

* Fix not updating status when Buckle component is removed

* Change BuckleComponent.BuckledTo to be of type StrapComponent

* Fix NRE when unbuckling

* Add buckle perspective messages

* Fix not equals comparison in strap verb

* Add added check to Strap TryAdd

* Change buckle.ogg and unbuckle.ogg from stereo to mono

* Remove -2f volume on buckle and unbuckle sounds

* Add summary to Strap TryAdd and Remove methods

* Make buckled entities unable to fall

* Fix default strap position not rotating the buckled entity

* Add downing after unbuckling an entity if it is knocked down

* Prevent an entity from buckling onto itself

Fixes stack overflow error

* Disable recursive buckling

* Add buckling onto straps by clicking them with an empty hand

* Add recursive buckle check to the trybuckle method as well

* Fix being able to click on a different strap to unbuckle from the current one

* Merge TryUnbuckle and ForceUnbuckle with a force argument

* Remove explicit unimplemented status effect clicking cases

* Add documentation to EffectBlockerSystem and ActionBlockerSystem
2020-06-25 15:52:24 +02:00
Víctor Aguilera Puerto f07cb9042b Instruments can no longer be played 'remotely'. Fixes #1168 2020-06-25 15:27:22 +02:00
Swept bad7f9dc6b
Lots of new inhands, adds phoron (#1220)
* Beaker Inhands

* Flashlight Inhands

* Tile Refactor

* Adds metal/glass sheet inhands

* Removes plasma

* Adds Phoron

* We boolin'

* Phoron inhands

* First Pass inhand food

* First food inhand pass

* Soda inhand sprites

* Actually adds them
2020-06-25 13:51:58 +02:00
Pieter-Jan Briers 5a5a3b8548
Move "players don't collide with mobs" to shared to fix mispredicts on it. 2020-06-24 11:58:13 +02:00
Pieter-Jan Briers 8ccf98333e
Remove bad component state hack from client mover component. 2020-06-24 11:57:56 +02:00
Pieter-Jan Briers f3a816321c
Merge branch 'master' into 20-06-24-movement-prediction 2020-06-24 04:04:43 +02:00
Pieter-Jan Briers da45a52325
WiP movement prediction. 2020-06-24 02:21:20 +02:00
metalgearsloth ac2c7da31f
Add magazine auto-eject message back in (#1191)
I goofed.

Co-authored-by: Metal Gear Sloth <metalgearsloth@gmail.com>
2020-06-22 15:18:41 +02:00
Swept 7b98f37f9a
Adds neck UI slot and rearranges inventory UI. (#1130)
* UI Icon

* It worked?

* Reorganized UI

* converted the bedsheet/cloak sprites

* backpacks go over cloaks now

* Added a couple more neck clothing

* Milk Ape
2020-06-21 22:02:18 +02:00
metalgearsloth 95995b6232
Add a LOT more dakka (#1033)
* Start adding flashy flash

* Change slop

Might give a smoother decline

* flashy flash

* Add flashbang and flash projectiles

Bang bang bang pull my flash trigger

* Add collision check to area flash

* Flash cleanupo

* flash.ogg mixed to mono
* Adjusted flash curve again

* Enhancing flashes with unshaded and lights and shit

Still a WIP

* Add the other ballistic gun types

Re-organised some of the gun stuff so the powercell guns share the shooting code with the ballistic guns.

* Re-merging branch with master

Also fixed some visualizer bugs

* Last cleanup

Fixed some crashes
Fixed Deckard sprite
Fixed Hitscan effects
Re-applied master changes
Re-factor to using soundsystem
Add some more audio effects

* Cleanup flashes for merge

Can put flashbangs in lockers so you don't get blinded

Fix some bugs

* Fix shotties

Also removed some redundant code

* Bulldoze some legacycode

brrrrrrrrt

* Fix clientignore warnings

* Add the other Stunnable types to StunnableProjectile

* Some gun refactoring

* Removed extra visualizers
* All casing ejections use the same code
* Speed loaders can have their ammo pulled out
* Bolt sound less loud

* Stop ThrowController from throwing

* Fix speed loader visuals

* Update hitscan collision mask and fix typo

* Cleanup

* Fit hitscan and flashbang collisions
* Use the new flags support

* Update taser placeholder description

* Update protonames per style guide

* Add yaml flag support for gun firerates

* Cleanup crew

* Fix Audio up (components, audio file, + remove global sounds)
* Add server-side recoil back-in (forgot that I was testing this client-side)
* Add Flag support for fire-rate selectors

* Wrong int you dolt

* Fix AI conflicts

Haha ranged bulldozer go BRR
(I'll rewrite it after the other AI systems are done).

* Mix bang.ogg from stereo to mono

* Make sure serializer's reading for guns

Fixes integration test

* Change EntitySystem calls to use the static function

Also removed the Pumpbarrel commented-out code

* Change StunnableProjectile defaults to 0

* Fix taser paralyse

Apparently removing defaults means you have to specify the values, whodathunkit

* Add slowdown to stunnableprojectiles and fix tasers

* Remove FlagsFor from gun components

Co-authored-by: Metal Gear Sloth <metalgearsloth@gmail.com>
Co-authored-by: Víctor Aguilera Puerto <6766154+Zumorica@users.noreply.github.com>
2020-06-21 21:47:15 +02:00
Víctor Aguilera Puerto 5495f88583 HandComponents now have a default hand, fixes crash 2020-06-18 19:26:55 +02:00
Víctor Aguilera Puerto a351fad3f6 Check if airlock is deleted or not before changing appearance 2020-06-18 15:26:31 +02:00
Pieter-Jan Briers 960287c65d
Merge branch '20-06-16-click-detect' into 20-06-18-merge 2020-06-18 02:35:03 +02:00
Pieter-Jan Briers c5b1042573
Merge branch 'drop-decimal-use-cannyfastmath' into 20-06-18-merge 2020-06-18 02:34:47 +02:00
Pieter-Jan Briers 4136388028
Sprite-based click detection. 2020-06-16 16:00:19 +02:00
Acruid 189ed9309f
Removes the ConstructorComponents and moves the construction blueprint feature into a new ECS system. (#1114) 2020-06-15 12:30:11 -07:00
Exp 548b91df61
Storage Windows now have the owner's name instead of Storage Item (#1131) 2020-06-15 13:28:28 +02:00
Tyler Young de274de9e3
use CannyFastMath in various places even where it might not be any different
also update a bunch of packages

clean up redundant YamlDotNet references
2020-06-14 09:36:53 -04:00
Víctor Aguilera Puerto 202dc47961
Airlocks now have a random pitch for deny sound (#1116) 2020-06-13 04:14:40 +02:00
Víctor Aguilera Puerto cb5acf7cd3
Cooldown for status effects (#1109) 2020-06-12 16:22:36 +02:00
Pieter-Jan Briers 433198a123
Fix a bunch of compiler warnigns. 2020-06-08 14:44:11 +02:00
Clyybber 2995981b5e Better item construction 2020-06-07 19:42:00 +02:00
Pieter-Jan Briers 873f10dcc0
Make airlock deny animation use the unlit layer. 2020-06-06 23:46:25 +02:00
FL-OZ 41c9944c41
Fix pda crash from code being outside if statement (#1079)
Co-authored-by: FL-OZ <anotherscuffed@gmail.com>
2020-06-05 23:58:00 +02:00
FL-OZ fa9169e346
pda improvements (#1072)
Co-authored-by: FL-OZ <anotherscuffed@gmail.com>
2020-06-05 18:44:25 +02:00
Clyybber 19c9e3e4f9
Make attack animation follow the character (#1071)
* Fix #971

* Make atacker parent of the animation instead
2020-06-05 13:00:32 +02:00
Tyler Young 2eb715a9ca
Fix up midi stuff, support mild black midis (#1056) 2020-06-02 20:42:23 +02:00
20kdc a09131e817
Solar panels occlusion and tracking (#961) 2020-06-02 13:32:18 +02:00
FL-OZ 53900b79e9
Rename `SoundComponent` and refactor its wrong usages. (#1036)
* Rename `SoundComponent` and refactor its wrong usages.

* Replace verbose IoC grabs with EntitySysetm.Get

* unused depend

Co-authored-by: FL-OZ <anotherscuffed@gmail.com>
Co-authored-by: Víctor Aguilera Puerto <6766154+Zumorica@users.noreply.github.com>
2020-05-31 19:40:36 +02:00
Víctor Aguilera Puerto bffe4df16f
Add gilded bike horn instrument, expose MidiBank on instruments (#1034)
* Add gilded bike horn instrument, expose MidiBank on instruments

* Reduce soundfont size by removing duplicated samples
2020-05-31 19:19:18 +02:00
FL-OZ aa26bdfcae
Rework Drink/Food/FoodContainer entirely (#1009)
Co-authored-by: FL-OZ <anotherscuffed@gmail.com>
Co-authored-by: Pieter-Jan Briers <pieterjan.briers+git@gmail.com>
2020-05-29 22:50:23 +02:00
FL-OZ 5b36a0d704
Sweeping changes/improvements to the microwave. (#997)
Co-authored-by: FL-OZ <anotherscuffed@gmail.com>
Co-authored-by: Pieter-Jan Briers <pieterjan.briers+git@gmail.com>
2020-05-28 22:28:35 +02:00
Pieter-Jan Briers 94917a63a6
Fix compiler warnings 2020-05-28 17:44:51 +02:00
FL-OZ 4c20a504a5
Add basic PDA/Syndicate Uplink. (#942)
Co-authored-by: FL-OZ <anotherscuffed@gmail.com>
Co-authored-by: Pieter-Jan Briers <pieterjan.briers+git@gmail.com>
2020-05-28 13:22:47 +02:00
Clyybber a5725aec4c
Pass CollisionMask to the sound systems (#968) 2020-05-28 00:58:34 +02:00
Víctor Aguilera Puerto 24bc06b253
Merge pull request #984 from SweptWasTaken/airlocks
* Speeds up Airlocks
* Merges Swept into the repo
2020-05-27 18:30:39 +02:00
Pieter-Jan Briers 195c16d800
Wire hacking is now fancy.
1. new UI
2. wires are correctly randomized.
3. wires layouts
are shared across machines in the same round.
2020-05-27 15:24:07 +02:00
Pieter-Jan Briers 8794381697
Secure lockers & locker welding. 2020-05-25 13:58:56 +02:00
Swept 08039c48e1 Updated 2020-05-24 21:07:41 -07:00
Swept 67143b1371
Toolboxes Update (#985) 2020-05-24 18:56:19 +02:00
Víctor Aguilera Puerto 1c00bf2855
Merge pull request #865 from Zumorica/2020-04-28-tool-component
Tool refactor, multi tools
2020-05-24 13:42:02 +02:00
Pieter-Jan Briers 1fca133688
Improve marker visualization for mapping.
Command renamed to showmarkers.
Actually permanent (so if you place markers with it active, you immediately see them).
2020-05-24 01:47:14 +02:00
zumorica 3029e31e4a Merge branch 'master' into 2020-04-28-tool-component
# Conflicts:
#	Content.Server/GameObjects/Components/AnchorableComponent.cs
#	Content.Server/GameObjects/Components/Gravity/GravityGeneratorComponent.cs
#	Content.Server/GameObjects/Components/Interactable/Tools/CrowbarComponent.cs
#	Content.Server/GameObjects/Components/Power/PowerTransferComponent.cs
#	Content.Server/GameObjects/Components/WiresComponent.cs
#	Content.Server/GameObjects/EntitySystems/Click/InteractionSystem.cs
#	Resources/Prototypes/Entities/Items/tools.yml
2020-05-23 12:02:34 +02:00
chairbender 6a4d78cfac
Add interaction checks to all interactions (#923) 2020-05-23 11:27:31 +02:00
Pieter-Jan Briers 18ce80a43c
Merge physics rewrite 2020-05-23 01:26:43 +02:00
FL-OZ 613e1619fa satiates abrahams hunger for microwave fixes 2020-05-22 17:22:42 -05:00
Pieter-Jan Briers c8075445dd
Fix compile on full release. 2020-05-22 21:39:13 +02:00
Pieter-Jan Briers 126c5942a4
Merge branches '2020-05-18-midi' and '20-05-22-midi-update' 2020-05-22 18:02:24 +02:00
Pieter-Jan Briers 40432cdc14
TG locker sprites & prototypes.
Closes #947
2020-05-22 15:45:46 +02:00
zumorica d2d6c2cecd Merge branch 'master' into 2020-04-28-tool-component
# Conflicts:
#	SpaceStation14.sln.DotSettings
2020-05-22 11:31:18 +02:00
zumorica 15beb2b87a Remove useless log. 2020-05-21 20:19:05 +02:00
zumorica cb391ec3d8 Merge branch 'master' into 2020-05-18-midi 2020-05-21 19:50:09 +02:00
Víctor Aguilera Puerto b270c69512
Merge pull request #911 from Zumorica/2020-05-13-stuns
Adds StunnableComponent, Stunbaton...
2020-05-21 19:48:19 +02:00
zumorica d3102dbf96 Remove server-side RefreshInHands, refresh them on component state update 2020-05-21 19:44:49 +02:00
zumorica 0235f6096e Sync sequencer tick correctly 2020-05-21 17:39:48 +02:00
zumorica 78aa4fb872 Use Sequencer, improve MIDI a lot 2020-05-21 15:20:37 +02:00
zumorica 1e36851dde Timing boogaloo 2020-05-21 00:26:43 +02:00
zumorica 6db9ac7247 Improved timing 2020-05-20 17:48:36 +02:00
zumorica 731ab22568 Better timing 2020-05-20 17:13:49 +02:00
zumorica 400a71f8a1 More refactors 2020-05-20 15:15:17 +02:00
zumorica ea255b22c4 Attempt at queueing midi messages 2020-05-20 12:27:41 +02:00
Víctor Aguilera Puerto 312e8f17a5
Merge branch 'master' into 2020-04-28-tool-component 2020-05-19 14:19:45 +02:00
zumorica 06d2cc74ed Refactor a bunch of stuff. 2020-05-19 14:17:48 +02:00
chairbender 61e4a431a2
Remove TableParts, fix SmoothTile destruction bug (#918) 2020-05-17 16:04:44 +02:00
zumorica 014c51f913 Makes SetRotation on SpeciesVisualizer2D private 2020-05-14 17:51:57 +02:00
zumorica b5cf3cf2da Adds stun status effect 2020-05-14 17:44:09 +02:00
zumorica 735ba70f4a Remove unused using statement 2020-05-14 16:08:35 +02:00
zumorica 2132ff41d4 In-hands are now refreshed when the prefix is changed 2020-05-14 15:44:05 +02:00
zumorica 567c0a1312 Animation for when mobs fall/stand 2020-05-14 13:34:45 +02:00
zumorica f968128af7 StandingStateHelper, StunSystem 2020-05-13 19:04:50 +02:00
Pieter-Jan Briers c9ce38a6a7
Merge pull request #892 from FL-OZ/microwave_hot_fix 2020-05-13 02:10:56 +02:00
FL-OZ bb39a1d871
made it less dark 2020-05-11 19:36:05 -05:00
FL-OZ c04b283dfc uses a visual cue to show that something can be put into the box 2020-05-11 18:38:49 -05:00
zumorica 94491e9626 Cleanup code a little. 2020-05-11 15:40:33 +02:00
zumorica b1db8d1e7a Add WelderComponent back 2020-05-11 15:26:07 +02:00
zumorica 6ae5e36a18 Merge branch 'master' into 2020-04-28-tool-component 2020-05-11 12:24:43 +02:00
FL-OZ 3193a0a7b2 get rid of that 1!!! 2020-05-10 21:41:03 -05:00
FL-OZ 80796df5a3 Add placing items into storage when Storage UI is clicked with item in hand 2020-05-10 21:38:50 -05:00
FL-OZ 40ad366636 Various hotfixes and touchups to the microwave.
- Stop a debug assertion from TryGetComponent on a deleted entity.
-  Add a dark overlay for when microwave is busy to UI.
2020-05-06 17:45:45 -05:00
Pieter-Jan Briers c7aeec0f6c
Fix compile. 2020-05-06 22:42:55 +02:00
Pieter-Jan Briers cf9edddf2f
Update submodule, UI fixes. 2020-05-05 23:59:31 +02:00
Pieter-Jan Briers fe23fdb620
Merge branch 'master' into kitchen 2020-05-05 11:35:20 +02:00
FLOZ 69b34e74ce Seperated Reagent item list and Solid item list to allow for vaporizing particular reagents at will. (also fixes a really nasty null reference exception because they shared the same list before D: ) 2020-05-04 15:16:16 -05:00
FLOZ 108bd36b8c And not a single "ToList()" went home to their family that day..... 2020-05-04 14:39:33 -05:00
FLOZ 4034458d26 Pretty up the microwave menu, add click sounds. Remove some unnecessary ToList() calls. Remove unnecessary IoC resolves. 2020-05-04 13:54:54 -04:00
FL-OZ d7d0bc71f9 Microwave is done. Added an easter egg recipe and made the cheeseburger recipe more sensible. 2020-05-03 23:58:29 -05:00
FL-OZ 4f7deb8452 Next up timer buttons 2020-05-03 03:09:54 -05:00
FL-OZ 0f61c2fadf Microwave UI + solids implemented. 2020-05-03 01:34:00 -05:00
Jackson Lewis 1f0c72dd28
Gravity (#841) 2020-05-02 16:02:52 +02:00
FL-OZ dba0949c5b Add (not working) basis for allowing solids (entities) in recipes. 2020-05-02 01:29:20 -05:00
FL-OZ dd19466578 Microwave interface. 2020-05-01 23:34:04 -05:00
FL-OZ 13fba25edc A shit ton of microwave stuff i can't really explain this. 2020-05-01 17:19:04 -05:00
FL-OZ a65d60dc2c Refactor SoundComponent for stopping sounds. 2020-05-01 17:17:05 -05:00
FL-OZ a5fa184765 Reformat 'PoweredIdle' to 'Idle' 2020-05-01 03:38:48 -05:00
FL-OZ b2aca9a686 Add microwave visualizer. Clean up microwave code. 2020-05-01 03:37:21 -05:00
zumorica ff5549a0d1 Finish refactoring tools. Add multitools. (as in multiple tools in one) 2020-04-29 13:48:32 +02:00
Pieter-Jan Briers 8e91215d6f
Fix exception in drink food visualizer. 2020-04-25 14:40:57 +02:00
Pieter-Jan Briers f636303b8e
Import proper reinforced wall sprites. 2020-04-25 12:10:43 +02:00
Pieter-Jan Briers a535567317
Fix inventory buttons going blank when switching mob. 2020-04-25 00:58:23 +02:00
Pieter-Jan Briers 7e7dd45cc4
Fix LowWallOverlay ID reference. 2020-04-24 02:12:29 +02:00
Pieter-Jan Briers 5a09e91ca3
Arcade prop. 2020-04-23 23:51:15 +02:00
Pieter-Jan Briers 1fb9359d90
Fix HeldPrefix having different name on client. 2020-04-23 16:46:55 +02:00
Pieter-Jan Briers 32f66b6f9e
Clothing visualization sets RSI and state atomically. 2020-04-23 16:04:23 +02:00
Víctor Aguilera Puerto 69ca8c2153
Some YAML cleanup (#840) 2020-04-22 17:50:55 +02:00
Jackson Lewis 3c6cbecb12 Remove redundancy 2020-04-20 12:57:05 +01:00
Jackson Lewis 6a22f2629b Update content repo and RobustToolbox 2020-04-20 10:36:02 +01:00
Pieter-Jan Briers 93c8007f5e
Merge branch 'master' into prediction 2020-04-18 14:07:02 +02:00
Pieter-Jan Briers cdf47aab44
Fix ghosts not being hidden when you do-aghost. 2020-04-17 19:11:10 +02:00
Pieter-Jan Briers ec314545ef
Fix ClientStatusEffectsComponent not cleaning up GUI on shutdown correctly. 2020-04-13 22:28:05 +02:00
Pieter-Jan Briers 0f554996ff
Merge pull request #798 from PrPleGoo/DecimalReagents
Decimal reagents
2020-04-12 23:04:24 +02:00
PrPleGoo 7d72e672fd Merge branch 'master' into DecimalReagents 2020-04-12 14:37:36 +02:00
Pieter-Jan Briers 56d6720026
Move part of stack code to shared.
Meaning that ExposeData is in shared, fixing #809
2020-04-12 01:15:16 +02:00
Pieter-Jan Briers 1695787bab
Merge pull request #807 from Zumorica/2020-04-10-proper-ghost-hiding
Ghosts now make use of the new "entity visibility" engine functionality
2020-04-12 01:00:42 +02:00
Pieter-Jan Briers dc9f8d551b
Merge pull request #805 from Zumorica/2020-04-09-comms-console-roundend
Adds working communications console that ends the round
2020-04-10 17:02:49 +02:00
zumorica 683644eec5 Ghosts now make use of the new "entity visibility" engine functionality 2020-04-10 16:28:14 +02:00
zumorica 05e9d39e89 Fix bug where comms console sometimes took a second to update after a countdown has started 2020-04-10 13:36:30 +02:00
zumorica 3c795ad283 Use TimeSpan instead of DateTime in RoundEnd and Comms Console. 2020-04-09 20:28:22 +02:00
PrPleGoo 20cb9b92ab Merge branch 'master' into DecimalReagents 2020-04-09 17:24:22 +02:00
zumorica c0bdfdf123 Remove CanReturnToBody property from SharedGhostComponent 2020-04-09 03:02:21 +02:00
Víctor Aguilera Puerto 612790840c
Update Content.Client/GameObjects/Components/Observer/GhostComponent.cs
Co-Authored-By: Pieter-Jan Briers <pieterjan.briers@gmail.com>
2020-04-09 02:59:20 +02:00
zumorica 83e9688133 You can now cancel the timer (recall) 2020-04-09 01:43:28 +02:00