Commit Graph

1261 Commits

Author SHA1 Message Date
Swept
6eeaa58988 HandheldLights no longer drain their batteries in 20 seconds. (#2942)
* Initial

* Update Content.Server/GameObjects/Components/Interactable/HandheldLightComponent.cs

Co-authored-by: metalgearsloth <31366439+metalgearsloth@users.noreply.github.com>
2021-01-07 21:35:39 +11:00
py01
8fa8de36ed PipeNetDeviceComponent refactor (#2912)
* Removes inheritance of PipeNetDeviceComponent

* Enables nullable in piping

* Piping error messages report the prototype

* Moves PipeNetDevice updating to ComponentMessage

* Build fix

* Review fixes

* review fix 2

Co-authored-by: py01 <pyronetics01@gmail.com>
2021-01-07 17:37:17 +11:00
py01
2b195fccb9 Chemical reaction refactor (#2936)
* Moves ContainsReagent from SolutionContainer to Solution

GetMajorReagentId from SOlutionContainer to Solution

Makes capability checks use HasFlag

Moves Solution Color calculation from SolutionContainer to Solution

Replaces SolutionContainerCaps.NoExamine with CanExamine

Misc SolutionContainer.Capabilities yaml cleanup

* Moves IReactionEffect from server to shared

* Moves ReactionPrototype from server to shared

* Moves SolutionValidReaction from SolutionContainer to ChemicalReactionSystem

* Moves PerformReaction from SolutionContainer to ChemicalReactionSystem

* Moves CheckForReaction from SolutionContainer to ChemicalReactionSystem

* Removes unused SolutionContainer methods

* Removes now-unused GetMajorReagentId from SOlutionContainer

* ChemicalReactionSystem comments

* Replaces usage of SolutionContainer.ContainsReagent and replaces it with SolutionContainer.Solution.ContainsReagent

* ChemicalReactionSystem ProcessReactions

* Moves ExplosionReactionEffect to shared, comments out server code, TODO: figure out how to let ReactionEffects in shared do server stuff

* Fixes SolutionContainer.CheckForReaction infinite recursion

* Moves IReactionEffect and ExplosionReactionEffect back to server

* Moves ChemicalReactionSystem and ReactionPrototype back to server

* Uncomments out Explosion code

* namespace fixes

* Moves ReactionPrototype and IReactionEffect from Server to Shared

* Moves ChemicalReactionSystem from Server to Shared

* ChemicalReaction code partial rewrite

* Moves CanReact and PerformReaction to Solution

* Revert "Moves CanReact and PerformReaction to Solution"

This reverts commit bab791c3ebd0ff39d22f2610e27ca04f0d46d6b8.

* Moves ChemistrySystem from Server to Shared

* diff fix

* TODO warning

Co-authored-by: py01 <pyronetics01@gmail.com>
2021-01-07 17:31:43 +11:00
mirrorcult
7977992e5a Add kitchen knife & sliceable foods (#2891)
* sliceable food, kitchen knives

* sprite fixes, sounds

* add to vendor

* address reviews

* address reviews

* stereo -> mono

* fix wrong amount of nutriment being removed

* oops im dumb

* meta.json

* fix merge

* probably fix test

* remove all instances of [ComponentReference(typeof(IAfterInteract))]

Co-authored-by: cyclowns <cyclowns@protonmail.ch>
2021-01-07 12:48:08 +11:00
py01
2d1fe31bce SolutionContainerComponent refactors (#2746)
* Moves ContainsReagent from SolutionContainer to Solution

* GetMajorReagentId from SOlutionContainer to Solution

* Makes capability checks use HasFlag

* Moves Solution Color calculation from SolutionContainer to Solution

* Replaces SolutionContainerCaps.NoExamine with CanExamine

* Misc SolutionContainer.Capabilities yaml cleanup

* Removes HasFlag usage in SolutionContainerComponent

Co-authored-by: py01 <pyronetics01@gmail.com>
2021-01-06 13:31:41 +01:00
metalgearsloth
482106e827 Optimise handheld lights (#2927)
* Optimise handheld lights

* Woops also these

* Might as well do shutdown too

* Also these

Co-authored-by: Metal Gear Sloth <metalgearsloth@gmail.com>
2021-01-06 12:50:49 +01:00
metalgearsloth
2bd4bf12a4 Utensils changes (#2929)
* Utensils changes

* Burn it all

Co-authored-by: Metal Gear Sloth <metalgearsloth@gmail.com>
2021-01-06 12:49:19 +01:00
Swept
196e6d2f45 Plays rustle sound when inserting or opening a backpack. (#2890)
* SoundCollection

* Works

* Applied review

* Waah

* Working

* e

* Adjust sound collection serialization

Co-authored-by: Metal Gear Sloth <metalgearsloth@gmail.com>
2021-01-05 16:34:53 +11:00
DrSmugleaf
e7eb23a9b0 Fix some of the build (#2894)
* THIS TIME FOR REAL

* Fix build

* Bring back old power code

* Remove debugger break

Co-authored-by: AJCM <AJCM@tutanota.com>
2021-01-05 15:36:25 +11: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
Pieter-Jan Briers
c1f53a4303 Clean up a ton of bugs with suspicion. 2021-01-04 09:18:28 +01:00
Vera Aguilera Puerto
9c2aaef73a Makes accept cloning message use Eui (#2910) 2021-01-03 17:20:17 +01: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
Vera Aguilera Puerto
85add420b0 Destructible spawning fix redux (#2892)
* Fix SpawnEntitiesBehavior crash and add test

* Fix comparer, add duplicated behavior

Turns out this isn't Java

* Threshold behaviors are now "linearly" executed

* Fixes YAML threshold behaviors to be linear

Co-authored-by: DrSmugleaf <DrSmugleaf@users.noreply.github.com>
2021-01-02 20:06:00 +01:00
Daniel Castro Razo
cc4669244d Fixes to explosionhelper (#2819)
* Revert "Make handheld explosives affect tiles (#2806)"

This reverts commit 005e142949.

* Fixes tiles being destroyed under walls by an explosion

* Extra imports removed

* Handles explosion in space and different grids

This handle explosions across different grids, and tiles are still protected if there is an entity airtight and currently blocking air on top of them that survived the explosion.

* Some bug fixes

- The way tiles were being protected was silly.
- Big explosions cause a lot of objects to trigger multiple events and at the same time they are destroyed.
- Explosions spawning inside containers like closets work now.

* Range bug fixes

* Explosive

The explosion works even if the entity exploding is inside multiple 'layers' of containers like.
bomb -> survival box -> tool box -> closet

* Explosions are different now

Explosion can't jump over walls now.
Explosions work like rays now, if an explosion breaks a wall it can scatter inside the room.
If entities are behind impassable entities that survive the blast  they are left unscathed.

* Little fix

* Remove the extra lookup of tiles

* Another small change

* Restore the second lookup

I thought this was extra, but this protects the tile under it if there is an Impassable entity on top. None wants anchored girders on top of lattice/space

* Changing order of conditions

IsBlockedTurf is cheaper to run than InRangeUnobstructed.

* Yep
2021-01-02 19:03:10 +01:00
Swept
cd9e5a590b Fixes remaining renamed chems (#2889) 2021-01-02 18:05:32 +11: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
moonheart08
836e2d185a LV Cables -> APC Cables (#2884)
i used the github web editor
sue me it's just a string
2021-01-01 20:32:29 +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
Vera Aguilera Puerto
4316e2f554 Recycler improvements, add RecyclableComponent as a tag. (#2882)
* Recycler improvements, add RecyclableComponent as a tag.

* nullableeeeeeeeeeee
2021-01-01 18:19:12 +01:00
Vera Aguilera Puerto
8007e3d03b nullableeeeeeeeeeee 2021-01-01 18:17:38 +01:00
Vera Aguilera Puerto
cf38e17b7e Shuttle called/recalled announcements and sounds. 2021-01-01 16:34:54 +01:00
Vera Aguilera Puerto
d43ca2877a Ghost on mind shutdown fixes, no more ghost stacking at bar.
Fixes #1701
2021-01-01 16:11:17 +01:00
Vera Aguilera Puerto
b5fd2ffd6d Recycler improvements, add RecyclableComponent as a tag. 2021-01-01 15:28:58 +01:00
Vera Aguilera Puerto
f8d4d4b8d7 Fix bug where ghosts weren't being spawned for players after their attached entity was deleted.
Turns out creating an entity timer for an entity that has been deleted is a bad idea! Who would have thought?
2021-01-01 15:25:09 +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
AJCM-git
13704a255c Fixes the audio and icon (#2854) 2020-12-28 04:32:48 +11:00
RemberBL
be48a25c14 Sound effect plays when an item is thrown (#2767)
* Adds toss.ogg to the project's resources

* Thrown items will now play a sound effect
2020-12-27 20:30:47 +11:00
Swept
d595286dcc Tweaks volume of material per sheet in lathes. (#2852)
* Initial

* Tidies up file structure
2020-12-27 19:22:50 +11:00
Swept
94bb7a165d Adds a sound effect when you unwrap an AME part (#2832) 2020-12-27 03:11:52 +01:00
20kdc
6b5cded8c2 Clothing and pronoun fields (#2689)
* Clothing & Gender fields: Add to database [MODIFIED TO NOT DEPEND ON SAPHIRE-DB-REFACTOR]

Sorry about this, Saphire.

* Clothing & Gender fields: Add UI [FALLBACK II]

* Clothing & Gender fields: Actually apply gender

* Clothing & Gender fields: Import innerclothingskirt field from my previous attempt

Couldn't import actual prototypes because of a change to IDs

* Clothing & Gender fields: Add innerclothingskirt field to everything

* Clothing & Gender fields: Jumpskirts now work

* Clothing & Gender fields: Gender field will follow sex field if it's not different (UX improvement) [FALLBACK II]

* Clothing & Gender fields: Gender -> Pronouns to reduce confusion. Also, fix profile summary. Properly. [FALLBACK II]

* Clothing & Pronoun fields: Refactor so that profile equipment adjustments are performed in StartingGearPrototype.
2020-12-24 14:42:40 +01:00
Pieter-Jan Briers
159f7192df Add alert for low oxygen. 2020-12-23 23:46:01 +01:00
DrSmugleaf
764465f60c Separate destructible component threshold into behaviors (#2818)
* WIP changes, add behaviors

* Fix behavior typing, namespace and test

* NO SPACES
2020-12-23 13:34:57 +01:00
Pieter-Jan Briers
8e8594063d Optimize allocations in MetabolismComponent and TileAtmosphere 2020-12-22 18:28:54 +01: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
Vera Aguilera Puerto
3b1677ff79 Drinking glasses now break.
- Adds DamageOnLandComponent
- Adds DamageOtherOnHitComponent
- Drinking glasses break on throw.
- Drinking glasses damage others when thrown.
- Glass shards also damage others when thrown.
2020-12-21 13:22:16 +01:00
Vera Aguilera Puerto
cf90c77034 Fix transformable containers.
Fixes #2775
2020-12-21 12:49:38 +01:00
DrSmugleaf
fd258a54d3 Update destructible threshold property casing to follow the rest of the project (#2797)
* Update casing

* Update casing for min/max
2020-12-21 12:11:56 +01:00
Vera Aguilera Puerto
f52984553b Fix airblocked space tiles venting air
Fixes part of #2780
2020-12-20 23:05:23 +01:00
DrSmugleaf
0172613a7d Remove wireless surgery (#2785)
* Remove wireless surgery

* Change surgery window title to Surgery

* Remove todo

* Check only tools with a window open
2020-12-20 04:31:39 +01:00
DrSmugleaf
a3fdcd3a68 Add EffectBlockerExtensions 2020-12-20 04:31:04 +01:00
DrSmugleaf
fcd52fa90c Add ActionBlockerExtensions 2020-12-20 04:26:21 +01:00
DrSmugleaf
026d96fd2d Replace MaybeNullWhen(false) with NotNullWhen(true) 2020-12-20 04:14:41 +01:00
Vera Aguilera Puerto
c9e9d9f4dd Instruments have a property for enabling/disabling MIDI limits.
- Added unlimited super synth that doesn't respect MIDI limits! Adminbuse it to your heart's content and blast your epic MIDIs, fellow badmins.
2020-12-20 01:43:29 +01:00
GraniteSidewalk
89f8d0f34c Cargo Telepad (#2579)
* Cargo telepad

* fixes error

* more efficient tile lookup

Co-authored-by: metalgearsloth <31366439+metalgearsloth@users.noreply.github.com>
2020-12-19 13:14:26 +11:00
Morshu32
19bd739b0d PreventCollision with strap component while buckled to it (#2694)
* AvoidCollision if collided entity is the one that the character is buckled to

* Attempt to PreventCollision after the player is unbuckled but still colliding with StrapComponent

* Moved PreventCollide to the Shared script.

* Add WakeBody to keep updating the physics collision while being on a collidable strap component.

* Addressed some of metalgearsloth's suggestions:
- Made EntityBuckledTo,IsOnStrapEntityThisFrame and DontCollide not virtual
-Made EntityBuckledTo nullable
-Don't call update on Paused BuckleComponents
-Removed EntityBuckledTo variable declaration in BuckleComponent because it's not needed anymore
-Call TryUnbuckle if (!IsOnStrapEntityThisFrame && DontCollide) to set BuckledTo entity to null.

* Formatting

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

* Formatting

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

* Formatting again :P

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

* Formatting

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

* Formatting

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

* Renamed variable EntityBuckledTo to LastEntityBuckledTo

* As per DrSmugLeaf suggestion: Added [ComponentDependency] to the Body variable.

Co-authored-by: DrSmugleaf <DrSmugleaf@users.noreply.github.com>
2020-12-18 20:12:53 +01:00
Swept
9c381dc174 Shuttle can be called even when comms console is off (#2763) 2020-12-18 12:42:02 +01:00
daniel-cr
a679e691c2 Conveyor Belt appearance when power is off (#2762)
* Conveyor Belt appearance when power is off

If the conveyor belt is running and the power turns off the belt stops pushing things but the animation continues. This changes it so the animation stops if there is no power and resumes when it returns.

* Change from using Initialize, to OnAdd and OnRemove
2020-12-18 18:31:58 +11:00