Commit Graph

62 Commits

Author SHA1 Message Date
ZeWaka
75c4ed6a09 Makes lightbulbs destructible (#2955)
* Renames WindowBreak soundCollection to GlassBreak

* Implements destructible lightbulbs
moved the parent to the top as well

* Fixes the old `glassbreak` soundCollection, renames it

* Deletes the windows.yml version of glassbreak

* Fixes the sound for bulbs being thrown

* Removes name from abstract lightbulb

* Implements IDestroyAct for lightbulbs

* Implements onBreak for lightbulbs

* Lights get damaged by getting hit and throwing

* Lights now have an intermediate 'broken' state before destruction
2021-01-09 02:06:36 +01:00
py01
1032576a20 Replaces AnchoredChanged C# event with ComponentMessage (#2905)
* Replaces AnchoredChanged C# event with ComponentMessage

* Removes unneeded fields

Co-authored-by: py01 <pyronetics01@gmail.com>
2021-01-05 15:32:59 +11:00
py01
32f04fd7ca Replaces PowerReceiver's C# event with a ComponentMessage (#2888)
Co-authored-by: py01 <pyronetics01@gmail.com>
2021-01-03 16:13:01 +01:00
py01
6d9d7f751e Fixes ApcNetTest (#2895)
Co-authored-by: py01 <pyronetics01@gmail.com>
2021-01-03 03:48:33 +01:00
py01
a87dda47e9 Removes some linq from power (#2875)
* PowerProviderComponent Linq removal

* AdjacentNode Linq removal

* PipeNode Linq removal

* Replaces HasFlag usage in PipeNode

Co-authored-by: py01 <pyronetics01@gmail.com>
2021-01-02 02:04:10 +01:00
py01
135a65f030 ApcNet code improvements (#2876)
* Removes per-frame setting of PowerReceiverComponent.Powered

* PowerReceiver.SetLoad

Co-authored-by: py01 <pyronetics01@gmail.com>
2021-01-01 18:21:18 +01:00
Daniel Castro Razo
633ae5bc90 Fixes Emergency Lights not charging (#2873)
* Fixes Emergency Lights not charging

* Removed extra imports
2021-01-01 14:26:42 +01:00
Vera Aguilera Puerto
483f7f4385 You can now examine Node Containers to see their "connectors" (#2881) 2021-01-02 00:20:23 +11:00
ike709
7f7f22ef5d APCs now require engineering access (#2795)
* APCs now require engineering access

* Allow if access reader is null
2020-12-22 13:08:35 +01:00
DrSmugleaf
fcd52fa90c Add ActionBlockerExtensions 2020-12-20 04:26:21 +01:00
DrSmugleaf
1b1d050ee7 Update components to use EnsureWarn (#2676)
Co-authored-by: Pieter-Jan Briers <pieterjan.briers+git@gmail.com>
2020-12-04 13:26:54 +01:00
DrSmugleaf
5c0cf1b1a0 Use 'new' expression in places where the type is evident for content (#2590)
* Content.Client

* Content.Benchmarks

* Content.IntegrationTests

* Content.Server

* Content.Server.Database

* Content.Shared

* Content.Tests

* Merge fixes

Co-authored-by: metalgearsloth <31366439+metalgearsloth@users.noreply.github.com>
2020-11-27 21:00:49 +11:00
DrSmugleaf
749cd11d33 Add readonly where it is missing and fix those field names according to their modifiers (#2589) 2020-11-22 00:02:00 +11:00
Paul Ritter
f36cba8e21 Refactors machine linking to use generics (#2462)
Co-authored-by: Paul <ritter.paul1+git@googlemail.com>
2020-10-30 19:46:19 +01:00
Julian Giebel
45b610f933 Disposal mailing (#2194)
* Implement device networking

* Implement device configuration menu

* Fix device network

* Implement disposal mailing unit

* Implement base network connection
Implement wired and wireless network connection
Implement device network metadata

* Fix dereference null error

* Fix wired network null checks

* Change BaseNetworks enum to NetworkUtils class
Add PingResponse function to NetworkUtils
Change device network file structure

* Add doc comments

* Apply suggestions from code review

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

* Add tag validation to disposal mailing unit

* Add tag validation to the mailing unit component

* Address reviews
Change WiredNetwork can connect check
Change device networking string literals to constants

* Address reviews
Revert changes to PowerProvider and PowerReceiver
Add new NodeGroup
WELP

* Fix recursive access to Owner property

* Integrate suggested changes

* Fix TryGetWireNet acting on NullPowerProvider
Fix network connections not checking if their owner has been deleted

* Close device network connection when the owning entity got deleted
Fix mailing unit not closing the device network connection on remove

* Remove GetWireNet from NullPowerProvider

Co-authored-by: Julian Giebel <j.giebel@netrocks.info>
Co-authored-by: DrSmugleaf <DrSmugleaf@users.noreply.github.com>
2020-10-30 01:16:26 +01:00
Víctor Aguilera Puerto
48841a274d Remove default grids (content) (#2241)
* Default grids go poof

* Address review

* Update submodule

* Fix DoAfterSystem for entities without grid.

* Fix SubFloorHideSystem for entities without grid.

* Fix ExplosionHelper for coordinates that aren't in a grid

* Fix TurfHelpers' GetWorldTileBox crash in the case of invalid grid

* Fix tile prying component crash when trying to pry space.

* Spill fixes when passing coordinates without grids.

* Are you static'in, son?

* Change SaveLoadSaveTest grid Id hardcoded value
It's still hardcoded, but at least now it's correct!

* Only send debug AI thing if grid is not invalid

* Update submodule.

Co-authored-by: Pieter-Jan Briers <pieterjan.briers+git@gmail.com>
2020-10-21 17:13:41 +02:00
DrSmugleaf
41cbcc85e0 Rename last usages of Collidable to Physics 2020-10-14 20:16:57 +02:00
Paul Ritter
844e4f6e50 The power of componentdependencies (#2211)
* stuff

* bucklemeup

* powerreceiver

* things

* Update RobustToolbox

* Fix nullability errors

Co-authored-by: DrSmugleaf <DrSmugleaf@users.noreply.github.com>
2020-10-13 21:51:54 +02:00
metalgearsloth
d769661692 Fix some build warnings (#2226)
Co-authored-by: Metal Gear Sloth <metalgearsloth@gmail.com>
2020-10-11 16:42:53 +02:00
DrSmugleaf
b64cb24059 Rename usages of collidable to physics (#2230)
* Rename usages of collidable to physics

* high tier PANIQUE

* aaaaaaaaAAAAAa

* cursed commit dont research

* Fix urist and items being anchored

* Fix the rest
2020-10-11 16:36:58 +02:00
DrSmugleaf
e3322fb5ac Fix build (#2227) 2020-10-11 13:51:42 +02:00
metalgearsloth
40504c2555 Event-based emergency lights (#2217)
Co-authored-by: Metal Gear Sloth <metalgearsloth@gmail.com>
2020-10-11 13:11:18 +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
Swept
0ea8792501 Cleanup (#2111) 2020-09-20 17:29:11 +02:00
RemberBL
727f7629a5 Resolve issue involving flickering lights #2056 (#2076)
* Fixed an issue with the welder messages, not done yet

* Fixes issue #1833

The welder item no longer plays do_after when it cannot be used

* Revert "Add do_after to TryInsert (#1938)"

This reverts commit c09c9176ef.

* Revert "Revert "Add do_after to TryInsert (#1938)""

This reverts commit 078323bc2e10109b63c438f38a7b56103d163994.

* Revert "Fixes issue #1833"

This reverts commit 921712810fce73611e186fe07d7620b8cc309fdb.

* Revert "Fixed an issue with the welder messages, not done yet"

This reverts commit 5e946014451c6f5855cbe4fa553a04c55b907793.

* Added a start to a damage sound system

* Fixes issue #2056 by removing some misplaced code

* Undo changes that carried over through not using git properly

* Forgot to save my file before committing...
2020-09-14 12:49:45 +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
py01
2e5838bb62 Disabled PowerConsumers do not use Apc power (#2064)
Co-authored-by: py01 <pyronetics01@gmail.com>
2020-09-13 14:08:23 +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
DrSmugleaf
de9dfefd61 Replace resolve dependency with attribute in components (#1995)
* Replace resolve dependency with attribute in components

* Add changes that went missing in translation
2020-09-02 01:30:03 +02:00
Víctor Aguilera Puerto
9398f90e7c Lights now use dependencies. 2020-09-01 16:19:32 +02:00
DrSmugleaf
8f9ed2f562 Replace usages of ISharedNotifyManager and IServerNotifyManager with extension methods (#1965)
* Replace usages of ISharedNotifyManager and IServerNotifyManager with extension methods

* Remove redundant code
2020-09-01 12:34:53 +02:00
DrSmugleaf
5a0f7d9316 Add missing localization to verb names (#1953) 2020-08-29 13:36:02 +02:00
ShadowCommander
aa66aa2286 Implement machine linking (#1784)
* Implement machine linking

* Cleanup and rename Signals

* Implement signal button

* Add machine linking signal mapping

* Fix signallink command help

* Add localization to signal linking and allow infinite range

* Add feedback for when a transmitter is not connected to any receivers

Refactor PopupMessage to use the entity extension
Refactor dependencies to not have to disable warnings
2020-08-29 12:33:42 +02:00
DrSmugleaf
520e523d30 Refactor UserInterface properties to use a helper (#1896) 2020-08-24 20:47:17 +02:00
Pieter-Jan Briers
f2a321008b Merge pull request #1893 from DrSmugleaf/pragma-begone 2020-08-24 15:52:06 +02:00
DrSmugleaf
8a27a5322a Replace pragma warning 649 disable/restore with default! 2020-08-24 14:10:28 +02:00
DrSmugleaf
a4f527351e Add test for adding each component individually to an entity (#1870)
* Add test for adding each component individually to entities

* Put one-to-one test before all-at-once test
2020-08-24 13:39:00 +02:00
DrSmugleaf
a4a25a9975 Remove localization manager dependencies from components (#1864)
Co-authored-by: Víctor Aguilera Puerto <6766154+Zumorica@users.noreply.github.com>
2020-08-23 12:53:09 +02:00
DrSmugleaf
b9196d0a10 Add a test that puts all components on an entity and checks for no exceptions (#1815)
* Add test that puts all components on an entity and checks for no exceptions

Also fix all the exceptions that happened because of this

* Add comments to the test

* Fix nullable errors

* Fix more nullable errors

* More nullable error fixes

* Unignore basic actor component

* Fix more nullable errors

* NULLABLE ERROR

* Add string interpolation

* Merge if checks

* Remove redundant pragma warning disable 649

* Address reviews

* Remove null wrappers around TryGetComponent

* Merge conflict fixes

* APC battery component error fix

* Fix power test

* Fix atmos mapgrid usages
2020-08-22 22:29:20 +02:00
Víctor Aguilera Puerto
35e963a0ea Lights now show a popup message when you burn yourself. 2020-08-22 19:37:23 +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
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
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
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
Exp
c61e6d541b Moves ExamineSystem to Shared & adds next step info to construction examine (#1567) 2020-08-01 17:37:12 +02:00
Pieter-Jan Briers
bfe2217112 Use IMapInit in PoweredLightComponent 2020-07-30 23:59:54 +02:00
py01
5e0ca8a85a Replaces obsolete PhysicsComponent usage in Power and Node (#1515)
* Node Physics replacement

* PowerReceiver Physics replacement

* wires are anchored

Co-authored-by: py01 <pyronetics01@gmail.com>
2020-07-27 23:34:01 -07:00
py01
fbbe43fff8 Powernet Recalculation simplification (#1427)
Co-authored-by: py01 <pyronetics01@gmail.com>
2020-07-26 12:14:03 +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
Kmc2000
92a9136eab Examine text feedback for when things are powered (#1441) 2020-07-22 09:55:09 +02:00