Commit Graph

1261 Commits

Author SHA1 Message Date
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
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
Exp
1b634739ac Observers are shown as observers in the RoundEndSummary (#1838)
* Observers are shown as observers in the RoundEndSummary

* Fix typo

Co-authored-by: DrSmugleaf <DrSmugleaf@users.noreply.github.com>
2020-08-22 12:45:49 +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
Swept
7887f78f0d Restricts character age from being under 18 or over 120 years old (#1836) 2020-08-21 18:26:31 +02:00
Víctor Aguilera Puerto
68fb5d4257 Merge branch 'master' into 2020-08-19-firelocks 2020-08-21 16:51:50 +02:00
Exp
02b5632dac Observers are now shown in the Lobby as Observers (#1834)
* Observers are now shown in the Lobby as Observers

* Weviews adwessed
2020-08-21 11:24:06 +02:00
Pieter-Jan Briers
fc2ee61f75 Fix verbs in-hand.
Properly this time.
2020-08-20 21:45:43 +02:00
Víctor Aguilera Puerto
9e7d698145 Allow specifying a text to be shown to players in the summary when ending the round. (#1818)
* Allow specifying a text to be shown to players when ending the round.
Also sets text

* Fix comment
2020-08-20 18:09:29 +02:00
Pieter-Jan Briers
ed1a96e536 Nullability fixes. 2020-08-20 16:48:15 +02:00
Víctor Aguilera Puerto
944ce2cc92 Allow game presets to disallow latejoining (#1816)
* Allow game presets to disallow latejoining

* Update Content.Server/GameTicking/GameTicker.cs

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

Co-authored-by: DrSmugleaf <DrSmugleaf@users.noreply.github.com>
2020-08-20 16:20:48 +02:00
nuke
322e38b173 Fix for climb jank (#1803)
Player body was going to sleep, so now we spam WakeBody() at it.
2020-08-19 17:21:15 -07: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
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
DrSmugleaf
8ea9e4cd90 Fix unknown component errors and duplicate damageable references (#1778) 2020-08-18 16:41:35 +02:00
Exp
5de57d6cd2 Ready Indicator in the lobby (#1771)
* Ready Indicator in the lobby

* Use SessionID instead of Name

* Don't show ready state when game is already running

* Make Ready List not selectable

* -Remove disconnected sessions from Ready
-Fix showing ReadyStatus when staying in lobby
2020-08-18 14:52:59 +02:00
Víctor Aguilera Puerto
d9ae942759 Make InteractUsing async, make tools use DoAfter. (#1772)
* Make IInteractUsing async, make tools use DoAfter.

* Disable warning 1998 in Content.Server

* Update Content.Server/GameObjects/Components/AnchorableComponent.cs
2020-08-18 14:39:08 +02:00
Exp
bbdfe44224 Admins can get a list of the StationEvents (#1670)
* -GetStationEventsMsg
-Fixed random in events help

* Don't send on connect

* Delete StationEvents on disconnect

* Resolve IClientNetManager when needed

* :smilethink:

* Remove setter

* Removed unused imports

* Don't resolve twice

* Add Event
2020-08-18 14:29:13 +02:00
Pieter-Jan Briers
39f13c1849 Merge pull request #1660 from juliangiebel/bug/anchoring-reagent-dispenser 2020-08-17 17:54:21 +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
Clement-O
0e6f55a23d Added character limit for chat (#1586)
* Added character limit for chat

* Changed buffer reading from Int16 to Int32

Co-authored-by: Clément <clement.orlandini@gmail.com>
2020-08-17 14:45:02 +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
Pieter-Jan Briers
58b9ac10c2 Fix right-click verbs. 2020-08-16 23:49:42 +02:00
Pieter-Jan Briers
d04ad6ec85 Request window attention when round starts/restarts. 2020-08-16 23:36:56 +02:00
DrSmugleaf
9fb6afd08b Fix pulled physics objects not being woken up when the puller moves (#1720) 2020-08-16 21:08:05 +02:00
Víctor Aguilera Puerto
ac9d40b606 Fix suspicion crash on forcing 0 players readied 2020-08-16 19:36:04 +02:00
Exp
4ef8bc962e Fix RoundEndMsg being retarded and writing 0 as length (#1721) 2020-08-16 19:31:59 +02:00
DrSmugleaf
dbeb89a5e5 Fix pulling not stopping when going into a container (#1712) 2020-08-16 18:51:21 +02:00
Julian Giebel
2c853ea572 Update IInteractUsing.cs 2020-08-16 17:45:15 +02:00
Vince
b647ad0f42 Refactor UpdateKinematics() and fix a lot of Content warnings (#1709)
Most warnings were related to EntityQuery and IPhysicsComponent.
Partially fixes #1650 and fixes #1682
2020-08-15 20:38:35 -07:00
DrSmugleaf
add4986001 Fix being able to do most verbs from within a container (#1613)
* Fix being able to do most verbs from within a container

* Fix missing container check when using global verbs
2020-08-15 20:38:37 +02:00
ancientpower
bb781f4975 fixes ghosts not having a collidable component and adds a ghost collision flag (#1675)
Co-authored-by: ancientpower <ancientpowerer@gmail.com>
2020-08-15 20:34:25 +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
Swept
541ba64c80 More sandbox buttons for fun and pleasure (#1599)
* Aghost Button

* Toggle Lights Button (Shitcode)

* Suicide Button

* Toggle Subfloor Button

* Changed the X icon for windows to be slimmer

* ToggleLights and ToggleSubfloor are no longer shitcode!

* Refactors SandboxWindows.cs

* Added Shows Spawns Button

* Fix

* Show Bounding Boxes Button

* I guess this helps somewhat?

* Nested SandboxWindow.cs inside of SandboxManager.cs for simplicity

* Fixes

* I forgot what I added

* Removed CSI console... for now

* Fix build

Co-authored-by: Víctor Aguilera Puerto <zddm@outlook.es>
2020-08-14 18:09:58 +02:00
metalgearsloth
5962280d36 Station events (#1518)
* Station event system

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

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

* Invariants for event names

* Fix random event shutdown

* Mix stereo announcements to mono

* Address feedback

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

* Fix radiation overlay enum

* use entityquery instead

* zum's feedback

* Use EntityQuery

Co-authored-by: Metal Gear Sloth <metalgearsloth@gmail.com>
2020-08-13 22:52:17 +02:00
ike709
83a7dfebef Improves the RCD (#1609)
* Improves the RCD

* oops

* Unnecessary

* Merge 2 checks

* RCD whitelist and reorganization

* Makes the RCD great again

* Ignored components

* loicense

* Fix missing using
2020-08-13 19:39:23 +02:00
DrSmugleaf
4a8ed41e3a Fix namespaces and optimize imports (#1651)
* Fix namespaces and optimize imports

* Cleanup fixes

* Merge conflict fixes

* Merge conflict fixes

* Merge conflict fixes
2020-08-13 14:40:27 +02:00
Víctor Aguilera Puerto
ca68fbe818 Add heat conduction (#1653) 2020-08-13 14:18:26 +02:00
Julian Giebel
a41e2d1002 Fix typos in doc comment 2020-08-13 09:54:27 +02:00
juliangiebel
ba058ccbdd Add priority sorting to InteractUsing 2020-08-12 23:01:30 +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
ShadowCommander
0d29b15ae0 Fix StackComponent not getting removed from containers when empty (#1645) 2020-08-11 17:38:00 +02:00
Víctor Aguilera Puerto
89fff7dab2 Add two new TurfHelpers 2020-08-11 03:45:40 +02:00