Commit Graph

9498 Commits

Author SHA1 Message Date
Radrark
b4506b4d08 Makes ghosts able to point through walls. (#2821)
Co-authored-by: BuildTools <unconfigured@null.spigotmc.org>
2020-12-24 14:33:07 +01:00
Pieter-Jan Briers
159f7192df Add alert for low oxygen. 2020-12-23 23:46:01 +01:00
Pieter-Jan Briers
2e6ab15a2a Clean up station events synchronization code.
AAAAAAAAAAAAAAAAAAAAAAAAAAA
2020-12-23 17:08:34 +01:00
Pieter-Jan Briers
a5151af4c1 Adds promotehost command to make bootstrapping admin privileges easier. 2020-12-23 17:08:34 +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
daniel-cr
005e142949 Make handheld explosives affect tiles (#2806)
If you are holding the explosive in your hard or inventory, this should make affect the tiles around you. At the moment it only affects entities. I will refactor this class a little more.
2020-12-23 16:31:04 +11:00
Pieter-Jan Briers
d31dbec7ea Remove AggressiveInlining abuse from TileAtmosphere.cs. 2020-12-22 18:31:02 +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
Vera Aguilera Puerto
d684198b00 Fixes observing from lobby nullspacing people on round restart
Fixes #2791
2020-12-21 12:25:35 +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
DrSmugleaf
38dcc058c7 Add game rule to restart an empty server after 10 minutes (#2787)
* Add game rule to restart an empty server after 10 minutes

* Add missing localization for time running out
2020-12-21 11:59:41 +01:00
Pieter-Jan Briers
5b60d24dcb Merge branch 'xamlui' 2020-12-21 04:14:49 +01:00
Pieter-Jan Briers
e6444a1d80 Update submodule, statushost changes, fix missing projects to sln 2020-12-21 04:14:36 +01:00
Vera Aguilera Puerto
f52984553b Fix airblocked space tiles venting air
Fixes part of #2780
2020-12-20 23:05:23 +01:00
Pieter-Jan Briers
921f7ab642 Clean up stale preferences data on load at the server.
This fixes further bugs with "nonexistant job selected in character preferences" like the client blowing up in the lobby.
2020-12-20 16:13:45 +01:00
DrSmugleaf
91e2dd2276 Add command to enable the lobby, restart the round and set a preset (#2786) 2020-12-20 04:48:13 +01:00
DrSmugleaf
21dbd50128 Fix build 2020-12-20 04:36:08 +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
DrSmugleaf
d7e489f2b8 Fix EntityTest SpawnTest 2020-12-19 17:11:08 +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
Pieter-Jan Briers
185923a7da Fix errors. about mommi config variables 2020-12-19 02:34:41 +01:00
Pieter-Jan Briers
9bb42d5251 Don't fail to start server if invalid jobs exist in preferences. 2020-12-18 23:55:29 +01: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
DrSmugleaf
4e0f52bbaf Add do after to surgery (#2756)
* Cleanup surgery classes

* Add DoAfter to surgery

* Consolidate doafter, break on user and target move

* Ignore biological surgery data component on the client

* Apply suggestions from code review

Co-authored-by: metalgearsloth <31366439+metalgearsloth@users.noreply.github.com>

* Use a stringbuilder  for surgery descriptions

Co-authored-by: metalgearsloth <31366439+metalgearsloth@users.noreply.github.com>
2020-12-18 00:21:43 +11:00
DmitriyRubetskoy
9c26e0c5ba Async Interface IAfterInteract() (#2735)
* Async Interface

* Update Content.Server/GameObjects/Components/Fluids/MopComponent.cs

Co-authored-by: Paul Ritter <ritter.paul1@googlemail.com>

* Changed the glassbeaker

* Update Content.Shared/Interfaces/GameObjects/Components/Interaction/IAfterInteract.cs

Co-authored-by: Paul Ritter <ritter.paul1@googlemail.com>

* Update Content.Shared/Interfaces/GameObjects/Components/Interaction/IAfterInteract.cs

Co-authored-by: Paul Ritter <ritter.paul1@googlemail.com>

* Interaction system fix

* Removed I from the interface

* Changed all implementations of the interface I could find

* all public void implementation fixed

* All built, no errors should remain

* Update Resources/Prototypes/Entities/Objects/Specific/chemistry.yml

Co-authored-by: metalgearsloth <31366439+metalgearsloth@users.noreply.github.com>

* Update Content.Server/GameObjects/Components/Portal/TeleporterComponent.cs

Co-authored-by: metalgearsloth <31366439+metalgearsloth@users.noreply.github.com>

* Update Content.Server/GameObjects/Components/ActionBlocking/HandcuffComponent.cs

Co-authored-by: metalgearsloth <31366439+metalgearsloth@users.noreply.github.com>

* Commit based off Sloth's commentary

* Removed the Rag file from the PR

* Reverted sloth's commentary changes on the publcity of the function

* Injector component properly implemented interface

* Update Content.Server/GameObjects/Components/Fluids/MopComponent.cs

Co-authored-by: metalgearsloth <31366439+metalgearsloth@users.noreply.github.com>

* Update Content.Server/GameObjects/Components/Fluids/SprayComponent.cs

Co-authored-by: metalgearsloth <31366439+metalgearsloth@users.noreply.github.com>

Co-authored-by: BlueberryShortcake <rubetskoy234@mail.ru>
Co-authored-by: Paul Ritter <ritter.paul1@googlemail.com>
Co-authored-by: metalgearsloth <31366439+metalgearsloth@users.noreply.github.com>
2020-12-17 18:45:04 +11:00
20kdc
d870a13445 Singularity testing map & "startsingularityengine" admin command (#2752)
* Singularity Testing Map: Add a command to auto-config the singularity engine

* Singularity Testing Map: Add the singularity testing map

A derivative of 20kdcstation.
2020-12-17 18:20:57 +11:00
20kdc
91f2f4f599 Fix Antimatter engine maths and overplacing (#2736)
* Antimatter engine parts can't be placed overlapping

* Antimatter engine stability maths fixed

* Antimatter engine: Clean up some unused stuff
2020-12-17 00:31:47 +11:00
chairbender
27d5019df0 Fix server NRE on clicking alerts with no OnClick (#2748)
* #2744 fix NRE on clicking alerts with no OnClick, and don't send the click
message unless the alert has an onclick

* #2744 fix NRE on clicking alerts with no OnClick, and don't send the click
message unless the alert has an onclick
2020-12-16 12:13:57 +01:00
DrSmugleaf
49e6db2b87 Fix nullability for ReadyProfiles in GamePreset 2020-12-16 10:00:10 +01:00
py01
c770c6b37e ChemicalAmmoComponent (#2739)
* ChemicalAmmoComponent

* Moves BarrelFiredMessage to FireProjectiles

Co-authored-by: py01 <pyronetics01@gmail.com>
2020-12-16 00:38:41 +11:00
Vera Aguilera Puerto
0a50f608c6 Fixes uplink account creation failing if you have any non-antag role.
Fixes #2740
2020-12-15 11:29:11 +01:00
DrSmugleaf
a9481bc05f Fix GamePreset newline characters so Rider can sleep easy today 2020-12-14 16:46:56 +01:00
DrSmugleaf
d5eb68ac61 Add test for puddle evaporation when paused and unpaused (#2741) 2020-12-14 16:18:37 +11:00
DrSmugleaf
1520acdf5a Fix the mapping command not pausing the created map (#2742) 2020-12-14 16:16:40 +11:00
chairbender
7a3c281f60 Actions System + UI (#2710)
Co-authored-by: Vera Aguilera Puerto <6766154+Zumorica@users.noreply.github.com>
2020-12-13 23:28:20 +01:00
20kdc
fd0df9a00a Traitor Deathmatch (#2719)
* Traitor Deathmatch: Add the preset [Rebase onto factors line]

* Traitor Deathmatch: Being a human head or other not-quite-fully-animate object counts as dead. [ROFL]

* Traitor Deathmatch: Add redemption machine (but it doesn't work) [ROFL]

* Traitor Deathmatch: Map in redemption machines [ROFL]

* Traitor Deathmatch: Make the rounds end properly [ROFL]

* Traitor Deathmatch: PDA redemption works [ROFL]

* Traitor Deathmatch: New redemption machine sprite ( @Tomeno )

* Traitor Deathmatch: Get rid of redundant using

* Traitor Deathmatch: Change scoring, prevent redeeming your own PDA, fix bug where PDAs are not tagged with their owner names

* Traitor Deathmatch: Better messages, change cvar name, don't count ghosts for spawnpoint selection
2020-12-13 16:00:49 +01:00
20kdc
31b39823ad Player post-spawn hook and player ghosting controlled by preset (#2734)
* GamePreset: Add a hook to catch all player spawns for modification.

Unless someone makes the entire job system unpluggable, this is what you get...

* GamePreset: Is now in control of voluntary ghosting

* Clean up ghost code to only rely on a player's Mind
2020-12-11 12:10:55 +11:00
Pieter-Jan Briers
f2253b1bba Fix nullable errors in TileAtmosphere.cs 2020-12-10 15:30:28 +01:00
metalgearsloth
abed6fc15d More nullas as errors (#2611)
* More nullas as errors

* I thought I'd tried this but maybe I'm a dumbo

Co-authored-by: Metal Gear Sloth <metalgearsloth@gmail.com>
2020-12-09 23:28:24 +11:00
20kdc
58af9003e7 Canisters [ Continuation of clement-or #2544 ] (#2628)
* Added atmos sprites from CEV-Eris

* Moved canister sprites to appropriate dir

* Removed unnecessary sprites, edited canisters prototype

* Created Gas Canister UI and release pressure buttons

* Changed GasMixture's pressure calculation (convert liters to cube meters)

* Added relabeling Canisters

* Reverted changes on GasMixture

* Changed my name in the credits

* Added valve opening on canisters

* Change canister visual state when connected to a port

* Added nullable to SharedGasCanisterComponent

* Replaced nullable contexts

* Changed again nullable annotation context

* Moved name in the credits to correct alphabetical order

* Canisters: Fix the most blatant issues with this PR (the added project interdependencies for no reason whatsoever)

* Canisters: Stop crashes when canisters leave atmosphere

* Canisters: Gas released into no atmosphere gets transferred "into space" (deleted)

* Atmos: Nullability annotations on TileAtmosphere, explaination of the states of TileAtmosphere.Air

* Canisters: If in an airblocked tile, do NOT release gas

* Scrubbers: Fix typo leading to them not connecting properly.

* Revert manual changes to credits file (sorry!) (1/2)

This reverts commit 94f3b0e5df8d9c2fa189866a17a231920f99bdaf.

* Revert manual changes to credits file (sorry!) (2/2)

This reverts commit 1986fb094dfaa44060f08d280f36b755258d17a6.

* Canisters: Apply @Zumorica 's reviews

* Canisters: Add missing localization as suggested by PJB

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

* Canisters: Pressure lights!

* Canisters: Light is now unshaded.

* Canisters: Now using IActivate

* Gas canisters (& air canister), now with their numbers properly calibrated (hopefully)

* Canisters: Refactor how their layers are added to be more like ApcVisualizer

* Canisters: Clean up of the tile invalidation/air release logic

* Canisters: Some gas canister window improvements

* Canisters: Clean up release pressure change button label code

Co-authored-by: Clement-O <topy72.mine@gmail.com>
Co-authored-by: Clément <clement.orlandini@gmail.com>
Co-authored-by: Pieter-Jan Briers <pieterjan.briers@gmail.com>
2020-12-08 20:45:24 +01:00
Vera Aguilera Puerto
2b6964746c Adds Invalidate method to TileAtmosphere, clean up a bunch of tile invalidations 2020-12-08 17:36:59 +01:00