Commit Graph

1289 Commits

Author SHA1 Message Date
20kdc
684b942445 FlammableComponent: Fix bug where if an AI ends up on fire an exception occurs because it tries to update status (#2714) 2020-12-06 21:10:56 +01:00
DrSmugleaf
69924ab600 Fix a criminal if in breathing code 2020-12-06 13:27:11 +01:00
DrSmugleaf
639cc86d91 Nanotransen > Nanotrasen
As decreed by PJB
https://discord.com/channels/310555209753690112/675078881425752124/784878237850402826
2020-12-05 21:48:11 +01:00
Vera Aguilera Puerto
2b59159363 Actually fix NRE in atmos. 2020-12-05 20:09:22 +01:00
Vera Aguilera Puerto
74e1deba2f Better nullability for GridAtmosphereComponent 2020-12-05 19:10:07 +01:00
Vera Aguilera Puerto
f07bac2cc8 Remove unused machine board field 2020-12-05 19:09:20 +01:00
Vera Aguilera Puerto
da39d18637 Fix rare NRE in atmos 2020-12-05 18:57:04 +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
de0975c228 Add InvalidateTileAir Transform extension method (#2687)
* Add InvalidateTileAir Transform extension method

* Add extension method for EntityCoordinates as well
2020-12-04 12:21:57 +01:00
Vera Aguilera Puerto
b0d1d31ccc Makes protolathe use machine parts 2020-12-04 12:05:15 +01:00
ColdAutumnRain
216a47dddc Updated serializer data fields (#2702) 2020-12-04 11:06:53 +01:00
Pieter-Jan Briers
f7c8e62cee Make warning about non-storeables in storage less bad. 2020-12-04 00:15:21 +01:00
Vera Aguilera Puerto
c3341132c5 Upgradeable machines. (#2675)
* Start work on upgradeable machines.

* Upgradeable machines work

* Component requirements for upgradeable machines

* Better container handling

* Remember to not push submodule updates in your PRs, kids!

* Refresh parts after building a machine.

* NetSync false

* Address some reviews, fix some bugs

* Nullable stackhelpers dependencies

* Use container helper method to delete all entities in containers

* Nullable string in AddContainer

* Better examine for machine frame and construction in general

* Machine breakage

* Nullable node

* nullable GraphPrototype

* Re-save saltern for autolathe parts

* Fix SaveLoadSave
2020-12-03 22:49:00 +01:00
DrSmugleaf
87f9a6e167 Reorganize commands into the Commands folder (#2679)
* Reorganize commands into the Commands folder

* RIDER
2020-12-03 13:40:47 +11:00
DrSmugleaf
fa115dbd23 Fix stomach not having a solution container (#2677) 2020-12-03 11:28:35 +11:00
metalgearsloth
0812233f20 "Fix" doors getting stuck ond eny (#2647)
Co-authored-by: Metal Gear Sloth <metalgearsloth@gmail.com>
2020-12-01 18:26:39 +01:00
Paul Ritter
f7c09fbd7e Traitor (#2566)
* basic implementation

* minor fixes

* objectives temp commit

* proper onstart bind

* changes all conditions to be bound to a mind-instance

* oops

* oops v2

* adds possiblity to enable duplicate assignment of objective
equal objectives are unable to be added

* minor fixes, adds greentext

* refactors incompatability to be defined by requirements

* fixes a wrong whitespace

* minor fix

* addressed reviews v1

* address reviews v2

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

* final sweep

* adds/refactors traitor&sss cvars

* Update Content.Server/Mobs/Mind.cs

* never trust github web

* adds datasets & makes codewords use them

* addresses exp's reviews

* addressed zumos reviews

Co-authored-by: Paul <ritter.paul1+git@googlemail.com>
Co-authored-by: Exp <theexp111@gmail.com>
2020-12-01 17:05:19 +01:00
Vera Aguilera Puerto
602f37e70c Fix lungs having negative moles in gas mixtures 2020-12-01 10:39:12 +01:00
Víctor Aguilera Puerto
cec722e19e CVars for MIDI instrument limits (#2632)
* CVars for MIDI instruments limits!

* Localize this

* Cache CVars in instrument systems

* better naming

Co-authored-by: Pieter-Jan Briers <pieterjan.briers+git@gmail.com>
2020-11-27 17:12:45 +01:00
Víctor Aguilera Puerto
6bb1e9fa5d CVars for atmos (#2633)
* Monstermos is a word!

* Atmos CVars

* Cache CVars in AtmosphereSystem.

Co-authored-by: Pieter-Jan Briers <pieterjan.briers+git@gmail.com>
2020-11-27 16:49:12 +01:00
Víctor Aguilera Puerto
5f60bf75ed Ignore FirelockElectronics component on the client 2020-11-27 12:18:01 +01:00
Morshu32
6b413033d1 Execute BlockGame game actions only if _running is true, added localization functions and italian strings to the blockgame UI (#2601)
* BlockGamePlayerAction are only executed if _running is true, added italian localization file for blockgame UI

* Added localization functions and files for BlockGame arcade. Removed unused public variable added in the previous commit.

* Added new line to end of file blockgame.yml

* Update Content.Client/Arcade/BlockGameMenu.cs

Co-authored-by: ShadowCommander <10494922+ShadowCommander@users.noreply.github.com>

* Moved EndLeft,EndRight and SoftdropEnd actions out of the condition as per suggestion by Paul.

* Added Loc.GetString() to "Nanotrasen" and "Nanotrasen Block Game" to enable transliteration of the name in other alphabets as per suggestion of Remie.

Co-authored-by: ShadowCommander <10494922+ShadowCommander@users.noreply.github.com>
2020-11-27 21:36:04 +11:00
Paul Ritter
d80ec927bb Removes some unused fields (#2603)
* removes some unused fields

* thats an oopsie

Co-authored-by: Paul <ritter.paul1+git@googlemail.com>
Co-authored-by: metalgearsloth <31366439+metalgearsloth@users.noreply.github.com>
2020-11-27 21:10:08 +11: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
Julian Giebel
4a56df749b Configuration verb (#2465)
* Implement configuration verbs

* Fix nullable errors
Change getting session from actor to user.PlayerSession()
Fix not having an interaction range

Co-authored-by: Julian Giebel <j.giebel@netrocks.info>
Co-authored-by: Metal Gear Sloth <metalgearsloth@gmail.com>
2020-11-27 18:45:16 +11:00
DrSmugleaf
4a2875dca6 Improve hurt command feedback and usability (#2559)
* Improve hurt command feedback and usability

* Move hurt command to its own separate class away from body commands

* NuLlAbLe

* NuLlAbLe part 2

* Change hurt command to use a string builder

* Char overload

* Give back the number of arguments when unexpected

* RemieMoment
2020-11-27 18:18:33 +11:00
20kdc
060d4566c4 Make RoundEndSystem properly reset & CommunicationsConsoleComponent less crashy (#2629) 2020-11-26 18:07:46 +01:00
20kdc
380d76f4cd Migrate pulling logic into SharedPullableComponent from PullController (#2627)
* Pulling: Migrate critical pull state from PullController to SharedPullableComponent, fixing two bugs in the process

Bug 1: PullController can be just summoned for no reason when the verb is queried
Bug 2: PullController keeps it's own independent pull state which can (and will) go out of sync (See https://github.com/space-wizards/space-station-14/issues/2619 )

* Pulling: Fix issues with previous commit (or possibly in general?) causing transferring a pull to cause alerts to go wrong

The primary problem is that there is one "pulling slot" for a puller, so SharedPullableComponent needs to stop the existing pull.

* Pulling: Remove debug logs (whoops)
2020-11-27 00:48:10 +11:00
DrSmugleaf
06b1939a60 Update usages of ! is with is not (#2584)
* Update usages of ! is with is not

* Content.IntegrationTests commit

* Content.Server commit

* Content.Shared commit

Co-authored-by: Metal Gear Sloth <metalgearsloth@gmail.com>
2020-11-27 00:33:31 +11:00
Peter Wedder
32d8cc0c1e Rerun of "Add Reagent Grinder/Juicer" (#2570)
* commit skeleton reagent grinder component

* add reagentgrinder bounduserinterface, add suffix to grinder yml, add reagentgrinder sprites

* implement much more of the grinder ui functionality

* get more use out of hasbeaker bool

* complete wiring up most of the chamber/beaker UI controls

* remove whitelist prototype id. add grindable tag component

* add juiceable component

* rename boolparam to be clearer

* more juice

* add some juice reagents and apply them to their drink prototypes

* re add glassyellow

* implement juicing and results

* add time delay to grindjuice

* add reagent grinder visualizer, add reagent grinder sounds, fix some yaml errors too

* interface has clear indication of currennt operation, and busy status

* add ReagentGrinder to Client ignnored components

* Update Content.Client/GameObjects/Components/Kitchen/ReagentGrinderBoundUserInterface.cs

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

* Update Content.Client/GameObjects/Components/Kitchen/ReagentGrinderBoundUserInterface.cs

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

* Update Content.Shared/Kitchen/SharedReagentGrinderComponent.cs

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

* implemennt  sloth changes

* fix isbusy

* Disable grind/juice buttons if there's nothing to grind or juice, also some misc fixes

* unsubscribe from messages on remove + fix xmlcomment

* fix bounding box

* Add these to dictionary

* Add these to client ignore

* Whitespace and unneeded import fixes

* tommy's toes

* Where'd these newlines come from

* power

* improve bounding box

* Check power better & show contents when beaker is ejected

* check power here

* Disable eject buttons when running

* improve comments

* readwrite for viewvars on work time and capacity

* Address most of Sloth's reviews

* Make this cleaner

* add grindablecomponent to motherfucking everything

* Fix reviews

* some more null suppressions

* remove unused random field

Co-authored-by: scuffedjays <yetanotherscuffed@gmail.com>
Co-authored-by: namespace-Memory <66768086+namespace-Memory@users.noreply.github.com>
Co-authored-by: metalgearsloth <31366439+metalgearsloth@users.noreply.github.com>
2020-11-26 23:53:42 +11:00
Peter Wedder
243215ec5d Adds a semitone shifting AudioHelper (#2608)
* Add semitone audio helper

* use semitone audio helper on bike horn

* prettify

* clamp this instead

* Expose these to viewvars
2020-11-25 21:23:03 +11:00
Víctor Aguilera Puerto
b18ee3ec49 SIMD-accelerated gas mixtures. (SIMD atmos) (#2479)
* SIMD atmos

* Moles will always be a multiple of four.

* Component dependencies for grid atmos.

* Let's optimize allocations while we're at it!

* Inline this

* A bunch of atmos optimizations

* Fix crimes against atmos

* Microsoft moment

* Remove nuget.config

* do not reference Robust.UnitTests in Content.Benchmarks as it's unneeded.

* Revert "Remove nuget.config"

This reverts commit 872604ae6a51365af4075bb23687bd005befd8ac.

* Gas overlay optimization and fixes

* Lattice is now spess

* minor atmos tweaks
2020-11-25 10:48:49 +01:00
Alex Evgrashin
fb6dd4a490 Working flashlight for hard hats (#2599)
* Add verb to toggle flashlight

* Playing with hand-held light for hard hat

* ClothingEquippedPrefix will update players sprite when changed

* Make abstract prototype for hardhat and fixed hardhat orange sprites

* Fixed all other hard hats

* Fixed requested changes

* Restore prototype and sprites changes

* Nullables

* That's actually nullable

Co-authored-by: Metal Gear Sloth <metalgearsloth@gmail.com>
2020-11-23 14:17:38 +11:00
Peter Wedder
e97763afd2 Expose UseDelay to ViewVars (#2609) 2020-11-23 02:00:06 +11:00
Ygg01
8a19052394 Removed Catwalk. Replaced with FootstepModifierComponent (#2496)
Co-authored-by: Metal Gear Sloth <metalgearsloth@gmail.com>
2020-11-23 01:02:39 +11:00
Paul Ritter
6602c8c972 Objectives (#2459)
* temp commit to save progress

* adds objectives

* refactors mind.addobjective a bit

* better names for my testobjectives which i'll remove later on anyways

* nullable errors

* some misc fixes

* no sorted or set, what was i thinking here?

* removes unused imports

* added commands

* fully implements stealcondition

* started uiwork

* moved prototypeicon to engine

* removes objective class & uiwork

* refactors ui to only update when opened
adds progresstexturerect

* adds some margin

* removes some testing code

* ignores objectiveprototypes on clientside

* fixes

* removes using statements for exp

* gets the job

* always show issuer

* locs & _

* giving commands some love

* Update Content.Client/GameObjects/EntitySystems/DoAfter/DoAfterBar.cs

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

* makes commands use new thingy

* string interpolation

* good catch exp

* loc'd

* linq gone

* runtime

* moves function from engine

* oopsie

* Update Content.Server/Objectives/Conditions/StealCondition.cs

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

* makes messages directed

* base call & validation

* shuffle once

* No? Money down!

Co-authored-by: Paul <ritter.paul1+git@googlemail.com>
Co-authored-by: Exp <theexp111@gmail.com>
Co-authored-by: metalgearsloth <31366439+metalgearsloth@users.noreply.github.com>
Co-authored-by: Metal Gear Sloth <metalgearsloth@gmail.com>
2020-11-22 18:38:07 +11:00
20kdc
392454b4cb Disable automatic on-touch activation of external airlocks (#2385)
* Disable automatic on-touch activation of external airlocks

It's a total pain to reliably get inside a two-door airlock without tripping the firelocks, and that's if you're *intending* to use it properly...

People keep draining the entryway air on the sandbox servers (so people have to crowbar the firelocks open, and this reduces available air)

* Disable automatic on-touch activation of external airlocks: Change auto_open to autoOpen

* Change auto to bump

Co-authored-by: Metal Gear Sloth <metalgearsloth@gmail.com>
2020-11-22 17:47:56 +11:00
Alex Evgrashin
ccb7719935 Glass shards can be refined by welder (#2576)
* Added refine component for glass shard

* Add refinable to rest of the shards

* Fixed windows shard count

* Now objects can vary refine time

* Windows will spawn correct shards after destruction

* Added all requested changes

* Client ignore as well

Co-authored-by: Metal Gear Sloth <metalgearsloth@gmail.com>
Co-authored-by: metalgearsloth <31366439+metalgearsloth@users.noreply.github.com>
2020-11-22 15:05:30 +11:00
DrSmugleaf
eb97168e30 Make godmode able to be disabled and more accessible to the rest of the code (#2560)
* Make Godmode able to be disabled and more accessible

* You got a license for that exclamation mark?

* Move restore logic to the entity system

* Make MovedByPressureComponent able to be disabled

* Add extension that gives you the moved by pressure component

* Fix not disabling moved by pressure
2020-11-22 14:45:15 +11:00
Manel Navola
8c81e7c767 Added threshold to DoAfter's user and target movement checks (#2585)
* Added threshold to DoAfter user and target movement checks

* Fixed spacing

* Update Content.Server/GameObjects/EntitySystems/DoAfter/DoAfterEventArgs.cs

Co-authored-by: Manel Navola <ManelNavola@users.noreply.github.com>
Co-authored-by: metalgearsloth <31366439+metalgearsloth@users.noreply.github.com>
2020-11-22 13:58:31 +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
Git-Nivrak
6d2882c7cf (Smaller) Construction PR - (IC Construction) (#2575)
* Disable Pulling When Buckling an entity

* Projectile Improvements

If you shoot at a person that is critted now it will only hit if you aim at that person otherwise go "above" him and hit other targets.
- Dead people are still unhitable

* Update Content.Server/GameObjects/Components/Buckle/BuckleComponent.cs

Co-authored-by: Víctor Aguilera Puerto <6766154+Zumorica@users.noreply.github.com>

* Firelock In Progress

* Revert "Projectile Improvements"

This reverts commit 5821afc798e49e530d4086d7a9ddbe097805fdc4.

* Firelock Graph

* Revert "Merge branch 'master' into test2"

This reverts commit c69661cc7d9dcdc6d8c0dd45770f9eb94b231463, reversing
changes made to 5f1de8b8d24cd52190addb3df5617cb1012fd52c.

* Bunch of stuff

- Metal Rods
- Reinforced Glass
- SetStackCount Condition
- Tables
- Lattice

* Output2 to FloorTileItemComponent

* Plating, Underplating and Tiles (+FloorTile Improvements)

* Turf Fixes

+ APC Electronics

* Reinforced Glass In-hand textures

* All the fixes

* Final Changes

* (Hopefully) Last commit

* Update Resources/Prototypes/Entities/Constructible/Doors/firelock_frame.yml

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

* Update Content.Server/GameObjects/Components/Atmos/FirelockComponent.cs

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

* A Few more things

* Edit FirelockComponent.cs

Co-authored-by: DrSmugleaf <DrSmugleaf@users.noreply.github.com>
Co-authored-by: Víctor Aguilera Puerto <6766154+Zumorica@users.noreply.github.com>
Co-authored-by: Paul Ritter <ritter.paul1@googlemail.com>
Co-authored-by: metalgearsloth <31366439+metalgearsloth@users.noreply.github.com>
2020-11-20 15:58:06 +01:00
ColdAutumnRain
f5dc62b533 Removed EntityManager member variable from Components and EntitySystems (#2502)
* Removed EntityManager member variable from Components and EntitySystems

* Removed EntityManager with minor corecctions

* Update PathfindingSystem.cs

* Update InteractionSystem.cs

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

Co-authored-by: Víctor Aguilera Puerto <6766154+Zumorica@users.noreply.github.com>

* Update Content.Client/GameObjects/Components/Suspicion/SuspicionRoleComponent.cs

Co-authored-by: Clyybber <darkmine956@gmail.com>

* Update Content.Client/GameObjects/Components/Suspicion/TraitorOverlay.cs

Co-authored-by: Clyybber <darkmine956@gmail.com>

* Update Content.Server/GameObjects/Components/Buckle/BuckleComponent.cs

Co-authored-by: Clyybber <darkmine956@gmail.com>

* Update Content.Server/GameObjects/Components/Buckle/BuckleComponent.cs

Co-authored-by: Clyybber <darkmine956@gmail.com>

* Update Content.Server/GameObjects/Components/PDA/PDAComponent.cs

Co-authored-by: Clyybber <darkmine956@gmail.com>

* Update Content.Server/GameObjects/Components/Singularity/SingularityComponent.cs

Co-authored-by: Clyybber <darkmine956@gmail.com>

* Update Content.Server/GameObjects/Components/Singularity/SingularityComponent.cs

Co-authored-by: Clyybber <darkmine956@gmail.com>

* Update Content.Server/GameObjects/EntitySystems/AI/Pathfinding/PathfindingSystem.cs

Co-authored-by: Clyybber <darkmine956@gmail.com>

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

Co-authored-by: Clyybber <darkmine956@gmail.com>

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

Co-authored-by: Clyybber <darkmine956@gmail.com>

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

Co-authored-by: Clyybber <darkmine956@gmail.com>

* Update Content.Server/GameObjects/Components/Stack/StackComponent.cs

Co-authored-by: Clyybber <darkmine956@gmail.com>

Co-authored-by: Víctor Aguilera Puerto <6766154+Zumorica@users.noreply.github.com>
Co-authored-by: Clyybber <darkmine956@gmail.com>
Co-authored-by: DrSmugleaf <DrSmugleaf@users.noreply.github.com>
2020-11-18 15:45:53 +01:00
DamianX
87e74c4494 Refactored integration tests to not use content entity prototypes (#2571)
* Refactored integration tests to not use content prototypes

* oops

* Apply suggestions from code review

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

Co-authored-by: DrSmugleaf <DrSmugleaf@users.noreply.github.com>
2020-11-19 01:30:36 +11:00
Paul Ritter
501156f84c makes conveyors to use machine linking & refactors machine linking a bit (#2464)
* makes conveyors to use machine linking & refactors machine linking a bit

* nullable errors

* temp commit, starting work on construction

* working recipies & graphs

* fixes crash

* makes items gravitate towards the center when on a conveyor

* makes conveyors take bool signal too

* ignores components clientside

* default arm
entitymanager
maxtransmitters
unsubscribe methods

* twowayLEVER

* _

* componentreference
struct

* yaml run
leverDefinitelyNotCopiedFromGirderNoNoNo dies today :(

* nullable

* no divide by 0

* making sloth happy

* space gone - happy?

* final fix

* yes

* adds item to lathe

* conveyor item -> conveyor assembly

* technology

* reviews ADRESSED

* Update Content.Shared/GameObjects/Verbs/VerbUtility.cs

Co-authored-by: Paul <ritter.paul1+git@googlemail.com>
Co-authored-by: metalgearsloth <31366439+metalgearsloth@users.noreply.github.com>
Co-authored-by: Metal Gear Sloth <metalgearsloth@gmail.com>
2020-11-19 00:53:46 +11:00
GlassEclipse
bab326a9e2 Fixes some map-saved weapons not properly loading in (#2567)
* Fix

* formatting xd
2020-11-18 18:16:01 +11:00
metalgearsloth
4704f607e6 Align storage welders with door welders (#2393)
* Align storage welders with door welders

* Spamming the button doesn't punish you.
* Requires lit welder to start
*

* Nulla-builda-buddy

* A certain smug in a bucket

Co-authored-by: Metal Gear Sloth <metalgearsloth@gmail.com>
2020-11-14 01:08:00 +11:00
DTanxxx
69d709a28f Updated ContainerHelpers to use new extensions (#2530)
Co-authored-by: David Tan <>
2020-11-13 18:25:04 +11:00
Pieter-Jan Briers
5ff8aa7fb1 Merge branch '20-10-30-admins' into 20-11-13-merges 2020-11-13 01:29:08 +01:00
Pieter-Jan Briers
9e36ef2202 Fix compiler warnings. 2020-11-11 01:48:54 +01:00